Grid-GCN for Fast and Scalable Point Cloud Learning

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

1. 问题

自PointNet++ 和DGCNN问世以后,基本所有的点云处理模型都要使用采样或近邻查询。

  • Sampling
  • Neighbor points querying

但是,上述两种操作的时间复杂度太高,这篇文章就是解决这个问题。和RandLA-Net有异曲同工之妙。

2. 思想

提出了一种基于 Voxel 的快速采样方法,并依赖 Voxel 做近似而快速的 Points Querying
【点云识别】Grid-GCN for Fast and Scalable Point Cloud Learning (CVPR 2020)
其中基础模块GridConv 包含了数据的构建Coverage-aware Grid Query(CAGQ),以及图卷积Grid Context Aggregation(GCA)。

数据构建Coverage-aware Grid Query(CAGQ)
【点云识别】Grid-GCN for Fast and Scalable Point Cloud Learning (CVPR 2020)
CAGQ由 Sampling和Neighbor points querying,都是十分费时的操作,如何快速的完成这两项操作也是本文的主要贡献点。

定义voxel 的大小 (Vx,Vy,Vz)(V_{x},V_{y}, V_{z}),然后将所有点云(x,y,z)(x,y, z)映射到voxel当中,每个voxel中的点数固定为nvn_{v}, 进而可以得到每个点的voxel索引Vid(u,v,w)=floor(x/Vx,y/Vy,z/Vz)Vid(u,v,w)=floor(x/V_{x},y/V_{y},z/ V_{z})

假设 OvO_{v}为非空 voxel 集合,需要采样 M 个 voxel OcO_{c}OvO_{v}。对于每个 voxel viv_{i}。定义其周围的 voxel 集合为 π(vi)π(v_{i}),所有该集合中的点叫做 context points。

所以问题转换为:
Sampling:采样 voxel 集合 OcO_{c}OvO_{v}
Points Querying:从 Context Points 中选取 K 个点;

图卷积Grid Context Aggregation(GCA)
【点云识别】Grid-GCN for Fast and Scalable Point Cloud Learning (CVPR 2020)
其实就是各种attention,不是很强的创新。

3. 算法

3.1 Sampling

本文提出了两种基于 voxel 的采样方法

  • Random Voxel Sampling (RVS)
    每个被占据的voxel等概率被抽中,这种随机采样的方式会使点云分布更均匀。
  • Coverage-Aware Sampling (CAS)
    CAS的目的是选取那些可以包含更多被占据空间的center voxels OcO_{c}

CAS使用了一个贪心算法来求解,先随机采样 M 个 voxel,即(RVS)

【点云识别】Grid-GCN for Fast and Scalable Point Cloud Learning (CVPR 2020)

3.2 Points Querying

本文在 voxel 基础上来快速寻找邻近点,提供了两种方法:

  • Cube Query
    这是一种近似法,直接在 Context Points 中随机采样 K 个点作为最近邻点。

  • K-Nearest Neighbors
    在 Context Points 中寻找 K-NN,相比在全点云中找 K-NN,这种方法搜索速度会更快。

时间复杂度的对比
【点云识别】Grid-GCN for Fast and Scalable Point Cloud Learning (CVPR 2020)

4 实验结果

【点云识别】Grid-GCN for Fast and Scalable Point Cloud Learning (CVPR 2020)
分类精度还不错,特意强调他们没有使用voting的方式!!
【点云识别】Grid-GCN for Fast and Scalable Point Cloud Learning (CVPR 2020)
大量实验展示自己的速度有多快。期待开源代码!

总结

文章做的很扎实,解决的问题也是之前我注意到的。
值得学习的地方:
1 对采样问题的归纳和总结,给出各个方式。就像DGCNN将PointNet归纳成自己的特例。
2 解决问题的思路和方法很简洁高效
3 充分的实验证明,速度快,精度尚可。

相关文章: