论文链接:https://arxiv.org/pdf/2205.14951.pdf
代码链接:https://github.com/kcyu2014/lidar-camerarobust-benchmark.
自动驾驶中有两个关键的3D感知传感器,即camera和激光雷达。相机提供丰富的语义信息,如颜色、纹理,而激光雷达则反映周围目标的3D形状和位置。人们发现,融合这两种模式可以显著提高3D感知模型的性能,因为每种模式都有相互补充的信息。然而当前数据集是从专为数据收集目的而设计的车辆上获取的,由于各种原因,无法真实反映实际的数据分布。为此,论文收集了一系列具有噪声数据分布的真实世界案例,并系统地制定了一个健壮性基准工具包,该工具包可以在任何干净的自动驾驶数据集上模拟这些案例。通过在两个广泛采用的自动驾驶数据集nuScenes和Waymo上建立鲁棒性基准,论文展示了提出工具包的有效性,这是首次对最先进的融合方法进行了整体基准测试。
论文观察到:
- i) 当激光雷达输入中断时,仅根据这些数据开发的大多数融合方法往往不可避免地失败;
- ii)camera输入的改进明显低于激光雷达;
论文进一步提出了一种有效的鲁棒训练策略,以提高当前融合方法的鲁棒性。
应用背景介绍
3D检测作为自动驾驶场景中的基本任务之一受到广泛关注。最近,融合camera和激光雷达传感器输入的模式,已成为3D检测领域的标准,因为每种模式都有彼此的补充信息。与计算机视觉领域的其它文献类似,验证融合方法有效性的一种常见方法是在现有基准数据集上验证,这些基准数据集通常是从明确设计的昂贵数据收集工具收集的,以最小化硬件设置的任何潜在错误。然而由于各种原因,这些流行数据集的数据分布可能与实际驾驶场景有很大不同:i) 可能存在无法控制的外部原因,例如飞溅的灰尘或BIOS故障,暂时禁用某些传感器的输入;ii)由于外部和内部原因,如道路颠簸或系统时钟失调,输入可能难以同步。
因此,无法在这些实际设置下评估方法的性能,并且在部署到实际场景时,仅评估这些干净的数据集是不可靠的。为此,论文提出了一个新的工具包,将任何干净的基准数据集(包含相机和激光雷达输入模式)转换为一个健壮的基准,以模拟真实场景,从而缩小了这一研究差距。首先根据真实的驾驶数据,对相机和激光雷达的潜在传感器噪声情况进行了系统概述。具体来说,在三个类别下确定了七种独特的情况,其中两种用于有噪声的激光雷达情况,两种用于噪声相机情况,三种用于不同步情况。然后,仔细研究每个案例,并构建一个代码工具包,将干净的数据转换为实际的数据分布。
为了验证方法的有效性,论文将工具包应用于两个大规模流行的自主驾驶基准数据集nuScenes和Waymo。论文收集了两种单一模式和三种最先进的融合方法,并在生成的数据集上对其进行基准测试。在图1(b)中观察到几个令人惊讶的发现:i)当激光雷达传感器因其融合机制严重依赖激光雷达输入而发生故障时,最先进的融合方法往往不可避免地失败;ii)融合相机输入只带来了微小的改进,这表明要么当前方法无法充分利用来自相机的信息,要么相机信息没有按照直觉携带互补信息。请注意,该工具箱一次只生成一个失败案例,不会创建同时出现多个故障的健壮基准。尽管这项工作的主要目的是创建一个健壮性基准,但论文还是提供了一个简单的方法,可以在这些健壮性场景中微调模型,并表明它适度地提高了当前方法的健壮性。论文认为融合框架的一个理想目标是当只有一个模态传感器发生故障时,其性能不应比其他模态的方法差。否则,应使用两个单独的网络来代替当前的融合方法。
前期的一些工作
3D检测中的融合方法
激光雷达和相机是两种互补的传感器,用于自动驾驶中的三维目标检测,本质上,LiDAR传感器以稀疏点云的形式提供周围世界的精确深度和形状信息,而相机传提供基于RGB的图像,包含丰富的语义和纹理信息。最近,融合这些模式以利用互补信息成为3D检测领域的标配。根据融合机制的位置,这些方法可分为前融合、特征融合和后融合方案三类。前融合方法主要是将图像特征连接到原始激光雷达点,以增强表示能力。这些方法依赖于LiDAR到世界坐标系和相机到世界坐标系的转换矩阵来在图像平面上投影LiDAR点。特征融合方法在一个统一的空间下,从一些预先训练的神经网络中提取两种模式的深度特征,其中一种流行的空间选择是鸟瞰图。虽然前融合和特征融合机制通常都发生在神经网络pipeline中,但后融合方案通常包含两个独立的感知模型,以生成两种模式的3D预测框,然后使用后处理技术融合这些预测[4,21]。这些工作的一个好处是它们对单模态输入故障的鲁棒性,然而,由于后处理技术通常是不可微的,因此很难联合优化这一系列方法,此外,这个由于需要维护三个独立的模块,pipeline的部署成本可能更高。
激光雷达相机融合的鲁棒性
自动驾驶领域缺乏用于鲁棒性分析的基准数据集,对于融合方法的鲁棒性问题,目前只进行了一些初步尝试。TransFusion评估了三种场景下不同融合策略的稳健性:将验证集拆分为白天和夜间,随机丢弃每个帧的图像,错位激光雷达,以及通过将平移偏移量随机添加到从相机到激光雷达传感器的变换矩阵来校准相机。然而,TransFusion主要研究对摄像机输入的鲁棒性,忽略了有噪声的激光雷达和时间偏差情况。DeepFusion通过向LiDAR数据和相机像素添加噪声来检查模型的鲁棒性。尽管DeepFusion的噪音设置简单明了,但噪音几乎从未出现在真实场景中。相比之下,本文系统地审查了自动驾驶感知系统,并在总共七种鲁棒性场景中确定了三类,提出了一个工具包,可以将现有数据集转换为鲁棒性基准。一个理想的融合框架应该比一个单一的模式工作得更好,而不会比另一个模式失败时的单一模式模式差。论文希望特征融合方法优于使用后处理技术的后融合方法。
鲁棒的融合benchmark
论文首先对当前使用激光雷达和摄像头传感器的自动驾驶车辆系统进行了系统概述,以说明为什么清洁数据集的数据分布可能与真实场景不同。这些噪声数据情况可分为三大类:有噪声激光雷达、有噪声相机和不同步情况。然后介绍了一个工具包,它可以将当前的干净数据集转换为现实场景。
现代自动驾驶车辆系统综述
上图将自动驾驶感知系统的通用设计可视化,该系统的主要部件包括camera和LiDAR传感器,以及一台设备上的计算机。具体来说,摄像机和激光雷达传感器实际安装在车辆的某些固定位置,并通过具有通信协议的特定电缆连接到计算机。本质上,计算机可以访问来自传感器的数据流,并将数据捕获到具有特定时间戳的点云或图像中。由于原始数据位于传感器坐标系中,传感器标定在执行有效的坐标转换中起着重要作用,以便感知系统能够识别与自我-汽车坐标系相关的目标。根据经验,上述系统的每一步都可能遇到某些故障或中断,并产生与正常干净数据截然不同的噪声数据。论文确定了三类案例,并在表1中简要讨论了潜在原因和后果,随后提供了详细的案例分析。
噪声Lidar数据
主要确定了两种常见的情况,这两种情况在实践中可能会导致激光雷达数据产生噪声。有限的激光雷达视场(FOV),虽然大多数公司收集的激光雷达数据视野为360度,但由于各种原因,某些激光雷达数据可能并不总是可用的。例如,如图3右侧所示,某类车辆仅在车顶上安装前向半固态激光雷达传感器,而不使用全机架。另一个常见原因可能是激光雷达传感器暂时堵塞,在不损失通用性的情况下,论文首先将LiDAR点的坐标从欧氏坐标系(在x,y,z中)转换为极坐标系(r,θ,z)。然后,可以通过删除满足θ的点来模拟这种有限的视野∈ (−θ0, θ0)。在实践中,将θ0设置为0、60和90度,以模拟三种常见场景。
LiDAR目标故障,人们往往忽视的一个常见情况是,激光雷达在某些限制条件下可能无法识别物体。图4中展示了商业化自动驾驶系统上捕获的真实数据一个示例。可以观察到,激光雷达点云与两辆并排的汽车截然不同,在这两辆汽车中,黑色汽车的点几乎为零,而白色汽车的点分布是正态的。称这种现象为激光雷达目标故障。在不损失通用性的情况下,论文通过在边界内随机丢弃点来模拟此类场景(概率为0.5),请注意,论文不会更改相机输入,因为目的是对单个成像设备输入数据进行基准测试。
噪声Camera数据
与LiDAR模块不同,camera模块通常安装在自动驾驶车辆的较低位置,以覆盖LiDAR传感器的盲区。这种盲区是因为激光雷达通常安装在汽车顶部,以最大化可视距离,而由于堵塞,它无法看到附近的汽车区域。因此,相机很容易受到周围环境的影响,例如临时通用东西覆盖或镜头遮挡灰尘,论文详细讨论了这两个场景。
缺少camera输入。由于相机模块通常比LiDAR传感器小得多(一厘米以内),因此覆盖一半相机传感器的可能性极小。因此,我们丢弃整个相机输入来模拟这样的覆盖场景。在实践中,设计了两个更精细的案例来执行可靠的基准测试,一次丢弃一个摄像头,并丢弃除前一个以外的所有其他摄像头。
相机镜头遮挡。另一个常见的相机覆盖问题是由不透明液体或污垢引起的镜头遮挡,为了模拟真实场景中相机镜头的遮挡,论文将泥点喷洒在透明胶片上,并覆盖相机镜头上的脏胶片,以便在白色背景上拍摄照片。然后,我们采用一种图像抠图算法,在图像中剪切出背景部分,并分离出泥点的掩模。最后,将分离的遮罩粘贴到nuScene或Waymo的图像上,以模拟其相机镜头的遮挡,如图5所示。此外,喷射不同大小的泥点,并随机移动和旋转胶片,以创建具有不同遮挡区域和遮挡范围的遮挡mask,以增强多样性。
同步噪声
如图2所示,当数据流被传递到设备上的计算机时,首先将其固定到具有给定时间戳的数据帧中,然后需要通过摄像机到世界和激光雷达到世界矩阵执行坐标变换,这是通过校准获得的。然而,这会导致两个潜在的不同步问题,即由于校准矩阵的外部原因导致的空间偏差,以及由于内部系统原因导致的激光雷达和相机数据的时间偏差。
空间错位。车辆的颠簸和晃动会导致相机外部参数的扰动,并导致激光雷达与摄像机输入之间的空间失调。此外,当车辆里程增加时,此类错误可能会累积。为了模拟这种情况,论文将随机旋转和平移噪声单独添加到每个相机的校准中,噪声旋转角度范围为0◦ 到5◦,平移范围从1cm到5cm,以符合真实场景中的噪声范围。传感器校准偏差将导致点云和图像之间的空间偏差,如图6所示。
时间错位。在实际的自动驾驶系统中,系统部件的故障在整个过程中都很常见。一个明显的后果是,两种模式的时间戳可能并不总是一致的。在一些罕见的情况下,根据不同的系统实现,一种成像设备的数据帧可能会停滞一分钟以上。在这里,论文详细模拟了这种时间错位,并在图7中提供了一个说明。最初,本文根据所有帧中卡住帧的百分比应用了九个严重级别。结果表明,3D检测方法的性能下降与卡住帧的百分比呈线性关系。因此,为了减少基准测试的负载,只考虑卡住帧占所有帧的50%的情况作为最终基准设置。
将通用自动驾驶数据集转换为鲁棒性基准的工具包
为了消除基准比较的随机性,论文组成了一个工具包,可以将任何自动驾驶数据集转换为鲁棒性基准。本质上只通过改变图像和激光雷达数据来模拟噪声数据情况,gt注释将保持不变,因为当传感器发生故障时,物体在周围世界中的三维位置不会改变。为了促进未来的研究,论文利用了两个流行的大规模自动驾驶数据集nuScenes和Waymo,并对最先进的方法进行了基准测试,新创建的健壮性基准称之为nuScenes-R和Waymo-R。
基础测试的一些方法
论文研究并评估了现有流行的LiDAR相机融合方法,并在提出的基准上开放源代码,包括PointAugmenting、MVX Net和TransFusion。此外,为了更好地进行比较还评估了仅使用激光雷达的方法CenterPoint和仅使用相机的方法DETR3D。值得注意的是,waymo数据集的指标重点是IoU。然而,对于基于Camera的方法来说,严格计算3D边界框的IoU是相当困难的。因此,将IoU阈值降至0.3,并在Waymo日期集上报告DETR3d的车辆类别!
通常,现有方法在论文的稳健融合基准上表现不佳,如表2所示,还有很大的改进空间。特别是,对于表3所示的所有激光雷达相机融合方法,激光雷达的鲁棒性比相机的鲁棒性差。在本文研究的LiDAR相机融合方法中,TransFusion实现了整体最佳的鲁棒性。值得注意的是,TransFusion对相机噪声的鲁棒性出乎意料地出色。在nuScenes-R上,对于相机故障和错位情况,TransFusion的平均NDS仅从70.9降至70.1。然而,TransFusion对激光雷达噪声的鲁棒性比其他融合方法差。我们推测,这主要是因为相机信息对TransFusion的影响很小,融合相机信息时,只有轻微的改进(nuScenes上1.5 NDS)。因此,当相机信息丢失或有缺陷时,TransFusion的整体性能不会受到影响。
在论文的基准上比较激光雷达相机融合方法与单模态方法的性能时,发现所有融合方法在激光雷达和相机模态上都比单模态方法具有更强的鲁棒性。这表明,当遇到不完美的单模态输入时,融合方法可以利用另一模态信息来增强特征并预测最终输出。
更详细的噪声数据分析
Noisy LiDAR Data
有限的激光雷达视野。论文调查了激光雷达在角度范围内以有限视野指向的情况(−π/3, π/3), (−π/2,π/2)和(−0, 0). 角度范围(−0,0)是LiDAR传感器完全损坏的极端情况。结果如表4所示。对于仅激光雷达和融合方法,它们的性能在三种情况下都会大幅下降。特别是,在所有激光雷达点都丢失的极端情况下,当前的融合方法无法预测任何物体,如仅使用激光雷达的方法。因此,对于现有的融合方法,激光雷达模态是主要模态,相机模态是辅助模态。现有融合方法的预测结果在很大程度上依赖于激光雷达信息。在融合鲁棒性方面还有很大的改进空间。只要存在单模态输入,理想的融合模型仍应有效。
LiDAR对象故障。激光雷达目标失效案例的结果如表5所示。可以发现,在50%的概率下,目标的所有点都会掉落,仅激光雷达和激光雷达相机融合方法的性能都会大约降低一半。这表明当前的融合方法在缺少前景LiDAR点时无法工作,即使图像中出现了目标。从另一个角度来看,它表明,对于当前激光雷达相机融合方法的融合机制,相机信息没有得到很好的利用。融合过程仍在很大程度上依赖激光雷达信息。
Noisy Camera Sensor
缺少camera输入。在缺少camera输入的情况下,论文考虑了安装在不同位置的多个摄像头组合,并在表6中报告了结果,可以发现缺少的前摄像头或后摄像头(对于nuScenes)对检测结果有较大影响。当除前摄像头外的所有摄像头都丢失时,nuScenes-R和Waymo-R上的PointAugmenting和TransFusion性能下降不超过50%。这表明,PointAugmenting和TransFusion对相机噪声的鲁棒性要比其他两种方法好得多。此外,Waymo-R上的性能降级比nuScenes-R上的要小得多,这表明在不同数据集上的鲁棒性不同。
相机镜头堵塞。相机镜头脏的情况下的结果如表7所示。可以发现与之前缺失的camera输入实验相比,所有方法都具有较差的性能。现代的深度学习方法似乎类似于黑色图像,而不是封闭的图像。这为设计更好的图像特征抽取器以解决鲁棒性问题提供了一个潜在的新研究方向。
同步噪声
空间错位。对于空间失调,噪声旋转和平移矩阵对融合模型的影响与相机传感器故障情况的影响相当,如表8所示。我们发现TransFusion是最可靠的,与清洁设置相比,DETR3D对空间偏差最敏感。
时间错位。对于时间错位,论文研究了9个严重级别,其中固定帧在所有帧中的比例在常规步骤中从10%到90%不等。结果如图8所示。可以观察到一种趋势,即在离散选择和连续选择中,所有方法的性能下降与所有帧中卡住帧的百分比呈线性关系。因此,为了降低评估成本,只选择卡住的帧占所有帧的50%的情况,其值大约等于9个严重级别的平均值。有趣的是,尽管TransFusion在相机卡住帧的情况下表现良好,但可以观察到,当激光雷达卡住帧比率增加时,TransFusion的性能下降速度比其他融合方法快,这表明它比其他融合法更灵敏。
一些讨论
论文提供了一种简单的基线方法,可以将工具箱视为一种数据增强方法,以丰富训练数据,这是作为提高性能鲁棒性的第一次尝试。具体来说,使用工具箱来转换训练数据。与评估不同,在评估中,再现性是必须的,可以在训练期间随机生成相应的噪声数据。然而,在实践中发现将所有数据转换为有噪格式将在没有此类噪声的情况下显著降低性能。为此,本文在训练期间提出了一种级联增强策略:i)如果随机采样的浮点数大于增强概率,则继续,否则使用正常的干净数据;ii)根据概率分布从所有鲁棒性情况中抽取一个变换,然后用变换处理数据。
论文选择MVXNet来研究我们的方法的有效性,因为它具有最平衡的LiDAR和相机性能,在表9中报告结果。可以观察到,尽管应用这种健壮性训练会略微降低干净数据集的性能,但它会显著提高鲁棒性,其中nuScenes-R上的mAP和NDS的平均稳健性R从0.63和0.81提高到0.69和0.84,Waymo-R上的L2 mAP和mAPH从0.74提高到0.80。然而,仍然可以看到稳健的基准和干净的基准之间存在很大差距,这表明在这一研究方向上存在实际的研究差距。
原文首发微信公众号【自动驾驶之心】:一个专注自动驾驶与AI的社区(https://mp.weixin.qq.com/s/NK-0tfm_5KxmOfFHpK5mBA)