随着技术的发展, 基于视频的跟踪技术在日常生活中得到了广泛的运用, 如在辅助驾驶系统(ADSD)[, 机器人视觉[, 人机交互[、智能监控[等领域取得了较好的成果. 在计算机视觉领域, 基于视频的目标跟踪技术一直都是研究的要点和难点, 它基本的流程是通过在视频初始帧给定的目标检测框得到所要跟踪的目标, 然后通过一系列视觉方法得到目标的特征, 并在接下来的视频帧中成功定位到该目标, 从而得到目标运动的速度、轨迹和方向等信息, 进一步应用在各个领域上去[.
不同于目标检测, 由于基于视频的目标跟踪中常会遇到场景复杂, 种类繁多并且多变、影响参数过多, 以及由物体本身运动特性产生的遮挡、形变、位置急剧变化等情况, 因此, 如何找到一种行之有效的方法, 使其能够具有足够的鲁棒性处理以上可能存在的各种复杂情况成为了当下亟待解决的问题[.
随着深度学习理论的不断发展, 基于深度学习对于目标强大的特征抽象能力以及对目标运动过程的拟合能力, 人们开始将深度学习应用在基于视频的目标跟踪领域上来. 本文从现有的基于深度学习的跟踪算法以及未来的发展趋势角度对基于深度学习的目标跟踪算法进行分析和展望.
1 相关技术
从目标跟踪的基本流程来看, 如
图 1
Fig. 1
图 1 目标跟踪基本流程
外观建模阶段主要包含两方面的工作, 一是通过特征提取对物体外观进行抽象描述. 在特征提取阶段, 所提取的特征不仅需要对运动目标最具代表性特征进行完备描述, 基于实时性考虑, 通常也需要在计算速度上具备一定优势. 所提取的特征可以是单一的颜色
目标跟踪的搜索策略阶段就是在跟踪的过程中, 根据当前物体所在位置, 找出帧与帧之间可能存在的位置关系, 从而在下一帧中得到物体可能所在的候选位置. 基本原理就是通过构建运动模型建立约束, 得到一组目标位置的可能候选区域. 常见的运动模型有滑动窗口、粒子滤波[、卡尔曼滤波[等.
模型更新阶段. 基于目标在跟踪过程中可能发生的变化, 跟踪问题在跟踪过程中需要一个在线更新机制实时更新目标的外观模型用以防止可能发生的漂移现象. 常用的方法主要分为逐帧更新、等间隔更新及启发式更新等方法.
目前的跟踪算法可以分为生成式模型和判别式模型两种. 生成式方法是从通过提取的相关特征中学习目标的外观模板, 在搜索区域寻找匹配程度最高的区域作为目标的方法. 其常用的方法主要有高斯混合模型[, 贝叶斯网络[, 马尔科夫模型等.
判别式方法则把跟踪问题转化为一个背景与前景的二分类问题, 通过提取的相关特征训练一个分类器, 在目标区域实现前景与背景的区分, 这种方法也被称之为track by detection[. 经典的方法有struck[, TLD[方法等. 而在实际的跟踪过程中, 由于判别式方法同时兼顾了前景与背景的信息, 所达到的效果往往比生成式方法更为优秀.
在近几年的跟踪研究中, 基于速度与性能的双重考虑, 相关滤波方法(Correlation Filter)占据了一席之地. 相关滤波方法通过极高的效率解决岭回归问题完成对目标的判断. 2011年, Bolme等人[提出了最小输出均方误差和(Minimum Output Sum of Squared Error filter, MOSSE)滤波方法, 基于信号中相关性原理, 提取图像的灰度特征, 运用最小均方误差的原理找到使得目标能够得到最大响应的滤波器. Henriques等人[提出了KCF (Kernelized Correlation Filters)滤波方法, 其利用循环矩阵的原理, 将相关滤波器的求解过程运用快速傅里叶变换转换到了频域, 同时提出了解决多特征融合的方法, 加入了HOG (Histograms of Oriented Gradients)特征[实现了跟踪效果的极大进步. Danelljan等人[提出自适应颜色属性的CN (Color Name)方法, 将输入特征变为11种颜色特征, 然后将特征维数利用降维的思想转变成2维再训练相关滤波器. Danelljan等人[提出DSST (Discriminative Scale Space Tracking)方法, 通过分别训练位置滤波器和尺度滤波器得到目标位置的响应. Danelljan等人[提出SRDCF (Spatially Regularized Discriminative Correlation Filters)方法, 利用高斯分布提出新的惩罚项, 并直接指定了尺度的分配, 在一定程度上解决了目标跟踪中针对不同尺度的情况.
随着深度学习在计算机视觉领域的不断发展, 在目标检测识别领域取得了令人瞩目的成果[, 卷积神经网络[、循环神经网络[、孪生网络[等, 获取了一定的成果.
但是由于深度学习需要使用大量训练数据训练相应模型, 而在目标跟踪中所能使用的正负样本往往只有第一帧所给出的目标与背景, 训练样本数量严重不足, 而且在卷积网络中, 层次越深的网络对物体的抽象表达能力越强, 但在跟踪中, 过于深层次的网络在卷积池化的过程中逐渐丢失了物体的位置信息, 这对主要任务是完成对物体位置确定的跟踪来说往往不能达到预期的效果, 如何在保持一定语义信息的基础上充分保留空间信息也是深度学习在目标跟踪上的一个应用难点.
将深度学习应用在目标跟踪领域, 通常有两种思路. 为了体现深度特征对于目标物体强大的特征表示能力[, 可以将深度特征代替传统的手工特征放入相关滤波器中以加强语义信息提高跟踪精度. 为了体现深度网络强大的拟合能力, 使用一个或者多个网络结构的组合实现目标跟踪也取得了先进的效果. 因此, 基于深度学习的目标跟踪通常分为基于深度特征的目标跟踪以及基于深度网络的目标跟踪.
2 目标跟踪
2.1 基于深度特征的目标跟踪
随着深度网络的发展, 其在目标分类方向的应用也越发的成熟. 最近几年的VOT (Visual Object Tracking)竞赛中, 相关滤波+深度特征的方法取得了先进的表现. 传统滤波方法中, 往往采用简单的灰度特征, Hog特征, 亦或是相关的光流特征
Ma等人[提出了HCF (Hierarchical Convolutional Features for visual tracking)方法, 利用已知的图像位置, 根据其对应的Conv3-4, Conv4-4, Conv5-4特征, 训练三个不同的相关滤波器. 在下一帧中与同样在相关区域范围内的相关层的特征滤波得到响应的位置分数. 通过三层位置的最大响应点做逐层精细的位置预测, 并以最终最底层的带有最多空间位置信息的预测结果作为输出.
Qi等人[利用集成学习的思想, 提出了HDT(Hedged Deep Tracking)方法, 将许多个追踪器结合在一起获得一个更强的追踪器. 在追踪过程中, 基于上一帧图像的目标位置裁剪后, 利用VGG16
Danelljan等人[提出了连续卷积跟踪算子(Continuous Convolution Operators for visual Tracking, CCOT). 基于特征融合改进的基础上, 通过在连续的分辨率序列中学习, 创建时域连续的的相关滤波器, 可以将不同分辨率的特征图作为滤波器的输入, 使得传统特征和深度特征能够深度结合, 最后, 融合多个响应, 得到目标的估计位置.
针对CCOT处理高维特征需要训练多个滤波器, 为了提高时间效率和空间效率, Danelljan等人[提出了高效卷积算子(Efficient Convolution Operators for tracking, ECO). ECO构造一组更小的滤波器, 有效的利用矩阵分解操作, 降低了模型的大小, 防止过高的维度导致的效率低下和过拟合问题. 同时ECO使用高斯混合模型表示不同的目标外观, 使得训练集具有多样性, 防止对连续数帧样本的过拟合. 同时改变模板更新的策略, 降低更新频率, 提高效率.
2.2 基于深度网络的目标跟踪
深度特征加上相关滤波的方法在速度和精度上在一定程度上都有所保证, 但是考虑到深度网络强大的拟合能力与适应能力, 人们开始了对于完整的深度网络在目标跟踪上的研究. 但是在目标跟踪领域, 深度学习仍然面对着很大的挑战. 基于深度网络的目标跟踪不得不面对两个至关重要的难题. (1) 目标跟踪的样本数量严重不足, 在目标跟踪中, 往往只有初始帧的目标框, 这对需要基于大量数据才能达到优异效果的深度学习来说是一个很严重挑战. (2) 在注重实时性的目标跟踪领域, 具有比较理想效果的网络往往需要较大的计算量, 即便在GPU环境下也很难做到实时的效果. 针对这些问题, 一些基于深度网络的目标跟踪方法陆续被提出.
在基于深度学习的目标跟踪中, 在处理单目标跟踪问题的时候, 不需要太大的网络, 在卷积网络中, 一般底层包含更多的空间信息, 而高层包含更多的语义信息, 与目标检测不同, 在网络结构越深的情况下, 语义信息越来越抽象, 但同时会其所包含的空间信息也将被稀释, 不利于获取目标跟踪中最需要用到的物体的空间信息. 同样, 基于深度网络的目标跟踪本质上仍然是判别式模型, 所以目标跟踪只需要区分相应的两个类别, 即前景跟后景, 所以并不需要太大的网络. 而在整个视频中, 所需要追踪的目标也同样较小, 其输入尺寸自然也小, 综上并基于网络速度考虑, 目标跟踪所使用的深度网络不会太深太大.
基于迁移学习的思想, 采用VGG-M的部分结构, Nam等人[提出多域卷积网络(Multi-Domain con-volutional neural Networks, MDNet). 如K个视频交替训练, 每段视频训练得到独立的第六层全连接层(fc6层)并且获得前面的共享层. 当测试一个新视频时, 随机初始化一个fc6, 通过第一帧的正负样本得到新的网络权重. 在跟踪时, 只需要由跟踪过程中产生的正负样本在线微调fc4–fc6即可实现目标的跟踪. 基于深度网络的目标跟踪在速度上很难达到实时的效果, 但在准确率却达到了state-of-the-art的效果, 夺得了VOT15的冠军.
图 2
Fig. 2
图 2 多域卷积网络(MDNet)
Wang等人[针对跟踪中无法使用大量训练样本的情况, 将CNN的训练过程看成是一个集成学习的过程, 将能够输出对应特征图的每个卷积核当做基准学习器. 通过VGGnet得到预训练的特征图, 经过共有两层卷积层结构的CNN-A网络, 每一个通道的卷积层卷积核都将被看做一个基学习器, 通过相应的损失函数, 得到热度图. 从这些基学习器中选出训练误差最小的放入集合中, 其余放入备选集合中. 当新的训练样本到来时, 使用随机梯度下降方法对所有的分类器进行更新, 当训练误差高于给定阈值时, 便从候选集合找出训练误差最小的基分类器. 由于CNN每个通道都参与了训练过程, 最终训出来的网络具有更好的泛化性能.
Nam等人[针对模型应该随着目标的变化而稳定变化的出发点, 提出了树结构CNN, 如
图 3
Fig. 3
图 3 树形结构的CNN (T-CNN)
同时考虑了多个卷积神经网络, 用其线性加权组合来确定目标的位置. 为减少运算, 使用一个CNN时, 共享前三层卷积层, 只需要保存全连接层即可. 同时, 每十次跟踪, 便创建一个新的CNN节点, 同时从原先的集合中选择使新节点可靠性最高的节点作为其父节点, 并对其全连接层微调, 并删除最老的节点. 同样由于计算量过于庞大, 很难达到实时效果, 但在识别精度上达到了VOT2016竞赛最先进的表现.
Wang等人[针对CNN的特性, 不仅仅是把CNN特征当成一个黑盒的特征提取器, 通过对不同层的CNN特征进行了大量的分析实验, 使用VGG16网络中第十个卷积层和第13个卷积层分别送入两个只具有简单网络结构的SNet和GNet, 前者对于前景后景的区分较为敏感, 后者对区分类别信息更于敏感. 两个网络分别输出相应的前景热图, 最后通过对干扰项的判定决定采用哪种热图, 从而输出目标的位置.
Han等人[基于bagging集成[的在线跟踪思路, 提出BranchOut方法. 网络工作类似于MDNet, 但是与MDNet不同的是, BranchOut由三个卷积层和多个全连接层的分支组成. 网络中每个独立的分支(Branch)有着不同数量的全连接层, 数量一般为1或者2, 用来保证目标的可抽象能力. 同时在跟踪过程中, 根据伯努利分布选择相应随机Branch子集来训练网络. 在没有预训练的情况下BranchOut也达到了state-of-art的效果.
2.3 算法小结
针对以上深度学习方法, 将上文提到的部分算法在OTB2015[上进行相关性能的分析, 如
表 1(Table 1)
表 1 深度学习跟踪算法表现
算法名称
Precision
Success
MDNet
0.909
0.678
ECO
0.899
0.680
CCOT
0.898
0.871
DeepSRDCF[
0.851
0.635
HDT
0.848
0.564
SRDCF
0.789
0.598
DSST
0.680
0.513
KCF
0.696
0.477
表 1 深度学习跟踪算法表现
不难看出, 无论是基于深度特征还是直接使用深度网络的目标跟踪过程, 所利用的都是通过具有大量参数的网络所训练出的对物体特征的强大的表示能力, 对比相应的传统手工特征, 在跟踪精度上具有绝对的领先优势, 但是相应的考虑到深度学习所涉及的计算量, 对于绝大多数采用深度学习方法的目标跟踪算法其实时速率往往达不到10 fps, 这对于只有达到实时效果才能产生实用价值的目标跟踪领域来说, 还需要一段时间的发展才能达到理想的效果.
3 基于孪生网络的目标跟踪发展
对于采用深度学习的目标跟踪方法而言, 由于计算参数量过于庞大, 虽然在精度上有着无可比拟的优势, 但是在实际应用以及相关实践上却难以发挥功效. 而对于深度学习的方法来说, 所耗费的大部分计算时间都集中在在线更新时所需要计算的反向传播的过程上, 而离线训练避免微调只计算前向传播的过程所花费的时间在跟踪领域是完全可以接受的, 因此同样基于相关性思想的孪生全卷积网络也成为了近几年研究的热点方向. 针对相关滤波处理模型快速变化能力差, 同时其采用循环矩阵所造成的边界效应难以解决, 基于深度网络思想, 人们提出了交叉相关的思想, 使用卷积操作来代替滑动窗口检测.
Bertinetto等人[基于孪生全卷积网络提出了SiameseFC (Fully-Convolutional Siamese networks for object tracking)的网络结构用于目标跟踪, 如
图 4
Fig. 4
图 4 孪生全卷积网络SiameseFC
基于相关滤波的方法近年来表现上佳, 考虑到基于CNN的相关滤波方法无法实现相应的端到端的快速学习, 基于CNN的随机梯度下降等方法效率低速度慢, 而基于傅里叶变换的相关滤波方法只需要使用快速傅里叶变换以及较少的参数运算便可以得到岭回归问题的解. 基于这种原因, Valmadre等人[将孪生全卷积网络与相关滤波方法相结合, 以求达到性能上的进步. 基于SiameseFC的结构添加了CF层, 通过将卷积的计算转换到频域内计算, 使得相关滤波器的损失能够以反向传播的方式参与到网络的训练过程, 也就是将CF解释为可微的CNN层. 跟踪时使用CF高效的在线学习效率每帧生成一个模板, 性能相较SiameseFC有了一定的进步.
Wang等人[使用CNN特征代替DCF (Discriminative Correlation Filters)[中的HOG特征, 使用CNN来学习最适合DCF使用的特征, 结合CCOT的特征插值方法, DSST的尺度估计方法, 将DCF学习的过程融入反向传播, 可以在通道数较少的情况下得到鲁棒的跟踪效果.
由于SiameseFC使用固定的网络深度提取目标特征, 对于容易判断的目标相对于使用底层特征或相应的手工特征来说计算量过于庞大. 为了在提高计算效率并且保证精度, Huang等人[提出了EAST (EArly-Stopping Tracker )跟踪算法. 针对不同情况灵活使用不同特征. 基本框架使用SiameseFC的互相关, 特征级联的方式为从灰度特征到HOG特征再到第一层卷积特征一直到第五层卷积特征. 首先使用速度较快的特征检测目标, 得出置信度. 根据阈值大小, 当简单特征无法正确判别时, 通过Q-Learing[的方法加入更加深层次的的网络特征获取目标的高级语义特征解决当目标外观在一定程度上发生形变遮挡等干扰情况.
针对SiameseFC网络的面对目标显著变化效果差, 为提升网络的泛化效果, 基于网络的深层特征表示更高级的语义含义, He等人[提出了具有语义分支和外观分支的SA-Siam网络. 如[的Conv-4及Conv-5特征, 连接多层特征, 通过第一帧确定的注意力权重选择多通道特征中对该目标表达影响程度高的通道, 再与搜索区域卷积得到响应热图, 在跟踪时使用加权求和方法得到最后的目标响应位置.
图 5
Fig. 5
图 5 双重孪生网络(SA-Siam)
同样基于提升SiameseFC的泛化能力, Wang等人[提出了RASNet (Residual Attentional Siamese Network for high performance online visual tracking). 基于注意力机制, RASNet采用一般注意力权重, 通道注意力权重, 残差注意力权重, 将3种注意力权重融合后再与目标搜索区域进行互相关, 得到目标位置映射.
4 结论与展望
随着深度学习技术在计算机视觉领域的不断发展, 深度学习以其强大的模型学习能力取得了越来越显著的效果. 但是, 由于深度学习对数据依赖性强以及目标跟踪中数据量不足的特点, 深度学习在目标跟踪领域还有很长的一段路要走. 但是, 从近几年的VOT竞赛结果中可以看出, 随着跟踪技术的不断发展, 基于数据驱动的学习方式在跟踪领域也必将占据着越来越重要的作用. 本文对于目前目标跟踪领域存在的问题以及对于未来发展方向的展望, 总结如下:
(1) 相关滤波方法仍是现今应用能力最强的方法. 深度特征+相关滤波方法在性能上近年来取得了显著的效果. 如何最大限度利用深度特征对于目标强大的特征表达能力并运用实时性较高的滤波算法是今年来滤波类算法提高精度的重点方向之一.
(2) 将用来分类的网络迁移到跟踪领域达到tracking-by-detection在目前来说还远远没有达到深度学习在其他如目标检测、分割等领域的应用成就, 随着现代科学技术的发展, 在注重实时性的目标跟踪领域发展还需要一定时间, 但不难看出, 基于深度网络的目标跟踪在跟踪精度上具有较大优势, 目标跟踪的发展应是速度与精度共同提升的过程, 因此, 进一步强化和改进深度网络在目标跟踪上的应用对于目标跟踪的发展意义重大.
(3) 对于如何实现端到端的跟踪效果还需要不断优化. 近年来基于Siamese网络架构利用相关性思想的跟踪方法迅速发展, 在一定程度上解决了神经网络计算量大、效率低、速度慢的问题, 给人们带来了解决相关问题的新思路, 该方法正逐渐成为近年来目标跟踪的热门方向之一, 对于目标跟踪技术的发展有着十分积极的作用.