一种自适应Harris角点检测算法*

2015-06-23 13:52常天庆
火力与指挥控制 2015年7期
关键词:角点像素点半径

王 瑞,郝 娜,张 波,常天庆

(装甲兵工程学院,北京 100072)

一种自适应Harris角点检测算法*

王 瑞,郝 娜,张 波,常天庆

(装甲兵工程学院,北京 100072)

针对传统算法检测效果不理想的问题,提出了一种基于自适应非最大抑制策略的Harris角点检测算法;通过设置抑制半径与角点响应函数的局部最大值关联,减小抑制半径获取角点。算法有效解决了阈值选取和“聚簇”的问题。实验表明,该算法检测出的角点均匀分布,能很好地适应特征匹配等实际应用。

Harris,角点检测,自适应非最大抑制

0 引言

地面场景下的目标检测问题一直是研究的难点和重点,由于目标所处的环境和人为方面的因素,导致采用一般的检测算法效果不够理想。目标检测通过提取感兴趣的目标特征进行轮廓提取、特征匹配、目标跟踪等研究。角点作为最重要的特征之一,既保留了图像的重要信息又减少了信息的数据量。近年来,基于角点检测的算法被频繁引入到检测算法中[1-3],其中Harris算法的检测效果较其他算法效果好,应用广泛。

Harris角点检测算法的基本思想是通过构建自相关矩阵得到图像上灰度信号具有明显变化的像素点,计算自相关矩阵的特征值即可得到角点[4]。Harris角点检测算法必须给出阈值才能提取角点,一般方法的阈值选取对图像的属性依赖性大,同时计算复杂不容易满足实时性要求。如何在Harris算法的框架下设计一种提取角点策略是实现检测的重要因素,本文设计了新的自适应非最大抑制算法提取理想的角点。

1 Harris算法原理及局限性

1.1 Harris算法原理

角点是指二维图像边界曲率变化明显的点[4],即图像灰度在多个方向急剧变化的点。Harris角点检测算法是在Moravec算法基础上发展起来的,通过计算一个窗口内图像灰度的变化量将特征点和非特征点分离,算法采用微分算子和自相关矩阵作为角点检测算子:

式(1)中,Ix和Iy分别为x,y方向的偏导数,反映了图像在每个像素点的灰度变化方向;ω(x,y)为高斯窗函数,通过平滑后对噪声有一定的抑制作用。即:

式中,k为常数,常取为k=0.04。

如果一个像素点的是角点,则被认为是局部范围内的极大值所对应的像素点:

当角点判别式R大于设定阈值则为Harris特征点,即:

式中(x,y)为角点。

1.2 Harris检测算法的局限性

Harris角点检测算法具有仿射和旋转不变性,但是存在以下不足:

(1)Harris角点检测算法通过确定局部来提取角点,检测效果依赖于阈值的确定。当阈值过大时,会导致符合条件的角点数目丢失;当阈值过小时,容易导致角点“聚簇”,产生伪角点。

(2)Harris角点检测算法使用高斯窗函数对图像进行平滑。当高斯窗平滑函数过大时,会导致角点位置的偏移;当高斯窗口平滑函数过小时,由于噪声的干扰导致产生伪角点。

2 自适应非最大抑制算法

Harris算法对角点响应函数执行的是非最大抑制,角点的数量受响应函数的影响。自适应非最大抑制是指,在局部范围内计算每个像素点的角点响应函数,将非极大值的像素点的响应函数置为零,这样就只保留了局部极大值,剔除了不可能成为角点的像素点。角点抑制受响应函数影响,只有半径r范围内响应函数是最大值的角点才能够被保留下来,这样保证提取的局部极大值是可靠的。理论上说,初始开始时将抑制半径设定为零。当抑制半径逐渐增加时,遍历图像中的像素点,高斯窗内的响应函数的局部最大值点被保留了下来。当抑制半径增加到一定数量时,期待的角点被检测出来。

定义局部最大值为R(x,y)i,应满足如下条件:

式中,R(x,y)i为响应函数的局部最大值,R(x,y)s为局部范围内的响应函数值,(x,y)i是局部最大值的像素点,(x,y)s是邻域内的任意一像素点。

将角点响应函数的局部最大值进行比较排序比较,建立响应矩阵和坐标矩阵,分别记录局部最大值和响应坐标,比较得到全局最大值R(x,y)imax。至此,图像中各个区域的角点均已被检测出来并记录下来。但此时很可能出现一个角点的领域范围内存在其他角点,即“聚簇”。

设置抑制半径r与局部最大值R(x,y)i相关联,进行如下判断:在该邻域范围内的局部最大值是否为抑制半径范围内的最大值。即:

式中,R(x,y)i为局部最大值,R(x,y)j为抑制半径内的最大值。若满足式(7)的条件,则将该点确定为“新角点”。当某一个特征点被确定为“新角点”后,它将一直保留在该范围内,因为在大的抑制半径内是局部最大值的点,随着抑制半径的减小,该特征点将一直保留在“新角点”范围内。

由以上分析得到,若(x,y)i为角点,那么该点对应的最小抑制半径为:

式中,(x,y)i,(x,y)j为局部最大值的坐标点,r(i)为最小抑制半径。

随着抑制半径的减小,角点被确定为“新角点”。当一个特征点在较大的抑制半径内是局部最大值,那么它在小的抑制半径内仍会是最大值。实验证明,通过算法进行角点抑制,极大程度地避免了聚簇现象的发生。

3 算法实现

自适应Harris角点检测算法实现的具体步骤如下:

步骤1:设定期待角点数N,计算局部最大值R(x,y)i及其坐标值(x,y)i(i=1,2,…,n),n≤N;

步骤2:对局部最大值进行排序比较,将局部最大值按照从大到小的顺序存储在响应矩阵G,坐标值存储在坐标矩阵H;

步骤3:设置初始半径与局部最大值关联,建立新的响应矩阵G1和坐标矩阵H1;判断局部最大值是否满足式(7)的条件,若满足条件,将该局部最大值存储在响应矩阵G1中;

步骤4:依次减小抑制半径,执行式(7)的条件,直到满足期待的角点数量,输出角点数量。

4 实验结果与分析

为了验证本文算法的可行性与有效性,利用两幅待匹配的图像进行仿真验证分析。实验数据:图1的素大小:640×580,像素分辨率大小为72×72。(a)、(b)为瞄准镜视场下的采集到实车图像。坦克目标图像在图(a)、(b)中所占像素大小为120×40。抑制半径初始值r=18,预期角点数量N=300,在PC(AMD Athlon(tm)2.11 GHz,1.93 GB内存)机上采用Matlab R2010b进行验证实验。

图1 原图

图2 原算法在T=0.2Rmax检测结果

图3 原算法在T=0.02Rmax检测结果

首先利用传统Harris角点检测算法进行检测计算,采用文献[7]提到的方法,阈值T=pRmax(0.001≤p≤0.2)。图2为T=0.2Rmax时的实验结果,由于设定的阈值较高,检测出的角点数量稀少,在目标区域内未检测到角点。因此,必须降低阈值才能得到相应的角点。图3为T=0.02Rmax时的实验结果,与图2 T=0.2Rmax结果相比,数量更多的角点被检测出来,目标区域出现了检测出来的角点(如炮管、履带轮等)不过存在着角点分布不均匀,图像下部的大部分角点未被检测出来。为了使角点检测区域均匀和合理并充分利用角点信息此时应该继续降低阈值。图4为T=0.001Rmax时的实验结果。显而易见,检测与前两个实验相比,检测的角点整体分布上趋于均匀,在图像的背景和坦克目标区域的角点检测数量急剧增加,但是伴随出现聚簇现象,在炮塔和主动轮附近的检测角点过多,同样增加了伪角点。图5为本文采用的自适应Harris角点检测算法得到的结果,设定初始抑制半径r=18。通过与传统算法在T=0.02Rmax比较,检测出来的角点分布更加均匀。与传统算法在T=0.001Rmax比较,检测出来的角点避免了角点聚簇而又整体趋于均匀。

图4 原算法在T=0.001Rmax检测结果

图5 本文算法检测结果

图6 改变抑制半径新增角点数

图6为改变抑制半径得到的新添角点数,可以看出,当初始抑制半径减小时,新添加得到的角点数成逐渐上升的趋势,检测出的角点数量满足期待数量。当抑制半径为18时,图1(a)的角点数量为73,图1(b)新增的角点数量为84,抑制半径逐渐减小时新添的角点数如图6所示。

5 结束语

对于复杂场景下的目标检测问题,要求检测算法对场景具有很强的适应性,Harris角点检测算法是基于图像灰度信息的有效方法,本文在进行检测算法设计时,将自适应非最大抑制策略应用到Harris算法之中,通过对角点响应函数的局部最大值进行排序并设置一个抑制半径,通过逐渐减小半径获取角点,极大地避免了阈值设置困难和角点“聚簇”。实验结果表明本文算法的检测效果更加合理。

[1]赵文彬,张艳宁.角点检测技术综述[J].计算机应用研究,2006,23(10):17-19.

[2]房超,王小鹏,牛云鹏,等.基于改进Harris算法的角点检测[J].计算机与数字工程,2011,39(5):142-144.

[3]张雷雨,邵永社,韩阳.适于光学遥感图像的角点特征检测算法[J].计算机工程与应用,2010,46(20):110-112.

[4]Harris C,Stephens M J.A Combined Corner and Edge Detector[C]//Proceedings of the 4th Alley Vision Conference. Manchester,England:IEEE,1988:147-151.

[5]Mokhtarian F,Suomela R.Robust Image Corner Detection through Curvature Scale Space[J].IEEE Trans.on Pattern Analysis and Machine Intelligence,1998,20(12):2549-2552.

[6]毛雁明,兰美辉,王运琼,等.一个改进的基于Harris的角点检测算法[J].计算机技术与发展,2009,19(5):130-133.

[7]沈士喆,张小龙,衡伟.一种自适应阈值的预筛选Harris角点检测方法[J].数据采集与处理,2011,26(2):207-213.

Harris Corners Detection Method Based on Self-adapting Non-maximal Supperssion Algorithm

WANG Rui,HAO Na,ZHANG Bo,CHANG Tian-qing
(Academy of Armored Force Engineering,Beijing 100072,China)

When the target detection result is not ideal,Harris corner detection algorithm based on self-adapting non-maximal suppression strategy is proposed;Ranked local maximum of corner response function and a suppression radius for each corner is set up,corners are extracted through the suppression radius continuously decreasing.The problem of corner clustering and the difficulty of threshold selection is effectively avoided.The experimental result shows that this method is superior to the traditional harris corner algorithm,and can be used in practical.

Harris,corner detection,self-adapting non-maximal suppression

TP391.4

A

1002-0640(2015)07-0084-03

2014-04-25

2014-07-07

装甲兵工程学院科研创新基金项目

王 瑞(1990- ),女,山西太原人,硕士研究生。研究方向:目标检测与识别。

猜你喜欢
角点像素点半径
直击多面体的外接球的球心及半径
图像二值化处理硬件加速引擎的设计
多支撑区域模式化融合角点检测算法仿真
基于局部相似性的特征匹配筛选算法
角点检测技术综述①
基于灰度差预处理的改进Harris角点检测算法
基于像素点筛选的舰船湍流尾迹检测算法
将相等线段转化为外接圆半径解题
基于FAST角点检测算法上对Y型与X型角点的检测
基于canvas的前端数据加密