边缘检测.docx
《边缘检测.docx》由会员分享,可在线阅读,更多相关《边缘检测.docx(12页珍藏版)》请在冰豆网上搜索。
![边缘检测.docx](https://file1.bdocx.com/fileroot1/2023-1/9/1f8464be-e4fc-4815-b2cd-255667e2d7bb/1f8464be-e4fc-4815-b2cd-255667e2d7bb1.gif)
边缘检测
图像边缘检测方法概述
摘要:
图像的边缘是图像最基本也是最重要的特征之一。
边缘检测一直是计算机视觉和图像处理领域的经典研究课题之一。
图像分析和理解的第一步常常是边缘检测。
边缘检测的目的是去发现图像中关于形状和反射或透射比的信息,是图像处理、图像分析、模式识别、计算机视觉以及人类视觉的基本步骤之一。
本文在给出图像边缘定义的基础上,主要阐述了经典微分、基于小波与分形理论和基于形态学等多种图像边缘检测方法,分析了它们的机理及其优势与缺陷。
并对边缘检测算法的研究方向进行了展望。
关键词:
边缘;边缘检测
SummaryofImageEdgeDetectionAlgorithm
Abstract:
Edgeisoneofthemostfundamentalandsignificantfeatures.Edgedetectionisalwaysoneofthemostclassicalstudyingprojectsofcomputervisionandimageprocessingfield.Thefiststepofimageanalysisandunderstandingisedgedetection.Thegoalofedgedetectionistorecoverinformationaboutshapesandreflectanceortransmittanceinanimage.Itisoneofthefundamentalstepsinimageprocessing,imageanalysis,imagepatternrecognition,andcomputervision,aswellasinhumanvision.Basedonthedefinitionofedge,thispapermainlydescribesthemethodsofedgedetectionsuchastheclassicaldifferentialalgorithm,methodsbasedonwaveletandthetheoryoffractal,andmethodsbasedonmorphology.Thentheirmechanismandadvantagesanddrawbacksareanalyzed.Intheend,theresearchdirectionofedgedictionalgorithmisprospected.
Keywords:
edge;edgedetection
1引言
图像边缘检测是图像处理与分析中最基础的内容之一,也是至今没有得到圆满解决的一类问题。
成象过程中的投影、混合、畸变和噪声等导致图像特征的模糊和变形,从而造成图像特征提取的困难.边缘当然也由于上述成象中的各种原因而难于检测。
机器视觉主要是利用计算机实现人类的视觉功能,对客观世界的三维场景的感知、识别和理解。
边缘是图像的最基本特征,边缘检测通常是机器视觉系统处理图像的第一个阶段,是机器视觉领域内经典的研究课题之一,其结果的正确性和可靠性将直接影响到机器视觉系统对客观世界的理解。
图像边缘检测作为视觉的一个早期阶段,有着很长的研究历史,新理论、新方法不断涌现。
这一方面说明该研究方向本身的重要性,另一方面也反映出了它的深度与难度。
本文在对各种图像边缘检测进行了回顾的基础上,分析讨论了各种图像边缘检测方法中的优势与缺陷。
2图像边缘定义
边缘是图像最基本的特征。
边缘检测在计算机视觉、图像分析等应用中起着重要的作用,是图像分析与识别的重要环节。
这是因为图像的边缘包含了用于识别的有用信息,所以边缘检测是图像分析和模式识别的主要特征提取手段。
所谓边缘,是指其周围像素灰度后阶变化或屋顶状变化的那些像素的集合,它存在于目标与背景、目标与目标、区域与区域,基元与基元之间。
因此,它是图像分割所依赖的重要的特征,也是纹理特征的重要信息源和形状特征的基础;而图像的纹理形状特征的提取又常常依赖于图像分割。
图像的边缘提取也是图像匹配的基础,因为它是位置的标志,对灰度的变化不敏感,它可作为匹配的特征点。
图像的其他特征都是由边缘和区域这些基本特征推导出来的。
边缘具有方向和幅度两个特征。
沿边缘走向,像素变化比较平缓;而垂直于边缘走向,像素变化比较剧烈,而这种剧烈可能呈现阶跃状,也可能呈现斜坡状。
边缘上的这种变化可以用微分算子检测出来,通常用一阶或二阶导数来检测边缘。
不同的是,一阶导数认为最大值对应边缘位置,而二阶导数则以过零点对应边缘位置。
3边缘检测步骤及要求
3.1边缘检测的步骤
(1)图像滤波
边缘检测算法主要是基于图像亮度的一阶和二阶导数,但是导数的计算对噪声很敏感,因此必须使用滤波器来改善与噪声有关的边缘检测器的性能。
(2)图像增强
增强边缘的基础是确定图像各点邻域强度的变化值。
增强算法可以将邻域强度值有显著变化的点突出显示。
(3)图像检测
在图像中有许多点的梯度幅值比较大,而这些点在特定的应用领域中并不都是边缘,应该用某些方法来确定那些是边缘点。
最简单的边缘检测判据是梯度幅值阈值判据。
(4)图像定位
如果某一应用场合要求确定边缘位置,则边缘的位置可以在子像素分辨率上来估计,边缘的方位也可以被估计出来。
3.2边缘检测要求
对于图像的边缘检测来说,一般在识别过程中有如下的要求:
(1)首先能够正确的检测出有效的边缘;
(2)边缘定位的精度要高;
(3)检测的响应最好是单像素的;
(4)对于不同尺度的边缘都能有较好的响应并尽量减少漏检;
(5)对噪声应该不敏感;
(6)检测的灵敏度受边缘方向影响应该小。
这些要求往往都很矛盾,很难在一个边缘检测器中得到完全的统一。
判断边缘检测器性能的方法是先看边缘图像,再评价其性能,边缘检测器的响应中主要有三种误差:
丢失的有效边缘、边缘定位误差和将噪声误判断为边缘。
4微分边缘检测算子
边缘检测的实质是采用某种算法来提取出图像中的对象与背景间的交界线。
图像灰度的变化情况可以用图像灰度分布的梯度来反映,因此我们可以利用局部图像微分技术获得边缘检测算子。
经典的边缘检测方法是对原始图像中像素的某小邻域来构造边缘检测算子。
以下是对几种经典算子的理论介绍以及各自性能特点的比较与评价。
4.1基于梯度的边缘检测
梯度对应一阶导数,梯度算子就是一阶导数算子。
在边缘灰度值过渡比较尖锐,且在图像噪声比较小时,梯度算子工作的效果较好,而且对施加的运算方向不予考虑。
对于一个连续图像函数f(x,y),其梯度可表示为一个矢量
(1)
这个矢量的幅度和方向角分别为
(2)
(3)
以上各式的偏导数需对每个像素的位置计算,在实际中常用小区域模板进行卷积来近似计算。
对
和
各用一个模板,,将两个结合起来就构成一个梯度算子。
根据模板的大小和元素值的不同,已提出许多不同的算子,常见的有Roberts边缘检测以算子、Sobel边缘检测算子、Prewitt边缘检测算子、Robinson边缘检测算子等。
4.1.1Roberts边缘算子
Roberts边缘检测算子是根据任意一对互相垂直方向上的差分可用来计算梯度的原理,采用对角线方向相邻像素之差
(4)
(5)
(6)
对图像f(x,y)求Roberts梯度为
(7)
式中(u,v)为点(x,y)的四邻域。
或用差分近似为
(8)
它的两个2*2卷积模板见图1,有了这两个卷积算子就可以计算出Roberts梯度幅值R(i,j),再取适当门限TH,如R(i,j)≥TH则为阶跃边缘点。
图1Roberts边缘算子
Roberts边缘检测算子采用对角线方向相邻像素之差近似检测边缘,定位精度高,在水平和垂直方向效果较好,但对噪声敏感。
4.1.2Sobel边缘检测算子
将图像中的每个像素的上、下、左、右四邻域的灰度值加权差,与之接近的邻域的权最大。
因此,Sobel算子定义如下
(9)
(10)
那么,利用图2所示的两个核做卷积,一个核对通常的垂直边缘影响最大,而另一个核对水平边缘影响最大,两个卷积的最大值都作为像素点的输出值,运算结果就是一幅边缘图像。
适当取门限TH,如果R(i,j)≥TH则为阶跃边缘点。
Sobel算子利用像素的上、下、左、右邻域的灰度加权算法,根据在边缘点处达到极值这一原理进行边缘检测。
该方法不但产生较好的检测效果,而且对噪声具有平滑作用,可以提供较为精确的边缘方向信息。
但是,在抗噪声好的同时增加了计算量,而且也会检测伪边缘,定位精度不高。
如果检测中对精度的要求不高,该方法较为常用。
图2Sobel边缘算子
4.1.3Prewitt边缘检测算子
Prewitt边缘算子是一种边缘样板算子。
样板算子由理想的边缘子图像构成,依次用边缘样板去检测图像,与被检测区域最为相似的样板给出最大值,用这个最大值作为算子的输出。
(11)
(12)
由图3所示的两个卷积算子形成了Prewitt边缘算子,与使用Sobel边缘算子的方法一样,图像中每个像素都用这两个核做卷积,取最大值作为输出,运算结果就是一幅边缘图像。
适当取门限TH,如果R(i,j)≥TH则为阶跃边缘点。
图3Prewitt边缘算子
Robinson边缘算子也是一种边缘样板算子,其算法和Prewitt边缘算子相似,只是边缘样板不同。
4.2Laplacian边缘算子
Laplacian算子是二阶微分算子,它具有旋转不变性,即各向同性的性质。
表达公式为
(13)
在数字图像中可用数字差分近似为
(14)
数字图像函数的拉普拉斯算法也是借助各种模板卷积实现的。
这里对模板的基本要求是对应中心像素的系数应是正的,而对应中心像素临近像素的系数应是负的,且所有系数的和应该是零,这样不会产生灰度偏移,实现拉普拉斯运算的几种模板见图4。
图4Laplacian边缘算子
拉普拉斯边缘算子的缺点是:
由于为二阶差分,双倍加强了噪声的影响;另外它产生双像素宽的边缘,且不能提供边缘方向的信息,因此,拉普拉斯算子很少直接用于边缘检测,而主要用于已知边缘像素,确定该像素是在图像的暗区还是在明区。
其优点是各向同性,不但可以检测出绝大部分边缘,同时基本没有出现伪边缘,可以精确定位边缘。
4.3LOG边缘检测算子
因为Laplacian算子是二阶导数算子,所以对噪声很敏感,一般先进行平滑滤波,再进行二阶微分。
常用的平滑函数为高斯函数,高斯平滑滤波器对去除正态分布的噪声是很有效的。
二维高斯函数如下所示:
(15)
其中,
为高斯分布的标准方差,它决定了高斯滤波器的宽度,用该函数对图像进行平滑滤波,结果为:
(16)
其中,
为卷积符号,图像平滑后再用拉普拉斯算子,结果为:
(17)
其中,平滑和微分合并后的算子
(18)
成为高斯-拉普拉斯算子(LaplacianofGaussian,LOG),这种边缘检测方法也成为Marr边缘检测方法。
4.4Canny边缘检测算子
Canny算子的基本思想是先将图像使用高斯函数Gauss进行平滑,再由一阶微分的极大值确定边缘点。
二阶微分的零交叉点不仅对应着一阶导数的极大值,而且也对应着一阶导数的极小值。
换句话说,图像中灰度变化剧烈的点与变化缓慢的点都对应着二阶导数零交叉点。
因此,Canny算子可能会引入伪边缘点。
其定义为:
对图像f(x,y)进行高斯函数滤波后得到f(x,y)*
,其中a为相应的尺度因子。
计算其梯度矢量的模
和方向
为
(19)
(20)
图像的边缘点即为在
方向上使
取得局部极大值的点。
4.5小结
在边缘检测中,边缘定位能力和噪声抑制能力是一对矛盾体,有的算法边缘定位能力比较强,有的抗噪声能力比较好。
边缘检测算子参数的选择也直接影响到边缘定位能力和噪声抑制能力,每种算子都有各自的优缺点:
1)Roberts算子。
Roberts算子利用局部差分算子寻找边缘,边缘定位精度较高,但容易丢失一部分边缘,同时由于图像没有经过平滑处理,因此不具备抑制噪声能力。
该算子对具有陡峭边缘且含有噪声少的图像效果较好。
2)Sobel算子和Prewitt算子。
都是对图像先做加权平滑处理,然后再做微分运算,所不同的是平滑部分的权值有些差异,因此对噪声具有一定的抑制能力,但不能完全排除检测结果中出现虚假边缘。
虽然这两个算子边缘定位效果不错,但检测出的边缘容易出现多像素宽度,适用于灰度渐变和噪声较多的图像。
3)Laplacian算子。
它是不依赖于边缘方向的二阶微分算子,对图像中的阶跃型边缘点定位准确,该算子对噪声非常敏感,它使噪声成分得到加强,这两个特性使得该算子容易丢失一部分边缘的方向信息,造成一些不连续的检测边缘,同时抗噪声能力比较差。
4)LOG算子。
该算子首先用高斯函数对图像作平滑滤波处理,然后才使用Laplacian算子检测边缘,因此克服了Laplacian算子抗噪声能力比较差的缺点,但在抑制噪声的同时也可能将原有的比较尖锐的边缘也平滑掉了,造成这些尖锐边缘无法被检测到。
Gauss函数的方差直接影响到边缘检测的结果。
越大,同频带越窄,对较高频率噪声的抑制作用越大,避免了虚假边缘的检出,但同时信号的边缘也被平滑了,造成某些边缘点的丢失。
反之,
越小,同频带越宽,可以检测到图像的更高频率的细节,但对噪声的抑制能力相对下降,容易出现虚假边缘。
因此,在应用中,为取得更佳的效果应该对不同图像选择不同的参数。
5)Canny算子。
它是一阶算子,其方法的实质是用一个准高斯函数作平滑运算,然后以带方向的一阶微分算子定位导数最大值,它可用高斯函数的梯度来近似,在理论上很接近4个指数函数的线性组合形成的最佳边缘算子,在实际工作应用中编程较为复杂,且运算偏慢。
它是一阶传统微分中检测阶跃型边缘效果最好的算子之一,它比Prewitt算子、Sobel算子、Laplacian算子极小值算法的去噪能力都要强,但它也容易平滑掉一些边缘信息。
5基于小波与分形理论的边缘检测方法
除了LOG算子外,随着小波理论和分形理论的广泛应用,9O年代初期关于小波理论的多尺度边缘检测方法朝和基于分形特征的边缘检测与提取方法也相继出现。
基于小波理论的边缘检测方法因小波理论时频分析的优越性而优于一般的传统图像边缘检测方法。
它可检测出图像在不同尺度下的边缘特征,同时Mallat指出,图像可以从其不同尺度下的边缘信息得到近似重建,重建误差在人的视觉感受范围以外。
实际上LOG算子也是一种多尺度边缘检测方法,但它不具有这样的重建可逆性。
而基于分形特征的边缘检测方法由于选取的模板不能太小(太小就不足以反映其分形特征),因而检测出的边缘较粗,需进一步的细化处理,定位精度不高。
除了基于图像灰度微分信息的边缘检测方法外,S.M.Smith还提出了以准确检测角点见长的非线性SUSAN边缘检测法,它是按照最小吸收核同值区(SmallUni—valueAssimillatingNucleus)原则,来识别图像的边缘、角点等特征的。
由于此法不具有差分运算,抗噪能力较强,同时圆形模板的选取使算法具有各向同性的特点,性能较好。
但在最小吸收核同值区的确定过程中,仍需采用阈值分解,无法避免噪声影响。
6基于形态学的边缘检测方法
随着数学形态学理论的不断完善与发展,数学形态学在图像边缘检测中得到了广泛的研究与应用。
与上述图像边缘检测相比,形态学在图像边缘检测中有独特的优势,它在边缘检测这一问题上取得了较好的效果。
形态学方法进行图像边缘检测,算法简单同时能较好地保持图像的细节特征,较好地解决边缘检测精度与抗噪声性能的协调问题。
在图像边缘检测处理中有多种梯度,其边缘检测的基本原理都基于下面的考虑,如果在图像中的某一点处的梯度值大,则表示在该点处图像的明暗变化迅速,从而可能有边缘通过。
通常这些梯度以数字差分的形式给出。
由此,在形态学图像处理中也提出了几种形态梯度。
根据形态学的膨胀、腐蚀、开、闭运算的定义及扩张性,有下式成立(f(n)表示图像,B表示结构元)。
当B包含坐标原点时,有
其中,符号
、
、
、
分别表示膨胀、腐蚀、开、闭形态运算,下同。
综合考虑以上性质及各个运算,可得以下不等式:
由此构造基本形态梯度如下:
膨胀型MEOl=
腐蚀型MEO2=
—
膨胀腐蚀型MEO3=
—
开运算型MEO4=
闭运算型MEO5=
—
可以看出:
以上形态边缘检测算子是一种非线性的差分算子,实质上是传统线性差分算子的一定意义上的推广,而且其检测出的边缘与结构元B有关。
把以上的梯度算子用来进行边缘检测,在实际应用中取得了一定的效果,根据结构元的不同选取,可以得到不同的实际边缘效果,在一定程度上可以保持图像的边缘细节,但以上各式检测到的边缘效果各有不同。
膨胀型提取的是图像外边缘;腐蚀型提取的是图像的内边缘;膨胀腐蚀型提取的是图像骑跨在实际欧氏边界上的边缘;这三种梯度算子对噪声较敏感,抗噪性能较差。
开运算型又称为Top—Hat变换,检测图像中的波峰;闭运算型是Top—Hat变换的对偶算子,又称为波谷检测器,或成为黑Top—Hat变换,检测图像中的波谷;开闭运算型可以一次检测图像中的波峰和波谷,不过误差值较大。
这三种形态梯度抗噪性能较前三种要好,但存在偏移现象。
针对以上的不同特点,可以构造不同的形态边缘检测运算形式,同时考虑到形态运算的全方位特性及多结构元多尺度分析特性,从而可构造出优良的形态边缘检测算法,如广义形态边缘检测算法、多尺度自适应加权形态边缘检测算法、交替滤波的全方位形态边缘检测算法等。
由于形态学在图像处理中所固有的优势,它在边缘检测这一问题上取得了较好的效果。
用形态学方法进行图像边缘检测,算法简单同时能较好地保持图像的细节特征。
结构元选取灵活,可针对不同的图像及要检测的目的不同选取不同形式的结构元;不过这也是形态边缘检测算法的缺陷所在,算法的适应性较差。
7结论与展望
综上所述,在图像边缘检测领域尽管研究了微分方法、基于小波与分形理论的方法和基于形态学的方法等多种检测手段,但它们都不是一种具有绝对优势的方法,有的方法边缘检测精度高,但抗噪声性能较差;有的方法解决了抗噪声性能差的问题,而检测精度又不够。
还有一些算法尽管在一定程度上较好地解决了上述两者的协调问题,但算法复杂,运算时间长。
可见,无论哪一种边缘检测算法在解决一定问题的同时也存在不同类型的缺陷。
实质上,边缘检测作为视觉的初级阶段,通常认为是一个非良态问题,很难从根本上解决.因而,寻求算法较简单、能较好解决边缘检测精度与抗噪声性能协调问题的边缘检测算法将一直是图像处理与分析中研究的主要问题之一,还有许多工作有待进一步研究。