一种基于CMT框架的目标跟踪算法研究∗
2017-12-18徐峰磊任明武
袁 峻 徐峰磊 任明武
(南京理工大学计算机科学与工程学院 南京 210094)
一种基于CMT框架的目标跟踪算法研究∗
袁 峻 徐峰磊 任明武
(南京理工大学计算机科学与工程学院 南京 210094)
论文提出了一种基于CMT(Consensus-based Tracking and Matching of Keypoints for Object Tracking)框架的目标跟踪算法。针对传统的CMT算法采用固定模型的缺点,该文引入时空上下文(Spatio-Temporal Context)跟踪算法,提出一种由跟踪器,检测器与融合器组成的目标跟踪算法。该算法将时空上下文跟踪算法作为跟踪器,使用Kalman滤波预测目标所在位置,减小在图像中特征点检测范围,将CMT中的特征点匹配算法作为检测器,使用融合器分析和评估跟踪器与检测器结果,决策出最终的结果,并执行有效的模型更新策略。
目标跟踪;CMT跟踪算法;STC跟踪算法;级联检测器;模型更新
1 引言
目标跟踪是近些年来计算机视觉研究的关键问题之一,国内外学者一直致力于跟踪算法的研究,也不断的取得了很多研究成果。但是由于目标跟踪的过程中存在诸多复杂问题,如:目标形变,目标遮挡,目标尺度的变化,以及环境的复杂多变,目标跟踪仍然是计算机视觉领域中面临的一大难题。
目标跟踪的基本思路是不断检测到目标的特征,从而不断更新目标的位置。常见的跟踪算法分为以下三类[1]:基于整体模型的目标跟踪算法;基于特征的跟踪算法;基于判别模型的跟踪算法。
STC[2]跟踪算法就是基于整体模型的跟踪算法,他对目标与附近区域进行统计关系建模,通过在置信图中不断寻找似然概率最大的位置进行目标跟踪,该算法跟踪效果好,算法效率高,但是在模型更新策略上具有一个不可忽视的缺陷,即当目标发生遮挡时,算法会错误的更新模型,导致之后的跟踪产生漂移甚至跟丢。
CMT[3]算法是核心是基于特征点匹配的算法,首先计算特征点,与初始的特征点之间进行模版匹配,这样的设计可以大大提高在图像中搜索目标的效率,具有很好实时性并且跟踪效果令人满意,只是在该算法中,特征点模型固定不变,这给跟踪可形变目标带来了极大的困难。
综合以上对STC算法和CMT算法的分析,本文提出一种基于CMT框架的目标跟踪算法。
2 本文算法
本文基于CMT算法的框架,加入时空上下文算法,并对原算法的匹配检测模块进行改进。在CMT算法中,作者用LK金字塔光流法[4],对特征点进行跟踪。本文采用时空上下文算法给予替换,增强了跟踪模块的跟踪性能,也解决了光流法的计算耗时的缺点。在检测模块上,采用Kalman滤波[5]与特征点匹配级联的检测算法,Kalman滤波对当前目标位置进行预测,缩小特征点检测范围,提升算法运行速度。采用更新模版机制,增强检测的鲁棒性。新增算法融合模块,根据跟踪和检测的模块的预测结果给出最终的结果,同时融合模块还对跟踪模块和检测模块进行模型更新,以实现长时间有效跟踪。本文算法框架如图1所示。
2.1 STC跟踪器
STC跟踪算法根据跟踪目标与周围区域形成的的时空关系进行统计关系建模。通过计算置信图,找到似然概率最大的位置,即为跟踪结果。
图1 本文算法流程图
图2 STC跟踪器流程
图2 的流程中,时间上下文信息可以帮助算法锁定目标位置,而空间上下文信息则能提供更精确的信息帮助算法区分目标和背景。
置信图可表示成为
式(1)中,x表示目标位置,o表示目标出现。置信图似然函数分解为两个部分,即空间上下文模型P(x,c(z)|o),上下文先验模型P(c(z)|o)。
空间上下文模型可表示为
该模型表示目标位置x与局部区域内点z之间的相对距离以及方向关系。
上下文先验概率模型可表示为
式(3)中 I(z)表示 z处的灰度值,ωσ(z)表示权重函数。该权重函数是由生物视觉系统的focus of attention[6]启发得到。距离目标x*越近的点对于跟踪目标越重要,因此赋予它更大的权重。
置信图定义为
式(4)中b为归一化常量,α为尺度参数,β为形状参数。
由此,通过置信图和上下文先验概率模型可以学习出空间上下文模型,具体公式为
式(5)中F表示快速傅立叶变换,F-1表示快速傅立叶逆变换[7]。将时域中的卷积运算变换成频域中的乘积运算大大降低了计算量。
式(6)中ρ为模型学习速率。算法通过不断学习到的空间上下文模型结合前一帧的时空上下文模型,就得到了当前帧的时空上下文模型。
STC算法跟踪鲁棒,但当目标被遮挡后,遮挡物的信息被错误的更新进模型中,导致会产生跟踪漂移,甚至跟踪失败的结果[8]。
2.2 基于Kalman滤波与特征点匹配的检测器
2.2.1 Kalman滤波器设计
Kalman滤波算法依据系统运动方程对跟踪目标位置进行预测,再预测出可能的目标位置上,给出一个目标可能出现的矩形区域,此区域的宽和高分别取上一帧目标矩形框的3倍。在此区域进行特征点检测,这样避免了算法全图检测特征点,大大减轻了算法的计算量。图3展示了本文使用Kalman滤波器的效果。
图3 Kalman滤波运动估计
Kalman滤波系统可以用一个线性随机微分方程来描述:
式(7)中A为状态转移矩阵,X(t)为系统在t时刻的状态,W(t)为系统过程噪声,这里假设为高斯白噪声。
跟踪目标点的状态包含在t时刻点的位置和速度,因此系统状态定义为
式(8)中,Px(t)和Py(t)分别是目标中心点在t时刻的x,y坐标位置,Vx(t)和Vy(t)分别是目标中心点t时刻在x,y方向上的速度。
利用Kalman滤波系统对下一帧目标状态进行有效的预测,为下一步的特征点检测缩小了执行范围。
2.2.2 基于特征点匹配的检测模块
在CMT算法中,作者把图像检测问题,看成特征点匹配问题。在第一帧给定的目标图像中,初始化出一个特征点集合P={,…,},将 P与第 t00帧中特征点集合Pt做匹配。
当完成特征点匹配后,需要根据匹配点与初始化特征点之间的信息,对目标的尺度和旋转角度进行评估,尺度s评估定义为
式(9)中,med指中值,即取当前帧两两特征点之间的距离与对应初始帧中两两特征点之间距离的商的中值作为目标尺度的变化。
图4中蓝色点和绿色点表示匹配的特征点。红色点和黄色点是通过聚类后各类投票的中心点。绿色点表示聚类得到的最大类别所包含的特征点。红色点表示绿色点投票选出的聚类中心点。
图4 特征点聚类
定义第t帧中特征点计算出中心位置两两之间相隔距离为
根据式(10)中计算出的每个特征点对应的中心坐标相隔的距离,对中心点坐标做聚类,当两个类之间的距离小于阈值,合并这两个类,以此得到结果中最大的类。被聚类到一起的特征点称为聚类特征点。再利用聚类特征点投票的中心坐标值,求均值得到第t帧最终的目标中心位置。
2.3 基于置信度评判的融合器
2.3.1 置信度评判器设计
本文采用最近邻分思想[9]作为对检测和跟踪结果的置信度评判器。
首先定义两张图像 pi,pj的相似度为
式(11)中NCC表示归一化相关函数。
置信度评判器模型是一个包含目标图像以及周围背景图像的数据结构。可表示为
当给定一张图像 p以及评判模型M时,本文定义以下相似度指标:
正样本最近邻相似度为
负样本最近邻相似度为
根据式(13~14),定义图像置信度定义为
置信度评判器的更新是一个在线训练的过程[10],当跟踪器和检测器给出了一致的结果,而置信度评判器得出的置信度小于阈值时,则将该结果图像加入评判器模型的正样本数据集中。当检测器和跟踪器给出不一样的结果,且两结果置信度均大于阈值时,则将置信度较小的图像加入评判器模型的负样本数据集中。
2.3.2 结果融合与模型更新
基于以上的分析,改进算法结果输出及模型更新流程如下:
图5 结果融合与模型更新流程图
跟踪器和检测器是独立运行的,当融合器收到跟踪器和检测器给出的结果,需要判断两者是否都有结果且结果是否一致。结果是否一致,用两者给出结果的重叠度作为衡量。
融合器最终输出可以分为以下几种情况讨论:
1)跟踪器和检测器都有结果,且结果一致时:
CMT检测更新策略:如果当前目标样本与CMT检测模板样本相似度低于阈值时,则重新初始化CMT模型否则不更新。
STC跟踪更新策略:利用跟踪结果通过公式更新空间上下文模型hsc()x,再利用公式更新时空上下文模型hstc()x。2)检测器结果置信度有效且高于跟踪器结果:
这种情况通常是跟踪器模型被错误更新,导致发生跟踪漂移甚至是失败的情况。
CMT检测更新策略:如果当前目标样本与CMT检测模板样本相似度低于阈值时,则重新初始化CMT模型。否则不更新。
STC跟踪更新策略:这时需要用检测器给出的结果重新初始化跟踪器,以此修正跟踪器错误的更新。
3)跟踪器结果有效且高于检测器结果置信度时:
这种情况通常是目标发生了较大面积的遮挡,检测器特征点匹配过少导致检测失败,跟踪器由于考虑了目标周围区域的信息,因此在这种情况下仍能很好跟踪。
CMT检测更新策略:这种情况下,由于目标发生了遮挡,特征点信息不全面,因此检测器不更新模型。
STC跟踪更新策略:利用跟踪结果通过公式更新空间上下文模型hsc()x,再利用公式更新时空上下文模型hstc()x。
4)跟踪器,检测器都无效时:
输出目标消失,没有当前目标信息不进行跟踪器检测器模型更新。
3 算法实验
实验所用电脑为Intel Core i7 2640m@2.8GHz与8G内存,操作系统为Windows8.1,软件为Visual Studio 2013。
为验证本文提出算法的性能,本文选取car、singer、gym三段视频分别测试算法的遮挡时,变尺度时以及目标形变时跟踪性能,对比算法有STC,CMT,TLD[11]。
本次实验选用跟踪成功率和中心定位偏差这两个常用的指标作为性能指标。当算法结果与真实值的重叠度大于0.5时,认为是跟踪成功的。中心定位偏差是指算法结果与真实值的中心距离。
图6展示的是实验中各算法的跟踪效果,其中本文算法为红色框,STC算法为蓝色框,CMT为绿色框,TLD为黄色框,真实结果是白色框。
视频片段(a)Car是一段分辨率为320*240的视频,视频中的跟踪目标为白色小汽车。在汽车行驶中经历了三次遮挡。在目标被遮挡时,只有STC与本文算法稳定跟踪,TLD跟踪丢失,CMT跟踪错误。在离开遮挡区域后,STC算法发生跟踪漂移,TLD与CMT算法从新定位跟踪。本文算法则始终保持高精度跟踪。
视频片段(b)Singer是一段分辨率为624*352的视频,视频中的跟踪目标是一位女歌手。本段视频主要考验的是跟踪算法对跟踪目标尺度的测量,以及在强光暗光交替变换时的跟踪鲁棒性。通过跟踪结果可发现,本文算法除了宽高比不太满意以外,对目标的中心定位一直很准,STC算法对目标中心定位也很稳定,但是对目标尺寸的估计比本文算法差。CMT算法对跟踪目标发生形变时的鲁棒性差。
视频片段(c)Gym是一段分辨率为426*234的视频,视频中跟踪目标是一位跳舞的舞者。视频中她花样繁多的舞姿,多变的体形给跟踪算法制造了极大的难度,本段视频中本文算法和STC算法都体现了极高的跟踪性能,而CMT算法由于很难将舞者当前帧中出现的特征点与初始帧中出现的特征点配对,导致跟踪效果很差。TLD算法在整段视频中也很难稳定跟踪目标。
图6 各算法跟踪效果
表1展示了各算法的跟踪成功率,本文提出的基于CMT算法的改进算法不但在成功率上比与原算法高出了近一倍,与相比的TLD算法和STC算法跟踪成功率也高出了不少。表2展示的是各算法在测试片段中的中心误差指标。这反应了跟踪算法的跟踪精度,无疑本文提出的改进跟踪算法的跟踪精度是最好的。
表1 各算法跟踪成功率
表2 各算法中心偏差(像素)
在运行速度上,TLD算法是7.691帧/秒,STC算法是32.476帧/秒,CMT算法是8.120帧/秒,而本文的改进算法是10.377帧/秒,比改进的CMT算法快了27.8%的速度,比TLD算法快了34.9%的速度,虽然本文算法比STC算法在速度上有所降低,但是在算法跟踪精度和准确度上有了较大提升,尤其是在跟踪目标消失或持续遮挡后再出现的场景下具有更为突出的表现。在目标发生较大形变以及背景复杂的场景下,本文提出的改进算法依然具有卓越的跟踪鲁棒性。
4 结语
本文针对CMT算法在长时间目标跟踪的情况下,模型不更新导致跟踪效果不稳定的问题,提出了一种基于CMT算法的改进算法。该算法将原算法的光流跟踪模块替换成时空上下文跟踪模块,使跟踪结果更加鲁棒;引入了Kalman滤波算法,预测目标运动状态,给出目标出现的候选区域,避免了无效区域特征点的检测和匹配;同时增加结果融合器评判跟踪器和检测器的结果置信度,给出最好的融合结果和模型更新方案。在多组实验上表明本文改进算法相比于原算法在跟踪性能和运行速度上都具有较大提升。
[1]凌超,吴薇.视频图像中运动目标跟踪算法研究综述[J].科技资讯,2012(16):7-7.
LING Chao,WU Wei.A Survey of Moving Target Tracking Algorithms in Video Images[J].Science&Technology Information,2012(16):7-7.
[2]Zhang K,Zhang L,Yang M H,et al.Fast tracking via spatio-temporal context learning[J].arXiv preprint arXiv:1311.1939,2013.
[3]Nebehay G,Pflugfelder R.Clustering of static-adaptive correspondences for deformable object tracking[C]//Computer Vision and Pattern Recognition.2015:2784-2791.
[4]Kalal Z,Mikolajczyk K,Matas J.Forward-Backward Error:Automatic Detection of Tracking Failures[J].2010:2756-2759.
[5]Provost M J,Nevell D A.Data processing system using a Kalman Filter:U.S.Patent 5,105,372[P].1992-4-14.
[6]Wolf L,Bileschi S.A Critical View of Context[J].International Journal of Computer Vision,2006,69(2):251-261.
[7]Duhamel P,Vetterli M.Fast fourier transforms:A tutorial review and a state of the art[J].Modern Radar,1990,19(4):259-299.
[8]张中伟.基于时空上下文和核相关滤波器的密集采样目标跟踪方法研究[D].西北农林科技大学,2015.ZHANG Zhongwei.Research on dense sampling target tracking method based on spatio-temporal context and kernel correlation filter[D].Northwest A&F University,2015.
[9]林晓帆,丁晓青.最近邻分类器置信度估计的理论分析[J].科学通报,1998(3):322-325.LIN Xiaofan,DING Xiaoqing.Theoretical Analysis of Confidence Estimation of Nearest Neighbor Classifier[J].Chinese Science Bulletin,1998(3):322-325.
[10]陈东成,朱明,高文,等.在线加权多示例学习实时目标跟踪[J].光学精密工程,2014,22(6):1661-1667.CHEN Dongcheng,ZHU Ming,GAO Wen,et al.Weight weighted multiple example learning real-time target tracking[J].Optics and Precision Engineering,2014,22(6):1661-1667.
[11]Kalal Z,Mikolajczyk K,Matas J.Tracking-Learning-Detection[J].IEEE Transactions on Pattern Analysis&Machine Intelligence,2012,34(7):1409-1422.
Object Tracking Algorithm Based on CMT Framework
YUAN Jun XU FengleiREN Mingwu
(School of computer science and Engineering,Nanjing University of Science and Technology,Nanjing 210094)
In this paper,an algorithm of object tracking based on CMT(Consensus-based Tracking and Matching of Keypoints for Object Tracking)is proposed.The original CMT algorithm only has a fixed object model.To solve this problem,an improved CMT algorithm which consist of tracker,detector and fusion is proposed.And spatio-temporal context(STC)tracking algorithm is introduced as a tracker.Kalman filtering predicts object position for reducing the range of detection of feature points.The feature points matching algorithm of CMT is used as detector.Fusion analyses and evaluates the results of tracker and detector,and gives the final result.At the same time,fusion runs an effective strategy of model update.
object tracking,CMT tracking algorithm,STC tracking algorithm,cascade detector,model update
TP391.41
10.3969/j.issn.1672-9722.2017.11.013
Class Number TP391.41
2017年5月8日,
2017年6月27日
袁峻,男,硕士研究生,研究方向:图像处理、模式识别。徐峰磊,男,博士研究生,研究方向:图像处理、模式识别。任明武,男,教授,博导,研究方向:无人驾驶车辆、图像分析与处理。