何 伟,李磊民,黄玉清
(1.西南科技大学 信息工程学院,四川 绵阳 621010;2.西南科技大学 研究生院,四川 绵阳 621010)
近年来,机器视觉在无人驾驶车辆平台上广泛应用,同时也面临诸多挑战,其主要原因有以下几方面:1)移动平台需要结合自身重量考虑能源消耗,因此所携带的传感器与处理器设备有限,对算法的运算速度有较高要求;2)相对于固定摄像机,移动平台上的目标跟踪面临光照变化、遮挡、尺度变化以及环境变化等挑战更加严峻[1,2]。
在线目标跟踪算法因为高效和优秀的跟踪效果被广泛采用,其主要框架之一是核相关滤波器(kernelized correlation filters,KCF)[3],它将单目标跟踪的问题转换到频域进行计算,大大降低运算的时间复杂度。在核相关滤波器的基础上,具有精确尺度估计的跟踪器DSST(accurate scale estimation for robust visual tracking)[4]与具有信道和空间可靠性的判别相关滤波器CSRT(discriminative correlation filter with channel and spatial reliability)[5]解决了跟踪中尺度变化问题。此外,通过组合多个核相关滤波器以提高跟踪器的精确度的方法也取得了不错效果[6]。但他们都依赖于图像最大响应值,跟踪器在跟踪过程中容易发生漂移或目标丢失,无法长时间跟踪。Hossain L等人[7]开发了一种基于粒子滤波器的跟踪器模型,用于处理视觉跟踪中遮挡问题,但缺乏目标合适的分类器,漂移情况严重。Li X等人[8]提出了一种基于自适应背景模型的视觉目标跟踪方法,但算法时间复杂度高,无法达到实时跟踪。要想跟踪器在嵌入式平台快速稳定运行,重检测,尺度估计与模板更新功能缺一不可[9]。
结合粒子滤波器与核相关滤波器,本文提出了一种具有遮挡预测和自适应模板跟新更新的核相关滤波器跟踪模型。该算法不需要离线训练,能够在嵌入式平台上高速运行,同时,还具备在跟踪过程中动态学习目标外观模型与目标遮挡时位置预测功能。
本文算法流程如图1所示。首先,在初始帧中选择搜索目标,并提取HOG特征作为目标描述训练分类器;随后在频域中执行输入特征和相关滤波器之间的卷积,通过逆快速傅里叶变换(IFFT)获得响应图;如果相应图的最大响应值大于阈值,则将最大响应值的坐标作为目标的新位置;否则通过粒子滤波器重采样来获得目标最大概率位置。此外,本文使用动态模板更新策略以提高跟踪器的鲁棒性。
图1 本文算法框架
在文献[3,4]中,Xk∈RP×Q×D表示从第k帧中提取的特征图,其高斯函数标签为Y∈RP×Q,分别对其使用离散傅里叶变换F(·)(DFT),xk=F(Xk),y=F(y)。目标函数在第k帧的建模为
(1)
这里
(2)
式中 ⊙为逐元素相乘。通过式(1)得到分类器后,从第k帧中输出测试数据Tk并转换到傅里叶域Jk=F(Tk),其响应值可以通过下面公式得到
Sk=F-1(Jk·wk)
(3)
式中F-1为离散傅里叶变换逆变换。目标在第k帧的位置可以通过最大响应值maxSk(x,y)得到。
粒子滤波器(particle filter,PF)算法基于蒙特—卡洛重要性抽样方法,使用粒子与样本相关权重更新粒子概率估计,通过粒子重采样策略为目标跟踪提供合理的目标候选者。假设st和yt分别是目标在t时刻的状态量与观测量,其根据目标t以前的所有状态决定,表示在当前时刻的最大可能状态
st=arg maxp(st|y1:t)
(4)
状态向量是由t时刻的观测向量yt根据贝叶斯后验概率规则得到的
(5)
粒子滤波器的n个粒子服从重要性分布q(st|s1:t-1,y1:t),其权重更新方程如下
(6)
在跟踪器中,核相关滤波器的跟踪结果将被优先采用,此时粒子滤波器的预测功能将用来确定搜索区域,并随着粒子滤波器的迭代,搜索的区域将趋近目标区域。随后使用方程(4)计算得到空间响应图与最大响应值对应位置(xk,yk),响应值大于响应阈值θ时,代表跟踪结果可靠,同时进行粒子重采样;但当响应图代表的跟踪结果不可靠时(maxR<θ),跟踪器选择具有最大权重的粒子作为跟踪结果。
模型更新方法对于性能良好的跟踪系统同样重要。如果模板在整个视频序列中都不更新,遇到目标形状突变和其它因素时,跟踪器将跟踪失败;此外如果模板更新过于频繁,每次更新都会累积一些小错误,同时也会在多帧后出现跟踪漂移。与每n帧更新模型方式不同,如果响应阈值R仅仅几帧就超过更新阈值θupdate,则不更新模板。只有当R的值在n帧中持续超过更新阈值,才会触发更新。
本文提出的算法与核相关滤波器(KCF)算法、跟踪—学习—检测(tracking-learning-detection,TLD)算法[10],具有精确尺度估计的跟踪器(DSST)和多示例学习(multiple instance learning,MIL)算法就 OTB中60个视频序列进行测试对比,部分跟踪结果如图2所示。从跟踪结果可以看出,KCF算法在出现尺度变化和遮挡时逐渐出现漂移,最终跟踪失败;DSST算法能适应目标尺度变化,但当目标出现遮挡时跟踪失败;TLD和MIL算法在重度遮挡和比例变化时出现漂移;当目标发快速运动时,TLD和MIL算法出现卡顿,KCF与DSST则不同程度的发生漂移。总的来说,本文提出的KCF-PF跟踪器在这些具有挑战的视频序列上性能表现最佳,在目标出现遮挡时仍能预测目标位置并且重新检测目标。
图2 KCF-PF与KCF、DSST、TLD、MIL跟踪结果对比
表1记录了5种跟踪算法在OTB视频序列上的测试结果,评价指标为平均重叠精度(mean OP)、平均距离精度(mean DP)和平均处理速度(mean FPS)。距离精度的评估标准是中心位置误差,即跟踪结果与实际位置的欧氏距离小于20像素的帧数占总帧数的百分比;重叠精度的评估标准是边框的重叠率,当成功率大于0.5时表示跟踪成功,平均重叠精度表示跟踪成功帧数占总帧数的百分比。根据实验结果统计,本文算法在重叠精度和距离精度上均取得了最优结果,视频帧处理速度为14.56 FPS,满足在嵌入式平台上运行时的实时性要求。
表1 5种跟踪算法的平均跟踪性能指标比较
针对目标跟踪在嵌入式平台上的应用,本文提出结合相关滤波器和粒子滤波器的运动目标跟踪算法。在目标未出现遮挡时,使用粒子滤波器预测目标位置,减少目标搜索范围;当目标出现遮挡时,粒子滤波器能预测目标位置,同时自动增加搜索范围,防止目标丢失。另外,本文采样动态模板更新方法实时更新目标描述,为了减少环境变化和目标姿态变化对目标跟踪的影响,提高算法应对目标以及环境变化的能力。实验表明,本文提供的算法平均跟踪性能优于其它算法,同时达到了实时性要求。