【点云识别】Learning to Segment 3D Point Clouds in 2D Image Space (CVPR 2020)

Learning to Segment 3D Point Clouds in 2D Image Space

本文介绍一篇cvpr2020里面关于点云部件分割的文章。
论文
代码

1. 问题

相比于2D U-net 的架构上,点云上的部件分割没有取得比较好的进展。
所以这篇文章,将3D点云投影到2D空间上,再使用U-net的架构进行分割,取得的效果可谓是遥遥领先!

【点云识别】Learning to Segment 3D Point Clouds in 2D Image Space (CVPR 2020)_第1张图片

2. 思想

整体流程就是以下三步

  • Construct graphs from point clouds.
  • Project graphs into images using graph drawing.
  • Segment points using U-Net.

【点云识别】Learning to Segment 3D Point Clouds in 2D Image Space (CVPR 2020)_第2张图片
首先将2048个点,来源于shapent 或者partnet, 将其聚类成32个类别。 然后将这32个聚类中心映射到16x16规格的grid上。然后,对于属于一类的点,将他们再映射到16x16的grid上,最终形成了256x256的图片。

【点云识别】Learning to Segment 3D Point Clouds in 2D Image Space (CVPR 2020)_第3张图片

3. 算法

3.1 Graph Construction from Point Clouds

先使用kmeans算法进行聚类,对形成的各个类别内再进行建图。

由于kmeans形成的类别很可能是不均衡,此文提出了一种改进算法,进行均衡聚类。想要各个类别的点数比较相近(毕竟物体是由对称的各个单元组成的)
【点云识别】Learning to Segment 3D Point Clouds in 2D Image Space (CVPR 2020)_第4张图片
相比于常见的KNN建图方法,本文使用Delaunary triangulation 方法进行建图。
Delaunary triangulation 建图方法有以下优点

  • The connection of all the nodes in the graph is guaranteed
  • All the local nodes are directly connected
  • The total number of graph connections is relatively small

3.2 Graph Drawing: from Graphs to Images

要将图中的顶点映射到grid上面,同时保证图的拓扑结构尽可能的被保存。
所以,可以建模成一个integer programming (IP) 问题
在这里插入图片描述
【点云识别】Learning to Segment 3D Point Clouds in 2D Image Space (CVPR 2020)_第5张图片

3.3 MultiScale UNet for Point Segmentation

【点云识别】Learning to Segment 3D Point Clouds in 2D Image Space (CVPR 2020)_第6张图片
作者在这里贴出了几个对比实验,证实多尺度的U-net是最合适的结构。

4 实验结果

【点云识别】Learning to Segment 3D Point Clouds in 2D Image Space (CVPR 2020)_第7张图片【点云识别】Learning to Segment 3D Point Clouds in 2D Image Space (CVPR 2020)_第8张图片

遥遥领先的分割精度,可谓是难寻对手!

总结

突破性的进步,大大提高了3D part segmentation 领域的SOTA。使3D转化为2D变成现实,可以预见未来大家可以更好地迁移2D领域的相关知识。

我也意识到,如果想在3D上有比较大的突破,是需要扎实的知识储备!这篇文章和之前阅读的hieracical都是将图形学的知识迁移,并进行改进,取得了比较大的进步!!积累很重要!!!!!!

你可能感兴趣的:(点云识别)