《第7章 图像分割 资料讲解》由会员分享,可在线阅读,更多相关《第7章 图像分割 资料讲解(102页珍藏版)》请在金锄头文库上搜索。
1、第7章 图像分割,7.1 图像分割的定义和分类 7.2 基于边缘的分割 7.3 基于区域的分割 7.4 基于阈值的分割 7.5 基于运动的分割(自学) 7.6 上机实验 习题,1,图象工程的基本内容:(1)图像处理的重要任务就是对图像中的对象进行分析 和理解。(2)图像分析主要是对图像中感兴趣的目标进行检测和 测量,以获得它们的客观信息,从而建立对图像的 描述。(3)图像理解的重点是在图像分析的基础上,进一步研 究图像中各目标的性质和它们之间的相互联系,并得 出对原始客观场景的解释,从而指导和规划行动。,7.1 图像分割的定义和分类,2,目标(对象)与区域 在对图像处理的研究和应用中,人们往往
2、仅对图像中的某些部分感兴趣,这些感兴趣的部分常称为目标或对象,它们一般对应图像中特定的、具有独特性质的区域。3,图象分割 图像分割是指根据灰度、彩色、空间纹理、几何形状等特征把图像划分成若干个互不相交的区域,使得这些特征在同一区域内表现出一致性或相似性,而在不同区域间表现出明显的不同,即在一幅图像中把目标从背景中分离出来,以便于进一步处理。 图像分割就是指把图像分成互不重叠的区域并提取出感兴趣目标的技术。,7.1.1 图像分割的定义图像分割可借助集合概念用如下方法定义:令集合R代表整个图像区域,对R的分割可看做将R分成若干个满足以下5个条件的非空的子集(子区域)R1,R2,Rn(其中P(Ri)
3、是对所有在集合Ri中元素的逻辑谓词,是空集):对所有的i和j,ij,有RiRj ;对i1,2,n,有P(Ri)TRUE; 对ij,有P(RiRj)FALSE;对i1,2,n,Ri是连通的区域。,7.1.2 图像分割方法分类1,基于边界的分割算法:区域间灰度的不连续性2,基于区域的分割算法:区域内灰度的相似性3,基于阈值的分割算法4,基于运动的分割算法,基于边缘提取的分割法首先检测边缘像素,再将边缘像素连接起来构成边界形成分割。,7.2 基于边缘的分割,可用一阶导数的幅度值来检测边缘的存在,幅度峰值 一般对应边缘位置。可用二阶导数的过零点检测边缘位置。,7.2.1 梯度算子对阶跃状边缘,在边缘点
4、处一阶导数有极值,因此可计算每个像素处的梯度来检测边缘点。,梯度的大小代表边缘的强度,梯度方向与边缘走向垂直。,为检测边缘点,选取适当的阈值T,对梯度图像进行 二值化,则有,梯度算子仅计算相邻像素的灰度差,对噪声敏感, 无法抑制噪声的影响。,7.2.2 Roberts梯度算子7.2.3 Prewitt和Sobel算子,7.2.4 方向算子方向算子是利用一组模板对图像中的同一像素求卷积,选取其中最大的值作为边缘强度,而将与之对应的方向作为边缘方向。常用的八方向Kirsch(33)模板如图7.2.5所示,各方向间的夹角为45。55Kirsch算子的方向模板的前4个如图7.2.6所示。另外一种方向算
5、子称为Nevitia算子,它共有12个55的模板,其中前6个(后6个可由对称性得到)如图7.2.7所示,各方向间的夹角为30。注意,它利用了各位置的权值调整边缘的方向。,图7.2.5 33Kirsch算子八方向模板,图7.2.6 55Kirsch算子的前4个模板,图7.2.7 55Nevitia算子的前6个模板,7.2.5 拉普拉斯(Laplacian)算子对于阶跃状边缘,其二阶导数在边缘点出现零交叉,并且边缘点两旁像素的二阶导数异号。拉普拉斯算子是一种二阶导数算子,对一个连续函数f(x,y),它在位置(x,y)的拉普拉斯值定义如下:(7.2.2) 据此,对数字图像的每个像素计算关于x和y的二
6、阶偏导数之和,以差分方式表示,得到 2f(x,y)f(x1,y)f(x1,y)f(x,y1)f(x,y1)4f(x,y)上式中的2就是著名的拉普拉斯算子。,图7.2.8 Laplacian算子模板,拉普拉斯算子的特点是:各向同性,线性和位移不变, 对细线和孤立点检测效果好;边缘方向信息丢失,常产生 双像素的边缘,对噪声有双倍加强作用。 由于梯度算子和拉普拉斯算子都对噪声敏感,因此一 般在用它们检测边缘前要先对图像进行平滑。,7.2.6 LoG算子上述 常规边缘检测方法可能把噪声像素当边缘点检测出来了,而真正的边缘又没被检测出来。 由于在成像时,一个给定像素所对应的场景点,它的周围点对该点的贡献
7、的光强大小呈正态分布,所以平滑函数应能反映不同远近的周围点对给定像素具有不同的平滑作用,因此,平滑函数采用正态分布的高斯函数,即,式中,s是方差。 用h(x,y)对图像f(x,y)的平滑可表示为 g(x,y)h(x,y)*f(x,y),(7.2.6)上式中的2h称为高斯拉普拉斯滤波(Laplacian of Gaussian,LoG)算子,也称为“墨西哥草帽”。,如果令r是离原点的径向距离,即r2x2y2,则将 式(7.2.4)代入式(7.2.5),然后对图像g(x,y)采用拉普拉斯 算子进行边缘检测,可得,它是一个轴对称函数,各向同性,它的一个轴截面如图7.2.9所示。,图7.2.9 2h轴
8、截面和对应的传递函数,由图可见,这个函数在rs处有过零点,在|r|s时为负;,可以证明这个算子定义域内的平均值为零,因此将它与图像卷积并不会改变图像的整体动态范围。但由于它相当光滑,因此将它与图像卷积会模糊图像,并且其模糊程度是正比于s的。正因为2h的平滑性质能减少噪声的影响,所以当边缘模糊或噪声较大时,利用2h检测过零点能提供较可靠的边缘位置。在该算子中,s的选择很重要,s小时边缘位置精度高,但边缘细节变化多;s大时平滑作用大,但细节损失大,边缘点定位精度低。应根据噪声水平和边缘点定位精度要求适当选取s。,LoG算子用到的卷积模板一般较大(典型半径为832 个像素),不过这些模板可以分解为一
9、维卷积来快速计算。 通过判断零交叉点及其两侧像素符号的变化来确定边缘点。 边缘点两侧的二阶微分是异号的,且正号对应边像点的暗侧,负号对应边像点的亮侧,两侧的符号指示着边缘的起伏走向。 LoG算子可表示为:,采用LoG算子对图7.2.4(a)进行边缘检测的结果如图7.2.10所示。,图7.2.10 采用LoG算子得到的边缘二值图像,7.2.7 Canny边缘检测算子Canny的主要贡献是推导了最优边缘检测算子。他考核边缘检测算子的指标如下:(1)低误判率,即尽可能少地把边缘点误认为是非边缘点;(2)高定位精度,即准确地把边缘点定位在灰度变化最大的像素上;(3)抑制虚假边缘。在一维空间,Canny
10、推导的算子与2h算子几乎一样。在二维空间,Canny算子的方向性质使得它的边缘检测和定位优于2h,具有更好的边缘强度估计,能产生梯度方向和强度两个信息,方便了后续处理。,对阶跃边缘,Canny推导出的最优二维算子形状与Gaussian函数的一阶导数相近。取Gaussian函数为(7.2.7) 在某一方向n上,G(x,y)的一阶方向导数为(7.2.8),式中,,将f(x,y)与Gn进行卷积,改变n的方向,使f(x,y)*Gn取得最大值的方向就是梯度方向(正交于边缘走向),由,因此,对应于Gn*f(x,y)变化最强的方向导数为(7.2.13) 在该方向上Gn*f(x,y)有最大的输出响应:(7.2
11、.14),可见,Canny算子建立在G(x,y)*f(x,y)基础之上,得到边缘强度和方向,通过阈值判定来检测边缘。实际计算时,把二维卷积模板分解为两个一维滤波器:,(7.2.17) (7.2.18)(7.2.19) 然后两个模板分别与f(x,y)进行卷积,得到(7.2.20),令(7.2.21)则A(i,j)反映边缘强度,a(i,j)为垂直于边缘的方向。一个像素如果满足下列条件,就认为它是边缘点:(1)像素(i,j)的边缘强度大于沿梯度方向的两个相邻像素的边缘强度;(2)与该像素梯度方向上相邻两点的方向差小于45;,图7.2.11 采用Canny算子得到的边缘二值图像,(3)以该像素为中心的
12、33邻域中的边缘强度极大值小于某个阈值。如果条件(1)和(2)同时满足,则在梯度方向上的两相邻像素就从候选边缘点中取消,条件(3)相当于用区域梯度最大值组成的阈值图像与边缘点进行匹配,这一过程消除了许多虚假的边缘点。Canny的这种算法可以减少小模板检测中的边缘中断,有利于得到较完整的线段。图7.2.11所示为Canny算子检测出的边缘二值化图像。对比可知,Canny算子的边缘检测效果优于传统的Sobel和 Marr检测算子。,7.2.8 曲面拟合法基于差分检测图像边缘的算子往往对噪声敏感,因此对一些噪声比较严重的图像进行边缘检测就难以取得满意的效果,此时可用平面或高阶曲面来拟合图像中某一小区
13、域的灰度表面,求这个拟合曲面中心点处的梯度,再进行边缘检测。例如四点拟合灰度表面法,用一平面p(x,y)axbyc来拟合空间四邻像素的灰度值f(x,y)、f(x,y1)、f(x1,y)、f(x1,y1),若定义均方差为(7.2.22),按均方差最小准则,令可解出参数a,b,c。可推导出 (7.2.23), 按梯度的定义,由平面p(x,y)axbyc的偏导数 可求得梯度。由式(7.2.23)可看出a为两行像素平均值的差分,b为两列像素平均值的差分。其过程是求平均后再求差分,因而对噪声有抑制作用。这种方法可简化为用模板对图像求卷积进行边缘检测,计算a和b对应的模板如下:,7.2.9 边缘跟踪将检测
14、的边缘点连接成线就是边缘跟踪。线是图像分析中一个基本而重要的内容,它是图像的一种中层符号描述,它使图像的表述更简洁。将边缘点连成线的方法很多,但都不完善,基本上是按一定的规则来进行的,且需要知识的引导,对跟踪的效果往往要人工编辑。由边缘形成线特征包括两个过程:可构成线特征的边缘提取和将边缘连成线。连接边缘的方法很多,下面分别介绍光栅跟踪和全向跟踪。,1.光栅扫描跟踪光栅扫描跟踪是一种采用电视光栅行扫描顺序对遇到的像素进行分析,从而确定是否为边缘的跟踪方法。下面结合一个实例来介绍这种方法。图7.2.12(a)是一幅含有三条曲线的模糊图像,假设在任何一点上,曲线斜率都不超过90,现在要从该图中检出
15、这些曲线。光栅跟踪的具体步骤如下:(1)确定一个比较高的阈值d,把高于该阈值的像素作为对象点。称该阈值为“检测阈值”,设d7。,(2)用检测阈值d对图像第一行像素进行检测,凡超过d的点都接受为对象点,并作为下一步跟踪的起始点,本例检测结果如图7.2.12(b)所示。(3)选取一个比较低的阈值t作为跟踪阈值,该阈值可以根据不同准则来选择。本例中取相邻对象点之灰度差的最大值4作为跟踪阈值,如图7.2.12(c)所示,有时还利用其他参考准则来选择,如梯度方向、对比度等。(4)确定跟踪邻域。本例中取像素(i,j)的下一行像素(i1,j1),(i1,j),(i1,j1)为跟踪邻域。,(5)扫描下一行像素
16、,凡和上一行已检测出来的对象点相邻接的像素,其灰度差小于跟踪阈值t的,都接受为对象点,反之去除。(6)对于已检测出的某一对象点,如果在下一行跟踪领域中,没有任何一个像素被接受为对象点,那么,这一条曲线的跟踪便可结束。如果同时有两个,甚至三个邻域点均被接受为对象点,则说明曲线发生分支,跟踪将对各分支同时进行。如果若干分支曲线合并成一条曲线,则跟踪可集中于一条曲线上进行。一条曲线跟踪结束后,采用类似上述步骤从第一行的其他检出点开始下一条曲线的跟踪。,(7)对于未被接受为对象点的其他各行像素,再次用检测阈值进行检测,并以新检出的点为起始点,重新使用跟踪阈值程序,以检测出不是从第一行开始的其他曲线。(8)当扫描完最后一行时,跟踪便可结束。本例的跟踪结果如图7.2.12(d)所示。由结果可以看出,本例原图像中存在着三条曲线,两条从顶端开始,一条从中间开始。然而,如果不用跟踪法,只用一种阈值d或t,检测均不能得到满意的结果。如图7.2.12(b)和(c)所示的测检结果就较差。,应该指出,检测和跟踪所选择的特征可以不是灰度级,而