基于LiDAR的三维目标检测模型在雨天不可避免地会因为扫描信号的退化和噪声而遇到困难。先前的研究尝试通过模拟雨产生的噪声来提高检测模型的鲁棒性。 然而,模拟的和实际受雨干扰的数据点之间存在显著差异。在这项工作中,作者提出了一种新颖的雨模拟方法,称为DRET,它统一了动态和雨环境理论,以提供一种成本有效的方式来扩展用于三维检测训练的现实雨数据。 此外,作者提出了一种“晴朗到雨雾环境增强”(SRKD)方法,以提升雨天下的三维检测能力。 在Waymo-Open-Dataset上的大量实验表明,当结合最先进的DSVT模型和其他经典三维检测器时,作者提出的框架在未损失效率的情况下显著提高了检测精度。 值得注意的是,作者的框架同样也提升了晴朗天气下的检测能力,因此为无论天气是雨天还是晴朗,都能提供一种健壮的三维检测解决方案。
近年来,利用点云数据进行三维目标检测的研究兴趣日益增长。为了在自动驾驶等领域广泛应用,这些模型必须在多种环境下展现出稳健的性能。尽管在基准数据集上的三维目标检测已经取得进展,但在恶劣天气条件(例如,雨天)下实现一致且可靠性能仍是一个开放的挑战。
不幸的是,在雨天进行的三维目标检测研究在数据和方法的层面上都存在着重大挑战。在数据层面,一个紧迫的问题是数据稀缺。现有的数据集由于高昂的标注和收集成本,展现出的雨天样本数量非常有限。例如,在Waymo开放数据集(WOD)[34]的感知子集中,雨天样本仅占0.6%。这种短缺严重阻碍了在雨天进行三维目标检测的研究。雨天数据的质量低下妨碍了三维检测器。对WOD中的雨天点云分析揭示了两个关键现象:1) _密集雨噪声_。由于激光雷达的光脉冲无法穿透水粒子[11],导致由移动车辆产生的水滴产生了噪声。2) _缺失点_。在大气参数如衰减在雨天有显著差异的情况下,许多点低于激光雷达的强度阈值而被忽略。这些现象在晴朗和雨天数据之间造成了相当大的领域差距。健壮的雨天三维目标检测需要在数据和模型挑战上均有所应对。
先前的研究工作,包括LISA [13]和SPRAY [29],试图通过模拟不利天气条件来解决训练数据不足的挑战。尽管这些方法很有价值,但它们忽略了雨天环境理论和物体场景动态,导致模拟雨的真实性受限。例如,如图1所示,模拟雨点和真实雨点之间存在显著差距,特别是在LISA的情况下。SPRAY同样未能模拟在雨天场景中通常出现的缺失点现象。
除了创建真实的模拟之外,模拟数据的有效利用也同样重要。许多现有方法[23, 11, 26]只是简单地将模拟数据与训练数据结合起来,但这种方法往往在有效适应新雨环境方面存在不足。LDNet[37]设计了一个从晴朗天气到恶劣天气的知识蒸馏的创新理念。如果没有真实的雨模拟,这个概念无法被有效应用。此外,LDNet还忽略了不同天气条件之间的数据差异。只有充分解决雨天和晴天之间的差距,模型才能在多种天气条件下实现鲁棒性。
为了提高模型在雨天时的鲁棒性,作者在数据和模型两个层面提出了创新的方法。作者引入了DRET,一种统一了动态和雨天环境理论以生成逼真的雨数据模拟的方法。同时,作者还提出了SRKD,这是一个专门为雨天3D检测器设计的晴天到雨天的知识蒸馏框架。SRKD训练一个学生网络,使其从晴天的教师检测器中学习,提炼出在雨天条件下同一场景的知识。此外,作者还设计了一个噪音感知的预测修正模块,以有效处理与雨相关的噪声。
作者的框架具有很高的适应性,并且可以轻松地与各种3D检测器集成。如图2所示,在WOD上的大量实验验证了DRET和SRKD增强了所有3D检测器的雨中鲁棒性,同时没有牺牲效率。值得注意的是,它们还在晴朗条件下提高了检测器的性能,这可能是因为它们对稀疏物体的鲁棒性增加了。
作者的贡献是:(1) 作者分析了在雨天各种现象对3D目标检测的影响,并提出了一个新的方法DRET,以实现更真实的3D目标检测中的雨滴模拟。 (2) 作者设计了SRKD,一个通用的框架来解决直接从晴到雨蒸馏中由天气差异带来的挑战。它可以在不下损效率的情况下显著提高3D检测器在雨中的鲁棒性。 (3) 作者通过在先进的模型DSVT [10]以及其他经典3D检测器(包括PV-RCNN++和Voxel-RCNN)上进行大量测试,验证了作者提出方法的有效性和普遍性。
模拟雨水。 基于物理的模拟[23, 26, 11, 13]已经被探索用于在恶劣天气条件下(如雪和雾)再现点云。这些方法在一定程度上帮助缓解了数据稀缺的问题,但它们在模拟雨天方面并不完全有效。例如,LISA [13] 采用了一种依赖于激光雷达光散射增强的降雨模拟算法,但它忽略了雨天密集雨噪声的影响。SPRAY [29] 利用动力学模拟由车辆在雨中引起的水花效果,但由于缺乏扎实的物理理论,它未能准确地模仿溅水的实际分布。因此,这些模拟的雨天数据集与实际的雨天条件之间仍然存在较大的差异。
3D目标检测。 当前的3D目标检测方法主要关注于晴朗的天气条件,并且可以分为单阶段和双阶段方法。单阶段方法,如SECOND [20],PointPillars [33],SA-SSD [19]和SE-SSD [21],采用基于 Voxel (voxel)的稀疏卷积或基于点的集合抽象进行特征提取。在双阶段算法中,Voxel-RCNN [33],SFD [22]和VirConv [32]使用基于 Voxel 的稀疏卷积,而PointRCNN [16]和STD [30]则使用基于点的集合抽象。值得注意的是,PV-RCNN [17],CT3D [8]和PV-RCNN++ [18]在双阶段方法中结合了基于 Voxel 和基于点的操作。DSVT [10]引入了一种高效且可部署的3D Transformer (transformer)主干网络,在WOD上实现了最先进的表现。知识蒸馏已经在3D目标检测中进行了探索,包括SparseKD [27],它研究轻量级模型,以及其他工作[5, 6]尝试从多模态/多帧模型到单模态/单帧模型的蒸馏。然而,这些主流方法在雨中仍然缺乏鲁棒性。
在恶劣天气下的3D目标检测。 近期的研究,如[9, 7],引入了轻量级方法,采用诸如语义分割或过滤算法等技术来移除密集噪声,从而最小化其对检测模型的影响。然而,这些方法在很大程度上依赖于去噪模型的性能,导致检测结果不稳定,而且它们没有考虑到雨天缺失点的问题。[28]设计了一个通用的补全框架,解决了在不同天气和环境条件下领域适应的问题。在包含大量雨天数据的WOD领域适应数据集上,它取得了令人鼓舞的改进。但是,它仅关注缺失点的现象,忽视了其他现象的影响。
与数据限制和模型适应性相关的挑战,在雨天条件下对稳健的目标检测构成了重大障碍。因此,这项工作提出了两种主要方法:一种是模拟真实的雨,另一种是针对雨天环境定制的新目标检测。如图3所示,作者引入了DRET(a),这是一种生成更准确、更逼真的模拟雨数据以供检测器训练的方法。此外,作者还提出了SRKD(b),这是一个通用框架,可以在不牺牲效率的前提下,增强检测器在雨天条件下的鲁棒性。
雨模拟模型接收一个晴朗的点云数据
作为输入,并生成一个模拟的雨天点云
。现有的模拟模型,如SPRAY [29]和LISA [13],并没有在一个统一流程中同时考虑动态粒子模拟和雨天环境理论。作者提出了一种新的集成两阶段模拟方法。如图3(a)所示,第一阶段使用Unity3D引擎来模拟动态飞溅。它还利用Perlin噪声[35]来复制风干扰。然而,这种粒子模拟本身并没有考虑到雨粒子的激光雷达反射强度。因此,作者额外引入了一个第二阶段,根据雨天环境理论[13, 11]执行场景处理,以解决这一限制。
在第一阶段,类似于SPRAY [29],作者利用动态粒子系统中的粒子发射器来模拟移动车辆引起的水花。作者融入了三种溅水机制:船首波(BW)、侧波(SW)和胎纹溅起(TP),这些机制遵循SPRAY的方法。但与SPRAY不同,作者使用Perlin噪声在
、
和
轴方向引入随机加速度。这一额外设计更好地模仿了风扰动,并为雨滴粒子的真实行为提供了更广泛的范围。
在初始阶段之后,作者获得了多组雨滴粒子。然而,像在SPRAY方法中那样直接将它们合并到晴天的点云中并不是一个好主意。因为这样做会导致雨滴粒子上缺少激光雷达强度信息,原始点的强度也没有针对雨天条件进行调整。因此,在第二阶段,作者引入了一个额外的场景处理步骤,该步骤基于雨天环境理论。
在执行场景处理之前,作者收集了数据集中使用的激光雷达(LiDAR)的位置、数量、倾斜度和最大距离参数。这些参数用于在点云数据
与雨滴集合
之间建立一个对应关系。这为作者提供了匹配的成对集合
,其中每一对点都来自同一激光束的反射。
接下来,与LISA随机生成雨粒子的方式不同,作者采用了更真实的雨粒子集合
来处理场景。作者还从雾模拟[11]中采用了更精确的公式。具体来说,对于一个匹配对
,其中
是一个具有反射强度
和距离
的点,而
是一个具有距离
的雨粒子,作者使用以下方式计算
的强度
。
在以下文本中,
是传感器的光学参数,
是点的差分反射率,
是散射率,
是衰减系数,
是光速,
是半功率脉冲宽度,
是单位阶跃函数。
计算是通过使用Simpson的1/3法则进行数值积分来完成的。
在计算出点
的强度
之后,作者使用
替换数据集
中的
,以模拟真实雨中密集噪声的遮挡效果。这个过程产生了一个新的点云
。然后,按照LISA [13]的方法,作者调整
中原始晴朗天气点的部分,以反映雨天条件。作者收集那些激光雷达接收功率
超过最小激光雷达接收功率
的点,以获得模拟的雨天点云
:
其中
,
,而
是激光雷达的最大距离。
与其他雨模拟方法的比较。作者分别使用LISA [13]、SPRAY [29]和作者的DRET方法模拟了10k雨点云数据。然后,作者分析了这些模拟数据与真实雨数据之间的平均强度差(见图4(a))。SPRAY在强度上与真实数据存在严重差距,这主要是因为前面提到的缺少雨粒强度计算和原始清晰点校正。尽管LISA在清晰点上的强度差距似乎较小,但这是由雨率参数随机化引起的波动。在噪声和所有点上,作者方法的强度差距显著小于LISA,特别是在所有点上。通过分析沿距离的平均点差距(见图4(b)),作者还可以发现SPRAY存在巨大差距,因为它不能过滤掉接收功率低的点。而LISA在30-40米的点差距较小,但整体点差距波动很大,总体差距明显大于作者的方法。相比之下,作者的模拟数据在强度差距和点差距上都较小,表明作者的方法更为真实。
总之,作者的DRET模拟方法可以提供大量的真实模拟雨数据,从而扩大了在雨中研究健壮的3D目标检测的可能性。
Awid.将晴朗天气下的实例蒸馏为雨天下的实例,可以帮助学生从难以区分和稀疏的目标中高效提取特征。然而,按照[5, 6]的方法,直接从晴朗天气的教师实例蒸馏特征到雨天学生实例,由于晴朗和雨天目标变化之间的差距,提出了一个巨大的挑战。通过比较分析晴雨条件下实例的数据,作者发现实例的变化主要体现在密度和形状的差异上。为了克服这一挑战,作者提出的AWID利用相应晴朗和雨天目标之间的相似性作为实例特征的蒸馏权重。作者自适应的加权减少了由于不同天气条件下密度和形状变化引起的域差距。相似性权重包括两个部分:密度相似性和形状相似性。对于晴朗和雨天条件下的一个 GT 目标框
,具有点云
和
,分别由
和
个点组成,密度相似性
是:
设置
= 1e-6 防止除以零。然后通过 Chamfer 距离
[36] 计算形状相似性
:
结合方程3和方程4,作者得到相似性
:
因此,作者可以通过使用相似度
作为权重,将晴朗天气下的每个框的实例特征知识转移到雨天:
在本文中,
代表真实边界框;
是第
个实例特征,上标
分别代表晴朗和雨天条件。
作者的AWID在晴朗到雨天知识提炼方面大有帮助。然而,它仍然特定于两阶段工作中的RoI Head ,并且缺乏全面性。同时,作者期望模型能够对同一场景在晴朗和雨天天气下预测出一致的结果。
为了解决剩余的挑战,作者引入了响应蒸馏作为一种经典的蒸馏方法[27]。这种方法促进了晴朗天气下的教师模型和雨天下的学生模型在预测上的一致性。作者将重点放在教师模型输出中那些置信度超过阈值
(0.5)的位置,旨在防止已经难以识别的晴朗物体产生负面影响。具体来说,在估计的前景位置
:
其中上标
和
分别表示雨学学生和晴教老师;
和
分别代表分类和边界框回归预测;
是sigmoid函数;
过滤掉老师的分类输出,专注于高置信度的预测;
和
分别是分类和回归响应精炼损失。通过结合方程7和方程8,可以得到总精确响应精炼损失为:
在公式中设置
= 15,
= 0.2,依据[27]。
Napc.前面的模块通过晴朗到雨天蒸馏提高了模型在雨天条件下的鲁棒性。然而,这种隐式处理单独并不能有效地减少由密集雨噪声引起的误报。由车辆轮胎高速运动引起的飞溅产生的雨噪声在实例周围分布得非常严重。作者利用模拟雨天数据的关键优势,它提供了用于纠正预测不准确性的完整的雨噪声标签。作者引入了一个噪声感知预测校正头,NAPC,它专注于抑制雨噪声。对于一个具有
个点(包括
个噪声点和
个非噪声点,
)的预测框
,噪声比例
计算如下:
其中
= 1e-6 是一个很小的常数,用来防止除以零。噪声感知预测校正损失
计算如下:
其中
代表预测的边界框,而
是第
个预测边界框的置信度。
总体损失函数。作者在保持预训练的晴朗教师模型固定不变的同时训练雨中学生模型(见图3),并采用以下监督损失和蒸馏损失:
其中
是分类损失,
是回归损失;
,
和
是超参数。
作者在Waymo开放数据集(WOD)[34]上对所提出的DRET和SRKD进行了评估。为了展示在雨天条件下3D检测的有效性,作者比较了最先进的模型DSVT [10]以及PV-RCNN++ [18]、Voxel-RCNN [33]的性能。
数据集。WOD包含两个子集:感知(WOD-P)和领域适应(WOD-DA)。WOD-P包含约158k个训练帧和约40k个验证帧,主要是晴朗天气条件(99.4%)。作者直接将WOD-P的验证集用于晴朗天气的测试。WOD-DA包含了多种天气条件,如雾天、多云和雨天。对于作者的雨天测试,作者选择了约3k个雨天帧进行雨天测试。所有模型的训练过程只使用了WOD-P的训练集。
指标。WOD的官方指标是平均精度(mAP(L1), mAP(L2))以及带方向的平均精度(mAPH(L1), mAPH(L2)),其中L1和L2表示难度 Level 。此外,对于WOD-DA,只有车辆和行人类别具有用于评估的标注标注。
实现与训练细节。作者使用两次激光雷达返回和一个单帧来训练模型。每个 Baseline 的具体实现和训练细节在附录材料中提供。在DRET中,作者使用了遵循[11]和[13]的大气参数。在SRKD框架中,作者设置了超参数
,
, 和
(方程12)分别为2.0, 0.5, 和 2.0。
作者进行了三个模型比较组。这些模型基于DRET增强(DRET-Aug)在WOD-P训练集上进行训练,并在WOD-P验证集以及WOD-DA的雨天数据上进行评估。
在雨天环境下的性能比较。作者首先在WOD-DA上评估了雨天表现。表2显示作者提出的DRET-Aug和SRKD显著提升了所有3D检测器在雨中的性能。使用DRET-Aug增强的SRKD训练,Voxel-RCNN,PV-RCNN++和DSVT在All(L2-mAP)上分别实现了4.3%,3.0%和3.2%的改进。值得注意的是,所有检测器在行人类别上都显示出显著的增益,特别是Voxel-RCNN在Ped.(L2-mAP)上实现了显著的6.5%的改进。这证明了作者框架在雨天改善具有挑战性的小目标检测的能力。结果表明了作者设计的有效性和广泛适用性。
在晴朗天气下的性能比较。与现有方法[31, 25]仅关注恶劣天气下的性能相比,保持晴朗天气下的性能也同样重要。表3显示,作者的框架在晴朗条件下也略微提高了3D检测器的性能。性能提升主要来自于增强了对稀疏和难以区分物体的鲁棒性处理。
结果再次通过分析从模拟数据中获得的雨天性能,证明了DRET的现实性。
主要论文提到了“浓密雨噪声”和“缺失点”这两个雨天点云中的关键现象。为了更清楚地理解这两个现象,作者在WOD-DA中可视化了三个雨天点云,如图6所示。同时,作者用橙色方框标出了“浓密雨噪声”发生的区域,用紫色方框标出了“缺失点”发生的区域。
正如在主论文中先前讨论的,雨天条件显著降低了3D检测器的准确性和召回率。为了探究作者提出的DRET-Aug和SRKD方法是否解决了这个问题,作者在Voxel-RCNN上用作者提出的方法进行了与论文中表1相同的测试。表9的结果显示,在各个IoU阈值下,采用提出的DRET-Aug和SRKD对所有指标都带来了显著的提升。特别是当IoU阈值分别为0.5和0.7时,DRET-Aug和SKRD将Voxel-RCNN的精度提高了5.6%,召回率提高了2.9%。这些实验表明,作者的DRET-Aug和SRKD有效减少了在雨中增强3D目标检测时的假阳性和假阴性。这个结果同样可以在图7中进一步观察到,可以发现在添加了作者的方法后,基准3D检测器在雨中的鲁棒性得到了显著增强。
表9展示了作者方法的精确度和召回率改进,旨在呼应作者的动机。遵循审稿人的建议,作者也进行了更详细的消融研究,以进一步证明AWID和NAPC的有效性。以下是在20%训练数据和
阈值为0.3的条件下的结果:
表10是对主论文实验实现及训练细节的详细补充。代码实现基于OpenPCDet项目中相应3D检测器的开源代码。此外,其余的训练细节在表10中展示。
作者测试了单阶段的DSVT和双阶段的PV-RCNN++。下面,作者将展示在训练阶段产生的计算和内存成本。
结果表明,作者的SRKD方法确实会产生额外的计算和内存开销,但由于教师模型不需要梯度计算和内存优化,因此额外的开销并不大。此外,在推理阶段,由于作者只使用学生模型,并且不计算损失,因此不会产生额外的计算和内存开销。
[1].Sunshine to Rainstorm: Cross-Weather Knowledge Distillation.