改进的多尺度Harris角点检测算法
2014-02-16张翀
张 翀
改进的多尺度Harris角点检测算法
张 翀
(大连交通大学软件学院,大连,116045)
为提高图像中角点检测的准确性,以及对图像噪声的抗干扰性,提出了一种多尺度Harris角点检测算法。该算法首先对图像进行多次高斯平滑,对每次平滑后的图像进行Harris角点检测,获得角点信息;而后,利用真实角点比噪声更稳定的特性,通过统计不同尺度下获得的角点信息,最终提取到真实的角点。实验证明,对于包含大量噪声的图像,提出的多尺度Harris角点检测算法仍能够准确的提取到真实的角点。
角点检测;Harris算法;多尺度;高斯平滑
1 绪论
图像的角点在计算机视觉中有广泛的应用,如三维重建、模式识别等。该问题近来受到研究者的广泛关注。角点问题概括起来主要包括角点提取和匹配。随着机器视觉领域的不断发展,越来越多的角点提取与匹配算法被提出来。
19世纪70年代末,Moravec提出了第一种角点检测方法;Kitchen和Rosenfeld提出的利用微分几何算子的算子,对于每个像素点赋予一个角点测度;Wang提出了一个用作运动估计的流行的角点检测算子,他们用微分算子计算灰度曲面的曲率,进而检测角点;Beaudet提出利用拓扑方法进行检测,Beaudet算子是一个旋转不变的角点测度,通过计算Hessian的行列式便可得到;利用自相关方法的Moravec算子具有里程碑式的意义,被广泛使用的Harris算子就是根据其思想而得到的,并且Moravec方法中首次提出了“兴趣点”的概念;而针对Harris算法抗缩放方面的不足,Low提出SIFT特征点提取方法。
然而,Moravec算法直接对图像进行角点检测,不进行去噪;Harris角点检测算法仅仅对图像进行一次高斯平滑,去噪效果也不理想;虽然Susan角点检测算法具有积分性质,有一定的抗噪能力,但从根本上解决不了噪声的干扰。因此,本文提出了一种多尺度Harris角点检测算法,不断对图像进行高斯平滑和Harris算法检测的迭代,利用角点比噪声更稳定的特点,来区分多次尺度平滑后的真实角点与噪声。通过试验,验证了多尺度Harris角点检测算法的检测效果明显好于经典角点检测算法。
2 经典Harris角点检测算法
Harris在1988年提出了一种基于信号的点特征提取算子,该方法的提出受到了信号处理中自相关函数的启发,通过对图像进行一阶差分,在图像中往往用自相关函数描述局部图像灰度的变化程度,而图像中的角点与自相关函数的曲率有关。
具体实现步骤如下:
3 改进的多尺度Harris角点检测算法
现实中,大多图像都趋于复杂图像,多尺度Harris角点检测算法显得更加常用,检测出来的角点需要是稳定的,在基于特征的匹配中尽可能准确的。单尺度的Harris角点检测算子将很难保证既稳定,又准确。位置的准确性和稳定性是互相抵消的,大尺度可以更多的是包含图像的全局信总,但是大量的位置将会被改变。由于这种此消彼长,大量在大尺度下检测出来的角点具有非常差的位置准确性。这里,提出了一种多尺度分析方法来进行角点检测。
在较小的尺度中,图像的细节会被提取出来;在较大的尺度中,可以得到整体的特征。因此,这种算法检测出来的角点,应该存在于不同的尺度中。因为角点在较多的平滑尺度中被检测出来,根据高斯核的大小来设置非极大抑制窗口的大小。多尺度Harris角点检测算法的另外一个优势就是不需要考虑角点数量与尺度的抵消,角点在几个尺度下被检测出来,在低尺度下存在的角点可以认为是角点候选点,而只能在大尺度下检测出来的将被取消。这样,准确性与稳定性的此消彼长的问题就可以被解决了。
对以上多个尺度平滑后的图像进行角点检测之后,将进入一个区别真实角点与噪声干扰的决策环节。的值按降序排列,假设前个值可被选为这个尺度下的候选点,这其中必然包括真实的角点,另外还有噪声的干扰。真实的角点具有邻域结构稳定的特点,因此经过尺度平滑后对角点处的结构,灰度变化影响不大。而噪声大多具有随机性,邻域不稳定,与邻域像素差异很大,因此经过高斯平滑后,可以使噪声减弱,从而多次高斯平滑后,可以彻底消除噪声。
基于以上分析,可以得出以下结论:
1) 大尺度平滑后的检测出来的角点,必然在低尺度下可以被检测出来;
2) 明显的特征点必然会在大尺度下被检测出来;
3) 噪声会随着尺度的增大而被消除;
4) 在大尺度平滑后,检测出的角点趋于稳定。
4 实验结果及分析
4.1 多尺度角点检测算法实验
本文选取一幅包含噪声的图像进行角点提取,如图1,图2(a)~图2(f)分别为图像在不同尺度下提取角点的结果。
图1 初始图像Fig.1 Original image
图2 不同尺度下的检测结果Fig.2 Detecting results under multi scales
经过多尺度Harris角点检测算法检测结束之后,以下是区分正确角点与噪声干扰的决策环节。可以看出经过尺度平滑次数越多,检测的结果就越准确,而且消除噪声的效果也越好,见表1。
表1 不同尺度下的角点数目Tab.1 The number of corners under different scales
图3 角点检测决策图Fig.3 Decision diagram of corner detection
随着平滑次数的逐渐增加,噪声干扰不断减小,而特征明显的点被保留了下来。最后,图2(d),图2(e),图2(f)的检测的结果保留了所有具有明显特征的点,它们符合以上检测角点的结论,即真实的角点必然会在近可能多的尺度下被检测出来,在大尺度平滑后,角点的稳定性便显现出来,它们可以在若干次平滑后仍然被检测出来。如图3.20所示,图像中只有索引为 603,809, 5284, 22881, 39484, 66995, 67087, 109595,109687,119103,119398的点在此算法中可被认为是角点(第17,18次尺度平滑后检测结果与第16次尺度平滑后检测结果相同,在此未标出)。
4.2 不同算法结果与比较
以下是以噪声很大的几何形状图片为素材,分别应用Moravec角点检测算法(算法1)、Harris角点检测算法(算法2)、Susan角点检测算法(算法3)、多尺度Harris角点检测算法(算法4)对图像进行了角点检测试验,图中角点均用符号‘+’表示。
图5 不同算法的检测结果Fig.5 Detecting results of different algorithms
图6 不同角点检测算法比较结果Fig.6 Comparing result under different corner detection algorithms
由图5可以看到不同的角点检测算法检测出来的效果是不同的。这是一张典型的复杂图像,图片具有信息大,噪声大的特点。多尺度Harris角点检测算法利用不断的高斯函数平滑迭代后,噪声逐渐削弱,最后达到一个良好的效果,有效的解决了这一问题。虽然改进的Harris算法的计算量要高于原始的Harris算法,但它能够合理地权衡位置的准确性和稳定性。除文中两个算法比较的例子,此外还另选了8张图片对不同算法的检测的结果做了比较,比较结果如图6,结果显示多尺度角点检测算法要明显好于Moravec、Harris、Susan角点检测算法。
注:正确率二特征点数/检测出的角点数。
5 总结
针对三种经典角点检测兑法对噪声的处理不理想的缺陷,本章提出了一种多尺度Harris角点检测算法,即对图像进行不断的高斯平滑去噪,循环对角点进行检测,在进行多尺度Harris角点检测后,提出了一种判别角点与噪声的策略,通过统计各尺度平滑下的检测结果来获取最终真实的角点。试验证明多尺度角点检测算法具有较好的准确性和稳定性。
[1] H Moravec, Obstacle Avoidance and Navigation in the Real World by a Seeing Robot Rover.Tech Report CMU-RI-TR-3,Carnegie-Mellon University,Robotics Institute,September 1980.
[2] L Kitchen,A Rosenfeld.Gray-level corner detection[J].Pattern Recognition Letters,1982, 1(2): 95-012.
[3] H Wang,M Brady.Real-time corner detection algorithm for motion estimation[J].Image and Vision Computing,1995,13(9):695-703.
[4] P R Beaudet.Rational invariant image operators[C]. Fourth International Conference on Pattern Recognition,1978, 579-583.
[5] C Harris,M Stephens.A combined corner and edge detector[C].Alvey vision conference,1988,147-152.
[6] J Chu,J Miao,G.M.Zhang,et al.Edge and corner detection by color invariants[J].Optics & Laser Technology,2013, 45, 756-762.
[7] Y T Wang,Y Q Chen,J Li.The Harris corner detection method based on three scale invariance spaces[J]. International Journal of Computer Science Issues, 2012, 9(6):18-22.
[8] L H Li,L L Zhang.Corner detection of hand gesture[J].TELKOMNIKA Indonesian Journal of Electrical Engineering,2012,10(8):2088-2094.
[9] M Ghosh.Human Identification by gait using corner points[C].I.J.Image,Graphics and Signal Processing,2012,2,30-36.
Improved Harris Corner Detection Algorithm with Multi Scales
Zhang Chong
(College of Software,Dalian Jiaotong University,Dalian,116045,China)
In order to improve the accuracy of corner detection in image,and remove noise interference effectively,an improved Harris corner detection algorithm with multi scales is proposed.Firstly,the detected image is smoothed multi times through using Gaussian function,then Harris corner detection algorithm is applied in all smoothed images with different scales,and corner information can be acquired; Finally,because corners are more stable than noise,true corners can be acquired by counting corner information under different scales.Experiment shows that for the image with much noise,the true corners can be still detected by the proposed Harris corner detection algorithm with multi scales.
Corner detection;Harris algorithm;Multi scales;Gaussian smoothing
TP391.4
A 国家标准学科分类代码:520.2040