Point Cloud Classification.

点云(Point Cloud)是一种三维数据的非结构化表示格式,能够保留三维空间中的原始几何信息,没有任何离散化。点云具有以下性质:

点云分类(Point Cloud Classification)即点云形状分类,是一种重要的点云理解任务。该任务的方法通常首先学习每个点的嵌入,然后使用聚合方法从整个点云中提取全局形状嵌入,并通过分类器进行分类。根据神经网络输入的数据格式,三维点云分类方法可分为:

⭐ 扩展阅读:

1. 基于多视图的点云分类

基于多视图 (Multi-view)的点云分类首先把三维非结构化点云投影到多个二维视图中并提取视图特征,然后将这些特征融合为具有判别性的全局表示以进行精确的分类。

⚪ MVCNN

MVCNN使用参数共享的卷积神经网络从多视角2D图像中提取特征,并通过View-Pooling层将特征最大化为全局描述符。

⚪ MHBN

MHBN通过协调双线性池化来集成局部卷积特征,以产生紧凑的全局描述符。

2. 基于体素的点云分类

基于体素(Voxel)的点云分类通常将点云体素化为三维网格,然后在体积表示上应用三维卷积神经网络进行形状分类。

⚪ VoxNet

VoxNet把点云转换为体积占用网格(Volumetric Occupancy Grid),并通过三维卷积神经网络进行分类。

⚪ OctNet

OctNet把点云转换为混合网格八叉树(Hybrid Grid-Octree)数据结构,八叉树中的每个叶子节点都存储着体素里包含的所有特征的pooled summary

3. 基于点的点云分类

基于点(point)的点云分类使用神经网络学习每个点的特征。

⚪ PointNet

PointNet使用网络学习数据和特征的变换矩阵以对齐点云的变换不变性,引入最大池化以适应点云的无序性,并通过将点的特征与全局特征连接以感知全局语义信息。

⚪ PointNet++

PointNet++引入了Set Abstracion来进行局部信息聚合。该结构通过最远点采样选择部分点,通过Ball Query把点云划分成若干局部区域,并通过PointNet提取局部区域的点云特征。

⚪ PointCNN

PointCNN为点云特征提取设计了\(\mathcal{X}\)-卷积,能够考虑到点的形状,同时具有排序不变性。\(\mathcal{X}\)-卷积首先从输入点中学习\(\mathcal{X}\)-排序变换,随后对变换后的特征进行卷积。

⚪ DGCNN

DGCNN设计了一个EdgeConv模块。EdgeConv作用在动态构造的近邻图上,与从每个顶点发出的所有边相关联的边特征上进行以通道为单位的聚合操作。

\[\begin{aligned} e_{i j m}^{\prime}&=\operatorname{ReLU}\left(\boldsymbol{\theta}_{m} \cdot\left(\mathbf{x}_{j}-\mathbf{x}_{i}\right)+\boldsymbol{\phi}_{m} \cdot \mathbf{x}_{i}\right) \\ x_{i m}^{\prime}&=\max _{j:(i, j) \in \mathcal{E}} e_{i j m}^{\prime} \end{aligned}\]

⚪ PCT

PCTTransformer的编码器-解码器结构应用到点云处理。解码器根据任务不同其结构不同;编码器由输入嵌入模块(全连接层+PointNet++Set Abstracion)与自注意力模块(Offset Attention)组成。