纯视觉BEV大升级!TiG-BEV:深度监督与BEV蒸馏的完美结合(北大&蔚来&港大)

点击下方卡片,关注“自动驾驶之心”公众号

ADAS巨卷干货,即可获取

点击进入→自动驾驶之心【BEV感知】技术交流群

后台回复【TiGBEV】获取本文论文及代码!

今天自动驾驶之心很荣幸邀请到蔚来ADLab3Ds分享他们近期在BEV感知上的工作,本文方法名为TiG-BEV,可以有效的提升不同的多视角图像3D检测的性能。如果您有相关工作需要分享,请联系我们!

摘要

49e8044446943558050b3c912477f2f5.png

3D 目标检测任务是定位并且识别 3D 空间中的物体,它在近些年受到了广泛的关注。主流的 3D 目标检测方法主要分为两类,分别是基于 LiDAR的点云数据和基于相机的图像数据。其中,LiDAR 检测器由于可以获得更多的 3D 空间信息,从而达到了更高的准确率;而图像检测器由于缺少深度信息的辅助,性能会弱于LiDAR检测器,但相对之下会更加经济实惠。

考虑到两种方法之间的性能差距,为了让图像检测器的检测性能接近LiDAR检测器,现有的工作主要提出了两种改进方法来利用LiDAR模态提供的几何语义增强图像检测器的性能。

  • 第一种方法是稠密的深度监督,例如 CaDDN 和 BEVDepth,它们将输入的 LiDAR 点云投影到多视角图像上,并且将此作为深度图预测的监督信号。

  • 第二种方法是 BEV 特征蒸馏,例如 CMKD 和 BEVDistill,他们采用了教师-学生的蒸馏策略,让作为学生的图像检测器去学习 LiDAR 检测器生成的 BEV 特征。

但是,现有的方法都没有考虑到如何提取前景物体的内部几何信息,例如细节的轮廓和深度变化,他们不管是在浅层的深度监督层面还是高层的特征语义监督层面,均使用的是点对点的强制监督,同时也会受到2D-3D特征之间的模态差异影响。因此,为了充分挖掘前景物体的几何结构化特征,我们提出了 TiG-BEV,一种新型的 LiDAR 到相机图像的学习机制,重点将 LiDAR 模态的前景内部结构化语义信息转移到图像检测器上,使得图像检测器能够去学习 LiDAR 模态在目标物体内部的几何语义响应,包括空间位置结构化语义和特征结构化语义。

总的来说,TiG-BEV方法的贡献如下:

  • 首先,我们提出了一种“前景内部深度监督”的模块来学习前景目标物体内部的相对深度信息,使网络更好的预测物体的深度边缘和轮廓;

  • 其次,我们提出了“BEV 空间前景特征蒸馏”,将LiDAR 检测器提供的高层次的物体语义信息通过蒸馏的方式迁移到图像检测器上来,并且是通过交互不同特征通道以及关键点来实现;

  • 最后,我们做了大量的实验在 nuScenes 数据集上,验证了我们的TiG-BEV能够有效提升不同的多视角图像 3D 检测器的性能,例如 BEVDepth 和 BEVDet等。

相关工作

多目 3D 目标检测

基于相机的 3D 目标检测已被广泛用于自动驾驶场景,因为它的成本比基于 LiDAR 的检测器要低。 FCOS3D [45] 首先通过预测围绕 2D 中心的特征获取物体的 3D 属性,PGD [44] 利用关系图来改进 3D 单目物体检测的深度估计。 此外,MonoDETR [53] 引入了类似DETR [4]的架构,且没有使用复杂的后处理。最近,鸟瞰图 (BEV)作为周围环境的统一表示,与基于 LiDAR 的检测器相似,吸引了广泛的关注。 DETR3D [46] 遵循 DETR [4] 通过使用在 BEV 空间中采用 3D 参考点对象查询。 BEVDet [19] 利用 Lift-Splat-Shoot(LSS)操作[34]变换二维图像特征以生成 3D BEV 特征。 PETR [27] 通过 3D positional embedding 获得 3D position-aware 能力。受到最近流行的注意力机制的启发,BEVFormer [24] 和 PolarFormer [21] 以可学习的注意力将相机到 BEV 的过程自动化,并根据其在 3D 空间中的位置查询 BEV。为了进一步提高检测性能, 时序信息已被引入 BEVDet4D [18] 和 PETRv2 [28],实现了显著的性能提升。此外,BEVDepth [23] 观察到准确的深度估计对于 BEV 至关重要。 MonoDETR-MV [54] 提出了一种深度引导的 Transformer 用于多视角几何线索,仅预测前景而没有使用稠密深度监督的深度图。作为 LiDAR 到相机的学习方案,我们的 TiG-BEV 利用预训练的基于 LiDAR 的检测器以提高用于基于相机图像的多视角 BEV 3D 检测器的性能。

深度估计

深度估计在计算机视觉中是一个经典问题,这些方法可以分为单目深度估计和多目深度估计。单目深度估计通常被视为稠密深度图回归问题或深度分布分类问题。 [2,12,13,35,36] 一般构建一个编码器-解码器架构利用上下文特征来回归深度图。多目深度估计方法通常构建一个cost volume来回归基于光度一致性的差异 [15,33,40,49,52,56]。 对于 3D 目标检测,以前的方法 [16、32、37] 也引入额外的深度估计网络以改进 3D 空间中的定位精度。值得注意的是,MonoDETR [53, 54] 提出只预测前景深度图而不是稠密的深度值,但没有利用 LiDAR 提供的高层次几何语义信息。与他们不同的是,我们的 TiG-BEV 能够对不同前景目标进行内部深度监督,捕获局部空间结构信息。

知识蒸馏

知识蒸馏在从较大的模型(老师)到较小的模型(学生)迁移学习方面表现出极大的潜力。先前的一系列工作 [20,26,43,51]主要用于帮助学生网络学习结构化表示以获得更好的泛化能力。这些方法一般利用实例的相关性来描述特征空间中几何的相似性或不相似性。这些方法将教师-学生范式扩展到许多视觉任务,证明了它的有效性,包括动作识别 [9]、视频理解[31]、3D 表示学习 [14,29,38,55]、对象检测 [5,10] 和语义分割 [17,48],然而很少工作考虑不同传感器之间跨模态设定。对于 3D 表示学习,I2P-MAE [55] 利用掩码自动编码器提取 2D 预训练知识转化到 3D Transformer。 UVTR [22] 提出了一个通过直接正则化体素表示的简单方法在学生和教师模型之间迁移知识。 BEVDistill [6] 通过前景稠密特征蒸馏和稀疏实例蒸馏来迁移LiDAR的检测器的知识。 我们的 TiG-BEV 也是按照这样的跨模态师生范式并有效地将 LiDAR 模态特征知识迁移到相机模态.

方法

以下是我们整体的框架图,包含基于相机图像的学生网络,基于 LiDAR 的教师网络以及我们提出的跨模态学习前景目标内部几何语义信息的范式,下面我们将逐一详细介绍我们提出的每个模块。

97eecc45807228dbd312399e8554fc0c.png

准备工作

基于相机的学生检测器

我们默认选用 BEVDepth 作为多视角 3D 检测任务中基于相机图像的学生检测器。给定张相机图像,使用 2D 骨干网络和 FPN 模块提取出 个通道的视觉特征,和代表特征图的大小。这些特征图经过一个共享的深度网络,生成预设深度为 D 的深度分布图。在训练过程中,BEVDepth 利用点云投影到多视角图像上的深度值进行稠密绝对深度监督。然后参考LSS的方法,利用预测的深度分布图将多视角视觉特征投影到统一的 BEV 表征用于输入到后续 BEV 编码器得到。最后采用检测头进行 3D 空间的物体检测任务。上述内容涉及到该学生模型用到的两个基本的损失函数,分别是采用二元交叉熵的绝对深度监督损失和 3D 检测任务损失。

基于点云的教师检测器

我们采用流行的 CenterPoint 作为教师检测器,对于给定的原始点云,CenterPoint 会进行体素化生成网格数据,然后利用 3D 骨干网络得到 个通道的 BEV 特征。该特征含有丰富的几何语义信息,尤其在前景目标区域。需要注意的是,我们的点云数据和教师网络仅用于训练阶段的跨模态学习,而推理阶段我们仅输入多视角相机图像到训练好的学生网络中。

前景深度监督模块

19e9ab9f0435b8c1c2e64b6a22a4be84.png

除了稠密绝对深度监督,我们还引导学生模型学习不同目标前景区域的内部相对深度几何信息。如图所示,现有的绝对深度监督对每个像素进行稠密且相对独立的监督,忽视了不同物体内部相对的结构信息,因此我们提出额外的前景内部深度监督来捕捉前景目标的内部几何信息。

首先我们先定位多视角下前景目标的像素位置,具体来说就是我们将位于 3D 边界真值框内的点云投影到不同视图的图像中,这些前景像素隐含着不同目标物体的几何边缘信息。然后我们会对每个像素预测的离散深度分布连续化,便于后续的相对深度计算。假设某张图像中有个前景物体,对于第个物体,我们对个深度 bin 中心值和对应的深度预测概率进行线性组合实现连续化,用来表示第个物体在像素处的第个深度 bin 中心预测的概率,将上述过程用公式表示为

得到连续的深度预测值后,我们通过计算连续深度预测值,动态找到最小的像素点选作相对深度计算的参考点,用公式表示为

这样动态参考点的选取方式随着网络的训练会更加稳定,能适应不同形状的物体。最后我们对每个前景目标计算物体内部的相对深度,也就是内部每个投影到图像上的属于当前物体的前景点与我们上面动态选取的参考点计算深度预测和深度真值的相对深度值

最后采用 L2 损失对相对深度值对进行监督:

前景特征蒸馏模块

a612ceb7eefb260666ac09e007fdabe7.png

除了使用前景内部深度监督低层次的空间结构信息,我们还利用预训练好的基于LiDAR的教师模型对高层次的BEV特征进行内部几何特征学习。先前的对BEV特征进行蒸馏的工作强行让学生点对点模仿教师的BEV特征,这种方式有两点限制。

  • 首先,由于点云的稀疏性,基于LiDAR的BEV特征在背景区域可能会含有冗余的信息或者噪声。即使有相关工作只对前景进行监督来缓解第一个问题,那种稠密的特征蒸馏也没法提供更聚焦且高效的引导给学生网络。

  • 其次,基于相机图像的BEV特征和基于LiDAR的BEV特征分别隐含视觉外观和空间结构的不同的语义信息,考虑到语义的差异,强行完全对齐两个不同的模态特征是不太合适的。而在我们的TiG-BEV中,我们提出了BEV 空间前景特征蒸馏模块,包含前景通道间和关键点间的特征注意力蒸馏用于缓解跨模态的语义差异。

目标关键点采样

我们首先对于前景目标提取一系列的关键点,具体来说就是我们首先对于前景 3D 边界框做了局部扩增,用以完整包含前景物体的边界信息,然后我们对扩增后的前景框采用双线性插值均匀采样 N 个网格关键点的 BEV 特征便于我们后续两个子模块的操作。该操作同时应用于 2D 学生和 3D 教师的 BEV 特征,得到

通道间相似性监督

我们使用通道间 BEV 特征蒸馏,用于引导学生前景关键点的特征模仿教师 BEV 特征通道间的关系,通道间的信号隐含了每个前景整体的几何语义。比起之前的逐通道监督,我们的通道间蒸馏能够保持不同模态间的差异,同时还能迁移预训练的基于 LiDAR 的教师检测器的知识。具体来说,我们同时对基于相机图像的学生模型和基于 LiDAR 的教师模型的关键点特征进行通道间相似度的计算,表示为

代表两个模态的不同通道间的特征关系,对同一场景下的个物体,我们应用损失对特征通道相似性蒸馏进行约束

关键点相似性监督

除了引导基于相机图像的学生模型学习教师模型通道多样性,我们还关注不同关键点之间局部空间几何信息。因此我们计算不同关键点之间的特征相似度来捕获目标前景内部不同部位之间的几何语义信息,比如车头和车尾之间的特征关系等。上述过程用公式表示为

代表两个模态下前景不同关键点之间的特征关系,我们同样采用 损失对所有前景进行监督

最后整个蒸馏损失可以表示为:

这两个损失相互正交,分别用于监督通道级特征多样性和关键点级语义关联。整体来看我们通过两个互补的角度来提升基于相机图像的学生模型,即低层次的前景内部深度监督和高层次语义的BEV 空间前景特征蒸馏,结合学生模型的基础损失,我们 TiG-BEV 方法总的损失可以表示为:

实验

数据集和指标

我们主要在 nuScenes 上做实验,该数据集是现在流行的大规模的室外自动驾驶公开数据集,训练集、验证集、测试集分别包含了 700、150、150 个场景。它使用 32 线 LiDAR 以 20Hz 采集数据,以及采用了六个覆盖 360 度水平 FOV 的相机以 12Hz 采集多视角图像。我们使用官方测试工具得到 nuScenes 的检测分数,主要包含 NDS、mAP 以及 mATE、mASE、mAOE、mAVE、mAAE。

实现细节

我们主要用了 BEVDet 1.0 的 codebase 在 8 块 A100 上做实验,预训练的教师模型 CenterPoint 默认使用[0.1, 0.1, 0.2]的体素大小,学生模型默认使用 BEVDepth 设定,此外还有 BEVDet 和 BEVDet4D。在推理阶段,不使用教师模型和点云数据,仅使用多视角相机图像作为输入。我们在训练阶段默认使用了主流方法的通用设定和超参数,包含数据扩增(随机翻转、放缩和旋转),2X schedule,AdamW optimizer,初始学习率为 2e-4,在每个 GPU 上 batchsize 为 8。

我们主要结果默认在 nuScenes 验证集下得到,对比了 CBGS 设定下的结果和不使用 CBGS 设定下的结果以及对比了 BEVDistill 同个设定下的结果。

在 nuScenes 验证集的结果

25cb7d888244ed17d0d0b65fa5817a25.jpeg

在这里我们默认使用了CBGS和其他主流方法的结果进行对比,如Table 1.所示我们在三个不同的baseline:BEVDet、BEVDet4D、BEVDepth上分别能得到3.2%、2.6%、2.3%的NDS提升,直观地验证了我们方法对多视角BEV 3D检测提升的作用。

76214593ba061b635ea8f8e0497f9901.jpeg

另外我们还做了不带CBGS策略的实验对比(Table 2),同样在三个baseline上,我们的目标内部几何语义学习效果变得更加显著,分别带来了10.3%、7.3%、3.7%的mAP提升,说明了我们方法对基于LiDAR的检测器知识进行迁移的优越性。

此外我们还在同样的设定下和BEVDistill进行对比(Table 3),我们的方法在一个我们复现的更好的baseline下能得到进一步的mAP和NDS的提升,同样说明了我们目标内部语义相比BEVDistill的前景引导的稠密蒸馏更加优越。

可视化
f0b7a82750ec9fa249138e8dea237774.jpeg

我们还做了使用了我们的TiG-BEV前后的检测结果可视化,可以明显看到在使用了我们的方法后能得到更精确的检测结果,尤其在橙色圈中可以看到,漏检、误检、检测框贴合等问题都能得到改善。

消融实验

在消融实验中,我们默认使用 BEVDepth 作为学生模型且不使用 CBGS 策略,做了多组不同的实验验证我们不同模块的有效性。

前景目标内部几何语义学习
da8ef41aa801081bf9a5c0619c975385.jpeg

在这个消融实验中我们主要验证我们提出的两大模块的有效性。如Table 4.所示,当我们只用前景内部深度监督的时候,mAP能从32.9%提升到33.9%,NDS能从43.1%提升到44.0%;另外当我们只用BEV 空间前景特征蒸馏的时候,mAP能从32.9%提升到35.9%,NDS能从43.1%提升到45.4%;而当我们结合这两大模块的时候,能带来3.7%mAP和2.7%NDS的增益,大于任意一个模块带来的提升,说明我们提出的这两大模块的作用是互补的。

28899b713f0218c4a5faf48fdedfd26a.jpeg
前景内部深度监督

为了计算前景目标内部的相对深度,我们在设计当前这个方法的时候考虑了几种对不同内部点关系计算的方法,主要分为:

  1. 所有点对特定点进行相对深度计算(All-to-Certain):如 3D 边界框中心在图像上投影的点或者图像上 2D 边界框中心点;

  2. 所有点之间两两进行相对深度计算(One-to-One);

  3. 所有点对一个动态选择的点进行相对深度计算(All-to-Adaptive),这里考虑了两种动态选择的方式:

  • 一种是选择深度分类置信度最高的点

  • 另一种是选择连续深度值最小预测误差的点,也就是我们 TiG-BEV 采用的方式

最后的结果如Table 5.所示,我们的方法得到了最好的效果,说明我们动态选择点的方式能较灵活地适应不同前景目标的内部几何学习。此外我们还可视化了预测的深度热力图(Fig 8),非常明显地可以发现前景物体的边缘信息变得更加清晰了。

BEV 空间前景特征蒸馏模块消融
631808994108d5b9b304e79d8caffd14.jpeg

我们还研究了BEV 空间前景特征蒸馏模块内的两个子模块的作用效果(Table 7),同样是分别屏蔽其中一个子模块进行研究,可以发现通道间特征蒸馏和关键点间特征蒸馏分别能带来1.3%和2.1%的NDS提升,而把二者结合能达到最好的效果,也验证了在不同前景目标进行内部几何语义学习的重要性。

2D 骨干网络和时序信息
3839b44ddef89ea9d4dfa632ac5cbaff.jpeg

最后我们进一步探究了不同骨干网络、是否使用时序信息等不同设定组合下我们方法的有效性。如Table 6.所示,我们在不同的骨干网络下都能带来不错的提升,并且无论是否使用多帧信息,我们都能带来正收益,对mAP的提升能从3.4%到5.8%,NDS的提升能从2.5%到5.0%。

结论

在本文中,针对多视角视觉 3D 目标检测器,我们提出了一种新的基于前景目标内部几何结构的学习框架,它能使基于相机图像的检测器迁移点云模态检测器中有效的前景几何语义信息。我们首先提出了一个带有前景目标自适应深度参考点的内部深度监督以帮助学生学习更好的局部几何结构。然后我们在 BEV 空间中,从前景内部特征通道间和关键点间两个维度进行BEV 空间前景特征蒸馏,这有助于视觉检测器从点云模态中学习高维度的前景目标几何内部语义信息。大量的实验表明 TiG-BEV 对多视角 BEV 3D 目标检测器的性能提升有重要意义。对于未来的工作,我们将着重探索能同时提升点云和相机两种模态的多模态交互学习策略,用于统一的真实世界环境感知。

a5be66a348c940512ebf15732a66c345.png

324f39a5a35ad89a32aa390b7152a373.png

自动驾驶之心】全栈技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、多传感器融合、SLAM、光流估计、深度估计、轨迹预测、高精地图、NeRF、规划控制、模型部署落地、自动驾驶仿真测试、硬件配置、AI求职交流等方向;

a80d1019b6838a6fb476c272f37599b3.jpeg

添加汽车人助理微信邀请入群

备注:学校/公司+方向+昵称

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值