论文链接:https://arxiv.org/abs/2004.05224
他们评价了基于相机-激光雷达融合的深度补全、对象检测、语义分割和跟踪方向的最新论文,并根据其融合层级进行组织叙述并对比,最后讨论了当前学术研究与实际应用之间的差距和被忽视的问题。基于这些观察,作者提出了自己的见解及可能的研究方向。
背景
基于单目视觉的感知系统以低成本实现了令人满意的性能,但却无法提供可靠的3D几何信息。双目相机可以提供3D几何信息,但计算成本高,且无法在高遮挡和无纹理的环境中可靠地工作。此外,基于视觉的感知系统在光照条件复杂的情况下鲁棒性较低,这限制了其全天候能力。而激光雷达不受光照条件影响,且能提供高精度的3D几何信息。但其分辨率和刷新率低,且成本高昂。
相机-激光雷达融合感知就是为了提高性能与可靠性并降低成本,但这并非易事。首先,相机通过将真实世界投影到相机平面来记录信息,而点云则将几何信息以原始坐标的形式存储。此外,就数据结构和类型而言,点云是不规则、无序和连续的,而图像是规则、有序和离散的。这导致了图像和点云处理算法方面的巨大差异。在图1中,我们比较了点云和图像的特性。
趋势,挑战和未来研究方向
无人驾驶汽车中的感知模块负责获取和理解其周围的场景,其输出直接影响着下游模块(例如规划、决策和定位)。因此,感知的性能和可靠性是整个无人驾驶系统的关键。通过摄像头-激光雷达融合感知可以加强其性能和可靠性,改善无人驾驶车辆在复杂场景下的感知(例如城市道路、极端天气情况等)。因此在本节中,我们总结总体趋势,并讨论这方面的挑战和潜在影响因素。
如表IV所示,我们将讨论如何改善融合方法的性能和鲁棒性,以及与工程实践相关的其他重要课题。如下是我们总结的图像和点云融合的趋势:
- 2D到3D:随着3D特征提取方法的发展,在3D空间中定位、跟踪和分割对象已成为研究的热点。
- 单任务到多任务:一些近期的研究[64] [80]结合了多个互补任务,例如对象检测、语义分割和深度完成,以实现更好的整体性能并降低计算成本。
- 信号级到多级融合:早期的研究经常利用信号级融合,将3D几何图形转换到图像平面以利用现成的图像处理模型,而最近的模型则尝试在多级融合图像和点云(例如早期融合、晚期融合)并利用时间上下文。
与性能相关的开放研究问题
1、融合数据的特征/信号表示形式(Feature/Signal Representation):
融合数据的Feature/Signal Representation是设计任何数据融合算法的基础。当前的特征/信号表示形式包括:
- 在RGB图像上的附加深度信息通道(RGB-D)。此方法由于可以通过现成的图像处理模型进行处理,因此早期的信号级融合常使用这种表达形式。但是,其结果也限制于2D图像平面,这使其不适用于自动驾驶。
- 在点云上的附加RGB通道。此方法可以通过将点投影到像平面进行像素点关联来实现。但是,高分辨率图像和低分辨率点云之间的分辨率不匹配会影响此方式的效率。
- 将图像和点云特征/信号均转换为其他的数据表示形式(intermediate data representation)。当前的intermediate data representation包括:体素化点云(voxelized point cloud)[75]、晶格(lattice)[88]。未来的研究可以探索其他新颖的中间数据结构,例如图(graph)、树(tree)等,从而提高性能。
2、加入几何约束(Encoding Geometric Constraint):
与其他三维数据源(如来自立体相机或结构光的RGBD数据)相比,LiDAR有更长的有效探测范围和更高的精度,可提供详细而准确的3D几何形状。几何约束已成为图像和点云融合流程中的常识,它提供了额外的信息来引导深度学习网络实现更好的性能。将点云以RGBD图像的形式投影到图像平面似乎是最自然的解决方法,但是点云的稀疏性会产生空洞。深度补全和点云上采样可以在某种程度上解决该问题。除此之外,利用单眼图像预测深度信息以及在连续帧之间引入自我监督学习,也有望缓解这个问题。但是,如何将这种几何信息加入到融合流程中仍是当前研究实践中尚需解决的问题。
3、加入时间上下文(Encoding Temporal Context):
还有一些工程问题阻碍了无人驾驶汽车的实际部署,例如LiDAR与摄像头之间的时间不同步、LiDAR的低刷新率导致车速高时的点云变形、LiDAR传感器测距误差等。这些问题将导致图像与点云、点云与实际环境之间的不匹配。根据深度补全方面的经验,可以采用连续帧之间的时间上下文来改善姿态估计,从而改善特征融合的性能并使得下游的header网络受益。在自动驾驶中,准确估算周围车辆的运动状态至关重要,时间上下文有助于获得更平滑、更稳定的结果。此外,时间上下文可能有益于在线自校准。因此,应对加入时间上下文进行更多的研究。
4、深度学习网络结构设计:
要回答这个问题,我们首先需要回答点云的最佳深度学习网络结构是什么。对于图像处理,CNN是最佳选择,并已被广泛接受。但点云处理仍然是一个开放的研究问题。同时,没有点云深度学习网络的设计原则被广泛接受或被证明是最有效的。当前大多数传感器融合网络都是基于对应的图像的网络结构,或者是基于经验或实验来进行设计的。因此,采用神经网络结构搜索(NAS)[95]的方法可能会带来进一步的性能提升。
5、无监督或弱监督的学习框架:
人工标注图像和点云数据既昂贵又耗时,这限制了当前多传感器数据集的大小。采用无监督和弱监督的学习框架,可以使网络在更大的未标记/粗标签的数据集上进行训练,从而提升性能。
与可靠性相关的开放研究问题
1、与传感器无关的融合框架:
从工程角度来看,自动驾驶汽车的冗余设计对其安全性至关重要。尽管将LiDAR和摄像头融合在一起可以改善感知性能,但是它也会带来信号耦合问题。如果在工作时有一条信号路径失效,那么整个流程都可能会发生故障,并影响下游模块。这对于在安全关键环境中运行的自动驾驶汽车是不可接受的。这一问题可以通过加入能接受不同传感器输入的多个融合模块,或异步多模数据、多路径的融合模块来解决。但最佳解决方案仍有待进一步的研究。
2、全天候/光线下的工作能力:
自动驾驶汽车需要在所有天气和光照条件下工作。然而,当前的数据集和方法主要集中在具有良好照明和天气条件的场景上。这会导致在现实世界中表现不佳,因为其光照和天气条件更加复杂。
3、对抗攻击和极端案例(Adversarial Attacks and Corner Cases):
针对基于图像的感知系统的对抗已被证明是有效的,这对自动驾驶汽车构成了严重的威胁。在这种情况下,可以进一步探索如何利用LiADR的准确3D几何信息和图像来共同识别这些攻击。
由于自动驾驶汽车需要在不可预测的开放环境中运行,因此也必须考虑感知中的极端案例(edge cases)。在设计感知系统时,应该考虑到不常见的特殊障碍物,例如奇怪的行为和极端的天气。例如,打印在大型车辆上的人和物体(车体广告)以及穿着怪异服装的人。利用多模数据来识别这些极端情况,可能会比用单模传感器更为有效、可靠和简单。在这个方向上的进一步研究可以帮助提高自动驾驶技术的安全性并加快其商用。
与工程有关的开放研究问题
1)传感器在线自校准:
相机和LiDAR融合的前提和假设是相机和LiDAR之间的精确校准,其中包括相机内部参数和相机与LiDAR之间的外部参数。但实际上,做到校准参数一直准确非常困难。即使在对相机和LiDAR进行了完美的校准之后,在车辆机械振动,热量等因素的影响下,其校准参数也会随时间变化而变得不准。由于大多数融合方法对校准误差极为敏感,因此这会严重削弱其性能和可靠性。此外,校准过程大多需要从头进行,所以不断地人工更新校准参数既麻烦又不切实际。然而此问题受到的关注较少,因为这个问题在已发布的数据集中不太明显。尽管如此,仍然有必要研究相机和LiDAR在线自校准的方法。最近的一些研究采用了运动引导[96]和无目标[97]自校准。在这个重要方向上进行更多的研究是有必要的。
2)传感器时间同步:
明确来自多个传感器数据帧的确切时间对于实时传感器融合至关重要,这将直接影响融合结果。但在实践中,我们很难保证完美的时间同步。首先,LiDAR和相机具有不同的刷新率,并且每个传感器都有自己的时间源。此外,感知系统的许多部分(数据传输,传感器曝光时间等)都可能发生不可控制的时间延迟。幸运的是,有几种缓解该问题的方法。首先可以增加传感器刷新率以减少时间偏差。也可以使用GPS PPS时间源与主机保持同步,并且由主机将时间戳同步请求发送到每个传感器,以使每个传感器都在同一时间轴上。此外,如果传感器可以由外部信号触发,则带有晶振的特定电路硬件可以记录精确的时间戳,该时间戳可用于几乎同时触发每个传感器。该方法被认为是目前最有效的。
深度补全:
激光点云的稀疏性极大地制约了3D感知算法并使之复杂化。深度补全旨在通过将稀疏、不规则的深度数据上采样为密集、规则的数据来解决此问题。基于相机-激光雷达融合的方法通常利用高分辨率图像来引导深度上采样,并采用编码器-解码器(encoder-decoder)架构,这也意味着pixel-wise fusion。图2是深度补全模型的发展时间轴和其对应的数据融合层级。表I列出了KITTI深度补全基准测试中各模型的结果比较和对应的数据融合的层级,并在图3中绘制成散点图。
当前大多数研究使用单目图像来引导深度补全。这些方法认为图像的颜色、材质等信息包含着几何信息,故可以将其作为深度上采样的参考。与单目图像相比,由立体相机的视差计算得到的几何信息更丰富,更精确。在深度补全任务上,立体相机和激光雷达在理论上更具互补性,应该能从中计算出更密集,更准确的深度信息。但在实际应用中,立体摄像机的有效距离范围有限(与激光雷达的有效距离不匹配),且其在高遮挡、无纹理的环境中不可靠(如部分城市道路),这使其目前不太适用于自动驾驶。
各模型介绍与对比的详细内容见原文。
3D目标检测:
3D目标检测旨在在3D空间中定位、分类并估计具备方向性的目标边界框(bbox)。当前有两种主要的目标检测流程:多阶段(Sequential/ two-stage)和单阶段(single-shot/one-stage)。基于多阶段的模型大体由候选框(proposal stage)阶段和3D边界框回归(3D bbox regression)阶段组成。在候选框阶段,检测并提出所有可能包含感兴趣对象的区域。在目标边界框回归阶段,根据候选的区域的特征对区域进行进一步甄别。但是,该模型的性能受到每个阶段的限制。在另一方面,single-shot模型只包含一个阶段,其通常以并行的方式处理2D和3D信息。 3D对象检测模型的发展时间轴和其对应的数据融合层级如图4所示。表II和图6展示了在KITTI 3D目标检测基准测试中各模型的性能对比和对应的数据融合的层级。
基于2D候选区域(2D Proposal)的多阶段模型:
这部分模型首先基于2D图像语义生成2D候选区域,这使其能利用现成的图像处理模型。更具体的来说,这些方法利用2D图像目标检测器生成2D候选区域,并将其投影回3D点云空间中,形成3D搜索空间,并在这些3D搜索空间内进一步完成3D bbox的回归检测。这其中有两种将2D候选区域转换到3D点云空间的投影方法。第一个是将图像平面中的边界框投影到3D点云,从而形成一个锥形的3D搜索空间。而第二种方法将点云投影到图像平面,将点云逐点与对应的2D语义信息联系起来。但在点云中,远处的或被遮挡的物体通常只由少量的稀疏点组成,这增加了第二阶段中3D bbox回归的难度。
基于3D候选区域(3D Proposal)的多阶段模型:
基于3D候选区域的模型直接从2D或3D数据中生成3D候选区域。其通过消除2D到3D转换,极大地缩小了3D搜索空间。用于3D候选区域生成的常见方法包括多视角(multi-view)方法和点云体素化(point cloud voxelization)方法。基于多视角的方法利用点云的鸟瞰(BEV representation)图来生成3D候选区域。鸟瞰图避免了透视遮挡,并保留了对象的方向信息和x,y坐标的原始信息。这些方向和x,y坐标信息对于3D对象检测至关重要,且鸟瞰图和其他视角之间的坐标转换较为直接。而基于点云体素化的模型,将连续的不规则数据结构转换为离散的规则数据结构。这让应用标准3D离散卷积(standard 3D discrete convolution),并利用现有网络模型来处理点云变得可能。其缺点是失去了部分空间分辨率、细粒度的3D结构信息以及引入了边界痕迹(boundary artifacts)。
A、单阶段模型
单阶段模型将候选区域生成和bbox回归阶段融合为一个步骤,这些模型通常在计算效率上更高。这使它们更适合于移动计算平台上的实时应用。
各模型介绍与对比的详细内容请见原文。
2D/3D语义分割
本节回顾了用于2D语义分割、3D语义分割和实例分割的现有Camera-LiDAR融合方法。2D / 3D语义分割旨在预测每个像素和每个点的类型标签,而实例分割还关心单个实例。图6给出了3D语义分割网络的时间顺序概述和对应的数据融合的层级。详细内容请见原文。
跟踪
多目标跟踪(MOT)对于自动驾驶汽车的决策是不可或缺的。为此,本节回顾了基于相机-激光雷达融合的对象跟踪方法,并在表III中的KITTI多对象跟踪基准(汽车)[47]上比较了它们的性能。
Detection-Based Tracking (DBT)/Tracking-by-Detection
检测跟踪框架包括两个阶段。在第一阶段为目标检测。第二阶段在时间轴上将这些目标关联起来,并计算轨迹,这些轨迹可被表示成线性程序。
各模型介绍与对比的详细内容见原文。