改进的Roberts图像边缘检测算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
改进的Roberts图像边缘检测算法
王方超;张旻;宫丽美
【摘要】针对复杂背景下图像边缘检测中存在抗噪性能不强、边缘不连续等问题,提出了改进的Roberts边缘检测算法.该算法采用3×3邻域代替Roberts算法中2×2邻域来计算梯度幅值;并利用图像块之间相似性的三维块匹配的去噪模型,提高Roberts算子的检测精度和抗噪性能;通过最佳阈值迭代方法代替人为指定阈值来获取最佳分割阈值,有效地提取图中目标轮廓.仿真实验结果表明,该算法PSNR达到33 dB左右,比抗噪形态学边缘检测算法和一种改进的Roberts和灰色关联分析的边缘检测算法抗噪性能好,在抑制噪声干扰的同时,能保留边缘信息,较好提取目标的整体轮廓信息,为后续目标识别奠定基础.
【期刊名称】《探测与控制学报》
【年(卷),期】2016(038)002
【总页数】5页(P88-92)
【关键词】边缘检测;梯度幅值;三维块匹配;最佳阈值迭代分割
【作者】王方超;张旻;宫丽美
【作者单位】解放军电子工程学院,安徽合肥230037;安徽省电子制约技术重点实验室,安徽合肥230037;解放军电子工程学院,安徽合肥230037;安徽省电子制约技术重点实验室,安徽合肥230037;解放军电子工程学院,安徽合肥230037;安徽省电子制约技术重点实验室,安徽合肥230037
【正文语种】中文
【中图分类】TP391.41
边缘检测在模式识别、机器视觉等领域有着广泛的应用前景[1]。
主要是利用边缘检测算子提取边缘点集,由于检测中存在噪声、图像模糊以及边缘间断等情况。
因此,为了解决抗噪性能和图像边界存在间断等问题,研究有效的边缘检测算法具有非常重要的意义。
常用的边缘检测算子,如Roberts、Sobel、Canny等通过计算梯度极大值或二阶导数过零值检测边缘[2-6],这些算子在提取目标轮廓边缘信息时,并不占绝对优势,如文献[4]中Canny算子不能保证提取目标边缘的连续性,文献[5]抗噪形态学边缘检测新算子图像边缘检测不能保证良好的抗噪性能,文献[6]提取目标边缘轮廓不完整等。
本文针对上述问题,提出了改进的Roberts图像边缘检测算法。
在边缘检测中,传统Roberts算子是一种简单而高效的算子,它采用2×2模板,利用图像中对角线方向相邻像素差值近似梯度幅值来检测目标边缘,传统Roberts 算子模板如图1所示。
采用对角线方向相邻的4个像素之差进行梯度检测,计算公式如下:
其梯度幅值计算为:
那么通过差分运算,可得到Roberts算子在点(x+1/2,y+1/2)的连续梯度幅值近似为G(x,y),当取适当阈值Th时,使得G(x,y)>Th,则认为点(x,y)为边缘点。
Roberts算子对图像边缘检测而言定位精度高,在水平和垂直方向效果较好[7]。
但该算子对噪声较敏感,无法消除局部干扰,对图像中目标和背景灰度差异表现并不显著的弱边缘却很难检测识别,这将导致提取的目标边缘出现间断。
并且该算子的阈值需要人为设定,使得传统的Roberts算子在提取不同目标轮廓时,具有很大的局限性。
2.1 改进计算梯度幅值方法
针对Roberts边缘检测算法采用2×2邻域内斜向偏差分的梯度计算方法的不足,
本文采用3×3邻域通过计算0°、45°、90°、135°等方向的梯度幅值,有效检测8个方向的边缘,并且增加了对角线方向的权值,使得在梯度幅值计算中边缘定位更加准确。
增加了垂直和水平方向模板,如图2所示。
计算像素在0°方向的差分为:
90°方向的差分为:
45°方向的差分为:
135°方向的差分为:
它们对应的卷积算子分别为:
改进后的Roberts算子充分考虑像素8邻域的信息,直接避免像素本身参与计算,有效地提高边缘的检测精度。
此外,用二阶范数计算梯度幅值为:
2.2 采用BM3D的去噪模型
经过在传统Roberts算子基础上增加水平、垂直方向的信息来增强方向模块的检
测力度,并依照目标像素的梯度幅值大于阈值Th,则被认为是边缘像素点,反之
就不是,则删除此点,获得较完整边缘信息。
但是在实际图像处理中,如在复杂背景下提取目标边缘时,噪声也会引起像素梯度幅值的跳变,使得梯度新幅值大于阈值Th,导致噪声被当做伪边缘提取,进而影响到人们获取真实的边缘信息。
因此,必须采取适当方法排除噪声点,常用的去噪算法有均值滤波和中值滤波。
均值滤波去噪简单直观,在消除高斯白噪声中效果不错,但它会带来边缘和细节模糊;中值滤波去除椒盐噪声较强,缺点同样会带来图像边缘模糊和出现伪边缘。
对此,本文采用基于块匹配和三维变换域滤波去噪算法[8-10]。
算法步骤为:
1)分组
对含噪图像p设定若干参考块进行块匹配。
假设选当前参考块pr,其大小为
L1×L1。
则以pr为中心,以3个像素为一个步长在目标周围适当区域进行搜索,
通过计算两个块pr与pn之间的距离来确定它们之间的相似性,即:
式(9)中,Mr和Mn分别表示各自矩阵块的模。
式(10)中,τd为距离阈值,Sp是式(9)计算块距离得到的矩阵集合。
当候选块与参考块间的距离不大于该距离阈值时,该块就属于集合Sp。
然后把Sp中矩阵集合按d(pr,pn)的大小进行排列,形成大小为的三维数组TSp。
2)硬阈值滤波处理
对得到三维数组TSp进行三维线性变换,通过式(11)设置合适三维变换域系数来滤除噪声。
然后通过逆变换得到所有图像块的估计值。
其中,τ3D表示对矩阵TSp进行三维酉变为其逆变换,λthr为硬阈值滤波参数,根据图像中添加噪声σ不同时,取不同硬阈值会有不同去噪效果,通过测试当
σ<0.196时,λthr取值在3左右,往往可以获得最好的去噪效果,但是随着噪声增加,λthr的值也相应增加。
γ函数为:
经过变换域硬阈值处理,可滤除大部分噪声分量,同时也保留了真实图像信息。
3)聚合
实质上是为了获得真实图像估计值,需要对重叠的估计值进行加权平均。
假设Npr为当前块经硬阈值处理后矩阵系数的非零个数,那么该参考块的初始估计值为:
Npr的值越小,说明真实图像中含噪声分量的值就越小,得到的估计值就越大。
通过加权平均聚合每组中所有图像块获得最终去噪图像[12]I。
2.3 最佳阈值迭代分割方法
在得到去噪图像基础上,根据Roberts算法中阈值Th选取,若所选阈值过高,则易导致边缘破裂;若所选阈值过低,则提取的边缘中易出现更多的伪边缘,还可能将噪声作为边缘提取。
我们采用最佳阈值迭代的方法选取合适阈值[11]代替人为指定阈值Th。
首先选择阈值Tu的初始估算值,利用阈值Tu把图像分割为两组子图
像,根据子图像特性计算新的阈值,然后利用新的阈值在进行图像分割,经若干次迭代后,使分割错误的图像像素点降到最少。
其主要操作为:
1)设置阈值Tu的初始估算值:
式(14)中,迭代次数u的初值为0,Imax和Imin分别是去噪图像最大灰度值和最小灰度值。
2)根据阈值Tu将图像分割为目标和背景两部分,其中,
计算求出Ro和Rb两部分的平均灰度值分别为:
其中,f(i,j)为图像上(i,j)点的灰度值,N(i,j)是(i,j)点的权重系数,一般为1。
3)计算新的阈值Tu+1:
4)循环第二步至第四步,当Tu=Tu+1时,则循环结束,否则u=u+1并转至步骤2进行迭代运算。
那么图像分割最佳阈值为Tu+1。
5)根据阈值Tu+1的大小,输出最终的目标图像轮廓。
2.4 改进算法实现步骤
改进算法的步骤如下:
1)输入原始图像,并在原图像基础上加入高斯噪声。
2)在Roberts算子基础上,增加了水平和垂直方向模板,通过8个方向有效检测图像边缘。
3)使用多尺度、非局部的BM3D去噪模型,对含噪边缘图像通过块匹配生成三维矩阵,然后在三维域去噪,最后逆变换得到去噪图像。
4)通过迭代的方式获取最佳分割阈值Tu+1。
5)利用阈值Tu+1对处理后的图像检测,得到最终边缘轮廓图像。
实验所用软件为Matlab7.6.0;硬件条件:i3CPU,内存2G。
实验图像为经典的Lena图像、普通小轿车图像(Car)、Google Earth航拍的飞机图像(Plane)。
为了验证改进算法的有效性,本文做了四组实验。
实验1:经典Lena图像的边缘检测
针对改进梯度幅值特性,对σ=0.05的Lena图像使用Roberts、文献[5—6]及改进算法进行边缘检测,实验结果如图3所示。
由实验1得出,Roberts、文献[5—6]算法在低噪声下不能较完整的提取目标的边缘,改进算法在改进梯度幅值基础上,使得边缘定位更加准确,检测的边缘信息更加清晰完整。
实验2:Car图像的边缘检测
针对改进梯度幅值和最佳阈值迭代分割方法特性,对σ=0.1的Car图像利用Roberts、文献[5—6]及改进算法进行边缘检测实验结果如图4所示。
从实验2可得出,Roberts、文献[5—6]算法在低噪声下检测目标边缘不完整且出现伪边缘,本文算法在增加方向模板基础上,通过迭代方式计算最佳分割阈值,消除伪边缘获得较完整轮廓纹理信息。
实验3:Plane图像的边缘检测
针对改进梯度幅值、BM3D去噪方法及最佳阈值分割特性,在复杂背景下,对Google Earth航拍的飞机图像(Plane)利用4种算法对其进行边缘检测,实验结果如图5所示。
从实验3可看出,在复杂背景下,Roberts算法检测效果更差,文献[5]和文献[6]仍分别存在抗噪性能差、提取目标边缘不完整等缺点,而本文改进算法在抑制噪声对边缘检测干扰的同时,有效消除伪边缘,获得完整飞机轮廓图像。
实验4:各算法性能比较
为了更客观有效的评价本文所提出的边缘检测算法,采用峰值信噪比(PSNR)作为各图像边缘检测的评价标准。
其计算公式如下,
式(20)中,I0(x,y)、I(x,y)分别表示加高斯噪声的原始图像和最终边缘检测的图像,m×n为图像大小。
所得结果如表1。
从表1可看出,对同一图像进行处理时,本文算法PSNR均大于文献[5—6]算法。
可见,本文改进算法很大程度提高了抗噪性能。
针对算法复杂度问题,本文对这3种算法计算时间做了比较,结果如表2。
从表2可以看出,与文献[5]、文献[6]相比,本文算法主要利用了BM3D的去噪
模型去除边缘噪声,并采用迭代方式获取最佳分割阈值代替人为指定阈值,使得算法变得复杂,运行时间也相应增加。
综上所述,本文算法在增加时间复杂度的代价下,能很好抑制噪声对图像边缘检测的干扰,且能完整保留边缘信息,较好检测出目标边缘。
本文提出了改进的Roberts图像边缘检测算法。
该算法利用BM3D去噪模型并采用了最佳阈值迭代分割方法有效地解决了复杂背景下图像边缘检测存在噪声和边缘不连续等问题。
仿真实验结果表明,改进算法能较好的提取图像边缘,保持图像的细节信息,特别在噪声存在情况下,本文算法峰值信噪比达到33 dB左右,相比
文献[5—6]两种算法高出近一倍,同样具有较高的检测精度。
本文算法不足是算法复杂度有所增加,前两幅图像时间在7 s左右,相比文献[5—6]两种算法时间增加了近10倍,第三幅图像时间为16.5 s,比这两种算法时间复杂度增加了15倍左右,下一步研究中还需对算法进行优化以减少算法复杂度。
【相关文献】
[1]张艳丽,保文星.粒子群优化算法在图像边缘检测中的研究应用[J].计算机技术与发展,
2009,19(5):26-29.
[2]王征. 一种基于数学形态学的边缘检测方法[J].计算机与数字工程,2012,40(2):102-104.
[3]熊立志,陈立潮,潘理虎.基于多尺度轮廓结构元素的多形状边缘检测[J].计算机应用研究,2012,29(9):3497-3500.
[4]王小俊,刘旭敏,关永.基于改进Canny算子的图像边缘检测算法[J].计算机工程,2012,38(14):196-198.
[5]于博,牛铮,王力.抗噪形态学边缘检测新算子图像边缘检测[J].信息技术,2012,36(3):10-12.
[6]文永革,何红洲,李海洋.一种改进的Roberts和灰色关联分析的边缘检测算法[J].图学学报,2014,35(4):638-642.
[7]臧卓,林辉,杨敏华.基于色素含量的针叶树种敏感波段提取研究[J].中南林业科技大学学报,2013,33(1):35-40.
[8]李政,刘文江,戎蒙恬,等.BM3D视频去噪算法实现与评估[J].信息技术,2012,30(4):30-32.
[9]Elad M.Sparse and redundant representation-
from theory to applications in signal and image processing[M]. Berlin:Springer,2010.
[10]MAGGIONI M,BORACCHI G,FOI A,etal.Video Denoising,Deblocking,
and Enhancement Through Separable 4-
D Nonlocal Spatiotemporal Transforms[J].IEE
E Transactions on Image Processing,2012,21(9):3952-3966.
[11]杨勇,郭玲,王天江.基于多尺度结构张量的多类无监督彩色纹理图像分割方法[J].计算机辅助设计与图形学学报,2014,26(5):813-825.
[12]刘丽,匡纲要.图像纹理特征提取方法综述[J].中国图像图形学报,2009,14(4):622-635.。