点击下方卡片,关注“自动驾驶之心”公众号
ADAS巨卷干货,即可获取
今天自动驾驶之心为大家分享一篇ICCV2023中稿工作UniTR:用于BEV表征的统一高效的多模态Transformer。如果您有相关工作需要分享,请在文末联系我们!
编辑 | 自动驾驶之心
论文:https://arxiv.org/pdf/2308.07732.pdf
作者单位:Peking University; Max Planck Institute for Informatics; Huawei, China; Pazhou Laboratory
联合处理来⾃多个传感器的信息对于实现可靠的⾃动驾驶系统的准确和稳健的感知⾄关重要。然⽽,当前的 3D 感知研究遵循特定于模态的范式,导致额外的计算开销和不同传感器数据之间的低效协作。本⽂提出了⼀种⾼效的户外 3D 感知多模态backbone网络 UniTR,它通过统⼀建模和共享参数处理多种模态。与之前的⼯作不同,UniTR 引⼊了⼀种与模态⽆关的transformer编码器来处理这些视图差异的传感器数据,以进⾏并⾏模态表示学习和 ⾃动跨模态交互,⽽⽆需额外的融合步骤。更重要的是,要充分利⽤这些互补的传感器类型,通过考虑语义丰富的 2D 视⻆和⼏何感知的 3D 稀疏邻域关系,论文还提出了⼀种新颖的多模态集成策略。UniTR 也是⼀个根本上与任务⽆关的backbone,⾃然⽀持不同的 3D 感知任务。它在 nuScenes 基准上建立了新的SOTA性能,实现了 3D 检测的 NDS +1.1,BEV 地图分割的 mIoU +12.0,推理延迟更低。代码将开源在https://github.com/Haiyang-W/UniTR。
论文的主要贡献
• 提出了⼀个权重共享的跨模态transformer block,⽤于并⾏⾼效的模态表示学习。
• 为了桥接具有不同视图的传感器,设计了⼀个强⼤的跨模态transformer block,通过考虑 2D 感知和 3D ⼏何结构关系来集成不同模态。
• 通过上述设计,引⼊了⼀种名为 UniTR 的新型户外 3D 感知多模态backbone,它以统⼀的⽅式处理具有共享参数的各种模态。
• UniTR 在 nuScenes各种3D感知任务的基准上实现了最先进的性能,3D检测(+1.1)和BEV地图分割(+12.0),同时具有更低的延迟。
目前领域相关的一些工作
基于 LiDAR 的3D感知
现有的基于激光雷达的3D感知研究从表征上可以分为两类:基于点和基于体素的⽅法。基于点的⽅法采⽤ PointNet 及其变体从点云中提取特征,基于体素的⽅法⾸先将点云转换为常规 3D 体素,然后⽤稀疏卷积或稀疏体素transformer处理它们。
基于相机的3D感知
由于 LiDAR 传感器的成本⾼昂,仅使⽤相机感知 3D 目标已得到⼴泛研究。以前的⽅法通过向 2D 检测器添加额外的 3D 回归分⽀,从相机数据中提取 3D 信息,设计具有可学习 3D 目标queries的基于 DETR 的head或使⽤view transformers将图像特征从透视图转换为⻦瞰图 (BEV)。然⽽,基于相机的⽅法通常⾯临深度信息有限和遮挡等挑战,这需要复杂的建模和后处理。
多传感器3D感知
激光雷达和摄像头是实现可靠⾃动驾驶的互补信号,最近得到了很好的探索。以前的多传感器3D感知⽅法可以通过融合粗略地分为三类:基于点/ proposal / BEV 的⽅法。基于点的和基于 proposal 的⽅法通常利⽤图像特征来增强 LiDAR 点或 3D 对象proposal。基于 BEV 的⽅法有效地将相机和激光雷达的表示统⼀到 BEV 空间中,并将它们与 2D 卷积融合以实现各种 3D 感知任务。然⽽,这些后继者通常依赖于特定模态编码器的顺序处理,然后是额外的后期融合步骤,这会减慢推理速度并限制实际应⽤。为了应对这些挑战,提出了⼀个统⼀的权重共享主⼲,可以以完全并⾏的⽅式有效地学习模态内和模态间表示,从⽽实现更快的推理和更⼴泛的现实世界适⽤性。
我们提出的方法
在本节中,将描述针对多模态(多视⻆相机和 LiDAR)和多任务(检测和分割)的统⼀架构,图1说明了该架构。给定不同的传感器输⼊,该模型⾸先使⽤特定于模态的tokenizers将它们转换为token序列。然后采⽤与模态⽆关的 Transformer 主⼲来执⾏单模态和跨模态表示学习⽤于增强各种 3D 感知任务。
图 1:UniTR框架
单模态表征学习
该⽅法从⽤特定模态的tokenizers将不同的模态输⼊转换为 token 序列开始,然后是⼏个模态共享的 DSVT 块实现并⾏模态特征编码。
Tokenization. 给定从相机捕获的原始图像和从 LiDAR 获得的点云,应用特定于模态的tokenizers来生成后续 transformer encoder的输入token序列。
Modality-specific set attention. 为了有效地并行处理指定多模态token之间的模态内表征学习,首先对每个传感器中单独引入动态集划分。具体来说,在从特定场景获取激光雷达和图像token后:
其中代表雷达和图像token的坐标,代表特征,是对应第个图像patch的view ID,然后计算每个局部集在其各自模态空间中的token索引,如下所示,
其中是DSVT中引入的标准动态集划分策略。和 是该步骤中使用的窗口大小和每个集合的token数量。 和 分别是激光雷达和图像的分区子集的数量。请注意,图像窗口大小表示图像集分割仅在每个摄像机视图内单独执行。给定模态图像激光雷达分区 和 ,然后我们收集分配给每个集合的token特征和坐标,并对每个模态执行并行注意计算,如下所示:
其中为INDEX操作,,是concatenation操作,和是多模态token特征和空间坐标。MHSA(·) 表示具有 FFN 和层归一化的标准多头自注意力层,在每个局部集中的 token之间传播信息。PE(·)代表位置编码。这样,模态表示学习将通过一系列特定于模态的集合注意力并行执行。值得注意的是,该文中的模型跨模态共享自注意力权重,从而实现并行计算,并使其比单独每种模态的计算效率更高(大约快 2 倍)。
跨模态表征学习
为了有效地集成⾃动驾驶场景中多个传感器的视图差异信息,现有⽅法通常涉及为每个传感器设计单独的深度模型,并通过后处理⽅法融合信息,例如增强 3D 对象 proposal 或仅激光雷达的 BEV 地图具有图像视图的语义特征。此外,在融合步骤之前,所有传感器数据通常被转换成统⼀的表示空间(3D/BEV 空间或 2D 空间),它们要么是语义损失的,要么是⼏何减少的。为了实现有效的跨模态连接并充分利⽤这两种互补表示,设计了两种在连续模态⽆关 DSVT 块中交替的分区配置,它可以通过考虑 2D 和 3D 结构关系来⾃动融合多模态数据。
Image perspective space. 为了在语义感知的 2D 图像空间中桥接多传感器数据,本文首先利用相机的内在和外在参数将所有激光雷达token转换到图像平面。为了为后续的统一透视分区创建一对一的投影,我们仅采用 3D 激光雷达token的第一个视图命中并将它们放置在各自的 2D 位置,如下所示,
将图像和激光雷达token统一到相机透视空间后,使用传统的动态集划分以模态不可知的方式生成多个跨模态 2D 局部集:
,为concatenation操作,此步骤采用与模态无关的方式,根据多模态token在相机每个视角空间中的位置将多模态token分组到相同的局部集中。然后,这些模态混合子集被多个 DSVT 模块用于 2D 跨模态交互。
3D geometric space. 为了统⼀ 3D 空间中的多模态输⼊,需要 ⾼效且稳健的视图投影来将图像块唯⼀地映射到 3D 空间。然⽽,由于与每个图像像素相关的深度固有的模糊性,深度退化的相机到激光雷达的变换是⼀个不适定的问题。尽管以前的可学习深度估计可以以可接受的精度预测深度图像,但它们需要额外的计算密集型预测模块,并且泛化能⼒较差。为了克服这些限制,受到 MVP 的启发,提出了⼀种不可学习且完全可预先计算的⽅法,可以有效地将图像块转换为 3D 空间以进⾏后续分区。具体来说,我们首先对一组伪 3D 网格点进行采样,,其中是 3D 空间的空间形状除以预定义的网格大小。然后我们投影所有伪激光雷达点,到它们相应的虚拟图像坐标中(表示为,,其中 和 是视图 ID 和关联的深度。值得注意的是,仅考虑落在视图图像内的投影点,因此有效图像点的数量。利用这些伪图像点,我们从其最近的图像虚拟邻居检索每个图像token的深度估计,如下所示,
其中是最近邻函数,表示第个图像token的计算深度,与其最近邻相同。然后我们将图像token 投影回 3D 空间,并根据它们的 2D 距离生成偏移特征,
用这种⽅式,通过可预先计算的视图投影来统⼀ 3D 空间中的图像和激光雷达token,该投影可以在推理过程中完全缓存下来。最后,应⽤动态集划分模块来⽣成 3D 跨模态局部集,如下所示,
。然后由 DSVT 块以统⼀的⽅式进⾏处理,以在 3D 激光雷达空间中进⾏跨模式交互。本文中的跨模态转换器块通过考虑 2D 和 3D 结构关系引 ⼊了不同模态之间的连接,并且被发现在多模态 3D 感知中有效。重要的是,它共享模式内块的相同基础(DSVT),并且可以⽆缝集成到⻣⼲⽹中。感知任务设置
UniTR 可以适应⼤多数 3D 感知任务。为了展示其多功能性,从两个重要⽅⾯对其进⾏评估任务:3D 对象检测和 BEV 地图分割。
检测. 不失⼀般性,遵循 BEVFusion 中采⽤的相同检测框架。值得注意的是,仅将其多个特定于模态的编码器切换到编码器,并删除冗余的后期融合模块,⽽所有其他设置保持不变。为了充分利⽤⼏何增强的图像特征,还提出了⼀种增强变体,通过额外的基于 LSS 的 BEV 融合步骤进⼀步增强。
分割. 采⽤与 3D 检测任务相同的框架,除了分割头和评估工具使用的是BEVFusion中的方式。
实验对比分析
在本节中,我们使⽤ nuScenes 数据集进⾏ 3D检测和 BEV 地图分割任务的实验,涵盖⾯向⼏何和语义的 3D 感知。实际上,由于包容性的 2D 感知和 3D ⼏何空间,统⼀⻣⼲⽹还提供多功能性和⽆缝扩展性,以适应其他传感器类型,例如雷达和超声波,以及各种其他 3D 感知任务,例如 3D 跟踪和运动预测。
实现细节
Backbone. UniTR 从两个特定于模态的tokenizers开始,⼀个 DVFE 层⽤于点云体素化,检测⽹格⼤⼩(0.3m,0.3m,8m)和分割(0.4m,0.4m,8m),以及图像patch tokenizer8倍下采样图片到32x88。然后,采⽤⼀个权重共享模态内 UniTR 块来并⾏处理模态表示学习。最后,三个联式 UniTR 块跨越不同模态的边界,并通过连续交替 2D 和 3D 分区配置来提供它们之间的连接。
数据集. 在 nuScenes 上进⾏实验,⼀个具有挑战性的⼤型户外基准测试,为各种任务提供多种注释(例如, 3D 物体检测和 BEV 地图分割)。它包含 40,157 个带注释的样本,每个样本都有六个单⽬相机图像,覆盖 360 度 FoV 和 32 光束 LiDAR。
训练. 与主流的两步训练策略不同包含单独的单模态预训练和联合多模态后训练,UniTR 通过更简单的⼀步训练⽅案以端到端的⽅式进⾏训练,并具有对⻬的多模态数据增强。所有实验均由 AdamW 优化器训练在 8 个 A100 GPU 上。
3D Object Detection
BEV Map Segmentation
Ablation Studies & Inference Speed
最后做个汇总
本文提出了⼀个统⼀的backbone,它可以使⽤单个模型和共享参数来处理各种模式,以实现户外 3D 感知。借助专⻔设计的⽤于模态内和模间表示学习的模态不可知transformer block,该⽅法可以在nuScenes 数据集上实现最先进的性能,并在各种 3D 感知任务中取得显着收益。相信 UniTR 可以为促进更⾼效、更通⽤的户外 3D 感知系统的开发提供坚实的基础。
① 全网独家视频课程
BEV感知、毫米波雷达视觉融合、多传感器标定、多传感器融合、多模态3D目标检测、点云3D目标检测、目标跟踪、Occupancy、cuda与TensorRT模型部署、协同感知、语义分割、自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码学习)
视频官网:www.zdjszx.com② 国内首个自动驾驶学习社区
近2000人的交流社区,涉及30+自动驾驶技术栈学习路线,想要了解更多自动驾驶感知(2D检测、分割、2D/3D车道线、BEV感知、3D目标检测、Occupancy、多传感器融合、多传感器标定、目标跟踪、光流估计)、自动驾驶定位建图(SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频,期待交流!
③【自动驾驶之心】技术交流群
自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、多模态感知、Occupancy、多传感器融合、transformer、大模型、点云处理、端到端自动驾驶、SLAM、光流估计、深度估计、轨迹预测、高精地图、NeRF、规划控制、模型部署落地、自动驾驶仿真测试、产品经理、硬件配置、AI求职交流等方向。扫码添加汽车人助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)
④【自动驾驶之心】平台矩阵,欢迎联系我们!