基于特征点匹配的自适应目标跟踪算法

Posted 凌风探梅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于特征点匹配的自适应目标跟踪算法相关的知识,希望对你有一定的参考价值。

基于特征点匹配的自适应目标跟踪算法

2016-01-29 13:11

摘 要:由于实际场景复杂多变,目标在运动过程中往往会出现形变、遮挡等问题,增加了跟踪的难度。为了解决上述问题,提出一种基于特征点匹配的自适应目标跟踪算法。算法初始化时在选定的目标区域内提取特征点,跟踪过程中通过对前后两帧的特征点进行匹配,计算出目标的位置、尺度和旋转变化,进而实现对目标的跟踪。同时通过对特征点的不断更新,可以使算法具有一定的抗遮挡能力。实验表明,该方法在实际应用中效果很好。

0 引言

目标跟踪算法作为视频分析的基本内容之一,受到了广泛的关注,近年来研究人员提出了很多具有针对性的方法,然而由于实际场景的复杂性,目标在运动过程中往往会发生剧烈的形变,部分或完全被遮挡,现有跟踪算法很难完全克服这些问题,还需要进一步研究[1]。由于目标的局部特征在运动过程中比全局特征具有更好的稳定性,且在遮挡情况下仍有一部分局部特征存在,为此研究人员相继提出了许多基于局部特征的目标跟踪算法[2],希望从这个角度出发解决较大形变或者被遮挡目标的跟踪问题。目前常用的局部特征包括HARRIS[3]、SIFT[4]、FAST[5]、BRISK[6]等。参考文献[7-8]采用SURF特征点匹配的方法实现运动目标跟踪,具有一定的抗形变和遮挡能力。参考文献[9]对SIFT特征点进行了研究,提出一种基于改进SIFT特征点匹配的目标跟踪算法。参考文献[10]对MeanShift算法的跟踪结果进行FAST-9特征点匹配,计算出目标的尺度变化,使得算法在原有高效率的基础上具有了更好的抗尺度变化的能力。

鉴于特征点在运动目标发生尺度、旋转变化或是被遮挡时仍能够被检测到,本文采用图像特征点作为运动目标的描述特征,提出一种基于特征点匹配的自适应运动目标跟踪算法,以达到在复杂环境下对目标进行稳定的跟踪。算法根据输入的初始目标矩形框,首先提取目标的特征点作为目标的初始特征。获取一帧新的图像后,在搜索区域内提取特征点,然后与上一帧中的目标特征点进行匹配,根据匹配结果估计出目标的位置、尺度和旋转变化,使用这些变化值更新上一帧目标的跟踪结果,完成当前帧目标跟踪任务。同时更新目标特征点,以使得算法具有一定的抗遮挡能力。

1 特征点匹配

图像中的特征点通常是指与周围像素值存在明显差异,颜色值不连续的点,一般包括线段交点、重心点、高差异的点、局部曲率不连续点、曲线拐点、小波变换的局部极值点、角点以及兴趣算子点等[11]。通常特征点都具有一定的旋转、平移、尺度缩放不变性,对光照变化保持一定的不变性[12]。

考虑到跟踪算法实时性的要求,选用FAST特征点来进行目标跟踪。FAST特征点是由ROSTEN E和DRUMMOND T于2006年提出的一种简单快速的特征点检测算法,相比于其他的特征点检测算法,它的计算速度有了很大程度的提高。FAST特征点是指在该像素点的周围邻域内,有足够多的像素点与该点的颜色值相差较大,也就是说在图像中FAST特征点与其周围像素点颜色值不同,如图1中的A、B两点。那么根据式(1)可以判断图像中的某像素点是否为FAST特征点:

其中,p为要进行计算的像素点,x为p以为圆心、半径为3的圆上的任意一点,I(x)和I(p)分别为x和p的颜色值,εd为颜色差值的阈值,当N大于一定的阈值N0且圆上的N个点中至少有N0个点是连续无中断的,则认为p为FAST特征点。对于半径为3的圆形邻域模板,通常情况下N0取12。

为了提高FAST特征点的检测效率,还可以采用附件的加速技巧,首先判断候选点的圆周上被90°分割的4个顶点处的像素是否满足条件,参见图1中的1、5、9、13这4个点。若这4个点中至少有3个点满足条件,即与候选点的像素值相差大于设定的阈值,则继续判断圆周上其他的点;否则就认为该候选点不是FAST特征点。

在算法的处理过程中,根据上一帧的跟踪结果确定当前帧中目标的搜索区域,再根据以上描述的方法提取出搜索区域的FAST特征点,然后将当前搜索区域的FAST特征点与上一帧中目标的FAST特征点进行匹配。匹配方法如下:计算出要匹配的两个FAST特征点集合中每一个特征点在另一个特征点集合中的最近邻和次近邻,若特征点和最近邻之间的距离与其到次近邻的距离之间的比值小于一定的阈值时,就认为此最近邻是样本的一个初始匹配。为了提高特征点的近邻计算速度,将FAST特征点集构造成BEIS J等人提出的一种改进K-d树(K-dimension tree),然后使用BBF(Best Bin First)算法计算特征点的最近邻和次近邻[13]。获得粗匹配结果之后,再使用RANSAC算法进一步剔除错误匹配,提高匹配正确率,最终得到精度较高的匹配结果。得到的高精度匹配结果可以更好地应用于后续的自适应目标跟踪算法。

2 自适应目标跟踪算法

通过手动选择或者采用运动目标检测算法选中要跟踪的目标之后,可以获得该目标的外接矩形框R1,采用上面叙述的方法提取目标的FAST特征点集合O1,通过上述两步,完成算法初始化工作。在对目标进行跟踪的过程中,假设当前获取的视频图像为Ii帧,第Ii-1帧图像中算法获得的目标外接矩形框为Ri-1,目标的FAST特征点集合为Oi-1,由于两帧之间的时间间隔有限,目标的移动范围也是小距离的,对Ri-1进行适当放大可以获得Ii帧中的目标搜索区域,在搜索区域中提取FAST特征点集合O,O与Oi-1进行匹配,获得匹配点集合对Mi-1、Mi。第Ii-1与Ii帧之间目标的位移可以通过下式估计出:

其中,Pi-1和Pi分别为Mi-1和Mi的重心。目标在运动过程中也时常会出现尺度和旋转变化,可以根据以下两个公式计算出目标在Ii-1与Ii帧之间的尺度和旋转变化:

其中,ai、aj为Mi中任意两个点,bi、bj为Mi-1中分别与ai、aj对应的两个点,s为估计出的目标尺度缩放因子,

为目标从第i-1到i帧发生旋转的旋转角度,R为旋转矩阵。

的计算方法如下:

估计出目标的位移、尺度和旋转变化之后,就可以计算出第Ii+1中的目标。

式(6)中Vi-1为Ri-1的顶点,根据Vi可以获得第Ii帧中目标的外接矩形框Ri。当Mi中特征点个数小于一定阈值时,选取O中位于Ri中的特征点添加到Mi中,获得Ii帧中的目标特征点集合Oi。算法1中描述了该自适应目标跟踪算法。

算法1

输入:视频帧序列I1,I2,…,Ii,…,In和初始目标的外接矩形框R1。

输出:每帧图像中的跟踪目标外接矩形框R2,…,Ri,…,Rn。

具体步骤为:

(1)获取一帧图像Ii;

(2)若i=1,则在R1范围内提取FAST特征点,获得O1,转到1;

(3)将Ri-1适当扩大得到目标搜索区域,在该区域内计算O,O与Oi-1进行匹配获得匹配点对集合Mi、Mi-1;

(4)根据式(2)~(4)计算出目标的位移尺度变化因子s和旋转矩阵R;

(5)根据式(6)计算出目标新的外接矩形框Ri,并更新目标特征点集合,获得Oi;

(6)处理完成则算法结束,否则转到步骤(1)。

3 实验与结果分析

为了验证算法的有效性,选取了多种场景下的运动目标,对算法进行了多组实验,实验结果如图2所示。实验使用的硬件环境为:CPU为Pentium(R)Dual-CoreE6700(主频为3.2 GHz),内存2 GB,软件平台为:操作系统Windows 7(32位),使用C++语言在Microsoft Visual Studio 2010进行编程,调用OpenCV图像处理库。从图2可以看出,所提出的方法对非刚体的行人、刚体的汽车以及旋转角度很大的物体都能有较好的跟踪效果。

4 结论

针对跟踪目标在运动过程中会发生尺度和旋转变化导致跟踪失败的问题提出一种采用局部特征点匹配的运动目标跟踪算法,通过实验可以发现该算法能够很好地适应目标的缩放和旋转变化,对目标一直保持稳定的跟踪,且通过对跟踪过程中目标特征点的更新,使得该方法具有一定的抗遮挡能力,具有较好的实用性。不过未来还需要对算法进行更多的实验和改进,以进一步提高算法的鲁棒性和实时性。

参考文献

[1] 高韬,刘正光,张军,等.基于特征点的多运动目标跟踪[J].电子与信息学报,2010.5,32(5):1111-1115.

[2] NEBEHAY G, PFLUGFELDER R. Consensus-based matching and tracking of keypoints for object tracking[C]. Winter Conference on Applications of Computer Vision, 2014: 862-869.

[3] HARRIS C, STEPHENS M. A combined comer and edge detector[A]. Proceedings of the 4th Alvey Vision Conference[C]. Manchester, UK, 1988:147-151.

[4] LOWE D G. Distinctive image features from scale-invariant keypoints[J]. International Journal of Computer Vision, 2004,60(2):91-110.

[5] ROSTEN E, DRUMMOND T. Machine learning for high-speed corner detection[C]. European Conference on Computer Vision, 2006:430-443.

[6] LEUTENEGGER S, CHLI M, SIEGWART R. Brisk: binary robust invariant scalable keypoints[C].Computer Vision-ICCV,2011: 2548-2555.

[7] 王露露,张洪,高忠国.基于SURF的目标跟踪算法[J].江南大学学报(自然科学版),2012,11(5):515-518.

[8] 梅振顺,战荫伟,钟左峰.基于SURF特征的目标跟踪[J].中国体视学与图像分析,2011,16(1):28-32.

[9] 李明.基于SIFT特征点匹配的目标跟踪算法研究[D].合肥:合肥工业大学,2011.

[10] Song Yi, Li Shuxiao, Chang Hongxing. Scale adaptive mean shift tracking based on feature point matching[C].2013 Second IAPR Asian Conference on Pattern Recognition, 2013:220-224.

[11] 赵登科.立体视觉测量中的点特征提取与匹配算法[D].沈阳:沈阳理工大学,2013.

[12] 刘洁.基于特征点的目标检测与跟踪方法研究[D].成都:电子科技大学,2008.

[13] 王永明,王贵锦.图像局部不变性特征与描述[M].北京:国防工业出版社,2010.

以上是关于基于特征点匹配的自适应目标跟踪算法的主要内容,如果未能解决你的问题,请参考以下文章

基于SIFT特征提取的图像拼接算法matlab仿真

目标跟踪文章翻译--基于主动特征选择的鲁棒目标跟踪

滤波跟踪基于matlab最近邻算法多目标航迹关联含Matlab源码 2093期

滤波跟踪基于matlab最近邻算法多目标航迹关联含Matlab源码 2093期

机器学习实战Ch02: k-近邻算法

SIFT特征匹配算法介绍