2.845

2023影响因子

(CJCR)

  • 中文核心
  • EI
  • 中国科技核心
  • Scopus
  • CSCD
  • 英国科学文摘

留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

RFNet: 用于三维点云分类的卷积神经网络

单铉洋 孙战里 曾志刚

单铉洋, 孙战里, 曾志刚. RFNet: 用于三维点云分类的卷积神经网络. 自动化学报, 2023, 49(11): 2350−2359 doi: 10.16383/j.aas.c210532
引用本文: 单铉洋, 孙战里, 曾志刚. RFNet: 用于三维点云分类的卷积神经网络. 自动化学报, 2023, 49(11): 2350−2359 doi: 10.16383/j.aas.c210532
Shan Xuan-Yang, Sun Zhan-Li, Zeng Zhi-Gang. RFNet: Convolutional neural network for 3D point cloud classification. Acta Automatica Sinica, 2023, 49(11): 2350−2359 doi: 10.16383/j.aas.c210532
Citation: Shan Xuan-Yang, Sun Zhan-Li, Zeng Zhi-Gang. RFNet: Convolutional neural network for 3D point cloud classification. Acta Automatica Sinica, 2023, 49(11): 2350−2359 doi: 10.16383/j.aas.c210532

RFNet: 用于三维点云分类的卷积神经网络

doi: 10.16383/j.aas.c210532
基金项目: 国家自然科学基金(61972002)资助
详细信息
    作者简介:

    单铉洋:安徽大学电气工程与自动化学院硕士研究生. 主要研究方向为模式识别, 计算机视觉和深度学习. E-mail: shanxy128@163.com

    孙战里:安徽大学人工智能学院教授. 主要研究方向为模式识别, 机器学习和图像信号处理. 本文通信作者. E-mail: zhlsun2006@126.com

    曾志刚:华中科技大学人工智能与自动化学院教授. 主要研究方向为神经网络, 智能计算和模式识别. E-mail: zgzeng@hust.edu.cn

RFNet: Convolutional Neural Network for 3D Point Cloud Classification

Funds: Supported by National Natural Science Foundation of China (61972002)
More Information
    Author Bio:

    SHAN Xuan-Yang Master student at the School of Electrical Engineering and Automation, Anhui University. His research interest covers pattern recognition, computer vision, and deep learning

    SUN Zhan-Li Professor at the School of Artificial Intelligence, Anhui University. His research inter-est covers pattern recognition, machine learning, and image & signal processing. Corresponding author of this paper

    ZENG Zhi-Gang Professor at the School of Artificial Intelligence and Automation, Huazhong University of Science and Technology. His research interest covers neural networks, computational intelligence, and pattern recognition

  • 摘要: 由于点云的非结构性和无序性, 目前已有的点云分类网络在精度上仍然需要进一步提高. 通过考虑局部结构的构建、全局特征聚合和损失函数改进三个方面, 构造一个有效的点云分类网络. 首先, 针对点云的非结构性, 通过学习中心点特征与近邻点特征之间的关系, 为不规则的近邻点分配不同的权重, 以此构建局部结构; 然后, 使用注意力思想, 提出加权平均池化(Weighted average pooling, WAP), 通过自注意力方式, 学习每个高维特征的注意力分数, 在应对点云无序性的同时, 可以有效地聚合冗余的高维特征; 最后, 利用交叉熵损失与中心损失之间的互补关系, 提出联合损失函数(Joint loss function, JL), 在增大类间距离的同时, 减小类内距离, 进一步提高了网络的分类能力. 在合成数据集ModelNet40、ShapeNetCore和真实世界数据集ScanObjectNN上进行实验, 与目前性能最好的多个网络相比较, 验证了该整体网络结构的优越性.
  • 近年来, 随着自动驾驶仪、高精度地图、智慧城市等新概念的出现, 许多应用场景都需要基于点云的3D环境感知和交互. 三维扫描技术和深度摄像机的快速发展, 使得点云的获取更加简单方便, 在三维数据深度学习领域, 点云逐渐成为一种流行的三维数据表达方式[1]. 但与二维图像不同, 由于采样不均匀、传感器精度等因素, 点云在空间上是高度稀疏无序的. 因此, 如何用深度学习的方式处理点云数据, 成为一个关键的问题[2].

    由于卷积神经网络(Convolutional neural network, CNN)方法在图片处理上有着广泛且成熟的应用, 而点云并不是像图片一样规则排列的, 因此许多工作都是先对点云进行预处理, 将点云数据转化为规则的数据, 然后再使用传统的CNN方法[3]. 根据神经网络输入数据类型的不同, 现有的点云分类方法可以分为多视图法、体素法和基于点的方法3种[4]. 多视图法是将三维点云数据从不同角度投影到二维平面上, 然后再对二维平面图做二维卷积[5-7]. 但由于存在遮挡问题, 在三维向二维投影的过程中, 会导致三维点云中固有信息的大量丢失. 体素法是通过将点云转化为规则的三维网格, 在三维网格上使用卷积神经网络[8-9]. 但这种方法受到分辨率的限制, 低分辨率训练速度快, 但会造成点云信息的大量丢失; 高分辨率形状描述能力强, 但同时也会让空间复杂度大幅度提高.

    基于点的方法是将直接点云的三维坐标$(x,y, z)$作为输入, 对坐标进行卷积. PointNet[3]是这条路线的先驱. 为克服点云无序性而直接处理点云数据, PointNet首先对输入点云使用多个共享的多层感知器(Multi-layer perceptron, MLP), 从而将低维的坐标信息映射为高维特征, 然后使用对称聚合函数来提取最终的全局特征, 最后使用全连接层(Fully connected layer, FC)进行最终分类[3]. 然而在这种设计中, 每个点的特征都是独立学习的, 忽略了点与点之间的结构关系. 为此, PointNet++[10]把点云划分为多个局部, 在每个局部中使用PointNet提取局部特征, 然后对提取到的局部特征进行局部划分并使用PointNet, 通过多次叠加, 最终获取全局特征. PointNet++ 在一定程度上解决了PointNet缺少局部特征的问题, 但这种方法只是简单地划分局部, 并没有进一步说明局部点之间的关系. 谱图卷积(Spectral graph convolution, Spec-GCN)[11]使用递归聚类和池化策略替换标准的最大池化过程, 用于聚合来自其谱坐标中彼此接近的节点簇内信息, 从而产生更丰富的整体特征描述符. 但这种方法需要将三维点坐标转换到谱坐标中, 增大了网络的复杂度. 动态图卷积神经网络(Dynamic graph convolutional neural network, DGCNN)[12]是一种边缘卷积方法, 通过与近邻点构建局部图结构, 然后使用共享的MLP层, 对图的每一个边缘进行卷积获取邻边特征, 最后使用最大池化方式对每一个邻边特征进行聚合, 获取局部特征, 并在网络的每一层后进行动态更新. 这种方法增强了局部结构中点与点之间的关联, 但由于点云并不是均匀分布的, 近邻点对于中心点的影响也是不同的, 而边缘卷积平等地处理每一个邻边, 这种提取方式是不准确的. RSCNN (Relation-shape convolutional neural network)[13]通过从三维点云之间的几何关系, 学习隐含的形状信息, 从而构建局部. 这种利用局部结构三维几何特征的方法可以方便地提取低维特征, 但对高维特征的提取有局限性.

    近年来, 注意力网络在神经网络学习领域已成为一个重要概念, 并在不同领域有着广泛应用. 注意力机制通过加权方式来提高有用信息, 抑制无用信息. 在点云分析上注意力网络也有了一些应用. 例如图注意力卷积网络可以根据动态学习的特征, 有选择地关注其中最相关部分[14]. 基于点网络的图卷积[15]通过学习每个点的注意力特征, 然后利用多头机制获取特征, 最后利用注意力池化层来捕捉重要信号. 点云变压器(Point cloud transformer, PCT)[16]网络的主要思想是通过使用Transformer固有的顺序不变性避免定义点云数据的顺序和通过注意力机制进行特征学习. 但是, 相较于卷积神经网络, 注意力模块有更多的参数, 大量使用注意力模块会使整体网络的训练难度增加.

    为了更好地应对不规则点云带来的问题和现有网络存在的问题, 本文提出基于特征关系的神经网络(Network based on relationships between features, RFNet). 在构建点云局部结构上, RFNet使用基于特征关系的卷积(Convolution based on relationships between features, RFConv)方法, 来增强局部结构中近邻点特征与中心点特征之间的联系. 首先, 通过描述局部结构中近邻点与中心点之间的多种关系学习近邻点权重; 然后, 将加权后的近邻点与中心点进行组合构成局部; 最后, 再对组合后的局部进行学习聚合为高维的局部特征. 另外, 本文针对对称函数和联合损失函数(Joint loss function, JL)提出改进方法. 在现有的网络中, 对称函数多是使用最大池化和平均池化这样硬性的聚合高维特征方法, 会导致信息的损失, 为此, 本文基于注意力思想, 提出加权平均池化(Weighted average pooling, WAP). 另外, 本文利用交叉熵损失函数和中心损失函数的互补优势, 组成联合损失函数, 在增大类间距离的同时, 减小类内距离, 从而增强网络的分类性能[17]. 本文主要贡献如下:

    1)提出一个全新的CNN模块, 可以有效聚合点云局部和全局特征;

    2)引入联合损失函数, 在减小点云类内距离的同时, 增大点云类间距离, 增强网络分类性能;

    3)在合成数据集和真实世界数据集上的实验结果表明, 本文网络与现有网络相比, 有着更为明显的优势.

    RFNet是基于点的方法实现的. 整体网络结构如图1所示, 其中C为物体的类别数. 经典的基于点的方法的网络一般以MLP网络和对称聚合函数为基础. MLP网络的作用是将低维点特征映射到高维空间中来提取高维点特征. 在此过程中, MLP网络首先对点特征进行1 × 1的卷积, 然后进行批标准化, 最后通过激活函数为网络增加非线性因素, 增强网络表达能力.

    图 1  整体网络结构图
    Fig. 1  Diagram of overall network structure
    $$ {\cal{M}}(\cdot)=\sigma \left(bn\left({c}_{1\times 1}(\cdot)\right)\right) $$ (1)

    式中, $\sigma $是激活函数, $bn$是批标准化, ${c_{1 \times 1}}$是$1 \times 1$的卷积操作. 对称聚合函数可以保证不论网络输入特征的顺序如何改变, 都能使整体网络得到一个不变的全局特征, 从而应对点云的无序性:

    $$ {F_o} = {\cal{A}}\left( {{f_1},{f_2},{f_3} ,\cdots, {f_l}} \right) $$ (2)

    式中, ${\cal{A}}$为对称聚合函数, ${F_o}$为全局特征, ${f_l}$为第$l$层的高维点特征. 在现有网络中, 对称聚合函数一般选用最大池化和平均池化.

    现有的网络已经证明点云局部结构的构建对于点云高维特征的提取是至关重要的, 为此本文提出基于特征关系的局部构建方法.

    1)局部结构构建. 对于输入的点云集合有${\boldsymbol{P}} = \{ {X_i}|i = 1,2,3, \cdots, N\} \in {{\bf{R}}^{N \times {{d}}}}$, 其中${X_i}$表示第$i$个点的特征向量, $N$为点的个数, $d$为${X_i}$的特征维度. 对于第1层特征向量来说, 维度${{d}} = 3$即每个点的三维坐标${X_i} = ({x_i},{y_i},{z_i})$, 随着网络深度的增加, 特征维度$d$会不断增大. 中心点和近邻点的局部结构如图2所示. 首先, 在本文网络中, 对于输入的每一个点云特征${X_i}$都视为点云的中心点; 然后, 利用K近邻(K-nearest neighbors, KNN)算法, 通过计算中心点${X_i}$到其余点之间的欧氏距离, 选取距离最近的K个点作为中心的近邻点, ${X_{ij}}\;(j = 1,2,3, \cdots, K) \in {{\bf{R}}^{{d}}}$; 最后, 将中心点与近邻点组合构成一个局部. 由于近邻点并不是均匀分布在中心点周围, 因此对于不同位置的近邻点, 其特征对中心点特征的影响也是不同的. 所以, 本文根据近邻点与中心点之间的不同特征关系, 对近邻点进行权重分配:

    $$ {{\cal{L}}_\theta } = \left( {{X_i},{\theta _{ij}} \odot {X_{ij}}} \right) $$ (3)

    式中, ${\theta _{ij}} \in {{\bf{R}}^{{d}}}$是通过特征关系学习到的权重, $ \odot $为点乘操作.

    图 2  中心点和近邻点的局部结构图
    Fig. 2  Diagram of local structure between the central point and its neighbors

    2)特征关系描述. 本文通过对中心点特征与近邻点特征之间的关系进行描述, 对不同的特征关系进行组合, 获取近邻点对于中心点影响的权重. 具体学习方法如下:

    $$ {\theta _{ij}} = {\cal{M}}\left( {{e_{ij}} \oplus {l_{ij}} \oplus {s_{ij}}} \right) $$ (4)

    其中

    $$\left\{\begin{aligned} &{e_{ij}} = {X_i} - {X_{ij}} \\ &{l_{ij}} = ||{X_i} - {X_{ij}}|| \\ & {s_{ij}} = \frac{{\displaystyle\sum\limits_{m = 1}^d {({X_{{i_m}}} - {{\bar X}_i})({X_{i{j_m}}} - {{\bar X}_{ij}})} }}{{\sqrt {\displaystyle\sum\limits_{m = 1}^d {{{({X_{{i_m}}} - {{\bar X}_i})}^2}} } \sqrt {\displaystyle\sum\limits_{m = 1}^d {{{({X_{i{j_m}}} - {{\bar X}_{ij}})}^2}} } }} \end{aligned}\right. $$ (5)

    式中, $ \oplus $为并联操作, 总体并联后的维度为${{\bf{R}}^{ {d + 2} }}$; ${e_{ij}} \in {{\bf{R}}^{{d}}}$为中心点与近邻点之间的向量信息; ${l_{ij}} \in {{\bf{R}}}$为中心点特征与近邻点特征的欧氏距离; ${s_{ij}} \in {{\bf{R}}}$为中心点与近邻点之间的余弦相似度, 其中${\bar X_i}$、${\bar X_{ij}}$分别表示向量${X_i}$、${X_{ij}}$的均值; ${\theta _{ij}} \in {{\bf{R}}^{{d}}}$为近邻特征的权重; ${\cal{M}}$为式(1)的MLP操作, 用来提取权重信息并将权重的维度由${{d}} + 2$调整为${{d}}$.

    3)局部特征提取. 首先将中心点特征${X_i}$分别与加权后的K个近邻点特征并联构建局部结构, 然后对构建好的局部结构使用共享的MLP提取K个高维的邻边特征, 最后使用最大池化函数将提取的K个邻边特征聚合为${X_i}$为中心的局部特征${L_i}$:

    $$ {L_i} = {\rm{Max}}({\cal{M}}({X_i} \oplus {\theta _{ij}} \odot {X_{ij}})) $$ (6)

    聚合后的局部特征${L_i}$即为下一层的特征输入, 其中${L_i} \in {{\bf{R}}^{{{d}}'}}$, ${{d}}'$表示通过MLP升维后的维度. 局部特征提取的网络结构如图3所示, 其中${\boldsymbol{P}} = \{ {X_i}|i = 1,2,3, \cdots, N\}$为中心点特征${X_i}$ 的集合, ${\boldsymbol{\theta}} = \{ {\theta _{ij}}|i = 1,2,3, \cdots, N,j = 1,2,3, \cdots ,K\}$为权重${\theta _{ij}}$的集合, ${\boldsymbol{L}} = \{ {L_i}|i = 1,2,3, \cdots, N\}$为局部特征${L_i}$的集合.

    图 3  局部特征提取结构图
    Fig. 3  Diagram of local feature extraction structure

    在全局特征的聚合过程中, 现有的网络算法大多是以最大池化函数或平均池化函数硬性聚合高维特征, 这样可以保持网络的对称性, 但并不能准确地学习到有用信息, 同时还造成信息的大量丢失. 为了有选择地聚合高维特征, 同时还要保持整体网络的对称性, 本文基于注意力机制, 提出加权平均池化, 通过使用最大池化、平均池化和加权平均池化对特征进行聚合.

    1)特征输入. 如图1所示, 经过4次局部特征提取, 将每一层提取到的局部特征${L_i}$做并联操作, 再经过MLP网络提取特征并将维度升级到1024维, 得到最终的高维特征输入${f_i} \in {{\bf{R}}^{1\;024}}$:

    $$ {f_i} = {\cal{M}}\left( {L_i^{64} \oplus L_i^{64} \oplus L_i^{128} \oplus L_i^{256}} \right) $$ (7)

    2)加权平均池化. 如图4所示, 对于N个高维特征输入${f_i}$, 首先经过MLP学习特征分数, 然后经过softmax来将特征分数归一化:

    $$ {s_i} = \text{softmax}({\cal{M}}({f_i})) = \frac{{{{\rm{e}}^{{f_i}}}}}{{\sum\limits_{j = 1}^N {{{\rm{e}}^{{f_j}}}} }} $$ (8)

    最后, 将学习到的特征分数与相对应的特征相乘并聚合, 以获取加权池化后的全局特征:

    $$ {F_o} = {\cal{A}}({f_i}) = \sum\limits_{i = 1}^N {{s_i}{f_i}} $$ (9)

    式中, ${{f_i}}$为第$i $个高维特征, 其集合为${\boldsymbol{F}} = \{ {f_i}|i = 1,2, 3, \cdots, N\}$; $s_i$为第$i $个高维特征的特征分数, 其集合为${\boldsymbol{S}} = \{ {s_i}|i = 1,2,3 ,\cdots, N\}$.

    图 4  加权平均池化结构图
    Fig. 4  Diagram of weighted average pooling structure

    现有点云网络的损失函数大多是采用交叉熵损失函数. 交叉熵损失函数可以使类间距离增大[17], 但交叉熵损失函数对类内距离的影响较小, 这样学习到的特征包含较大类内变化. 为此, 本文引用中心损失函数, 采用交叉熵损失和中心损失联合监督的方法, 进一步减小类内距离.

    1)中心损失函数. 中心损失函数通过对每一个类随机生成一个特征中心, 然后在训练的过程中对每一个特征中心进行更新学习, 使深层特征与其对应的类特征中心之间的距离最小化, 具体的中心损失函数为:

    $$ {L_C} = \frac{1}{2}\sum\limits_{i = 1}^m {||{F_i} - {c_{{y_i}}}||_2^2} $$ (10)

    式中, ${c_{{y_i}}}$表示深度特征${y_i}$类的特征中心, ${F_i} \in {{\bf{R}}^{{d}}}$表示深层次的特征, $m$表示输入批次的大小. 因此, 中心损失就是希望一个批次中的每个样本的特征离特征中心的距离的平方和越小越好, 也就是类内距离越小越好.

    2)联合损失函数. 联合损失结构如图5所示. 通过将交叉熵损失与中心损失进行联合监督, 在增大类间距离的同时, 减小类内距离, 使其获得的特征具有更强识别能力, 具体表达式如下:

    图 5  联合损失结构图
    Fig. 5  Diagram of joint loss structure
    $$ Loss = {L_{CE}} + \lambda {L_C} $$ (11)
    $$ {L_{CE}} = - \sum\limits_{i = 1}^m {\sum\limits_{j = 1}^n {P({y_{ij}})\log_2 (Q({y_{ij}}))} } $$ (12)

    式中, ${L_{CE}}$为交叉熵损失函数; $n$为分类的类别数; $P({y_{ij}})$代表${y_i}$类对应的真实标签, 也就是$n$个类别的预测概率; $Q({y_{ij}})$代表${y_i}$类的预测值; ${L_C}$为中心损失函数; $\lambda $参数用以调节两个损失的比重, 当$\lambda = 0$时, 该函数表示为仅有交叉熵损失情况.

    首先, 介绍实验所使用的数据集以及网络的基本设置; 然后, 将本文网络与现有典型网络在不同数据集上进行对比, 并对实验结果做进一步的分析; 最后, 为了说明本文网络模块的有效性和网络的抗干扰能力, 进行了消融实验和鲁棒性实验. 此外, 为了说明网络的资源占用, 还进行了复杂度实验.

    为了评估本文提出的点云分类算法的有效性, 选用标准的合成数据集ModelNet40[18]、ShapeNetCore[19]以及由真实世界对象点云组成的ScanObjectNN[20]进行实验结果对比.

    1) ModelNet40数据集. 作为点云分析中应用最广泛的基准, ModelNet40因其简洁的形状和构造良好等特点而广受欢迎. 该数据集共有12311个物体, 包括40个类别, 其中9843个模型用作训练数据集, 其余2468个模型为测试数据集[18].

    2) ShapeNetCore数据集是一个丰富标注的大规模点云数据集, 相较于ModelNet40, ShapeNetCore包含更为丰富的模型, 其中包含55种常见的物品类别和513000个三维模型. 因此在训练时, 也更具挑战性[19].

    3) ScanObjectNN数据集. 为了进一步说明本文分类网络的有效性和鲁棒性, 本文还在以真实世界对象为模型的数据集ScanObjectNN上进行实验. 该数据集有15个类别, 包含约15000个对象[20].由于复杂的背景、缺少的部件和各种变形, 使得ScanObjectNN在训练时, 有更高的挑战性.

    本文实验使用的硬件配置和软件版本如表1所示.

    表 1  实验配置
    Table 1  Experimental configuration
    项目详情
    操作系统CentOS Linux7
    GPUTesla V100 32 GB
    CUDA10.0
    CUDNN7.0
    Python3.6.0
    Pytorch1.3.0
    下载: 导出CSV 
    | 显示表格

    网络参数的设置. 网络的优化器选择了随机梯度下降法, 将动量设置为0.9, 并使用了余弦退火法, 将学习速率从0.1降低到0.001. 训练批次设置为32, 测试批次设置为16, 并最终进行了500次训练. 激活函数使用负向斜率为0.2的Leaky-ReLU激活函数. 在每个MLP层后, 都加入比例为0.5的暂退率, 以抑制过拟合.

    本文实验的输入数据为只含有1024个三维坐标的点云数据, 在表2中表示为1 k, 2 k表示输入的是含有2048个三维坐标的点云数据, 5 k表示输入的是含有5120个三维坐标的点云数据, nor表示输入额外的法向量信息, voting表示实验使用了多次投票验证策略. 本文使用最常用的整体精度(Overall accuracy, OA)和平均精度(Mean accuracy, mAcc)性能标准, 进行分类性能评价. 其中, 整体精度代表所有测试实例的平均精度, 平均精度代表所有类别的平均精度.

    表2给出了RFNet与目前主流网络在ModelNet40数据集上的实验结果. 由表2实验结果可以看出, RFNet整体精度为93.6%, 平均精度为91.2%, 在与同样输入为1 k的网络情况下, 取得了最优的结果. RFNet甚至超过了一些输入额外信息的网络, 例如PointNet++ 和SpiderCNN[21]在输入了5 k个点和法向量信息后, 整体精度仍低于本文中的FRNet. 另外, RFNet超越了输入同样是1 k的RSCNN, 与使用了10次投票评估方法后的RSCNN网络相同. 本文在ModelNet40数据集上进行输入为2 k的实验, 最终取得了整体精度94.0%和平均精度91.4%的好成绩, 超越了所有输入额外信息的网络.

    表 2  在ModelNet40数据集上的实验结果
    Table 2  Experimental results on ModelNet40
    方法输入mAcc (%)OA (%)
    PointNet1 k86.089.2
    PointNet++1 k90.7
    Spec-GCN1 k91.5
    DGCNN1 k90.292.9
    RSCNN1 k92.9
    PCT1 k93.2
    ECC[22]1 k83.287.4
    RMFP-DNN[23]1 k88.992.6
    PointCNN[24]1 k88.192.2
    Point2sequence[25]1 k90.492.6
    Point Transformer [26]1 k92.8
    Octant-CNN[27]1 k88.791.9
    DRNet[28]1 k93.1
    AdaptConv[29]1 k90.793.4
    RFNet1 k91.293.6
    PointNet++5 k + nor91.9
    DGCNN2 k90.793.5
    RSCNN1 k + voting93.6
    SpiderCNN5 k + nor92.4
    RFNet2 k91.494.0
    下载: 导出CSV 
    | 显示表格

    此外, 本文在ModelNet40数据集上进行了真实标签和预测标签的混淆实验, 实验结果如图6所示. 由图6可以看出, 网络最易混淆的是标签为15的花盆类, 这与数据集的标定有关. 为了进一步探究预测结果, 进行了易错模型的分类对比实验, 实验结果如表3所示. 由表3可以看出, RFNet相较于PointNet和DGCNN有着更强的细节分辨能力, 能较好地区分易混模型. 由表3也可以看出, ModelNet40数据集中部分花盆类的标定有较大的歧义.

    图 6  混淆矩阵
    Fig. 6  Confusion matrix
    表 3  不同网络的易错模型分类对比
    Table 3  Classification comparison of error-prone models for different networks
    易错模型真实标签PointNetDGCNNRFNet
    植物植物植物植物
    花盆植物植物植物
    花瓶花盆花瓶花瓶
    花瓶瓶子花瓶花瓶
    杯子花盆花盆杯子
    下载: 导出CSV 
    | 显示表格

    为了验证整体网络应对更丰富分类数据时的能力, 本文在ShapeNetCore数据集上进行实验, 实验结果见表4. 在输入点数1 k情况下, RFNet整体精度为88.3%. 可以看出, ShapeNetCore数据集更为丰富的分类确实给网络带来了不小的挑战. 但对比其他网络, RFNet依旧领先, 甚至高于输入额外的法向量信息的SpiderCNN.

    表 4  在ShapeNetCore数据集上的实验结果
    Table 4  Experimental results on ShapeNetCore
    方法输入OA (%)
    PointNet1 k83.7
    PointNet++1 k85.1
    DGCNN1 k84.7
    Point2sequence1 k85.2
    SpiderCNN1 k + nor85.3
    KPConv[30]1 k86.2
    RFNet1 k88.3
    下载: 导出CSV 
    | 显示表格

    为了说明RFNet在面对真实世界数据时的表现, 本文在ScanObjectNN数据集上进行实验, 实验结果见表5. 实验的输入依旧是1 k点云坐标, 最终取得了整体精度79.6%和平均精度76.3%的成绩. 与其他网络对比可以看出, RFNet无论是在整体精度还是平均精度上, 都取得了最优异成绩; 另外, 表中还对ScanObjectNN数据集中的15个类别(Bag, Bin, Box, ···)的分类精度进行了对比, 其中有6个分类都取得了最高精度, 表明了RFNet 的优越性.

    表 5  在ScanObjectNN数据集上的实验结果 (%)
    Table 5  Experimental results on ScanObjectNN (%)
    方法mAccOABagBinBoxSofaDeskShelfTableDoorBedCabinetChairDisplayPillowSinkToilet
    PointNet 63.4 68.2 36.1 69.8 10.5 76.7 50.0 72.6 67.8 93.8 61.8 62.6 89.0 73.0 67.6 64.2 55.3
    PointNet++ 75.4 77.9 49.4 84.4 31.6 90.5 74.0 72.6 72.6 85.2 75.5 77.4 91.3 79.4 81.0 80.8 85.9
    DGCNN 73.6 78.1 49.4 82.4 33.1 91.4 63.3 79.3 77.4 89.0 64.5 83.9 91.8 77.0 77.1 75.0 69.4
    PointCNN 75.1 78.5 57.8 82.9 33.1 91.9 65.3 84.2 67.4 84.8 80.0 83.6 92.6 78.4 80.0 72.5 71.8
    SpiderCNN 69.8 73.7 43.4 75.9 12.8 90.5 65.3 78.0 65.9 91.4 69.1 74.2 89.0 74.5 80.0 65.8 70.6
    RFNet 76.3 79.6 54.0 81.9 34.1 92.2 74.1 79.9 72.1 91.5 81.3 83.5 91.3 80.2 82.6 78.9 67.0
    下载: 导出CSV 
    | 显示表格

    为了验证网络中不同组件的功能和有效性, 本文对RFNet中的网络模块进行了消融实验. 实验在数据集ModelNet40上进行. 表6显示了不同模块的消融实验结果, 表中“×”表示不使用对应模块, “√”表示使用对应模块.

    网络0表示在只使用普通的动态图网络时的分类结果. 在网络1中, 将图结构模块换成了RFConv模块, 网络的整体分类精度也提高到了93.3%. 这归因于RFConv模块相较于图结构, 可以通过特征加权的方式更有效地构建局部; 同时可以看出, 局部结构的构建对特征提取有着很大的影响. 网络2在网络1基础上, 增加加权平均池化模块, 其整体的分类精度提高了0.2%. 加权平均池化模块可以通过自注意力方式, 对不同层次的输入特征进行特征聚合, 并且注意力机制也可以通过学习特征分数, 在一定程度上弱化无效特征, 增强有效特征. 网络3在网络2基础上, 增加了联合损失模块. 联合损失模块可以在增大类间距离的基础上, 通过迫使同类向特征中心靠近, 将不同类进一步分离. 可以看出, 网络3在网络2基础上进一步提高. 在网络4中, 同时使用了所有模块, 其整体精度达到了93.6%, 平均精度达到了91.2%, 相较于网络0, 整体精度提高了0.7%.

    本文在数据集ModelNet40上进行了采样密度的鲁棒性实验和高斯噪声鲁棒性实验.

    1)采样密度鲁棒性实验. 实验中, 分别将点云的采样数设置为1024、512、256、128, 然后将网络PointNet、PointNet++、PCNN、DGCNN和RSCNN作为对比, 对比结果如图7所示. 由图7可以看出, 随着采样点数的降低, RFNet有着更为稳健的结果. RSCNN在使用投票机制后, 有着很小的差距, 但随着采样数降为128, 差距进一步拉开, 而RFNet的准确率依旧保持在91%以上. 表明本文网络具有较强的采样密度鲁棒性.

    2)高斯噪声鲁棒性实验. 本文在原始数据集上加入了高斯噪声, 噪声均值设置为0.02, 方差设置为0.01, 可视化模型如图8所示, 实验结果见表7, 其中PointNet++ 和RSCNN的平均精度数据缺失, 本文不做对比. 由其余数据的对比结果可以看出, 在加入高斯噪声后, 各种分类网络的结果都有明显下降, 但RFNet影响较低. 这是由于在构建局部结构时, RFNet可以通过对不同近邻点分配不同权重来降低干扰点的影响, 也使得RFNet在面对高斯噪声的影响时, 更具有鲁棒性.

    不同特征关系组合的选取对局部结构构造有很大影响, 过少的特征关系无法准确描述近邻点对中心点的影响; 而过多的特征关系则会给网络带来冗余信息, 导致网络过拟合. 本节对不同组合进行探讨. 除式(5)提到的特征外, 还加入了新的特征关系:

    $$ di{s_{ij}} = \frac{{{X_i} - {X_{ij}}}}{{||{X_i} - {X_{ij}}||}} $$ (13)

    式中, $di{s_{ij}} \in {{\bf{R}}^d}$为中心点与近邻点之间的方向信息. 最终实验结果见表8, 表中“×”表示不使用对应特征关系, “√”表示使用对应特征关系.

    表 6  不同模块的消融实验 (%)
    Table 6  Ablation experiment of different modules (%)
    方法RFConvWAPJLmAccOA
    网络0×××90.292.9
    网络1××91.093.3
    网络2×91.193.5
    网络3×91.193.4
    网络491.293.6
    下载: 导出CSV 
    | 显示表格
    图 7  采样密度实验结果对比
    Fig. 7  Comparison of experiment results with different sampling densities
    图 8  添加高斯噪声前/后点云样本的对照图
    Fig. 8  Comparison of one sample with and without Gaussian noise
    表 7  高斯噪声鲁棒性实验 (%)
    Table 7  Robustness experiment of Gaussian noise (%)
    方法无高斯噪声 有高斯噪声
    mAccOAmAccOA
    PointNet86.089.2 83.487.6
    PointNet++90.789.6
    DGCNN90.292.989.792.6
    RSCNN92.992.3
    RFNet91.293.691.093.5
    下载: 导出CSV 
    | 显示表格
    表 8  不同特征关系的消融实验 (%)
    Table 8  Ablation studies about different relationships between features (%)
    方法${e_{ij}}$$di{s_{ij}}$${l_{ij}}$${s_{ij}}$OA
    网络1×××93.3
    网络2××93.5
    网络3×93.6
    网络4××93.1
    网络5×93.5
    网络693.2
    下载: 导出CSV 
    | 显示表格

    表8可知, 网络1在仅使用向量信息${e_{ij}}$时, 仍能取得93.3%的整体分类精度, 可见${e_{ij}}$中含有丰富的特征信息. 网络2和网络3在网络1的基础上增加了距离信息${l_{ij}}$和余弦相似度信息${s_{ij}}$后, 整体分类精度也都有进一步的提高. 需要注意的是, 虽然${e_{ij}}$中内在包含了${l_{ij}}$, 但从分类结果可以看出, 一个准确的距离关系信息对局部特征的提取是很有必要的. 网络4在网络1的基础上增加了方向信息$di{s_{ij}}$, 最终的整体分类精度却降低了0.2%, 这是因为二者在相同的维度$d$下存在着冗余信息, 而且冗余信息会随着维度$d$的增大而不断增加. 这点通过网络3与网络6、网络5与网络6的对比也可以看出. 虽然二者有着相同的维度, 但${e_{ij}}$中却内在包含了$di{s_{ij}}$, 由网络3与网络5的对比也能看出, 使用${e_{ij}}$能够取得更好效果.

    本节通过对比网络的参数量和浮点运算数来说明网络的复杂度. 网络的复杂度对比见表9.

    表 9  网络的复杂度对比
    Table 9  Comparison of network complexity
    方法参数量(M)浮点运算数(G)OA (%)
    PointNet3.470.4589.2
    PointNet++1.744.0991.9
    DGCNN1.812.4392.9
    PCT2.882.3293.2
    KPConv14.3092.9
    RFNet2.362.9593.6
    下载: 导出CSV 
    | 显示表格

    对比DGCNN可以看出, RFNet在参数量和浮点运算数上都有一定提高; 同时, 在整体精度上也有很大程度的提高. 这说明, 网络中增添的模块对网络精度的提高具有正向意义. 对比其他网络也可以看出, 网络在参数量和浮点运算数上做了折中方案, 但整体精度却最高.

    本文提出一种用于点云分类的卷积神经网络. 首先, 该网络通过卷积模块提取近邻点与中心点之间的局部特征; 然后, 通过使用加权平均池化, 从冗余的高维特征中聚合全局特征; 最后, 使用联合损失函数增强整体网络的分类能力. 从合成数据集和真实世界数据集上的实验结果可以看出, 该网络比现有网络更具优势. 同时, 本文还进行了消融实验、采样密度的鲁棒性实验、高斯噪声鲁棒性实验和网络复杂度实验, 实验结果验证了本文网络模块的有效性和整体网络的稳定性.

  • 图  1  整体网络结构图

    Fig.  1  Diagram of overall network structure

    图  2  中心点和近邻点的局部结构图

    Fig.  2  Diagram of local structure between the central point and its neighbors

    图  3  局部特征提取结构图

    Fig.  3  Diagram of local feature extraction structure

    图  4  加权平均池化结构图

    Fig.  4  Diagram of weighted average pooling structure

    图  5  联合损失结构图

    Fig.  5  Diagram of joint loss structure

    图  6  混淆矩阵

    Fig.  6  Confusion matrix

    图  7  采样密度实验结果对比

    Fig.  7  Comparison of experiment results with different sampling densities

    图  8  添加高斯噪声前/后点云样本的对照图

    Fig.  8  Comparison of one sample with and without Gaussian noise

    表  1  实验配置

    Table  1  Experimental configuration

    项目详情
    操作系统CentOS Linux7
    GPUTesla V100 32 GB
    CUDA10.0
    CUDNN7.0
    Python3.6.0
    Pytorch1.3.0
    下载: 导出CSV

    表  2  在ModelNet40数据集上的实验结果

    Table  2  Experimental results on ModelNet40

    方法输入mAcc (%)OA (%)
    PointNet1 k86.089.2
    PointNet++1 k90.7
    Spec-GCN1 k91.5
    DGCNN1 k90.292.9
    RSCNN1 k92.9
    PCT1 k93.2
    ECC[22]1 k83.287.4
    RMFP-DNN[23]1 k88.992.6
    PointCNN[24]1 k88.192.2
    Point2sequence[25]1 k90.492.6
    Point Transformer [26]1 k92.8
    Octant-CNN[27]1 k88.791.9
    DRNet[28]1 k93.1
    AdaptConv[29]1 k90.793.4
    RFNet1 k91.293.6
    PointNet++5 k + nor91.9
    DGCNN2 k90.793.5
    RSCNN1 k + voting93.6
    SpiderCNN5 k + nor92.4
    RFNet2 k91.494.0
    下载: 导出CSV

    表  3  不同网络的易错模型分类对比

    Table  3  Classification comparison of error-prone models for different networks

    易错模型真实标签PointNetDGCNNRFNet
    植物植物植物植物
    花盆植物植物植物
    花瓶花盆花瓶花瓶
    花瓶瓶子花瓶花瓶
    杯子花盆花盆杯子
    下载: 导出CSV

    表  4  在ShapeNetCore数据集上的实验结果

    Table  4  Experimental results on ShapeNetCore

    方法输入OA (%)
    PointNet1 k83.7
    PointNet++1 k85.1
    DGCNN1 k84.7
    Point2sequence1 k85.2
    SpiderCNN1 k + nor85.3
    KPConv[30]1 k86.2
    RFNet1 k88.3
    下载: 导出CSV

    表  5  在ScanObjectNN数据集上的实验结果 (%)

    Table  5  Experimental results on ScanObjectNN (%)

    方法mAccOABagBinBoxSofaDeskShelfTableDoorBedCabinetChairDisplayPillowSinkToilet
    PointNet 63.4 68.2 36.1 69.8 10.5 76.7 50.0 72.6 67.8 93.8 61.8 62.6 89.0 73.0 67.6 64.2 55.3
    PointNet++ 75.4 77.9 49.4 84.4 31.6 90.5 74.0 72.6 72.6 85.2 75.5 77.4 91.3 79.4 81.0 80.8 85.9
    DGCNN 73.6 78.1 49.4 82.4 33.1 91.4 63.3 79.3 77.4 89.0 64.5 83.9 91.8 77.0 77.1 75.0 69.4
    PointCNN 75.1 78.5 57.8 82.9 33.1 91.9 65.3 84.2 67.4 84.8 80.0 83.6 92.6 78.4 80.0 72.5 71.8
    SpiderCNN 69.8 73.7 43.4 75.9 12.8 90.5 65.3 78.0 65.9 91.4 69.1 74.2 89.0 74.5 80.0 65.8 70.6
    RFNet 76.3 79.6 54.0 81.9 34.1 92.2 74.1 79.9 72.1 91.5 81.3 83.5 91.3 80.2 82.6 78.9 67.0
    下载: 导出CSV

    表  6  不同模块的消融实验 (%)

    Table  6  Ablation experiment of different modules (%)

    方法RFConvWAPJLmAccOA
    网络0×××90.292.9
    网络1××91.093.3
    网络2×91.193.5
    网络3×91.193.4
    网络491.293.6
    下载: 导出CSV

    表  7  高斯噪声鲁棒性实验 (%)

    Table  7  Robustness experiment of Gaussian noise (%)

    方法无高斯噪声 有高斯噪声
    mAccOAmAccOA
    PointNet86.089.2 83.487.6
    PointNet++90.789.6
    DGCNN90.292.989.792.6
    RSCNN92.992.3
    RFNet91.293.691.093.5
    下载: 导出CSV

    表  8  不同特征关系的消融实验 (%)

    Table  8  Ablation studies about different relationships between features (%)

    方法${e_{ij}}$$di{s_{ij}}$${l_{ij}}$${s_{ij}}$OA
    网络1×××93.3
    网络2××93.5
    网络3×93.6
    网络4××93.1
    网络5×93.5
    网络693.2
    下载: 导出CSV

    表  9  网络的复杂度对比

    Table  9  Comparison of network complexity

    方法参数量(M)浮点运算数(G)OA (%)
    PointNet3.470.4589.2
    PointNet++1.744.0991.9
    DGCNN1.812.4392.9
    PCT2.882.3293.2
    KPConv14.3092.9
    RFNet2.362.9593.6
    下载: 导出CSV
  • [1] Guo Y, Bennamoun M, Sohel F, Min L, Wan J. 3D object recognition in cluttered scenes with local surface features: a survey. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2014, 36(11): 2270-2287
    [2] 田永林, 沈宇, 李强, 王飞跃. 平行点云: 虚实互动的点云生成与三维模型进化方法. 自动化学报, 2020, 46(12): 2572-2582

    Tian Yong-Lin, Shen Yu, Li Qiang, Wang Fei-Yue. Parallel point clouds: point clouds generation and 3d model evolution via virtual-real interaction. Acta Automatica Sinica, 2020, 46(12): 2572-2582
    [3] Qi C R, Su H, Mo K, Guibas L J. PointNet: Deep learning on point sets for 3D classification and segmentation. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Honolulu, USA: IEEE, 2017. 77−85
    [4] Guo Y, Wang H, Hu Q, Liu H, Bennamoun M. Deep learning for 3d point clouds: a survey. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2020. 43(12): 4438-4364
    [5] Su H, Maji S, Kalogerakis E, Learned-Miller E. Multi-view convolutional neural networks for 3D shape recognition. In: Proceedings of the IEEE International Conference on Computer Vision. Santiago, Chile: IEEE, 2015. 945−953
    [6] Yang Z, Wang L. Learning relationships for multi-view 3D object recognition. In: Proceedings of the IEEE/CVF International Conference on Computer Vision. Seoul, South Korea: IEEE, 2019. 7504−7513
    [7] 徐思雨, 祝继华, 田智强, 李垚辰, 庞善民. 逐步求精的多视角点云配准方法. 自动化学报, 2019, 45(8): 1486-1494

    Xu Si-Yu, Zhu Ji-Hua, Tian Zhi-Qiang, Li Yao-Chen, Pang Shan-Min. Stepwise refinement approach for registration of multi-view point sets. Acta Automatica Sinica, 2019, 45(8): 1486-1494
    [8] Maturana D, Scherer S. VoxNet: A 3D convolutional neural network for real-time object recognition. In: Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems. Hamburg, Germany: IEEE, 2015. 922−928
    [9] Riegler G, Osman U A, Geiger A. OctNet: Learning deep 3D representations at high resolutions. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Honolulu, USA: IEEE, 2017. 6620−6629
    [10] Qi C R, Yi L, Su H, Guibas L J. PointNet++: Deep hierarchical feature learning on point sets in a metric space. In: Proceedings of the Advances in Neural Information Processing Systems. Long Beach, USA: 2017. 5099−5108
    [11] Wang C, Samari B, Siddiqi K. Local spectral graph convolution for point set feature learning. In: Proceedings of the European Conference on Computer Vision. Munich, Germany: 2018. 56−71
    [12] Wang Y, Sun Y, Liu Z, Sarma S E, Bronstein M M, Solomon J M. Dynamic graph cnn for learning on point clouds. ACM Transactions on Graphics, 2019, 38(5): 1-12
    [13] Liu Y, Fan B, Xiang S, Pan C. Relation-shape convolutional neural network for point cloud analysis. In: Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. Long Beach, USA: IEEE, 2019. 8895−8904
    [14] Wang L, Huang Y, Hou Y, Zhang S, Shan J. Graph attention convolution for point cloud semantic segmentation. In: Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. Long Beach, USA: IEEE, 2019. 10288−10297
    [15] Chen C, Fragonara L Z, Tsourdos A. Gapointnet: graph attention based point neural network for exploiting local feature of point cloud. Neurocomputing, 2021, 438: 122-132 doi: 10.1016/j.neucom.2021.01.095
    [16] Guo M H, Cai J X, Liu Z N, Mu T J, Martin R R, Hu S M. Pct: point cloud transformer. Computational Visual Media, 2021, 7(2): 187-299 doi: 10.1007/s41095-021-0229-5
    [17] Wen Y, Zhang K, Li Z, Qiao Y. A discriminative feature learning approach for deep face recognition. In: Proceedings of the European Conference on Computer Vision. Amsterdam, Netherland: 2016. 499−515
    [18] Wu Z, Song S, Khosla A, Yu F, Zhang L, Tang X, et al. 3D ShapeNets: A deep representation for volumetric shapes. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Boston, USA: IEEE, 2015. 1912−1920
    [19] Yi L, Kim V G, Ceylan D, Shen I C, Yan M, Su H, et al. A scalable active framework for region annotation in 3d shape collections. ACM Transactions on Graphics, 2016, 35(6): 1-12
    [20] Uy M A, Pham Q H, Hua B S, Nguyen T, Yeung S K. Revisiting point cloud classification: A new benchmark data-set and classification model on real-world data. In: Proceedings of the IEEE/CVF International Conference on Computer Vision. Seoul, South Korea: IEEE, 2019. 1588−1597
    [21] Xu Y, Fan T, Xu M, Long Z, Yu Q. SpiderCNN: Deep learning on point sets with parameterized convolutional filters. In: Proceedings of the European Conference on Computer Vision. Munich, Germany: 2018. 90−105
    [22] Simonovsky M, Komodakis N. Dynamic edge-conditioned filters in convolutional neural networks on graphs. In: Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. Honolulu, USA: IEEE, 2017. 3693−3702
    [23] 田钰杰, 管有庆, 龚锐. 一种鲁棒的多特征点云分类分割深度神经网络. 计算机工程, 2021, 47(11): 234-240

    Tian Yu-Jie, Guan You-Qing, Gong Rui. A robust deep neural network for multi-feature point cloud classification and segmentation. Computer Engineering, 2021, 47(11): 234-240
    [24] Li Y, Bu R, Sun M, Chen B. PointCNN: Convolution on x-transformed points. In: Proceedings of the Advances in Neural Information Processing System. Montreal, Canada: 2018. 828− 838
    [25] Liu X, Han Z, Liu Y, Zwicker M. Point2sequence: Learning the shape representation of 3D point clouds with an attention-based sequence to sequence network. In: Proceedings of the AAAI Conference on Artificial Intelligence. Honolulu, USA: AAAI, 2019. 8778−8785
    [26] Engel N, Belagiannis V, Dietmayer K. Point transformer. IEEE Access, 2021, 9: 134826-134840 doi: 10.1109/ACCESS.2021.3116304
    [27] 许翔, 帅惠, 刘青山. 基于卦限卷积神经网络的3D点云分析. 自动化学报, 2021, 47(12): 2791−2800

    Xu Xiang, Shuai Hui, Liu Qing-Shan. Octant convolutional neural network for 3D point cloud analysis. Acta Automatica Sinica, 2021, 47(12): 2791−2800
    [28] Qiu S, Anwar S, Barnes N. Dense-resolution network for point cloud classification and segmentation. In: Proceedings of the IEEE Winter Conference on Applications of Computer Vision. Virtual Event: IEEE, 2021. 3812−3821
    [29] Zhou H, Feng Y, Fang M, Wei M, Qin J, Lu T. Adaptive graph convolution for point cloud analysis. In: Proceedings of the IEEE/CVF International Conference on Computer Vision. Montreal, Canada: IEEE, 2021. 4965−4974
    [30] Thomas H, Qi C R, Deschaud J E, Marcotegui B, Goulette F, Guibas L. KPConv: Flexible and deformable convolution for point clouds. In: Proceedings of the IEEE/CVF International Conference on Computer Vision. Seoul, South Korea: IEEE, 2020. 6420−6429
  • 期刊类型引用(3)

    1. 张国有,左嘉欣,潘理虎,郝志祥,郭伟,张雪楠. Point-GBLS:结合深宽度学习的三维点云分类网络. 计算机系统应用. 2025(03): 1-13 . 百度学术
    2. 冯站银,方立,艾国. 基于原型融合的小样本点云语义分割算法. 计算机工程与设计. 2024(06): 1691-1697 . 百度学术
    3. 梁循,李志莹,蒋洪迅. 基于图的点云研究综述. 计算机研究与发展. 2024(11): 2870-2896 . 百度学术

    其他类型引用(12)

  • 加载中
图(8) / 表(9)
计量
  • 文章访问数:  1428
  • HTML全文浏览量:  537
  • PDF下载量:  298
  • 被引次数: 15
出版历程
  • 收稿日期:  2021-06-15
  • 录用日期:  2022-02-10
  • 网络出版日期:  2022-05-05
  • 刊出日期:  2023-11-22

目录

/

返回文章
返回