北理工贾云德《计算机视觉》chapter06边缘检测

上传人:494895****12427 文档编号:63830661 上传时间:2022-03-20 格式:DOC 页数:21 大小:788.50KB
收藏 版权申诉 举报 下载
北理工贾云德《计算机视觉》chapter06边缘检测_第1页
第1页 / 共21页
北理工贾云德《计算机视觉》chapter06边缘检测_第2页
第2页 / 共21页
北理工贾云德《计算机视觉》chapter06边缘检测_第3页
第3页 / 共21页
资源描述:

《北理工贾云德《计算机视觉》chapter06边缘检测》由会员分享,可在线阅读,更多相关《北理工贾云德《计算机视觉》chapter06边缘检测(21页珍藏版)》请在装配图网上搜索。

1、精选优质文档-倾情为你奉上第六章 边缘检测 边缘(edge)是指图像局部强度变化最显著的部分边缘主要存在于目标与目标、目标与背景、区域与区域(包括不同色彩)之间,是图像分割、纹理特征和形状特征等图像分析的重要基础图像分析和理解的第一步常常是边缘检测(edge detection)由于边缘检测十分重要,因此成为机器视觉研究领域最活跃的课题之一本章主要讨论边缘检测和定位的基本概念,并使用几种常用的边缘检测器来说明边缘检测的基本问题图像中的边缘通常与图像强度或图像强度的一阶导数的不连续性有关图像强度的不连续可分为:(1) 阶跃不连续,即图像强度在不连续处的两边的像素灰度值有着显著的差异;(2) 线条

2、不连续,即图像强度突然从一个值变化到另一个值,保持一个较小的行程后又返回到原来的值在实际中,阶跃和线条边缘图像是很少见的,由于大多数传感元件具有低频特性,使得阶跃边缘变成斜坡型边缘,线条边缘变成屋顶形边缘,其中的强度变化不是瞬间的,而是跨越一定的距离,这些边缘如图61所示 (a) (b)图61 两种常见的边缘,(a) 阶跃函数,(b) 线条函数其中第一排为理想信号,第二排对应实际信号对一个边缘来说,有可能同时具有阶跃和线条边缘特性例如在一个表面上,由一个平面变化到法线方向不同的另一个平面就会产生阶跃边缘;如果这一表面具有镜面反射特性且两平面形成的棱角比较圆滑,则当棱角圆滑表面的法线经过镜面反射

3、角时,由于镜面反射分量,在棱角圆滑表面上会产生明亮光条,这样的边缘看起来象在阶跃边缘上叠加了一个线条边缘由于边缘可能与场景中物体的重要特征对应,所以它是很重要的图像特征。比如,一个物体的轮廓通常产生阶跃边缘,因为物体的图像强度不同于背景的图像强度在讨论边缘算子之前,首先给出一些术语的定义: 边缘点:图像中具有坐标且处在强度显著变化的位置上的点 边缘段:对应于边缘点坐标及其方位,边缘的方位可能是梯度角 边缘检测器:从图像中抽取边缘(边缘点和边缘段)集合的算法 轮廓:边缘列表,或是一条表示边缘列表的拟合曲线边缘连接:从无序边缘表形成有序边缘表的过程习惯上边缘的表示采用顺时针方向来排序 边缘跟踪:一

4、个用来确定轮廊的图像(指滤波后的图像)搜索过程 边缘点的坐标可以是边缘位置像素点的行、列整数标号,也可以在子像素分辨率水平上表示边缘坐标可以在原始图像坐标系上表示,但大多数情况下是在边缘检测滤波器的输出图像的坐标系上表示,因为滤波过程可能导致图像坐标平移或缩放边缘段可以用像素点尺寸大小的小线段定义,或用具有方位属性的一个点定义请注意,在实际中,边缘点和边缘段都被称为边缘 由边缘检测器生成的边缘集可以分成两个子集:真边缘集和假边缘集真边缘集对应场景中的边缘,假边缘集不是场景中的边缘还有一个边缘子集,即场景中漏检的边缘集假边缘集称之为假阳性(false Positive),而漏掉的边缘集则称之为假

5、阴性(false Negative) 边缘连接和边缘跟踪之间的区别在于:边缘连接是把边缘检测器产生的无序边缘集作为输入,输出一个有序边缘集;边缘跟踪则是将一幅图像作为输入,输出一个有序边缘集另外,边缘检测使用局部信息来决定边缘,而边缘跟踪使用整个图像信息来决定一个像素点是不是边缘6.1 梯度 边缘检测是检测图像局部显著变化的最基本运算在一维情况下,阶跃边缘同图像的一阶导数局部峰值有关梯度是函数变化的一种度量,而一幅图像可以看作是图像强度连续函数的取样点阵列因此,同一维情况类似,图像灰度值的显著变化可用梯度的离散逼近函数来检测梯度是一阶导数的二维等效式,定义为向量 (61) 有两个重要的性质与梯

6、度有关:(1) 向量的方向就是函数增大时的最大变化率方向;(2) 梯度的幅值由下式给出: (62)在实际应用中,通常用绝对值来近似梯度幅值: (63)或 (64)由向量分析可知,梯度的方向定义为 (65)其中角是相对轴的角度 注意梯度的幅值实际上与边缘的方向无关,这样的算子称为各向同性算子(isotropic operators) 对于数字图像,方程61的导数可用差分来近似最简单的梯度近似表达式为 (66) 请注意对应于轴方向,而对应于负轴方向这些计算可用下面的简单卷积模板来完成 (67)在计算梯度时,计算空间同一位置和处的真实偏导数是至关重要的然而采用上面公式计算的梯度近似值和并不位于同一位

7、置,实际上是内插点 处的梯度近似值,是内插点处的梯度近似值由于这个缘故,人们常常使用一阶差分模板(而不用或 模板)来求和的偏导数: (68) 用上式计算 和方向梯度的位置是相同的,这一点位于内插点 处,即在邻域的所有四个像素点之间不过这种计算可能会导致一些混淆,所以,通常用邻域计算梯度值这一方法将在下一节讨论62 边缘检测算法 边缘检测算法有如下四个步骤:滤波:边缘检测算法主要是基于图像强度的一阶和二阶导数,但导数的计算对噪声很敏感,因此必须使用滤波器来改善与噪声有关的边缘检测器的性能需要指出,大多数滤波器在降低噪声的同时也导致了边缘强度的损失,因此,增强边缘和降低噪声之间需要折衷增强:增强边

8、缘的基础是确定图像各点邻域强度的变化值增强算法可以将邻域(或局部)强度值有显著变化的点突显出来边缘增强一般是通过计算梯度幅值来完成的检测:在图像中有许多点的梯度幅值比较大,而这些点在特定的应用领域中并不都是边缘,所以应该用某种方法来确定哪些点是边缘点最简单的边缘检测判据是梯度幅值阈值判据定位:如果某一应用场合要求确定边缘位置,则边缘的位置可在子像素分辨率上来估计,边缘的方位也可以被估计出来 在边缘检测算法中,前三个步骤用得十分普遍。这是因为大多数场合下,仅仅需要边缘检测器指出边缘出现在图像某一像素点的附近,而没有必要指出边缘的精确位置或方向边缘检测误差通常是指边缘误分类误差,即把假边缘判别成边

9、缘而保留,而把真边缘判别成假边缘而去掉边缘估计误差是用概率统计模型来描述边缘的位置和方向误差的我们将边缘检测误差和边缘估计误差区分开,是因为它们的计算方法完全不同,其误差模型也完全不同最近的二十年里发展了许多边缘检测器,这里仅讨论常用的几种边缘检测器621 Roberts算子 Roberts交叉算子为梯度幅值计算提供了一种简单的近似方法: (69)用卷积模板,上式变成: (610)其中和由下面的模板计算: (611) 同前面的梯度算子一样,差分值将在内插点处计算Roberts算子是该点连续梯度的近似值,而不是所预期的点处的近似值Roberts边缘检测器的试验结果见图6.3622 Sobel算子

10、 正如前面所讲,采用邻域可以避免在像素之间内插点上计算梯度考虑一下图62中所示的点周围点的排列Sobel算子也是一种梯度幅值, (612)其中的偏导数用下式计算: (613) 其中常数和其他的梯度算子一样,和可用卷积模板来实现: (614)请注意这一算子把重点放在接近于模板中心的像素点图6.3和图6.4表明了这一算子的作用Sobel算子是边缘检测器中最常用的算子之一图62 用于说明Sobel算子和Prewitt算子的邻域像素点标记623 Prewitt算子 Prewitt算子与Sobel算子的方程完全一样,只是常量c=1所以 (615)请注意,与Sobel算子不同,这一算子没有把重点放在接近模

11、板中心的像素点这种边缘检测器的性能也示意在图6.3和图6.4中624 各种算法比较现在来比较一下上面讨论过的边缘检测器我们将按照本节开头所提出的滤波、增强和检测这三个步骤,来比较各种方法第四步定位将不讨论首先给出在忽略滤波步骤情况下Roberts、Sobel和Prewitt边缘检测方法实验结果,如图6.3所示对滤波后的图象进行边缘检测的结果见图6.4,其中滤波器为前一章介绍的高斯滤波器,梯度幅值的计算见方程6.3比较图6.3和图6.4可以发现,由于噪声影响,一些假边缘也被检测出来了图6.2用于边缘检测的测试图像 (a)原始图像 (b)7x7高斯滤波的图像图63 各种边缘检测器对未经滤波的图像(

12、a)进行边缘检测的比较(c) Roberts交叉算子(d)Sobel算子(e) Prewitt算子图64 各种边缘检测器对滤波后的图像(图6.3 (b))进行边缘检测的结果(a) Roberts交叉算子(b)Sobel算子(c) Prewitt算子63 二阶微分算子前面讨论了计算一阶导数的边缘检测器,如果所求的一阶导数高于某一阈值,则确定该点为边缘点这样做会导致检测的边缘点太多(注意一下图63和图64中阈值化后的粗线)一种更好的方法就是求梯度局部最大值对应的点,并认定它们是边缘点,如图65所示在图6.5中,若用阈值来进行边缘检测,则在a和b之间的所有点都被记为边缘点但通过去除一阶导数中的非局部

13、最大值,可以检测出更精确的边缘一阶导数的局部最大值对应着二阶导数的零交点这意味着在边缘点处有一阶导数的峰值,同样地,有二阶导数的零交叉点这样,通过找图像强度的二阶导数的零交叉点就能找到边缘点在二维空间,对应二阶导数有两种算子:拉普拉斯算子和二阶方向导数图65用阈值进行边缘检测和用二阶导数的零交点进行边缘检测示意图631 拉普拉斯算子平滑过的阶跃边缘二阶导数是一个在边缘点处过零的函数(见图65)拉普拉斯算子是二阶导数的二维等效式函数的拉普拉斯算子公式为 (616) 使用差分方程对和方向上的二阶偏导数近似如下: (617) 这一近似式是以点为中心的用替换,得到 (618)它是以点为中心的二阶偏导数

14、的理想近似式,类似地, (619)把这两个式子合并为一个算子,就成为下面能用来近似拉普拉斯算子的模板: (620)有时希望邻域中心点具有更大的权值,比如下面的模板就是一种基于这种思想的近似拉普拉斯算子: (621)当拉普拉斯算子输出出现过零点时就表明有边缘存在,其中忽略无意义的过零点(均匀零区)原则上,过零点的位置精度可以通过线性内插方法精确到子像素分辨率,不过由于噪声,结果可能不会很精确 考虑图66中所给的例子图中表明了对一幅具有简单阶跃边缘的图像进行拉普拉斯运算的结果输出图像中的一行是: 0006-6000 在本例中,对应于原始图像边缘的零交叉点位于两个中心像素点之间因此,边缘可以用其左边

15、的像素或右边的像素来标记,但整幅图像的标记必须一致在多数情况下,零交叉点很少恰好在两像素点中间,因此边缘的实际位置要通过内插值来确定一幅包含垂直阶跃边缘的图像0 0 0 6 -6 0 0 00 0 0 6 -6 0 0 00 0 0 6 -6 0 0 00 0 0 6 -6 0 0 0图66垂直方向的阶跃边缘拉普拉斯响应现在考虑一下图67所示的例子该图给出了拉普拉斯算法对斜坡边缘的响应,其中的一行输出是00030-300 零交叉点直接对应着图像中的一个像素点再者,这是一种理想情况,边缘的实际位置仍要通过内插方法来确定一幅包含垂直斜坡边缘的图像0 0 0 3 0 -3 0 00 0 0 3 0

16、-3 0 00 0 0 3 0 -3 0 00 0 0 3 0 -3 0 0图67垂直方向的斜坡边缘拉普拉斯响应632 二阶方向导数已知图像曲面,其(与y轴夹角)方向的方向导数在点的值为 (622)二阶方向导数为,该算子由下式来实现: (623)根据式(6.5),在梯度方向上的二阶导数为 (624) 拉普拉斯的二阶方向导数算子在机器视觉中并不常用,因为任何包含有二阶导数的算子比只包含有一阶导数的算子更易受噪声的影响甚至一阶导数很小的局部峰值也能导致二阶导数过零点为了避免噪声的影响,必须采用特别有效的滤波方法在下一节,我们将讨论高斯滤波与二阶导数相结合的边缘检测方法64 LoG算法 正如上面所提

17、到的,利用图像强度二阶导数的零交叉点来求边缘点的算法对噪声十分敏感,所以,希望在边缘增强前滤除噪声为此,Marr和Hildreth146将高斯滤波和拉普拉斯边缘检测结合在一起,形成LoG(Laplacian of Gaussian, LoG)算法,也称之为拉普拉斯高斯算法LoG边缘检测器的基本特征是: 1 平滑滤波器是高斯滤波器 2 增强步骤采用二阶导数(二维拉普拉斯函数) 3 边缘检测判据是二阶导数零交叉点并对应一阶导数的较大峰值 4 使用线性内插方法在子像素分辨率水平上估计边缘的位置这种方法的特点是图像首先与高斯滤波器进行卷积(高斯滤波器在66节中将详细讨论),这一步既平滑了图像又降低了噪

18、声,孤立的噪声点和较小的结构组织将被滤除由于平滑会导致边缘的延展,因此边缘检测器只考虑那些具有局部梯度最大值的点为边缘点这一点可以用二阶导数的零交叉点来实现拉普拉斯函数用作二维二阶导数的近似,是因为它是一种无方向算子为了避免检测出非显著边缘,应选择一阶导数大于某一阈值的零交叉点作为边缘点LoG算子的输出是通过卷积运算得到的: (625)根据卷积求导法有 (626)其中: (627)称之为墨西哥草帽算子(见图68)这样,下面两种方法在数学上是等价的: 1 求图像与高斯滤波器卷积,再求卷积的拉普拉斯变换 2 求高斯滤波器的拉普拉斯变换,再求与图像的卷积图68一维和二维高斯函数的拉普拉斯变换图的翻转

19、图,其中=2 如果采用第一种方法,就可能用到54介绍的高斯平滑滤波器直接实现LoG算法的典型模板见图69图610给出了应用LoG算子和零交叉点检测的结果有关讨论实现LoG算法的有效方法,请参见文献Huertas 1986滤波(通常是平滑)、增强、检测这三个边缘检测步骤对使用LoG边缘检测仍然成立,其中平滑是用高斯滤波器来完成的;增强是将边缘转换成零交叉点来实现的;边缘检测则是通过检测零交叉点来进行的可以看到,零交叉点的斜率依赖于图像强度在穿过边缘时的变化对比度剩下的问题是把那些由不同尺度算子检测到的边缘组合起来在上述方法中,边缘是在特定的分辨下得到的为了从图像中得到真正的边缘,有必要把那些通过

20、不同尺度算子得到的信息组合起来图69 拉普拉斯高斯模板 图 610 拉普拉斯高斯边缘检测结果 这里介绍一下尺度空间概念高斯平滑运算导致图像中边缘和其它尖锐不连续部分的模糊,其中模糊量取决于的值值越大,噪声滤波效果越好,但同时也丢失了重要的边缘信息,影响了边缘检测器的性能如果用小尺度的滤波器,又有可能平滑不完全而留有太多的的噪声大尺度滤波器在平滑相互邻近的两个边缘时,可能会将它们连在一起,这样只能检测出一个边缘因此,在不知道物体尺度和位置的情况下,很难准确确定滤波器的尺度 使用多尺度滤波模板并在滤波器的不同尺度上分析边缘特性的方法仍在研究中这些方法的基本思想是,通过使用大尺度滤波模板产生鲁棒边缘

21、和小尺度滤波模板产生精确定位边缘的特性,来检测出图像的最价边缘65 图像逼近 一幅图像是一个连续函数的采样阵列有关图像的大多数思想首先在连续域内进行讨论,然后使用离散逼近法来计算所需要的性质如果我们能从采样图像中估计连续函数,那么我们就能从估计的函数中求得图像性质,并且可以在子像素分辨率上计算边缘的位置图611为一幅数字图像对应的离散三维图形表示,其中的纵坐标表示像素灰度值设连续图像函数为: (628) 现在的任务是从数字图像的灰度值重构连续函数对复杂的图像来说,连续强度函数可能包含和的超阶幂方,从而使得重构原始函数十分困难,因此,我们将采用简单的分段函数来建立图像的模型这样,任务就变成了重构

22、每一个分段解析函数,或小面(Facets)。换言之,就是试图找到在每一像素点的邻域内最能逼近该邻域强度值的简单函数,如图612所示这种逼近叫小面模型(Facet model)Haralick 1984图613给出了采用邻域的小面模型坐标系统连续图像强度函数可以在每一个像素点上得到局部逼近对一幅的图像,你能得到个逼近函数,每一个函数仅对图像中一个特定像素有效使用这些函数(而不是像素值)来确定边缘位置图611 连续图像强度函数的图形表示Jain 1995图612 邻域逼近函数示意图图613 用窗函数的小面模型坐标系统例子注意像素点位于邻域的中心 许多复杂解析函数可用来逼近图像强度对于简单的图像,分

23、段常量或分段双变量线性函数是强度函数的较好逼近但对具有更复杂区域的图像,要用到二次、三次甚至更高次幂的函数本例用下列三次多项式建立图像邻域模型: (629) 其中和是相对于要逼近的图像平面中心点的坐标现在的目标是计算方程(629)中逼近函数的系数可用最小二乘法通过奇异值分解(Singular-Value Decomposition, SVD)来计算系数,或者使用邻域,用图614中所示的模板来直接计算三次逼近函数的系数Haralick 1993 边缘点出现在像素点邻域逼近函数一阶方向导数局部极值的位置,基于这一事实可以进行边缘检测一阶导数的局部极值的存在会在一阶导数方向上产生二阶导数的零交叉点

24、在方向上的一阶导数和二阶导数计算公式见(622)和(623) 由于图像局部强度是由三次多项式来近似的,角可以被选作为逼近平面的方位角: (630)根据式(623)在点处方向上的二阶方向导数为 (631) 由于只考虑方向角为的直线上的点,则,将它们代入上式有 (632)如果对某一,有,则在图像中点处存在边缘点其中是像素边长, (633)和 (634)换言之,如果边缘位置落入像素点的边界之内,则将此边缘点标记为边缘点若点位于像素点的边界之外,就不能标记为边缘点用小面模型边缘检测器获得的边缘运算结果见图615图614 计算三次方逼近函数系数的模板Haralick 1993 (a) (b)图615 用

25、小面模型边缘检测器获得的边缘,其中(a)是原始灰度图像Jain 199566 Canny 边缘检测器 检测阶跃边缘的基本思想是在图像中找出具有局部最大梯度幅值的像素点检测阶跃边缘的大部分工作集中在寻找能够用于实际图像的梯度数字逼近由于实际的图像经过了摄像机光学系统和电路系统(带宽限制)固有的低通滤波器的平滑,因此,图像中的阶跃边缘不是十分陡立图像也受到摄像机噪声和场景中不希望的细节的干扰图像梯度逼近必须满足两个要求:(1) 逼近必须能够抑制噪声效应,(2) 必须尽量精确地确定边缘的位置抑制噪声和边缘精确定位是无法同时得到满足的,也就是说,边缘检测算法通过图像平滑算子去除了噪声,但却增加了边缘定

26、位的不确定性;反过来,若提高边缘检测算子对边缘的敏感性,同时也提高了对噪声的敏感性有一种线性算子可以在抗噪声干扰和精确定位之间提供最佳折衷方案,它就是高斯函数的一阶导数,对应于图像的高斯函数平滑和梯度计算梯度的数值逼近可用61节中列出的和方向上的一阶偏导的有限差分来表示高斯平滑和梯度逼近相结合的算子不是旋转对称的这种算子在边缘方向上是对称的,在垂直边缘的方向上是反对称的(沿梯度方向)这也意味着该算子对最急剧变化方向上的边缘特别敏感,但在沿边缘这一方向上是不敏感的,其作用就象一个平滑算子 Canny边缘检测器是高斯函数的一阶导数,是对信噪比与定位之乘积的最优化逼近算子Canny 1986我们将通

27、过下面的符号对Canny边缘检测器算法作一概括说明用表示图像使用可分离滤波方法求图像与高斯平滑滤波器卷积,得到的结果是一个已平滑数据阵列 , (636)其中是高斯函数的散布参数,它控制着平滑程度 已平滑数据阵列的梯度可以使用一阶有限差分近似式(见61节)来计算与偏导数的两个阵列与: (637)在这个正方形内求有限差分的均值,以便在图像中的同一点计算x和y的偏导数梯度幅值和方位角可用直角坐标到极坐标的坐标转化公式来计算: (638) (639)其中,反正切函数包含了两个参量,它表示一个角度,其取值范围是整个圆周范围内为高效率地计算这些函数,尽量不用浮点运算梯度的幅度和方向也可以通过查找表由偏导数

28、计算反正切函数的大多数计算使用的是定点运算,很少的几个计算是基本浮点运算,其中的浮点运算是由整数和定点算术通过软件实现的SedgewickSedgewick 1988给出了一种对大多数应用都足够好的梯度角近似算法 (1)非极大值抑制 幅值图像阵列的值越大,其对应的图像梯度值也越大,但这还不足以确定边缘,因为这里仅仅把图像快速变化的问题转化成求幅值阵列的局部最大值问题为确定边缘,必须细化幅值图像中的屋脊带(Ridge),即只保留幅值局部变化最大的点这一过程叫非极大值抑制(Non-Maxima Suppression,NMS ),它会生成细化的边缘 非极大值抑制通过抑制梯度线上所有非屋脊峰值的幅值

29、来细化中的梯度幅值屋脊这一算法首先将梯度角的变化范围减小到圆周的四个扇区之一,如图616所示, (640) 四个扇区的标号为0到3,对应着邻域内元素的四种可能组合,任何通过邻域中心的点必通过其中一个扇区梯度线可能方向的圆周分区用度来标记该算法使用一个邻域作用于幅值阵列的所有点在每一点上,邻域的中心像素与沿着梯度线的两个元素进行比较,其中梯度线是由邻域的中心点处的扇区值给出的如果在邻域中心点处的幅值不比沿梯度线方向上的两个相邻点幅值大,则赋值为零这一过程可以把宽屋脊带细化成只有一个像素点宽在非极大值抑制过程中,保留了屋脊的高度值 设 (641)表示非极大值抑制过程中的非零值对应着图像强度阶跃变化

30、处的对比度尽管在边缘检测的第一步对图像进行了平滑,但非极大值抑制幅值图像仍会包含许多由噪声和细纹理引起的假边缘段实际中,假边缘段的对比度一般是很小的图616用于非最大值抑制的可能梯度方向划分示意图 (2)阈值化 减少假边缘段数量的典型方法是对使用一个阈值,将低于阈值的所有值赋零值对非极大值抑制幅值进行阈值化的结果是一个图像的边缘阵列阈值化后得到的边缘阵列仍然有假边缘存在,原因是阈值太低(假正确)以及阴影的存在,使得边缘对比度减弱,或阈值取得太高而导致部分轮廊丢失(假错误)选择合适的阈值是困难的,需要经过反复试验一种更有效的阈值方案是选用两个阈值 双阈值算法对非极大值抑制图像作用双阈值和,且,得

31、到两个阈值边缘图像和由于图像是用高阈值得到的,因此它含有很少的假边缘,但可能在轮廓上有间断(太多的假错误)双阈值法要在中把边缘连接成轮廊,当到达轮廊的端点时,该算法就在的8-邻点位置寻找可以连接到轮廊上的边缘,这样,算法将不断地在中收集边缘,直到将中所有的间隙连接起来为止这一算法是阈值化的副产物,并解决了阈值选择的一些问题Canny边缘检测算法列于算法61中本节所提出的边缘检测算法的试验结果见图617在计算梯度之前,首先用高斯滤波器平滑图像(图6.17(b))和高斯滤波器平滑图像(图6.17(d))对较小尺度滤波器,非极大值抑制梯度幅值算法可以在边缘处检测出极其细腻的细节,但噪声和细纹理会导致

32、过量的不希望的边缘段对大尺度滤波器,只产生很少数量的不希望的边缘段,但丢失了边缘的大部分细节这表明边缘定位和抗噪声之间需要一种折衷算法61 Canny 边缘检测1. 用高斯滤波器平滑图像2. 用一阶偏导的有限差分来计算梯度的幅值和方向3. 对梯度幅值应用非极大值抑制 4. 用双阈值算法检测和连接边缘(d) (e)图617高斯平滑滤波器作用于测试图像的边缘检测结果(a)原始图像,(b) 经过高斯滤波器平滑、梯度逼近和非极大值抑制后的灰度图像 (c) 一幅用黑点表示图(b)中大于零的点(d) 经过高斯滤波器平滑、梯度逼近和非极大值抑制后的灰度图像. (e)一 幅用黑点表示图(b)中大于零的点67

33、子像素级位置估计 在许多应用中,边缘位置的估计精度高于像素点间距(子像素分辨率)是很有必要的用于梯度边缘检测算法和用于二阶边缘检测算法的子像素分辨率精度实现方法是完全不同的,应该分开考虑 首先,考虑一下二阶边缘检测器的输出,比如,用LoG边缘检测器边缘由像素点之间的零交叉点给出原则上,边缘位置可通过线性内插方法达到子像素级精度在实际中,二阶边缘检测输出的噪声太大,以至于无法使用简单的内插方法得到精确的结果,即使是高斯预平滑函数,也无济于事 使用基于梯度方法检测边缘之后,在边缘位置上获取子像素分辨率精度是很实际的,也是有效的把高斯平滑滤波器和一阶导数作用于一个理想的阶跃边缘得到的结果与高斯滤波器

34、平滑结果形状完全一样如果阶跃边缘不是理想的,而是由一个平面渐变到另一个平面,那么高斯平滑和一阶导数的结果可以用一个较宽的高斯滤波器逼近 考虑一组服从正态分布的测量值正态分布曲线的中心对应着正态分布的均值,因此可以通过求这组测量值的均值来估计正态分布中心现在假设可得到的信息是这些测量值直方图而不是这些测量值本身正态分布的均值估计可通过直方图每一个方条中心位置乘以该方条所包含的像素点数,再除以直方图面积求得同样的方法,边缘位置子像素级分辨率精度估计可通过求高斯边缘检测器输出图像的均值来实现为计算边缘位置到子像素分辨率水平,在边缘的任意一个边沿梯度方向上取高斯边缘检测器输出(不进行非极大值抑制)的幅

35、度,直到梯度幅度低于某一阈值用梯度幅度作为权值来计算沿梯度方向的位置加权值沿梯度方向的边缘位置子像素级校正用下式给出: (642)其中,是一个像素点沿梯度方向与检测到的边缘点的距离,是梯度幅度 一种更简单的算法是通过计算高斯边缘检测器的梯度幅度一阶矩来实现边缘位置精度到子像素级分辨率水平,其中是相对于已经检测到的边缘像素把这一校正值加到原像素点坐标上就能得到更精确的边缘位置 沿梯度幅度图方向计算均值的算法,虽然复杂些,但具有以下优点:可用统计方法实现该梯度图与理想梯度图的比较,而比较的结果还能作为边缘检测判据如果梯度幅度图不是十分接近高斯函数曲线形状,则边缘就不对应理想的阶跃边缘模型在这种情况

36、下,就不可能用本节提出的方法精确估计边缘位置68 边缘检测器性能 Abdou和PattAbdou 1979、DeMicheli等人DeMicheli 1989已经给出了评价边缘检测器性能的测度公式在评价边缘检测器性能时应该考虑的判据包括:1. 假边缘概率,2. 丢失边缘概率,3. 边缘角估计误差,4. 边缘估计值到真边缘的距离平方均值,5. 扭曲边缘和其它诸如角点和结点的误差范围 前两条判据涉及边缘检测器算法的性能中间两条判据涉及边缘定位、方位估计算法的性能最后一条判据关心的是边缘算法偏离理想模型的误差范围681性能评价方法 边缘检测器的性能评价可分为两个阶段:计算假边缘与丢失边缘的数目;测量

37、用于估计位置和方位的误差(或误差分布)为了测试性能,可以选择一幅合成图像,并已知真实的边缘位于一个轮廓上,该轮廓可由简单曲线的数学公式来建模,比如一个实心矩形,它的轮廓边缘可用线段建模,或两个实心矩形,它们的间隙是已知的通过把边缘检测器的结果与原始(合成)图像比较,得出真、假、丢失边缘的数目,这件事做起来要比想象的难多了边缘检测的结果随阈值、滤波器尺度、边缘相互影响和其它因素的变化而变化如果将一个边缘检测器作用在一幅没有加性噪声、也不平滑且边缘之间互不相连的测试图像上,那么就可以得到一个完善的边缘集(没有假边缘和丢失边缘)这种集合可以作为用于比较的标准集现在考虑一组边缘,该组边缘是从具有加性噪

38、声图像或其它导致产生假边缘的扭曲图像中获取的在欧基里德距离判据的基础上,将图像中的边缘和标准集中的边缘一对一地进行匹配离标准集中边缘太远的边缘是假边缘,与标准集中某一边缘非常接近的边缘是真边缘经过这一步骤,标准集中没有与之相匹配的边缘是在试验条件下丢失的边缘测试边缘检测器的上述步骤仅仅根据边缘存在与否来评价其性能,没有说明边缘定位和方位估计的精度标准集中的正确边缘(前面所计算的)与原始试验图像中边缘的位置和方位进行比较,需要测试模型是可得到的对实心矩形来说,线段模型构成了它的各个边边缘位置和方位必须用场景轮廓的数学模型来比较边缘位置能与沿轮廓的任意点相对应,但与轮廓上最近的点才是对应点边缘点与

39、对应点间的距离是可以计算的对一个线段,用64节中的公式从错误定位直方图中估计错误分布,或列表计算样本方差(其中的n为边缘点数)来估算偏差通过比较边缘段最近点的方位和场景轮廓标准曲线方位来计算方位误差682品质因数 判断边缘检测器性能的方法是先看边缘图像,再评价其性能 但这并不能给出性能的客观指标为定量地评价不同边缘检测器的性能,应该建立在可控条件下判断相关性的指标下面看一下边缘检测器响应中的三种主要误差:1. 丢失有效的边缘,2. 边缘定位误差,3. 将噪声判断为边缘 边缘检测器的品质因数(Figure of Merit, FM)应该考虑上述三个误差下面是一种品质因数公式,称为Pratt品质因

40、数Pratt 1991: (643)其中,d和分别是检测到的边缘、理想边缘、实际边缘与理想边缘间的距离和用于惩罚错位边缘的设计常数 注意,由于这种品质因数包括了丢失边缘点、边缘点位置和错误边缘点,因此它只能用于有限的几类图像我们可以构造一些在已知位置上的对比度得到控制的物体,然后使用上述品质因数公式通过引入随机噪声来评价合成图像的性能是一种非常实用方法信噪比随品质因数的变化曲线表示检测器性能的退化程度69 线条检测本章仅仅讨论了如何检测图像中的阶跃边缘线条也是图像中非常重要的特征一条线段可以用非常靠近但极性相反的两个边缘来建模,其中两个边缘之间的距离比平滑滤波器的宽度要窄 边缘检测滤波器是用来

41、响应阶跃边缘的,对线条不能产生任何有意义的响应因此,必须使用单独的算法来检测线条,而且该算法对阶跃边缘不产生任何有意义的响应如何将边缘检测算法和线条检测算法组合在一个系统里是机器视觉领域中的一个突出问题 线条可以用Canny修正算法来检测,即在平滑图像上而不是在梯度幅值图像上进行非极大值抑制线条是阶跃边缘的一阶导数,因此,在Canny算法中,不必进行一阶导数计算思考题5.1 什么是边缘?它与物体的边界有什么关系?与区域的边界有何关系?5.2 怎样给图像中的边缘建模?哪一种是边缘检测中最常用的模型?为什么?5.3 写出边缘检测的所有步骤在进行边缘检测时,是否可以省略一步或几步?为什么?5.4 为

42、什么拉普拉斯算法不是一类好的边缘检测算法?5.5 描述一下高斯拉普拉斯边缘检测器考虑一下边缘检测的不同步骤,指出拉普拉斯算法为什么不是一类好的算法,而高斯拉普拉斯算法却是比较好的算法?5.6 在LoG算法中你怎样选择合适的尺度?在选择时应考虑些什么因素?能否在算法中使用自动选择尺度技术,为什么?5.7 图像的小平面模型是什么?怎样用它来进行边缘检测?对区域能用这种模式吗?5.8 怎样实现边缘在子像素分辨率水平上定位?考虑一下梯度、拉普拉斯、小平面模型下的子象素分辨率水平下的边缘定位估计5.9 假定一幅图像用nn高斯滤波器平滑,在平滑时,矩形滤波窗在图像上移过在窗函数左上角位置i,j处的点用平滑值取代平滑之后,梯度幅值用61节中的逼近式计算当22算子移过平滑图像时,在窗左上角位置i,j处的点用梯度幅值取代边缘检测之后,每一边缘点的位置计算到子像素分辨率水平在原始(未平滑)图像坐标系统中,边缘位置在何处?计算机练习题5.1 应用Roberts、Sobel和 Prewitt算子测试不同的图像(1)在预期的位置得到了边缘吗?(2)人工确定几条边缘段并做上记号,比较一下程序中给出的边缘段位置与人工标出的位置,改变检测阶跃的阈值并观察结果5.2 将canny边缘检测器作用于上题所用的图象,比较Canny算子与Sobel算子的性能专心-专注-专业

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!