作者简介:才华(1977-),男,副教授,博士.研究方向:图像处理与机器视觉.E-mail:caihua@cust.edu.cn
针对跟踪过程中遮挡导致错误累积而产生目标漂移甚至目标丢失的问题,提出多示例学习分块目标跟踪方法。该方法以随机蕨为基础检测器,通过多示例学习在线更新检测器,提高检测器对目标变化的适应能力及学习的准确性。将目标均匀分成多个子块,选取部分子块作为候选集合,每个候选块分配一个检测器,利用检测器完成每个候选块的跟踪,根据候选块的信息确定目标最终位置。实时检测候选块的有效性,替换无效的候选块,提高跟踪的鲁棒性。在目标被遮挡等复杂条件下,与目前主流跟踪算法进行了对比实验,结果表明该算法能够有效解决目标漂移甚至跟踪丢失问题,具有更高的跟踪精确度及更好的鲁棒性。
To solve the problem that tracking algorithm may lead to drift or failure due to the accumulated error under the occlusion environment, a Multiple instance learning based Fragment Tracker (MFT) is proposed. In this MFT, the random ferns is used as the basic detector. To improve the adaption of the target change and the precision of the learning, the multiple instance learning is introduced to online update the detector. The object is segmented into fragments and parts of them are selected as the candidate set. The candidate block is tracked by the corresponding detector. The object can be finally located by the selected blocks. A real-time valid detection is made for the candidate blocks and the invalid block is replaced with an appropriate block to improve the robustness of the tracking. Experiments on variant challenging image sequence in the occlusion environment were carried out. Results show that, compared with the state-of-art trackers, the proposed MFT solves the problem of target drift and failure efficiently and has higher accuracy and better robust.
如何有效处理遮挡是评价跟踪算法鲁棒性的关键指标[1, 2]。遮挡是目标跟踪过程中常见的情况, 包括目标自身自遮挡和被背景中的物体遮挡, 从目标自身角度看, 可分为部分遮挡或全部遮挡[3]。进入遮挡时, 目标的信息逐渐丢失, 如颜色、轮廓、运动和特征点等, 而出遮挡时, 这些信息又逐渐恢复。文献[4]采用预测模型的方法如粒子滤波, 对遮挡目标的位置进行预测, 此类算法对目标长时间全部遮挡后, 再出现在视场中无法重新定位。基于遮挡检测的跟踪算法[5, 6, 7, 8]可有效处理目标被部分遮挡的情况, 但目标被全部遮挡或者消失后再次出现在视场中的情况, 此类算法不能实现准确的定位及跟踪。检测-跟踪算法[9, 10, 11, 12]将跟踪与检测相结合, 此类算法可有效处理目标全部遮挡后再出现在视场中, 可准确定位。但目标被部分遮挡时, 此类算法常发生目标漂移。基于子块法[13, 14]可有效处理部分遮挡问题, 将目标划分为多个小块, 根据部分子块信息确定目标的中心坐标以达到跟踪的目的。此类算法没有对子块信息进行更新及有效性检测, 导致不能满足目标本身和外界条件的实时变化, 利用无效子块对目标位置定位导致目标漂移问题, 同时目标全部遮挡后再出现在视场中不能准确地跟踪。
为解决跟踪过程中部分遮挡产生目标漂移及目标全部遮挡再次出现视场中无法正确跟踪的问题, 本文提出一种多示例学习分块目标跟踪(MFT)方法, 该方法采用随机蕨作为基础检测器, 结合全局多尺度扫面窗口, 实现目标全部遮挡后重新出现在视场中的准确定位。为保证检测器对目标变化的适应能力及学习的准确性, 避免目标漂移而导致跟踪失败, 通过多示例学习在线更新随机蕨分类器。为解决部分遮挡问题, 将目标分块处理, 从中选取部分子块作为候选块, 同时每个候选块分配一个检测器, 利用检测器对每个候选块进行跟踪, 根据候选块信息确定目标最终位置。实时检测候选块的有效性, 利用有效的候选块实时替换和更新无效的候选块, 从而在目标受到部分遮挡时, 利用有效信息实现目标的准确跟踪。
采用具有实时检测能力的随机蕨构建检测器, 并结合多尺度滑动窗口[15]完成当前帧目标的检测, 解决目标被遮挡或消失后再次出现在视场中不能稳定跟踪问题。通过最近邻算法将检测器得到的图像块与在线模板匹配, 将符合要求图像块作为最后的跟踪结果, 同时在线更新模板库, 以适应目标自身及外界环境变化。采用通过多示例学习在线更新随机蕨检测器, 以保证检测器对目标变化的适应能力及学习的准确性, 避免漂移而导致跟踪失败。
多示例学习算法[16]对多示例包进行标注, 包中至少含有一个正示例, 则包为正样本, 反之为负样本。训练集为
式中:
通过采用boosting方法训练分类器, 使用示例似然概率
各示例的似然概率计算公式为:
式中:
随机蕨检测器检测到被跟踪的目标, 并对目标图像扭曲、旋转、缩放建立完整的目标全视角数据库, 以此作为正样本, 选取目标周围的背景区域作为负样本。算法1为多示例学习在线更新过程, 为保证跟踪实时性及准确性, 多示例学习将随机蕨中的每一个蕨看作弱分类器h, 在线构建一个含有M个弱分类器池, 利用训练数据更新所有的弱分类器h, 从中选取最优的K个弱分类器构建强分类器, 即:
式中:
算法1 多示例学习在线更新
输入:数据集
yi∈ {0, 1}, 使用数据集更新M个弱分类器,
初始化Hij=0, i=1, 2, …, N, j=1, 2, …, S
for k=1 to K do
for m= 1 to M do
Lm=
end for
m* =argmax Lm
hk(x)←
Hij=Hij+hk(x)
end for
输出:分类器H(x)=∑ α khk(x), 其中, p(y|x)=σ (H(x))
将目标均匀分割为K个子块, 图1为分割结果图。均匀分割后, 得到包含K个子块的集合P={p1, p2, …, pK}, 试验中K=8。计算每个滑动窗口fj 和pi 之间特征向量的相似度Sij, 得到最大相似度MLi=max(Sij)。选取M(M< K)个MLi值较大的子块构成候选块集合SP={sp1, sp2, …, spM}, 试验中M=4。
目标及候选块表示为:在第
图2为目标最终位置确定过程。具体过程如下所示。
首先, 在第一帧手动选择被跟踪目标, 对目标分割并选择候选块, 计算
其次, 在第t帧, 每个候选块对应一个检测器, 完成候选块的跟踪, 得到
虚线区域为对应的跟踪结果
式中:
权值
式中:
最后, 重新调整每个候选块相对于跟踪目标的偏移量, 将新得到的目标区域
为解决遮挡和目标外观变化的影响, 自适应更新候选块集合, 从而引入新的信息以适应目标外观的动态变化。利用随机蕨分类器检测候选块的有效性, 如果候选块后验概率
在第t帧, 取代无效候选块
式中:sim为相似度函数;
图3为候选块更新过程。在图3(a)中, 通过候选块集合得到目标位置。在图3(b)中, 当目标发生遮挡时, 每个候选块依然有效, 可通过候选块得到目标位置。在图3(c)中, 当目标受到遮挡, 候选块2、候选块4无效, 被未使用集合中的子块5、子块7所取代, 目标依然可以成功跟踪。多示例学习分块跟踪算法如下:
算法2 多示例学习分块目标跟踪算法
初始化:
将目标分为K个子块, 得到P={p1, p2, …, pK}, 选择候选块集合SP={sp1, sp2, …, spM}(M< K), 计算第一帧偏移量集合
跟踪:
for t=2 to H(图片总数) do
for k=1 to M do
利用随机蕨分类器计算s
通过式(6)计算
多示例学习更新并重新训练分类器fk
end for
通过式(7)计算Ot
通过式(5)调整偏移量集合
候选块更新:
for k=1 to M do
利用随机蕨分类器检测每个候选块
if pavg< 0.5 do
更新spk← upτ
为新的候选块生成正、负样本集合
break;
end if
end for
end for
将本文算法与8个主流跟踪算法在不同图片序列上进行测试, 对比跟踪算法为:CT[17], CXT[18], Frag[13], TLD[11], IVT[19], MIL[16], OAB[20], MILRFD[21], 这些算法参数均使用默认值, 具体实现参考相应文献。选用faceOcc2[22]等8组具有挑战的图片序列进行测试。8种跟踪算法在每组图片序列跟踪结果的中心误差、重叠率如表1所示。
中心误差表示跟踪结果与真实目标的中心位置的欧氏距离, 距离越小表示跟踪结果越有效、越精确。由表1可得, MFT算法有4组为最优, 4组为次优, mean行为中心误差均值, MFT算法的中心误差均值明显小于其他算法, 表明跟踪结果具有较高的精确度。
重叠率为跟踪结果与真实位置之间的重叠比例, 计算法公式为overlap=(A⋂B )⁄( A⋃B), 其中A为目标真实位置的矩形框, B)为跟踪结果的矩形框。重叠率越高表明跟踪结果越接近真实位置, 跟踪结果越准确。由表1可得, MFT算法有7组为最优, mean行为重叠率均值, MFT算法的重叠率均值高于其他算法, 可见MFT算法具有更高的准确度和鲁棒性。
表2为跟踪算法在8组图片序列处理速度, 由表2可知:CT算法的处理速度明显高于其他算法, 这是因为CT算法是基于压缩感知理论, 利用符合压缩感知条件的随机感知矩阵对多尺度高维图像特征进行降维, 降维后的特征依然可以高概率地重构出高维特征, 很大程度上降低了特征提取的时间复杂度, 而且分类过程仅采用简单的朴素贝叶斯分类器, 提高了算法的运算速度。
图4为8种跟踪算法在8组图片序列中某些帧的跟踪效果对比跟踪结果。在faceOccl和faceOcc2序列中背景基本保持不变, 目标在跟踪过程中发生多次和长时间部分遮挡, 导致OAB、TLD、CT、CXT算法都出现严重的目标漂移现象甚至跟踪失败, 在目标大部分区域被遮挡时, MFT算法仍能够正确跟踪, 这表明MFT算法可有效处理长时间遮挡, 实现稳定的跟踪。
在subway和woman序列中, 目标在行走过程中不断被其他物体所遮挡, 且观测角度不断变化, 导致有些算法在跟踪过程的前几帧就出现错误跟踪, 如IVT、OAB、TLD、Frag算法, CT算法出现目标漂移问题。在后续帧中只有MFT算法能完成整个序列的跟踪, 并实现稳定的跟踪。可见, 在目标被不断遮挡的条件下, MFT算法能够实现正确跟踪。
在walking2和tiger2序列中目标在运动过程中, 不断被遮挡, 同时有伴有运动模糊条件的影响。导致CT、CXT、Frag、OAB、MIL在跟踪前期就已经跟踪失败。目标在遮挡结束后, 受到遮挡物的干扰, MFT算法能正确跟踪目标, 其他算法都已跟踪失败。结果表明MFT算法在遮挡、模糊拖影等条件下具有较好的跟踪效果。
在car和carchase序列中, 目标在运动过程中常发生部分遮挡及全部遮挡, 且在视场中消失或者遮挡后又重新出现, 在目标被部分遮挡时, 部分算法出现目标漂移问题。当目标被全部遮挡或消失后再次出现时, 大部分算法无法重新定位到目标, 导致跟踪失败, MFT算法在这两种情况下, 均能实现正确的跟踪。可见, 在部分遮挡及目标再次出现在视场中, MFT算法均能实现稳定的跟踪。
提出了以随机蕨作为基础检测器的多示例学习分块跟踪算法。利用随机蕨检测器和滑动窗口完成目标跟踪, 通过多示例学习算法在线更新检测器。将目标分块处理, 为每个子块分配随机蕨检测器进行跟踪, 通过每个子块信息确定目标最终位置。实时检测无效子块并进行更新。通过几组图片序列进行测试, 在遮挡等复杂环境下, 本文算法的中心误差为9.35、重叠率为64%, 平均帧率为13.9 frame/s, 实验结果表明, 本文算法具有更高的精确度和鲁棒性, 有效解决了目标被遮挡导致的目标漂移和跟踪丢失问题, 具有极高的实用价值。本文算法对跟踪非刚性或者变形较大的物体跟踪效果较差, 如何解决这一问题是下一步的研究工作。
The authors have declared that no competing interests exist.
[1] |
|
[2] |
|
[3] |
|
[4] |
|
[5] |
|
[6] |
|
[7] |
|
[8] |
|
[9] |
|
[10] |
|
[11] |
|
[12] |
|
[13] |
|
[14] |
|
[15] |
|
[16] |
|
[17] |
|
[18] |
|
[19] |
|
[20] |
|
[21] |
|
[22] |
|