APP下载

基于TLD改进的目标跟踪算法

2019-07-12张丽果

西安邮电大学学报 2019年2期
关键词:跟踪器分类器样本

张丽果, 吴 勇, 张 霞

(西安邮电大学 电子工程学院, 陕西 西安 710121)

目标跟踪[1]是通过视频中第一帧的目标坐标位置信息,预测下一帧视频图像中目标的准确位置,从而生成一条目标运动轨迹。目标跟踪已广泛应用于视频监控、自动驾驶和人机交互等技术领域[2]。

跟踪学习检测算法(tracking learning detection,TLD)利用目标跟踪算法,通过跟踪器和检测器的相互协作,可实现长期目标跟踪。尤其是处理目标的快速移动、目标发生遮挡和目标消失又重现等场景时效果较好。但是,通常情况下,TLD算法计算复杂度高,导致在一些场景中实现实时的目标跟踪难度较大。将核相关滤波算法引入TLD结构,通过加速TLD算法的跟踪模块可提高算法实时性[3];利用前景检测算法(visual background extractor, Vibe)[4]实现TLD检测模块,虽然降低了TLD算法的复杂度,提高了算法实时性,但是Vibe前景检测算法要求检测背景单一,导致算法在复杂场景准确率降低;利用基于尺度不变特征变换(scale invariant feature transform,SIFT)特征匹配算法[5]代替跟踪模块中的光流法(Lucas-Kanade,LK)[6],减少了TLD算法的计算复杂度,但是与加速稳健特征(speed up robust features,SURF)相比[7],SIFT特征的鲁棒性较差,影响算法的整体鲁棒性。

为了同时提高TLD算法的实时性和准确度,本文基于TLD算法的结构,提出一种基于TLD改进的目标跟踪算法。将鲁棒性较好的SURF特征作为输入特征,提高正负样本池中的样本质量;采用基于支持向量机(support vector machine, SVM)算法[8]组成的检测模块对当前帧图像中的目标进行定位,将跟踪模块和检测模块的输出结果在综合模块进行综合判断,最终在当前帧图像中确定跟踪目标的准确位置。

1 TLD算法原理

TLD算法利用跟踪器预测目标在连续帧之间的运动,生成正样本,通过检测器对图像做目标检测处理,生成正、负样本训练分类器,纠正跟踪器产生的误差,实现长期目标跟踪。TLD算法主要由跟踪器模块、检测器模块、学习模块及综合模块等4个模块组成,结构如图1所示。

图1 TLD算法整体结构

跟踪模块利用光流(Lucas-Kanade,LK)算法估计目标在连续帧间的运动。检测模块采用方差分类器、级联分类器和最近邻分类器级联结构实现,并采用扫描窗口对视频的每一帧进行处理,定位所有已观察到的外观模型。学习模块通过P-N学习方法评估跟踪器和检测器的性能,且在运行时使用P专家和N专家在线更新检测器[9]。综合模块根据跟踪器和检测器的输出结果确定当前帧的目标位置。

TLD算法虽然实现了长期目标跟踪,但是该算法还是存在以下不足。

(1) 以LK光流法为核心的跟踪模块是以3个假设为前提的,即亮度恒定、时间连续或者运动是“小运动”以及空间一致性。当跟踪场景中发生光照变化、跟踪背景或目标突变等情况时,便会破坏亮度恒定、时间连续性等假设,导致目标跟踪失败。

(2) 采用局部二值模式(local binary pattern,LBP)特征作为检测点,而LBP特征不具有光照不变性和旋转不变性,导致算法整体鲁棒性较差。

(3) 采用滑动窗口方法,并使用三级分类器依次过滤每个候选窗口,导致检测模块耗时比例较大,约占每帧耗时的65.51%至82.94%,算法实时性较差。

2 改进的TLD算法

改进算法将鲁棒性较好的SURF特征代替LBP特征,生成正、负样本集。利用生成的正、负样本集训练SVM分类器,对目标图像进行分类。在跟踪过程中,如果目标正常跟踪,则不断产生新样本,样本集也不断更新;当目标跟踪失败后,需要对目标重新定位,则利用样本集中的样本重新训练SVM分类器,启动重定位模块,如果定位成功,则继续跟踪目标。改进算法整体结构如图2所示。

2.1 正负样本的产生方式

在目标跟踪中,对目标图像采用不同的特征描述方式会产生不同的跟踪结果。大多数基于运动的跟踪算法中,目标运动是以刚性运动为假设条件,然而这种条件通常不符合真实的跟踪情况。

采用一组具有尺度与旋转等局部不变性的SURF特征点表示目标。SURF特征的定义[7]为

X=(p,s,r,e),

(1)

式中:p表示SURF特征点的二维坐标,即(x,y),s为SURF特征点的尺寸大小;r表示SURF特征的主方向;e代表64维的SURF特征矢量。

在第1帧中,手动标定需要跟踪的目标,对视频序列的前n帧进行跟踪,并将前n帧的跟踪结果作为当前n个正样本,提取正样本中关键点的SURF特征,以此表示目标。将目标特征点的特征矢量组成64维矢量,记作D∈d,其中D为目标特征矢量,d=64为SURF特征矢量的维数。正样本集记为其中n为正样本集中的正样本数目。

图2 改进算法的整体结构

依据SURF特征矢量的坐标位置p,对提取的正负样本特征进行标签标定。如果判别当前的SURF特征矢量是属于目标图像,则将其标定为正标签,记为+1;反之,若判定SURF特征矢量来自背景图像,则将其标定为负标签,记为-1。因此,SURF特征矢量对应的标签可定义为

L={+1,-1}。

(3)

利用生成的正负样本集训练SVM分类器,通过最小化SVM的损失函数[8]

f(X)=sgn {w*X+b*},

(4)

得到最优权值w*和最优偏置值b*,对目标图像进行分类。

2.2 样本的更新策略

目标跟踪过程中,由于跟踪场景中存在多种复杂的干扰因素,导致目标本身与外部环境会不断的发生变化。为应对这些干扰因素造成的突发情况,需要在跟踪过程中根据目标自身及环境变化情况及时完成更新样本集的工作。

样本更新策略的基本思想是存储最近的n帧视频图像中目标图像的特征点,并采用聚类的方式生成一个正样本集合{p1,p2,…,pk},其中k为正样本集中所含聚类中心的数量,而每个聚类均由多个正样本构成。

假设特征集D={x1,x2,…,xn},对xi∈D,计算样本xi与样本xj之间的距离,给定阈值ε,统计dist(xi,xj)≤ε的样本数量,即令

Nε(xj)={xi∈D: dist(xi,xj)≤ε}。

(5)

如果xj对应的|Nε(xj)|大于或等于设定的阈值P(表示总特征数n的30%),则认为xj是一个核心对象。将核心对象xj的特征距离矩阵T中元素按照从小到大的顺序排列,并进行聚类,重新确定聚类中心,从而对样本池中正负样本进行更新。特征距离矩阵的表达式为

(6)

式中di,j表示第i个特征到第j个特征的距离。

2.3 目标重定位

在目标跟踪过程中,如果目标跟踪正常,样本池中的正负样本会不断更新;当目标跟踪失败时,则需要利用样本池中的样本对目标实现重新定位。改进算法采用随机抽样一致性图像匹配算法和积分图算法,滤除错误的匹配点实现目标的重新定位。算法流程如下。

步骤1提取第t帧图像Ot的SURF特征,将其组成特征集合Ot={o1,o2,…,ot}。

步骤2标准目标图像Ol={o1,o2,…,ol},l为标准目标图像的个数。利用随机一致性图像匹配算法,计算标准图像集ol与第t帧图像Ot的特征点匹配个数n,即n=I(Ot,ol)。匹配特征点与标准数据集ol的特征点匹配度Rj=n/sj,其中sj表示ol的特征点数量。取匹配度最大值

确定匹配度最大值对应的ol,重新定位目标。

步骤3初始化特征集d={d1,d2,…,dc},对特征集d构建同第t帧图像Ot同样大小的二值图像,初始化坐标dreal=0。

步骤4根据积分图算法,计算第t帧图像Ot与特征集d的积分图值N=ζ(Ot,d),如果N大于设定的阈值α,则dreal=dreal∪{d},通过dreal的坐标极值确定目标重定位后的坐标位置。

2.4 改进算法步骤

以TLD算法基本结构为基础,基于SURF特征与SVM算法的改进目标跟踪算法具体步骤如下。

步骤1在第1帧图像中,手动标定目标的位置,利用跟踪器提取前n帧目标的SURF特征作为正样本,在第n帧的目标周围的背景区域提取SURF特征作为负样本,构成目标的正负样本集。

步骤2利用目标的正负样本集训练SVM分类器,通过式(4)得出最优的w*值和b*值,对目标进行分类。

步骤3提取跟踪器标定的第t帧图像Ot的SURF特征,构成输入特征矢量X,将该特征矢量代入式(4),得到对应的输出f(X),将输出结果映射到逻辑回归函数上,得到X的正样本的概率p(X)。

步骤4设定正样本阈值β,如果p(X)≥β,则表明跟踪成功,并将X添加到正样本集中,同时重新计算聚类中心,并将第t帧图像Ot周围区域的特征点添加到负样本池中,更新样本池中正负样本集,Ot则添加到标准目标图像集合Ol中;如果p(X)<β,表明跟踪失败,则关闭跟踪器。

步骤5如果跟踪失败,利用正负样本池中的样本对SVM分类器重新进行训练,获得新的w*和b*,启动目标重新定位模块。重新定位模块是由随机取样一致性算法实现,如果目标重定位成功,则启动跟踪器。

3 实验结果与分析

采用C++语言进行编程,在Intel Core i7-4510U CPU,主频2.6 GHz,内存配置为4 GB,OpenCV2的配置平台进行测试。为了验证改进算法的有效性,从标准测试集VOT2015[10]和VOT2014[11]选取测试视频,分别对比改进算法和TLD算法的准确率和实时性。

3.1 算法性能测试

选取BlurCar2、Board和Girl等3组具有光照、旋转、尺度变化、遮挡等跟踪场景的视频,分别测试改进算法和TLD算法的性能。3组测试视频的具体信息如表1所示。测试结果分别如图3至图5所示,图中实线为目标的标准位置,间断型虚线为改进算法的跟踪结果,点型虚线为TLD算法的跟踪结果。

表1 测试视频信息

图3 BlurCar2测试结果

由图3可以看出,图3(a)为BlurCar2视频测试结果的第1帧,确定跟踪目标的标准位置;图3(b)中,目标在第77帧发生模糊运动,改进的算法比TLD算法准确;图3(c)中,目标在第192帧发生形变,TLD算法没有完全框出目标位置,改进算法可以准确的跟踪目标;在第284帧,目标快速运动导致运动模糊,此时TLD算法跟踪失败,改进算法的跟踪结果相对较好,如图3(d)所示。

图4 Board测试结果

由图4可以看出,图4(a)为Board视频测试结果的第1帧,确定跟踪对象图像;图4(b)中,在第143帧时,目标图像部分超出视野范围,TLD算法将背景相似物当作目标进行跟踪,而改进算法跟踪准确;图4(c)中,在第344帧时,目标图像发生形变,改进算法的跟踪结果也比TLD算法好;在第488帧时,目标图像发生旋转,改进算法的跟踪结果比TLD算法跟踪效果好,如图4(d)所示。

图5 Girl测试结果

由图5可以看出,图5(a)为Girl视频测试结果的第1帧,确定跟踪目标图像;图5(b)中,在第116帧时,目标发生旋转,与目标图像的标准位置相比,改进算法的结果要比TLD结果好;图5(c)中,第305帧时,目标快速移动,TLD算法完全偏离跟踪目标,而改进算法仍可以准确跟踪目标;在第438帧时,目标发生严重遮挡,此时改进算法仍然可以稳定的跟踪目标,而TLD算法跟踪失败,如图5(d)所示。

3.2 算法的实时性测试

为了测试改进算法和TLD算法的实时性,选取Campus、Walking、Walking2和Lemming4组视频作为测试样例,视频具体信息如表2所示。

根据视频总帧数与跟踪所用的总时间的比值,即每秒钟处理的帧数作为运算速度的衡量标准,分别对比改进算法、TLD算法和文献[4]算法的运算速度,结果如表3所示。

表3 算法运算速度对比/ 帧s-1

从表3中可以看出,改进算法的平均处理速度可以达到47.5帧/s,相比于TLD算法,改进算法处理速度提升了6倍左右,同时比文献[4]算法速度提升了5帧。

为了测试改进算法的准确率,选择3组不同的视频,分别对改进算法、TLD算法、文献[4]算法、压缩跟踪算法(compressive tracker, CT)[12]和加权多示例学习跟踪算法(weighted multiple instance learning tracker, WMILT)[13]进行测试,结果如表4 所示。

表4 算法准确率对比表/(%)

从表4中可以看出,改进算法对3组视频的成功率均值为94.0%。相比于TLD算法提高了1.5倍,相比于文献[4]改进算法提高了0.6%,比WMILT算法提高了44.4%,测试结果表明改进算法的准确率显著高于TLD算法。

4 结语

基于TLD改进的目标跟踪算法,在TLD算法结构的基础上,利用SURF特征作为输入,生成正负样本集;用正负样本集对SVM分类器进行训练,并对输入目标进行分类,降低了TLD算法中检测器模块的复杂度,提高了算法的实时性。实验结果表明,改进算法的处理速度为47.5帧/秒,准确率可达94.0%,与TLD目标跟踪算法相比,当目标消失并重新出现、严重遮挡和背景噪声干扰时,改进算法在实时性、准确性上均有所提升。

猜你喜欢

跟踪器分类器样本
光伏跟踪器阵列跟踪精度的测算方法研究
用样本估计总体复习点拨
浅析一种风光储一体化跟踪器
超长待机的自行车位置跟踪器
推动医改的“直销样本”
基于差异性测度的遥感自适应分类器选择
双向多轨迹判定方法在目标跟踪中的应用研究
基于实例的强分类器快速集成方法
随机微分方程的样本Lyapunov二次型估计
村企共赢的样本