【3D目标检测】IPOD: Intensive Point-based Object Detector for Point Cloud论文综述(2018)
1、 为什么要做这个研究(理论走向和目前缺陷) ?
F-PointNet过度依赖2D检测的结果,且不能很好出遮挡重叠问题。
2、 他们怎么做这个研究 (方法,尤其是与之前不同之处) ?
先用2D分割网络滤除3D点云中的背景点以节约计算量和减少无用3D候选框的预测,然后用PointNet++对每个前景点中预测3D候选框,同时用也用PointNet++对所有原生点云中的每个点提取一个特征。根据已经预测的3D候选框,找到这个候选框里的所有的点特征输入到第二阶段网络(又是一个简版的PointNet++)预测最终的3D目标检测结果。
3、 发现了什么(总结结果,补充和理论的关系)?
感觉就像一个把F-pointnet中的有2D检测器替换为一个2D分割器,其他好像创新不大。但文中提出了一些比较有意思的trick,比如预测的3D候选框要做NMS时的每个框得分的计算是这个候选框里所有3D点的得分和,IOU的计算用的两个3D框交集里的3D点数目比上2个3D框并集里的3D框数目。
摘要:提出的3D目标检测网络IPOD利用的是原生点云数数据。
1、 引言
使用点云数据的挑战:点云稀疏,无需,不均匀分布。F-PointNet的缺陷就是3D检测的结果过度依赖2D检测的准确率,且不能很好处理遮挡和重叠的问题。
贡献:为了解决上述问题,提出点云中的每个点都用来生成一个候选区,这个候选区的点云输入到PointNet中来推断最终的3D目标检测结果。
2、 相关研究
3D语义分割:介绍了一系列对3D点进行分割的方法,比如pointNet。
3D目标检测:1)基于体素化的方法2)基于投影的方法3)原生点云的方法。
3、 框架
路线如下图所示,就是先用2D语义分割器(Deeplab-v3)在图像上做语义分割,分割的结果投影到3D点云里用于区分前景点和背景点。在点云中筛选出的前景点,用pointNet++在前景点组成的3D点集合里对每个前景点都预测一个3D候选区(并按一定规则做NMS),同时用PointNet++对所有原生点云(包括前景点后背景点)中的每个点都预测一个特征。然后对每个3D所有3D点的特征用PointNet++做进一步分类和回归,预测出最终的3D 检测框。
选择正例3D点:第一步是用2D语义分割网络做语义分割,然后用预测的mask投到点云上过滤掉背景3D点,正例点未这些前景点中的在gt框里的点,然后用pointnet++网络对每个正例点预测一个得分以及3D框,此过程如下左图所示。
即使去掉了背景点,利用前景点中的正例点预测出的候选框很多(大约6万个),故要做NMS去除冗余框。这里NMS具体操作就是,首先计算每个候选框的得分,这个得分取这个候选框里所有3D点预测得分之和。IOU的计算是计算两个候选框的交集部分的3D点数量与两个候选框并集里的3D点数量之比,这个IOU计算的设计被命名为PointIOU(每个框的得分和IOU计算是NMS操作中的重要两步)。经过这个操作,剩下的3D候选区大概只有500个了。
去除矛盾:有一种模棱两可的情况如下图(Fig 4(a))所示,两个候选区包含的是同一组3D点,故这两个候选区的得分是一样的(得分=候选区内所有3D的得分和),同时在第二步网络中预测的候选区的偏移也是一样的(这个偏移预测是通过将候选区内所有点对应的特征输入到第二阶段网络,即另外一个PointNet++网络获得的),但是最后得到3D检测框却是不同的,因为这两个3D候选区的位置是不一样的。这就造成了矛盾,为此需要将这两个候选区进行合并,合并方法就是取一个新的3D候选的中心点(这些3D的中心点)以及一个预先定义的anchor size。
3.2 网络架构
主干网络:即对全部原生点云进行处理的那个网络,即PointNet++,得到了每个3D点对应的特征。
候选区特征生成:候选区特征即要输入到第二阶段网络进行最终预测的的区域特征。由于每个候选区中最多取512个点对应的特征,如果这个候选区里没有512个点,就随机的从背景点里挑一部分补齐到512个点特征,这512个点特征联合这些点的3D位置经过一系列变换生成最终的候选区特征。下图5是第二阶段网络的处理过程。
最终3D框预测网络(第二阶段网络):用的还是PointNet++网络。
主干网络和第二阶段网络结构如下图:
4 实验
与其他方法对比:
失败案例:
4.3 消融实验
5 结论
提出了IPOD网络,能够利用直接利用点云做密集3D预测。