目标跟踪是计算机视觉领域中最热门的研究课题之一, 它的应用范围很广, 如运动分析、动作识别、监控、导航定位以及人机交互等[1]。对于鲁棒性视觉跟踪主要挑战是解决目标物体外表变化、遮挡问题、光照变化、背景的复杂以及目标快速运动等问题。解决这些问题的算法有很多, 一般被分为生成模型[2]以及判别模型[3]。
生成模型通过学习目标的外观来表示目标并搜索与之最匹配图像区域, 因此建立一个处理跟踪当中变化因素的有效的外观模型极其重要, 涉及到的计算复杂度便会增加, 比如:PCA[4]、稀疏编码和字典学习[5]。判别跟踪器使用的方法与生成模型不同, 它们训练分类器, 使分类器能够将目标从背景中分离。常用的方法有多实例学习[6]、结构化输出SVM[7]、高斯过程回归[8]和深度学习[9]。近期的研究显示, 表现出最出色的跟踪器通常是判别跟踪器[10]或者是混合的跟踪器, 主要是因为纯粹的生成跟踪器不能够很好地处理背景问题。一般来说, 生成和判别跟踪算法权衡了外观模型的有效性和效率之间的得失, 虽然近年来这2种方法取得了很大的进步, 但增加它们的有效性和鲁棒性仍是一个挑战性的问题。
本文主要研究短期单个目标无模型跟踪, 在过去的几十年中, 研究者们提出了许多跟踪器, 从简单的KLT(Kanade-Lucas-Tomasi)跟踪器[11]到最近更加复杂的深度学习跟踪器。本文使用了文献[12]中提出的视觉跟踪器方法, 在出现目标物体与周围相似时能够区分目标并准确跟踪目标。本文的算法将跟踪器分解成5个组成部分, 也就是运动模型、特征提取、观察模型、模型更新器以及总体处理器, 很多现有的跟踪器也都可以分成相似的组成部分。
针对目标物体外表变化、遮挡问题、光照变化、背景的复杂以及目标快速运动等问题, 本文提出了改进算法:1)在特征提取器中, 使用改进后的Haar-Like模型, 根据人脸的特征, 相应的增添了3种Haar特征, 在人物跟踪方面增加了目标人物的跟踪精准性。2)在运动模型中, 改进了简单的粒子滤波模型, 增加了目标粒子位置与周围背景之间的空间关系, 联系前一帧的位置进行更加准确地目标定位, 使得原方法在出现相似目标、目标被遮挡、背景杂乱问题时能够更加准确地进行跟踪。
1 理解诊断视觉跟踪系统在理解诊断跟踪系统中, 通常将跟踪器分成5个部分, 具体流程如下。
1) 运动模型:生成一组可能在当前帧中含有目标的候选区域或边界框。
2) 特征提取器:提取由运动模型生成的每个候选区域中的目标特征。
3) 观察模型:判断候选目标是否是在候选区域中, 以及是否是按照特征模板提取的目标。
4) 模型更新器:控制观测模型的策略和频率。
5) 总体处理器:当一个跟踪系统由多个跟踪器组成, 总体处理器使用集成学习的方法将它们合并为最终结果。
跟踪系统通常通过在第1帧给予目标边界框, 在接下来的每个帧中, 运动模型先生成候选区域, 特征提取器再提取候选区域中的目标特征, 并送入观察模型来计算它们可能成为目标的概率, 然后选择最高概率的候选区域作为当前帧的目标区域。根据观察模型的输出, 模型更新器决定观察模型是否需要任何更新, 流程如图 1所示。
Download:
|
|
特征提取器是跟踪器的一个重要组成的部分。这里采用基于Haar-like的AdaBoost算法。Haar-Like算法和AdaBoost算法最初是由VIOLA等[13]提出的, 这种算法基于级联的方式, 每一种Haar特征就代表着1个弱分类器, 迭代过程中错分率最小的那个被称为最佳弱分类器。在以后的循环中, 调整已经训练出来的分类器的权值, 使其成为1个分类功能强大的强分类器。
本文针对Haar特征难以适应不同的检测目标的灰度分布的问题, 提出了扩展Haar特征方法。针对人脸特征和分布等特点的改进算法, 选择性的去掉一些与人脸检测相关度不是很高的Haar特征, 增加新型类Haar特征来提高系统检测的实时性。增加的扩展的Haar特征如图 2。
Download:
|
|
图 2中图 2(a)为鼻子和嘴巴组成的Haar特征, 图 2(b)为鼻孔与嘴巴组成的Haar特征(主要针对仰视超过30°, 鼻孔灰度较大的, 特征比较明显), 图 2(c)为眼睛与鼻子组成的Haar特征。
VIOLA等[13]提出了积分图概念, 目的是提高计算的效率。图 3所示的是计算矩形D的像素和积分图, 从图中我们可以看出, 矩形D的4个顶点的坐标分别为(x0, y0), (x1, y1), (x2, y2)以及(x3, y3)。那么矩形D的像素和为
$ {I_D} = ii({x_0}, {y_0}) + ii({x_1}, {y_1}) + ii({x_2}, {y_2}) + ii({x_3}, {y_3}) $ |
Download:
|
|
针对AdaBoost的训练过程中出现的分类错误样本权重过大的情况, 本文提出了改进AdaBoost的训练方法:先求得每一个类Haar特征对应的分类器, 再从刚才得到的所有分类器中寻找分类误差最小的弱分类器。由于只需要1次对所有特征进行特征值计算和排序, 所以每次迭代都只需进行阈值选择计算, 这样会使得整个级联分类器的训练速度有着大幅度的提升。
3 基于上下文的运动模型文中使用了VTB1.0[14]作为基准, 在文献[12]的方法中, 运动模型采用的是简单的类似粒子滤波的预测方法, 该算法对于每一帧都有一些目标位置概率的估计, 也就是说当候选区域是目标的可能性很高时, 它们的信息都将保留到下一帧中, 从而有助于跟踪器从故障中恢复。但是由于这种方法对于目标搜索区域有一定的限制, 当搜索区域太小、目标快速运动时, 跟踪器很可能失去目标。而当搜索区域过大时, 由于在背景选择中容易发生错误, 而使跟踪器偏离。
针对这2点问题, 本文提出了相应地改进。在视频跟踪过程中, 选取1个局部背景, 这个局部背景由在确定区域中的目标物体和最接近它的周围背景组成(参见图 4中的最外层矩形区域)。因此可以看出, 连续的帧中的目标和局部背景之间存在着强大的时空关系。尽管目标发生了严重的遮挡, 使得目标外观极大地改变, 但由于整体外观保持相似, 包含目标的局部背景并没有改变太多, 而且背景区域只有一部分是被遮挡的, 所以根据这个局部背景就可以预测下一帧当中的目标区域。
Download:
|
|
跟踪位置可以通过计算目标位置x的置信图来表示, 它估计了目标可能出现的位置为
$ c\left( x \right) = P\left( {X|o} \right) $ | (1) |
式中:x表示的是目标位置, o表示目标出现在场景中, c表示背景信息, P是概率。图 5是对上述公式的图解。局部背景区域在最外层的矩形框之内, 它包含里层的矩形框内部的目标区域, 中心位置用X*表示。位置z上的背景特征为c(z)=(I(z), z), 里面包含图像强度I(z)以及位置信息。
Download:
|
|
在当前帧中, 设定目标位置为X*(即跟踪目标的中心), 那么背景特征集为
$ \left\{ {c\left( z \right) = (I\left( z \right), z)} \right\} $ |
式中I(z)代表z处的图像强度, 包含于X*附近的位置(X*)中。联合概率为P(x, c(z)|o), 其中目标位置似然函数为
$ \begin{array}{l} c\left( x \right) = P\left( {X|o} \right) = \\ {\sum _{c\left( z \right) \in {X^c}}}P\left( {x, c\left( z \right)|o} \right) = \\ {\sum _{c\left( z \right) \in {X^c}}}P\left( {x, c\left( z \right)|o} \right)P\left( {c\left( z \right)|o} \right) \end{array} $ | (2) |
条件概率P(x|c(z), o)建立了目标位置和目标周围的背景信息之间的空间关系, P(c(z)|o)是背景先验概率, 它塑造了局部背景外观。
3.1 空间背景模型定义式(2)中的条件概率函数P(x|c(z), o)为
$ P\left( {x|c\left( z \right), o} \right) = {h^{sc}}\left( {x-z} \right) $ | (3) |
式中:htsc(x-z)是背景模型, 是目标位置x和它的局部背景位置z之间的相对距离和方向, 即两者之间的空间关系; htsc(x-z)不是一个镜像对称函数(即htsc(x-z)≠htsc(|x-z|)), 因为目标和它局部背景之间存在不同的空间关系。这种方法可以解决当相似目标极为贴近时, 跟踪发生错误的问题。
3.2 背景先验模型式(2)中的背景先验概率为
$ P({\rm{c}}\left( {\rm{z}} \right)|{\rm{o}}) = I\left( x \right){\omega _\delta }(z-{X^*}) $ | (4) |
式中:I(·)是代表背景外观的图像灰度值, ωδ(·)是一个加权函数, 定义为
$ {\omega _\delta }\left( z \right) = a{{\rm{e}}^{\frac{{-{{\left| z \right|}^2}}}{{{\delta ^2}}}}} $ | (5) |
式中:a是规则化常数, 限制式(4)中的P(c(z)|o), 使其从0~1分布, 满足概率的定义; δ是尺度参数。背景位置z离当前被跟踪目标位置X*位置越近, 对预测接下来帧中的目标位置的预测越重要, 权重也相对较大。目标位置置信图模型如式(6):
$ c\left( x \right) = p\left( {x|o} \right) = b{{\rm{e}}^{-\left| {\frac{{x-{x^*}}}{\alpha }} \right|\beta }} $ | (6) |
式中:b是一个归一化常数, α是一个标准参数, β是一个形状参数。
3.3 更新后的空间背景模型为了学习空间背景模型(3), 把置信图函数(6), 背景先验模型(4)以及式(3)放在一起, 我们可以得到式(7):
$ \begin{array}{l} c\left( x \right) = b{{\rm{e}}^{-\left| {\frac{{x-{x^*}}}{\alpha }} \right|\beta }} = \\ {\sum _{z \in {\Omega _c}\left( {{x^*}} \right)}}{h^{sc}}\left( {x-z} \right)I\left( z \right){\omega _\delta }\left( {z - {x^*}} \right) = \\ {h^{sc}}\left( x \right)*\left( {I\left( x \right){\omega _\delta }\left( {x - {x^*}} \right)} \right) \end{array} $ | (7) |
式中定义*为卷积算子。
我们注意到, 将式(7)转换到频域, FFT算法快速卷积。于是得到
$ F\left( {b{{\rm{e}}^{-\left| {\frac{{x-{x^*}}}{\alpha }} \right|\beta }}} \right) = F\left( {{h^{sc}}\left( x \right)} \right) \odot F\left( {I\left( z \right){\omega _\delta }\left( {x-{x^*}} \right)} \right) $ | (8) |
式中:F是FFT函数, ⊙是元素智能积, 即对应像素乘。因此会得到
$ {h^{sc}}\left( x \right) = {F^{-1}}\left( {\frac{{F\left( {b{{\rm{e}}^{-\left| {\frac{{x-{x^*}}}{\alpha }} \right|\beta }}} \right)}}{{F\left( {I\left( z \right){\omega _\delta }\left( {x - {x^*}} \right)} \right)}}} \right) $ | (9) |
式中F-1为快速傅里叶逆变换。
3.4 改进后的上下文模型假定第1帧中的目标位置被手动定位或者被一些目标检测算法初始化。在第t帧, 空间背景模型为htsc(x), 它可以用来更新时空上下文模型Ht+1stc(x)并用在第(t+1)帧中来检测目标的位置。在第(t+1)帧时, 就会得到第t帧中的目标位置Xt*的局部背景区域Ωc(Xt*)以及相关背景特征集:
$ \begin{array}{l} {X_{t + 1}}^* = {\rm{argmax}}{c_{t + 1}}\left( x \right)\\ x \in {\mathit{\Omega }_c}\left( {{X_t}^*} \right) \end{array} $ | (10) |
式中ct+1(x)是由式(8)推导出来的。
$ {c_{t + 1}}\left( x \right) = {F^{-1}}\left( {F\left( {{H_{t + 1}}^{{\rm{stc}}}\left( x \right)} \right)F\left( {{I_{t + 1}}\left( x \right){\omega _{\delta t}}\left( {x-{x^*}} \right)} \right)} \right) $ | (11) |
时空上下文模型由式(12)更新:
$ {H_{t + 1}}^{{\rm{stc}}} = \left( {1 - \rho } \right)\cdot{H_t}^{{\rm{stc}}} + \rho {h_t}^{sc}\left( x \right) $ | (12) |
式中:ρ是学习参数, htsc是由式(9)计算得到的第t帧中的空间背景模型。我们注意到, 式(12)是时域滤波过程, 在频域范围内它就变为
$ {H_\omega }^{{\rm{stc}}} = {F_\omega }{h_\omega }^{sc} $ |
式中:
$ {F_\omega } = \frac{\rho }{{{{\rm{e}}^{{\rm{j}}\omega }}-\left( {1-\rho } \right)}} $ |
式中:j是虚部, Fω是一个低通滤波器。因此, 本文中的时空上下文模型能够有效地过滤掉图像噪声, 跟踪的结果会更加的稳定。
4 实验我们在7个视频上评估本文中的算法, 这些视频中有严重遮挡的、光照变化剧烈的、尺度变化较大的、背景杂乱以及运动模糊等挑战因素。我们将文献[12]中提出的跟踪算法(understanding and diagnosing visual tracking systems, UDVTS)以及3个公认的最优方法和本文中的跟踪器(promote understanding and diagnosing visual tracking systems, PUDVTS)进行比较, 这些方法分别是多任务跟踪器(multiple target tracking, MTT)[15]、跟踪学习探测(tracking-learning-detection, TLD)方法[16]、结构化输出跟踪器(Struct)[17]。由于本文中使用的跟踪器在跟踪过程中存在一定的随机性, 我们在每个视频上重复实验10次, 取得1个平均值。实验硬件环境为:CPU为Intel(R)Core(TM)i3 3.4 GHz, 内存为4 G的计算机。软件环境为MATLAB 2012, Visual Studio 2010以及OpenCV 2.4.10。
4.1 实验的装置背景区域的大小首是目标物体大小的2倍, 并且尺度参数δ和尺度大小s为
$ {\delta _{t + 1}} = {s_t}{\delta _t} $ |
式中:参数st为第t帧的目标尺度大小, δt初始值为
本文中使用2个评估标准来比较跟踪器的性能:成功率(SR)和中心位置误差(center location error, CLE)。定义成功率为
$ {\rm{score}} = \frac{{{\rm{area}}\left( {{R_t} \cap {R_g}} \right)}}{{{\rm{area}}\left( {{R_t} \cup {R_g}} \right)}} $ |
式中:area(·)表示求面积, Rg表示实际包围框, Rt表示跟踪包围框, 如果score>0.5, 即表示跟踪成功。
中心位置误差(CLE)是跟踪目标包围框的中心位置与实际(ground truth)目标包围框的中心位置之间的像素距离。精度图用来评估跟踪算法的整体性能, 定义为所有跟踪帧的CLE小于给定CLE阈值的帧数占总帧数的百分比, CLE阈值的变化范围是0 ~50。
可以看出, 成功率值越大, 中心位置误差值越小, 跟踪器的跟踪性能越好。
表 1和表 2分别记录文中的跟踪器和对比跟踪器的成功率和中心位置误差, ASR和ACLE分别表示平均成功率(average SR)以及平均中心位置误差(average CLE)。图 6表示在Girl视频中我们的算法PUDVTS的跟踪结果。
Download:
|
|
在评估的序列中会有光照变化。在car4序列中, 由于光照变化较大, 目标物体的外观变化就很大。其中文中使用方法在处理视频中光照变化方面有着较优的结果, 其精准性归因于时空上下文信息的使用, 它可以滤除观察噪声, 从而使得当目标由于光照、尺度和位置变化时, 能够准确的跟踪。当跟踪出现girl序列中的遮挡、平面内旋、平面外旋旋转和位置变化时, 跟踪的难度也会相应的增大。由于文中的算法选取了目标及目标周围背景之间的特征点作为空间的信息, 所以当视频中出现目标之外人物被遮挡时, 由于围绕着目标物体的局部背景多数没有被遮挡, 很容易通过时空关系找到目标人物所在的位置从而准确地跟踪。
在Crossing和Dudek序列中, 均涉及到了目标物体在背景杂乱的情况下快速地运动。在Dudek序列中, 目标会在平面内旋转, 会摘掉眼镜、戴上眼镜, 并有一部分消失在视频之外, 增加了跟踪的难度, 在此条件下, 只有Struck和文中提出的方法能够在大部分视频帧中成功跟踪。根据这些比较, 可以得知文中使用的方法无论在光照变化、外貌变化、面内旋转以及大小变化等不利因素条件下, 跟踪效果仍然是稳定的。
5 结论在文中使用了一种跟踪框架, 将跟踪器分成了5个组成部分:运动模型、特征提取器、观察模型、模型更新器以及总体处理器, 这5个部分都有其各自的作用。在处理光照变化、尺度变化、位置变化等方面有着较为精准的结果。但针对跟踪器中出现的在背景杂乱、快速运动等视频中出现的偏移目标问题, 本文进行了改进。1)首先将特征提取中的Haar-Like算法进行了改进, 提出了3个扩展性的Haar特征模型, 并使用了改进后的Adaboost算法流程训练分类器并进行级联。2)同时本文也将运动模型中使用的粒子滤波框架进行了改进, 使用了上下文模型, 将其与空间背景信息相结合, 并在在线学习以及检测中使用了可以有效滤波的快速傅里叶变换算法, 对于处理目标被遮挡、背景杂乱、光照变化、形变等问题有着较高的鲁棒性。3)对于处理目标跟踪丢失后如何精准的找回目标, 是下一步将要完善的工作。
[1] | YILMAZ A, JAVED O, SHAH M. Object tracking:a survey[J]. ACM computing surveys, 2006, 38(4): 13. DOI:10.1145/1177352 (0) |
[2] | 刘胜, 张红梅. 最优估计理论[M]. 北京: 科学出版社, 2011: 1-5. (0) |
[3] | GONZALEZ R C, WOODS R E. 数字图像处理[M]. 阮秋琦, 阮宇智, 译. 北京: 电子工业出版社, 2007. (0) |
[4] | MEI Xue, LING Haibin. Robust visual tracking using l1 minimization[C]//IEEE 12th ICCV. Kyoto, Japan, 2009: 1436-1443. (0) |
[5] | WANG Naiyan, WANG Jingdong, YEUNG Y D. Online robust non-negative dictionary learning for visual tracking[C]//IEEE International Conference on Computer Vision. Sydney, Australia, 2013: 657-664. (0) |
[6] | BABENKO B, YANG M H, BELONGIE S. Robust object tracking with online multiple instance learning[J]. IEEE transactions on pattern analysis and machine intelligence, 2011, 33(8): 1619-1632. DOI:10.1109/TPAMI.2010.226 (0) |
[7] | HARE S, SAFFARI A, TORR P H S. Struck: Structured output tracking with kernels[C]//Proceedings of the 2011 International Conference on Computer Vision. Washington, DC, USA, 2011: 263-270. (0) |
[8] | 张华. 运动目标跟踪算法的若干方法研究[D]. 南京: 南京理工大学, 2008. http://www.cnki.com.cn/Article/CJFDTotal-JSYJ200912001.htm (0) |
[9] | WANG Naiyan, YEUNG D Y. Learning a deep compact image representation for visual tracking[C]//Proceedings of the 26th International Conference on Neural Information Processing Systems. Lake Tahoe, Nevada, 2013: 809-817. (0) |
[10] | DANELLJAN M, HÄGER G, KHAN S F, et al. Accurate scale estimation for robust visual tracking[C]//Proceedings of the British Machine Vision Conference. Nottingham, UK, 2014. (0) |
[11] | WANG Naiyan, YEUNG D Y. Ensemble-based tracking: aggregating crowdsourced structured time series data[C]//Proceedings of the 31st International Conference on International Conference on Machine Learning. Beijing, China, 2014: 1107-1115. (0) |
[12] | WANG Naiyan, SHI Jianping, YEUNG D Y, et al. Understanding and Diagnosing Visual Tracking Systems[C]//Proceedings of IEEE International Conference on Computer Vision. Santiago, Chile, 2015: 11-18. (0) |
[13] | VIOLA P, JONES M. Rapid object detection using a boosted cascade of simple features[C]//Proceedings of 2001 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Kauai, HI, USA, 2001: 511-518. (0) |
[14] | WU Yi, LIM J, YANG M H. Online object tracking: a benchmark[C]//IEEE Conference on Computer Vision and Pattern Recognition. Portland, USA, 2013. (0) |
[15] | ZHANG Tianzhu, GHANEM B, LIU Si, et al. Robust visual tracking via multi-task sparse learning[C]//IEEE Conference on Computer Vision and Pattern Recognition. Providence, RI, USA, 2012: 2042-2049. (0) |
[16] | KALAL Z, MATAS J, MIKOLAJCZYK K. P-N learning: bootstrapping binary classifiers by structural constraints[C]//IEEE Computer Society Conference on Computer Vision and Pattern Recognition. San Francisco, USA, 2010: 49-56. (0) |