一种改进的图像快速高精度角点检测算法

2011-06-25 09:39丰,胡俊,马浩,郝
电视技术 2011年15期
关键词:角点圆弧像素点

何 丰,胡 俊,马 浩,郝 宽

(重庆邮电大学 通信与信息工程学院,重庆 400065)

0 引言

角点是计算机视觉研究和图像处理中常用的特征点,也是图像中的一种重要的局部特征点,决定着图像的大致形状,因此在图像匹配及配准、目标识别、光流统计等邻域,角点检测有着独特的应用前景[1-8]。

现今较为流行的角点检测有两类:基于边缘特征提取的角点检测算法和基于灰度变化的角点检测算法。基于边缘特征提取的角点检测算法如文献[2]所示,但是这类方法存在的主要缺点是角点对边缘提取算法的依赖性很大,如果边缘线发生了中断,对角点提取的结果将造成很大影响。基于图像灰度的角点检测方法主要通过计算曲率及梯度来达到检测图像角点的目的,但是这类方法也存在不足:1)未考虑多尺度的因素,如果选用较小窗口高斯卷积后提取角点,那么就会因为噪声的影响出现较多的角点,如果选用较大窗口高斯卷积,又会因为卷积圆角效应使角点的位置出现较大的偏移[3]。2)一般使用梯度与曲率的某种运算的结果局部极值作为角点,但是局部极值点与角点真实位置存在较大偏移。本文提出一种改进的图像快速高精度角点检测算法,利用改进的Harris角点检测算法检测速度快的优点,先检测出较多的候选角点,再利用大模板检测的准确性高,误检率低的优势,采用9×9模板的USAN区域所对应的弧的像元灰度与角点的相似性来完成最终角点的提取,并且采用了自适应的阈值设定,因此在不同对比度图像中都能实现自适应的阈值设定。仿真结果表明,这种方法在角点检测中效果比较突出。

1 改进的Harris方法和SUSAN检测原则

1.1 改进的Harris角点提取方法

Harris[3]算法是Chris Harris和Stepthen提出的一种基于自相关函数的图像灰度梯度的检测算法,该算法的主要思想是通过设定一个窗口模板在图像中移动,计算模板的亮度变化情况,从而判断出角点的位置。

在检测过程中,Harris算法采用x方向的梯度算子(-1,0,1),y方向的梯度算子采用其x方向转置,为了提高定位的准确性,窗口模板的亮度变化的灵敏性,本文采用x方向的梯度算子(-2,-1,0,1,2),相应的y方向为其转置。改进的Harris算法的步骤如下:

1)计算图像在x和y方向的梯度算子Ix,Iy为

2)为了提高抗噪声性能,在图像中加入了二维高斯窗口模板,利用高斯平滑降低噪声的影响,G=exp[-(x2+y2)/2σ2]是高斯窗口模板,当以像元点(x,y)为中心的窗口模板在x方向移动为u,y方向移动为v,那么亮度变化度量的表达式为

式中

3)对图像进行高斯平滑处理,自相关矩阵M为

式中:λ1和λ2定义为其自相关函数的两个特征值,角点响应的条件为,当λ1和λ2都较大时,窗口模板在图像中沿任何方向移动都会引起其内部的亮度剧烈变化,表明特征点为角点。

4)Harris角点响应函数为

式中:det M代表M的行列式,tr M代表M的迹。

由于尺度因子k的随机性,在对比度变化剧烈的图像中,角点提取的效果将会受到很大的影响,为了提高检测性能,角点响应函数重定义为

式中:δ为极小值,一般取δ=10-8,当检测像元点的角点响应函数大于给定阈值,并是局部极大值时,那么该像元点就为角点。

1.2 改进的SUSAN角点提取方法

由USAN区域的概念可知,在图像中任取一点,把以该点为圆心的圆形模板存在一个区域的亮度值与该圆心亮度值相同或相似的区域定义为USAN[5]。正是基于USAN的思想,本文提出了可以利用USAN所对应弧判定角点的方法。算法的思想是:把灰度图像中的角点重新定义为,如果USAN所对应弧长是最短,同一核心USAN所对应的圆形模板的圆弧是连续性的,那么把该点定义为角点。为了更好地提高检测性能,选用9×9的大模板进行角点的检测,圆形模板为9×9的模板,如图1所示。

由图2可知,在d模板中,USAN对应的圆形模板弧长大于1/2L。c模板圆形模板的核心处在边缘上,USAN对应的圆形模板弧长为1/2L。b模板圆形模板的核心处在角点处,USAN对应的圆形模板弧长为最小1/4L。图2中模板a是最大USAN区域对应的圆形模板的弧长最大为L。

改进的SUSAN算法步骤为:

1)设定圆形模板核心像素点亮度值与模板圆周像素点亮度值比较函数是

式中:I(x0)是圆形模板圆心像素点的亮度值,而I(x)则是模板圆周某点处像素的亮度值,y为比较函数的阈值。考虑到实际情况,把比较函数重定义为[9]

式中:t为阈值。

2)灰度图像中任意一点USAN对应的圆形模板的弧长为

除去N(x0)大于1/2L的点,把其余点作为候选点作下一步提纯。

3)证明同一核心USAN所对应的圆形模板的圆弧是连续的,这是为了更好地剔除伪角点。取9×9圆形模板的圆周上任意一点为起始点,按逆时针方向判定圆形模板圆心像素点亮度值和模板圆周上像素点亮度值的判定函数g(xj,i)的跳变次数,其中xj∈R(i),R(i)是以i为圆心的圆形模板圆周上的像元集合,这时就可以根据判定函数的跳变情况来确定弧的连续性,当判定函数g(xj,i)没有发生跳变时,即0次跳变情况,就认定该点为噪声点和干扰点,先设定圆形模板圆周上任意两点,假设为M和N。当判定函数g(xj,i)发生1次跳变情况时,这说明圆形模板圆周上M和N两点是重合的。当发生了2次跳变情况时,如果判定函数g(xj,i)=0,g(xj+1,i)=1,那么就认为像素点xj和xj+1是从非USAN对应的圆形模板的圆弧向USAN对应的圆形模板圆弧转变的边界点,xj+1称为M,如果判定函数g(xj,i)=1,而g(xj+1,i)=0,那么就认为像素点xj和xj+1是从USAN对应圆形模板圆弧向非USAN对应圆形模板圆弧转变的边界点,xj称为N。如果判定函数g(xj,i)跳变次数大于2次,那么表明同一核心USAN所对应的圆形模板的圆弧是非连续性的,该点对应的就是非角点。因此可以通过边界点M沿圆形模板圆周的逆时针方向到圆周上的另一边界点N统计判定函数g(xj,i)的值是否全是1,若全为1,那么同一核心USAN所对应的圆形模板的圆弧是连续性的。

4)角点响应函数的响应为

式中:k为圆形模板的弧长阈值。

5)候选角点进行了非极大值抑制,将USAN对应的圆形模板的圆弧为局部最小,也就是max R(x0)的像素点为最终角点的情况。

2 改进后的算法

在试验中发现,仅用改进的Harris算法虽然检测比较快,但是检测出来的效果不是很理想,对噪声的影响较大。而改进的SUSAN算法虽然检测的效果较好,但是检测比较慢,效率不高。综合两者的优点,先利用改进的Harris算法对全图粗检测一下,提取出较可能多的角点,然后利用改进的SUSAN算法检测验证其角点的真伪,那么检测的速度大为提高。

算法流程如图3所示,具体步骤为:

1)初始化,设定模板大小、邻域模板大小和参数。

2)计算每点的角点反应函数(式(6)),当检测像元点的角点响应函数大于给定阈值,并是局部极大值时,作为角点候选点。

3)在L个候选角点中,证明同一核心USAN所对应的圆形模板的圆弧是连续的,这是为了更好地剔除伪角点。

4)把候选点进行非极大值抑制,将USAN区域对应的圆弧为局部最小的像元点确定角点。

5)返回步骤3),直到计算完L个候选角点,确立最后角点。

3 试验结果与分析

为了检验改进算法的好坏,分别对盒子图像与房子图像进行了一系列仿真测试,仿真环境为Matlab7.0。图4a为改进的SUSAN算法效果图,其中灰度差值门限系数R=6,δ=10-8。图4b为改进的Harris算法的效果图。图4c为本文所提出的算法,有较好的角点检测效果,在图像的角点定位的准确性和误检上,都比传统算法有较好的提高。图5a为改进的SU⁃SAN算法效果图,其中灰度差值门限系数R=8,δ=10-8。图5b为改进的Harris算法的效果图。图5c为本文所提出的算法,在真实图像中也有较好的检测效果。图6a,6b,6c分别为在图像中加入了高斯噪声(σ=0.01)后,改进的SUSAN算法、改进的Harris算法和本文算法提取出的角点,由图6b可知,改进的Harris算法在有噪声情况下,出现的伪角点较多,对噪声比较敏感。改进的SUSAN算法和本文提出的算法在抗噪声能力上都较好,但本文提出的算法在抗噪声性能上更胜一筹,然而,值得一提的是,改进的SUSAN算法很大一部分针对抗噪声性能设计,而本文提出的算法则是综合了其优点。

表1和表2分别对盒子图像和房子图像统计出了角点的个数,表3统计数据充分体现了本文算法具有较好的抗噪能力。

表1 模拟图像中的角点统计结果

表2 真实图像中的角点统计结果

表3 加入高斯噪声(σ=0.01)的试验结果对比

4 小结

本文通过更大的梯度算子求得图像的导数,使得定位的准确性得到了提高,然后利用改进的角点响应函数使得检测的性能进一步提高,检测出候选角点后再利用较大的圆形模板USAN所对应的圆形模板圆弧来确定最终的角点,因此在判定函数比较像素点时,仅仅比较了模板圆周上的像素点,不需要比较整个圆面积。因为该算法不需要依赖于对图像的前期处理,并且设计了多层次的提纯角点,具有较好的积分特性,所以在不加噪声和加噪声的图像中都有较好的角点提取能力。下一步的研究将是提高角点在图像模糊边界的提取。

[1]PEI S C,DING J J.New corner detection algorithm by tangent and vertical axes and case table[C]//Proc.IEEE International Conference on Image Processing.[S.l.]:IEEE Press,2005:365-368.

[2]王凯,于海勋,王广平.一种改进的小波多尺度相乘目标边缘提取方法[J].计算机仿真,2009,26(10):244-247.

[3]张小洪,李博,杨丹.一种新的Harris多尺度角点检测[J].电子与信息学报,2007,29(7):1735-1738.

[4]冯宇平,戴明,张威,等.一种用于图像序列拼接的角点检测算法[J].计算机科学,2009,36(12):270-271.

[5]张映权,王琼华,李大海,等.改进的SUSAN角点检测算法[J].现代电子技术,2009,32(20):42-44.

[6]叶伯洪,徐杜,蒋永平,等.一种改进的SUSAN角点提取方法[J].光学与光电技术,2010,8(1):47-51.

[7]RAFAJLOWICZ E.SUSAN edge detector reinterpreted,simplified and modified[C]//Proc.International Workshop on Multidimensional Systems.[S.l.]:IEEE Press,2007:69-74.

[8]陈书贞,张俊军,练秋生.基于局部特性的指纹细节点提取算法[J].电视技术,2007,31(11):90-91.

[9]WENG Muyun,HE Mingyi.Image feature detection and matching based on SUSAN method[C]//Proc.International Conference on Innovative Computing,Information and Control.Beijing:[s.n.],2006:322-325.

猜你喜欢
角点圆弧像素点
浅析圆弧段高大模板支撑体系设计与应用
基于局部相似性的特征匹配筛选算法
外圆弧面铣削刀具
基于5×5邻域像素点相关性的划痕修复算法
基于FAST角点检测算法上对Y型与X型角点的检测
基于canvas的前端数据加密
六圆弧齿廓螺旋齿轮及其啮合特性
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割
基于边缘的角点分类和描述算法
基于圆环模板的改进Harris角点检测算法