PointGroup: Dual-Set Point Grouping for 3D Instance Segmentation

本文介绍一篇cvpr2020里面关于点云实例分割的文章。
论文
目前还没有开源代码

1. 问题

和2D图片不同,3D点云不存在遮挡现象,存在大量的void space, 本文想充分利用void space 进行分割。

2. 思想

那么如何利用这些void space 呢?

本文采取一种shift的思想,正因为void space的存在,使我们shift各个instance存在可能。即各个instance之间距离在变大的同时,不会发生重叠。【点云识别】PointGroup: Dual-Set Point Grouping for 3D Instance Segmentation (CVPR 2020)
再结合题目,就很清楚本文的主要思想了。

通过网络产生相对于实例中心点的offset, 然后产生两组 cluster set。一组是加上了偏移的,另一组是没有加偏移的原始集合。对这两组点集进行emerge ,然后通过网络进行最终的instance segmentation。

所以本文主要包括三个module, 一个提取特征的网络,一个聚类偏移模块和最后ScoreNet。

3. 算法

3.1 Backbone Network

主干网络上应该是没有创新的,沿用了3D semantic segmentation with submanifold sparse convolutional networks的架构

Offset Prediction Branch

这个offset分支就是用来产生偏移的,对此作者加了些约束。
【点云识别】PointGroup: Dual-Set Point Grouping for 3D Instance Segmentation (CVPR 2020)
我的理解就是想让同一个instance上点的offset接近。
由于不同种类物体的size不一样,所以很难精准的回归位置。尤其对于大尺寸的物体,物体边界点距离中心点太远,有可能导致不一致的shift。于是,作者又添加了一个约束。
【点云识别】PointGroup: Dual-Set Point Grouping for 3D Instance Segmentation (CVPR 2020)

3.2 Clustering Algorithm

在得到两个集合,原始坐标和shift坐标后。本文对点云进行实例聚类。

【点云识别】PointGroup: Dual-Set Point Grouping for 3D Instance Segmentation (CVPR 2020)
考虑到实际场景,约束了聚类的半径,和类内点的数目。

3.3 Socrenet

clus对得到ter proposal进行评估和最终的回归。
【点云识别】PointGroup: Dual-Set Point Grouping for 3D Instance Segmentation (CVPR 2020)
【点云识别】PointGroup: Dual-Set Point Grouping for 3D Instance Segmentation (CVPR 2020)

4 实验结果

【点云识别】PointGroup: Dual-Set Point Grouping for 3D Instance Segmentation (CVPR 2020)
【点云识别】PointGroup: Dual-Set Point Grouping for 3D Instance Segmentation (CVPR 2020)
性能应该是大幅提升。还有一些超参的对比实验。
【点云识别】PointGroup: Dual-Set Point Grouping for 3D Instance Segmentation (CVPR 2020)

总结

文章的想法比较新颖,dual set的概念看起来很有效。
作为一个小菜鸡,我还是觉得instance segmentation太耗时了。如果没有充足的GPU资源,不要轻易尝试。

相关文章: