Relation-Shape Convolutional Neural Network for Point Cloud Analysis

Yongcheng Liu, 2019 CVPR

1. Intuition

点之间的关系(几何拓扑结构)可能蕴含了3D点云的形状信息,所以作者设计了可以学习点之间关系(relation)的模型。从总体上看,本作符合经典的local-to-global结构,并且由FPS(Farthest Point Sampling)确定中心点,使用球查询(ball query)获取邻域,在邻域内随机采样固定数目的点。在此基础上,建模如下:
\[ f_{P_{sub}} = \sigma(\mathcal{A}(\{\mathcal{T}(f_{x_j}), \forall x_j\in \mathcal{N}(x_i)\})), \mathcal{N}(x_i)=\{x_j \arrowvert d(x_i, x_j) \lt r\} \]
\(\mathcal{T}\)用于转化单点特征,比如空间转换矩阵,所以通常也就是shared mlp;\(\mathcal{A}\)用于综合(aggregate)各个点特征,通常是max、average、sum等;\(\sigma\)是激活函数。这个模型在传统2D卷积操作上也适用。

传统的卷积操作中,\(\mathcal{T}(f_{x_j})=w_j \cdot f_{x_j}\),作者认为\(w_j\)只与\(f_{x_j}\)有关,并不能学习到\(x_j\)\(x_i\)的关系,所以提出\(\mathcal{T}(f_{x_j})=w_{ij}\cdot f_{x_j}=\mathcal{M}(h_{ij})\cdot f_{x_j}\)\(h_{ij}\)是两点之间关系的低维表示;\(\mathcal{M}\)将点之间的关系映射成高维的表示。(PS:实际上,之前的点云上的工作,会把邻域中的点移到中心点的坐标系中,所以其实也能学习到\(x_i\)\(x_j\)的相对位置关系?)

2. Implement

FPS采样中心点,ball query确定邻域,采样固定数目的点。同样采取了MSG的策略,但是与pointnet++不同的是这里用在不同组上的\(w​\)是shared的。

\(h_{ij} =(Ed(x_1, x_2), x_i-x_j, x_i, x_j)\)\(\mathcal{M}\)是shared mlp,\(\mathcal{A}\)是max,\(\sigma\)是ReLU。

提取局部特征后,过shared mlp提升维度,最后通过fc进行分类。与之前的工作一致,用于segmentation的网络会增加一些skip connection。

3. Experiment

实验:classification, segmentation, normal estimation

baseline:pointnet, pointnet++, PCNN, DGCCNN, ...

4. Code

pytorch https://github.com/Yochengliu/Relation-Shape-CNN

猜你喜欢

转载自www.cnblogs.com/VI3160846668/p/11117462.html