王方超,张 旻,宫丽美
(1.解放军电子工程学院,安徽 合肥 230037; 2.安徽省电子制约技术重点实验室,安徽 合肥 230037)
改进的Roberts图像边缘检测算法
王方超1,2,张旻1,2,宫丽美1,2
(1.解放军电子工程学院,安徽 合肥230037; 2.安徽省电子制约技术重点实验室,安徽 合肥230037)
摘要:针对复杂背景下图像边缘检测中存在抗噪性能不强、边缘不连续等问题,提出了改进的Roberts边缘检测算法。该算法采用3×3邻域代替Roberts算法中2×2邻域来计算梯度幅值;并利用图像块之间相似性的三维块匹配的去噪模型,提高Roberts算子的检测精度和抗噪性能;通过最佳阈值迭代方法代替人为指定阈值来获取最佳分割阈值,有效地提取图中目标轮廓。仿真实验结果表明,该算法PSNR达到33 dB左右,比抗噪形态学边缘检测算法和一种改进的Roberts和灰色关联分析的边缘检测算法抗噪性能好,在抑制噪声干扰的同时,能保留边缘信息,较好提取目标的整体轮廓信息,为后续目标识别奠定基础。
关键词:边缘检测;梯度幅值;三维块匹配;最佳阈值迭代分割
0引言
边缘检测在模式识别、机器视觉等领域有着广泛的应用前景[1]。主要是利用边缘检测算子提取边缘点集,由于检测中存在噪声、图像模糊以及边缘间断等情况。因此,为了解决抗噪性能和图像边界存在间断等问题,研究有效的边缘检测算法具有非常重要的意义。
常用的边缘检测算子,如Roberts、Sobel、Canny等通过计算梯度极大值或二阶导数过零值检测边缘[2-6],这些算子在提取目标轮廓边缘信息时,并不占绝对优势,如文献[4]中Canny算子不能保证提取目标边缘的连续性,文献[5]抗噪形态学边缘检测新算子图像边缘检测不能保证良好的抗噪性能,文献[6]提取目标边缘轮廓不完整等。本文针对上述问题,提出了改进的Roberts图像边缘检测算法。
1Roberts边缘检测算法
在边缘检测中,传统Roberts算子是一种简单而高效的算子,它采用2×2模板,利用图像中对角线方向相邻像素差值近似梯度幅值来检测目标边缘,传统Roberts算子模板如图1所示。
图1 Roberts算子Fig.1 Roberts operator
采用对角线方向相邻的4个像素之差进行梯度检测,计算公式如下:
fx(x,y)=f(x,y)-f(x+1,y+1)
(1)
fy(x,y)=f(x,y+1)-f(x+1,y)
(2)
其梯度幅值计算为:
(3)
那么通过差分运算,可得到Roberts算子在点(x+1/2,y+1/2)的连续梯度幅值近似为G(x,y),当取适当阈值Th时,使得G(x,y)>Th,则认为点(x,y)为边缘点。
Roberts算子对图像边缘检测而言定位精度高,在水平和垂直方向效果较好[7]。但该算子对噪声较敏感,无法消除局部干扰,对图像中目标和背景灰度差异表现并不显著的弱边缘却很难检测识别,这将导致提取的目标边缘出现间断。并且该算子的阈值需要人为设定,使得传统的Roberts算子在提取不同目标轮廓时,具有很大的局限性。
2改进的Roberts算法
2.1改进计算梯度幅值方法
针对Roberts边缘检测算法采用2×2邻域内斜向偏差分的梯度计算方法的不足,本文采用3×3邻域通过计算0°、45°、90°、135°等方向的梯度幅值,有效检测8个方向的边缘,并且增加了对角线方向的权值,使得在梯度幅值计算中边缘定位更加准确。增加了垂直和水平方向模板,如图2所示。
图2 Roberts算子梯度幅值方向模板Fig.2 The Roberts operator gradient amplitude direction template
计算像素在0°方向的差分为:
f0=f(x,y-1)-f(x,y+1)
(4)
90°方向的差分为:
f90=f(x-1,y)-f(x+1,y)
(5)
45°方向的差分为:
f45=3×[f(x+1,y-1)-f(x-1,y+1)]
(6)
135°方向的差分为:
f135=(-3)×[f(x-1,y-1)-f(x+1,y+1)]
(7)
它们对应的卷积算子分别为:
改进后的Roberts算子充分考虑像素8邻域的信息,直接避免像素本身参与计算,有效地提高边缘的检测精度。此外,用二阶范数计算梯度幅值为:
(8)
2.2采用BM3D的去噪模型
经过在传统Roberts算子基础上增加水平、垂直方向的信息来增强方向模块的检测力度,并依照目标像素的梯度幅值大于阈值Th,则被认为是边缘像素点,反之就不是,则删除此点,获得较完整边缘信息。但是在实际图像处理中,如在复杂背景下提取目标边缘时,噪声也会引起像素梯度幅值的跳变,使得梯度新幅值大于阈值Th,导致噪声被当做伪边缘提取,进而影响到人们获取真实的边缘信息。因此,必须采取适当方法排除噪声点,常用的去噪算法有均值滤波和中值滤波。均值滤波去噪简单直观,在消除高斯白噪声中效果不错,但它会带来边缘和细节模糊;中值滤波去除椒盐噪声较强,缺点同样会带来图像边缘模糊和出现伪边缘。对此,本文采用基于块匹配和三维变换域滤波去噪算法[8-10]。
算法步骤为:
1)分组
对含噪图像p设定若干参考块进行块匹配。假设选当前参考块pr,其大小为L1×L1。则以pr为中心,以3个像素为一个步长在目标周围适当区域进行搜索,通过计算两个块pr与pn之间的距离来确定它们之间的相似性,即:
(9)
式(9)中,Mr和Mn分别表示各自矩阵块的模。
(10)
2)硬阈值滤波处理
对得到三维数组TSp进行三维线性变换,通过式(11)设置合适三维变换域系数来滤除噪声。然后通过逆变换得到所有图像块的估计值。
(11)
(12)
经过变换域硬阈值处理,可滤除大部分噪声分量,同时也保留了真实图像信息。
3)聚合
实质上是为了获得真实图像估计值,需要对重叠的估计值进行加权平均。假设Npr为当前块经硬阈值处理后矩阵系数的非零个数,那么该参考块的初始估计值为:
(13)
Npr的值越小,说明真实图像中含噪声分量的值就越小,得到的估计值就越大。通过加权平均聚合每组中所有图像块获得最终去噪图像[12]I。
2.3最佳阈值迭代分割方法
在得到去噪图像基础上,根据Roberts算法中阈值Th选取,若所选阈值过高,则易导致边缘破裂;若所选阈值过低,则提取的边缘中易出现更多的伪边缘,还可能将噪声作为边缘提取。我们采用最佳阈值迭代的方法选取合适阈值[11]代替人为指定阈值Th。首先选择阈值Tu的初始估算值,利用阈值Tu把图像分割为两组子图像,根据子图像特性计算新的阈值,然后利用新的阈值在进行图像分割,经若干次迭代后,使分割错误的图像像素点降到最少。其主要操作为:
1)设置阈值Tu的初始估算值:
(14)
式(14)中,迭代次数u的初值为0,Imax和Imin分别是去噪图像最大灰度值和最小灰度值。
2)根据阈值Tu将图像分割为目标和背景两部分,其中,
(15)
(16)
计算求出Ro和Rb两部分的平均灰度值分别为:
(17)
(18)
其中,f(i,j)为图像上(i,j)点的灰度值,N(i,j)是(i,j)点的权重系数,一般为1。
3)计算新的阈值Tu+1:
(19)
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对处理后的图像检测,得到最终边缘轮廓图像。
3仿真实验及结果分析
实验所用软件为Matlab7.6.0;硬件条件:i3CPU,内存2G。实验图像为经典的Lena图像、普通小轿车图像(Car)、Google Earth航拍的飞机图像(Plane)。为了验证改进算法的有效性,本文做了四组实验。
实验1:经典Lena图像的边缘检测
针对改进梯度幅值特性,对σ=0.05的Lena图像使用Roberts、文献[5—6]及改进算法进行边缘检测,实验结果如图3所示。
图3 各种算法对Lena图像边缘检测Fig.3 Algorithms processing for Lena
由实验1得出,Roberts、文献[5—6]算法在低噪声下不能较完整的提取目标的边缘,改进算法在改进梯度幅值基础上,使得边缘定位更加准确,检测的边缘信息更加清晰完整。
实验2:Car图像的边缘检测
针对改进梯度幅值和最佳阈值迭代分割方法特性,对σ=0.1的Car图像利用Roberts、文献[5—6]及改进算法进行边缘检测实验结果如图4所示。
图4 各种算法对Car图像处理Fig.4 Algorithms processing for Car
从实验2可得出,Roberts、文献[5—6]算法在低噪声下检测目标边缘不完整且出现伪边缘,本文算法在增加方向模板基础上,通过迭代方式计算最佳分割阈值,消除伪边缘获得较完整轮廓纹理信息。
实验3:Plane图像的边缘检测
针对改进梯度幅值、BM3D去噪方法及最佳阈值分割特性,在复杂背景下,对Google Earth航拍的飞机图像(Plane)利用4种算法对其进行边缘检测,实验结果如图5所示。
从实验3可看出,在复杂背景下,Roberts算法检测效果更差,文献[5]和文献[6]仍分别存在抗噪性能差、提取目标边缘不完整等缺点,而本文改进算法在抑制噪声对边缘检测干扰的同时,有效消除伪边缘,获得完整飞机轮廓图像。
图5 各种算法对Plane图像处理Fig.5 Algorithms processing for Plane
实验4:各算法性能比较
为了更客观有效的评价本文所提出的边缘检测算法,采用峰值信噪比(PSNR)作为各图像边缘检测的评价标准。其计算公式如下,
(20)
式(20)中,I0(x,y)、I(x,y)分别表示加高斯噪声的原始图像和最终边缘检测的图像,m×n为图像大小。所得结果如表1。
表1 三种算法关于指标PSNR的比较
从表1可看出,对同一图像进行处理时,本文算法PSNR均大于文献[5—6]算法。可见,本文改进算法很大程度提高了抗噪性能。
针对算法复杂度问题,本文对这3种算法计算时间做了比较,结果如表2。
表2 三种算法时间对比
从表2可以看出,与文献[5]、文献[6]相比,本文算法主要利用了BM3D的去噪模型去除边缘噪声,并采用迭代方式获取最佳分割阈值代替人为指定阈值,使得算法变得复杂,运行时间也相应增加。
综上所述,本文算法在增加时间复杂度的代价下,能很好抑制噪声对图像边缘检测的干扰,且能完整保留边缘信息,较好检测出目标边缘。
4结论
本文提出了改进的Roberts图像边缘检测算法。该算法利用BM3D去噪模型并采用了最佳阈值迭代分割方法有效地解决了复杂背景下图像边缘检测存在噪声和边缘不连续等问题。仿真实验结果表明,改进算法能较好的提取图像边缘,保持图像的细节信息,特别在噪声存在情况下,本文算法峰值信噪比达到33dB左右,相比文献[5—6]两种算法高出近一倍,同样具有较高的检测精度。本文算法不足是算法复杂度有所增加,前两幅图像时间在7s左右,相比文献[5—6]两种算法时间增加了近10倍,第三幅图像时间为16.5s,比这两种算法时间复杂度增加了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]EladM.Sparseandredundantrepresentation-fromtheorytoapplicationsinsignalandimageprocessing[M].Berlin:Springer,2010.
[10]MAGGIONIM,BORACCHIG,FOIA,etal.VideoDenoising,Deblocking,andEnhancementThroughSeparable4-DNonlocalSpatiotemporalTransforms[J].IEEETransactionsonImageProcessing,2012,21(9):3952-3966.
[11]杨勇,郭玲,王天江.基于多尺度结构张量的多类无监督彩色纹理图像分割方法[J].计算机辅助设计与图形学学报,2014,26(5):813-825.
[12]刘丽,匡纲要.图像纹理特征提取方法综述[J].中国图像图形学报,2009,14(4):622-635.
Image Edge Detection Algorithm of Roberts Operator
WANG Fangchao1,2,ZHANG Min1,2,GONG Limei1,2
(1.Electronic Engineering Institute of PLA, Hefei 230037, China;2. Key Laboratory Electronic Restricting Technique, Hefei 230037, China)
Abstract:Aiming at the problems of the resist noise performance is poor, the edge is not continuous when detecting the edge of image in the complex background, an improved Roberts edge-detection method was proposed. The algorithm adopted neighbor-field to replace neighbor-field to calculate grades extent value. And based on image block similarity between 3D block matching denoising model, detection accuracy and anti-noise performance of Roberts operator was improved. The artificial specified threshold method replaced the optimal iterative threshold segmentation method to obtain optimal segmentation threshold for effectively extract the target contour in image. Simulation results showed that the algorithm with PSNR was superior to the algorithm of morphology in edge detection to resist the noise with an improved image edge detection algorithm based on Roberts and gray relational analysis, which could suppress noise interference and keep the edge information.
Key words:edge detection; Roberts algorithm; 3-D block matching; optimal iterative threshold segmentation
中图分类号:TP391.41
文献标志码:A
文章编号:1008-1194(2016)02-0088-05
作者简介:王方超(1991—),男,陕西渭南人,硕士研究生,研究方向:数据挖掘与图像处理。E-mail:fangchaowang@163.com。
基金项目:国家自然科学基金项目资助(60972161);安徽省自然科学基金项目资助(1408085QF115)
*收稿日期:2015-09-21