[AAAI] PI-RCNN

Abstract

对于3D目标检测而言,LIDAR 点云和RGB图像都是必不可少的。因此大量的优秀的3D目标检测算法致力于将两者进行有效地融合。但是基于BEV俯视图或者体素网格格式的融合方法并不精确。在本文中,作者提出了一个全新的融合方法,名字为Point-based Attentive Cont-conv Fusion(PACF) ,PACF可以在3D点云上直接融合多传感器的特征。除了连续卷积之外,作者还添加了“Point-Pooling”和“ Attentive Aggregation”以使融合特征更具表现力。此外,基于PACF模块,作者提出了一个称为Point cloud Image RCNN(PI-RCNN)的3D多传感器多任务网络,该网络可处理图像分割和3D目标检测任务。 PI-RCNN使用分割子网从图像中提取全分辨率语义特征图,然后通过功能强大的PACF模块融合多传感器特征。 从PACF模块的有效性和分割模块的表达语义特性中受益,PI-RCNN可以在3D目标检测中大大改善。

Introduction

随着自动驾驶技术的飞速发展,3D检测技术越来越受到人们的关注。 LIDAR是自动驾驶中最常见的3D传感器。但是,尽管LIDAR传感器可以捕获目标的3D结构,但它们没有足够的语义信息,并且存在点云具有稀疏性。 语义特征的丢失导致难以解决的困难场景。 LIDAR点的稀疏性,尤其是远距离的点,给网络识别带来了困难。 这些挑战如图1所示。
[AAAI] PI-RCNN

图1:基于LIDAR的3D检测面临的挑战。 在左侧的情况下,我们仅靠LIDAR捕获的稀疏3D结构无法将车 辆与背景区分开。 正确的情况表明,对于距离较远的汽车,LIDAR点变得稀疏,甚至只有几个点。

另外,一些研究工作致力于使用单目图像估计目标物体的3D位置和尺寸。与点云相比,RGB图像具有更加规则和密集的数据格式,并且具有更丰富的语义信息区分车辆和背景。但是2D图像的性质决定了基于单目图像的3D目标检测的精度较低。
为了应对这些挑战,许多最先进的方法结合了多种传感器数据来弥补点云的语义损失。 为了应对这些挑战,许多最先进的方法结合了多种传感器来弥补点云的语义损失。Chen等人2017; Ku等人2018直接合并了图像和BEV俯视图的特征。Qi et al.2018采用级联结构通过2D检测边界框中的视锥体来预测3D对象。Liang等人2018应用连续卷积。Wang等人2018融合了多传感器特征。
但是,像Chen et al.2017; Ku et al.2018这样的直接融合忽略了RGB images和Birds-view maps的截然不同的视角。 基于视锥体的3D检测(Qi et al.2018收到2D目标检测的弱点,并且由于遮挡而涉及许多背景点或其他情况。 尽管(Liang et al.2018)应用连续卷积来克服不同视角的挑战,但基于BEV图的融合并不准确。 BEV格式将3D世界量化为伪图像,因此在BEV地图上进行邻近点搜索和融合会遭受精度损失。
为了克服这些缺点,我们提出了一种新颖的融合模块,称为 Point-based Attentive Continuous Convolution融合模块(简称PACF模块)。 与Liang et al.2018; Liang et al.2019不同,我们将连续卷积直接应用于原始点云。 同时,受一些多任务工作的启发(Gao等,2019; Liang等,2019),我们将图像分割任务与3D目标检测相结合,以充分利用图像中的语义信息。 特别是,我们通过提出的PACF模块将分割模型输出的语义特征与LIDAR点的特征融合在一起。 此外,基于PACF模块,我们提出了一个鲁棒的多传感器3D目标检测网络Point Image RCNN(简称PI-RCNN)。

我们提出的PI-RCNN受以下两个观察启发:(1)我们从2D image中可以获得的最重要信息是分割mask,一旦获得了分割mask,我们自然就可以得到图像上物体的2D位置和边界框; (2)3D空间中没有目标的交集,因此我们自然可以仅通过3D目标标签获得LIDAR点分割结果。
总结贡献点如下:

  • 我们提出了一种新颖的融合方法,称为PACF模块,以融合多传感器功能。 PACF模块直接在3D点上进行逐点连续卷积,并应用Point-Pooling和Attentive Aggregation 操作以获得更好的融合性能。
  • 基于强大的PACF模块,我们设计了一种高效的多传感器3D目标检测算法,称为 Point-Image RCNN(简称PI-RCNN)。 此外,PI-RCNN结合了多种任务(图像分割和3D目标检测)以提高3D检测的性能。
  • 我们对KITTI数据集进行了广泛的实验,并证明了我们方法的有效性。

PI-RCNN

在本节中,我们介绍我们提出的新型融合模块,即基于点的注意力连续卷积融合模块(简称PACF模块)。与Liang等人不同,PACF模块直接在3D LIDAR点上进行真正的“逐点”连续卷积,并另外添加了Point-Pooling和Attentive Aggregation操作,以使融合更加稳健。此外,基于PACF模块,我们提出了 Point-Image RCNN(简称PI-RCNN),一种结合了多个任务的多传感器3D检测网络。 PI-RCNN将图像分割和3D对象检测相结合,并利用图像分割中的语义特征来补充LIDAR点。 PI-RCNN的总体架构如图2所示。PI-RCNN由两个子网组成。一种是分割子网,它以RGB图像作为输入并输出语义特征。另一个是基于点的3D检测网络,该网络从原始LIDAR点生成并优化3D建议。 PACF模块是两个子网之间的桥梁。 PACF模块直接在3D点上执行融合操作,而不是BEV或体素格式的伪图像,并将RGB图像的语义特征与LIDAR点的特征合并。此外,PACF模块添加了“ Point-Pooling ”和“Attentive Aggregation ”,以使融合特征更具表现力。从PACF模块的有效性中受益,PI-RCNN可以更好地检测3D对象。

Point-based Attentive ContFuse Module

融合多传感器数据: 不同的数据格式和透视图是从2D图像和3D点融合特征的主要挑战。 RGB图像仅代表真实3D世界在相机图像平面上的2D投影,而LIDAR点捕获场景的3D结构。 Chen等人2017; Ku等人2018将LIDAR点转换为BEV(鸟瞰)伪图像,并直接融合了BEV视图和RGB图像的特征。但是,关于BEV图和RGB图像的建议具有不同的观点,因此直接融合太粗糙而无法融合准确和有益的特征。 ContFuse(Liang等人2018)将图像特征投影到BEV中,并通过连续卷积融合相邻点的特征(Wang等人2018)。但是,BEV格式仅仅是3D点云的量化,并且遭受了宝贵的损失,因此BEV上的邻近点搜索和融合不准确,尤其是在LIDAR坐标的Z轴上。尽管MMF(Liang et al.2019)在图像和BEV之间建立了密集的对应关系,但它们仍然没有直接在3D点上直接应用真正的``逐点’'连续卷积。
**PACF模块。**为了解决这些问题,我们提出了一种新颖的融合模块PACF模块,该模块可实现更准确,更可靠的融合。 PACF模块的详细信息如图3所示。给定从RGB图像和原始LIDAR点中提取的特征图,PACF模块输出一组离散的3D点,其特征包含来自RGB图像的语义信息。PACF模块包括五个步骤。 (1)我们为每个3D点搜索距离范围为d(默认为d = +∞)的k个最近的邻近点。 (2)我们将相邻点投影到通过相机校准从2D图像平面提取的特征图上。 (3)我们从图像中检索相应的语义特征,并将图像特征与3D点的几何偏移相结合。 (4)我们利用注意力连续卷积融合了k个近邻点的语义+几何特征。 (5)我们对步骤(3)的输出执行Point-Pooling操作,并将它们与作为目标点的最终特征的步骤(4)的输出连接起来。
[AAAI] PI-RCNN

图3:PACF模块示意图。 PACF模块对原始3D点进行融合,并从特征图中检索具有更大分辨率和更多语义信息的图像特征。 此外,我们添加了两个附加操作:沿点轴进行Point-Pooling以合并相邻点的特征; Attentive Aggregation 通过一组可学习的参数来聚合邻近点的特征。
基于ContFuse(Liang et al.2018)对注意力连续卷积进行了改进。 我们将xix_{i}表示为点pip_{i}的坐标,将fif_{i}表示为检测子网输出的点特征和从分割子网的输出中检索到的语义特征的连接。 注意,我们将检测子网络输出的语义特征和点特征连接到融合特征上,所以fif_{i}(Cseq+Clidar)\left(C_{s e q}+C_{l i d a r}\right)维向量,其中CsegC_{s e g}是语义特征的通道号,ClidarC_{l i d a r}是 点特征。 连续卷积定义为:

ycc,ki=MLPcc(fk),fk=CONCAT(fk,xkxi)y_{c c, k}^{i}=\operatorname{MLP}_{c c}\left(f_{k}^{\prime}\right), f_{k}^{\prime}=\operatorname{CONCAT}\left(f_{k}, x_{k}-x_{i}\right)

ycci=kycc,kiy_{c c}^{i}=\sum_{k} y_{c c, k}^{i}

其中i=1,2,,Ni=1,2, \dots, N,并且N\mathbf{N}是点云的个数。k=1,2,,Kk=1,2, \ldots, K并且KK是邻近点的个数。xix_{i}是目标点pip_i的坐标。xkx_{k}是邻近点pkp_k的坐标。ycc,kiy_{c c, k}^{i}DoD_{o}维列向量。ycciy_{c c}^{i}是连续卷积的输出。MLPcc\mathrm{MLP}_{c c}是近似于连续卷积,将K×DiK \times D_{i}的输入转换为K×DoK \times D_{o}的输出。Di=Cseg+Clidar+3D_{i}=C_{s e g}+C_{l i d a r}+3

受CNN中的Pooling操作和注意力机制的启发,我们添加了Point-Pooling操作和Attentive Aggregation来增强连续卷积。 详细地,我们对K个相邻点的特征进行池化操作。 Point-Pooling可以表示为:

ypooli=POOL(F),F=[f1T,f2T,,fKT]Ty_{\text {pool}}^{i}=\operatorname{POOL}\left(F^{\prime}\right), \quad F^{\prime}=\left[f_{1}^{\prime T}, f_{2}^{\prime T}, \ldots, f_{K}^{\prime T}\right]^{T}

其中FRK×DiF^{\prime} \in \mathcal{R}^{K \times D_{i}}是所有近邻点的特征,ypooliy_{\text {pool}}^{i}表示每个目标点ii的池化特征。 POOL沿点轴进行。 在实践中,我们利用Max-Pooling从K个相邻点获得最具表现力的特征。 此外,我们进行了n Attentive
Aggregation以合并K个相邻点的特征。 实际上,我们使用另一个MLP来聚合邻近点,也就是说,对于每个目标点i:

yai=MLPaggr(Ycci)=kwkycc,kiy_{a}^{i}=\operatorname{MLP}_{a g g r}\left(Y_{c c}^{i}\right)=\sum_{k} w_{k} y_{c c, k}^{i}

其中YcciRK×DoY_{c c}^{i} \in \mathcal{R}^{K \times D_{o}}表示MLPcc\mathrm{MLP}_{c c}输出的K个邻近点的特征,MLPaggr\mathrm{MLP}_{a g g r}通过一组可学习的参数将K×DoK \times D_{o}邻近点特征聚合为目标点的DoD_{o}维特征。 PACF模块的最终输出是以上三个部分的串联:

yoi=CONCAT(ycci,yai,ypooli)y_{o}^{i}=\operatorname{CONCAT}\left(y_{c c}^{i}, y_{a}^{i}, y_{p o o l}^{i}\right)

**与以前的方法相比有改进。**我们提出的PACF模块与(Liang等人2018; Liang等人2019)有五个差异。首先,它们都融合了BEV像素上的特征。但是,BEV格式将实际3D空间量化为2D伪图像,因此应用于BEV像素上的邻近点搜索和特征融合是不准确的。相反,我们直接在原始3D点上而不是BEV上进行邻近点搜索,连续卷积和最终融合,从而避免了量化损失。其次,除了用于连续卷积的MLP之外,我们还添加了另一个可学习的MLP以融合来自相邻点的特征,这可以被视为相邻特征的注意力机制。第三,为避免插值损失,我们在具有较大分辨率的特征图上检索了图像特征,其尺寸与图像的原始尺寸一致。第四个区别是我们将图像分割任务与3D目标检测结合在一起。与其使用从3D检测任务中学到的图像特征,我们首先在分割数据集上对图像子网进行预训练。在“实验”部分中,我们进行实验以将在分割任务中预先训练的特征与从3D检测中学习到的特征进行比较。我们认为,在语义分割的监督下学习的特征更具表现力,并且多个任务(图像分割和3D检测)的组合是可靠的。最后,受CNN中的池化操作和注意力机制的启发,我们在相邻点的特征之间进行逐点池化,并添加了可学习的Attentive Aggregation操作,以更有效地合并邻近点的特征。

我们认为这些改进会带来重大的变化。 在“实验”部分中,我们将进行消融实验以分析这些差异的影响。

PI-RCNN的主要架构

PI-RCNN是一个多任务3D检测网络,由两个子网组成:图像分割子网和3D检测子网。

语义分割子网。 为了从RGB图像中获得鲁棒的语义特征,我们首先分析图像中的哪些特征最有利于3D目标检测。 对于2D目标检测任务,特征提取器通常在分类数据集(例如ImageNet(Deng等,2009))上进行预训练,足以检测2D边界框。 因为2D目标检测的目标只是预测矩形边界框,所以它不需要2D提议中的精细特征。 只要RoI的特征可以捕获物体的局部区域,探测器的头部就可以正确分类提案并对其进行回归。 然而,对于图像像素和LIDAR点之间的密集对应是不够的。

我们认为从3D检测标签中学到的图像特征对于图像像素和3D点之间的对应关系而言过于粗糙。我们观察到,一旦我们从RGB图像获得了分割mask,就可以将3D点投影到2D图像平面上以检索相应的3D点分割。由于分割mask是像素级的预测,不涉及2D边界框之类的背景像素,因此它可以为每个点提供更准确的语义信息,以帮助检测子网更珍贵地预测3D对象。图4显示了经过预训练的分割子网和没有经过预训练的子网输出的特征的比较。因此,我们将图像分割任务与3D检测结合起来,并使用分割网络的输出作为RGB图像的语义特征。此外,分割特征图具有比分类主干输出更大的分辨率,这使得LIDAR点与图像像素之间的投影和融合更加准确。在实验部分,我们将进行相对消融研究,以验证分割数据集上的预训练的有效性。请注意,我们不需要预先训练实例级分割子网,因为分割监督的目标只是帮助我们获得融合的语义特征,并基于LIDAR点检测目标。我们利用UNet(一种轻量级的全卷积网络)作为PI-RCNN的分割子网络。请注意,实际上,我们可以将其与其他轻量级分割网络交替使用。
[AAAI] PI-RCNN
图4:最上面的图像是分割子网输出的分割预测。 底部图像是鸟瞰图中的LIDAR点,这些点的颜色与从分割mask中检索到的值相对应。 左边是在分割数据集上进行预训练的情况,而右边是仅在3D检测标签的监督下进行的端到端训练的情况。
**3D检测子网络。**我们认为逐点融合比基于BEV映射的融合更健壮。 要进行逐点融合操作,我们需要使用基于原始3D点的3D检测网络。 因此,我们将PointRCNN(Shi,Wang和Li 2019)作为PI-RCNN的检测子网,这是一个两级3D检测网络,其输入是原始LIDAR点。 PointRCNN将PointNet ++(Qi等人2017b)作为其第一阶段从原始LIDAR点生成3D建议。 其阶段2将每个提议中的点转换为规范坐标,以完善3D边界框。

融合机制

我们提供两种融合策略。 两种策略之间的主要区别在于融合模块的位置。 比较如图5所示。我们将融合策略的这两个版本分别表示为PI-RCNN V1和PI-RCNN V2。 在实验部分,我们将分析两种融合策略的性能。
[AAAI] PI-RCNN
PI-RCNN V1:如图5所示,我们在“中间路线”中融合了来自多个传感器的特征。在这种策略中,来自图像的语义特征是对第一阶段检测子网络输出的3D点特征的补充。

PI-RCNN V2:我们还可以在检测网络的开始进行融合操作。 在获得分割子网的输出之后,我们将图像特征与原始LIDAR点连接起来作为检测子网的输入。 对于这种融合策略,我们可以将检测子网与采用任意格式输入的其他3D检测器交替使用。 例如,当利用基于BEV图或体素的格式的3D检测算法时,语义特征可以充当LIDAR点的额外特征。

损失函数

3D检测子网的损失函数定义如下:

Ldet=Lreg+Lrefine\mathcal{L}_{\mathrm{det}}=\mathcal{L}_{\mathrm{reg}}+\mathcal{L}_{\mathrm{refine}}

Lreg,Lrefine \mathcal{L}_{\mathrm{reg}}, \mathcal{L}_{\text {refine }}和之前论文的定义一致。

为了训练图像分割子网,我们需要一个语义分割标签作为监督。 如(Shi,Wang,and Li 2019)中所述,3D目标彼此不重叠,我们可以从3D检测标签中获得点的分割。 因此,我们可以通过将点分割投影到2D图像平面上来获得稀疏的分割mask,并且仅在监督下计算像素的损失。 为了解决前景和背景之间的不平衡问题,我们使用Focal Loss(Lin等人,2017)为:

Lseg(pt)=αt(1pt)γlog(pt)\mathcal{L}_{\mathrm{seg}}\left(p_{t}\right)=-\alpha_{t}\left(1-p_{t}\right)^{\gamma} \log \left(p_{t}\right)

其中代表地面点,否则为1 − p,p是网络输出的分数。 我们将默认设置αt= 0.25,γ= 2和原始论文保持一致。 因此,总损失为:

L=Ldet+λLseg\mathcal{L}=\mathcal{L}_{\mathrm{det}}+\lambda \mathcal{L}_{\mathrm{seg}}

尽管我们提出的PI-RCNN可以在不对分割数据集进行预训练的情况下进行端到端训练,但我们观察到初始化对于3D检测的性能至关重要。 因此在实践中,我们在语义分割数据集上预训练分割子网,并在训练检测子网时固定分割子网的参数。

总结

在本文中,我们提出了一种基于点的Attent Cont-Conv Fusion(PACF)模块和一个名为PI-RCNN的多传感器多任务3D对象检测网络。 PI-RCNN结合了图像分割和3D目标检测功能。 我们提出的框架简单但有效。 我们提出的PI-RCNN在KITTI 3D检测基准测试中获得了优异的结果。