王振华,胡伏原,吕 凡,夏振平
(苏州科技大学 电子与信息工程学院,江苏 苏州 215009)
图像边缘是纹理特征的重要信息源和形状特征的基础,边缘检测在图像分割[1-2]、景物识别[3-4]、图像理解[5-6]等应用中起着关键作用。较为经典的边缘检测算法包括Sobel算子[7]、Canny算子[8]等。张闯[9]等人提出一种基于欧氏距离图的图像边缘检测算法。该方法计算图像内像素点之间的欧氏距离,对距离图使用改进的Canny算子进行边缘检测,能够有效地得到目标物体的轮廓。郑英娟[10]等人基于Sobel算子,采用8个方向的模板进行检测,能较好地检测出不同方向的图像边缘。上述基于局部梯度差值的边缘提取方法,采用阈值截断的方式对待测图像进行分割处理。但是获取图像中往往含有噪声,且边缘和噪声同是高频分量。因此,其提取结果的准确度受图像噪声影响较大。
笔者针对传统边缘检测算法的不足,提出自适应增强图像纹理的边缘检测算子。该方法,首先,基于梯度模值构造自适应掩模算子,判定掩模区域的梯度起伏。其次,针对不同程度的梯度变化,联合数值约束与梯度约束优化待检测图像,其中梯度约束增强图像纹理细节,数值约束抑制噪声干扰。最后,选取边缘点时,采用均值迭代计算阈值,降低噪声干扰。
图像的纹理信息通常由无序和不规则的同质区域组成,纹理细节较少的平坦区域与尖锐的边缘区域在梯度起伏变化上有较大差异。针对起伏不同的梯度区域,进行梯度增强,能够有效提高边缘提取的稳定性。图像噪声在图像增强的过程中会被放大,因此,进行噪声处理是提高边缘提取准确性的重要手段。基于此,笔者提出自适应增强图像纹理的边缘检测算法。该算法首先通过自适应掩模算子判定掩模区域是否为梯度起伏较大的边缘区域,然后对掩模区域内的图像纹理进行数值约束与梯度约束下的优化处理,最后使用均值迭代的方式计算判定是否为边缘点的阈值。具体流程如图1所示。
图像边缘的锐利程度取决于像素灰度的梯度起伏,自然图像的边缘很少是从一个灰度跳到另一个灰度的理想状况,而是在有限的宽度内呈现出陡峭的斜坡变化。图像梯度▽f反映灰度变化的方向和幅值。
图1 自适应增强图像纹理边缘检测算法流程
梯度大小由式(2)决定
传统的边缘检测方法按像素的邻域构造边缘算子,对邻域内的像素进行去噪处理后,基于梯度幅度确定图像边缘点。而噪声处理一定程度上平滑锐利边缘,容易导致细小的图像纹理信息被丢失。因此,笔者提出自适应的边缘提取算子,根据梯度幅度的变化自适应增强图像纹理,然后再进行图像质量的优化。自适应判别方式如下
式中,Nh(x)是以x为中心,h×h大小的窗口邻域,ε为常数,防止分母为0。当窗口邻域内像素梯度起伏较小时,相应的r(x)值也偏小,反之,则说明在该区域内存在一些明显的图像纹理。在预处理阶段,尖锐的显著性边缘需要重点增强,对平坦区域内的细微纹理作增强处理,能够进一步提高边缘提取的准确性,减少纹理细节的丢失。而r(x)的值随图像边缘的显著性改变,能够准确反映掩模区域内图像梯度的起伏程度。
图像噪声是影响边缘检测准确性的重要因素,传统的去噪方法在抑制噪声的同时,平滑图像边缘。基于此,文中提出联合梯度约束和数值约束的图像优化方法,提高检测结果的边缘保持性。首先,对待检测图像建立梯度约束,计算待检测图像的梯度分布,返回梯度方向eo,梯度模值el。其次,沿梯度方向,增强目标图像的边缘特征。
其中 ux,uy为待检测图像在 X 方向和 Y 方向上的梯度值,w=exp(-||r(x)||0.8),用于控制梯度增强的程度,建立基于梯度约束的模糊边缘优化模型
其中,wx和wy分别为梯度约束在水平方向和垂直方向上的权重系数。为了证明梯度约束对图像边缘的增强效果,取加入密度为0.02椒盐噪声的目标图像进行梯度约束下的图像优化,结果如图2所示。图2(c)为增强图像与原图像相减的结果,可以明显看出,文中提出的梯度约束能够有效增强图像纹理,而传统的边缘提取算子在预处理阶段并没有梯度增强的效果。然而文中提出的梯度优化在增强图像梯度的过程中,同样放大了图像噪声,因此,引入数值约束抑制图像噪声。
图2 梯度优化下的增强结果
优化后的模型定义如下
式中,wd为数值约束的权重系数,m为掩模区域内的像素中值。
图3所示为联合梯度约束与数值约束对目标图像的优化结果,图3(b)中明显抑制了噪声影响。对比图2(c)单约束下的优化效果与图3(c)双约束下图像优化效果,可以明显看出联合梯度约束与数值约束的优化模型在抑制噪声的同时,更好的增强图像边缘。
图3 梯度约束与数值约束下的增强结果
阈值分割是边缘检测的常用方法,将目标图像转化为灰度图像,使用预先设定好的灰度阈值分割图像。整个过程定义为
T为设定的阈值。通过单阈值选取边缘点,边缘提取结果受噪声影响较大。目标图像可以由信息点与噪声点组成
其中,f(x,y)为信息点,n(x,y)为噪声点。 通过迭代求平均值的方式降低 n(x,y)对 g(x,y)的影响,方法如下:
(1)计算最高灰度值与最低灰度值的平均值作为初始阈值Tk,此时k=0;
(2)使用 Tk将目标图像分为两个子集 g1(x,y)与 g2(x,y),目标图像中小于 Tk的灰度值均在 g1(x,y)中,大于 Tk的灰度值均在 g2(x,y)中;
(3)分别计算 g1(x,y),g2(x,y)的灰度平均值 m1,m2;
(4)计算新的阈值 Tk+1=(m1+m2)/2;若 Tk=Tk+1,则停止迭代;否则,k=k+1,跳转第二步。
通过该方法可以不断降低噪声点的影响,直到阈值趋于真实信息点。得到阈值后,基于式(8)判定是否为边缘点。
为测试噪声环境下文中算法边缘提取的有效性,利用C#实现了边缘检测,算法实现中取h=7,ε=0.5。对目标图像添加密度为0.02的椒盐噪声,将文中算法与经典的Canny算子、Sobel算子的提取结果对比,使用PSNR值作为评价准则,实验结果如图4所示,实验数据见表1。
图4 不同算法的边缘提取结果
表1 不同算法边缘提取结果的PSNR值比较
噪声环境下Canny算子与Sobel算子虽然能够有效提取显著性图像边缘与部分图像细节,如图4(b1)、图 4(c1)中飞机的轮廓,图 4(b3)、图 4(c3)中石坡的纹理等。但均受噪声影响较大,图 4(c2)Sobel算子的提取结果中细小纹理与图像噪声严重混淆,图4(b3)Canny算子天空背景中的离群噪声点依然存在。相比Canny算子与Sobel算子,文中算法的提取结果没有出现明显的噪声点,能够保持较好的显著性边缘与纹理细节。表1的数据直观显示,在4组实验中,文中算法提取结果的PSNR值均为最高,同样说明,噪声环境下的边缘提取,文中算法效果最佳。
文中算法在边缘提取前进行了梯度约束下的图像增强,联合数值约束抑制噪声,因此,在噪声环境下能够有效提取显著性边缘与细小的纹理细节。此外,均值迭代的阈值计算方式,进一步降低了噪声对最终提取结果的影响。
笔者提出一种自适应增强图像纹理的边缘提取方法,基于梯度约束自适应增强图像平坦区域与尖锐的边角区域,同时,联合数值约束,抑制噪声干扰。在判断边缘点时,采用均值迭代计算阈值。实验证明,该算法能够有效滤除图像噪声,保持显著性图像边缘与纹理细节。
[1]余航,焦李成,刘芳.基于上下文分析的无监督分层迭代算法用于SAR图像分割[J].自动化学报,2014,40(1):100-116.
[2]XIE S,TU Z.Holistically-nested edge detection[J].International Journal of Computer Vision,DOI:10.1007/s11263-017-1004-z.
[3]潘宗序,禹晶,胡少兴,等.基于多尺度结构自相似性的单幅图像超分辨率算法[J].自动化学报,2014,40(4):594-603.
[4]何人杰,樊养余,WANG Zhiyong,等.基于非局部全变分正则化优化的单幅雾天图像恢复新方法[J].电子与信息学报,2016,38(10):2509-2514.
[5]南栋,毕笃彦,马时平,等.基于景深约束的单幅雾天图像去雾算法[J].电子学报,2015,43(3):500-504.
[6]彭琪,崔喆.基于版面理解的选票图像检测定位方法[J].计算机应用,2016,36(S2):182-184,220.
[7]CANNY J.A computational approach to edge detection[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1986,8(6):679-698.[8]SOBEL M E.Asymptotic confidence intervals for indirect effects in structural equation models[J].Sociological Methodology,1982,13:290-312.
[9]张闯,王婷婷,孙冬娇,等.基于欧氏距离图的图像边缘检测[J].中国图象图形学报,2013,18(2):176-183.
[10]郑英娟,张有会,王志巍,等.基于八方向 Sobel算子的边缘检测算法[J].计算机科学,2013,40(11A):354-356.