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之间距离在变大的同时,不会发生重叠。
再结合题目,就很清楚本文的主要思想了。
通过网络产生相对于实例中心点的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分支就是用来产生偏移的,对此作者加了些约束。
我的理解就是想让同一个instance上点的offset接近。
由于不同种类物体的size不一样,所以很难精准的回归位置。尤其对于大尺寸的物体,物体边界点距离中心点太远,有可能导致不一致的shift。于是,作者又添加了一个约束。
3.2 Clustering Algorithm
在得到两个集合,原始坐标和shift坐标后。本文对点云进行实例聚类。
考虑到实际场景,约束了聚类的半径,和类内点的数目。
3.3 Socrenet
clus对得到ter proposal进行评估和最终的回归。
4 实验结果
性能应该是大幅提升。还有一些超参的对比实验。
总结
文章的想法比较新颖,dual set的概念看起来很有效。
作为一个小菜鸡,我还是觉得instance segmentation太耗时了。如果没有充足的GPU资源,不要轻易尝试。