万字长文 | 多目标跟踪最新综述(基于Transformer/图模型/检测和关联/孪生网络)(上)

本文涉及的产品
交互式建模 PAI-DSW,5000CU*H 3个月
简介: 随着自动驾驶技术的发展,多目标跟踪已成为计算机视觉领域研究的热点问题之一。MOT 是一项关键的视觉任务,可以解决不同的问题,例如拥挤场景中的遮挡、相似外观、小目标检测困难、ID切换等。为了应对这些挑战,研究人员尝试利用transformer的注意力机制、利用图卷积神经网络获得轨迹的相关性、不同帧中目标与siamese网络的外观相似性,还尝试了基于简单 IOU 匹配的 CNN 网络、运动预测的 LSTM。为了把这些分散的技术综合起来,作者研究了过去三年中的一百多篇论文,试图提取出近年来研究者们更加关注的解决 MOT 问题的技术。

摘要



随着自动驾驶技术的发展,多目标跟踪已成为计算机视觉领域研究的热点问题之一。MOT 是一项关键的视觉任务,可以解决不同的问题,例如拥挤场景中的遮挡、相似外观、小目标检测困难、ID切换等。为了应对这些挑战,研究人员尝试利用transformer的注意力机制、利用图卷积神经网络获得轨迹的相关性、不同帧中目标与siamese网络的外观相似性,还尝试了基于简单 IOU 匹配的 CNN 网络、运动预测的 LSTM。为了把这些分散的技术综合起来,作者研究了过去三年中的一百多篇论文,试图提取出近年来研究者们更加关注的解决 MOT 问题的技术。作者罗列了大量的应用以及可能的方向,还有MOT如何与现实生活联系起来。作者的综述试图展示研究人员长期使用的技术的不同观点,并为潜在研究人员提供一些未来方向。此外,作者在这篇综述中还包括了流行的基准数据集和指标。


简介



目标跟踪是计算机视觉中非常重要的任务之一。它刚好在目标检测之后出现。为了完成目标跟踪任务,首先需要将目标定位在一帧中。然后给每个目标分配一个单独的唯一id。然后连续帧中的每个相同目标将生成轨迹。在这里,一个目标可以是任何类别,比如行人、车辆、运动中的运动员、天空中的鸟等。如果作者想在一帧中跟踪多个目标,那么它被称为多目标跟踪或MOT。


过去几年也有一些关于MOT的综述论文[1]、[2]、[3]、[4]。但它们都有局限性。其中一些方法只包括基于深度学习的方法,只关注数据关联,只分析问题,没有很好地对论文进行分类,并且缺少现实中应用的介绍。


因此,综上所述,作者以以下方式组织了本工作:

  1. 找出MOT的主要挑战
  2. 列出常用的各种MOT方法
  3. MOT基准数据集简介
  4. MOT指标摘要
  5. 探索各种应用场景

MOT的主要挑战



遮挡


当想要看到的目标被同一帧中的另一个目标完全或部分隐藏或遮挡时,就会发生遮挡问题。大多数MOT方法仅基于没有传感器数据的相机。这就是为什么当目标相互遮挡时,跟踪器要跟踪目标的位置有点困难的原因。此外,在拥挤的场景中,为了建模人与人之间的交互,遮挡变得更加严重[5]。随着时间的推移,使用边界框定位目标在MOT社区中非常流行。但在拥挤的场景中,[6]遮挡很难处理,因为groundtruth边界框通常相互重叠。通过联合处理目标跟踪和分割任务,可以部分解决这个问题[7]。在文献中,作者可以看到外观信息和图形信息用于查找全局属性以解决遮挡问题[8],[9],[10],[11]。然而,频繁的遮挡对MOT问题中较低的精度有显著影响。因此,研究人员试图在没有任何提示的情况下解决这个问题。在下图a中,对遮挡进行了说明。在下图b中,红衣女子几乎被灯柱遮盖。这是遮挡的一个示例。

640.png


轻量化架构


尽管大多数问题的最新解决方案是依赖于重量级架构,但它们非常吃资源。因此在 MOT 中,重量级架构对于实时目标跟踪非常不利。因此,研究人员一直很重视轻量级体系结构。对于 MOT 中的轻量级结构,还有一些额外的挑战需要考虑[12]。Bin 等人提到了轻量级体系结构面临的三个挑战,比如: 目标跟踪体系结构需要预训练权重来实现良好的初始化,并对跟踪数据进行微调。因为 NAS 算法需要来自目标任务的指导,同时还需要可靠的初始化。NAS 算法需要同时关注骨干网络和特征提取,以便最终的结构能够完全适合目标跟踪任务。最终架构需要编译紧凑和低延迟的构建模块。


其它常见挑战


MOT体系结构经常受到不准确的目标检测的影响。如果没有正确检测到目标,那么跟踪目标的所有努力都将白费。有时,目标检测的速度成为MOT体系结构的一个主要因素。对于背景失真,目标检测有时变得非常困难。照度在目标检测和识别中也起着至关重要的作用。因此,所有这些因素在目标跟踪中变得更加重要。由于相机或目标的运动,运动模糊使MOT更具挑战性。很多时候,MOT体系结构发现很难确定一个目标是否为真正的输入目标。挑战之一是检测和tracklet之间的正确关联。在许多情况下,不正确和不精确的目标检测也是精度低的结果。还有一些挑战,例如相似的外观经常混淆模型,轨迹的开始和终止在MOT中是一个关键的任务,多个目标之间的交互,ID切换(同一目标在连续帧中识别为不同)。由于形状和其他外观特性的非刚性变形和类间相似性,在许多情况下,人和车辆会带来一些额外的挑战[13]。例如,车辆的形状和颜色与人们的衣服不同。最后,较小尺寸的目标可以形成各种不同的视觉元素。Liting等人尝试用更高分辨率的图像和更高的计算复杂度来解决这个问题。他们还将分层特征图与传统的多尺度预测技术相结合[14]。


MOT方法


多目标跟踪任务通常分为两个步骤:目标检测和目标关联。有些侧重于目标检测,有些关注数据关联。这两个步骤有多种方法。无论是检测阶段还是关联阶段,这些方法都不是完全独立的。

640.png


Transformer


Transformer是一个深度学习模型,与其他模型一样,它有两个部分:编码器和解码器[16]。编码器捕获自注意力,而解码器捕获交叉注意力。这种注意机制有助于长期记忆上下文。基于查询键方式,使用转换器预测输出。尽管过去它仅仅被用作一种语言模型,但近年来,视觉研究人员将重点放在了它上,以利用语境记忆。在大多数情况下,在MOT中,研究人员试图根据之前的信息预测目标下一帧的位置,作者认为transformer是最好的方案。由于transformer专门处理序列信息,所以transformer可以完美地完成逐帧处理。下图是一个Transformer的跟踪例子。

640.png


下表给出了MOT中基于transformer的方法的完整总结。


640.png


图模型


图卷积网络(GCN)是一种特殊的卷积网络,其中神经网络以图形的形式而不是线性的形式应用[27]。此外,最近的趋势是使用图模型来解决 MOT 问题,其中从连续帧中检测到的一组目标被视为一个节点,两个节点之间的链接被视为一个边缘。通常情况下,数据关联是通过应用匈牙利算法来完成的[28]。下图为基于GCN的目标跟踪示例。

640.png


下表给出了用图模型解决 MOT 问题的概述。

640.png

检测和目标关联


在这种方法中,检测是通过任何深度学习模型来完成的。但主要的挑战是关联目标,即跟踪感兴趣的目标的轨迹[37]。在这方面,不同的论文遵循不同的方法。

640.png


如上表所示,主要介绍部分方案。Margret 等人选择了自下而上的方法和自上而下的方法[38]。在自底向上的方法,点轨迹确定。但是在自顶向下的方法中,确定了边界框。然后,通过结合这两个,一个完整的轨迹的目标可以找到。在[39]中,为了解决关联问题,Hasith 等人简单地检测了目标,并使用著名的匈牙利算法来关联信息。2019年,Paul 等人提出了 Track-RCNN [40] ,这是 R-CNN 的一个延伸,显然是 MOT 领域的一个革命性任务。到2022年,作者可以看到 MOT 问题陈述的多样性。Oluaffunmilola 等人在进行目标预测的同时也进行了目标跟踪[50]。他们使用 FairMOT [54]检测了边界框,然后堆叠了一个预测网络,并制作了联合学习架构(JLE)。智洪等人提取了每个帧的新特征,以获得全局信息,并积累了部分特征用于遮挡处理[51]。他们融合了这两种特征来准确地检测行人。除了[52]之外,没有论文采取任何措施来保留重要的边界框,以便在数据关联阶段不会消除它们。在检测之后,Hong 等人在跟踪阶段应用Non-Maskable Suppression(NMS)来减少重要边界框被移除的概率[53]。Jian 等人还使用 NMS 来减少来自检测器的冗余边界框。它们通过比较特征和借助 IoU 重新识别边界框来重新检测轨迹定位。最终的结果是一个联合再检测和再识别跟踪器(JDI)。


注意力模块


为了重新识别被遮挡的目标,需要注意力。注意力意味着作者只考虑感兴趣的目标,通过消除背景,使其特征被记住很长时间,甚至在遮挡之后也能如此。注意力模块在 MOT 领域的应用概述见下表。

640.png



在[41]中,姚野等人引入了一个条形注意模块来重新识别被背景遮挡的行人。这个模块实际上是一个池化层,其中包括 max 和 mean 池化,它能够更有效地从行人中提取特征,这样当它们被遮挡时,模型不会忘记它们,并能够进一步重新识别。宋等人希望在数据关联中使用目标定位的信息,在目标定位中使用数据关联的信息。为了将两者联系起来,他们使用了两个注意力模块,一个用于目标,另一个用于分散注意力。然后他们最终应用了一个记忆聚合来制造增强的注意力。天一等人提出了空间注意机制[60] ,通过在外观模型中实现空间转换网络(STN)来迫使模型只关注前景。另一方面,雷等人首先提出了原型交叉注意模块(PCAM)从过去的帧中提取相关特征。然后他们使用原型交叉注意网络(PCAN)在整个帧中传输前景和背景的对比特征[61]。汇源等人提出了自注意机制来检测车辆[62]。本文[36]还有一个应用于动态图中的自注意力模块,用于组合摄像机的内部和外部信息。贾旭等人以一种轻量级的方式使用了交叉注意力和自注意力[58]。如下图所示,大家可以看到该体系结构的交叉注意力头。利用自注意模块提取鲁棒特征,减少背景遮挡。然后将数据传递给交叉注意模块进行实例关联。

640.png


运动模型


运动是目标的必然属性。因此,该特征可以用于多目标跟踪领域,无论是检测还是关联。目标的运动可以通过目标在两帧之间的位置差来计算。根据这个衡量标准,可以做出不同的决定,如下表所示。

640.png


Hasith 等人和 Oluaffunmilola 等人分别在[39]和[63]中使用运动来计算差异代价。根据实际位置与预测位置的差值计算运动。为了预测被遮挡目标的位置,Bisheng 等人使用了基于 LSTM 的运动模型[42]。Wenyuan 等人将运动模型与深度亲和网络(DAN)相结合[64] ,通过消除目标不可能位于的位置来优化数据关联[65]。倩等人还通过累积多帧差分(AMFD)和低秩矩阵完成(LRMC)测量连续卫星帧的距离来计算运动[66] ,并形成了运动模型基线(MMB)来检测和减少虚警的数量。韩等人在车辆驾驶领域使用运动特征识别前景目标[67]。他们通过比较运动特征和 GLV 模型来检测相关目标。Gaoang 等人提出了一种局部-全局运动(LGM)跟踪器,它可以找出运动的一致性,从而将轨迹关联起来[32]。除此之外,Ramana 等人还使用运动模型来预测目标的运动,而不是数据关联,这些数据关联有三个模块: 综合运动定位(IML) ,动态重连上下文(DRC) ,3D 积分图像(3DII)[46]。在2022年,Shoudong 等人通过提出运动感知跟踪器(MAT) ,将运动模型用于运动预测和目标关联。智博等人提出了补偿跟踪器(CT) ,它可以获得具有运动补偿模块的丢失目标[69]。Xiaotong 等使用运动模型来预测目标的边界框[18] ,就像在[67]中所做的那样,但是如Transformer章节中所讨论的那样制作图像patches。


原文首发微信公众号【自动驾驶之心】:一个专注自动驾驶与AI的社区(https://mp.weixin.qq.com/s/NK-0tfm_5KxmOfFHpK5mBA

相关文章
|
2天前
|
机器学习/深度学习 数据可视化 Python
R语言神经网络模型预测多元时间序列数据可视化
R语言神经网络模型预测多元时间序列数据可视化
|
2天前
|
机器学习/深度学习 数据可视化
R语言用灰色模型 GM (1,1)、神经网络预测房价数据和可视化
R语言用灰色模型 GM (1,1)、神经网络预测房价数据和可视化
10 1
|
2天前
|
机器学习/深度学习 算法 TensorFlow
TensorFlow 2keras开发深度学习模型实例:多层感知器(MLP),卷积神经网络(CNN)和递归神经网络(RNN)
TensorFlow 2keras开发深度学习模型实例:多层感知器(MLP),卷积神经网络(CNN)和递归神经网络(RNN)
|
2天前
|
数据可视化 算法 数据挖掘
R语言SIR模型网络结构扩散过程模拟SIR模型(Susceptible Infected Recovered )代码实例
R语言SIR模型网络结构扩散过程模拟SIR模型(Susceptible Infected Recovered )代码实例
10 0
|
2天前
|
机器学习/深度学习 算法 数据可视化
MATLAB基于深度学习U-net神经网络模型的能谱CT的基物质分解技术研究
MATLAB基于深度学习U-net神经网络模型的能谱CT的基物质分解技术研究
|
3天前
|
负载均衡 网络协议 数据安全/隐私保护
NewH3C—计算机网络概述、模型
NewH3C—计算机网络概述、模型
|
4天前
|
机器学习/深度学习 存储 算法
r语言中对LASSO回归,Ridge岭回归和弹性网络Elastic Net模型实现(下)
r语言中对LASSO回归,Ridge岭回归和弹性网络Elastic Net模型实现
18 2
|
10天前
|
机器学习/深度学习 缓存 监控
linux查看CPU、内存、网络、磁盘IO命令
`Linux`系统中,使用`top`命令查看CPU状态,要查看CPU详细信息,可利用`cat /proc/cpuinfo`相关命令。`free`命令用于查看内存使用情况。网络相关命令包括`ifconfig`(查看网卡状态)、`ifdown/ifup`(禁用/启用网卡)、`netstat`(列出网络连接,如`-tuln`组合)以及`nslookup`、`ping`、`telnet`、`traceroute`等。磁盘IO方面,`iostat`(如`-k -p ALL`)显示磁盘IO统计,`iotop`(如`-o -d 1`)则用于查看磁盘IO瓶颈。
|
4天前
|
网络协议 算法 Linux
【Linux】深入探索:Linux网络调试、追踪与优化
【Linux】深入探索:Linux网络调试、追踪与优化
|
2天前
|
网络协议 JavaScript Linux
Linux常用网络指令(下)
Linux常用网络指令(下)
10 0