Advertisement

【3D目标检测】IPOD: Intensive Point-based Object Detector for Point Cloud解读

阅读量:

系列文章目录

【论文阅读】PointNet论文解读
【论文阅读】PointNet++论文解读以及代码分析(超全)


文章目录

  • 系列文章目录

  • 前言

  • 一、论文解读

    • 1. 摘要
    • 2. 介绍
    • 3.相关工作
    • 4. 框架
    • 4.3 结果
  • 总结


前言

1、为什么要做这个研究?
F-PointNet过度依赖2D检测的结果,并且不能很好解决遮挡重叠问题。
2、实验方法是什么样的?
作者首先采用2D语义分割网络将语义信息投影到3D点云上区分前景点和背景点,使用PointNet++对每个前景点都预测一个3D proposal,然后采用NMS滤去大部分无用的proposal,同时也用PointNet++对所有点云中的每个点提取一个特征。根据已经预测的3D候选框,随机选取这个候选框里512个点的特征输入到第二阶段网络(一个小的PointNet++)预测最终的3D目标检测结果。
3、得到了什么结果?
结果和F-PointNet相比较为一般,提出了NMS中每个框的得分计算时这个框中所有3D点的得分和以及PointsIoU。


一、论文解读

1. 摘要

作者提出了一种基于原始点云的新型3D目标检测框架,名为IPOD。该框架为每个点都提供了目标建议,得到了较高的召回率和真实性。作者设计了一个端到端的可训练结构。

2. 介绍

作者专注基于点云的3D目标识别,预测场景中每个目标的3D bounding box以及分类标签。

  • 挑战:点云的稀疏、无序以及不均匀分布。F-PointNet的缺陷在于通过2D目标检测结果在点云中获取该目标的视锥,然后应用PointNet,导致其3D检测的性能很大程度上依赖2D检测的结果,并且容易受到遮挡物和杂乱物体的影响,这也是2D目标检测器的通病。
  • 贡献:提出了点云中的每个点都用来生成一个候选区,在一个proposal生成模块上有效地选择具有代表性的目标proposal以及相应的ground truth标签。

3.相关工作

  • 3D语义分割:介绍了3种解决点云语义分割问题的方法。
  • 3D目标检测:基于体素网格、基于多视图和基于原始点云的方法。

4. 框架

4.1 基于点的候选框生成
框架如下图所示,第一部分通过在2D图像上做语义分割,将分割的结果投影到3D点云用于区分前景点和背景点;第二部分使用PointNet++在前景点组成的3D点集合里对每个前景点都预测一个3D proposal,并按照作者提出的PointsIoU进行NMS,同时利用PointNet++对点云中所有点都进行特征提取;第三部分由主干网、候选区特征生成模块以及边界盒预测网络组成,对生成的候选区做进一步分类和回归,获得最后的3D检测框。

选择正例的3D点: 第一步通过2D语义分割网络预测前景点,利用给定的相机矩阵将其投影到点云中作为遮罩,获得正例的3D点。3D边界框内的正例点是聚类的,以每个点为中心生成多个尺度、角度和位移的候选框,这些候选框可以包括目标的绝大部分3D点。
减少proposal: 通过正例点预测出的proposal大概有6万个,其中大部分都是多余的,因此通过非极大抑制(NMS)消除冗余的proposal。
非极大值抑制(Non-Maximum Suppression,NMS),对于Bounding Box的列表B,选中最高分及其对应的候选框,将B中剩余候选框与当前最高分框的重叠面积(IOU)大于阈值的框删除,将最高分框加入结果集中,重复该过程直至B为空。这里的NMS具体操作为:

  • 计算每个proposal的得分,这个得分取该候选框里所有3D预测点的语义分割得分之和。
  • 计算PointIoU,两个候选框交集部分的3D点数量与两个候选框并集的3D点数量之比。

经过该操作,候选框只剩下500个左右。
减少歧义: 存在一种模糊的情况如图4a所示,两个不同候选框包含同一组3D点,因此这两个候选框的得分是一样的,由于每个proposal的特征通过内部3D点产生,因此这样会得到相同的特征表示,导致相同的分类或回归预测,但是最后的3D边界框的位置却不一样。这样就造成了矛盾,需要将这两个候选区域合并,合并方法就是取一个新的3D候选框的中心点以及一个预先定义的anchor size(锚框尺寸)。
图4b是另一种歧义,如果采用2D目标检测通过重叠面积计算IoU,那么候选框A会被删除,候选框B会被留下。实际上候选框A包括了ground-truth box的所有3D点,并且重叠严重,这应该是一个积极的proposal;而候选框B的IoU值低,建议为否定,但也包含了大多数ground-truth box的3D点。实际上,候选框A和B的判定应该是相近的,在3D目标检测中,重合面积不重要,重要的是内部点,因此需要修改IoU的计算方法,使用PointIoU。
在这里插入图片描述
4.2 网络架构
网络需要给每个实例生成带有精确定位信息的正确类别标签,由骨干网、候选区特征生成和Bounding-Box预测网络组成。
骨干网: 骨干网基于PointNet++对点云中所有点提取特征,每个点都由坐标和反射率值([x, y, z, r]) 参数化,通过多个SA层和FP层,可以有效收集点云的局部特征,扩大每个特征点的感受野(此处不理解可以去看【论文阅读】PointNet++论文解读以及代码分析(超全))。对于N×4个输入点,网络输出为N×C的特征图,见图6a。在这里插入图片描述
候选框特征生成: 候选框特征是要输入到第二阶段网络(图6b)进行最终预测的区域特征,包括两个部分。一部分是从提取的特征途中裁剪出来的,每个候选框都随机选择512个点,如果候选框中没有512个点,就随机从背景点中选一些补齐到512个点特征;另一部分就是这512个点的归一化坐标。将这两部分联合起来经过一系列变换得到最终的候选框特征。
在这里插入图片描述
Bounding-Box预测网络: 对于每一个proposal都用一个小的PointNet++来预测其类别、尺寸比、中心残差和方向,网络详细结构见图6b。作者采用3个带有MLP层的SA模块进行特征提取,在其中采用平均池化生成全局特征(原SA采用的是最大池化),r 为区域球的半径,c=[64,64,128] 表示MLP列表。
对于尺寸比例,作者直接以(t_l, t_h, t_w)为参数,对实际尺寸比例和预测框尺寸比例进行回归。作者通过T-Net预测了候选框中心到ground-truth中心的偏移(t_x, t_y, t_z)。因此最终中心预测是通过(C_{pro} + \Delta C_{ctr} + \Delta C^*_{ctr} ),其中(C_{pro}, \Delta C_{ctr}, \Delta C^*_{ctr} )分别表示候选框的中心,T-Net的预测以及bounding-box预测网络预测结果的偏移量。
损失函数: 作者采用多任务损失来训练网络,损失函数见公式1。
在这里插入图片描述
其中,L_{cls}是分类标签的损失,L_{loc}表示位置回归损失,L_{ang}L_{cor}是角度损失和转角损失。s_iu_i分别是预测框 i 的预测语义分数和真实标签,N_{cls}N_{pos}是候选区的数量和正样本的数量。[u_i \geq 1] 表示当u_i \geq 1结果为1,否则为0。L_{cls}使用的是softmax交叉熵损失。
作者通过候选区的中心(p_x, p_y, p_z)、大小(p_l, p_h, p_w)、角度p_{\theta}和ground-truth的中心(g_x, g_y, g_z)、大小(g_l, g_h, g_w)、角度g_{\theta}作为参数。位置回归损失由T-Net中心估计损失,中心残差预测损失和大小残差预测损失组成。
在这里插入图片描述
L_{dis}是smooth-l_1 loss,t_{ctr}t^*_{ctr}是通过T-Net和回归网络得到的预测中心残差,v_{ctr}v^*_{ctr}是前两者的目标。t^*_{size}是预测的尺寸比例,v^*_{size}是真实的尺寸比例。

角度损失包括方向分类损失和残差预测损失。
在这里插入图片描述
转角损失是预测的8个拐角与真实情况之间的距离。
在这里插入图片描述

4.3 结果

与其他网络的对比
在这里插入图片描述

总结

作者提出的IPOD可以直接在点云上进行目标检测。

全部评论 (0)

还没有任何评论哟~