《边缘检测》word版Word文档下载推荐.docx
- 文档编号:18502880
- 上传时间:2022-12-18
- 格式:DOCX
- 页数:31
- 大小:560.49KB
《边缘检测》word版Word文档下载推荐.docx
《《边缘检测》word版Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《《边缘检测》word版Word文档下载推荐.docx(31页珍藏版)》请在冰豆网上搜索。
真边缘集和假边缘集.真边缘集对应场景中的边缘,假边缘集不是场景中的边缘.还有一个边缘子集,即场景中漏检的边缘集.假边缘集称之为假阳性(falsePositive),而漏掉的边缘集则称之为假阴性(falseNegative).
边缘连接和边缘跟踪之间的区别在于:
边缘连接是把边缘检测器产生的无序边缘集作为输入,输出一个有序边缘集;
边缘跟踪则是将一幅图像作为输入,输出一个有序边缘集.另外,边缘检测使用局部信息来决定边缘,而边缘跟踪使用整个图像信息来决定一个像素点是不是边缘.
6.1梯度
边缘检测是检测图像局部显著变化的最基本运算.在一维情况下,阶跃边缘同图像的一阶导数局部峰值有关.梯度是函数变化的一种度量,而一幅图像可以看作是图像强度连续函数的取样点阵列.因此,同一维情况类似,图像灰度值的显著变化可用梯度的离散逼近函数来检测.梯度是一阶导数的二维等效式,定义为向量
(6.1)
有两个重要的性质与梯度有关:
(1)向量
的方向就是函数
增大时的最大变化率方向;
(2)梯度的幅值由下式给出:
(6.2)
在实际应用中,通常用绝对值来近似梯度幅值:
(6.3)
或
(6.4)
由向量分析可知,梯度的方向定义为
(6.5)
其中
角是相对
轴的角度.
注意梯度的幅值实际上与边缘的方向无关,这样的算子称为各向同性算子(isotropicoperators)
.
对于数字图像,方程6.1的导数可用差分来近似.最简单的梯度近似表达式为
(6.6)
请注意
对应于
轴方向,而
对应于负
轴方向.这些计算可用下面的简单卷积模板来完成
(6.7)
在计算梯度时,计算空间同一位置
和
处的真实偏导数是至关重要的.然而采用上面公式计算的梯度近似值
并不位于同一位置,
实际上是内插点
处的梯度近似值,
是内插点
处的梯度近似值.由于这个缘故,人们常常使用
一阶差分模板(而不用
或
模板)来求
的偏导数:
(6.8)
用上式计算
和
方向梯度的位置是相同的,这一点位于内插点
处,即在
邻域的所有四个像素点之间.不过这种计算可能会导致一些混淆,所以,通常用
邻域计算梯度值.这一方法将在下一节讨论.
6.2边缘检测算法
边缘检测算法有如下四个步骤:
滤波:
边缘检测算法主要是基于图像强度的一阶和二阶导数,但导数的计算对噪声很敏感,因此必须使用滤波器来改善与噪声有关的边缘检测器的性能.需要指出,大多数滤波器在降低噪声的同时也导致了边缘强度的损失,因此,增强边缘和降低噪声之间需要折衷.
增强:
增强边缘的基础是确定图像各点邻域强度的变化值.增强算法可以将邻域(或局部)强度值有显著变化的点突显出来.边缘增强一般是通过计算梯度幅值来完成的.
检测:
在图像中有许多点的梯度幅值比较大,而这些点在特定的应用领域中并不都是边缘,所以应该用某种方法来确定哪些点是边缘点.最简单的边缘检测判据是梯度幅值阈值判据.
定位:
如果某一应用场合要求确定边缘位置,则边缘的位置可在子像素分辨率上来估计,边缘的方位也可以被估计出来.
在边缘检测算法中,前三个步骤用得十分普遍。
这是因为大多数场合下,仅仅需要边缘检测器指出边缘出现在图像某一像素点的附近,而没有必要指出边缘的精确位置或方向.边缘检测误差通常是指边缘误分类误差,即把假边缘判别成边缘而保留,而把真边缘判别成假边缘而去掉.边缘估计误差是用概率统计模型来描述边缘的位置和方向误差的.我们将边缘检测误差和边缘估计误差区分开,是因为它们的计算方法完全不同,其误差模型也完全不同.
最近的二十年里发展了许多边缘检测器,这里仅讨论常用的几种边缘检测器.
6.2.1Roberts算子
Roberts交叉算子为梯度幅值计算提供了一种简单的近似方法:
(6.9)
用卷积模板,上式变成:
(6.10)
由下面的模板计算:
(6.11)
同前面的
梯度算子一样,差分值将在内插点
处计算.Roberts算子是该点连续梯度的近似值,而不是所预期的点
处的近似值.Roberts边缘检测器的试验结果见图6.3.
6.2.2Sobel算子
正如前面所讲,采用
邻域可以避免在像素之间内插点上计算梯度.考虑一下图6.2中所示的点
周围点的排列.Sobel算子也是一种梯度幅值,
(6.12)
其中的偏导数用下式计算:
(6.13)
其中常数
和其他的梯度算子一样,
可用卷积模板来实现:
(6.14)
请注意这一算子把重点放在接近于模板中心的像素点.图6.3和图6.4表明了这一算子的作用.Sobel算子是边缘检测器中最常用的算子之一.
图6.2用于说明Sobel算子和Prewitt算子的邻域像素点标记
6.2.3Prewitt算子
Prewitt算子与Sobel算子的方程完全一样,只是常量c=1.所以
(6.15)
请注意,与Sobel算子不同,这一算子没有把重点放在接近模板中心的像素点.这种边缘检测器的性能也示意在图6.3和图6.4中.
6.2.4各种算法比较
现在来比较一下上面讨论过的边缘检测器.我们将按照本节开头所提出的滤波、增强和检测这三个步骤,来比较各种方法.第四步定位将不讨论.首先给出在忽略滤波步骤情况下Roberts、Sobel和Prewitt边缘检测方法实验结果,如图6.3所示.对滤波后的图象进行边缘检测的结果见图6.4,其中滤波器为前一章介绍的
高斯滤波器,梯度幅值的计算见方程6.3.比较图6.3和图6.4可以发现,由于噪声影响,一些假边缘也被检测出来了.
图6.2用于边缘检测的测试图像
(a)原始图像(b)7x7高斯滤波的图像
图6.3各种边缘检测器对未经滤波的图像(a)进行边缘检测的比较.
(c)Roberts交叉算子.(d)Sobel算子.(e)Prewitt算子.
图6.4各种边缘检测器对滤波后的图像(图6.3(b))进行边缘检测的结果.
(a)Roberts交叉算子.(b)Sobel算子.(c)Prewitt算子
6.3二阶微分算子
前面讨论了计算一阶导数的边缘检测器,如果所求的一阶导数高于某一阈值,则确定该点为边缘点.这样做会导致检测的边缘点太多(注意一下图6.3和图6.4中阈值化后的粗线).一种更好的方法就是求梯度局部最大值对应的点,并认定它们是边缘点,如图6.5所示.在图6.5中,若用阈值来进行边缘检测,则在a和b之间的所有点都被记为边缘点.但通过去除一阶导数中的非局部最大值,可以检测出更精确的边缘.一阶导数的局部最大值对应着二阶导数的零交点这意味着在边缘点处有一阶导数的峰值,同样地,有二阶导数的零交叉点.这样,通过找图像强度的二阶导数的零交叉点就能找到边缘点.
在二维空间,对应二阶导数有两种算子:
拉普拉斯算子和二阶方向导数.
图6.5用阈值进行边缘检测和用二阶导数的零交点进行边缘检测示意图.
6.3.1 拉普拉斯算子
平滑过的阶跃边缘二阶导数是一个在边缘点处过零的函数(见图6.5).拉普拉斯算子是二阶导数的二维等效式.函数
的拉普拉斯算子公式为
(6.16)
使用差分方程对
方向上的二阶偏导数近似如下:
(6.17)
这一近似式是以点
为中心的.用
替换
,得到
(6.18)
它是以点
为中心的二阶偏导数的理想近似式,类似地,
(6.19)
把这两个式子合并为一个算子,就成为下面能用来近似拉普拉斯算子的模板:
(6.20)
有时希望邻域中心点具有更大的权值,比如下面的模板就是一种基于这种思想的近似拉普拉斯算子:
(6.21)
当拉普拉斯算子输出出现过零点时就表明有边缘存在,其中忽略无意义的过零点(均匀零区).原则上,过零点的位置精度可以通过线性内插方法精确到子像素分辨率,不过由于噪声,结果可能不会很精确.
考虑图6.6中所给的例子.图中表明了对一幅具有简单阶跃边缘的图像进行拉普拉斯运算的结果.输出图像中的一行是:
6
-6
在本例中,对应于原始图像边缘的零交叉点位于两个中心像素点之间.因此,边缘可以用其左边的像素或右边的像素来标记,但整幅图像的标记必须一致.在多数情况下,零交叉点很少恰好在两像素点中间,因此边缘的实际位置要通过内插值来确定.
一幅包含垂直阶跃边缘的图像
0006-6000
图6.6垂直方向的阶跃边缘拉普拉斯响应
现在考虑一下图6.7所示的例子.该图给出了拉普拉斯算法对斜坡边缘的响应,其中的一行输出是
3
-3
零交叉点直接对应着图像中的一个像素点.再者,这是一种理想情况,边缘的实际位置仍要通过内插方法来确定.
一幅包含垂直斜坡边缘的图像
00030-300
图6.7 垂直方向的斜坡边缘拉普拉斯响应
6.3.2二阶方向导数
已知图像曲面
,其
(与y轴夹角)方向的方向导数在
点的值为
(6.22)
二阶方向导数为,该算子由下式来实现:
(6.23)
根据式(6.5),在梯度方向上的二阶导数为
(6.24)
拉普拉斯的二阶方向导数算子在机器视觉中并不常用,因为任何包含有二阶导数的算子比只包含有一阶导数的算子更易受噪声的影响.甚至一阶导数很小的局部峰值也能导致二阶导数过零点.为了避免噪声的影响,必须采用特别有效的滤波方法.在下一节,我们将讨论高斯滤波与二阶导数相结合的边缘检测方法.
6.4 LoG算法
正如上面所提到的,利用图像强度二阶导数的零交叉点来求边缘点的算法对噪声十分敏感,所以,希望在边缘增强前滤除噪声.为此,Marr和Hildreth[146]将高斯滤波和拉普拉斯边缘检测结合在一起,形成LoG(LaplacianofGaussian,LoG)算法,也称之为拉普拉斯高斯算法.LoG边缘检测器的基本特征是:
1.平滑滤波器是高斯滤波器.
2.增强步骤采用二阶导数(二维拉普拉斯函数).
3.边缘检测判据是二阶导数零交叉点并对应一阶导数的较大峰值.
4.使用线性内插方法在子像素分辨率水平上估计边缘的位置.
这种方法的特点是图像首先与高斯滤波器进行卷积(高斯滤波器在6.6节中将详细讨论),这一步既平滑了图像又降低了噪声,孤立的噪声点和较小的结构组织将被滤除.由于平滑会导致边缘的延展,因此边缘检测器只考虑那些具有局部梯度最大值的点为边缘点.这一点可以用二阶导数的零交叉点来实现.拉普拉斯函数用作二维二阶导数的近似,是因为它是一种无方向算子.为了避免检测出非显著边缘,应选择一阶导数大于某一阈值的零交叉点作为边缘点.
LoG算子的输出
是通过卷积运算得到的:
(6.25)
根据卷积求导法有
(6.26)
其中:
(6.27)
称之为墨西哥草帽算子(见图6.8).这样,下面两种方法在数学上是等价的:
1.求图像与高斯滤波器卷积,再求卷积的拉普拉斯变换.
2.求高斯滤波器的拉普拉斯变换,再求与图像的卷积.
图6.8一维和二维高斯函数的拉普拉斯变换图的翻转图,其中
=2.
如果采用第一种方法,就可能用到5.4介绍的高斯平滑滤波器.直接实现LoG算法的典型模板见图6.9.图6.10给出了应用LoG算子和零交叉点检测的结果.有关讨论实现LoG算法的有效方法,请参见文献[Huertas1986].
滤波(通常是平滑)、增强、检测这三个边缘检测步骤对使用LoG边缘检测仍然成立,其中平滑是用高斯滤波器来完成的;
增强是将边缘转换成零交叉点来实现的;
边缘检测则是通过检测零交叉点来进行的.
可以看到,零交叉点的斜率依赖于图像强度在穿过边缘时的变化对比度.剩下的问题是把那些由不同尺度算子检测到的边缘组合起来.在上述方法中,边缘是在特定的分辨下得到的.为了从图像中得到真正的边缘,有必要把那些通过不同尺度算子得到的信息组合起来.
图6.9
拉普拉斯高斯模板
图6.10拉普拉斯高斯边缘检测结果.
这里介绍一下尺度空间概念.高斯平滑运算导致图像中边缘和其它尖锐不连续部分的模糊,其中模糊量取决于
的值.
值越大,噪声滤波效果越好,但同时也丢失了重要的边缘信息,影响了边缘检测器的性能.如果用小尺度的滤波器,又有可能平滑不完全而留有太多的的噪声.大尺度滤波器在平滑相互邻近的两个边缘时,可能会将它们连在一起,这样只能检测出一个边缘.因此,在不知道物体尺度和位置的情况下,很难准确确定滤波器的尺度.
使用多尺度滤波模板并在滤波器的不同尺度上分析边缘特性的方法仍在研究中.这些方法的基本思想是,通过使用大尺度滤波模板产生鲁棒边缘和小尺度滤波模板产生精确定位边缘的特性,来检测出图像的最价边缘.
6.5图像逼近
一幅图像是一个连续函数的采样阵列.有关图像的大多数思想首先在连续域内进行讨论,然后使用离散逼近法来计算所需要的性质.如果我们能从采样图像中估计连续函数,那么我们就能从估计的函数中求得图像性质,并且可以在子像素分辨率上计算边缘的位置.
图6.11为一幅数字图像对应的离散三维图形表示,其中的纵坐标表示像素灰度值.设连续图像函数为:
(6.28)
现在的任务是从数字图像的灰度值重构连续函数.对复杂的图像来说,连续强度函数可能包含
的超阶幂方,从而使得重构原始函数十分困难,因此,我们将采用简单的分段函数来建立图像的模型.这样,任务就变成了重构每一个分段解析函数,或小面(Facets)。
换言之,就是试图找到在每一像素点的邻域内最能逼近该邻域强度值的简单函数,如图6.12所示.这种逼近叫小面模型(Facetmodel)[Haralick1984].图6.13给出了采用
邻域的小面模型坐标系统.
连续图像强度函数可以在每一个像素点上得到局部逼近.对一幅
的图像,你能得到
个逼近函数,每一个函数仅对图像中一个特定像素有效.使用这些函数(而不是像素值)来确定边缘位置.
图6.11连续图像强度函数的图形表示[Jain1995]
图6.12
邻域逼近函数示意图
图6.13用
窗函数的小面模型坐标系统例子.注意像素点
位于邻域的中心.
许多复杂解析函数可用来逼近图像强度.对于简单的图像,分段常量或分段双变量线性函数是强度函数的较好逼近.但对具有更复杂区域的图像,要用到二次、三次甚至更高次幂的函数.本例用下列三次多项式建立图像邻域模型:
(6.29)
是相对于要逼近的图像平面中心点
的坐标.
现在的目标是计算方程(6.29)中逼近函数的系数
.可用最小二乘法通过奇异值分解(Singular-ValueDecomposition,SVD)来计算系数
,或者使用
邻域,用图6.14中所示的模板来直接计算三次逼近函数的系数[Haralick1993].
边缘点出现在像素点邻域逼近函数一阶方向导数局部极值的位置,基于这一事实可以进行边缘检测.一阶导数的局部极值的存在会在一阶导数方向上产生二阶导数的零交叉点.
在方向
上的一阶导数和二阶导数计算公式见(6.22)和(6.23).
由于图像局部强度是由三次多项式来近似的,角θ可以被选作为逼近平面的方位角:
(6.30)
根据式(6.23)在点
处方向
上的二阶方向导数为
(6.31)
由于只考虑方向角为
的直线上的点,则
,
,将它们代入上式有
(6.32)
如果对某一
,有
,则在图像中点
处存在边缘点.其中
是像素边长,
(6.33)
(6.34)
换言之,如果边缘位置落入像素点的边界之内,则将此边缘点标记为边缘点.若点位于像素点的边界之外,就不能标记为边缘点.用小面模型边缘检测器获得的边缘运算结果见图6.15.
图6.14计算三次方逼近函数系数的模板[Haralick1993].
图6.15用小面模型边缘检测器获得的边缘,其中(a)是原始灰度图像[Jain1995].
6.6Canny边缘检测器
检测阶跃边缘的基本思想是在图像中找出具有局部最大梯度幅值的像素点.检测阶跃边缘的大部分工作集中在寻找能够用于实际图像的梯度数字逼近.由于实际的图像经过了摄像机光学系统和电路系统(带宽限制)固有的低通滤波器的平滑,因此,图像中的阶跃边缘不是十分陡立.图像也受到摄像机噪声和场景中不希望的细节的干扰.图像梯度逼近必须满足两个要求:
(1)逼近必须能够抑制噪声效应,
(2)必须尽量精确地确定边缘的位置.抑制噪声和边缘精确定位是无法同时得到满足的,也就是说,边缘检测算法通过图像平滑算子去除了噪声,但却增加了边缘定位的不确定性;
反过来,若提高边缘检测算子对边缘的敏感性,同时也提高了对噪声的敏感性.有一种线性算子可以在抗噪声干扰和精确定位之间提供最佳折衷方案,它就是高斯函数的一阶导数,对应于图像的高斯函数平滑和梯度计算.梯度的数值逼近可用6.1节中列出的
方向上的一阶偏导的有限差分来表示.高斯平滑和梯度逼近相结合的算子不是旋转对称的.这种算子在边缘方向上是对称的,在垂直边缘的方向上是反对称的(沿梯度方向).这也意味着该算子对最急剧变化方向上的边缘特别敏感,但在沿边缘这一方向上是不敏感的,其作用就象一个平滑算子.
Canny边缘检测器是高斯函数的一阶导数,是对信噪比与定位之乘积的最优化逼近算子[Canny1986].我们将通过下面的符号对Canny边缘检测器算法作一概括说明.用
表示图像.使用可分离滤波方法求图像与高斯平滑滤波器卷积,得到的结果是一个已平滑数据阵列
,(6.36)
是高斯函数的散布参数,它控制着平滑程度.
已平滑数据阵列
的梯度可以使用
一阶有限差分近似式(见6.1节)来计算
与
偏导数的两个阵列
:
(6.37)
在这个
正方形内求有限差分的均值,以便在图像中的同一点计算x和y的偏导数梯度.幅值和方位角可用直角坐标到极坐标的坐标转化公式来计算:
(6.38)
(6.39)
其中,反正切函数包含了两个参量,它表示一个角度,其取值范围是整个圆周范围内.为高效率地计算这些函数,尽量不用浮点运算.梯度的幅度和方向也可以通过查找表由偏导数计算.反正切函数的大多数计算使用的是定点运算,很少的几个计算是基本浮点运算,其中的浮点运算是由整数和定点算术通过软件实现的.Sedgewick[Sedgewick1988]给出了一种对大多数应用都足够好的梯度角近似算法.
(1)非极大值抑制
幅值图像阵列
的值越大,其对应的图像梯度值也越大,但这还不足以确定边缘,因为这里仅仅把图像快速变化的问题转化成求幅值阵列
的局部最大值问题.为确定边缘,必须细化幅值图像中的屋脊带(Ridge),即只保留幅值局部变化最大的点.这一过程叫非极大值抑制(Non-MaximaSuppression,NMS),它会生成细化的边缘.
非极大值抑制通过抑制梯度线上所有非屋脊峰值的幅值来细化
中的梯度幅值屋脊.这一算法首先将梯度角
的变化范围减小到圆周的四个扇区之一,如图6.16所示,
(6.40)
四个扇区的标号为0到3,对应着
邻域内元素的四种可能组合,任何通过邻域中心的点必通过其中一个扇区.梯度线可能方向的圆周分区用度来标记.该算法使用一个
邻域作用于幅值阵列
的所有点.在每一点上,邻域的中心像素
与沿着梯度线的两个元素进行比较,其中梯度线是由邻域的中心点处的扇区值
给出的.如果在邻域中心点处的幅值
不比沿梯度线方向上的两个相邻点幅值大,则
赋值为零.这一过程可以把
宽屋脊带细化成只有一个像素点宽.在非极大值抑制过程中,保留了屋脊的高度值.
设
(6.41)
表示非极大值抑制过程.
中的非零值对应着图像强度阶跃变化处的对比度.尽管在边缘检测的第一步对图像进行了平滑,但非极大值抑制幅值图像
仍会包含许多由噪声和细纹理引起的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 边缘检测 边缘 检测 word