1 引言
计算机视觉包括两部分:低层视觉和高层视觉。低层视觉即为图像处理,包括图像增强、噪声滤除和边缘
检测等部分;高层视觉包括图像分析和图像理解,主要是模拟人类对图像信息的认知和决策能力。图像信息量巨大,而边缘信息是图像的一种紧描述,是图像最基本
的特征,所包含的也是图像中用于识别的有用信息。所谓边缘是指其周围像素灰度有阶跃变化或屋顶变化的那些像素的集合,为人们描述或识别目标以及解释图像提
供了一个有价值的和重要的特征参数,其算法的优劣直接影响着所研制系统的性能。长期以来,人们已付出许多努力,设法利用边界来寻找区域,进而实现物体的识
别和景物分析,由于目标边缘、图像纹理甚至噪声都可能成为有意义的边缘,因此很难找到一种普适性的边缘检测算法,现有诸多边缘检测的方法各有其特点,同时
也都存在着各自的局限性和不足之处,因此图像的边缘检测这个领域还有待于进一步的改进和。而根据具体应用的要求,设计新的边缘检测方法或对现有的方法进行改进,以得到满意的边缘检测结果依然是研究的主流方向[1,2,3]。
本文详细介绍并比较了现有边缘检测技术和方法,给出了边缘检测的一般步骤,在分析了边缘检测“两难”问题的基础上,描述了实际图像中可能出现的边缘类型的数学模型,分析比较了不同边缘类型表现出的特性及不同类型的边缘定位与平滑尺度的关系。
2 边缘检测的分类及算法研究
早在1965年就有人提出边缘检测算子[4],主要分为经典算子、最优算子、多尺度方法及自适应平滑滤波方法,近年来又提出了将模糊数学、神经元和数学形态学应用于边缘检测的思想。
2.1 经典算子
传统的边缘检测算法通过梯度算子来实现,在求边缘的梯度时,需要对每个象素位置计算。在实际中常用
小区域模板卷积来近似计算,模板是N*N的权值方阵,经典的梯度算子模板:Sobel模板、Kirsch模板、Prewitt模板、Roberts模板、
Laplacian模板等[2],表2.1给出了经典算子运算速度的比较。
可以看出,Krisch算子的运算量比较大。其次在边缘检测中边缘定位能力和噪声抑制能力方面,有
的算子边缘定位能力强,有的抗噪声能力比较好:Roberts算子利用局部差分算子寻找边缘,边缘定位精度较高,但容易丢失一部分边缘,同时由于没经过图
像平滑计算,不能抑制噪声。该算子对具有陡峭的低噪声图像响应最好;Sobel算子和Prewitt算子都是对图像进行差分和滤波运算,差别只是平滑部分
的权值有些差异,对噪声具有一定的抑制能力,不能完全排除检测结果中出现伪边缘。这两个算子的边缘定位比较准确和完整,但容易出现边缘多像素宽。对灰度渐
变和具有噪声的图像处理的较好;Krisch算子对8个方向边缘信息进行检测,因此有较好的边缘定位能力,并且对噪声有一定的抑制作用,该算子的边缘定位
能力和抗噪声能力比较理想;Laplacian算子是二阶微分算子,对图像中的阶跃型边缘点定位准确且具有旋转不变性即无方向性。但该算子容易丢失一部分
边缘的方向信息,造成不连续的检测边缘,同时抗噪声能力比较差,比较适用于屋脊型边缘检测(将在第3节中讨论)。
2.2 最优算子
最优算子又可以分为马尔算子(LOG滤波算子)、坎尼(Canny)边缘检测、曲面拟合法。
Torre和Poggio[5]提出高斯函数是接近最优的平滑函数,Marr和Hildreth应用Gaussian函数先对图像进行平滑,然后采用拉氏算子根据二阶导数过零点来检测图像边缘,称为LOG算子。对于LOG算子数学上已经证明[6],它是按照零交叉检测阶跃边缘的最佳算子。但在实际图像当中,高斯滤波的零交叉点不一定全部是边缘点,还需要进一步确定真伪[7];
坎尼把边缘检测问题转换为检测单位函数极大值问题,根据边缘检测的有效性和定位的可靠性,研究了最优边缘检测器所需的特性,推导出最优边缘检测器的数学表
达式。与坎尼密切相关的还有Deriche算子和沈俊算子,它们在广泛的意义下是统一的;曲面拟合的基本思想是用一个平滑的曲面与待测点周围某邻域内像素
的灰度值进行拟合,然后计算此曲面的一阶或二阶导数。该方法依赖于基函数的选择,实际应用中往往采用低阶多项式。
2.3 多尺度方法
早期边缘检测的主要目的是为了处理好尺度上的检测和定位之间的矛盾,忽略了在实际图像中存在的多种干扰边缘,往往影响到边缘的正确检测和定位。
Rosenfeld等[8]首先提出要把多个尺寸的算子检测到的边缘加以组
合;Marr倡导同时使用多个尺度不同的算子,并提出了一些启发性的组合规则。这一思想后来经Witkin等发展成了尺度空间滤波理论,说明了不同尺度上
的零交叉的因果性;Lu
Jain对二维信号进行了类似的研究;Yuille和Poggio证明了对于任意维信号,当用高斯函数滤波时,尺度图中包含了数目最小的零交叉,并且可以
由粗到细地跟踪这些零交叉。
多尺度信号处理不仅可以辨识出信号中的重要特征,而且能以不同细节程度来构造信号的描述,在高层视觉处理中有重要的作用。
其中小波变换是近年得到广泛应用的数学工具。与傅立叶变换和窗口傅立叶变换相比,小波变换是时间和
频率的局域变换,因而能有效地从信号中提取信息,它通过伸缩和平移等运算功能对函数或信号进行多尺度细化分析,解决了傅立叶变换不能解决的很多困难问题,
因而被誉为“数学显微镜”。信号突变点检测及由边缘点重建原始信号或图像是小波变换应用的一个很重要的方面。
从边缘检测的角度看,小波变换有以下几个优点:
(1)小波分解提供了一个数学上完备的描述;
(2)小波变换通过选取合适的滤波器,可以极大地减小或去除所提取的不同特征之间的相关性;
(3)具有“变焦”特性:在低频段可用高频分辨率和低时间分辨率;在高频段可用低频分辨率和高时间分辨率;
(4)小波变换可通过快速算法来实现。
[9]
提出了一种基于层间相关性的小波边缘检测算法,依据的是信号主要分布在低频部分或低尺度部分,而噪声分布于高频部分或高尺度部分的特点。另外小波变换具有
较强的去相关性,变换后的小波系数之间仍然存在大量的相关性质,即小波系数在不同分辨率下的对应系数之间具有较强的相关性或称层间的相关性。通过对比该方
法能够较好多的防止噪声干扰,又能有效地保留图像边缘。
2.4 自适应平滑滤波方法
该方法是边缘检测的一个重要方法[10],无论是对于灰度图象处理还是距离图像和平面曲线处理都是非常有效的。它的优点是:
(1)平滑滤波的迭代运算使信号的边缘得到锐化,此时再进行边缘检测,可以得到很高的边缘定位精度;
(2)通过自适应迭代平滑,实现了将高斯平滑之后的阶跃边缘、屋顶状边缘和斜坡边缘都转化为理想的阶跃边缘,提高了图像的信噪比;
(3)经过多次迭代运算,图像按边缘分块实现自适应平滑,但不会使边缘模糊;
(4)应用自适应平滑滤波得到一种新的图像尺度空间描述。
2.5 其他方法
近年来随着模糊数学、神经网络的发展,人们不断探索将其应用于图像的边缘检测中。文献[11]和
[12]依据模糊理论讨论了边缘检测算法的抗噪性和检测速度问题,并证明了模糊集合理论能较好地描述人类视觉中的模糊性和随机性;应用人工神经网络提取图
像边缘成为新的研究分支,目前已提出了很多算法,具有计算简单功能强的特点,但是速度慢,稳定性差。但是神经网络边缘检测可以避免自适应确定阈值的问题,
具有较好的容错性和联想功能。
2.6 边缘检测的步骤
边缘检测分为彩色图像边缘检测和灰度图像边缘检测两种,由于彩色图像有八种彩色基,在边缘检测时选用不同的彩色基将直接影响实时性、兼容性和检测效果,因此本文只限于灰度图像的边缘检测研究,其步骤如图2.1所示。
其中边缘定位是对边缘图像进行处理,以得到单像素宽的二值边缘图像,通常使用的技术是阈值法和零交叉法。边缘定位后往往存在一些小的边缘片断,通常是由于噪声等因素引起的,为了形成有意义的边缘需要对定位后的边缘进行链接。通常有两种算法:局部边缘链接和全局边缘链接。
3 边缘模型的分类及性能分析
本小节从边缘检测“两难”问题出发,了实际图像中可能出现的七种边缘类型,并分别给出了数学模型描述,最后分析比较了不同边缘类型表现出的特性及不同类型的边缘定位与平滑尺度的关系。
3.1 边缘检测的“两难”问题
首先来了解一下边缘检测的常用定义[13]:边缘检测是根据引起图像灰度变化的物理过程来描述
图像中灰度变化的过程。引起图像灰度不连续性的物理过程可能是几何方面的(深度的不连续性、表面取向、颜色和纹理的不同),也可能是光学方面的(表面反
射、非目标物体产生的阴影及内部倒影等)。这些景物特征混在一起会使随后的解释变得非常困难,且实际场合中图像数据往往被噪声污染。信号的数值微分的病态
问题:输入信号的一个很小的变化就会引起输出信号大的变化。令 f(x)为输入信号,假设由于噪声的影响,使 f(x)发生了一个很小的变动:
式(3.1)
其中 ε<<1。对式(3.1)两边求导数则:
式(3.2)
由式(3.2)可以看到,若w足够大,即噪声为高频噪声时,会严重影响信号 f(x)的微分输出,进而影响边缘检测的结果。为了使微分正则化,则需要先
对图像进行平滑。然而图像平滑会引起信息丢失,并且会使图像平面的主要结构发生移位。另外若使用的微分算子不同,则同一幅图像会产生不同的边缘,因此噪声
消除与边缘定位是两个相互矛盾的部分,这就是边缘检测中的“两难”[14,15]。
3.2 边缘分类及性能分析
图像中的边缘通常分为:阶跃边缘、斜坡边缘、三角型屋脊边缘、方波型屋脊边缘、楼梯边缘、双阶跃边缘和双屋脊边缘[1]。
(1)阶跃边缘
模型为: f(x)=cl(x) ,其中 c>0为边缘幅度, 为阶跃函数。若存在噪声,可以选用大尺度的模板平滑图像,不会影响边缘的定位。
(2)斜坡边缘
理想的斜坡边缘模型为:,
其中S为边缘幅度,d为边缘宽度。斜坡边缘的检测不仅跟尺度有关,还与边缘本身的宽度有关,若边缘宽度比较小,则在小的平滑尺度下也能检测到边缘;无论是
检测极值点还是过零点,边缘的定位都没有随着尺度的变化而变化。因此,对于斜坡边缘若存在噪声,可以选用大尺度的模板平滑图像。而不会影响到边缘定位。
(3)三角型屋脊边缘
模型为:,其中S为边缘幅度,d为边缘宽度。对于三角型屋脊边缘若存在噪声可以选用大尺度的平滑模板,而不会影响边缘的定位。
(4)方波型屋脊边缘
方波型屋脊边缘的模型为:,其中S为边缘幅度,d为边缘宽度。对于方波型屋脊边缘检测,不仅与平滑尺度有关,还与边缘宽度有关,若存在噪声,可以选用大尺度的平滑模板,而不会影响边缘的定位。
(5)楼梯边缘
楼梯边缘模型为:,其中c1、c2、l均为常数。这种检测的特点是平滑后的楼梯边缘不能准确定位,必须对检测到的边缘位置进行移位校正。
(6)双阶跃边缘
双阶跃边缘与方波型屋脊边缘相同,不同之处为:双阶跃边缘的边缘点为x=-d/2与
x=d/2,而方波型屋脊边缘的边缘点为
x=0。双阶跃边缘的两个边缘点通过检测一阶导数的两个极值点和二阶导数的两个过零点获得。因此对于双阶跃边缘大尺度下不能准确定位,必须对检测到的边缘
位置进行移位校正。
(7)双屋脊边缘
模型为:,
其中:
S为边缘幅度,l为屋脊边缘的宽度,d为两个屋脊边缘间距。
实际图像中边缘类型的分类及边缘定位于平滑尺度的关系如表3.1所示。实际应用中可根据具体要求进行建模,选取合适的平滑尺度,尽可能解决“两难”问题。
如果已知目标物体的边缘类型,则可以根据该边缘类型一阶倒数和二阶倒数的特性以及与平滑尺度的关系只检测出目标物体所属的边缘类型,滤掉其他的边缘类型。
4 小结
边缘检测是基于边界的分割方法。由于图像边缘是图像最基本的特征,往往携带着图像中最重要的信息。因此边缘检测在机视觉、图像分析等应用中起着重要的作用,为人们描述或识别目标以及解释图像提供了一个有价值的特征参数。本文较详细地回顾了现有的边缘检测技术和方法,并对边缘检测的步骤作了总结。
在微分法边缘检测中,边缘定位与噪声滤除是两个相互矛盾的部分,很难同时得到很好的解决,这就是边缘检测的“两难”问题。从这个难题出发,对实际图像中可
能出现的七种边缘类型分别进行数学模型描述。由于实际图像比较复杂,往往包含多种边缘类型,因此很难对其进行建模和分类。本章得到的结论为边缘类型的分类
提供了依据。若能预先对边缘类型进行分类,则可选取合适的平滑尺度,较好地解决边缘检测的“两难”问题。
转自:http://lican8341.blog.163.com/blog/static/96561527201021311272698/