APP下载

一种改进非极大值抑制的Canny边缘检测算法

2011-06-29王正勇吴晓红滕奇志

成都信息工程大学学报 2011年5期
关键词:极大值像素点插值

李 旭, 王正勇, 吴晓红, 滕奇志

(四川大学电子信息学院图像信息研究所,四川成都610064)

1 引言

边缘是图像最基本的特征,边缘检测是图像处理和计算机视觉中最为经典和基础的问题之一,在物体识别、三维重建、图像匹配、检索等诸多方面有着重要应用。经典的边缘算法认为边缘主要表现为图像局部特征的不连续性,关于经典边缘检测的算子集中在对灰度图像的梯度研究,如Roberts算子、Sobel算子、Prewitt算子、Laplace算子、LOG算子等。

Pellegrino[1]和Nguyen[2]等通过实验系统地比较了常见边缘检测算子的性能后指出,在绝大多数情况下,Canny算子[3]具有最好的性能。Canny[3]提出了衡量边缘检测算法性能的3个理论准则:检测性能、定位精度和单边响应,Canny算子正是对3个准则同时进行优化的结果。近年来许多学者从图像滤波、阈值的选取等方面对Canny算子进行改进,提出了许多改善算法[4-7]。

Canny算子中非极大值抑制(NMS)过程,细化梯度幅值图像中的屋脊带,只保留梯度幅值局部最大值的点,即图像像素值变化最大的点,实现边缘的细化,提高定位精度和图像边缘的连贯性。然而传统的Canny算子在进行非极大值抑制时,简单地将梯度幅值比梯度方向上相邻点梯度幅值大的像素点检测为边缘点,选择进行梯度幅值对比的相邻点存在很大的随意性,易产生随机误差,产生虚假边缘。在深入研究图像边缘检测的基础上,从Canny算子的非极大值抑制(NMS)方面入手,联系梯度方向周围4个像素点,引入邻域相关系数进行插值,将其作为对比点实现非极大值抑制过程,提高边缘检测准确度,抑制虚假边缘的产生,有效地实现边缘检测。

2 传统Canny边缘检测算法

2.1 高斯一阶导数滤波器平滑图像

对图像进行平滑滤波,构造滤波器,传统Canny边缘检测算法选用高斯函数的一阶导数,是对信噪比与定位精度乘积最优化的逼近。Canny算法首先使用二维高斯函数的一阶导数,对图像进行平滑[8],G为二维高斯函数:

其梯度矢量为:

利用对称性和可分解性,可把▽G的二维滤波模板分解为两个一维的行列滤波器。

其中σ为高斯滤波器参数,控制着滤波的平滑程度,k为常数,σ越小定位精度则越高,信噪比则越低,σ越大则情况反之。经过多次试验,σ=1.0时效果最好。

2.2 计算梯度的幅值M(i,j)与方向 θ i,j

采用2×2邻域一阶偏导的有限差分[8]来计算平滑后的图像Ii,j梯度的幅值和方向。其中,x和y方向偏导数的两个阵列Exi,j和Eyi,j分别为:

利用二阶范数来计算梯度幅值:

梯度方向为:

2.3 梯度幅值的非极大值抑制过程

Canny算子传统的非极大值抑制(NMS)方法,简单地将目标像素点的梯度幅值 M(i,j)分别与梯度幅值方向上两端的邻近像素点的梯度幅值 M′1(i,j)、M′2(i,j)进行对比,若 M(i,j)>M′2(i,j)且 M(i,j)>M′1(i,j),则M(i,j)保持不变,否则M(i,j)=0,实现非极大值抑制过程。

2.4 检测和连接边缘

对经过非极大值抑制(NMS)处理的梯度图像用双阈值算法检测和连接边缘。首先确定梯度直方图分类的高、低2个阈值τh和τl。高低阈值的选择决定了边缘点的数量,边缘点太少意味着一部分真实边缘信息的丢失,而且影响连接边缘,导致边缘连续性下降,边缘点太多又会引入噪声边缘,影响检测效果。常规上高阈值依据梯度图像的累计直方图分析确定,Canny建议低阈值约为高阈值的一半。联系实验中涉及的梯度图像的累计直方图分析,综合考虑运算效率,对比多次的实验检测结果,确定 τh=0.7,τl=0.4时效果最佳。

3 基于非极大值抑制改进的Canny边缘检测算法

3.1 改进的非极大值抑制过程

传统的非极大值抑制过程在选择梯度幅值对比的邻近像素点存在很大的随意性,正如Basu[9]所指出“Canny算子在进行非极大值抑制时简单地将梯度幅值比梯度方向上邻近点梯度幅值大的像素点检测为边缘点,而没有考虑到这种差异是否大于随机误差导致的变化[9]”。梯度方向并不与邻域像素点一一对应,存在重合等问题,易产生随机误差,导致虚假边缘出现。针对这些问题,提出一种基于包括目标像素点在内的4像素点,以及引入邻域相关系数β在梯度方向上进行插值的方法确定对比点。

如图1(a)所示,以45°为界将坐标系分为8个区域,依据中心对称原理,只需考虑其4个区域,沿梯度方向θ(i,j)进行插值。目标像素点I(i,j)对应的插值点为,假设垂直和水平方向上相邻两像素点距离为1,引入邻域相关系数β,0<β≤1,系数β为插值点与梯度方向上包括目标像素点I(i,j)在内的4点的相关度,β越接近于0,梯度方向上的插值点就越接近目标像素点 I(i,j),与其相关度就越大,反之沿梯度方向远离I(i,j),与之相关度随即减少,但与沿梯度方向靠近的两个像素点I(i-1,j+1)和 I(i-1,j+1)的相关度随之增大。为了尽可能保证插值点与其它4点相关度相等,设定邻域相关系数β=0.5。

图1 4个区域对应的插值方式

如图1(a)所示,依据参数β和邻域像素点I(i-1,j),I(i-1,j+1)插值得到Kup,同理可得,依据参数β和邻域像素点I(i,j),I(i,j+1)插值得到Kdown,Kup与Kdown分别为:

如图1(b)所示,依据参数β和邻域像素点I(i,j),I(i-1,j)插值得到Kleft,同理可得,依据参数β和邻域像素点 I(i,j+1),I(i-1,j+1)插值得到 Kright,Kleft与Kright分别为:

依据Kup与Kdown可得插入点其梯度幅值为:

如图1(c)所示,依据参数β和邻域像素点I(i,j),I(i-1,j)插值得到Kright,同理可得,依据参数 β和邻域像素点I(i,j-1),I(i-1,j-1)插值得到 Kleft,Kleft与Kright分别为:

依据Kleft与Kright可得插入点插入点的梯度幅值为:

如图1(d)所示,依据参数β和邻域像素点I(i-1,j),I(i-1,j-1)插值得到同理可得,依据参数 β和邻域像素点I(i,j),I(i,j-1)插值得到与分别为:

依据Kup与Kdown可得插入点X i,j,插入点X i,j的梯度幅值为:

X′(i,j)为X i,j关于中心对称的插值点,同理可得:

3.2 算法实现步骤

(1)用高斯一阶导数滤波器对读入图像进行滤波,平滑图像。

(2)计算滤波后图像的梯度幅值和梯度方向。

(3)利用改进后的方法插值确定对比点,与目标像素点的梯度幅值进行对比,完成新的非极大值抑制过程(Improved-NMS)。

(4)对处理过后的梯度图像用双阈值算法进行检测和连接,得到边缘图像。

4 实验结果与比较

实验用计算机配置为Celeron(R)2.93GHz,1G内存,选择Matlab编程实现算法,实验选取不同的3幅图,分别采用传统Canny算法、文献[7]提出的选用GCV阈值小波滤波改进的Canny算法、基于非极大值抑制改进的Canny算法进行边缘检测分析。实验中的相关参数取值如下:σ=1.0,τh=0.7,τl=0.4,β=0.5。由图2的检测结果可以看出,基于非极大值抑制改进的Canny算法检测出的边缘图像断点相对于前两种算法少,边缘的连贯性好,对虚假边缘的抑制有明显的提高。经典的Lena图像中,文中算法对模特脸及帽子处虚假边缘的抑制明显,头发处的边缘细节的识别效果也有所改善。Pepper图中辣椒的主体轮廓连贯性更好,表面的虚假边缘得到抑制。在真实拍摄的风景图像上显示基于非极大值抑制改进的Canny边缘检测算法也具有更好的性能。

图2 Canny边缘检测结果

文献[10]介绍了一种评价图像边缘检测效果的方法:用m表示检测到的边缘像素点的数目,n表示边缘像素中满足八邻域单连通条件的像素点数目,n/m的大小反映了边缘线形连接程度,其数值越小则连接程度越高,反之越差。边缘的线性连接程度对总体的边缘评价的影响体现在了错检和漏检中,当边缘连接程度高时,边缘的连通性就越好,错检、漏检则相对少。反之,错检、漏检相对就多。数值n/m越小则连接程度越高,提取的边缘效果就越好,从表1可以看出改进后算法的优越性。

表1 实验数据统计表

5 结束语

在传统Canny算子基础上,对Canny算子的非极大值抑制过程进行改进,引入了依据目标像素点梯度方向周围4像素点的梯度和邻域相关系数进行插值的方法,准确定位与目标像素点梯度进行对比的梯度点,优化了Canny算子的非极大值抑制过程。仿真实验结果表明,提取出的图像边缘更加丰富、清晰,边缘的细节更加完整,连通性更好,对虚假的边缘有更好的抑制。进一步研究该边缘检测方法,使其对噪音不敏感,提高算法的鲁棒性,这是今后需要努力的地方。

[1]F A Pellegrino.Edge Detection Revisited[J].IEEE Trans On System Man and Cybernetics.2004,34(3):1500-1517.

[2]T B Nguyen,D Ziou.Contextual and Non-contextual Performance Evaluation of Edge Detectors[J].Pattern Recognition Letters,2000,21(8):805-816.

[3]J F Canny.A Computational Approach to Edge Detection[J].IEEE Trans On Pattern Analysis and Machine Intelligence,1986,8(6):679-698.

[4]王植,贺赛先.一种基于Canny理论的自适应边缘检测方法[J].中国图像图形报,2004,9(8):957-961.

[5]李华强,喻擎苍,方玫.Canny算子中Otsu阈值分割法的运用[J].计算机工程与设计,2008,29(9):2297-2299.

[6]李二森,张保明,周晓明.自适应Canny边缘检测算法研究[J].测绘科学,2008,33(6):119-120.

[7]黄剑玲,郑雪梅.一种改进的基于Canny算子的图像边缘提取算法[J].计算机工程与应用,2008,44(25):170-172.

[8]贾云得.机器视觉[M].北京:科学出版社,2000:97-100.

[9]M Basu.Gaussian-based edge-detection methods-A survey[J].IEEE Transactions on Systems,Man,and Cybernetics,Part C :Applications and Reviews,2002,32(3):252-260.

[10]Hu Dong,Tian Xiang-Zhong.A multi-directions algorithm for edge detection based on fuzzy mathematical morphology[C].Proceedings of 16th International Conference on Artificial Reality and Telexistence-Workshops ICAT'06.HangZhou :IEEE Computer Society,2006:361-364.

猜你喜欢

极大值像素点插值
基于局部相似性的特征匹配筛选算法
基于Sinc插值与相关谱的纵横波速度比扫描方法
基于5×5邻域像素点相关性的划痕修复算法
基于canvas的前端数据加密
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割
一种改进FFT多谱线插值谐波分析方法
基于小波模极大值理论的励磁涌流新判据研究
基于四项最低旁瓣Nuttall窗的插值FFT谐波分析
基于经验模态分解的自适应模极大值去噪方法
行人检测中非极大值抑制算法的改进