第7章 图像分割(上) 前面主要讲述的是图像预处理方面的知识 在本章以及第8章主要介绍图像分析的问题,即着眼于找出图像中哪些事物,也即是模式识别问题,主要从统计模式识别来讲
统计模式识别 统计模式识别,应用最广 认为图像可能包含一个或多个物体,并且每个物体属于若干事先定义的类型、范畴或模式类别之一
对于给定的一幅含有多个物体的数字图像,模式识别的过程由三个阶段组成,如图所示 检测出各种物体,并把他们的图像和其余景物分离 对物体进行度量,即对物体进行定量分析估计 输出仅仅是一种决策,确定每个物体应该归属的类别 图像分割 特征抽取 输入图像 物体图像 特征矢量 分类 物体类型 “Bar”
图像分割介绍 定义 将图像分成各具特性的区域,并提取出感兴趣目标的技术和过程 图像处理过渡到图像分析的关键步骤,也是一种基本的计算机视觉技术 对应单个区域和多个区域 灰度、颜色、纹理 定义 将图像分成各具特性的区域,并提取出感兴趣目标的技术和过程 图像处理过渡到图像分析的关键步骤,也是一种基本的计算机视觉技术 借助集合概念进行正式的定义: 令R代表整个图像区域,对R的分割可看做将R分成若干个满足以下条件的非空子集(子区域)R1,R2,R3…Rn
分割所得到的全部子区域的总和(并集)应能包括图像中所有象素,或者说分割应将图像中的每个象素都分进某1个子区域中 (1) ∪i=1nRi=R 分割准则应可适用于所有区域和象素 (1) ∪i=1nRi=R 各个子区域是互不重叠的,或者说1个象素不能同时属于2各区域 (2) 对所有的i和j,i≠j,有Ri∩Rj=φ 在分割后得到的属于同1个区域中的象素应该具有某些相同特性 分割准则应能帮助确定各区域象素有代表性的特性 (3) i=1,2…n,有P(Ri)=TRUE (4) 对i≠j,有P(Ri∪Rj)=FALSE 在分割后得到的属于不同区域中的象素应该具有一些不同的特性 (5) 对i=1,2…n,Ri是连通的区域 要求同1个子区域内的象素应当是连通的
图像分割方法分类 基于阈值的分割-通过阈值对不同物体进行分割 基于边缘的分割-先确定边缘象素,并把它们连接在一起,以构成所需的边界 基于区域的分割-把各象素划归到各个物体或区域中 基于运动的分割-通过视频物体运动进行分割
基于阈值的分割 图像阈值分割是一种广泛应用的分割技术,利用图像中要提取的目标物与其背景在灰度特性上的差异,把图像视为具有不同灰度级的两类区域(目标和背景)的组合,选取一个合适的阈值,以确定图像中每个象素点应该属于目标还是背景区域,从而产生相应的二值图像 可以大量压缩数据,减少存储容量,而且能大大简化其后的分析和处理步骤
但是,它对物体与背景具有较强对比的景物的分割很有效,而且总能用封闭连通的边界定义不交叠的区域 设原始图像f(x,y),以一定的准则在f(x,y)中找出一个合适的灰度值,作为阈值t,则分割后的图像g(x,y),可由下式表示: g(x,y)= 1 f(x,y)≥t 0 f(x,y)<t g(x,y)= 1 f(x,y)≤t 0 f(x,y)>t 或 另外,还可以将阈值设置为一个灰度范围[t1,t2],凡是灰度在范围内的象素都变为1,否则皆变为0,即 g(x,y)= 1 t1≤f(x,y)≤t2 0 其它
某种特殊情况下,高于阈值t的象素保持原灰度级,其它象素都变为0,称为半阈值法,分割后的图像可表示为: g(x,y)= f(x,y) f(x,y)≥t 0 其它 阈值分割图像的基本原理,可用下式表示: 阈值 g(x,y)= ZE f(x,y)∈Z ZB 其它 阈值的选取时阈值分割技术得关键,如果过高,则过多的目标点被误归为背景;如果阈值过低,则会出现相反的情况
由此可见,阈值化分割算法主要有两个步骤: 1、确定需要的分割阈值 2、将分割阈值与象素值比较以划分象素 在利用阈值方法来分割灰度图像时一般都对图像有一定的假设。基于一定的图像模型的。 最常用的模型: 假设图像由具有单峰灰度分布的目标和背景组成,处于目标或背景内部相邻象素间的灰度值是高度相关的,但处于目标和背景交界处两边的象素在灰度值上有很大的差别。 如果一幅图像满足这些条件,它的灰度直方图基本上可看作是由分别对应目标和背景的两个单峰直方图混合构成的。
阈值选取方法 直方图阈值分割法 类间方差阈值分割法 二维最大熵值分割法 模糊阈值分割法
直方图阈值分割 简单直方图分割法 最佳阈值
简单直方图分割法 图像的灰度级范围为0,1,…l-1,设灰度级i的象素数为ni,则一幅图像的总象素N为 N=∑i=0l-1ni 灰度图像的直方图 灰度级i出现的概率定义为: pi=ni/N 反映一幅图像上灰度分布的统计特性,成为利用象素灰度作属性的分割方法的基础
60年代中期,Prewitt提出了直方图双峰法,即如果灰度级直方图呈明显的双峰状,则选取两峰之间的谷底所对应的灰度级作为阈值。 Z1 Zi Zt Zj Zk 暗 亮 P B1 B2 背景 目标
注意:应用灰度直方图双峰法来分割图像,也需要一定的图像先验知识,因为同一个直方图可以对应若干个不同的图像,直方图只表明图像中各个灰度级上有多少个象素,并不描述这些象素的任何位置信息。 该方法不适合直方图中双峰差别很大或双峰间的谷比较宽广而平坦的图像,以及单峰直方图的情况。 70年代初,研究工作集中在直方图变换,但无论是直方图还是直方图变换法都仅仅考虑了直方图灰度信息而忽略了图像的空间信息
最佳阈值 所谓最佳阈值是指图像中目标物与背景的分割错误最小的阈值 设一幅图像只由目标物和背景组成,已知其灰度级分布概率密度分布为P1(Z)和P2(Z),且已知目标物象素占全图象素数比为θ,因此,该图像总的灰度级概率密度分布P(Z)可用下式表示: P(Z)= θP1(Z)+(1-θ)P2(Z) 假定阈值为Z,认为图像由亮背景上的暗物体所组成,即灰度小于Z的位目标物,大于Z的为背景
P1(Z) P2(Z) Zt 目标物 背景 如图所示,如选定Zt为分割阈值,则将背景象素错认为是目标物象素的概率为: E1(Zt)=∫-∞ZtP2(Z)dZ 将目标物象素错认为是背景象素的概率为: E2(Zt)=∫zt ∞ P1(Z)dZ 因此,总的错误概率E(Z)为: E(Zt)=(1-θ)E1(Zt)+ θ E2(Zt)
最佳阈值就是使E(Zt)为最小值时的Zt,将E(Zt)对Zt求导,并令其等于0,解出其结果为: θP1(Zt)=(1- θ)P2(Zt) 设P1(Zt)和P2(Zt)均为正态分布函数,其灰度均值分别为μ1和μ2,对灰度均值得标准偏差分别为σ1和σ2,即
将上两式代入,且对两边求对数,得到: 简化为: AZt2+BZt+C=0 上式是Zt的一个二次方程式,有两个解,因此,要使分割误差最小,需要设置两个阈值,即上式的两个解。如果设σ2= σ12 = σ22,即方差相等,则上式方程存在唯一解,即:
如果设θ=1- θ,即θ=1/2时, E1(Zt) E2(Zt) P1(Z) P2(Z) Zt Z P 从前面可以看出,假如图像的目标物和背景象素灰度级概率呈正态分布,且偏差相等(σ12 = σ22),背景和目标物象素总数也相等(θ=1/2),则这个图像的最佳分割阈值就是目标物和背景象素灰度级两个均值得平均
类间方差阈值分割 这是由Ostu提出的最大类间方差法,又称为大津阈值分割法,是在判决分析最小二乘法原理的基础上推导得出的 具体算法: 设原始灰度图像灰度级为L,灰度级为i的象素点数为ni,则图像的全部象素数为 N=n0+n1+…+nL-1
归一化直方图,则 pi=ni/N,∑i=0L-1pi=1 按灰度级用阈值t划分为两类:C0=(0,1,..t)和C1=(t+1,t+2,…L-1),因此,C0和C1类的类出现概率及均值层分别由下列各式给出 其中:
可以看出,对任何t值,下式都能成立: C0和C1类的方差可由下式求得: 定义类内方差为: 类间方差为: 总体方差为:
三个准则是等效的,把使C0,C1两类得到最佳分离的t值作为最佳阈值,因此,将λ(t)、η(t)、κ(t)定义为最大判决准则。 类间/类内 三个准则是等效的,把使C0,C1两类得到最佳分离的t值作为最佳阈值,因此,将λ(t)、η(t)、κ(t)定义为最大判决准则。 由于σw2是基于二阶统计特性,而σB2是基于一阶统计特性,它们都是阈值t的函数,而σT2与t值无关,因此三个准则中η(t)最为简单,因此选其作为准则,可得到最佳阈值t*
二维最大熵阈值分割 一维最大熵阈值分割 二维最大熵阈值分割
一维最大熵阈值分割 熵是平均信息量的表征 原理 根据信息论,熵的定义为: H=-∫-∞+ ∞p(x)lgp(x)dx 所谓灰度的一维熵最大,就是选择一个阈值,使图像用这个阈值分割出的两部分的一阶灰度统计的信息量最大。
设ni为数字图像中灰度级i的象素点数,pi为灰度级i出现的概率,则 pi=ni/(N×N), i=1,2…L pi i O B t 图像灰度直方图如图所示: O区概率分布: pi/pt i =1,2…t B区概率分布: pt=∑i=1tpi pi/(1-pt) i =t+ 1,t+2…L 其中: 对于数字图像,目标区域和背景区域的熵分别定义为:
熵函数定义为: 当熵函数取最大值时对应的灰度值t*就是所求的最佳阈值,即
二维最大熵阈值分割 基于 灰度信息,没有利用空间信息 一维最大熵 直方图 信噪比降低 分割效果差 在图像特征中,点灰度是最基本的特征,但它对噪声敏感,区域灰度特征包含了部分空间信息,且对噪声的敏感程度低于点灰度特征 利用图像点灰度和区域灰度均值得二维最大熵阈值法 综合利用点灰度特征和区域灰度特征,可以较好的表征图像的信息
具体方法如下: 首先以原始灰度图像(L个灰度级)中各象素及其4邻域的4个象素为一个区域,计算出区域灰度均值图像(L个灰度级),这样原始图像中的每个象素都对应一个点灰度-区域灰度均值对,这样的数据对存在L×L种可能的取值 设ni,j为图像中点灰度为i及其区域灰度均值为j的象素点数,pi,j为点灰度-区域灰度均值对(i,j)发生的概率,则 pi,j=ni,j/(N×N) {pi,j}就是该图像关于点灰度-区域灰度均值得的二维直方图
点灰度-区域灰度均值对(i,j)的概率高峰主要分布在XOY平面的对角线附件,并且在总体上呈现双峰和一谷状态
在A区和B区上用点灰度-区域灰度均值二维最大熵法确定最佳阈值,使真正代表目标和背景的信息量最大 二维直方图的XOY平面图 目标 边界 噪声 背景 在A区和B区上用点灰度-区域灰度均值二维最大熵法确定最佳阈值,使真正代表目标和背景的信息量最大 设A区和B区各自具有不同的概率分布,用A区和B区的后验概率对各区域的概率pi,j进行归一化处理,以使分区熵之间具有可加性。如果阈值设在(s,t),则
PA=∑i∑jpi,j,i=1,2…s,j=1,2…t PB=∑i∑jpi,j,i=s+1,s+2…L,j=t+1,t+2…L 定义离散二维熵为: H=-∑i∑jpi,jlgpi,j 则A区和B区的二维熵分别为: 其中:
由于C区和D区包含的是关于噪声和边缘的信息,所以将其忽略不计,即假设C区和D区的pi,j≈0。C区: i=s+1,s+2,…L;j=1,2…t。D区:i=1,2,…s;j=t+1,t+2…L,可以得到: PB=1-PA HB=HL-HA HL=-∑i∑jpi,jlgpi,j i=1,2…L,j=1,2,…L 则: H(B)=lg(1-PA)+(HL-HA)/(1-PA)
熵的判别函数定义为: 选取的最佳阈值向量(s*,t*)满足:
模糊阈值分割 思路:先将一幅图像看作一个模糊阵列,然后通过计算图像的模糊概率或模糊熵来确定阈值 按照模糊子集的概率,可以将一幅M行,N列,且具有L个灰度级的数字图像X看作为一个模糊点阵,μ是定义在该L个灰度级上的资格函数,象素(m,n)灰度值为xm,n。根据信息论的基本理论,可得到图像X的模糊率V(x)和模糊熵E(x)
模糊率V(x)从数量上定义了图像X在μ资格函数下所呈现的模糊性的大小。直观的看,当μ(xm,n)=0 模糊率V(x)从数量上定义了图像X在μ资格函数下所呈现的模糊性的大小。直观的看,当μ(xm,n)=0.5时,V(x)和E(x)都取得了最大值,偏离该值时,V(x)和E(x)将下降。 模糊率V(x)从数量上定义了图像X在μ资格函数下所呈现的模糊性的大小。直观的看,当μ(xm,n)=0.5时,V(x)和E(x)都取得了最大值,偏离该值时,V(x)和E(x)将下降。 若直接从数字图像的直方图考虑,前两式可改写为: f(l)表示灰度值取l的象素点之和。 下面我们通过模糊率V(x)进行阈值选择,同样采用模糊熵E(x)也能得到同样的结论
在模糊阈值算法中,资格函数对分割结果影响较大,常见的资格函数主要有以下几种: μ 1 p r x S (1)Zadeh标准S函数,如图所示 其中:q=(p+r)/2;△q=r-q=q-p;定义c=r-p=2 △q
(2)具有升半柯西分布形式的资格函数,如图所示 1 μ p q x 其中:K>0
(3)线性资格函数,如图所示 μ 1 p q x 资格函数使原始图像模糊化,如选用S函数作为资格函数,对每一个q值,通过资格函数μ计算出相应的图像模糊率V(q)。图像的模糊率反映了该图像与一二值图像的相似性
对于原始图像目标,背景呈现双峰分布的直方图,对应的V(x)图形也具有双峰,这时总存在一个q0值,其对应的模糊率V(q0)值,即为图像分割的最佳阈值。 一般情况下,图像的直方图较为复杂,峰谷不明显,相应的V(q)图可能有多个谷底,这时可选取V(q)所有极小值中的最小值所对应的q作为阈值
基于边缘的分割 先检测不连续的点,然后将点连接成边界 点检测 线检测 边缘检测 无论哪种方法,其处理过程为 R = w1z1+w2z2+…+w9z9 = S wkz 其中 zk 是 与模板系数wk相联系的灰度级象素 R代表模板中心象素的值 w1 w2 w3 w4 w5 w6 w7 w8 w9
点检测 通过下面模板,检测图像中孤立的点 -1 -1 -1 -1 8 -1 -1 -1 -1
线检测 设R1, R2, R3, and R4 为下图中从左到右的模板中心象素值 假设所有的模板都同时对一幅图像进行操作 如果在图像中某个象素点存在, |Ri| > |Rj|,对所有的 j ≠ i,则可以说该点与模板I的方向最接近 -1 -1 -1 -1 -1 2 -1 2 -1 2 -1 -1 2 2 2 -1 2 -1 -1 2 -1 -1 2 -1 -1 -1 -1 2 -1 -1 -1 2 -1 -1 -1 2 水平 + 45O 垂直 - 45O
哈夫变换 哈夫变换-利用图像全局特性而直接检测目标轮廓,即可将边缘象素连接起来组成区域封闭边界的常见方法 如果预先知道区域形状,利用哈夫变换可方便的得到边界曲线,而将不连续的边缘象素点连接起来 主要优点:受噪声和曲线间断的影响较小
基本原理 基本思想:点-线的对偶性。图像变换前在图像空间,变换后在参数空间 设在原始图像空间(x,y),直线方程为 而对于这个直线上的任意点pi=(xi,yi)来说,它在由斜率和截距组成的变换空间(u,v)中应满足方程式
从而可以看出,图像空间的一个点(xi,yi)对应于变换空间(u,v)中的一条直线,而变换空间中的一个点(u0,v0)对应于图像空间中的一条斜率为u0,截距为v0的直线y=u0x+v0。如图所示,其直线的点P1,P2,…,Pn,对应于变换空间所有直线的交点(u0,v0)。
为了避免垂直直线的无限大斜率问题,往往采用极坐标(ρ,θ)作为变换空间,其极坐标方程可写为 参量ρ和θ可以唯一确定一条直线,ρ表示原点到直线的距离,θ表示该直线的法线于x轴的夹角,对于(x,y)空间点的任一点(xi,yi)采用极坐标(ρ,θ)作为变换空间,其变换方程为 这表明原图像空间中的一点(xi,yi)对应于(ρ,θ)空间中的一条正弦曲线,其初始角和幅值随xi和yi的值而变
开始时设置数组A为0,然后对每个图像空间中的给定边缘点,让p取遍P轴上所有的可能值,并根据q=-px+y算出对应的q。 在具体计算时需要在参数空间PQ中建立一个2-D的累加数组。设这个累加数组为A(p,q),如图所示,其中[pmin,pmax]和[qmin,qmax]分别为预期的斜率和截距的取值范围。 开始时设置数组A为0,然后对每个图像空间中的给定边缘点,让p取遍P轴上所有的可能值,并根据q=-px+y算出对应的q。 再根据p和q的值(都已整数化),对A进行累加:A(p,q)=A(p,q)+1。累加结束后,根据(p,q)的值就可知道有多少点是共线的,即A(p,q)的值就是在(p,q)处共线点的个数,同时(p,q)值也给出了直线方程的参数,即给出来点所在的线 qmax P pmax Q qmin pmin A(p,q) 注意:这里空间点共线统计的准确性是由累加数组的尺寸决定的。
哈夫变换的几点性质 (1)在图像空间(x,y)域中的一点对应于参数空间(ρ,θ)域中的一条正弦曲线 (3)图像空间(x,y)域中的一条直线上的n个点,对应于参数空间中经过一个公共点的n条曲线
直线→点 通过公共点的一簇直线→点集 共线的点→点共点的一簇曲线
实例
边缘检测 两个具有不同灰度值得相邻区域之间总存在边缘 边缘是灰度值不连续的结果,这种不连续常可利用求导数方便的检测到,一般常用一阶和二阶导数来检测边缘 常见的边缘剖面图有三种,如图所示
图像 水平方向剖面 一阶导数 二阶导数 屋顶状-上升下降沿都比较缓慢 脉冲状-对应细条状的灰度值突变区域 阶梯状-处于图像中2个具有不同灰度值的相邻区域之间
一阶导数在图像由暗变明的位置处有1个向上的阶跃,而其它位置都为0,这表明可用一阶导数的幅度值来检测边缘的存在,幅度峰值一般对应边缘位置 对(a、b)而言 二阶导数在一阶导数的阶跃上升区有1个向上的脉冲,而在一阶导数的阶跃下降区有1个向下的脉冲,在这两个脉冲之间有1个过0点,它的位置正对应原图像中边缘的位置,所以可用二阶导数的过0点检测边缘位置,而用二阶导数在过0点附近的符号确定边缘象素在图像边缘的暗区或明区
对(c)而言,脉冲状的剖面边缘与(a)的一阶导数形状相同,所以(c)的一阶导数形状与(a)的二阶导数形状相同,而它的2个二阶导数过0点正好分别对应脉冲的上升沿和下降沿,通过检测脉冲剖面的2个二阶导数过0点就可确定脉冲的范围 对(d)而言,屋顶状边缘的剖面可看作是将脉冲边缘底部展开得到,所以它的一阶导数是将(c)脉冲剖面的一阶导数的上升沿和下降沿展开得到的,而它的二阶导数是将脉冲剖面二阶导数的上升沿和下降沿拉开得到的,通过检测屋顶状边缘剖面的一阶导数过0点,可以确定屋顶位置
主要介绍以下几种边缘检测算子 (1)梯度算子 (2)方向算子 (3)拉普拉斯算子 (4)马尔算子 (5)综合正交算子 (6)坎尼算子
梯度算子 梯度对应一阶导数,梯度算子是一阶导数算子,在边缘灰度值过渡比较尖锐且图像中噪声比较小时,梯度算子效果好。 对1个连续图像函数f(x,y),它在位置(x,y)的梯度可表示为1个矢量:
这个矢量的幅度(也常直接简称为梯度)和方向角分别为: 有时用其它方式计算幅度,如: 上面各式中的偏导数都需对一个象素位置计算,在实际中,常用小区域模板进行卷积近似计算
梯度运算比较复杂一点,在数字图像梯度运算过程中,可以按图像内容试用一些近似运算,以获得既能满足要求又能使运算简单的方法。对于数字图像,可用一阶差分代替一阶微分
在数字图像中,还经常使用Robert和Sobel等算子检测边缘 1 1 Roberts模板 -1 -1 Sobel梯度算子先做加权平均,然后再微分,即
Sobel算子是常用的,而且效果较其它两种算子好 垂直 -1 1 1 2 1 -2 2 -1 1 -1 -2 -1 Sobel模板 水平 Sobel算子是常用的,而且效果较其它两种算子好 -1 1 1 1 1 -1 1 垂直 -1 1 -1 -1 -1 Prewitt模板 水平
原图 实例 水平方向 垂直方向 梯度 f |Gx| + |Gy|
Sobel算子 原图 Prewitt算子 Roberts算子
拉普拉斯算子 一阶微分是一种矢量,不但有其大小,还有方向,和标量相比较,它数据存储量大,在具有相等斜率的宽区域上,有可能将全部区域都当作边缘提取出来 Lapplacian 算子是一种二阶导数算子,是不依赖于边缘方向的二阶微分算子,是一个标量而不是矢量,具有旋转不变即各向同性的性质,对一个连续函数f(x,y),它在图像中位置(x,y)的拉普拉斯值定义为:
拉普拉斯算子是无方向性的算子,它比前述计算多个方向导数算子的计算量要小,因为只需用一个模板,且不必综合各模板的值。 在数字图像情况下的近似为: 拉普拉斯算子是无方向性的算子,它比前述计算多个方向导数算子的计算量要小,因为只需用一个模板,且不必综合各模板的值。 在数字图像中,计算函数的拉普拉斯也可以借助各种模板卷积实现。这里对模板的基本要求是对应中心象素的系数应是正的,而对应中心象素邻近象素的系数应是负的,且所有系数的和应为0,这样就不会产生灰度偏移 -1 -1 -1 -1 -1 -1 -1 4 -1 4 -1 8 -1 -1 -1 -1 -1 -1 -1
另外它常产生双象素宽的边缘,且也不能提供边缘方向的信息。 拉普拉斯是一种二阶导数算子,所以对图像中的噪声相当敏感。在实际中,常常在进行平滑操作地同时进行二阶微分,如图所示是具有平滑效果的二阶微分算子操作。 1 1 1 1 1 1 1 1 1 1 1 1 -4 -4 -4 1 1 1 1 1 1 -4 -4 -4 1 1 1 1 1 1 -4 -4 -4 1 1 1 1 1 1 1 1 1 1 1 1 另外它常产生双象素宽的边缘,且也不能提供边缘方向的信息。 由于以上原因,拉普拉斯算子很少直接用于边缘检测,而主要用于已知边缘象素后,确定该象素是在图像的暗区或明区一边。 另一方面,一阶差分算子会在较宽范围形成较大的梯度值,因此不适合于精确定位,而利用二阶差分算子过0点可以精确定位边缘
马尔算子 马尔(Marr-Hildreth)算子是在拉普拉斯算子的基础上实现的。 主要得益于对人的视觉机理的研究,具有一定的生物学和生理学意义 在较大噪声场合,由于微分算子会起到放大噪声的作用,因此梯度算子和拉普拉斯算子对噪声较敏感 一种改进的方法是对图像先进行适当的平滑,以抑制噪声,然后再进行求微分;
基本原理 虽然边缘检测的基本思想很简单,但在实际实现时却遇到很大困难,其根本原因是实际信号都是有噪声的,如图所示 理想边缘信号 有噪声边缘信号 如果用前面所说的一阶导数最大值或二阶导数过0点的方法检测边缘点,检测出的都是噪声引起的假的边缘点。 噪声一般是高频信号,在噪声前沿或后沿,噪声信号的导数一般要高于边缘点处信号的导数 解决方法-先对信号进行平滑滤波,以滤去噪声
如平滑滤波器的冲激响应函数用h(x)表示,可对信号先滤波,滤波后的信号为: g(x)=f(x) ⊙ h(x) × 然后再对g(x)求一 阶或二阶导数,以检测边缘点 将平滑滤波器的导数h’(x)称为一阶微分滤波器,h’’(x)称为二阶微分滤波器 可以将先平滑、后微分的两部分运算合并 边缘检测的基本方法为: 设计平滑滤波器h(x),检测f(x) ⊙h’(x)的局部最大值或f(x) ⊙h’’(x)的过0点 × ×
(1)当|x|→∞,h(x) →0,h(x)为偶函数 (2)∫-∞+∞h(x)dx=1 (3)h(x)一阶和二阶可微 常用的平滑滤波器为高斯(Gauss)函数: σ为高斯函数的方差,称为高斯分布的空间尺度因子。 σ小,则函数“集中”,即仅在一个很小的局部范围内平滑,随σ的增大,平滑范围也相应增大,但σ太大,噪声虽然平滑了,但信号的突变部分(即边缘点处的信号)也被平滑了。
对于二维图像信号,Marr提出先用下述高斯函数进行平滑: h’’(x) h(x,y)=exp[-(x2+y2)/2s2] 对待检测图像f(x,y)的平滑结果为: g(x,y)=h(x,y)⊙f(x,y) × 由于边缘点是图像中灰度值变化剧烈的地方,这种图像强度的突变将在一阶导数中产生一个峰,或等价于二阶导数中产生一个0交叉点,而沿梯度方向的二阶导数是非线性的,计算较为复杂。Marr提出用拉普拉斯算子来代替,即用: 2g(x,y)= 2[h(x,y)⊙f(x,y)] =( 2h(x,y))⊙f(x,y) × △ △ 的0交叉点作为边缘点 × △
由于相当光滑,与图像卷积,会模糊图像,且其模糊程度正比于σ, σ小时位置精度高,但边缘细节变化多 这样利用二阶导数算子过0点的性质,可确定图像中阶梯状边缘的位置,上式中的 2h也称为高斯-拉普拉斯(Laplacian-0f-Gaussian,LOG)l滤波器或算子,是一个轴对称函数,其剖面图如图所示 △ Marr所提出的边缘检测算子 函数在r=±σ处有0点,在|r< σ |时为正,在|r > σ |时为负 由于相当光滑,与图像卷积,会模糊图像,且其模糊程度正比于σ, σ小时位置精度高,但边缘细节变化多
(1)该滤波器中的高斯函数部分能把图像平滑,有效的消除一切尺度远小于高斯分布因子σ的图像强度变化。 LOG函数在(x,y)空间中的图形,以原点为中心旋转对称的 LOG滤波器具有两个显著的特点: (1)该滤波器中的高斯函数部分能把图像平滑,有效的消除一切尺度远小于高斯分布因子σ的图像强度变化。 (2)该滤波器采用拉普拉斯算子 2可以减少计算量。如果使用一阶方向导数,就必须沿每个取向找出它们的峰、谷值;如果使用二阶导数就必须检测它们的0交叉点。但所有的这些算子都有一个共同特点:具有方向性,它们全部与取向有关 △ 拉普拉斯算子与取向无关
先用算子 2h对图像进行滤波,再确定滤波处理后的图像中的0交叉点的位置。0交叉点的斜率和方向反映了原图像边缘的强度和方向,因此用Marr方法求得的0交叉点中包含了比边缘位置更多的有关边缘特性的信息 △ 在具体实现f(x,y)与 2h之间的卷积运算时,应取一个N×N的窗口,由于 2h有无限长拖尾,因此所用的窗口不能太小,以免过分截去拖尾,窗口的尺寸与主瓣宽度有关,窗口模板内各系数之和应为0,通常N≈3σ时,检测效果较好。 △ △
与高斯核卷积结果 原图 一般0交叉点法 LOG零交叉点法
坎尼算子 坎尼-把边缘检测问题转换为检测单位函数极大值的问题。 一个好的边缘检测算子应具有三个指标: 1、低失误率:既要少将真正的边缘丢失,也要少将非边缘判为边缘 2、高位置精度:检测出的边缘应在真正的边界上 3、对每个边缘有唯一的响应,得到的边界为单象素宽
坎尼提出判定边缘检测算子的三个准则: (1)信噪比准则 信噪比越大,提取的边缘质量越高,信噪比SNR定义为: (2)定位精度准则 边缘函数 带宽为W的滤波器的脉冲响应 (2)定位精度准则 边缘定位精度L定义为: L越大,表明定位精度越高
(3)单边缘响应准则 要保证对单边缘只有一个响应,检测算子的脉冲响应导数的0交叉点平均距离Dzca(f’)应满足(h’’(x)为h(x)的二阶导数): 以上面的指标和准则为基础,利用泛函求导的方法,可导出一个由边缘定位精度和信噪比乘积组成的表达式,这个表达式近似于高斯函数的一阶导数。
坎尼算子的基本原理 坎尼首次将上述判据用数学的形式表示出来,然后采用最优化数值方法,得到了对应给定边缘类型的最佳边缘检测模板。 对于二维图像,需要使用若干方向的模板,分别对图像进行卷积处理,再取最可能边缘的方向
在实际应用中,选取高斯函数的一阶导数作为阶跃形边缘的次最优检测算子 坎尼的分析针对的是一维边缘,对于阶跃形的边缘,坎尼推导出的最优边缘检测器的形状与高斯函数的一阶导数类似,利用二维高斯函数的圆对称性和可分解性,很容易计算高斯函数在任一方向上的导数与图像的卷积 在实际应用中,选取高斯函数的一阶导数作为阶跃形边缘的次最优检测算子 推导二维次最优阶跃边缘检测算子的数学表达式 设二维高斯函数为 在某方向n上G(x,y)的一阶方向导数为:
将图像f(x,y)与Gn作卷积,同时改变n的方向,Gn⊙f(x,y)取得最大值时的n就是正交于检测边缘的方向 × 在该方向上Gn ⊙ f(x,y)有最大输出响应,此时 × 二维次最优阶跃边缘算子是以卷积 G ⊙ f(x,y)为基础的,边缘强度由 决定,而边缘方向为 ×
坎尼算子的计算实现 坎尼算子,可以用分解的方法来提高速度,即把 G的二个滤波卷积模板分解为二个一维的行列滤波器 其中:
将上面两式分别与图像f(x,y)卷积,得到输出 则A(i,j)反映了图像上(i,j)点处的边缘强度,α(i,j)是图像的点(i,j)处的法向矢量
(1)该点的边缘强度大于沿该点梯度方向的两个相邻象素点的边缘强度 根据坎尼的定义,中心边缘点为算子Gn与图像f(x,y)的卷积在边缘梯度方向上的区域中的最大值,这样,就可以在每一点的梯度方向上判断此点强度是否为其邻域的最大值来确定该点是否为边缘点,当一个象素满足以下三个条件时,则被认为是图像的边缘点 (1)该点的边缘强度大于沿该点梯度方向的两个相邻象素点的边缘强度 (2)与该点梯度方向上相邻两点的方向差小于45度 (3)以该点为中心的3×3邻域中的边缘强度极大值小于某个阈值 如果(1)和(2)条件同时满足,则在梯度方向上的两相邻象素就从候选边缘点中取消 相当于用区域梯度最大值组成的阈值图像与边缘点进行匹配,这一过程消除了许多虚假的边缘点
Robert Sobel Prewitt Canny LOG
第7章 图像分割(下) 区域分割
基于区域的分割 图像分割-把图像分解为若干个有意义的子区域,而这种分解-基于物体有平滑均匀的表面,与图像中强度恒定或缓慢变化的区域相对应,即每个子区域都具有一定的均匀性质 前面所讨论的边缘、阈值,没有明显使用分割定义中的均匀测度度量 区域分割-直接根据事先确定的相似性准则,直接取出若干特征相近或相同象素组成区域 常用的区域分割-区域增长(区域生长)、区域分裂-合并方法等
区域增长(区域生长) 区域分裂-合并
区域增长 原理和步骤 基本思想-将具有相似性质的象素集合起来构成区域。 具体步骤-先对每个需要分割的区域找一个种子象素作为生长起点,然后将种子象素周围邻域中与种子象素有相同或相似性质的象素(根据某种事先确定的生长或相似准则来判定)合并到种子象素所在的区域中。将这些新象素当做新的种子象素继续进行上面的过程,直到再没有满足条件的象素可被包括进来,这样一个区域就长成了 R1 R2 R5 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● R3 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● R4 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●
(a)给出需要分割的图像,设已知两个种子象素(标为深浅不同的灰色方块),现在进行区域生长 如图给出已知种子点 区域生长的一个示例。 1 4 7 5 1 1 5 5 5 1 1 5 7 5 1 1 1 1 1 1 4 7 7 1 1 5 5 5 1 1 5 7 7 1 1 1 1 1 1 5 5 5 1 1 5 5 5 1 1 5 5 5 1 1 1 1 1 2 5 6 5 1 1 5 5 5 2 1 5 5 5 1 1 1 1 1 2 2 5 6 4 1 1 5 5 5 2 2 5 5 5 1 1 1 1 1 (b) (c) (d) (a) (a)给出需要分割的图像,设已知两个种子象素(标为深浅不同的灰色方块),现在进行区域生长 采用的判断准则是:如果所考虑的象素与种子象素灰度值差的绝对值小于某个门限T,则将该象素包括进种子象素所在的区域 图(b)给出T=3时区域生长的结果,整幅图被较好的分成2个区域 图(c)给出T=1时区域生长的结果,有些象素无法判定 图(d)给出T=6时区域生长的结果,整幅图都被分成1个区域。
从上面的例子可以看出,在实际应用区域生长法时需要解决三个问题: (1)选择或确定一组能正确代表所需区域的种子象素 (2)确定在生长过程中能将相邻象素包括进来的准则 (3)制定让生长过程停止的条件或规则 种子象素的选取常可借助具体问题的特点进行。 典型 迭代-从大到小逐步收缩 军用红外图像中检测目标时,目标辐射较大,可选图像中最亮的象素作为种子象素 如果具体问题没有先验知识,则常可借助生长所用准则对每个象素进行相应的计算,如果计算结果呈现聚类的情况,则接近聚类重心的象素可取为种子象素
生长准则的选取不仅依赖于具体问题本身,也和所用图像数据的种类有关 如当图像是彩色的时候,仅用单色的准则效果受到影响,另外还需考虑象素间的连通性和邻近性,否则有时会出现无意义的分割结果 一般生长过程,在进行到再没有满足生长准则需要的象素时停止,但常用的基于灰度、纹理、彩色的准则大都是基于图像中的局部性质,并没有充分考虑生长的“历史”。为增加区域生长的能力,常考虑一些尺寸、形状等图像和目标的全局性质有关准则,在这种情况下,需对分割结果建立一定的模型或辅以一定的先验知识
生长准则和过程 区域生长的一个关键是选择合适的生长或相似准则,大部分区域生长准则使用图像的局部性质。 生长准则可根据不同原则制定,而使用不同的生长准则,将会影响区域生长的过程。 基于区域灰度差 基于区域内灰度分布统计性质 主要介绍3种基本的生长准则和方法 基于区域形状
基于区域灰度差 区域生长方法将图像以象素为基本单位来进行操作 基于区域灰度差的方法主要有如下步骤:
步骤 (1)对图像进行逐行扫描,找出尚没有归属的象素 (2)以该象素为中心检查它的邻域象素,即将邻域中的象素逐个与它比较,如果灰度差小于预先确定的阈值,将它们合并 (3)以新合并的象素为中心,返回到步骤2,检查新象素的邻域,直到区域不能进一步扩张 (4)返回到步骤1,继续扫描直到不能发现没有归属的象素,则结束整个生长过程 采用上述方法得到的结果,对区域生长起点的选择有较大依赖性,为克服这个问题,可采用下面改进方法:
(1)设灰度差的阈值为0,用上述方法进行区域扩张,使灰度相同象素合并 (2)求出所有邻域区域之间的平均灰度差,并合并具有最小灰度差的邻接区域 (3)设定终止准则,通过反复进行上述步骤2中的操作将区域依次合并,直到终止准则满足为止 单连接区域增长技术 这种方法简单,但由于仅考虑了从一个象素到另一个象素的特性是否相似,因此对于有噪声的或复杂的图像,使用这种方法会引起不希望的区域出现。另外,如果区域间边缘的灰度变化很平缓,如图a所示,或者对比度弱的两个相交区域,如图b所示,采用这种方法,区域1和区域2将会合并起来,从而产生错误 区域2 区域1 区域2 区域1 (a) (b)
为了克服这个问题,可不用新象素的灰度值去和邻域象素的灰度值比较,而用新象素所在区域的平均灰度值去和各邻域象素的灰度值进行比较 对于一个含N个象素的图像区域R,其均值为: m=∑Rf(x,y)/N 对象素的比较测试可表示为: max|f(x,y)-m|<T, T为给定的阈值 R 考虑两种情况: (1)设区域为均匀的,各象素灰度值为均值m与一个0均值高斯噪声的叠加,当用上式测试某个象素时,条件不成立的概率为 ,这就是误差函数,当T取3倍方差时,误判概率为1-(99.7%)N,这表明,当考虑灰度均值时,区域内的灰度变化应尽量小 P(T)=2∫T∞exp[-z2/(2σ2)]dz/√2πσ
P(T)=[P(|T-Sm|)+P(|T+Sm|)]/2 (2)设区域为非均匀的,且由两部分象素构成。这两部分象素在R中所占的比例分别为q1和q2,灰度值分别为m1和m2,则区域均值为q1m1+q2m2。对灰度值为m1的象素,它与区域均值的差为: Sm=m1-(q1m1+q2m2) 根据测试准则,可知正确判决的概率为: P(T)=[P(|T-Sm|)+P(|T+Sm|)]/2 这表明,当考虑灰度均值时,不同部分象素间的灰度差应尽量大 混合连接区域增长技术
实例 设一幅图像,如图(a)所示,检测灰度为9和7,平均灰度均匀测度度量中阈值K取2,分别进行区域增长 5 5 8 6 5 5 8 6 5 5 8 6 5 5 8 6 5 5 8 6 4 8 9 7 4 8 9 7 4 8 9 7 4 8 9 7 4 8 9 7 2 2 8 5 2 2 8 5 2 2 8 5 2 2 8 5 2 2 8 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 (a) 原图 (b) (c) (d) (e) 在原图(a)中,以9为起点开始区域增长,第一次区域增长得到3个灰度值为8的邻点,灰度级差值为1,如图(b)所示,此时这4个点的平均灰度为(8+8+8+9)/4=8.25,由于阈值取2,因此,第2次区域增长灰度值为7的邻点被接受,如图(c)所示,此时5个点的平均灰度级为(8+8+8+9+7)/5=8。在该区域的周围无灰度值大于6地邻域,即均匀测度为假,停止区域增长。图(d)和(e)是以7为起点的区域增长结果
基于区域内灰度分布统计性质 以灰度分布相似性作为生长准则 把式 的均匀性准则用在将一个区域当作为非均匀区域方面可能会导致错误,如常常出现有大量的小区域似乎在图像中并没有任何真实的对应物 利用相似统计特性寻找具有均匀性的区域可以避免出现这种情况-这种方法是通过将一个区域上的统计特性与在该区域的各个部分上所计算出的统计特性进行比较来判断区域的均匀性,如果它们相互接近,那么这个区域可能是均匀的,这种方法对于纹理分割很有用 max|f(x,y) -m|<T R
具体的计算步骤: (1)把图像分成互不重叠的小区域 (2)比较邻接区域的累积灰度直方图,根据灰度分布的相似性进行区域合并 (3)设定终止准则,通过反复进行步骤2中的操作将各个区域依次合并,直到终止准则满足
灰度相似性检测的方法: h1(z)、h2(z)分别为两邻接区域的累积灰度直方图 (1)Kolmogorov-Smirnov检测: max|h1(z)-h2(z)| z (2)Smoothed-Difference检测: ∑|h1(z)-h2(z)| z 如果检测结果小于某个给定的阈值,则将两区域合并
对上述两种方法有两点说明: 1、小区域的尺寸对结果可能有较大的影响,尺寸太小时检测可靠性降低,尺寸太大时则得到的区域形状不理想,小的目标也可能漏掉 2、K-S检测和S-D检测方法在检测直方图相似性方面较优,因为它考虑了所有灰度值
基于区域形状 在决定对区域的合并时,也可以利用对目标形状的检测结果,常用的方法有两种: (1)把图像分割成灰度固定的区域,设两邻接区域的周长分别为P1和P2,把两区域共同的边界线两侧灰度差小于给定阈值的那部分长度设为L,如图(T1为阈值) L/min{P1,P2}>T1 则两区域合并
(2) 把图像分割成灰度固定的区域,设两邻域区域的共同边界长度为B,把两区域共同边界线两侧灰度差小于给定阈值得那部分长度设为L,如果(T2为阈值) L/B>T2 则两区域合并 两种方法的区别: 第一种是合并两邻接区域的共同边界中对比度较低部分占整个区域边界份额较大的区域 第二种是合并两邻接区域的共同边界中对比度较低部分比较多的区域
实例 原始图像及种子象素点 开始增长阶段的结果 中间结果 最后结果
分裂合并 基本方法 生长方法-先从单个种子象素开始通过不断接纳新象素,最后得到整个区域 另外一种分割的想法-先从整幅图像开始通过不断分裂,得到各个区域(在实际中,先将图像分成任意大小且不重叠的区域,然后再合并或分裂这些区域,以满足分割的要求),在这类方法中,常根据图像的统计特性设定图像区域属性的一致性测度 区域的边缘信息来决定是否对区域进行合并或分裂 基于灰度统计特性
分裂合并方法-利用了图像数据的金字塔或四叉树结构的层次概念,将图像划分为一组任意不相交的初始区域,即可以从图像的这种金字塔或四叉树数据结构的任一中间层开始,根据给定的均匀性检测准则,进行分裂和合并这些区域,逐步改善区域划分的性能,直到最后将图像分成数量最少的均匀区域为止
简单了解图像的金字塔或四叉树数据结构 设原始图像f(x,y)的尺寸大小为2N×2N,在金字塔数据结构中,最底层就是原始图像,上一层的图像数据结构的每一个象素灰度值就是该层图像数据相邻四点的平均值,因此在上一层的图像尺寸比下层的图像尺寸小,分辨率低,但上层图像所包含的信息更具有概括性。
利用图像四叉树表达方式的简单分裂合并算法 设R代表整个正方形图像区域,P代表逻辑谓词。从最高层开始,把R连续分裂成越来越小的1/4的正方形子区域Ri,并且始终使P(Ri)=TRUE.也就是说,如果P(R) =FALSE,那么就将图像分成四等分。如果P(Ri)=FALSE,那么就将Ri分成四等分,如此类推,直到Ri为单个象素 0层 R R1 R2 R3 R4 R41 R42 R43 R44 R1 R2 R3 R41 R42 R43 R44 1层 2层
如果仅仅允许使用分裂,最后有可能出现相邻的两个区域,具有相同的性质,但并没有合成一体的情况。为解决这个问题,在每次分裂后,允许其后继续分裂或合并。这里合并只合并那些相邻且合并后组成的新区域满足逻辑谓词P的区域。也就是说,如果能满足条件P(Ri∪Rj)=TRUE,则将Ri和Rj合并 分裂合并算法步骤: (1)对任一区域Ri,如果P(Ri)=FALSE,就将其分裂成不重叠的四等分 (2)对相邻的两个区域Ri和Rj(它们可以大小不同,即不在同一层),如果条件P(Ri∪Rj)=TRUE,就将它们合并 (3)如果进一步的分裂或合并都不可能,则结束
示例 (b) (c) (d) (a) 图中红色区域为目标,其它区域为背景,它们都具有常数灰度值 对整个图像R,P(R)=FALSE,(P(R)=TRUE代表在R中的所有象素都具有相同的灰度值 ),所以先将其分裂成如图(a)所示的四个正方形区域,由于左上角区域满足P,所以不必继续分裂,其它三个区域继续分裂而得到(b),此时除包括目标下部的两个子区域外,其它区域都可分别按目标和背景合并。对下面的两个子区域继续分裂可得到( c),因为此时所有区域都已满足P ,所以最后一次合并可得到(d)的分割结果
对下图所示的起始区域使用方差最小的测试准则进行区域的分裂合并 (b)第二次操作 (c)第三次操作 (d)最后结果 (a)第一次操作 在某个区域R上,其方差为: Sn2=∑(i,j)∈R[f(i,j)-C]2,C为区域R中N个点的平均值 目标和背景灰度值均匀,已确定了允许界限E,使得每个区域上的方差不超过E,足以保证寻找区域分隔为尽可能少的那种划分,即当子区域Ri中所有象素同为目标或背景时,均匀性测量准则P(R)=TRUE
(b)模糊滤波处理结果 (c)分裂合并结果 (a)原始图像 (d)分裂扩张结果
运动图像分割 随着多媒体技术的发展,视频图像得到广泛应用,由一系列时间上连续的2-D图像组成 从空间分割的角度来看,视频图像分割主要是希望把其中独立运动的区域(目标)逐帧检测处理 从时间分割的角度来看,主要是把连续的序列分解为时间片断 这两种都同时利用时域信息(帧间灰度等的变化)和空域信息(帧内灰度等的变化)
运动图像的分割可直接利用时-空图像的灰度和梯度信息进行分割,也可采用在两帧视频图像间估计光流场,然后基于光流场进行。前者称为直接方法,后者称为间接方法
差分法 在序列图像中,通过逐象素比较可直接求取前后两帧图像之间的差别 假设照明条件在多帧图像间基本不变化,那么差图像的不为0处表明该处的象素发生了移动 也就是说,对时间上相邻的两幅图像求差,可以将图像中目标的位置和形状变化突出出来
如图所示,设目标的灰度比背景亮,则在差分的图像中,可以得到在运动前方位正值的区域,而在运动后方为负值的区域,这样可以获得目标的运动矢量,也可以得到目标上一定部分的形状,如果对一系列图像两两求差,并把差分图像中值为正或负的区域逻辑和起来,就可以得到整个目标的形状。
设ti和tj时刻采集到两幅图像f(x,y,ti)和f(x,y,tj),则可得差图像: dij(x,y)= 1 如|f(x,y,ti)-f(x,y,tj)|>T 0 其它 由于噪声的影响,没有发生象素变化的地方也可能检测出图像间差别不为0的情况,另外由于噪声产生的为1的象素一般比较孤立,可以用连通体分析而去除他们,但这样可能将慢运动和尺寸小的目标去除 利用一系列多幅图像进行差运算,将第一幅图像作为参考图,通过将参考图与其后的每一幅图比较可得到累积差图像
在应用视觉系统中,检测运动目标常用差分图像的方法,一般有两种情况一是当前图像与固定背景图像之间的差分称为减背景法,二是当前连续两幅图像 (时间间隔Δt)之间的差分称为相邻帧差分法
从实验结果可以看出,减背景差分法对于运动目标能很好的检测出来,然而自然景物环境永远不会很静止 (例如,风吹动树枝和树叶,太阳位置改变导致阴影的变化),因此该方法抑制噪声能力较差。这种目标检测方法的优点是计算简单、易于实时,位置准确,但它要求背景绝对静止或基本无变化(噪声较小),不适用于摄像头运动或者背景灰度变化很大的情况,因而适用场合有限, 另外其不足之处还在于受环境光线变化的影响较大,在非受控环境下需要加入背景图像更新机制。而对于相邻帧差分法对运动目标很敏感,但检测出的物体的位置不精确,其外接矩形在运动方向上被拉伸,这实际上是由相对运动与物体位置并非完全一致引起的
间接方法-估计光流场 假设有K个独立的运动目标,每个光流矢量对应一个透明目标在3-D空间进行刚体运动所得到的投影,这样每个独立的运动都可准确的用一组映射参数来描述 从光流场计算方法可知,在光流场中,不同的物体会有不同的速度,大面积背景的运动会在图像上产生较为均匀的速度矢量区域,这为具有不同速度的其它运动物体的分割提供了方便。
给图像中的每一像素点赋予一个速度向量,就形成了图像运动场(motion field)。在运动的一个特定时刻,图像上某一点pi对应三维物体上某一点P0,这种对应关系可以由投影方程得到。在透视投影情况下,图像上一点与物体上对应一点的连线经过光学中心,该连线称为图象点连线(Point ray)。
设物体上一点p0相对于摄像机具有速度v0,从而在图像平面上对应的投影点pi具有速度vi。在时间间隔△t时,点p0运动了v0 △t ,,图像点pi运动了vi △t 。速度可由下式表示 r0和ri之间的关系
当物体运动时,在图像上对应物体的亮度模式也在运动。光流(optical flow)是指图像亮度模式的表观(或视在)运动 (apparent motion)。使用“表观运动”这个概念的主要原因是光流无法由运动图像的局部信息唯一地确定,比如,亮度比较均匀的区域或亮度等值线上的点都无法唯一地确定其点的运动对应性,但运动是可以观察到的。
基于块的运动分析 基于块(Block-based))的运动分析在图像运动估计和其它图像处理和分析中得到了广泛的应用,比如在数字视频压缩技术中,国际标准MPEG1-2采用了基于块的运动分析和补偿算法。块运动估计与光流计算不同,它无需计算每一个像素的运动,而只是计算由若干像素组成的像素块的运动,对于许多图像分析和估计应用来说,块运动分析是一种很好的近似。 块运动通常分为平移、旋转、仿射、透视等运动形式,一般情况下,块运动是这些运动的组合,称为变形运动(deformation motion)
步骤 在基于块的运动分析中最为重要的就是块的匹配。
块匹配的基本思想:在第帧中选择以为中心、大小为的块,然后在第帧中的一个较大的搜索窗口内寻找与块尺寸相同的最佳匹配块的中心的位移矢量。搜索窗口一般是以第帧中的块为中心的一个对称窗口,其大小常常根据先验知识或经验来确定。
匹配准则 匹配准则-最大互相关准则,最小均方差准则,最小平均绝对值差,最大匹配像素数量准则 最小均方差准则(mean square error,MSE)定义如下 通过求上式的极小化可以估计出位移矢量
对MSE求极小化的准则可以认为是给窗口内的所有象素强加一个光流约束。最小均方差准则很少通过超大规模集成电路(VLSI)来实现,主要原因是用硬件实现平方运算有相当的困难。通过超大规模集成电路(VLSI)来实现的准则是最小平均绝对差。
最小平均绝对差准则(mean absolute difference,MAD)定义如下 位移矢量的估计值为
最大匹配像素数量准则(matching pel count,MPC) -这种方法是将窗口内的匹配象素和非匹配象素根据下式分类:
搜索策略 为了求得最佳位移估计,可以计算所有可能的位移矢量对应的匹配误差,然后选择最小匹配误差对应的矢量就是最佳位移估计值,这就是全搜索策略。这种策略的最大优点是可以找到全局最优值,但十分浪费时间,因此,人们提出了各种快速搜索策略。尽管快速搜索策略得到的可能是局部最优值,但由于其快速计算的实用性,在实际中得到了广泛的应用。下面讨论一种快速搜索方法:步搜索或对数搜索。
设窗口大小为15×15 ,当前象素值位于窗口中心,用“0”来标记,第一步,选择标记为“0”和“1”的9个象素计算匹配准则函数,如果最佳匹配仍在“0”处,则无运动。第二步,以第一步最佳匹配对应的象素点为中心选择8个点(图中用标记“2”表示),计算这8个点的匹配准则函数值。第三步,以第二步最佳匹配对应的象素点为中心选择8个点(图中用标记“3”表示),计算这8个点的匹配准则函数值,最佳匹配值即为最后的最佳运动估计。由图(a)可见,每进行一步,搜索距离减小一半,并且愈来愈接近精确解.人们将上述搜索过程称为3步搜索.当然可以继续在子象素级上进行搜索,以得到更精确的估计值,这样就需要大于3步的搜索,称之为步搜索。由于搜索步数与窗口内象素个数是对数关系,因此,常将这种搜索称为对数搜索。另一种对数搜索策略是在每一步有4个搜索位置,它们以十字形或交叉形布置,如图(b)所示。