PointRCNN: 点云的3D目标生成与检测
PointRCNN: 3D Object Proposal Generation and Detection from Point Cloud
论文地址:https://arxiv.org/abs/1812.04244
代码地址:https://github.com/sshaoshuai/PointRCNN
摘要
本文提出了一种基于点云的三维目标检测方法。整个框架由两个阶段组成:第一阶段用于自下而上的3D方案生成,第二阶段用于在标准坐标系中细化方案以获得最终的检测结果。stage-1子网没有像以前的方法那样从RGB图像或投影点云到鸟瞰图或体素中生成建议,而是通过将整个场景的点云分割成前景和背景,以自下而上的方式直接从点云生成少量高质量的3D建议。第二阶段子网络将每个方案的集合点转换为规范坐标,以学习更好的局部空间特征,并结合第一阶段学习到的每个点的全局语义特征,进行精确的box细化和置信度预测。在KITTI数据集的三维检测基准上进行的大量实验表明,仅使用点云作为输入架构,其性能优于最新的方法,并且具有显著的边缘特征。
本文贡献可以概括为三个方面。
(1) 提出了一种基于自下而上点云的三维包围box方案生成算法,通过将点云分割成前景和背景,生成少量高质量的三维图像方案。从分割中得到的学习点表示不仅有利于方案的生成,而且有助于以后的box求精。
(2) 所提出的规范化三维包围box精化利用了从阶段1产生的高召回box建议,并学习在具有稳健的基于bin的损失的规范化坐标中预测box坐标精化。
(3) 提出的3D检测框架PointRCNN以显著的优势超过了最新的方法,并在截至2018年11月16日所有已发表的3D检测作品中排名第一,只使用点云作为输入测试KITTI板。
在自主驾驶中,最常用的三维传感器是激光雷达传感器,它生成三维点云来捕捉场景的三维结构。基于点云的三维目标检测的难点主要在于点云的不规则性。最先进的三维检测方法要么利用成熟的二维检测,
通过将点云投影到鸟瞰图[14,42,17]中(见图1(a))、正面图[4,38]或规则的三维体素[34,43]中的框架,它们不是最优的,并且在量化过程中遭受信息丢失。
点云三维检测的PointRCNN
在这一部分中,提出了一个两阶段的侦测架构,即PointRCNN,检查来自不规则点云的三维物体。整体结构如图2所示,包括自下而上的3D方案生成阶段和规范化的包围box细化阶段。
Bin-based 3D bounding box generation
在激光雷达坐标系中,三维边界框表示为(x,y,z,h,w,l,θ),其中(x,y,z)是对象中心位置,(h,w,l)是对象大小,θ是鸟瞰图中的对象方向。为了约束生成的3Dbox建议,提出了基于bin的回归损失估计对象的3D包围box。
为了估计物体的中心位置,如图3所示,沿着X和Z轴将每个前景点的周围区域分割成一系列离散的box。
具体地说,为当前前景点的每个X轴和Z轴设置一个搜索范围S,并且每个1D搜索范围被划分为均匀长度δ的box,以表示X-Z平面上不同的对象中心(X,Z)。对于X轴和Z轴,使用基于交叉熵损失的bin分类,而不是使用平滑L1损失的直接回归,可以获得更精确和稳健的中心定位。
最终召回(IoU阈值0.5和0.7)和第一阶段的100个提案被用作评估指标,如图5所示。图中显示了基于全箱的三维包围盒回归损失的有效性。
第一阶段的子网络使用的基于全bin的损失函数比所有其他损失函数获得更高的召回率和更快的收敛速度,这得益于使用先验知识约束目标,特别是定位。基于部分bin的损失具有相似的召回率,但收敛速度慢得多。
完全和部分基于bin的损失都显著高于其他损失函数,特别是在IoU阈值为0.7时。通过改进角度回归指标,基于余弦的改进loss比基于余弦的loss具有更好的召回率。
定性结果
图6显示了在KITTI[7]数据集的测试分割上提出的PointRCNN的一些定性结果。该图像只是为了更好的可视化,PointRCNN只将点云作为输入来生成3D检测结果。
分析了每种类型的特征对细化子网络的影响,去掉其中一个并保持所有其他部分不变。所有实验共用一个固定的一级子网进行公平比较。结果显示在表4。如果不进行正则变换,细化子网络的性能会显著下降,表明将细化子网络转化为正则坐标系可以极大地消除旋转和位置变化,提高第二阶段特征学习的效率。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PointRCNN: 点云的3D目标生成与检测 - Python技术站