资源描述
,单击此处编辑母版标题样式,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,V 边缘检测,边缘对应于图象中灰度突变的部分。,边缘主要存在于目标与目标、目标与背景、区域与区域(包括不同色彩)之间。,边缘是图象分割、纹理特征提取和形状特征提取等图象分析的重要基础。,图象中的边缘通常与图象亮度或图象亮度的一阶导数的不连续性有关。,V 边缘检测边缘对应于图象中灰度突变的部分。,1,图象亮度的不连续可分为:,(,1,)阶跃不连续,即图象亮度在不连续处的两边的象素灰度值有着显著的差异;,(,2,)线条不连续,即图象亮度突然从一个值变化到另一个值,保持一个较小的行程后又返回到原来的值。,对一个边缘来说,有可能同时具有阶跃和线条边缘特性。由于边缘可能与场景中物体的重要特征对应,所以它是很重要的图象特征。如,一个物体的轮廓通常产生阶跃边缘,因为物体的图象亮度不同于背景的图象亮度。,图象亮度的不连续可分为:,2,3,第二章V边缘检测课件,4,边缘检测的有关术语:,边缘点:图象中亮度显著变化的点。,边缘段:边缘点坐标,(i ,j),及其方向,的总和,边缘的方向常用梯度角表示。,边缘检测器:从图象中提取边缘(边缘点或边缘段)集合的算法。,轮廓:边缘列表,或是一条边缘列表的曲线模型。,边缘连接:从无序边缘表形成有序边缘表的过程。,边缘跟踪:一个用来确定轮廓图象(指滤波后的图象)的搜索过程。,边缘点和边缘段都称为边缘。,边缘检测的有关术语:,5,由边缘检测器生成的边缘集可分为两个子集:真边缘集和假边缘集。真边缘集对应场景中的边缘,假边缘集不是场景中的边缘。还有一个子集,即场景中漏检的边缘集。,边缘连接和边缘跟踪之间的区别在于:边缘连接是把边缘检测器产生的无序边缘集作为输入,输出一个有序边缘集;边缘跟踪则是将一幅图象作为输入,输出一个有序边缘集。另外,边缘检测使用局部信息来决定边缘,而边缘跟踪使用整个图象信息来决定一个象素点是不是边缘。,由边缘检测器生成的边缘集可分为两个子集:真边缘集和假边缘,6,两种常见的边缘一阶导数和二阶导数示意图,(a)阶跃函数 (b)线条函数,理论曲线,实际曲线,两种常见的边缘一阶导数和二阶导数示意图 (a)阶跃函,7,3 、梯度,梯度是一阶导数的二维等效式,定义为矢量,(1) 向量的方向就是函数增大时的最大变化率方向;,(2) 梯度的幅值和方向:,3 、梯度梯度是一阶导数的二维等效式,定义为矢量(1) 向量,8,用差分来近似梯度:,j,对应于x轴方向,,i,对应于y负轴方向,用简单卷积模板表示:,上述表示?,求内插点(i+1/2,j+1/2) 处的梯度近似值用一阶差分,模板来求和的偏导数:,用差分来近似梯度:j 对应于x轴方向,i对应于y负轴方向,用,9,2.1,边缘检测算法,边缘检测是检测图象灰度局部突变的基本运算。,1、边缘检测算法的基本步骤 :,(1)滤波:,改善与噪声有关的边缘检测器的性能;一般滤波器降低噪声的同时也导致了边缘的损失;增强边缘和降低噪声之间需要折衷。,(2)增强:,将邻域强度值有显著变化的点突显出来。边缘增强一般是通过计算梯度幅值来完成的。,(3)检测:,最简单的边缘检测判据是梯度幅值阈值。,(4)定位:,边缘的位置和方位在子像素分辨率上估计。,2.1 边缘检测算法 边缘检测是检测图象灰度局部突变的基,10,在边缘检测算法中,前三个步骤用得十分普遍。这是因为在大多数情况下,仅仅需要检测出边缘出现在图象某一象素点的附近,而没有必要指出边缘的精确位置或方向。,边缘检测误差通常是指边缘误分类误差,即将假边缘判定为边缘而保留,而把真边缘判为假边缘而去掉。,边缘估计误差是用概率统计模型来描述边缘的位置和方向误差的。,在边缘检测算法中,前三个步骤用得十分普遍。这是因为在大多数情,11,2、基于经典微分算子的边缘检测算法,(1)Roberts算子,(2)Sobel算子,采用3X3邻域可以避免在象素之间内插点上计算梯度。 Sobel算子是边缘检测器中最常用的算子之一。,(3)Prewitt算子,(4)Laplacian算子(二阶)等,2、基于经典微分算子的边缘检测算法,12,(1)Roberts算子,梯度幅值计算近似方法,用卷积模板表示:,梯度交叉算子,(1)Roberts算子梯度幅值计算近似方法梯度交叉算子,13,(2)Sobel算子,梯度幅值:,其中的偏导数用下式计算:,c = 2,用卷积模板来实现,(2)Sobel算子梯度幅值:其中的偏导数用下式计算: c,14,(3) Prewitt算子,与Sobel算子的方程完全一样,但c=1,该算子没有把重点放在接近模板中心的 象素点,(3) Prewitt算子与Sobel算子的方程完全一样,,15,按照滤波、增强和检测这三个步骤比较各种方法:,(定位暂不讨论),* 各种算法的比较,原始图象,7,7,高斯滤波后图象,按照滤波、增强和检测这三个步骤比较各种方法:* 各种算法的,16,未滤波,滤波,未滤波滤波,17,(4) 二阶微分算子,图象强度的二阶导数的零交叉点就是找到边缘点,(4) 二阶微分算子图象强度的二阶导数的零交叉点就是找到边缘,18,(a) 拉普拉斯算子,拉普拉斯算子是二阶导数的二维等效式:,这一近似式是以点 i,j+1 为中心的用 j 替换:,(a) 拉普拉斯算子拉普拉斯算子是二阶导数的二维等效式:这一,19,用算子表示:,希望邻域中心点具有更大的权值,用算子表示:希望邻域中心点具有更大的权值,20,(2) 二阶方向导数,已知图像曲面,方向导数为,二阶方向导数为,在梯度方向上的二阶导数为,(2) 二阶方向导数已知图像曲面,方向导数为二阶方向导数为在,21,边缘检测例,边缘检测例,22,3、LOG (Laplacian of Gaussian),滤波器与,Marr-Hildreth,边缘检测算法,LOG边缘检测器的基本特征是:,(1) 平滑滤波器是高斯滤波器;,(2)增强步骤采用二阶导数;,(3)边缘检测判据是二阶导数零交叉点并对应于一阶导数的较大峰值;,(4)使用线性内插方法在子象素分辨率水平上估计边缘的位置。,高斯函数的傅立叶变换仍为高斯函数,它与图象卷积就是平滑图象。由于高斯函数的优良性质,因此它在数字图象处理和计算机视觉中有很多应用。,3、LOG (Laplacian of Gaussian),23,LOG算子的输出是通过卷积运算得到的,根据卷积求导法,上式变为:,其中:,称之为墨西哥草帽算子。,LOG算子的输出是通过卷积运算得到的,24,这样,下面两种方法在数学上是等价的。,(1)图象与高斯滤波器卷积,再求卷积的拉普拉斯变换。,(2)先求高斯滤波器的拉普拉斯变换,再求与图象的卷积。,直接实现,LOG,算法的典型模板如图(为一5,5拉普拉斯高斯模板),:,这样,下面两种方法在数学上是等价的。,25,滤波(通常是平滑)、增强、检测这三个步骤对使用,LOG,边缘检测仍然成立,其中平滑是用高斯滤波器来完成的;增强是将边缘转换为零交叉点来实现的;边缘检测则是通过检测零交叉点来进行的。,26,拉普拉斯高斯边缘检测结果,拉普拉斯高斯边缘检测结果,27,在上述方法中,边缘是在特定的分辨率下得到的。为了从图象中得到真正的边缘,有必要把那些通过不同尺度算子得到的信息组合起来。,下面介绍尺度空间的概念。高斯平滑运算导致图象中边缘和其它尖锐不连续部分的模糊,其中模糊量取决于值。值越大,噪声滤波效果越好,但同时也丢失了重要的边缘信息,影响了边缘检测器的性能。如果用小尺度滤波器,即取小值,则滤波效果又会变差。大尺度滤波器在平滑相互邻近的两个边缘时,可能会将它们连在一起,这样只能检测出一个边缘。因此,在不知道物体尺度和位置的情况下,很难准确确定滤波器的尺度。,使用多尺度滤波模板并在滤波器的不同尺度上分析边缘特性的方法仍在研究中。这些方法的基本思想是,通过使用大尺度滤波模板产生鲁棒边缘和小尺度滤波模板产生精确定位边缘的特性,来检测出图象的最佳边缘。,在上述方法中,边缘是在特定的分辨率下得到,28,4、多灰度图象的边缘聚焦法,经典的边缘检测算子和,M-H,算子在实际应用中,仍存在噪声与定位之间的矛盾,为了检测出图象中的重要边缘,同时又能获得高精度的定位,需要将不同尺度的平滑结合起来,以信噪比为基础使数据自适应地得到平滑。,“边缘聚焦”是由粗到细跟踪边缘,它将高精度定位与良好的噪声抑制相结合。应用这一方法可以精确地重建不同种类的接合点,这在三维景物重建与识别中是非常重要的。,(1)“边缘聚焦”的基本思想,要解决检测与定位问题,需从以下三个方面逐步完善:,4、多灰度图象的边缘聚焦法,29,既要找出重要的强度非线性;,又要抑制不必要的细节和噪声;,同时还要保证定位精度。,应用“边缘聚焦”方法可较好地解决上述问题。,“尺度空间”,-,可变分辨率的概念,“边缘聚焦”的基本思想,为了识别一幅图象中的基本结构,边缘检测器使用了模糊,模糊本身不是需要的,它仅仅是滤除噪声与不必要细节的一种手段。于是我们就需要一个去模糊过程,最直接的方法是开始用强模糊得到一幅低分辨率边缘图,然后通过连续改变分辨率,将这些边缘逐渐聚焦。,既要找出重要的强度非线性;,30,(2),边缘聚焦算法,用基于离散高斯模糊和记录梯度方向最大导数的边缘检测器产生一幅最初的低分辨率边缘图。由于图象数据是离散的,边缘图只在,x,和,y,的整数值有定义,因此,引入E(i, j,0,),来表示,即:,选择尺度空间的步长S足够小,以至于在边缘聚焦期间每一步边缘点移动距离不超过1个象素。当, = 1,时,边缘点通常移动不超过两个象素,这就提示我们应该将步长定为S=0.5。第一步“边缘聚焦”包括以下计算:将, = ,0,- s,的边缘检测器只作用于用, = ,0,检测出的边缘点及它们的邻点。这样,更高分辨率下的边缘检测只在旧边缘周围一个窄区域进行,旧边缘点被丢弃,新边缘点被接受,于是得到边缘图,E(i, j,0,-s),。接下来的边缘聚焦步骤类似地进行,在,E(i, j,0,-s),的边缘附近区域进行, = ,0,- 2s,的边缘检测等。这个边缘检测器只对, = ,0,的弱边缘使用一个阈值,但在更高分辨率下不使用阈值。边缘聚焦一直进行下去,直到高斯模糊非常微弱。,(2)边缘聚焦算法,31,以上讨论的算法似乎很繁琐,比如从, = 6,到, = 1,的聚焦需要进行11次边缘检测,但聚焦过程的计算量并非是产生最初的边缘图的10倍,其原因是:(1)在每一步聚焦过程中,我们只对一个点的子集使用边缘检测;(2)分辨率越高,高斯模糊包含的计算越少。实际上,在多数情况下,聚焦过程的计算量和最初的边缘检测是相同的。,因为聚焦算法无阈值选择,它可以在更高分辨率下提取新的边缘点而不管它们的强度如何,有些边缘在较高分辨率下表现为噪声或失真边缘,可以利用聚焦算法只在旧边缘附近根据边缘的特性对它们加以识别。,以上讨论的算法似乎很繁琐,比如从 = 6到 = 1的聚,32,5、Canny,边缘检测算法,(1)Canny,算子的基本原理,Canny,给出了评价边缘检测性能优劣的三个指标:(a)好的信噪比,即将非边缘点判为边缘点的概率要低,将边缘点判为非边缘点的概率要低;,(b)好的定位性能,即检测出的边缘点要尽可能在实际边缘的中心;,(c)对单一边缘仅有唯一响应,即单个边缘产生多个响应的概率要低,并且虚假边缘响应应得到最大抑制。,Canny首次将上述判据用数学的形式表示出来,然后采用最优化数值方法,得到了对应给定边缘类型的最佳边缘检测模板。,5、Canny边缘检测算法,33,图 (a)带有噪声的台阶边缘,(b)差分算子,(c)对边缘应用差分算子的结果,,(d)高斯算子的一阶微分,(e)高斯函数的一阶微分算子应用于边缘卷积的结果。,图 (a)带有噪声的台阶边缘,(b)差分算子,(c)对边缘应,34,最优检测准则,设:滤波器的冲激响应为f(x),边缘本身可表示为G(x),同时边缘中心位于x=0处。那么滤波器对位于此中心的边缘的响应H,G,可由卷积的积分表示,:,如果滤波器为有限冲激响应,其边界为 ,并且噪声是功率谱为常数的白噪声,那么利用帕斯瓦尔公式,可得到滤波器对噪声 的均方根响应为,:,其中 是单位长度的均方噪声幅度,第一个准则,即输出的信噪比,最优检测准则,35,最优定位准则,定位性的测量,被检测的边缘点与实际边缘点中心之间均方根距离的倒数,边缘点,对算子响应的局部极大点标志为边缘点,即算子响应的一阶导数在边缘点应为零,表示滤波器单独对噪声的响应,,是滤波器单独对边缘的响应。,假设,滤波器总的响应在 处有一个局部的的极大值。那么有,无噪声时,最优定位准则,36,是一个高斯随机变量,它的方差可表示为:,定位性定义为 的倒数,要使右式为最大,是一个高斯随机变量,它的方差可表示为:定位性定义为,37,消除多重响应,根据以上讨论,SNR的上界为,定位性Localization,的上界为,在 区间中,当 时,SNR和Localization都达到上界,并且 SNRLocalization 得到最大值,对台阶边缘来说最优的边缘检测算子是差分算子,或截短的台阶算子,从图可看到差分算子对有噪声的台阶边缘的响应大致是三角形的峰,但在边缘附近有许多很陡的极大值。,这些极大点相互靠得很近,以至难以区分那个是台阶边缘的响应,那些是噪声。,消除多重响应,38,c)幅值和方位角:,b)使用一阶有限差分计算偏导数的两个阵列P与Q:,a)求图像与高斯平滑滤波器卷积:,(2) Canny 边缘检测器,c)幅值和方位角:b)使用一阶有限差分计算偏导数的两个阵列,39,d)非极大值抑制,(NMS ),:,细化幅值图象中的屋脊带,即只保留幅值局部变化最大的点,*将梯度角的变化范围减小到圆周的四个扇区之一,,*方向角:,*幅值:,幅值图?,d)非极大值抑制(NMS ) :*方向角:*幅值:幅值图?,40,e)取域值,* 将低于阈值的所有值赋零值,得到图象的边缘阵列,* 阈值太低,假边缘;,* 阈值取得太高,部分轮廊丢失.,* 选用两个阈值: 更有效的阈值方案,基本思想:,取高低两个阈值作用在幅值图Ni,j,t1=2t2,得到两个边缘图, 高阈值和低阈值边缘图。,连接高阈值边缘图,出现断点时,在低阈值,边缘图中的8邻点域搜寻边缘点。,e)取域值,41,Canny 边缘检测算法步骤:,(1),用高斯滤波器平滑图象。,(2),用一阶偏导有限差分计算梯度幅值和方向。,(3),对梯度幅值应用非极大值抑制 。,(4),用双阈值算法检测和连接边缘。,Canny 边缘检测算法步骤:,42,2.2 子象素级位置估计,2.2 子象素级位置估计,43,2.3 边缘检测器的性能,(1)假边缘概率;,(2)丢失边缘概率;,(3)边缘方向角估计误差;,(4)边缘估计值到真边缘的距离平方均值;,(5)畸变边缘和其它诸如角点和结点的误差范围。,性能评价方法,品质因数,2.3 边缘检测器的性能(1)假边缘概率;,44,2.4 基于小波变换的边缘检测算法,(自学),上机编程作业:,1、下载一幅灰度图象用C+语言编程实现基于经典微分算子的边缘检测算法,。,2、进一步实现基于小波变换的边缘检测算法。,2.4 基于小波变换的边缘检测算法(自学),45,
展开阅读全文