本文经自动驾驶之心公众号授权转载,转载请联系出处。
写在前面 & 个人理解
时序融合能够有效提升自动驾驶3D目标检测的感知能力,然而目前的时序融合方法由于成本开销等问题难以在实际自动驾驶场景中应用。NeurIPS 2023的最新研究文章 《Query-based Temporal Fusion with Explicit Motion for 3D Object Detection》将DETR中的稀疏Query作为时序融合的对象,并针对大规模点云的特性使用显式运动信息引导时序注意力矩阵的生成。来自华中科技大学和百度的研究者们在本文中提出了QTNet:基于Query和显式运动的3D目标检测时序融合方法。实验效果表明,QTNet能以可忽略不计的成本开销为点云、图像、多模态检测器带来一致的性能增益。
- 论文链接:https://openreview.net/pdf?id=gySmwdmVDF
- 代码链接:https://github.com/AlmoonYsl/QTNet
问题背景
得益于现实世界的时间连续性,时间维度上的信息可以使得感知信息更加完备,进而提高目标检测的精度和鲁棒性,例如时序信息可以帮助解决目标检测中的遮挡问题、提供目标的运动状态和速度信息、提供目标的持续性和一致性信息。因此如何高效地利用时序信息是自动驾驶感知的一个重要问题。现有的时序融合方法主要分为两类。一类是基于稠密的BEV特征进行时序融合(点云/图像时序融合都适用),另一类则是基于3D Proposal特征进行时序融合 (主要针对点云时序融合方法)。对于基于BEV特征的时序融合,由于BEV上超过90%的点都是背景,而该类方法没有更多地关注前景对象,这导致了大量没有必要的计算开销和次优的性能。对于基于3D Proposal的时序融合算法,其通过耗时的3D RoI Pooling来生成3D Proposal特征,尤其是在目标物较多,点云数量较多的情况下,3D RoI Pooling所带来的开销在实际应用中往往是难以接受的。此外,3D Proposal 特征严重依赖于Proposal的质量,这在复杂场景中往往是受限的。因此,目前的方法都难以以极低开销的方式高效地引入时序融合来增强3D目标检测的性能。
如何实现高效的时序融合?
DETR是一种十分优秀的目标检测范式,其提出的Query设计和Set Prediction思想有效地实现了无需任何后处理的优雅检测范式。在DETR中,每个Query代表一个物体,并且Query相对于稠密的特征来说十分稀疏(一般Query的数目会被设置为一个相对较少的固定数目)。如果以Quey作为时序融合的对象,那计算开销的问题自然下降一个层次。因此DETR的Query范式是一种天然适合于时序融合的范式。时序融合需要构建多帧之间的物体关联,以此实现时序上下文信息的综合。那么主要问题在于如何构建基于Query的时序融合pipeline和两帧间的Query建立关联。
- 由于在实际场景中自车往往存在的运动,因此两帧的点云/图像往往是坐标系不对齐的,并且实际应用中不可能在当前帧对所有历史帧重新forward一次网络来提取对齐后点云/图像的特征。因此本文采用Memory Bank的方式来只存储历史帧得到的Query特征及其对应的检测结果,以此来避免重复计算。
- 由于点云和图像在描述目标特征上存在很大差异,通过特征层面来构建统一时序融合方法是不太可行的。然而,在三维空间下,无论点云还是图像模态都能通过目标的几何位置/运动信息关系来刻画相邻帧之间的关联关系。因此,本文采用物体的几何位置和对应的运动信息来引导两帧间物体的注意力矩阵。
方法介绍
QTNet的核心思想在于利用Memory Bank存储在历史帧已经获得的Query特征及其对应的检测结果,以此避免对于历史帧的重复计算开销。对于两帧Query之间,则使用运动引导的注意力矩阵进行关系建模。
总体框架
如框架图所示,QTNet包含3D DETR结构的3D目标检测器(LiDAR、Camera和多模态均可),Memory Bank和用于时序融合的Motion-guided Temporal Modeling Module (MTM)。QTNet通过DETR结构的3D目标检测器获取对应帧的Query特征及其检测结果,并将得到的Query特征及其检测结果以先进先出队列(FIFO)的方式送入Memory Bank中。Memory Bank的数目设置为时序融合所需的帧数。对于时序融合,QTNet从Memory Bank中从最远时刻开始读取数据,通过MTM模块以迭代的方式从 帧到 帧融合MemoryBank中的所有特征以用来增强当前帧的Query特征,并根据增强后的Query特征来Refine对应的当前帧的检测结果。
具体而言,QTNet在 帧融合 和 帧的Query特征 和 ,并得到增强后的 帧的Query特征 。接着,QTNet再将 与 帧的Query特征进行融合。以此通过迭代的方式不断融合至 帧。注意,这里从 帧到 帧所使用的MTM全部是共享参数的。
运动引导注意力模块
MTM使用物体的中心点位置来显式生成 帧Query和 帧Query的注意力矩阵。给定ego pose矩阵 和 、物体中心点、速度。首先,MTM使用ego pose和物体预测的速度信息将上一帧的物体移动到下一帧并对齐两帧的坐标系:
接着通过 帧物体中心点和 帧经过矫正的中心点构建欧式代价矩阵 。此外,为了避免可能发生的错误匹配,本文使用类别 和距离阈值 构造注意力掩码 :
最终将代价矩阵转换为注意力矩阵:
将注意力矩阵 作用在 帧的增强后的Query特征 来聚合时序特征以增强 帧的Query特征:
最终增强后的 帧的Query特征 经过简单的FFN来Refine对应的检测结果,以实现增强检测性能的作用。
解耦时序融合结构
本文观察到时序融合的分类和回归学习存在不平衡问题,一种解决办法是对于分类和回归单独设计时序融合分支。然而,这种解耦方式会带来更多的计算成本和延迟,这对于大多数方法来说是不可接受的。相比之下,得益于高效的时序融合设计,与整个3D检测网络相比QTNet的计算成本和延迟可以忽略不计。因此,如图所示,本文将分类和回归分支在时序融合上进行解耦,以在可忽略不计的成本的情况下取得更好的检测性能。
实验效果
QTNet在点云/图像/多模态上实现一致涨点
本文在nuScenes数据集上进行验证,在不使用未来信息、TTA、模型集成的情况下QTNet在nuScenes benchmark上取得了68.4 mAP 和 72.2 NDS的SOTA性能。相较于使用了未来信息的MGTANet,QTNet在3帧时序融合的情况下优于MGTANet 3.0 mAP 和 1.0NDS。
此外,本文也在多模态和基于环视图的方法上进行了验证,在nuScenes验证集上的实验结果证明了QTNet在不同模态上的有效性。
时序融合的成本开销对于实际应用来说十分重要,本文针对QTNet在计算量、时延、参数量三个方面进行了分析实验。可以发现QTNet对于不同baseline所带来的计算开销、时间延、参数量相对于整个网络来说均可忽略不计,尤其是计算量仅仅使用0.1G FLOPs(LiDAR baseline)。
不同时序融合范式比较
为了验证本文所提出的基于Query的时序融合范式的优越性,本文选取了具有代表性的不同前沿时序融合方法进行比较。通过实验结果可以发现,基于Query范式的时序融合算法相较于其他基于BEV和基于Proposal范式更加高效。QTNet以0.1G FLOPs和4.5ms的开销的情况下取得了更加优秀的性能,此外整体参数量仅仅只有0.3M。
消融实验
本文基于LiDAR baseline在nuScenes验证集上以3帧时序融合进行了消融实验。通过消融实验可以发现,如果简单地使用Cross Attention去建模时序关系是没有明显的效果的。然而在使用MTM后,可以明显观测到检测性能的涨幅,这表明了显式运动引导在大规模点云下的重要性。此外,通过帧数的消融实验可以发现,QTNet的整体设计是十分轻量且有效的。在使用4帧数据进行时序融合后,QTNet所带来的计算量仅仅只有0.24G FLOPs,延迟也只有6.5ms。
MTM的可视化
为了探究MTM优于Cross Attention的原因,本文将两帧间物体的注意力矩阵进行可视化,其中相同的ID代表两帧间同一个物体。可以发现由MTM生成的注意力矩阵(b)比Cross Attention生成的注意力矩阵(a)更加具有区分度,尤其是小物体之间的注意力矩阵。这表明由显式运动引导的注意力矩阵通过物理建模的方式使得模型更加容易地建立起两帧间物体的关联。本文仅仅只是初步探索了在时序融合中以物理方式建立时序关联问题,对于如何更好构建时序关联仍然是值得探索的。
检测结果的可视化
本文以场景序列为对象进行了检测结果的可视化分析。可以发现左下角的小物体从 帧开始快速远离自车,这导致baseline在 帧漏检了该物体,然而QTNet在 帧仍然可以检测到该物体,这证明了QTNet在时序融合上的有效性。
本文总结
本文针对目前3D目标检测任务提出了更加高效的基于Query的时序融合方法QTNet。其主要核心有两点:一是使用稀疏Query作为时序融合的对象并通过Memory Bank存储历史信息以避免重复的计算,二是使用显式的运动建模来引导时序Query间的注意力矩阵的生成,以此实现时序关系建模。通过这两个关键思路,QTNet能够高效地实现可应用于LiDAR、Camera、多模态的时序融合,并以可忽略不计的成本开销一致性地增强3D目标检测的性能。
原文链接:https://mp.weixin.qq.com/s/s9tkF_rAP2yUEkn6tp9eUQ