基于改进边缘检测算子的图像特征点提取算法
2011-05-08王道平
郭 峰 ,王道平,韩 溟
(第二炮兵工程学院电工电子技术教研室,陕西西安 710025)
目前,关于兴趣点并没有统一的定义[1-3],如:两条或两条以上边缘相交的点;边缘上具有局部最大曲率并且曲率大于一定阈值的点;图像中梯度值和梯度变化都很大的点;各个方向亮度变化均足够大的点。正是因为对于兴趣点有不同的理解和定义,才造成了兴趣点检测算法的多样性[4]。典型的几种兴趣点有SUSAN兴趣点检测算法、CSS兴趣点检测算法、PCD兴趣点检测算法等。
1 SUSAN兴趣点检测算法
SUSAN[5](Smallest Univalue Segment Assimilating Nucleus)算法由Smith和Brady于1996年提出。算法是基于同核分割USAN概念提出来的。同核分割USAN(Univalue Segment Assim-ilating Nucleus)是指在一个圆形区域内,与圆心像素的灰度值相同的像素组成的区域。该算法假设在一个相对小的圆形区域内属于同一目标的像素具有相对统一的灰度,算法统计USAN区域的像素的个数,当USAN区域的像素个数为局部最小值并满足某种约束时,相应掩模的中心判为兴趣点。SUSAN可以用于直线和边缘的检测。图1显示了一个在白色背景下黑色的长方形,图中a,b,c,d,e共5个位置分别是5个圆形的模板在图像中不同位置,窗口的中心被称为“核”。窗口中所有具有与核相同或相似灰度的像素,把这些像素构成的区域称为USAN。
由图1可以看出,USAN区域包含了重要的图形结构信息,在灰度平坦的区域内,USAN区域取得最大值,越靠近边缘,USAN区域越小。
图1 简单图像中的4个圆形模型
采用一个包含37个像素的圆形模板,半径为3.4个像素,如图2所示。
为检测兴趣点,需要将模板内每个像素的灰度与模板中心的灰度进行比较。依据式(1)判断掩模范围内某像素同掩模核像素的灰度值是否相同
图2 37个像素的SUSAN圆形模板
依据式(3)计算兴趣点测度
其中,g是预先设定的几何阈值。
2 改进的SUSAN兴趣点提取算法
由对SUSAN原理的介绍,可以看出SUSAN算法是一种错误率低、定位精确而且快速的算法。在SUSAN算法中,有两个阀值比较重要,即几何阀值g和灰度差阀值t。阈值t主要影响算法检测到的兴趣点的数量,对于算法检测到的兴趣点的质量不会造成影响,这是因为该阈值决定的是USAN区域内像素灰度值的变化范围,该阈值的减小能够捕获图像上更加细微的变化,从而使得检测到的兴趣点的数量增加。通常情况下可以依据图像的对比度、噪声和需要的兴趣点的数量来确定该阈值的大小。在大多数情况下,该阈值可以取25,在需要处理低对比度图像时可以让该阈值自适应的变化。阈g主要影响算法检测到的兴趣点的质量,虽然对于兴趣点的数量也会产生一定的影响。该阈值决定了兴趣点的形状,减小该阈值将使得检测的兴趣点的形状更加尖锐,通常情况下g=nmax/2,其中nmax表示掩模内 USAN区域的最大可能面积。因此,如果对于灰度细节比较丰富的图像,对整幅图像使用统一的灰度阀值,检测效果会不很理想。这里,给出一种对t值自适应的提取方法。
在文献[6]中提出了t迭代自适应方法,该方法能够较好地提取出对比度较小图像图形的角点。但比传统算法运算时间长且复杂。缩短运算时间可以通过减少迭代次数和减少每次的计算量。而减少迭代次数,对于算法中初值的选择非常重要。对于每个像素的SUSAN模板,通过计算模板内每个像素与中心像素的灰度差得到模板的灰度差直方图,然后根据灰度差直方图通过迭代法确定该模板的阀值t,使得对于不同的对比度的图像都能够自适应的计算每个模板内适合的t值。
首先计算模板中若干个最大灰度值之和与若干个最小灰度值之和的差值,再乘系数,作为初值t0,如式(4)所示
式中,Iimax和Iimin分别代表图像中最大的i个灰度值和最小的i个灰度值,n一般取5~10。然后根据迭代初值将灰度差直方图分成两部分,由式(5)计算下一个迭代值ti
式中,m为模板中像素点和中心像素点的灰度;k(m)为模板中具有该灰度差值的点的数量;CImax为灰度差值的最大值。每进行一次迭代后进行判断,若ε可任意小,那么停止迭代,取ti作为最后的SUSAN模板的灰度差阀值[7]。由于每个模板的t是根据模板内的灰度差值确定,因此能够很好地检测到不同灰度对比度下的灰度变化,使得USAN区域的判断更加准确。
改进后的SUSAN兴趣点检测算法的具体步骤如下:
(1)选取适当形式的掩模。在实际的应用中,通常图2所示的圆形掩模。
(2)计算模板内像素点与模板中心的灰度差值,得到迭代初始值t0。
(3)根据t0由式(5)计算最佳灰度差值t。
(4)根据计算得到的t由式(1)和式(2)计算该点SUSAN区域的大小。
(5)根据式(3)计算兴趣点测度。
(6)根据USAN区域的结构特征剔出伪兴趣点。
(7)通过非最大化抑制提取兴趣点。
3 试验结果
试验采用一幅遥感图像,其特点为地貌边缘比较模糊[4]。所采用的算法在 Windows环境下使用Matlab7.0编写程序实现[8-10]。将文中算法与典型SUSAN兴趣点检测算法进行运算时间、有效率、命中率进行比较。图3为手动兴趣点检测结果,图4为本算法兴趣点检测结果。
原始图上手动兴趣点的数目为80[4],本算法检测的兴趣点为219,包含典型兴趣点的数目为42,有效率为19.2%,兴趣点命中率为52.5%。算法的运算时间为3.512 s,比典型算法运算时间略长。试验结果证明了算法的有效性,在算法的时间比典型的SUSAN算子有所增加,如何解决这个问题有待进一步研究。此改进的算法可用于场景比较复杂,灰度层次丰富图像的兴趣点检测场合,可在一定程度上保证兴趣点提取的正确率。
4 结束语
利用点特征在今后仍将是进行图像分析和处理的主要手段之一。在分析了典型SUSAN兴趣点检测算法的基础上,给出了一种阀值t设定自适应的算法。首先通过最大灰度值与最小灰度值计算出t的初值,其次通过迭代的方法计算出最终的阀值。给出了检测兴趣点的步骤,指出了应用的场合。
[1]侯宝生.一种基于数学形态学的图像边缘检测方法[J].现代电子技术,2010,33(4):93-96.
[2]罗忠亮.基于该进的SUSAN算子的图像边缘检测算法[J].重庆工学院学报,2009,23(5):102-104.
[3]何云亮.基于Matlab的遥感图像边缘检测算子的实验比较分析[J].计算机技术与自动化,2010,29(2):70-73.
[4]袁海军.基于特征库的遥感图像自动配准研究[D].西安:西安电子科技大学,2007.
[5]SMITH S M,BRADY J M.SUSAN-a new approach to low level image processing [J].International Journal of Computer Vision,1997,23(1):45-47.
[6]刘博.一种基于自适应阀值的SUSAN角点提取方法[J].红外技术,2007,28(6):331-333.
[7]PEREZ M M,DENNIS T J.An adaptive implementation of SUSAN method for image edge and feature detection[C].Internation Conference on SUSAN,1997,2:394-397.
[8]温红艳,周建中.遥感图像拼接算法改进[J].电光与控制,2009,16(12):34-37.
[9]张文君.基于特征库于模糊技术的遥感图像分类研究[D].成都:西南交通大学,2007.
[10]赵辉.基于点特征的图像配准算法研究[D].济南:山东大学,2006.