目标跟踪 (Object Tracking) 是机器视觉领域的重要课题,根据跟踪目标的数量,可分为单目标跟踪 (Single Object Tracking,简称 SOT) 和多目标跟踪 (Multi Object Tracking,简称 MOT)。

多目标跟踪往往因为跟踪 ID 众多、遮挡频繁等,容易出现目标跟丢的现象。借助跟踪器 DeepSORT 与检测器 YOLO v5,可以打造一个高性能的实时多目标跟踪模型。

本文将对单目标跟踪和多目标跟踪分别进行介绍,文末将详解 YOLO v5+DeepSORT 的实现过程及具体代码。

单目标跟踪详解

定义 

单目标跟踪 SOT 是指在视频首帧给出目标,根据上下文信息,在后续帧定位出目标位置,建立跟踪模型对目标的运动状态进行预测。

应用场景 

SOT 在智能视频监控、自动驾驶、机器人导航、人机交互等领域应用广泛。

%title插图%num

足球比赛中利用 SOT 预测足球运动轨迹

研究难点

*主要的三个难点:目标背景的变化、物体本身的变化、光照强度变化。

主流算法(基于深度学习) 

解决 SOT 问题主要有两种方法:判别式跟踪及生成式跟踪,随着深度学习在图像分类、目标检测等机器视觉相关任务中的成功应用,深度学习也开始大量应用于目标跟踪算法中。

本文主要围绕基于深度学习的 SOT 算法进行介绍。

%title插图%num

各时间节点的代表性目标跟踪算法

2012 年后以 AlexNet 为代表的深度学习方法

被引入到目标跟踪领域中

关键算法:SiamFC

与传统目标跟踪中所用的在线学习方法不同,SiamFC 侧重于在离线阶段学习强嵌入。

它将一个基本跟踪算法,与一个在 ILSVRC15 数据集上进行端到端训练的新型全卷积孪生网络 (fully-convolutional Siamese network) 相结合,用于视频中的目标检测。

%title插图%num

全卷积孪生网络架构示意图

实验证明,在模型测试和训练期间,孪生全卷积深度网络对已有数据的利用更加高效。

SiamFC 开创了将孪生网络结构应用于目标跟踪领域的先河,显著提高了深度学习方法跟踪器的跟踪速度,结构简单性能优异。

相关论文:

https://arxiv.org/pdf/1606.09549.pdf

相关衍生算法 

1、StructSiam

提出了 local structure learning method,同时考虑目标的 local pattern 和结构关系。为此,作者设计了一个局部模式检测模块,来自动识别目标物体的辨别区域。

该模型可以以端到端的方式进行训练。

相关论文:

https://openaccess.thecvf.com/content_ECCV_2018/papers/Yunhua_Zhang_Structured_Siamese_Network_ECCV_2018_paper.pdf

2、SiamFC-tri

作者提出了一种全新的 triplet loss,用于提取跟踪物体的 expressive deep feature。在不增加输入的情况下,该方法可以利用更多元素进行训练,通过组合原始样本,实现更强大的特征。

相关论文:

https://openaccess.thecvf.com/content_ECCV_2018/papers/Xingping_Dong_Triplet_Loss_with_ECCV_2018_paper.pdf

3、DSiam

作者提出了动态孪生网络,通过一个快速转换学习模型,能够有效地在线学习目标的外观变化和先前帧的背景压制。同时作者还提出了元素多层融合,利用多层深度特征自适应地整合网络输出。

DSiam 允许使用任何可行的通用或经过特殊训练的特征,如 SiamFC 和 VGG,且动态孪生网络可以直接在标记的视频序列上进行整合训练,充分利用移动物体丰富的时空信息。