本文经自动驾驶之心公众号授权转载,转载请联系出处。
写在前面&个人理解
在线高精(HD)地图构建是自动驾驶领域的一项重要且具有挑战性的任务。最近,人们对不依赖于激光雷达等其他传感器的基于环视相机的低成本方法越来越感兴趣。然而只使用视觉传感器的方法缺乏明确的深度信息,需要更大的主干网络来实现令人满意的性能。为了解决这个问题,我们首次采用知识蒸馏(Knowledge Distillation, KD)思想进行高效的高精地图构建,引入了一种新的基于KD的在线矢量高精地图构建方法MapDistill。MapDistill将知识从高准确性的Camera-LiDAR融合模型转移到轻量级的仅依赖相机的模型。具体而言,我们采用师生架构,即Camera-LiDAR融合模型作为教师,轻量的只基于相机的模型作为学生,并设计了双BEV转换模块,以促进跨模态知识对齐。此外,我们还提出了一个适用于在线高精地图构建任务的全面蒸馏方案,包括跨模态关系蒸馏、双层特征蒸馏和地图任务头蒸馏。这种方法一定程度上解决了模态间知识转移的困难,使学生模型能够学习更好的用于高精地图构建的特征表示。我们在目前最具有挑战性的nuScenes数据集上的实验结果证明了MapDistill的有效性,超越了基线方法7.7 mAP或实现4.5倍的加速。
项目链接:https://github.com/Ricky-Developer/MapDistill
领域背景介绍
在线高精地图提供了丰富、精确的驾驶场景静态环境信息,是自动驾驶系统规划与导航模块的基础。最近,基于多视角相机的在线高精地图构建由于BEV感知技术的重大进展而受到越来越多的关注。相较于只基于激光雷达的方法和基于激光雷达与相机融合的方法,只基于多视角相机的方法具有更低的部署成本。但由于缺乏深度信息,目前的基于纯视觉的方案常常采用参数更多的骨干网络进行有效的特征提取以取得较好的性能。因此,在实际部署中权衡基于摄像机的模型的性能和效率是至关重要的。
知识蒸馏(Knowledge Distillation, KD)作为训练高效而准确的模型最实用的技术之一,在相关领域受到了极大的关注。基于知识蒸馏的方法通常将知识从训练有素的大模型(教师)转移到小模型(学生)。这类方法在图像分类、二维目标检测、语义分割和三维目标检测等许多领域取得了显著进展。以前的方法大多遵循需学生网络逻辑与教师网络逻辑相匹配的teacher-student范式。最近,基于BEV的知识蒸馏方法推动了3D目标检测任务的发展。这类方法统一了BEV空间中的图像和点云特征,并在师生范式中自适应地跨非同质表示传递知识。此前的工作使用强激光雷达教师模型帮助相机学生模型进行训练,如BEVDistill、UVTR、BEVLGKD、TiG-BEV和DistillBEV。最近,UniDistill提出了一种用于3D目标检测的通用跨模态知识蒸馏框架。
与这些方法相比,基于BEV的在线高精地图构建知识蒸馏方法在两个关键方面有所不同:首先,检测头(DetHead)对目标进行分类和定位输出,而在在线矢量高精地图构建模型(如MapTR)中地图头(MapHead)往往输出的是分类和点回归结果。其次,现有的基于BEV的3D目标检测知识蒸馏方法通常侧重于对准前景目标的特征,以减轻背景环境的不利影响,这显然不适合高精地图的构建。因此,将基于BEV的3D目标检测知识蒸馏方法直接应用于的高精地图构建中,由于两者任务的内在差异性,无法获得满意的结果(实验结果见表1)。据我们所知,基于BEV的用于在线高精地图构建的知识蒸馏方法仍处于探索阶段。
为了填补这一空白,我们提出了一种新的基于知识蒸馏的方法MapDistill,将知识从高性能的教师模型转移到高效的学生模型。首先,我们采用师生架构,即相机-激光雷达融合模型作为教师,轻量化的只基于相机传感器的模型作为学生,并设计了双BEV转换模块,以促进跨模态知识升华,同时保持成本效益的只基于相机传感器的建图方案部署。在此基础上,我们提出了一种包含跨模态关系蒸馏、双层特征蒸馏和地图头部蒸馏的综合蒸馏方案,以减轻模态之间的知识转移挑战,并帮助学生模型学习改进的高精地图构建特征表示。具体来说,我们首先为学生模型引入了跨模态关系蒸馏损失,以便从融合教师模型中更好地学习跨模态表示。其次,为了更好地实现语义知识转移,我们在统一的BEV空间中对低级和高级特征表示都采用了两级特征蒸馏损失。最后,我们特别引入了为高精地图构建任务量身定制的地图头蒸馏损失,包括分类损失和点对点损失,它可以使学生的最终预测与教师的预测非常相似。在具有挑战性的nuScenes数据集上的大量实验证明了MapDistill的有效性,超越了现有竞争对手超过7.7 mAP或4.5倍的加速,如图1所示。
图1:nuScenes数据集上不同方法的比较。我们在单个NVIDIA RTX 3090 GPU上对推理速度进行基准测试。MapDistill可以在速度(FPS)和精度(mAP)之间实现更好的平衡。
本文的贡献主要体现在三个方面:
- 我们提出了一种用于在线高精地图构建任务的有效知识蒸馏模型架构,包括相机-激光雷达融合教师模型,带有双BEV转换模块的轻量级相机学生模型,该模块促进了不同模式内部、之间的知识转移,同时具备低成本、易部署的特征。
- 我们提出了一种同时支持跨模态关系蒸馏、两级特征蒸馏和地图头蒸馏的综合蒸馏方案。通过减轻模态之间的知识转移挑战,该方法可以帮助学生模型更好地学习高精地图构建的特征表示。
- MapDistill的性能优于最先进的(SOTA)方法,可以作为基于知识蒸馏的高精地图构建研究的强大基线。
MapDistill
在本节中,我们将详细描述我们提出的MapDistill。我们首先在图2中给出了整个框架的概述图示,并在2.1节中阐明了教师模型和学生模型的模型设计。然后,我们在第2.2节详细阐述MapDistill的细节,如跨模态关系蒸馏、两级特征蒸馏和地图头蒸馏。
图2:MapDistill由一个基于多模态融合的教师模型(上)和一个基于轻量级相机传感器的学生模型(下)组成。此外,为了使教师模型能够将知识传递给学生,我们采用了三种蒸馏损失以指导学生模型产生相似的特征和预测,即跨模态关系蒸馏、两级特征蒸馏和地图头蒸馏。特别说明,推理只使用学生模型进行。
2.1 模型整体架构
融合模型(教师):为了将Camera-LiDAR融合教师模型的知识转移到学生模型,我们首先基于最先进的MapTR模型建立了基于融合的高精地图构建基线。如图二上半部分所示,融合的MapTR模型有两个分支。对于相机分支,首先使用Resnet50提取多视图图像特征。接下来,使用GKT作为2D-to-BEV转换模块,将多视图特征转换为BEV空间。生成的摄像机BEV特征可表示,其中H、W、C分别表示BEV特征的高度、宽度和通道数,上标T为“teacher”的缩写。激光雷达分支采用SECOND进行点云体素化和特征编码,采用Bevfusion中的展平操作将点云特征投影到BEV空间,表示为。此后,MapTR将和聚合,并使用全卷积网络进行处理,获取融合鸟瞰特征。此后,MapTR使用以融合BEV特征作为输入的地图编码器产生高维BEV特征。
然后,教师地图头(MapHead)使用分类和点分支来生成地图元素类别和点位置的最终预测:
基于相机传感器的模型(学生):为了提升实际部署的实时推理速度,我们采用MapTR的相机分支作为学生模型的基础。特别的,我们使用Resnet18作为主干来提取多视图特征,这可以使网络轻量级且易于部署。在MapTR的基础上,为了模拟教师模型的多模态融合管道,我们提出了一个双流 BEV转换模块,将多视图特征转换成两个不同的BEV子空间。具体的来说,我们首先使用GKT生成第一个子空间特征,其中上标S表示“student”的缩写。然后我们使用LSS生成另一个子空间的鸟瞰特征。此后,我们使用全卷积网络融合上述两个子空间鸟瞰特征,获得融合BEV特征。
2.2 MapDistill的细节
跨模态关系蒸馏:跨模态关系蒸馏的核心思想是让学生模型在训练过程中模仿教师模型的跨模态注意力。更具体地说,对于教师模型,我们调整相机BEV特征和激光雷达BEV特征转换为2D patches序列,表示为。之后,我们计算来自教师分支的跨模态注意力,包含C2L注意和L2C注意力,如下所示:
对于学生分支,我们使用相同的策略:
此后,我们提出了跨模态关系蒸馏,采用KL散度损失帮助对齐学生分支与教师分支的跨模态注意力。
两级特征蒸馏:为了方便学生模型从教师模型中吸收丰富的语义/几何知识,我们利用融合的BEV特征进行特征级蒸馏。具体来说,我们通过MSE损失,让老师分支的low-level融合BEV特征监督学生分支对应的low-level BEV特征:
相似地,我们使用MSE损失帮助对齐由地图编码器生成的和:
我们使用两级特征蒸馏进行统一表示:
地图任务头蒸馏:为了使学生的最终预测接近老师的预测,我们进一步提出了地图任务头蒸馏。具体来说,我们使用教师模型生成的预测作为伪标签,通过地图任务头损失来监督学生模型。地图任务头损失由两部分表示,其中分类损失函数用于地图元素分类,基于曼哈顿距离的点对点损失用于点位置的回归:
实验
与SOTA方法的比较
我们在nuScenes数据集进行了大量实验。我们将我们的方法与两类最先进的基线进行了比较,即基于摄像机的高精地图构建方法,以及最初被设计用于实现基于BEV的3D目标检测的知识蒸馏方法。对于基于知识蒸馏的方法,我们实现了三种基于bev的三维目标检测方法,并针对高精地图构建任务进行了修改,分别是BEV-LGKD、BEVDistill和UnDistill。为了公平起见,我们使用与我们的方法相同的教师和学生模型。实验结果如表1所示。
消融实验:
三项知识蒸馏损失函数的影响:如表2所示,在模型变量(a)、(b)、(c)中,我们单独使用不同的蒸馏损失对学生分支进行训练。实验结果表明,与基线方法相比,三项损失函数均对模型表现出提升。此外,模型变量(d)、(e)、(f)证明了不同蒸馏损失项的结果是相互补充的。最终,将所有的蒸馏损失融合在一起,我们得到了完整的MapDistill结果,实现了53.6mAP的先进性能。
不同高精地图构建方法的消融研究:如表5(a)所示,为了探究MapDistill与不同高精地图构建方法的兼容性,我们综合对比了两种流行的方法,结果如表5a所示。其中,Teacher model-1和Teacher model-2分别是使用SwinTransformer-T的MapTR变体模型和最先进的MapTRv2模型。注意,两个学生模型都使用Resnet 18作为主干来提取多视图特征。实验结果表明,效果更好的教师模型将教出更好的学生模型。由于已完成预训练的教师模型已经获得了构建高精地图的宝贵知识,学生模型可以通过知识蒸馏技术(例如所提出的MapDistill)有效地利用这些知识,从而增强其执行相同任务的能力。此外,结果表明我们的方法对不同的教师模型都是有效的。
各种学生模型的消融研究:如表5(b)所示,为了探究MapDistill在不同学生模型下的泛化能力,我们综合考察了两种流行的骨干网络作为学生模型的骨干。其中Student model- i和Student model- ii是指学生模型分别采用Resnet50和SwinTransformer-T作为主干提取多视图特征。这里我们使用MapTR作为Teacher,即表1中的R50&Sec融合模型作为教师模型。实验结果表明,我们的方法始终能取得较好的结果,证明了方法的有效性和泛化能力。
可视化结果
如图4所示,我们比较了来自不同模型的预测,即基于相机-激光雷达的教师模型,没有MapDistill的基于摄像机的学生模型(基线方法),以及带有MapDistill的基于摄像机的学生模型。各模型的mAP值分别为62.5、45.9、53.6,如表1所示。我们观察到基线模型的预测有很大的不准确性。然而,采用MapDistill方法部分纠正了这些错误,提高了预测精度。
图4:nuScenes val 数据集的可视化结果。(a) 输入的6个视角图像。(b)GT (c)基于摄像头-激光雷达的教师模型的结果。(d)没有MapDistill的基于相机的学生模型的结果(基线)。(e)使用MapDistill的基于相机的学生模型的结果。
结论
在本文中,我们提出了一种名为MapDistill的新方法,通过相机-激光雷达融合模型蒸馏来提高只基于相机的在线高精地图构建效率,产生一种经济高效且准确的解决方案。MapDistill是建立在一个相机-激光雷达融合的教师模型,一个轻量级的只依赖于相机的学生模型,和一个专门设计的双流BEV转换模块。此外,我们还提出了一种包含跨模态关系蒸馏、两级特征蒸馏和地图任务头蒸馏的综合蒸馏方案,促进了不同模态内部和不同模态之间的知识转移,帮助学生模型获得更好的性能。大量的实验和分析验证了我们的MapDistill的设计选择和有效性。
局限性与社会影响:使用知识蒸馏策略,学生模式可以继承教师模式的弱点。更具体地说,如果教师模型是有偏见的,或者对不利的天气条件和/或长尾情景没有鲁棒性,那么学生模型可能表现得类似。MapDistill具有成本效益,在自动驾驶等实际应用中显示出巨大的潜力。