【论文速览】PV-RCNN: Point-Voxel Feature Set Abstraction for 3D Object Detection

摘要

提出了一种新的高性能的三维目标检测框架:PointVoxel-RCNN(PV-RCNN),用于从点云中精确检测三维目标。该方法将3D体素卷积神经网络(CNN)和基于PointNet的集合抽象有机地结合起来,以学习更具鉴别能力的点云特征。它利用了3D体素CNN的高效学习和高质量提案以及基于PointNet的感受野可变的优势。具体地说,该框架通过一个新的体素集抽象模块将具有3D体素CNN的3D场景总结成一个小的关键点集,以节省后续计算,并对具有代表性的场景特征进行编码。考虑到体素CNN生成的高质量3D提案,使用RoIgrid池化,通过具有多个感受野的关键点集抽象将提案特定的特征从关键点抽象到RoI-grid点。与传统的池化操作相比,RoI-grid特征点编码更丰富的上下文信息,以准确估计对象的密度和位置。在KITTI数据集和Waymo开放数据集上进行的大量实验表明,PV-RCNN仅使用点云就可以在显著的边缘上超越最新的3D检测方法。
论文链接:https://arxiv.org/pdf/1912.13192.pdf

主要贡献

在本文中,我们建议通过设计新颖的点体素集成网络以从不规则点云中学习更好的3D特征来实现高性能3D对象检测。该文将point based方法与voxel based方法结合的新型网络结构,结合voxel方法卷积的高效和提取特征的有效性,又结合利用原始点云的精确的位置信息和pointNet++感受野(也即半径大小)设置的灵活性。PV-RCNN为结合这两种方法的算法,采用multi-scale的方法获得由voxel_based方法得到的高质量的proposals,然后再利用Point_based的方法获得精细的局部信息。在每一个3D proposals内平均的采样一些Grid-point,然后再通过最远点采样的方法得到该Grid_point周围的点,再通过结合去进一步refine最后的proposals。 但是,由于体素的数量和网格点的数量都可能很大,以实现令人满意的性能,因此该策略需要占用大量内存。因此,作者采用两阶段的方法去更好的结合上述的两种算法的优点。第一阶段为:“voxel-to-keypoint scene encoding step ”,这一步是提出proposals,作者首先对整个场景采用voxel的方法进行特征提取,同时采取一支分支对场景采用point的FPS采样,然后检索得到多尺度的voxel的特征。这样实际上仅仅是采用了voxel的特征,但是表示在key-point身上。(2)第二阶段为‘keypoint-to-grid RoI feature abstraction’:这一步骤,作者提出了一个新的RoI-grid pooling module,该模块将上一步骤的keypoints的特征和RoI-grid points特征融合。然后,所有RoI-grid points的聚合特征共同用于后续的提案优化。
【论文速览】PV-RCNN: Point-Voxel Feature Set Abstraction for 3D Object Detection_第1张图片
本文的主要贡献是:
(1)提出了PV-RCNN框架,该框架有效地利用了基于体素和基于点的方法进行3D点云特征学习,从而通过可管理的内存消耗提高了3D目标检测的性能。
(2)提出了体素到关键点场景编码方案,该方案通过体素集抽象层将整个场景的多尺度体素特征编码为一小组关键点。这些关键点功能不仅可以保留准确的位置,还可以对丰富的场景上下文进行编码,从而显著提高3D检测性能。
(3)为每个提案中的网格点提案一个多尺度RoI特征抽象层,该层将来自场景的丰富上下文信息与多个感受野进行聚合,以进行精确的框优化和置信度预测。
(4)提出的方法PV-RCNN以显著的优势胜过所有先前的方法,在竞争激烈的KITTI 3D检测基准测试中排名第一[10],并且在大规模Waymo Open数据集上也以较大的优势超越了先前的方法。

算法框架:

【论文速览】PV-RCNN: Point-Voxel Feature Set Abstraction for 3D Object Detection_第2张图片
如图所示,整个框架有以下几个步骤:
• 将原始点云用3D sparse convolution生成网格化的特征。
• 将下采样八倍的特征图投影到BEV(将Z轴特征堆叠到一起,生成俯视图)。生成3D推荐框,每一个像素每一类生成两个推荐框,分别是0度和90度。和前面两种方法不一样,这篇论文使用的是anchor-base的方法,但是具有更高的recall值。
• 用FPS(最远点采样),采样到分布均匀的KeyPoint。
• 用类似pointNet++,set abstraction的方式,将Keypoint半径大小以内的voxel特征进行聚合,得到具有精确位置信息,不规则的点云特征。
• Predicted Keypoint Weighting模块,每一个关键点的权重是不一样的,主要是在于作者认为前景点的权重要大于背景点的权重影响。
• Keypoint-to-grid,一样通过set abstraction方式进行聚合成规则的网格信息,红色点为网格点不是真实点云中的点,黄色为Keypoint,生成特征之后进行refine推荐框。

算法分为两阶段,第一阶段为:“voxel-to-keypoint scene encoding step ”,如下表示。
【论文速览】PV-RCNN: Point-Voxel Feature Set Abstraction for 3D Object Detection_第3张图片
Keypoints Sampling
采用FPS,对KITTI数据集的关键点个数为2048,对waymo数据集为4096个点。用于代表整个场景的特征信息。
Voxel Set Abstraction Module
作者自行设计了Voxel Set Abstraction (VSA) module这样的一个模块,这个模块的作用是将keypoint周围非空的voxel特征采集出来结合在一起,原文用了很多数学表达,含义大致如此。
Extended VSA Module
进一步的在二维上,采用的是双线性插值得到关键点投影到BEV上的特征。最终的特征将有三部分组成,分别是来自voxel语义信息, 来自原始点云的特征信息,来自BEV的高级信息
Predicted Keypoint Weighting.
(1)上述的特征融合实际上都是为了进一步的refine做准备,第一阶段的proposals实际上是由voxel-based的方法提出来的,这一步 Keypoint Weighting的工作是为了给来自背景和前景的关键点一个不一样的权重,使得前景对refine的贡献更大。也即前景点的predict和特征相乘,这样前景点的权重就会大于背景点。
(2)为了做这样的一个工作,作者设计了如下的网络结构。这里面的Label对应的是是否在gt内,采用fcoal_loss。

【论文速览】PV-RCNN: Point-Voxel Feature Set Abstraction for 3D Object Detection_第4张图片
(2)第二阶段为‘keypoint-to-grid RoI feature abstraction’,前文提到通过3D稀疏卷积处理voxel已经得到了比较好的精度的proposals,但是多尺度的keypoint的特征是为了进一步refine结果。因此作者在这个阶段提出了keypoint-to-grid RoI feature abstraction模块。如下:

【论文速览】PV-RCNN: Point-Voxel Feature Set Abstraction for 3D Object Detection_第5张图片
如图所示,红点代表网格点,淡黄表示KeyPoint,深黄表示原始点。用网格点为中心,设置可变半径去聚合附近的KeyPoint的特征,将KeyPoint的特征规则化,重新变为Voxel类型的特征。这样做有两个好处:1. 提取Voxel特征时可以采集到框以外,物体边界的信息,对推荐框refine有好处。2. 大大减少了0值特征,减少了特征空间的稀疏性。
作者在每个proposals中都采样6×6×6个grid points.首先确定每一个grid-point的一个半径下的近邻,然后再用一个pointnet模块将特征整合为grid_point的特征,这里会采用多个scale的特征融合手段。得到了所有的grid-point的点特征后,作者采用两层的MLP得到256维度的proposals的特征。

3D Proposal Refinement and Confidence Prediction
作者在confidence prediction branche 这一分支上采用了前人提出的 3D Intersection-over-Union (IoU),对于第k个ROI的置信度的目标是如下公式:
在这里插入图片描述
该公式中表示第k个ROI对应的GT,因此confidence prediction branche的LOSS函数采用的是交叉熵loss:
在这里插入图片描述

训练loss
RPN loss
在这里插入图片描述
Keypoint seg loss 即为前背景关键点的权重loss
refinement loss 定义如下:
在这里插入图片描述

主要结果

在两个数据集上的性能如下:

【论文速览】PV-RCNN: Point-Voxel Feature Set Abstraction for 3D Object Detection_第6张图片
在这里插入图片描述

Abstract
We present a novel and high-performance 3D object detection framework, named PointVoxel-RCNN (PV-RCNN), for accurate 3D object detection from point clouds. Our proposed method deeply integrates both 3D voxel Convolutional Neural Network (CNN) and PointNet-based set abstraction to learn more discriminative point cloud features. It takes advantages of efficient learning and high-quality proposals of the 3D voxel CNN and the flexible receptive fields of the PointNet-based networks. Specifically, the proposed framework summarizes the 3D scene with a 3D voxel CNN into a small set of keypoints via a novel voxel set abstraction module to save follow-up computations and also to encode representative scene features. Given the highquality 3D proposals generated by the voxel CNN, the RoIgrid pooling is proposed to abstract proposal-specific features from the keypoints to the RoI-grid points via keypoint set abstraction with multiple receptive fields. Compared with conventional pooling operations, the RoI-grid feature points encode much richer context information for accurately estimating object confidences and locations. Extensive experiments on both the KITTI dataset and the Waymo Open dataset show that our proposed PV-RCNN surpasses state-of-the-art 3D detection methods with remarkable margins by using only point clouds.

你可能感兴趣的:(深度学习,三维点云,目标检测)