本文在点云时空的连接:
http://www.sohu.com/a/330208095_715754
PointRCNN:3D Object Proposal Generation and Detection from Point Cloud
PointRCNN是CVPR2019录用的一篇三维目标检测论文。
摘要
本文中提出了一种PointRCNN用于原始点云的3D目标检测,整个框架包括两个阶段:第一阶段使用自下而上的3D提案产生,第二阶段用于在规范坐标中修改提案获得最终的检测结果。Stage-1阶段子网络不是从RGB图像或者将点云投影到鸟类视图或者体素中,而是通过将整个场景的点云分割为前景点和背景点,以自下而上的方式直接从点云生成少量高质量的3D提案。Stage-2阶段子网络将每个提案的池化的点转换为规范坐标,更好地学习局部空间特征,这个过程与Stage-1中学习每个点的全局语义特征相结合,用于Box优化和置信度预测。对KITTI数据集的3D检测基准的广泛实验表明,该架构优于只是用点云作为输入具有显著边缘的最先进方法。
论文链接:https://arxiv.org/abs/1812.04244
代码链接:https://github.com/sshaoshuai/PointRCNN
主要贡献
作者提出了一种新的三维物体检测器PointRcnn,用于从原始点云中检测三维物体。所提出的Stage-1网络以自下而上的方式直接从点云生成3D方案,比以前的方案生成方法具有更高的召回率。Stage-2网络将语义特征和局部空间特征结合起来,在规范坐标中对提案进行了优化。此外,新提出的基于bin的损失证明了它在三维边界框回归中的有效性。实验表明,在Kitti数据集的3D检测基准上,PointRcnn比以前的先进方法有显著的优势。
本文的主要贡献是:
- 提出一种新颖的自下而上的基于点云的3D边界框提案生成算法,该算法通过将点云分割为前景和 背景对象来生成少量高质量的3D提案。来自分割的学习的点的代表不仅善于生成提案,而且对后面的Box优化也有帮助。
- 提出的规范3D边界框使用了Stage-1阶段生成的高召回框提案,并在带有高鲁棒性的基于区域的损失的规范坐标中学习优化框坐标。
- 提出的3D检测框架PointRCNN优于带有显著边缘的最先进的模型,并且在2018你那11月16日所有已发表的只使用点云作为输入的方法中,在KITTI的3D检测测试中排名第一。
算法框架:
和二维图像的目标检测不同,自动驾驶场景中的三维物体被标注的3D边界框很好地分隔开。也即,用于3D物体检测的数据直接提供用于3D目标分割的语义掩模。这是3D检测和2D检测训练数据之间的差异。在2D目标检测中,边界框只能为语义分割提供弱监督。基于这一观察,作者提出了两阶段的3D目标检测框架—PointRCNN,该框架直接运行在3D点云上,具有高鲁棒性和准确的3D检测性能。如图2所示。
PointRCNN包括两个阶段,第一阶段旨在以自下而上的方案生成3D边界框提案,基于3D边界框生成真实分割掩模,分割前景点并同时从分割点生成少量边界框提案。这样的策略避免了在整个3D空间中使用大量3D锚框。第二阶段进行规范的3D box优化。在生成3D提案之后,采用点云区域池化操作来“pool”来自Stage-1学到的点表示。与直接估计全局box坐标的方法不同,“pooled”3D点被转换为规范坐标并与“pooled”的点特征以及Stage-1的分割掩模组合完成坐标优化。该策略充分利用了Stage-1的分割和提案子网络提供的信息。
作者还提出基于全区域的3D box回归损失以用于提案生成和优化,收敛更快,有更高的召回率。
一、通过点云分割自下而上生成3D提案
提出一种的基于全场景点云分割的精确、鲁棒的三维提案生成算法作为第一阶段子网络。 3D场景中的目标是自然分离的,彼此不重叠。所有三维目标的分割掩模都可以通过3D边界框注释直接获得,即3D框内的3D点被视为前景点。因此,我们建议以自下而上的方式生成3D提案。具体来说,我们逐点学习点的特征、分割原始点云,同时从分割的前景点生成3D提案。基于这种自下而上的策略,避免在3D空间中使用大量预定义的3D框,并且显著限制了生成的3D提案的搜索空间。并且,作者的3D box提案方法比基于3D锚点的提案生成方法有更高的召回率。
- 点云的表示使用带有msg(multi-scale grouping)的pointnet++作为backbone,也可以使用VoxelNet等。
- 前景点分割:作者的三维提案生成方法直接从前景点生成3D box 提案,同时完成前景分割和三维预测框生成。经backbone处理后的每个点的特征,分别经过前景掩模预测分支和三维提案框回归分支完成相应任务。点分割的真实掩模由3D边界框提供。并且使用focal loss来解决室外场景中,由前景点过少带来的类别不平衡问题。
- 基于bin的三维边界框生成:边界回归分支使用前景点回归生成三维提案(要注意,背景点也参与了提案的生成)。为了约束三维提案,作者提出了基于bin的回归损失估计目标的三维边界框。预测3D边界框需要预测中心位置、目标方向与目标尺寸。详见P4。
二、点云区域池化
在获得三维边界框方案后,根据之前生成的框提案来优化框的位置和方向。根据每个3D提案的位置,对每个点及其特征进行池化。稍稍放大后的边界框内的点及其特征将被保留。然后使用分割掩模区分稍微放大框内的前景、背景点。没有内部点的提案将会被消除。
三、规范3D边界框优化
如图2(b)所示,“pooled”点及其相关特征都被送入Stage-2子网络,以优化3D box的位置和前景目标的可信度。经过图4所示的规范坐标转换,更好地学习每个提案的局部空间特征。
之后优化子网络将转换后的局部空间点和Stage-1阶段的全局语义特征结合优化框和置信度。在这里,作者在强度和掩模的基础上,增加了深度信息,经全连接层后,“catenate”全局特征送入网络。同样采用类似基于bin回归的损失用于提案优化。Stage-2的loss整体为:
主要结果:
作者给出了PointRCNN在KITTI数据集上的评估效果。在Sec. 4.1给出了PointRCNN的实施细节,在Sec. 4.2给出了与SOTA的比较,在Sec. 4.3给出了PointRCNN的消融实验分析。详见P6-P8。
作者在KITTI 3D检测标准的测试服务器上提交了PointRCNN的结果,见表1.尤其在汽车和自行车手的检测上有显著的优势。在行人检测方面,比以往只使用激光烈大输入的方法有更好的结果,但是比多传感器的效果较差。
作者在表2中,给出了关于车类别在验证集上与其他previous SOTA的比较。发现在“hard difficulty”,平均精度有8.28%的提升。
表3使用召回率评估了在不同提案数目和3D IoU阈值的情况下提案子网络的性能。虽然提案的召回率与最终的3D物体检测性能有着松散的联系,但出色的召回率仍然表明提案生成网络的稳健性和准确性。
最后的消融实验也分别证明了规范坐标转换的必要性,发现了将提案框扩大1m时精度最高,也证明了基于bin的三维边界框回归损失的有效性。详见Sec.4.3。
Abstract
In this paper, we propose PointRCNN for 3D object detection from raw point cloud. The whole framework is composed of two stages: stage-1 for the bottom-up 3D proposal generation and stage-2 for refining proposals in the canonical coordinates to obtain the final detection results. Instead of generating proposals from RGB image or projecting point cloud to bird’s view or voxels as previous methods do, our stage-1 sub-network directly generates a small number of high-quality 3D proposals from point cloud in a bottom-up manner via segmenting the point cloud of the whole scene into foreground points and back- ground. The stage-2 sub-network transforms the pooled points of each proposal to canonical coordinates to learn better local spatial features, which is combined with global semantic features of each point learned in stage-1 for ac- curate box refinement and confidence prediction. Extensive experiments on the 3D detection benchmark of KITTI dataset show that our proposed architecture outperforms state-of-the-art methods with remarkable margins by using only point cloud as input. The code is available at https://github.com/sshaoshuai/PointRCNN.
请各位关注公众号。更多的文章可以关注公众号查看。
</div>
<link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-60ecaf1f42.css" rel="stylesheet">
</div>