[论文阅读]PV-RCNN——基于Point-Voxel特征集抽象的3D目标检测

PV-RCNN

PV-RCNN: Point-Voxel Feature Set Abstraction for 3D Object Detection
用于三维目标检测的点体素特征集提取
论文网址:PV-RCNN
PV-RCNN

摘要

本文提出了一个新颖高效的3D目标检测框架PointVoxel-RCNN(PV-RCNN),通过深度集成体素卷积神经网络(CNN)和基于PointNet的集聚,来学习更加鉴别化的点云特征。它同时利用了体素CNN的高效学习和高质量提议生成,以及PointNet基础网络的灵活感受野。具体来说,该框架用一个新颖的体素集聚模块总结了3D场景的信息到一小批关键点上,以节省后续计算并编码代表性的场景特征。给定体素CNN生成的高质量3D提议,本文提出了RoI-grid池化操作,通过多尺度感受野的关键点集聚,从关键点抽取提议相关特征到RoI-grid点上。与传统的池化操作相比,RoI-grid特征点编码了更丰富的上下文信息,可以更准确的估计目标置信度和位置。在KITTI和Waymo开放数据集上的大量实验表明,PV-RCNN使用仅点云输入就明显超过了目前最先进的3D检测方法。

引言

3D目标检测近年来因其在自动驾驶和机器人等领域的广泛应用而越来越受到业界和学界的重视。激光雷达传感器广泛地被用于自动驾驶车辆和机器人,以采集稀疏不规则的点云数据,为3D场景感知和理解提供重要信息。本文提出通过设计新颖的基于点和基于体素的网络来学习点云特征,以实现高性能的3D目标检测。
大多数现有的3D检测方法可以根据点云表示分为两类,即基于栅格的方法和基于点的方法。基于栅格的方法通常将不规则的点云转换为规则的表示,如3D体素或2D鸟瞰图,然后可以使用3D或2D卷积神经网络高效地处理点云特征用于检测。在PointNet及其变体的引领下,基于点的方法直接从原始点云中提取鉴别特征用于3D检测。一般来说,基于栅格的方法计算上更高效,但不可避免的信息损失降低了定位精度,而基于点的方法计算成本更高,但可以通过点集抽象更容易获得更大的感受野。然而,本文发现一个统一的框架可以整合这两类方法的优势,并以显著的优势超过目前最先进的3D检测方法。
本文提出了一个新颖的3D目标检测框架PointVoxel-RCNN(PV-RCNN),它可以有效利用基于体素和基于点的两种特征表示方法的优势,从而导致3D目标检测性能的提升,同时保持可管理的内存消耗。PV-RCNN的原理在于:基于体素的操作可以高效地编码多尺度特征表示,生成高质量的三维图像;而基于PointNet的集合抽象操作可以保持准确的位置信息,具有灵活的感受野。 本文认为,这两种特征学习框架的集成可以帮助学习更有区分度的特征,从而实现精确的细粒度框精化。
PV-RCNN
本文的主要贡献可以总结为四点。(1)我们提出的PV-RCNN框架可以有效利用基于体素和基于点的两种方法进行3D点云特征学习,导致3D目标检测性能的提升,同时保持可管理的内存消耗。(2)我们提出了体素到关键点的场景编码方案,它将不同尺度的体素特征编码到一小批关键点上。这些关键点不仅保留了精确的位置信息,还编码了丰富的场景上下文,从而显著提升了3D检测性能。(3)我们为每个提议中的网格点提出了多尺度的RoI特征抽取层,它聚合了具有多个感受野的场景特征,以进行精确的提议细化和置信度预测。(4)我们提出的PV-RCNN方法明显优于之前所有方法,在高度竞争的KITTI 3D检测基准测试中排名第一,并且在大规模的Waymo开放数据集上也优于之前的方法。

相关工作

基于栅格的3D目标检测方法

为了处理点云的不规则数据格式,大多数现有的工作通过将点云投影到规则栅格上来进行处理,以便用2D或3D卷积神经网络进行处理。先驱工作MV3D将点云投影到2D鸟瞰图上,并放置了许多预定义的3D锚框来生成3D边界框,后续工作在鸟瞰表示的基础上开发了更好的多传感器融合策略,而[Pixor,Hdnet,Pointpillars]提出了更高效的框架。其他一些工作[VoxelNet]将点云划分为3D体素进行3D卷积神经网络处理,并引入了3D稀疏卷积来实现有效的3D体素处理[Second]。[Voxel-fpn]利用多个检测头,而[From points to parts]探索了对象部分位置以改进性能。这些基于栅格的方法通常可高效生成精确的3D提议,但是它们的感受野受限于2D/3D卷积核的大小。

基于点云的表示学习

在点云上的表示学习最近几年受到了广泛的关注,以提高点云分类和分割的性能。在3D检测方面,先前的方法通常将点云投影到规则的鸟瞰网格或3D体素上,以使用2D/3D CNN处理点云。3D稀疏卷积在[Second,From points to parts]中被采用来有效地从点云中学习体素级特征。[PointNet,PointNet++]提出了PointNet来直接从原始点云中学习点级特征,其中聚集操作实现了通过设置不同的搜索半径来获得灵活的感受野。[Point-voxel CNN for efficient 3d deep learning]结合了体素级CNN和基于SharedMLP的点级特征来进行有效的点云特征学习。相比之下,本文提出的PV-RCNN整合了体素表示的优势(即3D稀疏卷积)和基于PointNet的特征学习(即聚集操作),以实现高质量的3D提议生成和灵活的感受野,从而提高3D检测性能。

PV-RCNN for Point Cloud Object Detection

本文提出了PointVoxel-RCNN (PV-RCNN),这是一个两阶段的3D检测框架,目的是从点云中进行更准确的3D目标检测。最先进的3D检测方法基于体素CNN或基于PointNet的网络。一般来说,采用3D稀疏卷积的体素CNN更高效,并且能生成高质量的3D对象提议,而基于PointNet的方法则可以获取更准确的上下文信息,具有灵活的感受野。
PV-RCNN深度集成了这两类网络的优势。如下图所示,PV-RCNN由采用稀疏卷积的3D体素CNN作为主干网络,实现有效的特征编码和提议生成。给定3D体素CNN生成的每个3D对象提议,为了有效地从场景中汇聚其对应的特征,本文提出了两个新颖的操作:体素到关键点的场景编码,它将整个场景的所有体素汇总到少量特征关键点中,以及点到网格的RoI特征抽取,它有效地将场景的关键点特征聚合到RoI网格上,进行提议的置信度预测和位置优化。
PV-RCNN

3D体素CNN进行高效的特征编码和提议生成

采用3D稀疏卷积的体素CNN是目前最先进3D检测器的热门选择,由于其高效性和准确性,本文采用它作为框架的主干网络,进行特征编码和3D提议生成。
3D体素CNN:输入点首先被划分成体素,每个体素的特征直接计算为体素内所有点的点特征均值。常用的特征是3D坐标和反射强度。网络使用一系列3x3x3的3D稀疏卷积层逐步将点云转换为具有1x,2x,4x,8x下采样率的特征体积。可以看做是一组体素级特征向量。
3D提议生成:通过将编码的8x下采样3D特征体积转换为2D鸟瞰特征图,按照基于锚框的方法生成高质量3D提议。具体来说,本文沿Z轴堆叠3D特征体积以获得L/8 x W/8的鸟瞰特征图。每个类别有2 x L/8 x W/8个3D锚框,采用该类别的平均3D目标尺寸,并对鸟瞰特征图的每个像素评估0度和90度方向的两个锚框。实验表明,所采用的基于3D体素CNN的锚框方案比基于PointNet的方法具有更高的召回率。
讨论:目前最先进的检测器大多采用两阶段框架。它们需要从结果3D特征体积或2D图中汇聚RoI特定特征进行进一步的提议优化。但是,来自3D体素CNN的这些特征体积在以下方面存在主要局限性。(i)这些特征体积的空间分辨率通常很低,因为它们被下采样了多达8倍,这阻碍了对输入场景中对象的精确定位。(ii)即使可以上采样以获得更大的空间尺寸,它们通常仍然非常稀疏。常用的三线性或双线性插值在RoIPooling/RoIAlign操作中只能提取非常小邻域(即双线性和三线性插值的4个和8个最近邻)的特征。因此,传统的池化方法获得的特征大部分为零,在二级优化中浪费了大量计算和内存。
另一方面,PointNet系列中的聚集操作已经展示了从任意大小的邻域编码特征点的强大能力。因此,本文提出集成3D体素CNN和一系列聚集操作,进行准确稳健的二级提议优化。
一种朴素的解决方案是使用聚集操作直接聚合场景中的所有特征体素到RoI网格上。但是,这种直觉策略仅占用了大量内存且运算效率低。例如,来自KITTI数据集的一个常见场景可能在4x下采样特征体积中产生18,000个体素。如果每个场景使用100个框提议,每个框提议有3x3x3个网格。那么2700x18000的成对距离和特征聚合运算是无法有效计算的,即使进行了距离阈值化处理。
为了更好地集成这两种类型的点云特征学习网络,本文提出了第一阶段的体素到关键点场景编码和第二阶段的关键点到网格RoI特征抽取的两步策略。

通过体素聚集进行体素到关键点的场景编码

1.使用最远点采样算法从输入点云中均匀采样N个关键点(例如2048个)。
2.对提取的多尺度体素特征,包括1倍、2倍、4倍、8倍下采样的特征体积,进行体素集聚。
3.对每个关键点,识别它在当前层级下位于一定半径内的周围体素(如0.4m、0.8m等)。
4.对周围体素应用PointNet块,输入是体素特征向量以及相对坐标(体素坐标-关键点坐标),输出是关键点在当前层级的特征。
5.通过多个半径采样周围体素,然后拼接它们的PointNet特征,获得该关键点在当前层级的多尺度特征。
6.将所有层级的特征拼接,得到每个关键点编码了多尺度语义信息的特征向量。
7.还可以融合来自原始点云和BEV特征的关键点特征,形成最终的语义丰富的关键点特征。
8.对所有关键点重复上述操作,完成整个场景到关键点的多尺度特征编码。

预测的关键点加权:在整个场景被编码为少量关键点之后,它们将被后续阶段进一步利用来进行提议优化。关键点是由最远点采样策略选择的,其中一些可能仅代表背景区域。直觉上,属于前景目标的关键点应该对提议的精确优化做更大贡献,而来自背景区域的关键点贡献应较小。
因此,本文提出了预测的关键点加权(PKW)模块,使用来自点云分割的额外监督重新分配关键点特征的权重。分割标签可以直接由3D检测框注释生成,即通过检查每个关键点是否在某个真值3D框内,因为自动驾驶场景中的3D对象在3D空间中自然分离。每个关键点特征的加权表示 ̃f§i可以表示为:
̃f§i = A(f§i) · f§i
其中A(·)是一个三层MLP网络,带有sigmoid函数以预测[0,1]之间的前景置信度。
PKW模块通过默认超参数采用focal loss进行训练,以处理训练数据集中前后景点的不平衡数量。
1.在经过体素-关键点编码之后,得到了每个关键点的初始特征表示,包含各个尺度的语义特征。
2.这个时刻,引入PKW模块对关键点进行再加权,目的是区分前后景。
3.PKW包含一个小的全连接网络,输入是关键点初始特征,输出是0-1之间的前景概率。
4.利用关键点的前景概率作为权重,重新加权关键点的特征。
5.新的关键点特征将传递给后续的RoI特征提取模块。
6.PKW模块是有监督训练的,监督信号来自关键点是否在GT框内,属于前景的关键点特征会被增强。
7.这样可以抑制背景区域的关键点对检测的负面影响,提升网络对前景目标的敏感性。

基于关键点的网格RoI特征抽取进行提议优化

1.对每个生成的3D提议框(RoI),在其范围内均匀采样216(6x6x6)个网格点。
2.对每个网格点,找到半径r范围内的K个邻近关键点。
3.拼接关键点特征和相对坐标(关键点坐标 - 网格点坐标),输入到PointNet中。
4.PointNet生成该网格点综合了K个关键点特征的新特征。
5.通过多个半径r采样关键点,得到该网格点的多尺度特征。
6.对所有216个网格点重复步骤2-5,得到该RoI内所有网格点的特征。
7.将所有网格点特征拼接,通过MLP转换为256维,得到该RoI区域的特征。
8.将RoI特征输入到两个子网络:
a) 置信度预测分支:预测RoI包含物体的置信度
b) 坐标回归分支:预测RoI的精确物体位置和大小
9.训练时,置信度预测使用IoU预测;坐标回归使用Smooth L1 loss。

training losses

PV-RCNN中的训练损失可以分为三部分:
1.RPN损失 Lrpn
RPN阶段是基于3D体素的,损失包含分类损失和回归损失:

  • 分类损失Lcls使用focal loss,处理正负样本不均衡问题
  • 回归损失是 Smooth L1 loss,预测的残差和GT回归目标之间的loss

2.关键点分割损失 Lseg

  • 对预测的每个关键点前景概率,使用focal loss与GT分割标签计算loss

3.提议网络损失 Lrcnn

  • 包含分类损失Liou和回归损失两部分
  • 分类损失使用IoU预测,输入是RoI特征,目标是RoI和GT的IoU
  • 回归损失同样是Smooth L1 Loss

总的训练Loss为上面三个Loss的加权和,论文中权重系数都为1。
L = Lrpn + Lseg + Lrcnn
整个网络端到端训练,Loss反向传播可以更新RPN中的3D卷积权重,也可以更新后续关键点、RoI特征提取以及回归子网络的权重,实现联合优化。

结论

本文提出了PV-RCNN框架,这是一种从点云进行精确3D目标检测的新颖方法。本文的方法深度集成了基于体素的特征和基于点集的特征到一小部分关键点中,通过新提出的体素集聚层实现,然后关键点特征聚合到RoI网格点上,具有多个感受野,以捕获更丰富的上下文信息进行精细提议优化。在KITTI数据集和Waymo开放数据集上的实验结果表明,本文提出的体素到关键点的场景编码和关键点到网格的RoI特征抽取策略明显提高了3D目标检测性能,与之前最先进的方法相比取得显著改进。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一朵小红花HH

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值