基于拟合的亚像素边缘检测的算法比较

2018-03-10 00:31王楚王亚刚
软件导刊 2018年2期

王楚+王亚刚

摘 要:针对传统的边缘检测算法精度不高,提出了基于不同核函数的最小二乘拟合的亚像素边缘检测算法。采用Canny算子对图像边缘进行粗定位,再以基于梯度幅值拟合的高斯函数与基于灰度值拟合的反正切函数和双曲正切函数作为拟合核函数,对一幅拍有标准量块图像的边缘进行检测,结果表明该算法能够有效的进行亚像素边缘检测。

关键词:亚像素边缘检测;Canny算子;最小二乘拟合;核函数

DOIDOI:10.11907/rjdk.172671

中图分类号:TP312

文献标识码:A 文章编号:1672-7800(2018)002-0060-03

0 引言

目前圖像边缘提取技术按照精度级别可分为两类:一类是整像素级别;另一类是亚像素级别。整像素级别的检测算法主要有 Sobel 算子、 Roberts 算子、LOG算子和Canny 算子等[1-3],其中Canny算子效果最佳,但是此类算法定位精度差,易受噪声干扰产生伪边缘。20世纪70年代提出了亚像素级别的检测算法,它主要有插值算法[4]、矩方法[5]和拟合算法[6]。插值算法复杂度高运算速度慢,矩方法运算精度仅低于拟合算法,但其稳定性不高。拟合算法首先用Canny算子进行边缘粗定位,然后找出边缘的法线,在法线方向上,灰度值近似符合反正切函数和双曲正切函数分布,梯度幅值近似符合高斯函数分布。

1 亚像素边缘检测原理

图像处理理论表明,图像实际边缘的像素灰度在梯度方向上近似符合如图1(a)所示的分布。1,2,3,4,5,6,7,8点的灰度值拟合分布图像近似可以通过反正切函数或双曲正切函数的平移和伸缩等基本变换得到。边缘的准确位置即亚像素边缘位置位于整像素点4与5之间,即灰度值变化率最大的位置。因此需要对有限离散点的灰度值进行拟合,然后找出拟合后曲线的一阶导数等于零的位置,这个位置就是所要定位的亚像素边缘位置。也可利用差分计算像素点位置的梯度幅值如图1(b)所示,其分布图像近似符合高斯函数图像。对1,2,3,4,5,6,7点的梯度幅值进行最小二乘拟合,高斯函数的均值位置就是待定的亚像素边缘位置。

2 亚像素边缘拟合算法

2.1 高斯函数拟合算法

首先利用Canny算子进行边缘粗提取,在给定的像素领域内按线性拟合,找出边缘的切线方向,然后在边缘切线的法线方向附近提取a,b,c,d,e,f,g,h,I,j,k等若干像素点的梯度幅值。如图2所示,将这些像素点向法线投影得到的点作为待拟合点,以左下角的第一个像素点的投影点作为坐标原点,其它像素投影点到这个投影点的距离作为横坐标x,梯度幅值作为纵坐标y,进行高斯曲线拟合[8-10]。

一维高斯函数表达式为:

其中,u为高斯曲线的均值,即对称轴位置,σ为标准差。

对像素点4法线方向插值得到的离散梯度幅值进行高斯曲线拟合,得到的均值位置就是所要定位的亚像素边缘位置。考察高斯函数会发现,直接对其拟合计算量较大,可以直接在其两端取常用对数得到:

高斯曲线的极值点,即灰度值变换率最大的位置,即梯度幅值最大值位置为μ对应的位置。

2.2 反正切函数拟合算法

反正切函数[11]为:

图像实际边缘的灰度分布近似符合反正切函数,通过基本的图像平移和伸缩变换就可以得到灰度分布函数,设变换后的函数为:

其中ω,A为伸缩因子,φ,m为平移因子。如图2所示,a像素点的位置为坐标原点,边缘切线方向为y轴,法线方向为x轴,将这些像素点向法线投影,以左下角的第一个像素点即a的投影点作为坐标原点,其它像素投影点到a点投影点的距离作为横坐标x,像素点的灰度值作为纵坐标y,以式(9)作为拟合核函数,通过最小二乘拟合算法,求得A,ω,φ,m。

通过上述中的理论得知,亚像素边缘位于灰度值变化率最大的位置,对其求一阶和二阶导数得到:

从式(10)可知,灰度值变化率最大位置和拐点位置重合,位于反正切函数x=-φω位置,此位置即是亚像素边缘位置。

2.3 双曲正切函数拟合算法

双曲正切函数[12]为:

图像实际边缘的灰度分布近似符合双曲正切函数,通过图像基本的平移和伸缩变换就可以得到近似的灰度分布函数,设变换后的函数为:

其中,ω,A 为伸缩因子,φ,m为平移因子。如图2所示,a像素点的位置为坐标原点,边缘切线方向为y轴,法线方向为x轴,将这些像素点向法线投影,以左下角的第一个像素点的投影点作为坐标原点,其它像素投影点到这个投影点的距离作为横坐标x,像素点的灰度值作为纵坐标y,以(12)式作为拟合核函数,通过最小二乘拟合算法,可以求出A,ω,φ,m。通过上述中的理论得知,亚像素边缘位于灰度值变化最大的地方,对其求一阶和二阶导数得到:

从式(13)可知,灰度值变换率最大位置和拐点位置重合,位于双曲正切函数x=-φω位置,此位置即是亚像素边缘位置。

3 评价试验

3.1 评价方法

用一幅拍有标准量块的图片(192×210)对上述算法进行评价,如图3所示,检测如图所示的矩形框标记的亚像素边缘位置,利用matlab2014a 实现上述三种算法。

先利用标准差为0.5的5×5的高斯滤波模板对量块图进行滤波,然后采用Canny算子进行边缘粗提取,边缘定位在29列像素点附近位置。对29列像素点在法线方向的12个像素点的梯度幅值进行拟合,然后对29列像素点在法线方向的13个像素点的灰度值进行拟合,如图4(a)、(b)、(c)所示。

3.2 实验数据和评定结果

如表1(a)、(b)、(c)所示,R-Square项为确定系数[13],其表征拟合效果的好坏,其数值越大拟合效果越好;Value项为拟合参数,Standard Error项为参数标准差,标准差越小拟合效果越好。xc为高斯函数的均值位置,b,c代表上文中的ω,φ。对于基于梯度幅值的高斯函数拟合,亚像素边缘位置位于高斯函数均值位置。由表1知该位置即是xc。对于基于灰度值的反正切拟合和双曲正切拟合,亚像素边缘位置位于x=-cb。高斯函数,反正切函数和双曲正切函数拟合定位的亚像素边缘位置分别位于7.126,7.356和7.042个像素点位置。根据确定系数,参数标准差和定位位置综合判断得出结论,此三种拟合方法均能达到亚像素边缘检测的目的,高斯函数拟合效果较好,反正切函数效果好,双曲正切函数拟合效果一般,三种算法的评定结果如表2所示。endprint

4 结语

根据边缘灰度值和边缘梯度幅值的分布特性,对一幅灰度图像首先利用 Canny算子进行边缘粗定位,然后以高斯函数,反正切函数和双曲正切函数三种函数作为拟合核函数,定位亚像素边缘位置,该拟合算法能够达到亚像素边缘检测的目的,具有精度高、抗噪声等优点,在立体视觉定位[14]和工业影像测量[15]中具有重要作用。

参考文献:

[1] JOHN CANNY. A computation approach to edge detection[J].IEEE Trans Patten Analysis and Machine Intelligence,1986,8(11):679-697.

[2] 贺强,晏立.基于LOG和Canny算子的边缘检测算法[J].计算机工程,2011,37(3):210-212.

[3] 雷斯,伍兹,埃丁斯,等.数字图像处理:MATLAB版[M].北京:电子工业出版社,2005.

[4] 孙秋成,周亚洲,宁闯,等.基于三次样条插值的亚像素边缘检测方法[J].控制工程,2014,21(2):290-293.

[5] 付鹏,高晓蓉.基于矩的亚像素边缘检测算法的對比研究[J].微计算机信息,2007,23(6-3):264-279.

[6] 贺忠海,王宝光.利用曲线拟合方法的亚像素提取算法[J].仪器仪表学报,2003,24(2):195-197.

[7] 屈玉福,浦昭邦.视觉测量系统中的亚像素边缘检测技术的对比研究[J].仪器仪表学报,2003,24(4): 460-462.

[8] 尚雅层,陈静,田军委.高斯拟合亚像素边缘检测算法[J].计算机应用,2011,31(1):179-181.

[9] 李云,夏若安.基于曲线拟合的亚像素边缘检测[J].重庆科技学院学报,2008,10(6): 82-84.

[10] 巨志勇,王超男.基于二次曲面拟合的子像素边缘检测算法[J].电子科技,2016,29(6):8-14.

[11] 陈军,张长江.基于小波域反正切变换的红外图像增强算法[J].计算机工程2013,39(1):248-251.

[12] 门绍雄,谭冠荣.图像的双曲正切函数变换[J].仪器仪表学报,1984,5(3):326-330.

[13] 费业泰.误差理论与数值处理[M].北京:机械工业出版社,1983.

[14] 高纯玲.基于双目立体视觉的手术器械跟踪定位研究[D].武汉:华中科技大学,2008.

[15] 李帅.影像测量中的亚像素边缘检测算法[D].合肥:合肥工业大学,2011.endprint