APP下载

基于SUSAN原理的黄河模型角点检测*

2012-07-17李贺林赵建军

山西电子技术 2012年1期
关键词:角点灰度像素

李贺林,赵建军

(河南大学先进控制与智能信息处理研究所,河南开封475001)

角点特征是图像的重要特征,可以定义为:两条或多条边界的链接点。在各种图像特征中,角点具有旋转不变和不随光照条件变化改变而变化的优点。用角点作为特征点,不但减少了参与计算的数据量,而且又不丢失图像的灰度信息[1]。利用角点特征进行匹配可以大大提高匹配的速度[2]。角点作为输入可应用3D建模,尤其在实时处理中有很高的应用价值。在实体黄河模型的实验中,河深的测量是其中重要的一个方面,深度测量实现的关键技术在于特征提取和特征匹配,对黄河模型来说,要测量河面到测量点的距离,第一步就是要在河面上提取体特征和特征匹配;因此,河面的边缘特征提取成了研究的重点。而角点又是边缘的特殊点,边缘检测是图像处理的最基本内容,是提取特征和特征匹配的第一步,为后续的物体识别与三维重建提供了重要信息。为此,我们在岸上或是水里放置方形的标示物,用距离河岸一定距离并在同一直线上的两摄像机拍摄左右两张图片。为了测量水深,就要测量河岸或水面到摄像机的距离,为此我们把标示物上的角点作为特征点来检测和匹配,就能实现测量目的。经典的检测方法如Robert,Sobel,Canny等方法,都是对原始图像中像素的小邻域构造检测算子,进行微分运算,求得梯度最大值或二阶导数的过零点,最后选取适当的阈值来提取。算法涉及梯度的运算,因此均存在对噪声敏感,计算量复杂等缺点。在实践中,发现SUSAN算法只基于对周边像素的灰度比较,完全不涉及梯度运算,对局部噪声不敏感;具有算法简单,定位准确,抗噪能力强等特点。适于含噪图像边缘和角点检测,所以本文选择了SUSAN算法来提取黄河模型的角点信息。

1SUSAN算法

1.1 SUSAN特征检测基本原理

SUSAN算法是由Smith和Brady首先提出的[3]。其算法的基本依据是图像中同一特征区域的内部特征(通常指灰度值)是一致或相近的。在介绍SUSAN方法前首先介绍USAN区域定义。

如图1所示,用一个圆形模板在图像上移动,若模板内像素灰度与模板中心像素(称为核)灰度的差值小于一定阈值,就认为该点与核具有相同或相近的灰度。由满足这样条件的像素组成的区域称为吸收核值相似区USAN。图像中平坦区域像素点USAN面积最大,边缘点次之,角点处最小。其中角点越尖,USAN区域面积越小。可以看出当圆形模板完全处在图像或背景中时,USAN区域面积最大(如图1中的1和2);当模板移向图像边缘时,USAN区域逐渐变小(如图1中4);当模板中心处于边缘时,USAN区域很小(如图1中的3);当模板的中心位于角点时,USAN区域最小(如图1中的5)。通过计算图像中每一个像素的USAN值,设定一个USAN阈值,查找小于阈值的像素点,即可确定角点。

图1 SUSAN特征检测原理

1.2SUSAN 算法

对整幅图像中的所有像素,用圆形模板进行扫描,比较模板内每一像素与中心像素的灰度值,通过与给定的阈值比较,来判别该像素是否属于USAN区域,如下式:

式(1)中c(x,y)为模板内属于USAN区域的像素的判别函数;I(x0,y0)是模板中心像素(核)的灰度值;I(x,y)为模板内其任意像素的灰度值;t是灰度差门限。图像中每一点的USAN区域大小可用下式表示:

得到每个像素的USAN值以后,再与预先设定的门限进行比较,当n(x,y)<g时,可以认为所检测到的像素位置(x,y)是一个角点。下式来产生角点初始响应:

由式(3)得到的角点初始响应值大小符合SUSAN原理,即SUSAN区越小,初始角点响应就越大.而且为产生各向同性的角点响应。

2 改进的SUSAN算法

2.1 比较函数和自适应阈值t的选取方法

为了更为精确地检测,在实际应用中通常对式(1)采用下面更稳定、更有效的相似比较函数:

理论和试验证明,指数取6时,错误的否定和错误的肯定的概率最小[4]。门限t表示所能检测边缘的最小对比度,也是能忽略噪声的最大容限。它主要决定了能够提取的特征数量。t越小,从对比度越低的图像中提取角点特征越清晰,而且提取的特征也越多。因此对于不同对比度和噪声情况的图像,应取不同的t值。然而一个好的算法,门限的取值不应该依赖于人为的干涉,而应根据不同条件自动给出最优值。通过对图像灰度值和对比度进行分析,提出不同图像对比度下t的自适应取值方法。即

式中,Iimax,Iimin分别代表图像中最大的i个灰度值和最小的i个灰度值。经实验验证,角点检测时,t为ΔI的(ΔI=Iimax-Iimin在目标和背景均匀情况下,ΔI为图像的绝对对比度)20%左右时,能够较好地提取不同对比度下的边缘特征,m一般取图像中总像素的千分之一。

2.2 几何阈值g的选取方法

在传统的SUSAN算法中,几何阈值g是一个上限阈值。只要当前点的USAN面积小于g,就将当前点检测为角点。这样的阈值,会将孤立的噪声点检测为角点,因为一个孤立噪声点的USAN面积为零。也会将一些细长线段上的多个点当作角点检测出来,因为这些点的USAN区域都比较小。有些过于尖锐的三角区域,易受干扰,有时候并不是感兴趣的点,也易被检测。

为了解决这个问题,考虑一种采用上下限的几何阈值。将式(3)的响应函数改为:

其中g2是几何阈值的上限,阈值g2决定了角点的USAN区域的最大值,g2过大时,角点附近的像素可能作为角被提取出来;过小则会漏检部分角点。当UNSAN区域小于此门限时,才认为当前点是角点,与式(3)中的g作用一致。实验证明,角点提取时g=1nmax/2时[5](nmax为模板的最大USAN值),可以较好地提取出角点,g1是几何阈值的下限,只有当USAN区域大于此阈值时,才认为当前点是角点,否则,当作噪声丢弃。通过下门限g1的设置,可以非常简单有效地把像素点数小于g1的噪声去除。门限t的选取确定了所能检测角点的最小对比度和能忽略噪声的最大容限。

SUSAN算法的大致流程图如图2所示。

图2 改进SUSAN算法流程图

3 仿真实验

SUSAN原则中的模板采用近似圆,以使检测达到各向同性。模板较小时,如果门限选取不恰当,可能会发生角点漏检的情况。模板也不宜取得太大,否则会增大运算量。通常可取7×7像素模板。本文采用半径为R=3.4的近似圆形模板,即37像素模版。

图3(1)原始图像(2)原SUSAN算法(3)改进SUSAN算法

我们用matlab7.0作为实验平台进行了仿真实验。经过仿真验证,设定原来的SUSAN算法的几何阈值g=20,改进的算法g1=7,g2=20这样是比较合适的。小噪声和细小线段上的点被剔除,角点提取清晰,细致,定位精确。传统的canny算法和本文改进的SUSAN算法对黄河模型图像提取角点后作对比,从提取的图上可以很直观地看出(见图3),和原SUSAN算法比较,改进的SUSAN算法提取角点,定位精确,消除了一些虚假角点,不必要的噪声被剔除。这对下一步立体匹配创造了条件。

4 结论

上述改进的SUSAN角点提取算法,一是用自适应灰度差阈值和上下限几何阈值替代经典算法中的阈值,避免了将孤立噪声点和细线段上的点被误检测为角点的情况;去噪性能好,计算量小,定位准确。二是通过增加边缘像素的对比度,从而使图像边界细致,区分度高。此效果优于原算法,但几何阈值的选取方法,需要具体的实验验证,运行的时间较长一些。所以如何提高运算的效率将是下一步需要进行的工作。

[1]SHEN F,WNAG H.Real Time Gray Level Corner Detector[J].Pattern Rection it ion Letters,2002,23(8):1-6.

[2]Harris C,Stephens M.A Combined Corner and Edge Detector[C].Proc.4th Alvey Vision Conf,1988.

[3]SMITH S M,BRADY J M.SUSAN-A New Approach to Low Level Image Processing[J].Journal of Computer Vision,1997,23(1):45 -78.

[4]魏光杏,吴锡生.新型边缘检测法[J].计算机工程与设计,2007,28(4):882 -883,887.

[5]翁木云,何明一.图像综合特征及其在图像检测与匹配中的应用[J].中国图像图形学报,2007,12(1):121-126.

猜你喜欢

角点灰度像素
采用改进导重法的拓扑结构灰度单元过滤技术
像素前线之“幻影”2000
基于灰度拉伸的图像水位识别方法研究
“像素”仙人掌
基于FAST角点检测算法上对Y型与X型角点的检测
ÉVOLUTIONDIGAE Style de vie tactile
基于最大加权投影求解的彩色图像灰度化对比度保留算法
基于边缘的角点分类和描述算法
基于灰度线性建模的亚像素图像抖动量计算
基于圆环模板的改进Harris角点检测算法