目标跟踪任务是计算机视觉中被广为研究的一类任务,按照跟踪目标的数量分为单目标跟踪和多目标跟踪 。顾名思义,单目标跟踪问题索要解决的是单个目标的跟踪,而多目标跟踪则需要跟踪多个不同的目标。目标跟踪问题作为人工智能的基础问题之一,被广泛应用于智能监控,动作与行为分析,自动驾驶等应用领域。其中多目标跟踪问题又以是否使用到当前帧之后的帧图像为划分,分为在线跟踪问题(online)和离线跟踪问题(offline)。其中在线跟踪问题不需要使用到当前帧之后的图像信息,只使用当前帧以及当前帧以前的帧的信息做为跟踪依据。而离线跟踪问题,则可以使用当前帧前后的若干帧作为跟踪的判断依据。可以看出由于在线跟踪问题无法使用当前帧以后的帧信息,相对于离线问题来说,在线跟踪问题要困难许多。
当前被广泛研究和实现的最多的策略是基于检测的跟踪,问题要求先得到目标的定位框,然后根据定位框进行下一步的跟踪。可以说基于检测的多目标跟踪问题是目标检测问题的一个拓展问题,也可以将基于检测的多目标跟踪问题描述为前后帧的目标定位框的匹配问题,其目标是将前一帧图像中的物体的定位框和后一帧图像中物体的定位框一一对应起来,这种对应关系拓展到整个视频流中便形成了视频中多个物体的跟踪轨迹,也就是多目标跟踪的跟踪结果。
而要将前后帧的定位框进行对应的通常做法便是,对前后两帧的定位框所框定的内容提取特征,然后根据前后两帧的特征对比结果进行分配,最后得到最优的分配结果即是最后的跟踪结果。而提取的特征又有很多种类,比如图像的表象特征、位置特征、运动特征等。通过结合多种不同的特征对最后的跟踪结果进行不同维度的约束,能够有效的提高算法的跟踪能力以及算法跟踪的鲁棒性。
最早的目标跟踪工作可以追溯到 1981 年由 Bruce D. Lucas 和 Takeo Kanade提出的 LK 光流法 ,LK 光流法是一种两帧差分的光流估计算法,该算法需要满足三个假设条件亮度恒定、小运动和空间一致,它假定亮度在短时间内是保持不变的,并且目标领域内的速度向量长是变化不大的,然后跟踪器开始考虑图像的纹理特征和颜色特征。而多目标跟踪则大多使用图像的表象特征结合卡尔曼滤波器,得到前后帧中定位框的特征,然后用前后帧的特征组合形成目标分配矩阵,最后使用匈牙利算法进行前后帧定位框的匹配形成最终的跟踪结果。近年来有不少算法将光流引入到多目标跟踪问题中,如 Sanjivani Shantaiya 等人提出的使用卡尔曼滤波器结合改进后的光流算法提取画面中的物体运动特征,根据提取的运动信息对目标进行跟踪。
自 2012 年 AlexNet 出现以后,基于深度学习的多目标跟踪方法便层出不穷。2017 年 AAAI 上发表的一片名为《Online Multi-Target Tracking Using Recurrent Neural Networks》 的文章,提出了一种基于 RNN (Recurrent Neural Network)和 LSTM(Long Short-Term Memory)的多目标跟踪网络模型,该模型使用自定义的 RNN 网络实现了轨迹的预测和更新,并且通过 LSTM 网络实现了前后帧定位框的匹配工作替代了传统的匈牙利算法。该文章为实现端到端的多目标跟踪网络提供了实际样例,虽然目标跟踪的效果并不出众,但是为研究者们提供了新的思路和方向。