ICCV:Robust Multi-Modality Multi-Object Tracking鲁棒多模态多目标跟踪

本文提出了一种鲁棒的多模态多目标跟踪(mmMOT)框架,旨在提高自动驾驶系统的可靠性和准确性。通过独立的传感器特征提取和多模态融合模块,mmMOT在保持可靠性的同时提高了跟踪精度。首次将点云的深度表示引入到数据关联过程中,实现在多传感器数据的端到端学习。实验表明,该框架在KITTI标准上表现出色,尤其是在处理传感器故障时的鲁棒性。
摘要由CSDN通过智能技术生成

                             **有的部分加入了自己的理解,难免有误。**

!!原文信息,侵删!!

在这里插入图片描述

摘要

多传感器感知是自动驾驶系统可靠性和准确性的关键,而多目标跟踪任务(MOT)通过追踪动态目标的序列运动确保其可靠性和准确性。最近在多传感器MOT任务上取得的成果要么依赖于单一的输入源导致可靠性不高,要么在后续处理中不能充分融合多个传感器的固有信息导致准确性不高。在本文的研究中,我们设计了一个通用的传感器不可知的多模态MOT框架(mmMOT),该框架下每个模态(即传感器提供的信息)能够独立地表现其特征并以此确保可靠性及通过奇妙的多模态融合模块进一步提高精度。我们的mmMOT可以被端对端地训练,能够对各个模态的特征提取器和交叉模态的邻接估计器( adjacency estimator)进行联合优化。我们的mmMOT也是第一次试图对数据关联过程中的点云的深度表示进行编码。实验在KITTI标准上有牛逼的表现,代码和模型在这里下载(虽然现在还没得下)。

1.介绍

可靠性和准确性是自动驾驶系统的两个基本需求。动态对象的感知对自动驾驶任务来说是很要命的。为了提高可靠性,使用多模态传感器提供松散耦合的独立的线索防止如图1a所示的故障(对于可靠性:过度曝光或运动导致相机失真)。为了提高准确性,合并多目标跟踪中的序列信息,并且更好的多传感器提供的信息可以加强最后的得分,如图1b所示(对于准确性:多传感器信息可增强感知能力)。本文中,我们提出多模态多目标跟踪框架,该框架通过神奇的多传感器融合模块提高准确性,通过“引导注意的”(attention guided)多模态融合机制提高精度
传统的方法设计多模态MOT框架时,保证其可靠性和准确性是十分重要的。大多传统方法使用相机,激光雷达或雷达与‘手工制作的,且被卡尔曼滤波器或贝叶斯框架混合的,特征。它们的准确性被手工制作的特征的表达能力所限制。另一种方法是使用深度特征提取器,这种方法能够显著提高准确率。不过他们侧重于图像级别的深度特征表示以关联目标轨迹,并且只在目标检测阶段使用雷达。这种“捆绑”的方法在相机失灵(比如过曝时)时无法确保可靠性。
在这项工作中我们设计了一种能够扩展到相机、激光雷达和雷达的多模态MOT框架。首先在多传感器信息提取和融合的过程中,使用稀松耦合方案,保证系统的可靠性。具体描述为:从每个传感器中独立提取多模态特征,然后通过融合模块融合这些特征,再传递给邻接估计器,该估计器能够根据每个模态进行推理。其次为了网络能够同时从不同模态进行推理,我们的mmMOT采用端对端的训练,这使得多模态特征提取器和跨模态邻接估计器可以同时优化。最后我们首次尝试将点云的深度表示引入MOT数据关联过程,取得了很好的效果。
简而言之,我们主要有三点贡献:
1.提出了一个带有鲁棒融合模块的多目标跟踪框架,该鲁棒融合模块利用多模态信息提高可靠性和准确性。
2. 提出了一个奇妙的端对端的训练方法实现了跨模态推理的联合优化。
3. 首次将点云的深度特征引入跟踪并获得比较屌的效果。


2.相关工作

多目标跟踪框架

关于MOT的最新研究主要遵循tracking-by-detection模式,其中感兴趣目标由检测器检测然后通过数据关联链接到轨迹。数据关联问题可以从不同角度来解决,比如最小成本流( min-cost flow)、马尔可夫决策过程(MDP)、部分滤波(partial filtering)、匈牙利分配(Hungarian assignment)、图割(graph cut)。然而这些方法大多不是端到端训练的因此许多参数是启发式的(如weight of cost )并且容易受到局部最优的影响。
为了在最小成本流框架下实现端对端的学习,Schulter等人通过平滑化线性规划应用双层优化并且深度结构模型使用hinge loss,然而他们的框架并不是为了交叉模态设计的。我们通过邻接矩阵学习来解决这个问题。
除了不同经典的数据关联方式,相关特征也被广泛应用于确定检测结果之间的关系。当前以图像为中心的方法主要使用图像块的深度特征。手工特征偶尔被用于辅助输入,包括但不限于 bounding box,几何信息,形状信息和时间信息。三维信息也是有用的,因此通过3D检测的预测或使用神经网络或几何先验的RGB图像的估计来利用3D信息。Osep等人将来源于RGB图像、立体声、视觉里程计和可选场景流的信息融合,但是他们的工作中不能进行端对端的训练。所有上述方法必须与相机一起工作,因此缺乏可靠性。相比之下我们的mmMOT独立地从每个传感器中提取特征(图像的深度特征和点云的深度表示),并且每个传感器有相同的重要性并且它们是可分离的。同时我们提出的注意引导融合机制进一步提高了准确性。

点云的深度表示

点云在跟踪上的传统用法是测量距离、提供2.5D网格表示或派生一些手工特征。他们都没有充分利用点云的内部信息来解决数据关联问题。最近的研究已经证明了在自动驾驶中使用3D点云作为感知特征很有价值。为了学习点云的较好的深度表示,PointNet 和PointNet++ 使用对称函数处理原始的非结构化点云。我们在我们的框架中使用了这种方法。其他研究,如PointSIFT提出了一种方向编码单元来学习点云的SIFT-like特征;3DSmoothNet 则学习了体素化(voxelized)的平滑密度值表示;还有一些方法将点云投影到球体上,这样2D CNN 就可以应用于分割任务。

目标检测

目标检测器也是tracking by detection框架下跟踪任务的重要组成部分。自Faster R-CNN以来2D目标检测测的深度学习方法有了很大改进。3D目标检测最近获得了更多关注。为了同时利用图像和点云,一些方法从不同角度综合点云和图像特征,如F-PointNet从图像中获得截锥体(frustum)建议,然后应用 PointNet 或者三维点云定位。目前存在的最先进的方法只使用了点云。一阶段检测器常在体素化表示上应用CNN,二阶段检测器如Point RCNN首先通过分割生成建议,再在第二阶段对其处理。我们的mmMOT很容易适应二维和三维物体检测器。


3.多模态多目标跟踪

我们提出了一种多模态(mmMOT框架),该框架通过多个独立的传感器特征提取来保持可靠性,通过模态融合来提高精度。它在最小成本流的角度下遵循tracking-by-detection框架。具体而言,我们的框架包含四个模块,包括目标检测器、特征提取器、邻接估计器和最小代价流优化器如图2(a),(b),(c)(d)所示
在这里插入图片描述
图2。mmMOT的pipeline,特征提取器首先从图像和激光雷达中提取特征,鲁棒融合模块融合多传感器特征。接着,相关算子产生每个检测对的相关特征,邻接估计器据此预测邻接矩阵。所有预测得分都被优化以预测二元变量y*
首先,使用任意对象检测器来定位感兴趣的对象。为了方便起见,我们使用PointPillar。其次,特征提取器为每次检测独立地从每个传感器中提取特征,然后应用融合模块来融合并将单模态特征传递给邻接估计器。邻接估计是模态不可知的(我认为这句话的意思是混合特征不对应特定的模态)。它推断出最小成本流图计算所需的分数。最小成本流优化器是一个线性规划求解器,它根据预测得分找到最优解。

3.1问题表述

我们的mmMOT遵循tracking-by-detection来定义数据关联成本,它被当作最小成本流问题解决。以在线多目标跟踪设置为例,假设在连续的两帧 i 和 i+1 中分别由N和M个检测结果,分别记作在这里插入图片描述在这里插入图片描述
每个检测结果都与此范式中的四种类型的二进制变量相关联。下面我们在深层结构模型(DSM)表示法的基础上,介绍它们的概念。首先,对于任何 xj,二进制变量 yjtrue 代表检测结果是否是true positive的。其次二进制变量 yjklink 表示第一帧的第j个检测结果和第二帧的第 k 个检测结果,这些 yjklink 组成一个邻接矩阵 Ai∈RN*M,其中 Aijk=yjklink 。yjnew 和 yjend代表检测结果是轨迹的起点或终点。为了方便,我们将邻接矩阵抻平变成一个向量Ylink,将所有与YtrueYnewYend有相同形式的二进制变量收集起来,组成一个向量Y=[Ytrue,Ylink,Ynew,Yend],它包含网络流中的所有边缘状态。对于Ytrue,Ylink,Ynew,Yend中的每个二进制变量,其相应的得分由相应的分数分别由置信估计器、密切关系估计器、开始估计器和结束估计器来预测。这些估计器构成邻接估计器,我们在多任务学习网络中求解它们,如图2所示。

3.2单模态特征提取器

在在线设置中,仅涉及两个连续帧中的检测。为了估计它们的邻接性,首先从各自的图像或点云中提取它们的深度表示。每个单模态的特征形成一个1xDx(N+M)的张量,其中D=512是向量长度,N+M是两帧中检测结果的总数。

图像特征提取器

在从二维或三维检测器获取二维边界框时,与每个检测相关联的图像块被剪裁并调整为边长为224像素的正方形以形成批处理 。这些批形成一个4维张量,其大小为(N+M)x 3 x 224 x 224。我们使用VGG-Net作为图像特征提取器的主干。为了使用不同层次的特征,我们修改了skip-pooling一边将不同层次的特征传递到顶层,如图2所示。
在这里插入图片描述
图3.鲁棒融合模块和三个多模态融合模块。鲁棒融合模块可以应用融合模块a、b和c中的任何一个来产生融合的模态。与传统的融合模块不同,鲁棒融合模块同时产生单模态和融合模态作为输出。融合模块a将多模态特征串联起来,模块b将多模态特征与线性组合融合,模块c引入注意机制,自适应地依重要性加权传感器特征。

点云特征提取器

我们的贡献之一是将点云的深度表示应用到MOT的数据关联过程中。虽然与单个检测相关联的激光雷达点云可以很容易地通过三维bounding box获得,但若只提供二维bounding box就不容易了。可以使用F-PointNet获得3D bounding box,或者使用其他几何信息和先验知识直接估计3D bounding box 。在这项研究中由于在三维空间中定位会导致更多误差,所以我们不这么干。相反,受 F-PointNet的启发,我们利用2D边界框投影的截锥中的所有点云。这就带来了高的灵活性和可靠性,并节省了获得三维包围盒需要的计算。
点云形成1×D×L的张量,L是所有边界框中所有点的总数,D=3是点云信息的维数。我们依据经验发现点云的反射率只在边界有提高,因此我们只使用三维空间中的坐标。我们修改PointNet用以从点云中为每次的检测提取特征,如图2中的PointNet所示。为了增强每个bounding box中点的全局信息,我们使用了PointNet中最初为分割任务设计的全局特征分支,发现平均池化比PointNet中的最大池化更适合跟踪。在池化过程中,只将属于同一检测的点的特征合并在一起。每个检测结果的点云的特征向量长度为512。

3.3鲁棒多模态融合模块

为了更好地利用多传感器特征,同时保持单个传感器的跟踪能力,我们的鲁棒融合模块被设计成能够融合多个模态的特征,并且只处理单个模态的原始特征。(单个处理再融合)

鲁棒融合模块

邻接估计器的运算与批处理无关,因此我们将单模态联系起来并在batch维上融合它们以确保只要存在输入模态,邻接估计器仍能工作。这种设计使得所提出的鲁棒融合模块能够在传感器故障时跳过融合过程或融合剩余的模态(如果仍然有多个传感器),并将它们传递给邻接估计器,从而整个系统可以与任何传感器组合工作。我们将不同模态的特征向量记作{Fis}Ss=0,其中传感器的个数记作S,混合特征记作Fifuse。在我们的方法中,混合模态的特征与单个模态的特征形状相同。鲁棒融合模块把{Fis}Ss=0(不同模态的特征向量)和Fifuse(混合的特征)依据batch维联系起来并将它们传递给邻接估计器。它们形成一个形状为(S+1) x D x (N+M) 的 tensor。
鲁棒的融合模块可以使用任意的融合模块,我们研究了三个融合模块,如图3所示。以两个传感器的设置为例,融合模块a单纯地将多个模式的特征串联起来;模块b将这些特征相加;模块c引入注意机制。

融合模块A

一种常见的方法是将这些特征串联起来,并使用权重w逐点卷积使输出向量的长度与单个传感器的特征相同,如公式所示:

在这里插入图片描述
其中 ⊗表示卷积,CONCAT (·)表示连接运算。

融合模块B

另一个直观的方法是将这两个特征合并起来,我们重新整理每个模态的特征,并将它们合并在一起,如下所示:在这里插入图片描述
Ws代表与第s个传感器特征对应的卷积核。此外,该模块从各个传感器采集信息,融合后的模态的相关特性也更接近于单个传感器。并且相关运算是乘法或减法运算,这有利于邻接估计器处理不同的模态。

融合模块C

模块c引入了一种用于指导来自不同传感器的混合信息的注意机制,因为传感器信息的重要性在不同的情况下可能不同,例如,当照明条件不好时,点云特征可能更重要,而当雨天时点云受影响。每个传感器的注意图(attention map)Gis计算公式如下:在这里插入图片描述
其中Wsatt是卷积参数,σ是sigmoid 函数。我们希望Wsatt学习根据特征本身来预测重要性,而sigmoid函数将注意图规范化为0到1之间的范围。融合后的信息如下所示:在这里插入图片描述
其中 ⊙元素乘法,分母里的Gsi用于结果归一化。

3.4深度邻接矩阵学习

在给定提取的多模态特征的基础上,邻接估计器根据每个模态推断出最小费用流图中的置信度、亲和力、起始和结束得分。这些特征对于邻接估计的每个分支都是共享的,即置信估计、亲和估计、起始估计和终止估计。将其作为二元分类任务来学习置信估计模型是很简单的。我们专注于其他两个分支的设计。

相关运算

为了获得邻接矩阵,需要每个检测对之间的相关性。相关运算与批处理无关,因此它可以处理交叉模态,并且在每个通道上使用神经网络进行计算。由于Fji和Fji+1的阶数是不可知的,对称(原文写的是commutative)性质有利于对成对儿数据的学习。在工作中我们对比了三种简单而有效的运算符。如下所示:
在这里插入图片描述
1.元素相乘 2.减法 3.绝对值减法
元素相乘等价于大小为1 x 1的深度相关滤波器,减法测量两个向量间的距离,减法+绝对值使该运算变得与检测时间序列可交换且不可知,这使得网络更加鲁棒。

亲和力估计器

通过绝对值减法获得的Fjk被亲和力估计器用于预测邻接矩阵Ai。由于相关运算在批处理维度中处理多模态,并且在两帧之间的每个检测对上执行,相关特征图的大小是3 × D × N × M。我们使用如图4所示的二维逐点卷积。这使得网络可以单独处理每个相关特性,因为它只需要确定Fjk是否表示一个link。由于卷积与批无关,它可以工作在任意模态组合上,输出邻接矩阵的大小为3×1× N × M。由于三种预测有相同的目标,我们对每一种预测引入监督信号,从而实现了对每种模态的特征提取器和仿射估计器的联合优化来达到跨模态。在推断过程中,如果传感器组合被改变,亲和力估计器不需要修改,这保证了灵活性和可靠性。

在这里插入图片描述
亲和力估计器、开始和结束估计器的结构。亲和力估计器使用逐点卷积估计邻接矩阵。开始和结束估计器收集每个检测的相关特征,以检查检测是否链接,从而使预测更加鲁棒

开始和结束估计器

开始和结束估计器估计一个检测是否被连接,为了提高效率它们的参数被共享。给定相关特征Fjk,在通过平均池收集每行或每列中一个检测的所有相关信息之后,估计器还使用逐点卷积来推断一个检测是否被链接,如图4所示。由于池化层是与批无关,所以对于不同的传感器设置,起始和结束估计器很灵活。在推理过程中,由于无法从相关特征图中进行估计,我们只需在第一帧中为新的检测分数和最后一帧中为检测的结束分数填充零。

排序机制

我们将神经网络最后一层的原始输出表示为ojki,并且我们发现ajk也应该是ajs,s=1…M和atk,t=1,…N中的最大值,但是直接取Ajki=ojki没有利用这一全局信息,因此我们设计了一个排序机制来处理这个问题。具体来说,我们对输出矩阵中的每一行和每一列应用一个softmax函数,并将这两个矩阵集合起来得到最终的邻接矩阵。在这项工作中,我们研究了三种操作来组合这两个softmax特征映射:max、乘法和平均。以乘法为例,排序机制被表示为:
在这里插入图片描述

损失函数

整个框架可以在多任务学习框架中以端到端的方式学习。我们对分类分支采用交叉熵损失,对另外两个分支采用L2损失,因此总体损失函数可以写成如下:在这里插入图片描述
其中α, γ and β表示各任务的权重,本文实验中 α = γ = 0.4 , β = 1.5。

3.5线性规划

从神经网络中得到预测得分后,框架需要从最小费用流图中找到最优解。在Y中,这些二元变量之间有几个可作为线性约束的事实。首先,如果一个检测结果是positive的,那么它必须与前一帧中的另一个检测结果相关联,或者与新轨迹的开始相关联。因此,对于当前帧中的一个检测结果和其前一帧中的所有检测结果,线性约束可以定义为以下形式:在这里插入图片描述
对应地,对于前一帧中的一个检测和当前帧中的所有检测,线性约束可以定义如下:
在这里插入图片描述
这俩约束可以折叠成矩阵形式得到 CY=0 ,它已经编码了所有有效的轨迹。然后将数据关联问题表示为一个整数线性规划,如下所示:
在这里插入图片描述
其中 Θ (X) 是由邻接估计器的所有预测分数组成的平坦向量。


4.实验

数据集

使用KITTI,其他简介略。

实施细节

使用已有的PointPillar获得检测结果 。跟踪框架基于pytorch。外观模型的主干是在 ImageNet-1k上预训练的带BN层的VGG-16模型。对于线性规划,我们使用Google OR-Tools 提供的混合整数规划(MIP)求解器。我们使用学习率为6e-4并配合super convergence strategy的ADAM优化器训练四十轮。 如果置信度低于0.2,我们手动将其设置为-1,这使得在线性规划过程中忽略任何低置信度的检测。

其他略,我也翻译不动了,感兴趣可自行查阅原文,告辞。


5.结论

提出了一种多模态多目标跟踪框架mmMOT。我们首次尝试通过一个深度端到端网络来避免单一传感器的不稳定性,同时保持多模态的有效性。这样的功能对于安全的自动驾驶至关重要。我们的框架采用邻接矩阵学习的端到端学习方式,可以同时很好地学习任意模态的推理。此外,该框架首次将激光雷达点云的深度表示引入到数据关联问题中,增强了多流( multi stream)框架对传感器故障的鲁棒性。


A1.模型细节

A1.1.Skip Pooling

Skip Pooling层将vgg网络中每个max池化层(第一个除外)的输出特性传递到顶部。具体来说,vgg网络中用于max池化层输出的通道数为64、128、256、512。全局平均池首先应用于这些输出,以收集每个级别特征中的空间信息。接下来,我们使用具有规范化和relu激活的两点卷积来将它们的通道数重新缩放到128。然后,我们将这四个向量连接成长度为512的向量,该向量被视为以下管道中每个检测到的边界框的图像特征。

A1.2.Best Model

在KITTI测试集的最佳模型中,我们仍然使用基于pytorch的在ImageNet-1k上预训练的带BN层的VGG-16作为图像特征抽取器的主干。PointNet的超参数保持不变。对于检测,我们使用2D检测器r RRC-Net ,它比3D检测器PointPillar ]具有更高的召回率和精确度。因此,我们使用截头体中的点云进行每次检测。利用融合模块c对图像和点云流进行挖掘,采用绝对相减作为相关运算,对排序机制采用softmax激活。

A2. Failure Analysis

都在图里。在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值