陈 亮,杨 宁,杜亚勤,郭 雷
(西北工业大学自动化学院,西安710129,lionbright@gmail.com)
边缘提取是图像处理和计算机视觉领域中重要的研究内容,由于物理和光照等原因,通常形成不同类型的边缘(如缓变和非缓变边缘),或者图像中还常常伴有未知噪声.因此,根据图像特性自适应地正确检测出边缘是很困难的.边缘提取算法已有很多[1],算法的基础有统计方法,差分,曲线拟合,多尺度分析等[2-7].边缘检测方法的过程一般为:1)计算特征图(通常与梯度模有关);2)通过阈值化特征图得到边缘[8-9].最常用的方法一般是用平滑图像的一阶微分找到局部最大值(或零交叉点)来检测边缘,其中,Canny算法是具有滤波、增强和检测的多阶段的优化算子,可以有效地确定信号突变位置,是目前公认的效果最好的方法.
Bilateral滤波[10]结合空域中的邻近关系和灰度(亮度)上的相似性,对二者进行非线性组合,自适应地处理相邻各像素值的灰度值或彩色信息,进行滤波而实现平滑图像的效果.该滤波是非线性的、非迭代的、局部的和简单的,而图像平滑结果在滤除噪声的同时,很好地保持图像的边缘特征[11].鉴于Bilateral滤波器的优势,本文分析了其原理,提出一种Bilateral滤波的逆操作,进而提取图像边缘的算法.
对于普通的空域滤波方法,可表示为
式中:f为原图像,h为平滑滤波后的输出图像,c(ξ,q)为中心点像素与邻域像素点的空间邻近度关系,k(q)为c(ξ,q)的归一化函数.空域滤波考虑了像素领域的影响,能够抑制噪声,对变化幅度小的区域起到了很好的平滑作用,但同样也平滑了边缘,使其变得很模糊.基于此,在进行图像平滑时,Bilateral滤波不仅考虑到了像素位置在几何上的邻近距离影响关系,也考虑到了图像像素本身在亮度上的相似性,通过对二者的非线性组合,自适应滤波后得到平滑图像.如此处理过的图像在滤除噪声的同时还能够很好地保持图像的边缘信息.其定义为
其中,k(q)的表达式变为
s(f(ξ),f(q))为图像强度的相似性,一般二者都采用高斯函数:
可以看出图像中像素q处的值即受到空域中像素之间的邻近性影响,也受到强度域中像素之间的相似性影响.
Bilateral滤波器综合考虑到了中心像素点和周围像素点在空间的邻近关系和亮度的相似关系,这样更符合人眼视觉习惯.Bilateral滤波器的特点是图像的每一点q用空间相邻且灰度相近的像素的平均值代替原来的值.在图像变化平缓的区域,一个小的邻域内图像的灰度可近似为常数,这时Bilateral滤波器计算的对象是整个块内所有像素值,是一个标准的低通空域滤波器;而在图像变化剧烈的区域,邻域内差别大的像素值的影响骤减,只有与边缘相似的灰度才起到作用,其平均值代替原灰度,即边缘被单独地进行处理.
高频信息——“边缘”被单独处理而保存下来,其它区域则被低通滤波器平滑.基于此,若进行逆操作,结果将会是变化平缓的区域没有响应,而在边缘处将会有很大的响应,本文的算法就是源自于逆向思维.
从逆向思维出发,所产生的图像结果为
式中:d(f(ξ),f(q))为邻域中的ξ处与中心q处的像素强度值的差异性,差异越大则表明高频信息越明显.高通滤波的目的是对图像中特定频率范围内的低频成分进行衰减或截断,即增强图像细节、突变等的高频成分,因此采用高通滤波器代替Bilateral滤波的低通滤波器,这样能使图像边缘更加清晰.定义为
此处不需要类似式(3)的单位化过程,因为后续算法对此具有自适应的过程.另外,选择“1-”是因为算法前提为原始图像经过单位化处理.
缓变边缘的现象表明远距离的梯度差分可以增强边缘响应,而且对噪声还具有抑制的作用,因此,可以结合这个思想,尽量判断远距离位置上的元素差别,为了能够突显其影响力,则采用一个由远及近递减的函数,远处权值大,而近处仍有操作,这样全面地综合了邻域对中心位置产生的响应.
c(ξ,q)在此的含义为距离权值函数,表示为
最终的输出图像为
这样,在变化幅度很小的平滑区域内,因为d(f(ξ),f(q))的值很小,h(q)的最终结果不会太大;而在边缘区域,d(f(ξ),f(q))的值很大,但由于w(ξ,q)鼓励结合距离中心处更远位置的响应,保证了缓变边缘仍能被定位.
图1给出逆Bilateral滤波在2D图像上的响应,其中,黑白对比明显的位置即为边缘位置,可以看出边缘被很好地增强出来,使得弱边缘提取变成可能.
从图1的响应结果来看,逆Bilateral滤波将会在剧烈变化的区域附近产生具有明显对比的相反值,边缘被显著标记出来.梯度是检测边缘的常用手段,如图2(a)所示,梯度模的映射图可以看出,边缘位置很好地显现出来,但同时会在距离块模板大小的位置附近形成干扰梯度,然而这些位置在原始图像上是平滑过渡的区域,因此将这两个信息结合起来可以提取出真正的边缘.本文的做法是:通过NMS(非最大抑制)先确定所有可能候选边缘的位置,然后通过验证过程确认——沿候选边缘的方向,在原始图像上检测其两侧是否具有足够大的差值,即通过阈值th来确定是否为真正的边缘,为了让边缘提取算法更具适用性,判断所需的th应具有自适应能力.
图1 逆Bilateral滤波在Lena图像上的响应
由于算法基于块模板实现,因此在边缘附近的块大小范围内将明显大于其邻域的响应值,进而在真正的边缘上和块模板边缘上都将产生很大的差别.通过NMS操作后,也将会在真实边缘两侧产生两条伪边缘响应,但其响应值明显会小于真正边缘的响应值,并且在原始图像上伪边缘两侧是近乎平坦的,因此本算法在所有NMS获得的候选边缘两侧通过判断是否存在很大的差别来确定真正的边缘.另一方面,为了让算法具有鲁棒性,不能仅依赖相邻的2个像素进行判断,而应参考候选边缘两侧多个像素进行加权判断,关注更远的位置.本文中,每侧取2个,近远权值分配为0.8和1.2.
对逆Bilateral滤波的结果做梯度运算,通过对梯度模的直方图的观察得出,非边缘处的梯度模通常接近0,因此梯度模直方图分布集中在很小的左侧,如图2(b)所示.从理论上来说,统计量能够将样本中关于总体分布的未知信息尽可能地集中起来,其中,均值m是对统计量的中心的统计,标准差v是对所有统计量对均值的离散程度的统计.结合m和v确定的th,在不同的样本(具体一幅图像的梯度模直方图)中,可以恰当地体现出这种总体分布所蕴含的信息:即自适应地分割边界区域梯度模值与非边界区域梯度模值.鉴于逆Bilateral滤波的增强作用,使得直方图分布更加趋近0,因此,选择g>th作为边缘区域的梯度模值为
有时由于图像复杂,边缘太多,所以分布函数显得“胖”,以很缓慢的趋势趋近于0.这意味着,g>th的像素较多,即高梯度模值的像素较多,正好与边界多相符合.图2中,图像相对简单,边界较少,所以分布函数很“瘦”,函数以比较陡峭的趋势趋近于0,式(10)可以随着m和v的变化自适应地得到th.从实验得出,文中α⊂[0.08,0.2],后续实验采用0.1.
图2 逆Bilateral滤波响应的梯度模图及其直方图
综上所述,算法流程归纳为:先对输入图像进行单位化处理,以适用于逆Bilateral滤波公式,然后根据图像预处理所述的逆Bilateral滤波进行图像增强处理,将图像的高频部分进行增强,得到边缘的显著表示,接下来获得结果图像的梯度模图像,基于此图像进行NMS,得到所有可能的候选边缘,以及通过梯度模直方图得到阈值th,最后在原始单位化图像上的候选边缘两侧位置进行差分验证确认最终的边缘结果,流程图如图3所示.
图3 算法流程图
实验采用4幅图片,来说明算法的性能.提出算法的参数主要是式(7)、式(8)用的高斯模板参数,在此采用了原始Bilateral滤波的参数,窗口大小为11,式(7)中方差为0.1,式(8)中方差为3.为了更好地说明本方法,先用清晰的图片进行实验,之后再添加高斯噪声来说明算法的适应性.因为算法的基础是梯度差分,而在这类方法中,Sobel算子被认为是经典边缘提取算法中最佳的方法.Canny算子则通过添加一些机制,是目前提取结果最好的算法.
图4为清晰图像的实验,可以看出Sobel算子能将显著性的边缘提取出来,而这种简单地提取有时会得到很好的结果,但其适应能力有限,在Lena图片中很多边缘无法提取出来.本文方法在测试图1和图2中,虽不及Canny算子,但相比Sobel算子,能够提取出很多的弱边缘.在测试图3和测试图4中,光照条件不是一致的,测试图3的Sobel算子有部分未能检测出来,而本文方法检测出的伪边缘明显少于Canny算子,圆圈为两者主要差别,所提出的边缘是很理想的,这也说明本方文法对可变光照的敏感度小于其他两种方法.
图4 清晰图像实验
在噪声图像的边缘提取中,实验中向原始清晰图像上加入了σ=0.01的高斯噪声.因为所有算法都是直接基于梯度的,所以均值滤波可以适度增强检测结果,因此在噪声图像上采用5×5的均值平滑模板进行简单的去噪滤波.如图5所示,可以看出Sobel算子比较弱的适应能力,此时丢失的边缘更多了.本文算法稍微劣于Canny算子,但效果很接近,两者都有很好的提取效果.另一方面由于噪声的影响,算法都将检测出一些干扰的伪边缘,Canny算子的结果在测试图3和测试图4中伪边缘明显多于本文方法,综合说明了本文方法具有较强的性能和适应能力.
1)提出逆Bilateral滤波的概念,以及在图像处理中所起到的增强作用,并基于此添加策略进行边缘提取.
2)实验证明,本文提出的方法效果不错,同时也具有很强的抗噪声影响能力,算法及实验证明了逆向思维在解决问题过程中能够提供一种可行的选择.
图5 噪声图像实验
[1]GONZALEZ R C,WOODS R E.数字图像处理[M].2版.北京:电子工业出版社,2003.
[2]HUANG J S,TSENG D H.Statistical theory of edge detection[J].Computer Vision,Graphics,and Image Processing,1988,43(3):337-346.
[3]CANNY J.A computational approach to edge detection[J].IEEE Transactions Analysis and Machine Intelligence,1986,8(6):679-698.
[4]段瑞玲,李庆祥,李玉和.图像边缘检测方法研究综述[J].光学技术,2005,31(3):415-419.
[5]HEATH M,SARKAR S,SANOCKI T,et al.Comparison of edge detectors:A methodology and initial study[C]//Proceedings of the 1996 Conference on Computer Vision and Pattern Recognition.Washington,DC:IEEE Computer Society,1996:143-148.
[6]NALWA V,BINFORD T O.On detecting edges[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1986,8(6):699-714.
[7]LE K N,DABKE K P,EGAN G K.The hyperbolic wavelet power spectra of non-stationary signals[J].Optical Engineering,2003,42(10):3017-3037.
[8]ROSIN P L.Comments on ground from figure discrimination[J].Pattern Recognition Letters,2003.24 (15):2761-2766.
[9]MARTIN D R,FOWLKES C C,MALIK J.Learning to detect natural image boundaries using local brightness,color,and texture cues[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2004,26(5): 1-20.
[10]AURICH V,WEULE J.Non-linear gaussian filters performing edge preserving diffusion[C]//Mustererkennung 1995,17.DAGM-Symposium.London,UK: Springer-Verlag,1995:538-545.
[11]TOMASI C,MANDUCHI R.Bilateral filtering for gray and color images[C]//oceedings of the International Conference on Computer Vision.Washington,DC: IEEE Computer Society,1998:839-846.