储 珺,博士,教授.主要研究方向为图像处理与分析、模式识别、计算机视觉.E-mail:chuj@nchu.edu.cn.
作者简介:
危 振,硕士研究生,主要研究方向为计算机视觉、机器学习.E-mail:15797902165@163.com.
缪 君,博士,副教授,主要研究方向为计算机视觉、模式识别、机器学习.E-mail:miaojun@nchu.edu.cn.
王 璐,硕士,讲师,主要研究方向为图像处理、模式识别、机器学习.E-mail:wanglu@nchu.edu.cn.
目标跟踪无法有效判断目标何时被遮挡以及同时配合模板更新.针对这一问题,文中提出基于遮挡检测和多块位置信息融合的分块目标跟踪算法.首先,将目标区域分成4个子块,结合目标整体,利用遮挡具有从局部开始和方向性的特点,计算各分块间相关值的比值,判断目标是否遮挡及遮挡部位.再根据目标是否遮挡,采用不同的更新方式.最后,根据未被遮挡的各个分块位置信息确定最终目标的位置.在数据集上的实验表明,文中算法可以有效判定目标是否存在遮挡,并提升遮挡情况下的跟踪效果.
CHU Jun, Ph.D., perofessor. Her research interests include image processing and analysis, pattern recognition and computer vision.
AboutAuthor:
WEI Zhen, master student. His research interests include computer vision and machine learning.
MIAO Jun, Ph.D., associate professor. His research interests include computer vision, pattern recognition and machine lear-ning.
WANG Lu, master, lecturer. Her research interests include image processing, pattern recognition and machine learning.
Target tracking cannot effectively determine when the target is occluded and match the template update. Aiming at this problem, a block target tracking algorithm based on occlusion detection and multi-block position information fusion is proposed. Firstly, the target is divided into four blocks, and the four ones are combined with the target as a whole. Since the occlusion has the characteristics of local start and directivity, the ratio of correlation values between each block is calculated to determine whether and where the target is occluded. The update methods are utilized selectively, depending on whether the target is occluded. Finally, the position of the final target is determined according to each unblocked position information. The experiment indicates that the proposed algorithm can effectively determine whether the target is occluded and improve the tracking effect under occlusion.
本文责任编委 徐勇
Recommended by Associate Editor XU Yong
视觉目标跟踪作为计算机视觉领域的重要子领域之一, 在行为和运动识别、自动化监测等领域具有重要应用.目标跟踪是指给定目标在视频序列第一帧中的位置, 确定后续帧中目标的位置.
近几年基于相关滤波的方法和基于深度学习方法的引入使目标跟踪研究在性能上取得一定进展.但是, 由于运用场景复杂、跟踪目标外观多变等原因, 目标跟踪研究仍存在很大的挑战[1, 2, 3].
遮挡是目标跟踪领域中亟待解决的问题.分块跟踪算法可以对未被遮挡的子块建模并预测目标位置, 避免引入非目标特征, 是解决遮挡问题的一种有效的跟踪算法.
基于分块的跟踪算法将目标分成若干部分, 然后采用生成式[4, 5, 6, 7, 8]或判别式[9, 10, 11, 12, 13, 14, 15]方法处理子块.Jia等[8]采用局部稀疏外观模型搜索下一帧中最相似的子块.Cehovin等[13]探索局部子块的拓扑表示, 并利用局部的连通性进一步确定目标位置.Wang等[14]提出基于块对块增量学习的回归方法.Gao等[15]提出端到端、由子块到目标的跟踪算法, 通过深度回归学习实现块到目标的跟踪.
上述算法仅使用各子块信息, 忽视目标完整信息.目标经过分块后, 子块的表征能力有所下降.而且在大部分实际场景中, 遮挡情况较少, 如果在跟踪过程中不考虑目标的完整信息, 仅使用子块的信息预测下一帧目标的位置是不合理的.另外, 上述算法模板的更新采用固定间隔几帧更新, 或对每帧的模块更新.当目标出现遮挡时, 滤波器的更新会引入非目标特征, 造成跟踪漂移.
通过观察发现, 目标的遮挡都是从某一方向开始局部遮挡, 遮挡具有局部性和方向性.基于上述两点, 本文提出基于遮挡检测和多块位置信息融合的分块目标跟踪算法.首先, 将目标区域分成4个子块, 训练4个子块滤波器和拥有目标整体信息的目标整体滤波器, 利用遮挡的方向性和局部性, 根据不同分块间相关值的比值变化, 判断跟踪目标是否出现遮挡.如果未出现遮挡, 利用目标整体模板确定目标的位置, 否则根据未出现遮挡的子块位置信息预测下一帧目标位置.同时根据是否出现遮挡, 对整体滤波器和分块滤波器采用不同的更新率进行更新.在OTB2015数据集[16]上的实验表明本文算法可以有效判定目标是否存在遮挡, 并提升遮挡情况下的跟踪效果.
基于相关滤波的跟踪算法和基于深度学习的跟踪算法是目前目标跟踪的主流算法.基于相关滤波的跟踪算法拥有较好的跟踪精度和速度特征.早期的相关滤波算法采用方向梯度直方图(Histogram of Oriented Gradient, HOG)等人为构造的特征, 当出现形变、遮挡、旋转等情况时, 容易出现跟丢目标的情况.基于深度学习的深层卷积特征具有很强的语义信息, 对形变、光照和旋转等干扰因素具有较好的鲁棒性.分层卷积目标跟踪算法(Hierarchical Convolu-tional Feature for Visual Tracking, HCF)[17] 结合两者优点, 使用深度卷积特征在相关滤波框架下完成目标跟踪.HCF采用由粗到精的方法定位目标位置.首先将候选区域输入已训练好的VGG19网络, 得到相应的特征图谱, 使用已初始化的滤波器和conv5-4特征图进行相关操作, 得到目标的大概位置.再利用conv4-4的特征图谱和滤波器进行相关操作, 得到一个较精确位置.最后使用conv3-4层和滤波器进行相关操作, 得到最终位置.HCF对每帧使用0.01的更新率更新滤波器.
HCF只训练一个整体滤波器, 当目标发生遮挡和形变时, 滤波器的跟踪性能下降.另外HCF未对跟踪状态进行判断, 对每帧进行滤波器更新, 当目标出现遮挡时, 会造成滤波器污染, 影响跟踪效果.因此本文在HCF的基础上, 提出基于遮挡检测和多块位置信息融合的分块目标跟踪算法.
本文算法流程如图1所示.
算法训练目标整体滤波器和4个子块滤波器, 在输入完整的候选区域的同时, 增加用于判断遮挡情况的分块区域, 并且在conv5-4和滤波器进行相关操作后增加2个判定机制:
1)使用整体滤波器初步判定是否出现较大干扰因素.
2)使用子块滤波器进一步确定这种干扰是否是由遮挡引起的, 提高遮挡情况下的目标跟踪精度.
先定义相关符号和变量.算法使用视频序列的第1帧训练目标整体滤波器{
假设滤波器和候选区域相关操作得到的最高响应值为S, 则St、
根据
目标出现遮挡都是在某个时刻从某个方向逐步遮挡.最高响应值反映滤波器和候选区域的相似程度, 所以当相邻两帧未出现强干扰时, 各个子区域前后两帧最高响应值变化不大, 可以利用
将当前帧的score与前10帧的score合并排序.如果当前帧的score值处于前4位, 表示当前未出现强干扰, 即跟踪目标未出现遮挡; 否则, 初步判定目标遭遇较强干扰(如遮挡、形变等), 再利用
基于整体滤波器的遮挡判断, 需要使用前10帧的score值, 本文算法对视频序列前10帧都未进行遮挡判断, 直接对滤波器进行更新.从实际情况上看, 视频序列中的前几帧出现遮挡等强干扰因素的情况也很少.
由于遮挡的局部性和方向性, 当目标出现遮挡时, 被遮挡的局部滤波器的score值变小, 而其余子块滤波器score值基本不变, 造成
当
当
否则, 变化是由非遮挡干扰因素引起.
根据实验分析, 子块遮挡判断阈值θ 1=1.32, θ 2=0.78.
同理,
本文采用2种不同的更新方式.当判定为遮挡时, 更新未被遮挡的子块滤波器; 否则更新整体滤波器.更新公式如下:
At=(1-η )At-1+η YΘ
Bt=(1-η )Bt-1+η
Wt=
其中, Y表示经过傅里叶变换后的目标的真实值(Ground Truth), X表示第1帧的真实性或候选区域,
在拥有可靠遮挡判定机制情况下, 为了强化子块滤波器定位能力, 在判定为遮挡情况下的更新率(子块滤波器更新率)大于未遮挡情况更新率(整体滤波器更新率).经过实验分析, 本文实验中子块滤波器的更新率取0.08, 整体滤波器的更新率取0.03.
未出现遮挡时, 采用整体滤波器确定目标的位置; 判定出现遮挡时, 采用4个子块中响应较大的3个子块联合确定目标信息.相比采用单子块确定目标位置的方式, 采用多子块的方式具有更准确的定位目标位置的能力, 尤其是面对快速运动.从实验结果也可看出, 在快速运动情况下, 定位精度可以提高0.019.
单子块定位和多子块融合定位如图2所示.(a)中红色框线表示采用单子块的跟踪结果, 绿色框线表示真实目标的位置, 可以看出两者具有较大的位置误差.(b)中绿色方框表示真实目标位置, 绿色圆圈表示真实目标的中心位置.红色小方块表示使用上滤波器预测的目标中心位置, 蓝色五角星表示左滤波器预测的目标中心位置, 紫色三角形表示使用右滤波器预测的目标中心位置.
由图2可看出, 被跟踪的目标下面部分被树叶遮挡, 无论使用未被遮挡的3个子块中的任何一个定位, 定位误差都会较大.如果使用未被遮挡的上、左、右3个子块位置信息进行定位, 预测位置更接近真实位置.因此, 本文采用融合多个子块的位置信息的方式确定目标最终位置, 即使用4个子块中score值较高的3个子块的中心位置构建一个三角形, 该三角形的中心位置为目标的最终位置.
在intel i7- 6800x, 16G RAM, Colorful GTX 1080Ti环境上进行实验.针对OTB2015数据集采用的对比算法如下:HCF[17]、MEEM(Robust Tracking via Mul-tiple Experts Using Entropy Minimization)[18]、KCF(High-Speed Tracking with Kernelized Correlation Filters)[19]、TGPR(Transfer Learning Based Visual Tracking with Gaussian Processes Regression)[20]、SCM(Robust Object Tracking via Sparse Collaborative App-earance Model)[21]、TLD(Tracking-Learning-Detec-tion)[22]、Struck(Structured Output Tracking with Ker-nels)[23].在遮挡情况和非遮挡情况下验证算法的更新率和遮挡判断阈值.本文算法在进行遮挡判断时需要使用前10帧相关操作的响应值.一般情况下, 视频中前10帧很少出现遮挡情况, 因此在实验中, 前10帧直接采用原论文的更新率更新所有的滤波器, 不进行两步遮挡判断.其它算法结果采用原论文的结果.
中心误差(Center Location Error, CLE)是真实目标中心位置和预测目标中心位置的平均欧氏距离:
CLE=
其中, (Xp, Yp)表示预测目标的中心位置的坐标, (Xg, Yg)表示真实目标中心位置的坐标.距离精度是中心误差小于某一阈值(通常取20像素)的帧数与视频序列总长度的比值:
Precision=
其中, N为视频序列总帧数,
f=
距离精度越高, 目标跟踪的精度越高.精确度(Preci-sion)图表示距离精度随距离阈值的变化情况.
重叠精度是指真实目标区域和预测目标区域的交并比(Intersection Over Union, IOU):
IOU=
其中, Bp表示算法预测目标的区域, Bg表示真实目标区域.成功率是指IOU大于某一阈值(通常取0.5)的帧数占视频序列总长度的比例:
SuccessRate=
其中, Fd为IOU大于阈值d的帧数, F总为视频序列总帧数.成功率越高, 目标跟踪的鲁棒性也越好.成功率图反映重叠率随交并比阈值的变化情况.
在OTB2015数据集[16]上验证各算法的跟踪效果.验证实验包含整个数据集的结果、所有遮挡视频序列的结果和具有快速运动目标的视频序列的结果, 如图3所示.
由图3(a)可看出, 本文算法以0.573的分值超过HCF的0.561, 取得最好效果.(b)中本文算法以0.838的分值超过HCF的0.837, 效果最佳.
OTB2015数据集上遮挡属性视频序列和快速运动属性视频序列单独测试结果如图4所示.由(a)可看出, 本文算法在遮挡情况下得分为0.791, 效果最好, 相比HCF, 具有0.028的提升.由(b)可看出, 在目标快速运动时, 本文算法效果最优, 但相比HCF提高幅度不大.
由上述分析可得:本文算法能够有效处理遮挡问题, 具有较高的鲁棒性, 跟踪精度也有所提升.但在目标快速运动时, 定位精度还有待提高.
在OTB2015数据集的遮挡和快速运动的视频序列上对比多子块定位、单子块定位的跟踪效果, 结果如图5所示.
从遮挡的精度图可知, 2种方法精度相差不大.但是在快速运动的视频序列上, 多子块方法得分为0.822, 比单子块方法高0.09.这说明采用多子块位置信息融合的方法在目标快速运动时可提高目标的定位精度.
根据目标被遮挡时具有局部性和方向性的特点, 结合目标整体信息, 提出基于遮挡检测和多块位置信息融合的分块目标跟踪算法.将目标区域分成多个子块, 根据目标整体模板的相关值和不同分块间相关值的比值不同, 判断目标是否发生遮挡, 并对不同遮挡情况采用不同更新模式, 提高被遮挡目标的跟踪效果.在未出现遮挡时, 利用拥有整体信息的不分块模板确定目标位置.在出现遮挡时, 利用未被遮挡的子块位置预测下一帧目标位置, 提高目标跟踪精度, 特别是快速运动目标的精度, 使各子块位置信息对目标定位的重要性会有所不同.因此利用不同权重更准确地定位目标是下一步的研究工作.