基于深度学习的多目标跟踪算法——ReID与MOT的联系

©PaperWeekly 原创 · 作者|黄飘

学校|华中科技大学硕士

研究方向|多目标跟踪

最近基于深度学习的多目标跟踪算法越来越多,有用于特征提取的,有改进单目标跟踪器的,也有提升数据关联的。如果真的要总结的话那就太多了,所以我准备分类别进行介绍,这次是这一系列最后一篇。我主要介绍 基于行人重识别(ReID)算法 的方法,相关 MOT 的基础知识可以去我的专栏查看。

ReID与MOT的联系

在 MOT 任务中,一般常用的特征模型有运动模型和表观模型,其中表观模型以行人重识别(ReID)类算法为主流。Re-ID 任务主要解决的是跨摄像头场景下行人的识别与检索,其中存在给定了身份的图片序列 query,需要为不同摄像头场景下的多组图片 gallery 的行人身份进行判定。

随着现在视觉任务需求的增加,车辆重识别任务也随之诞生,包括与之对应的数据集。对于多目标跟踪任务而言,由于目前只有行人和车辆的标注,所以基本只针对这两类目标,不过最近出来一个 833 类的多目标跟踪数据集 TAO [8]

以行人为例,多目标跟踪相对于 Re-ID 多出了空间位置信息和时间联系,其更多的是针对的同一摄像头场景,还包括可能出现的相机运动。

除此之外,对于 Re-ID 任务而言,其不需要考虑新身份的诞生和旧身份的消失,所有目标在 query 中一般都有对应的身份,而 MOT 任务中需要判定是否有可能不存在现有跟踪轨迹中,是否需要与已经丢失跟踪轨迹身份进行匹配等等,二者的异同总结如下:

指标

Re-ID

MOT

研究对象

行人/车辆

行人/车辆

场景

跨摄像头

单一摄像头

先验信息

表观信息

时空运动信息、

表观信息

研究任务

行人匹配

数据关联

目标序列是否

严格对称

其中,目标序列严格对称的意思是指的待比对的两个序列中,目标的 id 是否一致,如果不一致,则表明两个序列各自可能存在新的目标。

借鉴这个问题里面的回答行人重识别(re-ID)与跟踪(tracking)有什么区别 [9]

我们可以看到 ReID 是一个相对底层的任务,随着检测、时序信息的加入,就可以拓展至行人检索和视频 ReID 任务,再引入 MOT 则可以得到更为高层的任务 MTMC(跨摄像头多目标跟踪)。

实际上 ReID 只是个任务名,我们不要将其具象化成了某一类数据集或者某一类深度框架,我们甚至可以直接用传统的图像特征来应用于这个任务,关键要看这个任务的定义。

MOT/MTMC中的ReID框架设计

2.1 DeepCC

论文标题: Features for multi-target multi-camera tracking and re-identification

论文来源: CVPR 2018

论文链接: https://arxiv.org/abs/1803.10859

代码链接: https://github.com/SamvitJ/Duke-DeepCC

考虑到 MOT 和 MTMC 在表征模型方面的相似性,我们一并介绍。DeepCC 是 MTMC 领域的一篇经典论文,我们可以先看看 MTMC 的基础流程:

给定多个摄像头的视频流,由检测器得到所有的观测行人信息,通过提取每个人的特征对每个行人进行关联匹配/聚类,最后通过后处理进行完善。这篇论文主要做的是  ReID 任务在 MTMC 任务上的适配 ,其关注点不在网络的设计上,而是从训练策略上着手。

首先我们不妨思考下如果从 MTMC / MOT 任务中抽象出 ReID 任务,无非就是 数据集的提取(即相同身份行人序列的抽取),网络框架的设计(特征模型),还有训练策略(损失函数的设计等) ,而且这里面抽取出来的行人序列在多样性等方面可能都与 ReID 数据集有着差异。当然,不同视频数据集之间的域自适应性问题是这几个任务的共性问题。

由于我们这次主要关注的是表观特征层面,所以对于其他的部分就暂时忽略。DeepCC 设计了一种自适应的三元组损失函数:

我们知道的是,在 batch-hard triplet loss,选取的是相同身份中距离最远的样本组为 positive,不同身份中距离最近的为 negative 组。

作者并没有使用 batch-hard 的方式,通过自适应权重的设计我们可以看到,作者通过 softmax 的方式,使得相同身份样本组中距离越大的权重越大,不同身份样本组中距离越小的权重越大,相当于给了 easy sampels 更多的注意力。

为了防止数据量大了之后,很多 batch 不存在 hard samples,作者创建了两个样本池:

根据给定的 query,设计一组难例样本池和一组随机身份样本池,在训练的时候就可保证难例样本对的正常获取。

很可惜,由于国外对于个人隐私的保护,MTMC 相关的数据集都被禁用了。

2.2 NOTA

论文标题: Aggregate Tracklet Appearance Features for Multi-Object Tracking

论文来源: SPL 2019

论文链接: https://www.sci-hub.shop/10.1109/lsp.2019.2940922

如果说 DeepCC 关注的是 ReID 任务在 MTMC 任务中的训练策略设计,那 NOTA 就是针对 ReID 任务在 MOT 任务中的网络框架设计。熟悉 MOT 任务的人应该知道,由于不同质量观测信息和遮挡等问题的影响,我们直接根据给定行人框提取的行人特征并不一定可靠,例如下图中,一个行人框中可能存在多个行人和大量背景信息。

因此这篇文章设计了一种时空注意力网络,其中空间注意力模型叫做 Position-Sensitive Mask,类似于检测框架中的 R-FCN 算法,通过将空间分为 3×3 的网格,每个网格都预测前景/背景的概率,整体打分取平均得到这张图属于前景的概率。

紧接着,利用前景背景预测分支的 mask 对预测的注意力 mask 进行 element-wise 乘法,相当于一次过滤,从而得到空间注意力,再对表观特征进行一次 element-wise 乘法。那么时间注意力来自哪里呢?

作者所针对的是测试阶段的跟踪序列,以前景背景 mask 作为时间注意力,然后对跟踪序列每个 patch 的特征和前景背景 mask 进行加权融合得到轨迹特征,用于轨迹相似度计算:

而关于特征模型,这篇论文做了很多实验,挺有价值的:

2.3 LAAM

论文标题: Locality Aware Appearance Metric for Multi-Target Multi-Camera Tracking

论文来源: CVPR 2019 WorkShop

论文链接: https://arxiv.org/abs/1911.12037

代码链接: https://github.com/hou-yz/DeepCC-local

LAAM 这篇关注的主要是 ReID 任务在 MTMC 任务中的数据集构建和训练策略,这里 [10] 有作者的详细讲解,我也相应地谈谈。我们知道无论是 Tracktor++ [4] 还是 DeepSort [5] ,二者都是单独训练的 ReID 特征模型,然后直接应用于 MOT 任务。LAAM 一文就是提出了一个 re-ID 特征是否适合直接用于跟踪任务的问题。

作者提到:

由于目标(行人/车辆)轨迹(trajectory)的连续性,在一般情况下,跟踪系统只需要匹配一个 局部邻域 中的目标,而不需要全局匹配。

  • 局部邻域:对于单相机跟踪,指代同相机的连续帧内的样本;对于跨相机跟踪,指代相邻(距离较小)的几个相机(如下图小框中的一组相机)内的样本。

  • 全局:指代全部相机中的样本。

跟踪系统中的匹配一般被限制在局部邻域内,而应用于相似度估计的重识别特征,则是从全局学到的,相似度估计的结果直接决定数据匹配的性能。在这个关键部分,出现了局部 vs 全局的失配,则会对系统整体性能有很大影响。

的确,在 MTMC 任务中,如果处理的是较短时间内的连续视频帧,目标更倾向于出现在较小的局部空间内,并且特征差异性并没有很大。

对此作者就提出对相机内和相机之间的样本分开训练,即同相机内的正负样本来自于同一相机,不同相机内的正负样本来自于不同相机。

虽然方法很简单,但是也具有一定启发意义:

2.4 STRN

论文标题: Spatial-temporal relation networks for multi-object tracking

论文来源: ICCV 2019

论文链接: https://arxiv.org/abs/1904.11489

在 MOT 任务中,除了表观特征,还存在运动特征,除此之外,跟踪序列与跟踪序列/目标之间的相似度度量也是一个问题。

STRN 这篇论文所针对的就是运动表观特征的结合、跟踪序列特征的融合和目标与周围目标间的交互。下图中虽然 t 帧中中心目标被遮挡了,但是其周围目标还在,所以依旧被跟踪到了,这一点对于遮挡问题有一定缓解能力。