孙惠英
摘要:该文基于全局和局部曲率特性的角点算法,提出了一种基于直接曲率尺度空间的曲率积分的角点检测。该算法首先将原算法中的曲率尺度空间替换为直接曲率尺度空间,减少了计算量,然后针对原算法中容易将钝角点误认为圆角点移除的缺点利用设置阈值的多尺度曲率积来加强角点检测,减少了正确角点的丢失。最后再利用自适应支持域确定的角度和动态曲率阈值移除由噪声引起的错误角点和圆角点。实验结果证实该算法不仅提高了检测正确角点的数目,同时提高了检测效率,并且取到的角点更加稳定。
关键词: 角点检测;曲率尺度空间;直接曲率尺度空间;自适应支持区域
中图分类号:TP37 文献标识码:A 文章编号:1009-3044(2015)28-0184-02
角点作为图像的一个局部特征,有不受光照影响及旋转不变的特点。角点不仅保留图像重要的特征信息,同时降低了图像信息的数据量,提高了计算速度,使其在目标跟踪、形状匹配等领域有着广泛的应用。在Witkin[[1]]和Koenderink[[2]]提出基于尺度空间的图像处理算法后,Mokhtarian及Suomela提出了基于曲率尺度空间(Curvature Scale Space)的角点检测算法[[3]]。该算法容易丢失真实角点,同时出现大量的伪角点,因此, Mokhtarian和Mohanna针对轮廓长度不同的使用不一样的尺度,以避免正确角点的遗漏[[4]],X.C.He 和N H C Yung提出了自适应的角点算法[[5]]。该算法在考虑全局特性时,由于钝角点邻域的全局曲率特征变化很快,带有重要的角点信息,具有提取价值,所以应该保留钝角角点,但是圆角点和钝角点在某些特殊情况下不好分辨,并且一个钝角在多次滤波以后也会变成圆角的,这个时候就容易丢失正确角点,并且该文献用于移除边界噪声引起的伪角点所用的算法过于复杂,增大了计算的复杂度。所以该算法仍然存在不足。
基于此,本文提出了基于直接曲率尺度空间的自适应角点检测方法。该算法在文献[[5]]的础上,采用设置阈值的曲率积来加强角点,减少正确角点的丢失,该方法不仅提高了角点检测精度和稳定性,同时降低计算复杂度。
1 改进的角点检测算法
轮廓曲线容易受噪声影响产生毛刺,影响图像角点的提取,文献[[6]]中给出了经高斯平滑后的轮廓曲线的曲率公式:
[k(u,σ)=Xu(u,σ)Yuu(u,σ)-Xuu(u,σ)Yu(u,σ)Xu(u,σ)2+Yu(u,σ)232] (1)
[Xu(u,σ)=x(u)?gu(u,σ)], [Xuu(u,σ)=x(u)?guu(u,σ)],[Yu(u,σ)=y(u)?gu(u,σ)],[Yuu(u,σ)=y(u)?guu(u,σ)].
其中[?]是一个卷积符号,[u]为弧长参数,[g(u,σ)]是高斯核函数,[σ]为尺度参数, [gu(u,σ)],[guu(u,σ)]分别为[g(u,σ)]的一阶和二阶导数。在此基础上文献[[5]]中提出了基于全局和局部曲率特性的角点检测。文献[[5]]是基于曲率尺度空间(CSS)下的角点检测算法,它是在每个尺度下,先计算[x(u,σ),y(u,σ)],再计算演化后曲线的曲率。本文算法是先求出曲率,然后用高斯函数进行卷积,如[k(u,σ)=k(u)?g(u,σ)]。曲率尺度空间(CSS)技术要在不同的尺度下分别演化函数[x(u,σ)]和[y(u,σ)],而直接曲率尺度空间(DCSS)技术只仅需要演化函数[k(u,σ)][[7]]。由此可见,直接曲率尺度空间(DCSS)技术减少了计算量。文献[[5]]算法中步骤6)移除圆角点时容易将钝角点错误移除钝角,丢失正确角点,所以本文采用设置尺度阈值的多尺度曲率积的思想来加强角点检测。设置阈值是因为在很低的尺度下的曲率受噪声比较严重,这些曲率值可以忽略掉,减少计算量。这样不仅减少了计算的次数,增大检测角点的效率,同时可以使检测到的角点位置更加的稳定和精确。对文献[5]的步骤3)、4)进行了改进,具体算法如下:
1)使用Canny算子获得边缘图像;
2)用曲率尺度空间(CSS)算法提取轮廓曲线;
3)在DCSS技术下,计算尺度大于阈值的曲线的曲率,并计算出曲率乘积。把局部曲率最大点作为候选角点;
4)选定一个范围,将该范围内曲率乘积的绝对值大于阈值的局部极值点选为候选角点;
5)利用自适应支持区域移除由噪声引起的角点;
6)通过基于自适应支持域的平均曲率来设置动态的曲率阈值[T(u)],将候选角点的曲率小于动 态曲率阈值的作为圆角点移除;
7)最后,考虑轮廓曲线是否闭合。当轮廓闭合时,采用循环卷积,当轮廓断开时,在断开的两端采用对称扩展的方式进行处1理。若是端点和紧邻的角点相距很近的话,可以被标注为角点。
2 实验结果和分析
为了对比本文算法的角点检测结果,分别采用Harris、SUSAN、文献[5]和本文改进算法对以下二幅图像进行了角点检测对比试验。检测结果如图1、2所示:
从图1和图2可知,虽然Harris、SUSAN算子检测出了大部分正确角点,但是也检测出大量的错误角点,遗漏了一些正确角点,总的来说正确检测率并不理想。而通过文献[5]算法基本上检测出了所有的真实角点,但是出现了很少部分的伪角点。从图1(d)可见本文算法检测出了全部的真实角点,并且没有出现错误角点,另外三种方法无论如何调整阈值,都不能达到本文算法的检测结果。从图1和图2可以看出本文提出的算法具有很高的定位精度。图2表示了纹理信息丰富的房屋图,通过观察显示,本文改进的算法的检测结果优于其他三种检测方法。本文算法检测的正确角点数最多,同时检测的错误角点数目是最少的。实验结果表明,本文算法在定位与检测性能方面优于其他算法。Harris算法、SUSAN算法、文献[5]算法和本文算法的具体检测结果具体如表1所示。
虽然Harris、SUSAN、CSS算子检测出木块的大部分正确角点,但是由于检测出大量的错误角点,正确率并不高。本文提出的算法的正确检测率效果显然优于其他三种算法。从房屋图像上可以看到,它的砖墙上包含了纹理及一些复杂的细节信息。相比与简单图像,要想检测出正确角点有一定的难度。从表1可以看出,本文算法检测出了房子的大部分正确角点,并且检测出的错误角点数目明显比其他几种算法少。
3 结论
本文针对全局和局部曲率信息的角点检测论文中出现的可能把钝角角点当成圆角点而移除等一系列的问题,提出了基于DCSS的曲率积的角点算法。它是在直接曲率尺度空间下利用设置阈值的曲率积的思想加强角点检测,在一定程度上提高了角点检测的正确率及效率。通过实验验证,本文算法不仅可以提取大部分的正确角点,而且降低了错误角点的产生,使得该算法在图像匹配领域有着非常重要的作用。
参考文献:
[1] Witkin A.Scale space filtering[C]. In:Proc 8th International Joint Confence Artifical Intelligence,1983,1019-1021.
[2] Koenderink J.The structure of images[J].Biol Cyber,1984,50(5):363-370.
[3] Mokhtarian F, Suomela R.Robust image corner detection through Curvature Scale Space[J].IEEE Trans on Pattern Analysis and Machine Intelligence,1998,20(12):1376-1381.
[4] Mokhtarian F,Mohanna F.Enhancing the curvature scale space corner Detector[C].Proc. Scandinavian Conf.on Image Analysis,2001:145-152.
[5] He X C, Yung N N C. Corner detector based on global and local curvature properties[J].Optical Engineering,May 22,2008.
[6] Mokhtarian F, Mackworth A K.A Theory of Multi-Scale , Curvature-Based Shape Representation for Planar Curves[J] . IEEE Trans on pattern Analysis and Machine Intelligence,1992,14(8):789-805.
[7] 钟宝江.图象轮廓处理技术的基础算法研究[D].南京:南京航天航空大学,2007.