23年7月来自华为实验室和香港科技大学的论文“A survey on deep learning approaches for data integration in autonomous driving system”。
自动驾驶汽车的感知模块依靠多传感器系统来了解其环境。深度学习的最新进展导致了整合多传感器测量以增强感知能力方法的快速发展。本文概述应用于自动驾驶系统感知模块的最新深度学习集成技术,并根据“集成什么、如何集成和何时集成”对集成方法进行了分类。提出一种基于三个维度的新集成分类法:多视图、多模态和多帧。总结了集成操作及其优缺点,为“理想”数据集成方法的属性提供见解,可以缓解现有方法的局限性。在回顾了数百篇相关论文后,本综述最后讨论了最佳数据集成方法的主要特征。
数据集成中被广泛接受的三个关键问题是“集成什么”、“如何集成”和“何时集成”[14],[50],[51]。近年来,许多基于深度学习的ADS感知数据集成相关综述发表,每篇综述都部分涵盖了这三个问题和相关技术。一些综述将数据集成视为在特定情况下解决某些感知任务的技术方法[7],[52]–[57],而另一些综述则将注意力集中在数据集成本身,包括技术、类别和应用[2],[4],[11],[12],[14],[15],[28],[58]。
1) 集成什么 :“集成什么”是关于集成过程输入的问题。“集成什么”分为两个层次的子问题:集成的内容是什么,集成的顺序是什么。
a) 集成的内容是什么?
将集成的内容分为三个维度:
- 多视图集成涉及集成来自指向不同方向多个相同类型传感器的表示或视图。例如,集成放置在汽车不同位置的多个 LiDAR 点云,或集成从具有不同方向多个摄像机拍摄的图像 [59]。但是,组合一个 LiDAR 点云的不同视图表示,例如集成鸟瞰图 (BEV) 和 LiDAR 点云的距离视图,不被视为多视图集成,因为它不会引入新信息。这些视图转换被视为感知数据预处理的一部分。
- 多模态集成涉及以任何组合集成来自不同类型传感器的数据,例如摄像机、LiDAR 和毫米波雷达 (MMW-Radar)。研究表明,融合摄像机和 LiDAR 数据是最常见的集成类型之一。
- 多帧集成涉及随时间集成数据,而前两个维度则侧重于一个时间步骤的空间集成。
鉴于这三个维度,可以将所有数据集成方法分为七个上层类别,如图 a 所示。数据集成不仅可以在三个维度之一内实现,还可以在多个维度上进行。前者称为单维集成。
b) 集成的顺序是什么 ?
多维集成,例如“多模态和多视图”,不同于单维集成,因为它需要多种操作组合。进一步根据集成顺序将多维集成分为较低级别的集成范式,如图 b 所示。例如,在二维的“多模态和多视图”集成中,有三个子级类别或范式:模态优先集成、视图优先集成和深度耦合集成。三维集成更加复杂,因此将相关文献的讨论限制在一维或二维集成上。
2) 何时集成 :“何时集成”的主题涉及集成发生的数据抽象级别。文献中已广泛涉及这一问题,大多数文献采用了基于输入数据抽象阶段广泛使用的分类方案。该方案包括 数据级 (或像素、信号或低级)、 特征级 (中级)和 决策级 (或结果或高级)融合[2],[12],[14],[58]。数据级集成方法在特征提取之前融合原始数据或预处理数据,而特征级集成则在中间神经网络层组合提取的特征。决策级集成涉及合并每个传感器分别估计的输出数据。除了这些集成级别之外,随着越来越多的研究尝试集成不同级别的数据,近年来出现了一种新的“何时集成”类别,称为多级集成[28]。多级集成的一个例子,是使用 RGB 图像中结果-级 2D 边框来选择数据级或特征级 3D 激光雷达数据 [60]–[62]。每个级别的数据集成都有自己的优点和缺点,没有证据表明一个级别优于另一个级别 [14]。
3) 如何集成 :“如何集成”的问题涉及用于数学组合数据的特定集成操作。这些操作通常被忽视或没有明确说明,因为它们通常简单明了,例如加法或连接。然而,提出几种常见的集成方法,包括投影、连接、加法/平均/加权求和、概率方法、基于规则的交易、时域集成方法以及神经网络/编码器-解码器结构。该综述总结每种集成操作的属性和实际应用。
根据 ADS 感知中常用的传感器的工作原理,可将其分为两类 [12]、[28]:
上述传感器收集的数据在坐标系和特性方面各不相同,每种都有自己的优势和局限性。集成来自不同坐标系的数据可能具有挑战性,许多现有的深度学习架构都是为处理特定的数据表示而设计的。为了解决这个问题,一种常见的方法是应用预处理方法将原始数据转换为适当的表示。
下表是各种传感器的比较:
在 ADS 中,集成相机数据以 2D 或 3D 格式表示。
1) 像素表示:像素的表示涉及将像素特征存储在 2D 图像平面上,其中每个像素都有多个通道来描述其属性。这导致整个图像存储在尺寸为 [高度、宽度、通道] 的 3D 矩阵中。通常,RGB 原始图像有三个彩色通道,但其他相机可能具有不同的通道,例如深度、灰度、红外或门控通道。
2) 点或体素表示:点或体素的表示通过将每个像素投影到 3D 空间来考虑深度信息。这些 3D 点可以存储为点云或体素网格。点云为每个点分配一个浮点数 3D 坐标,从而产生一个尺寸为 [n, c + 3] 的矩阵,其中 n 表示像素数,c 表示通道数。体素网格将空间划分为尺寸为[高度、宽度、深度]的网格,并将点放置在这些网格中。
与相机图像不同,3D 激光雷达测量结果是一组不规则且无序的数据点,在 3D 结构中称为点云 [28]。为了适应不同深度学习模型的输入格式,可以使用预处理方法将点云转换为几种不同的表示形式。值得注意的是,与图像数据相比,LiDAR 数据更稀疏。
1)点表示:使用点处理深度学习网络(如 PointNet [67]、PointNet++ [68]、PointCNN [69] 和 KPConv [70])无需格式转换即可处理从 LiDAR 传感器获得的 3D 点云。LiDAR 点云可以与类似的点格式数据(如其他 LiDAR 点云)集成 [71]。虽然点云保留了原始信息并可能提供更大的感受野 [68],但点云的体积可能很大,需要很高的计算能力来处理 [28]、[58]。此外,很难将点云与图像等其他数据格式集成。由于这两点,带有附加预处理方法的表示方法得到了快速发展和进步。
2)体素表示:体素是通过将整个3D空间划分为小的规则3D网格,并根据几何形状将原始点划分到相应的网格中而生成的。这种网格化将不规则点转换为规则的体素表示,并且可以对原始激光雷达点进行下采样以减少输入量。事实上,可以通过改变网格大小来调整体素的体积和分辨率。较大的网格会导致更多的信息丢失,而较小的网格仍可能给计算带来负担。可以使用多种3D卷积方法来处理体素并提取特征,例如3D ShapeNet [72],VoxelNet [73]和VoxNet [74]。
3)像素/视图表示:LiDAR点的像素或视图表示,是通过投影将3D点云转换为2D图像视图。鸟瞰图 (BEV) 和距离视图 (也称为透视图) 是不同 2D 视图平面上的两种常见视图类型,可以从点云转换得到。像素表示可以利用现有的完善 CNN 系列图像处理方法,尽管原始点云中保留的 3D 几何信息可能会在投影过程中丢失。在将 LiDAR 点云与相机图像集成时,通常采用像素表示或投影技术 [75]–[77]。
4)集成表示:除了前面提到的表示之外,一些研究人员还尝试结合各种表示以获得更丰富的信息或在进一步处理之前进行表示。他们开发了点-体素集成方法,融合了两种表示的优点。点-体素 CNN (PVCNN) [78] 采用双分支系统,由基于体素的分支和基于点的分支组成。它对体素进行卷积,同时从点补充详细的几何信息。 PV-RCNN [79] 从体素卷积生成 3D 提议,并在空间中选择一些关键点作为体素特征和这些提议细化网络之间的连接。此外,可以集成从点云获得的不同视图。Zhou [59] 提出一种多视图融合 (MVF) 网络,将鸟瞰图 (BEV) 和透视图转换为体素,并将它们融合在一起,以便有效地利用互补信息。也有研究整合了上述所有表示。在 M3DETR [80] 中,点、体素和像素表示分别用 PointNets、VoxelNet 和 2D ConvNets 模块处理,并与多个尺度的 Transformer 融合。这种设计通过有效利用不同表示之间的相关性,利用注意结构,更好地从原始数据中提取信息。
在 ADS 相关研究中可以发现两种不同的雷达信号表示方法。
1)点表示法:基于点的表示法是将雷达数据表示和处理为点云 [84]。然而,正如 Wang [58] 所提出的,雷达点云的属性与激光雷达点云不同,因此在雷达点上直接使用激光雷达模型可能会出现问题。
2)地图表示法:另一种表示法是基于地图的,即在多个时间戳上积累雷达数据并生成雷达网格 BEV 地图 [14]。由于网格地图缓解了雷达数据稀疏性问题,因此使用 CNN 等图像处理网络来提取特征并进行静态环境分类。不同网格地图的更多细节可以在 [55] 中找到。
集成什么?
多视图集成
根据定义,最常见的多视图数据集成类型是集成多个摄像头从不同方向捕获的多视图摄像头图像(例如,安装在自动驾驶汽车上的 6 个单目摄像头)。这种摄像头多视图集成可用于生成周围环境的 BEV 表示 [85]–[87] 或协助 2D 图像中的目标检测 [88]。立体视觉摄像机也可以生成多视图图像,因为它有两个或更多镜头 [89]。除了视觉传感器外,研究人员还在探索其他方法来融合安装在车辆上的多个激光雷达测量值以进行目标检测 [71],[90]。然而,由于激光雷达成本高昂,这种方法在工业界并未得到广泛采用,相关工作也有限。因此,跳过激光雷达多视图集成的讨论。同样,多雷达集成也被认为有助于 360 度环境感知 [91],[92],而在应用中,它们更常与其他传感器模式集成。
1) 相机多视角:大多数单目 RGB 相机只能捕捉由相机镜头决定形状的视锥体内目标。此外,如果视锥体内的目标被其他目标遮挡,则无法在图像中观察到。因此,需要从不同位置拍摄多张图像才能更全面地描述 3D 世界。基于空间几何的一致性和唯一性,可以根据多视角相机的相对相机参数(内和外变换矩阵)从多视角相机中恢复深度信息(3D 空间中的点与相机图像平面之间的距离)。内参描述从 2D 相机坐标到 2D 图像坐标的映射,外参描述从 3D 世界坐标到 2D 相机坐标的映射。如果图像是从两个配对相机拍摄的,则称为双目深度估计或立体匹配,或视差估计。如果提供两个以上的视图,则称为多视角立体 (MVS)。大多数相机多视图方法 [89]、[93]–[103] 的输入都是 RGB 图像,但也有论文 [104]–[106] 融合 RGB 和热图像,以及论文 [85] 融合 RGB 和深度。相机多视图输入分类如下:
a)图像:这些图像由不同的相机或单目相机从不同的位置和角度拍摄。图像数量不受限制,但至少需要两幅图像。图像应该重叠但不完全相同。
b)深度图像:具有一个通道的 2D 图像,其中每个像素表示相机到相应 3D 点的距离。它们可以从深度相机或深度估计算法中获得。
c)热图像:具有一个通道的 2D 图像,其中每个像素表示目标发出的红外辐射强度。它们可以由热像仪捕获。
2)雷达多视图:很少有论文研究多个雷达之间的集成。 [107] 使用三种视图:距离-多普勒 (RD)、角度-多普勒 (AD) 和距离-角度 (RA)。RD 视图显示目标的距离和速度。具体而言,当雷达静止时,非移动目标的响应为零多普勒,而相对于雷达移动的目标响应为非零多普勒。AD 视图显示目标的方向和速度。RA 视图表示距离和角度之间的关系。所有视图都可以表示为 2D 图像。
多模态集成
由于传感器各有优缺点,多模态数据集成,有望利用不同传感器之间的互补性,提高精度 [20]。各种方法已被开发并应用于包括目标检测和跟踪、深度补全和分割在内的任务。一些研究采用摄像机-雷达集成 [108]–[112] 或激光雷达-雷达集成 [113] 进行目标检测。一些研究进一步将这三种传感器集成在一起,用于环境感知 [114], [115]。
现有四种多模态组合的多模态集成研究成果:1)摄像机和激光雷达,2)摄像机和雷达,3)激光雷达和雷达,4)摄像机、激光雷达和雷达。至于其余的模态组合,研究很少。
多帧集成
多帧数据,即时域数据,是指沿时间轴在多个时间戳采样的数据。与单帧数据相比,多帧数据的集成带来了更多信息,并有可能提高环境感知的准确性。
多视角多模态集成
研究人员探索了将多视角引入相机和激光雷达/雷达集成以增强感知能力的可能方法。包括[120]、[135]、[183]-[187]在内的几项工作将激光雷达与来自不同视角的多个相机图像集成在一起。其他一些研究,如[135]、[188]、[189],将多视角激光雷达和单目相机集成在一起。MVFusion[190]提出了一种用于 3D 目标检测的多视角雷达和多视角相机融合方法。从这些研究中可以观察到一种主流模式:首先是模态内(融合单一模态的多个视图),然后是模态间(融合来自不同模态的信息)。此外,也有研究首先进行多模态融合,然后进行多视角组合。在[191]中,激光雷达点与单目相机集成,在每个视图上获得单帧3D点云。然后对获得的多个 3D 点云进行增量拼接,以全局优化的方式重建多余的 3D 点云。
还有研究融合这三种模态:相机、激光雷达和雷达。例如,在 [192] 中,原始激光雷达输入是点云的形式,而要集成的特征是多尺度 BEV 的形式。对于雷达模态,原始输入是雷达点的属性(例如位置、速度和强度),要集成的特征是 MLP 提取点的隐表示。除了雷达和激光雷达数据外,输入还包含来自不同视图的图像和相应的相机参数。
多视角多帧集成
多视角多帧集成将时间关系引入多视角融合过程。大多数论文侧重于将时间序列信息添加到相机多视角集成中,很少有研究激光雷达或雷达多视角的论文。
BEV 是多视角相机数据的合适表示,因此一些多视角多帧论文将其纳入集成流程。在 [193]–[201] 中,来自不同视角的图像被融合成 BEV 表示,进一步沿时间维度传播信息以供感知和预测。可以观察到,一般来说,这些算法倾向于在融合过程中优先考虑空间整合(多视角)而不是时间整合(多帧)的步骤。
除了 BEV 之外,许多方法还使用常规图像表示进行时间视图融合。[202] 和 [203] 使用立体视觉摄像机的视图对序列来恢复目标尺度或跟踪目标。由于立体视觉摄像机并非总是可用,许多论文 [157]、[172]、[182]、[197]、[204]–[215] 利用相邻帧来形成图像对。这些论文主要针对 SLAM 和重建,这需要多个视图来恢复几何形状。
多模态多帧集成
多模态多帧集成将时间方面引入空间集成过程,以增强感知性能。当前对摄像机和激光雷达序列集成的研究主要集中在多目标跟踪 (MOT) 和 3D 目标检测上。例如,3D MOT 模型结合激光雷达和摄像机的特征或检测的目标,以获得单帧中的实例,然后进行数据关联过程以进行多帧跟踪 [216]–[219]。Zeng 提出的基于 Transformer 3D 目标检测模型。[220] 使用 RGB 和激光雷达点生成网格状 BEV 图像,然后在给定 BEV 网格的情况下应用多传感器时域集成操作。这些集成算法通常遵循两阶段范式:首先是空间集成(单帧中的多模态融合),然后是时域集成(多帧关联)[218]、[221]、[222]。
关于 LiDAR 和雷达点序列集成的研究有限。在一项研究 [113] 中,在从 LiDAR 和雷达 3D 点转换的 BEV 中检测到 2D 感兴趣区域。首先根据 LiDAR 和雷达 BEV 中的相应区域在空间上集成特征,然后跨帧在时间上集成特征,遵循在相机和 LiDAR 集成中观察到的两阶段时空集成模式。
关于相机、激光雷达和雷达组合的时域集成研究很少,可能是因为集成的复杂性。现有研究以各种方式分解多传感器时域集成任务。例如,在一项研究 [223] 中,将扩展卡尔曼滤波器 (EKF) 分别部署到每个传感器,并使用可靠性函数进行跨模态集成。在另一项研究 [115] 中,集成的输入在不同的任务中有所不同,融合摄像机图像和激光雷达深度图用于 2D 分割和目标检测,而随时域变化的激光雷达和雷达点则用于 3D 障碍物检测和跟踪。Liang [224] 提出一种基于误差状态 EKF 的松耦合集成架构,用于车辆状态估计,其中摄像机、激光雷达 和雷达数据被用作观测值来校正估计的先验状态。
什么时候集成?
由于深度学习网络使用多个神经层提取特征,因此集成策略可以在不同阶段以各种方式进行 [14]。广义上讲,这些策略通常分为早期(数据级)、中期(特征级)和后期(决策级)。数据级集成方法涉及在特征提取之前融合原始数据或预处理数据。另一方面,特征级集成将提取的特征组合在中间神经网络层。决策级集成涉及合并每个传感器分别估计的输出数据。由于可以在神经网络的不同深度获得特征,因此已经设计并应用了几种详细的集成范例来进行特征级集成。Feng [14] 进一步将中期集成分为三种模式,包括单层融合、深度融合和短路融合。
但是,该方法无法对集成特征不在同一数据抽象级别(深度)的方法进行分类,从而限制了其适应日益增多的融合方案适用性。 Cui [28] 提出一种方法,在原有的三个类别之外引入“多级”集成,以纳入更多的集成情况。
数据级集成
数据级集成在 SLAM [144]、[170]、[172]、[182]、[202]、[204]、[207] 中很流行,但在其他任务中很少见。[170] 使用光流来利用帧之间的关系来学习姿势,并使用帧之间的成本量来学习深度图。[172]、[182]、[204] 利用卷积生成特征向量。[202] 将多帧堆叠在一起以回归姿势。[207] 使用卷积回归姿势。早期数据融合也用于检测[127]、[143]、[145]、[225]、深度补全[123]和语义分割[180]。然而,这些方法中很大一部分导致非竞争性结果。
特征级集成
特征级集成广泛应用于大多数领域,包括目标检测、深度补全[120]、[122]、语义分割[87]、[105]、[106]、[130]、[181]、[226]、[227]、跟踪[149]、[150]、[217]、[221]、[222]、3D 重建[97]、[100]、SLAM[156]、[169]、[171]、[199]、[228]、[229]、动作分类[227]、[230]和导航[114]。特征级集成的流行源于提取的特征,它们比原始数据更紧凑、更具代表性。然而,特征级合并会削弱单一模态的优势。大多数 2D 和 3D 目标检测方法在特征级融合 [59]、[76]、[88]、[112]、[113]、[119]、[124]、[125]、[129]–[134]、[136]、[140]、[142]、[177]、[187]、[192]、[197]、[199]、[201]、[220]、[231]–[238]。[133] 使用带有 MLP 的深度参数连续卷积层直接输出每个 BEV 网格中的目标特征。[140] 将激光雷达体素特征和图像特征与注意设计相结合。研究 [86]、[193]、[195]–[199] 侧重于 BEV 图生成中的时空融合,它们使用各种神经网络设计集成了不同时间戳的周围图像或 BEV 特征图的特征。在 [136] 中,基于学习的权重,将来自两个云点的特征以网格方式组合。此外,大多数 3D 重建方法 [209]、[239]–[245] 在特征级别进行集成,原因有两个。一方面,提取的特征对环境变化(例如光照)更稳定,而光照对于光一致性测量至关重要。因此,直接集成原始数据不太合适。另一方面,从每个单一视图获得的 3D 估计在尺度上不明确,这使得在决策级别进行集成具有挑战性。
决策级集成
决策级集成在许多领域都有广泛的应用,包括语义分割[85]、重建[118]、[246]、目标检测、跟踪、SLAM 和注释[77]。在所有这些领域中,它在目标检测[71]、[109]、[110]、[126]、[185]、[247]–[250]、[250]、跟踪[89]、[111]、[148]、[154]、[175]、[176]、[216]、[250]–[252] 和 SLAM[98]、[99]、[152]、[223]、[224]、[253]–[256] 中最受欢迎。来自不同来源的决策可以与基于学习的策略融合,也可以与非基于学习的策略融合。 [85] 将来自多个视图的所有输入特征相加以生成融合特征。[246] 根据加权方案融合深度图和不确定性图,然后输出加权相加后的张量。[247] 将协作-觉察消息(CAM)转换为相对测量,然后使用缓冲策略处理无序测量(OOSM)中的时间同步。[248] 首先根据 IOU 和置信度生成新的张量,然后进一步与卷积层融合,从而融合每对 2D 边框(从图像预测)和 3D 边框(投影到图像)候选。
多级集成
多级集成被广泛应用于许多应用,包括目标检测、深度补全[121]、语义分割[75]、[128]、跟踪、SLAM 和 3D 重建[191]、[208]。大多数多级集成方法都是为目标检测和跟踪而设计的。也有相当一部分论文关注 SLAM。[139] 融合了来自摄像机的特征级信息和来自激光雷达的数据级信息。[62] 和 [61] 利用图像目标检测器的输出作为 2D 提议,然后将其投影以形成 3D 目标检测的 3D 搜索空间。具体来说,[146] 将激光雷达和雷达信息投影到 2D 地图中,并使用卷积将它们与摄像机 RGB 融合。[257] 通过连接融合特征和原始数据。[141] 融合了来自摄像机的决策级信息和来自雷达的数据级信息。 [258] 在目标级别有一个输入,在特征级别有另一个输入。[121] 使用独立分支提取图像和激光雷达点云的特征,并在多个级别融合(添加或连接)。[208] 根据几何将前一个深度图预测扭曲为当前视图的隐表示。[153] 使用跟踪条件检测器在新帧中检测目标(以前一帧和前一帧的目标检测结果为条件),以获得一组时间上连贯检测的目标,其中预测 2D 位移与检测结果随时间的变化相关联。[173] 使用多个人脸特征来细化位置。[259] 首先使用光流获取短轨迹,然后使用基于相机自运动的像素深度估计获取 3D 运动,最后使用 3D 运动一致性获取长期轨迹。 [155] 使用检测的目标位置(决策级)和检测掩模中的特征向量(特征级)来关联帧,并使用附近的目标(邻居)来约束匹配的 IoU 分布。[218] 通过将 3D 反向投影到 2D 来融合 3D-2D 检测,并通过基于原始图像的外观关联和基于原始图像和点云的 2D/3D 运动关系来融合帧。[146] 融合 RGB 特征和来自激光雷达和雷达的原始数据。[147] 融合摄像头预测的区域和来自激光雷达和雷达的原始数据。
如何集成?
“如何集成”涉及用于组合数据/特征的数学运算。Feng[14]将深度学习网络中使用的融合操作总结为四类:加法/平均均值、连接、集成和专家混合。不同集成操作的特点在研究中没有进一步阐述。Wang[15]将3D目标检测的数据组合方法分为两种主要类型:对齐和融合。对齐进一步细分为基于投影和基于模型的方法,而融合分为基于学习和与学习无关的方法。对齐在许多情况下也作为融合的一种手段,基于模型的对齐和基于学习的融合技术彼此显示出明显的重叠。此外,由于 [14] 和 [15] 都专注于特定感知任务(目标检测和语义分割)的方法,因此未讨论其他集成操作,例如 EKF [154]、[185] 或概率图 [89]、[118]。
在表 V 中,简要总结基于深度学习的数据集成过程中几种常用的操作,包括投影、连接、类似加法的运算(加法/加权求和/平均值)、概率方法、基于规则的事务、时域积分方法和编码器-解码器方法。集成操作的应用可能高度依赖于任务、输入和数据抽象级别。一些操作更通用且适用于各种条件,而其他操作更具体且用于某些目的。此外,集成算法可能涉及各个阶段的多个不同操作。
投影
拼接
加/平均/加权和
概率
基于规则的交易或集成
Kalman滤波器和扩展
RNN族
CNN
Tansformer