【点云系列】Grid-GCN for Fast and Scalable Point Cloud Learning
文章目录
-
1. 简介
-
2. Motivation
-
3. 思想
-
- 3.1 数据构建 CAGQ
- 3.2 图卷积 GCA
-
4. 算法
-
-
4.1 采样方法
-
- 4.1.1 Random Voxel Sampling (RVS)
- 4.1.2 Coverage-Aware Sampling (CAS)
-
4.2 近邻查询
-
- 4.2.1 Cube Query
- 4.2.2 K-Nearest Neighbors
-
-
5. 实验结果
-
6. 总结
1. 简介
题目:Grid-GCN for Fast and Scalable Point Cloud Learning, CVPR2020
论文:https://xharlie.github.io/papers/GGCN supCamReady.pdf
代码:https://github.com/xharlie/Grid-GCN
2. Motivation
自PointNet++和DGCNN问世以来,基本所有点云处理模型都要使用采样 或近邻查询 。
- Sampling
- Neighbor points querying
但是呢,上述两种操作的时间复杂度太高,因而这篇文章就是解决这个问题的;
3. 思想
基于voxel的快速采样方法,依赖voxel做近似而快速的Points Querying,其中基础模块 GridConv包括了:
- 数据构建:Coverage-aware Grid Query (CAGQ)
- 图卷积:Grid Context Aggregation (GCA)

3.1 数据构建 CAGQ
将所有点映射到voxel当中,进而得到每个点的voxel索引。对于非空voxel,定义其周围的voxel集合为\pi,则该集合中的点为context points。
可将问题转换为:
Sampling—>采样voxel集合;
Points Querying—>从context Points中选取K个点;

3.2 图卷积 GCA
这里其实,基本就是各种attention的旧瓶装新酒的表达了,形成不同的策略。

上面的公式中,e是边缘注意函数,M是多层感知机,A是聚合函数。
- a:对于节点特征信息仅利用一个多层感知机,忽略边信息;
- b:节点+边信息;
- c:节点+ 边信息+各节点与中心节点语义信息;
- d: 节点+边信息(+权重参数)+各节点语义信息(特征融合);
其中边注意力机制如下式所示



4. 算法
4.1 采样方法
4.1.1 Random Voxel Sampling (RVS)
每个被占据的voxel等概率被抽中,这种随机采样的方式使得点云分布更均匀。

4.1.2 Coverage-Aware Sampling (CAS)
CAS的目的:选取那些可以包含更多被占据空间的中心体素
CAS使用方法:贪心算法
CAS算法步骤:
- 先随机采样M个voxel,即 (RVS)
- 判断当前体素覆盖增益是否比删除当前体素覆盖增益大,大的话替换,以此迭代,最终实现中心体素的最优化。

4.2 近邻查询
在voxel基础上提供了两种方法:
4.2.1 Cube Query
这是一种近似法,直接在Context Points中随机采样K个点作为最近邻点;
4.2.2 K-Nearest Neighbors
在Context Points中寻找KNN,相比在全点云中找KNN,这样方法搜索速度会更快。
时间复杂度对比:

5. 实验结果
评估 :分类、分割
其中分类:1024个点3通道输入数据;
分类精度还不错,且没有使用voting的方式;

速度很快

6. 总结
值得学习的地方:
- 根基打好,扎实做;
- 对问题能够进行归纳与总结;
- 注重解决问题的思路和使用简介高效的方法;
参考:
