图像边缘检测技术的研究和比较.docx
- 文档编号:7722421
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:12
- 大小:572.84KB
图像边缘检测技术的研究和比较.docx
《图像边缘检测技术的研究和比较.docx》由会员分享,可在线阅读,更多相关《图像边缘检测技术的研究和比较.docx(12页珍藏版)》请在冰豆网上搜索。
图像边缘检测技术的研究和比较
图像边缘检测技术的研究和比较
摘要
边缘描绘对象的边界,因此边缘提取是图像处理的基础而重要的问题。
图像边缘检测大大地减少了图像数据量,过滤了无用的信息,而保留了图像重要属性结构。
由于边缘检测是对象检测的第一步,因此对边缘检测算法的正确理解是问题的关键。
本文对各种各样的图像边缘检测技术进行了比较分析。
通过编写MATLAB70程序,显示在几乎所有情景下Canny边缘检测算法比其他所有的算法的执行效果都好。
对处理后图像的评估显示:
在有噪声的情况下,LoG算子,Robert算子,Prewitt算子,Sobel算子各自都表现出色。
观察Canny边缘检测算法在计算上比LoG算子,Sobel算子、Prewitt算子和Robert算子代价高。
关键字:
边缘检测,噪声,数字图像处理
1介绍
边缘检测定义为识别和定位图像突变间断性的过程。
间断性是描述像素灰度急剧变化的描述对象边界的地方。
经典的边缘检测方法包括用算子对图像进行卷积,该算子对图像梯度敏感,当在平坦区域时,返回值为0。
现在设计出大量的边缘检测算子,它们各自针对某种特定边缘敏感。
在选择边缘检测算子时,要根据边缘取向、噪声环境和边缘结构等的变化而变。
算子的几何形状决定了边缘最敏感的特征方向。
可以选选择合适的算子来寻找水平,垂直或者对角边缘。
由于噪声和边缘信息在高频部分,对有噪声的图像,边缘检测是比较困难的。
而尝试减少噪声,又导致边缘模糊和变形。
用于有噪声图像的算子通常具有更大的尺寸,因此它能用足够的数据进行均衡,以削弱噪声像元,这个结果使检测出的边缘定位精度降低。
不是所有的边缘包含灰度的阶跃变化。
例如折射或弱焦点可能导致对象的边界灰度逐渐变化。
这些情况下,选择的算子要对这种渐变敏感。
因此,就出现了检测为伪边缘、真实的边缘的漏检、边缘定位精度、高计算时间的问题和由噪声产生的问题等。
所以,本文诣在对各种边缘检测技术进行比较和分析,并且指出各自适用的情况。
这里有许多方法进行边缘检测。
然而,这些检测方法大多可以分为两类:
基于梯度的边缘检测:
梯度法通过寻找图像一阶导数极大值和极小值来检测边缘。
基于Laplacian边缘检测:
Laplacian算法是搜索图像二阶导数的零交叉点来寻找边缘。
边缘具有一维的倾斜形状,并且计算图像导数可能突出它的位置。
假设我们有以下由灰度跃迁显示边缘的信号:
如果我们采用这个信号的梯度,我们得到如下图:
明显地,原始的信号中位于的边缘中心的地方显示出了一个最大值。
这种找出边缘的方法属于边缘检测滤波中的“梯度滤波”,包括Sobel算子。
如果梯度的值超出某阈值,该像素点称为边缘点。
如上所述,边缘比周围具有更大的像素灰度值。
因此,一旦设置阈值,就用该阈值与梯度值相比较,检测出任何超出阈值的边缘。
此外,当一阶导数为最大值时,二阶导数为零。
由此可知,我们可以用定位二阶导数为零的方法来找到边缘的位置,这个方法叫作Laplacian,信号的二阶导数如下所示:
在本篇文章,我们对最常用的基于梯度和Laplacian边缘检测技术的分析和可视化比较。
第2章是对问题的定义。
第3章是对各种边缘检测技术的研究和分析。
第4章通过开发MATLAB70程序对各种边缘检测技术进行可视化比较。
第5章讨论各种边缘检测技术的优缺点。
第6章对MATLAB70程序实验中分析和可视化比较说得出的结论进行讨论。
2问题定义
这里的问题有伪边缘检测的、真实的边缘漏检,导致线变窄或变粗和由噪声引起的问题等。
在本文我们对最常用的基于梯度和Laplacian边缘检测技术的的检测精度、漏检、导致线变窄或变粗的问题和由噪声引起的问题等作出了分析和可视化比较,并用MATLAB70开发了这个软件。
3边缘检测技术
3.1Sobel算子
如图1所示,这个算子包括一对3×3卷积核。
其中一个核是另一个核转动90°的情况。
图1:
sobel算子的模板
这些核为最大地反应垂直和水平相对应的像素网格而设计,每个核对应着二个垂直方向之一的边缘。
这种核可以独立地应用于输入图像,测量各自方向的梯度成分(称这些为Gx和Gy)。
然后组合这些梯度来找到在每个点的绝对幅值和那个梯度的方向[3]。
梯度幅值由下式的出:
通常,近似幅值可以这样计算:
这种方法加快了计算的速度。
影响空间梯度的是边缘(与像素网格相关)的方向角,可由下式得出:
3.2Robert交叉算子
Robert交叉算子执行起来简单,计算速度快,是对图像的二维空间梯度测量。
在每个输出点的像素值代表了对输入图像在该点空间梯度估计的绝对幅值。
如图2所示,该算子包括一对2×2卷积核,其中一个是将另一个简单的旋转90°得到[4]。
这与Sobel算子非常类似。
图2Robert算子模板。
这些核为最大地反应边缘45°相对应的像素网格而设计,每个核对应着二个垂直方向之一的边缘。
这种核可以独立地应用于输入图像,测量各自方向的梯度成分(称这些为Gx和Gy)。
然后组合这些梯度来找到在每个点的绝对幅值和那个梯度的方向[3]。
梯度幅值由下式的出:
通常,近似幅值可以这样计算:
这种方法加快了计算的速度。
影响空间梯度的是边缘(与像素网格相关)的方向角,可由下式得出:
3.3Prewitt算子
Prewitt算子[5]类似于Sobel算子用于检测图像的垂直和水平的边缘。
图3Prewitt梯度边缘检测器模板
3.4Laplacian-高斯算子
Laplacian是图像空间二阶导数的二维同向性测量法。
Laplacian突出图像灰度快速变化的地区,因此常常被用于边缘检测。
Laplacian经常用于图像处理,首先得对图像进行一些近似高斯平滑滤波的方法进行平滑处理,降低对噪声的敏感度。
该算子通常采取输入一个单灰度级图像,而输出另一个灰度级图像。
LaplacianL(x,y)可由图像像素灰度值I(x,y)得到:
因为输入图像是离散像元,我们必须找到一个接近Laplacian定义的二阶导数的离散卷积核[5]。
三个常用的小核如图4所示。
图4通常使用接近Laplacian的离散滤波器。
由于这些核接近图像的二阶导数的测量,他们对噪声是非常敏感的。
为了抗噪,在应用Laplacian滤波器之前通常用高斯平滑图像。
图像预处理减少高频噪声成分,应在差分处理之前进行。
实际上,因为卷积操作是关联的,我们可以首先把Laplacian过滤器与高斯平滑滤波器进行卷积,然后用这种混合滤波器对图像进行卷积以达到需要的结果。
这样做有两个好处:
因为高斯和Laplacian核通常都小于图像,通常这个方法的算术运算量少。
LoG[6]核可以是预先计算好的,在图像处理时只需运用一次卷积就可以实现了。
二维LoG函数[7]以零为中心,以高斯标准偏差σ的形式表示:
在图5显示了
图5二维Laplacian-高斯函数,x和y轴以标准偏差(σ)标记
接近这个函数的离散核(高斯σ=14)在图6显示。
图6近似σ=14LoG函数的离散模板
注意,当高斯核越来越小时,LoG核就与简单的Laplacian核一样了,如图4。
这是因为使用一个很窄的高斯(σ<05像元)去光滑离散的网格是没有效果的。
因此,对于离散像素网格,简单的Laplacian可以替代高斯狭窄的LoG。
3.5Canny边缘检测算法
Canny边缘检测算法是大家公认最优的边缘探测器。
在他开始工作时候Canny的目的是提高大多已存在的边缘探测器的效果。
他是非常成功地实现了他的目标,他的想法和方法可以在他的论文中找到,“用于边缘检测的计算方法”[11]。
在他的论文中,他遵守了一系列标准来改进当前边缘检测方法。
排在第一位也是最明显的标准是低误差率。
重要的是,不应该丢失图像的边缘,也不会对非边缘响应。
第二个标准是边缘定位准确。
换句话说,如实际边缘探测器找到的边缘像素点之间的距离最小。
第三个标准是对单边缘的只有一次响应。
采用这个标准是因为前两个标准从根本上不足够完全地消除对边缘的多次响应。
凭这些标准,Canny边缘探测器首先对图像平滑以消除噪声。
后来发现图像梯度能突出高阶空间导数区域。
然后,该算法沿这些区域进行检测,同时抑制不是最大值的所有像素点。
通过滞后作用梯度列阵得到了进一步减少的。
滞后作用用于沿剩余的未被抑制的像素点进行跟踪。
滞后作用使用双阈值,如果幅度在第一阈值之下,则设为零(做一个非边缘)。
如果幅度在高阈值之上,则它被做边缘。
如果幅度在2阈值之间,除非有从这个像素点到其梯度在T2之上的另一个像素点之间是一条道路,否则它也设置为零。
步骤1:
我们必须按照一系列的步骤来使用Canny边缘探测器算法。
第一步在定位和检测边缘之前应滤除原始图像的所有噪声。
因为高斯过滤器可以用一个简单的模板来计算,这个模板专门在Canny中使用。
只要设计好了适当的模板,就可以用标准卷积方法进行高斯平滑。
通常,卷积模板小于实际图像。
因此,模板在图像中滑动,每次操作方形像素块。
高斯模板的宽度越大,探测器对噪声的敏感度越低。
当增加高斯模板宽度时,边缘检测定位的错误也稍有增加。
步骤2:
对图像进行平滑和去噪后,下一个步骤是通过图像的梯度找到边缘的强度。
Sobel算子是在图像的二维空间进行梯度测量。
然后,在每点可以找到近似绝对梯度的幅度(边缘强度)。
Sobel算子[3]用一对3x3卷积模板,一个估算x方向(列)的梯度,另一个估算y方向(行)的梯度。
它们如下所示:
用如下公式来近似梯度幅度或者边缘强度:
步骤3:
-用x和y方向的梯度来计算边缘的方向。
然而,当sum(X)等于零时,就会产生错误,因此必须用代码限制任何时候出现这种情况。
每当在x方向的梯度等于零,边缘方向必须等于90度或0度,这取决于梯度在y方向的值,如果GY有值为零,边缘方向为0度。
否则边缘方向为90度。
计算边缘方向的公式为:
Theta=invtan(Gy/Gx)
步骤4:
一旦知道边缘方向,下一步就是把该边缘方向与图像追踪方向联系起来。
如果5x5图像的像素如下排列:
通过看像素点“a”可以看到,当描述像素点的周围像素时,只有四个可能的方向,0度(在水平方向),45度(沿正对角线),90度(在垂直的方向),或者135度(沿负对角线)。
根据本判断这四个方向中最接近的方向来确定边缘方向(即,如果发现方向角度3度,则让它为零度)。
由此用一个半圆,把它划分它成5个地区。
因此,属于黄色区域(0到225和1575到180的范围)的所有边缘方向被置为0度。
在绿色区域(225到67的范围)的所有边缘方向被置为45度。
在蓝色区域(675到1125的范围)的所有边缘方向被置为90度。
最后,属于红色区域(1125到1575程度)的所有边缘方向被置为135度。
步骤5:
知道边缘方向后,现在进行非最大值抑制。
非最大值抑制用于沿在边缘方向进行追踪和压制不是边缘的所有像素点(设为0)。
这将输出图像一条稀薄的线。
步骤6:
最后,滞后作用[12]作为抑制斑纹的方法。
斑纹是由算子的输出在阈值上下波动产生的,它破坏了边缘的轮廓。
如果一个单阈值,T1应用于图像,并且边缘的平均强度等于T1。
这里有个例子,由于噪声影响,将会导致边缘在阈值之下,同样地,也有在阈值之上的边缘,这样延伸出来的边缘看起来就像破折线。
要避免于此,滞后作用使用一高一低的双阈值。
比T1大的所有像素点假定为边缘,并立刻作出标记。
然后,任何大于T2的且连接这个边缘的像素点也被选择当边缘像素点。
如果您认为沿着边缘,需要从T2梯度开始,但您在找到一个在T1下的梯度之前不要停止。
4各种边缘检测算法可视化比较
图7用于边缘检测分析的图像
在图7中展示了四个种边缘检测方法的效果。
Canny效果最佳,正如Canny的边缘检测解释的图像的区域所期望的那样。
通过非最大的抑制,Canny产生了细薄边缘线。
Canny也利用了阈值化的滞后作用。
图8图7经过Canny边缘检测得到最佳结果
图9:
边缘检测技术的比较(a)原始图像(b)Sobel(c)Prewitt(d)罗伯特(e)Laplacian(f)LoG
图10:
用莉娜图像进行边缘检测技术的比较(b)Canny(c)Robert(d)LoG(e)Sobel
图11:
对含噪图像的边缘检测技术比较(a)噪声原图(b)Sobel(c)Robert(d)Canny
5边缘探测器的优缺点
边缘检测是计算机视觉的基础步骤,需要匹配过程中指出真的边界以获得最佳结果。
这就是为什么选择合适的边缘检测器的重要性了。
在这方面,我们在表1列出了各边缘检测算法的优缺点
算子
优点
缺点
经典算子(Sobel,Prewitt,Kirsch等)
简单、边缘和其他方向的检测
对噪声敏感,精度不高
零交叉发(拉普拉斯,二方向导数)
对边缘和其他方向的检测、在各个方向有固定的特征
对已存在的边缘响应、对噪声敏感
LoG,Marr-Hildreth
寻找出正确边缘的位置、测试像元周围更大的区域
在拐角、弯曲和灰度级变化处,其效果不佳,会因为使用拉普拉斯滤波器而找不到边缘方向
高斯(Canny,Shen-Castan)
用概率统计误差率,定位和响应,提高信噪比,特别是对有噪声的检测效果更好
复杂的计算、伪零值交叉,费时间
表1:
边缘探测器优缺点
6结论
边缘检测是对象检测的第一步,了解边缘检测技术之间的区别是非常重要的。
在本文我们研究了最常用的边缘检测技术基于梯度和基于Laplacian的边缘检测技术。
并用MATLAB70开发软件。
基于梯度的算法,例如Prewitt滤波器,有个主要缺点是对噪声非常敏感。
滤波器的核和参数是固定的,对给定的图像不能适应。
一种具有适应性的边缘检测算法必提供鲁棒性的解决方案,它能适应噪声变化的各种图像,帮助从人工加入了噪声的图像中区分出有效图像内容。
Canny的算法的效果极大地取决于可调参数σ,它是高斯滤波器的标准偏差,和两个阈值‘T1’和‘T2’。
σ也控制高斯滤波器的大小。
σ越大,高斯滤波器越大,这意味着加大对有噪声图像必要的模糊,并且检测出更大的边缘。
然而,正如所料想的一样,高斯尺度越大,边缘定位的精度越低。
σ小意味着限制模糊量,维持图像更好边缘。
用户能通过调整这些参数适以适应不同的情况。
与Sobel、Prewitt和Robert算子相比,Canny边缘检测算法在计算上是更加费时。
然而,在几乎所有情景下Canny边缘检测算法都比这些算子的效果好。
根据图像评估表明,在含有噪声时,Canny,LoG,Sobel,Prewitt,Roberts分别表现良好。
致谢
作者非常感激Punjabi大学工程学院的计算机工程提供了优秀实验室设施使得这项工作得以完成。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图像 边缘 检测 技术 研究 比较
![提示](https://static.bdocx.com/images/bang_tan.gif)