(阅读笔记)PointRCNN: 3D Object Proposal Generation and Detection from Point Cloud

一、动机和贡献

  • 动机
    (1)从鸟瞰投影、Front投影和球面投影,或从RGB图像生成目标边界框建议,在量化过程中会遭受信息损失,我们直接从原始点云自下而上生成3D边界框建议;
    (2)PointNet和PointNet++的性能严重依赖于二维检测性能,不能利用三维信息的优势来生成鲁棒的边界框建议。
    (3)与二维图像中的目标检测不同,自动驾驶场景中的三维目标是自然、良好分离的,彼此之间没有重叠,而二维图像中目标之间可能存在重叠,这是3D检测和2D检测训练数据之间的关键区别。所有的三维目标分割掩码都可以通过其三维边界框标注直接获得,即将三维框内的三维点视为前景点。
  • 贡献:基于动机(3),我们将基于点的特征提取器扩展到基于三维点云的目标检测,提出了一个两阶段的三维目标检测框架PointRCNN。
    (1)第一个阶段是在自底向上的方案中生成三维边界框,逐点学习点云的逐点特征、分割原始点云,并同时从分割的前景点生成少量3D包围盒建议。该策略避免使用大量的三维锚盒,显著地限制了三维提案生成的搜索空间,节省了大量的计算量。
    (2)第二个阶段是规范三维边界框的细调。将每个三维边界框内的点进行点云区域池化操作,并将池化的点转换为规范坐标,学习局部空间特征,这个过程与第一个阶段学习每个点的全局语义特征相结合,用于目标边界框优化和置信度预测。

二、PointRCNN模型

在这里插入图片描述

1) 通过点云分割自下而上生成3D提案

  1. 学习点云表示:为了学习区分的点特征来描述原始点云,我们利用带多尺度分组的PointNet++网络(点云编码【正卷积】、点云解码【反卷积】)作为点云特征提取backbone,得到编码的逐点特征。

【前景点提供了丰富的信息,以预测其相关的对象的位置和方向。我们设计了自底向上的3D边界框提案生成方法,直接从前景点生成3D边界框提案,即前景分割和3D box提案生成同时进行。经backbone处理后的每个点的特征,分别经过前景掩模预测分支和三维边界框回归分支完成相应任务。】

  1. 前景点分割:即前景掩模预测任务,点分割的真实掩模由3D边界框提供。对于大型的室外场景,前景点的数量通常比背景点的数量要少得多,我们利用焦点损失函数来处理类别(前景点和背景点二分类)不平衡问题。
    在这里插入图片描述

  2. 基于bin的三维边界框生成:即三维边界框回归任务,在训练过程中,三维边界框回归分支从前景点回归三维边界框位置,尽管盒子并没有从背景点回归,但由于点云网络的接受域,背景点也提供了生成边界框的支持信息。
    三维边界框在激光雷达坐标系中表示为 ( x , y , z , h , w , l , θ ) (x,y,z,h,w,l,\theta) (x,y,z,h,w,l,θ),其中 ( x , y , z ) (x,y,z) (x,y,z)为目标中心位置, ( h , w , l ) (h,w,l) (h,w,l)为目标大小, θ \theta θ为鸟瞰目标方向。为了约束三维提案,作者提出了基于bin的回归损失估计目标的三维边界框,即预测3D边界框的中心坐标、目标方向与目标尺寸。本文采用bin-based方法去定位bounding box的中心点;采用Frustum PointNets中的方法回归bounding box的方向与尺寸。
    ① 目标中心点回归
    我们沿着X轴和Z轴将每个前景点的周围区域分割成一系列离散的Bin锚盒,S表示每个前景点在X轴和Z轴方向上的最大搜索范围,每个方向上的搜索范围用等长的bins来表示X-Z平面上不同的目标中心(x, y),(x, y)表示每个锚盒在X-Z平面上的中心坐标,δ表示每个方向上锚盒的长度。
    在这里插入图片描述
    在X轴和Z轴上使用基于交叉熵损失的回归,可以获得更准确鲁棒的中心定位,X轴或Z轴的定位损失包括两项,第一项用于每个X轴和Z轴上的锚盒分类,第二项用于分类锚盒内的残差回归。【注意:前景点一定是锚盒中心,真实边界框的中心不一定是锚盒中心,因此在确定边界框中心点在哪一个锚盒后,还需要在锚盒内进行残差回归。】
    由于大多数目标在Y轴方向上的跨越范围很小,在Y轴上直接使用Smoth L1损失的回归。定位目标可以表述为:
    在这里插入图片描述
    在这里插入图片描述
    ② 目标尺寸回归
    直接进行残差回归,计算 ( r e s h ( p ) , r e s w ( p ) , r e s l ( p ) ) (res_h^{(p)}, res_w^{(p)}, res_l^{(p)}) (resh(p),resw(p),resl(p))
    ③目标方向回归
    将2π方向划分为n个bin,按照x或z预测的方法计算bin的分类 b i n θ ( p ) bin_{\theta}^{(p)} binθ(p),以及在bin中进行残差回归 r e s θ ( p ) res_{\theta}^{(p)} resθ(p)

  • 训练阶段的3D边界框回归损失:
    在这里插入图片描述
  • 推理阶段:前景点与真实边界框进行拟合获得bin和残差,根据bin和残差可以回归前景,获得预测边界框。
    对于基于bin的预测参数x、z、θ,我们首先选择预测置信度最高的bin中心,并添加预测残差,得到细化后的参数;
    对于直接回归的参数y、h、w和l,我们将预测残差加到它们的初始值上。
    在这里插入图片描述
    在推理阶段,为了去除冗余的预测边界框,使用IoU阈值为0.8的NMS,只保留前100个边界框,输入第二阶段进行细化。

2)点云区域池化

为了了解更具体的局部特征,我们对三维边界框内的点特征执行空间区域池化。轻微扩大该边界框,即中心点和方向不变,轻微扩大长宽高。
然后对所有点做一个判断,看看他有没有在这个扩大后的bbox当中,如果有的话,那么这个点的特征也会被加入到后续的细化中。

3)规范3D边框的细调

  1. 坐标规范变换
    为了更好地学习每个目标边界框的局部空间特征,我们将全局特征图分割为若干个点云目标特征图,将每个目标边界框内的集合点转换为相应三维规范坐标系。
    坐标系的x轴和z轴平行于地面,x轴是目标向前的方向,z轴与x轴平面内垂直,y轴垂直于地面;y轴与激光雷达坐标系的y轴保持一致;目标边界框的中心设置为三维坐标系的原点;通过适当的旋转和平移,将边界框的所有池化点坐标转换至规范坐标系中。
    在这里插入图片描述

  2. 目标边界框的空间特征学习
    虽然规范坐标变换能够实现鲁棒的局部空间特征学习,但它不可避免地丢失了每个目标的深度信息,将反应强度特征 r ( p ) ∈ [ 0 , 1 ] r^{(p)} \in [0,1] r(p)[0,1]、分割掩码特征 m ( p ) ∈ { 0 , 1 } m^{(p)} \in \{0,1\} m(p){0,1}、目标至雷达的距离特征 d ( p ) = ( x ( p ) ) 2 + y ( p ) ) 2 + z ( p ) ) 2 d^{(p)} = \sqrt{(x^{(p)})^2 + y^{(p)})^2 + z^{(p)})^2} d(p)=(x(p))2+y(p))2+z(p))2 与目标的局部空间特征组合送入MLP全连接层,然后与全局语义特征进行连接,送入目标分类和回归网络,得到判别特征向量,用于随后的置信度分类和边界框回归。

  3. 目标边界框的损失
    若提议的三维边界框与真实边界框的三维IoU大于0.55,则将该真实边界框分配给该提议,进一步细化该提议边界框。
    在这里插入图片描述
    在这里插入图片描述
    注意:由于聚集的稀疏点通常不能提供足够的建议大小信息(h, w, l),所以我们仍然直接回归大小残差,即训练集中每个类的平均目标大小。
    在这里插入图片描述
    假设目标水平,提议边界框和真实边界框的夹角 θ i g t − θ i \theta_i^{gt} - \theta_i θigtθi在[−π/4,π/4]之间(俩直线的夹角显然在0至90度之间),搜索范围S=π/4,每个bin尺寸为w,训练目标为:
    在这里插入图片描述
    在这里插入图片描述
    模型损失等于分类损失和回归损失之和,B是3D边界框提议集合,Bpos是用于回归的正边界框提议(前景点),prob_i是边界框的估计置信度,label_i是对应的真实标签。
    最后采用采用阈值0.01执行NMS,去除重叠的包围盒,生成被检测目标的三维边界框。(0.01可以是极小的正数,因为三维空间中,目标不存在重叠)

参考文献

  1. PointRCNN:3D Object Proposal Generation and Detection from Point Cloud,CVPR,2019
  2. Pointnet++,NIPS,2017
  3. Focal loss for dense object detection.,IEEE TPAMI, 2018
  4. Frustum PointNets for 3D Object Detection from RGB-D Data,CVPR,2019
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值