广东工业大学学报  2023, Vol. 40Issue (4): 18-23.  DOI: 10.12052/gdutxb.220145.
0

引用本文 

钟耿君, 李东. 基于通道分离机制的双分支点云处理网络[J]. 广东工业大学学报, 2023, 40(4): 18-23. DOI: 10.12052/gdutxb.220145.
Zhong Geng-jun, Li Dong. A Channel-splited Based Dual-branch Block for 3D Point Cloud Processing[J]. JOURNAL OF GUANGDONG UNIVERSITY OF TECHNOLOGY, 2023, 40(4): 18-23. DOI: 10.12052/gdutxb.220145.

基金项目:

广东省自然科学基金资助项目(2021A1515011867)

作者简介:

钟耿君(1997–) ,男,硕士研究生,主要研究方向为点云处理、模式识别。

通信作者

李东(1983–) ,男,副教授,博士,硕士生导师,主要研究方向为模式识别、机器学习、人脸识别和机器视觉,E-mail:dong.li@gdut.edu.cn

文章历史

收稿日期:2022-09-19
基于通道分离机制的双分支点云处理网络
钟耿君, 李东    
广东工业大学 自动化学院,广东 广州 510006
摘要: 本文在PointMLP方法的基础上,提出了基于通道分离机制的双分支网络模块(Channel-splited Based Dual-branch Block,CDBlock) 。CDBlock将输入特征在通道维度上切分成两组特征,并将它们输入到双分支网络模块中的不同网络分支上。具体地,双分支网络模块包括轻量网络分支和深层网络分支。轻量网络分支由残差多层感知机 (Multi-layer Perceptron, MLP) 结构组成,负责提取浅层特征信息。深层网络分支由瓶颈网络结构组成,负责提取深层语义信息。CDBlock的引入提升了网络的对点云数据的特征提取能力和学习能力,有效地提高了模型的鲁棒性。本文方法在点云分类数据集ScanObjectNN上进行了验证,总体精度和类别平均精度分别达到了86.2%和84.97%,优于PointMLP。此外,本文方法在点云分割数据集ShapeNetPart上也取得了具有竞争力的结果。相比于PointMLP,本文方法在使用更少的参数量和计算量情况下取得了更优异的结果。
关键词: 三维点云    深度学习    多分支    残差网络    
A Channel-splited Based Dual-branch Block for 3D Point Cloud Processing
Zhong Geng-jun, Li Dong    
School of Automation, Guangdong University of Technology, Guangzhou 510006, China
Abstract: In this paper, we propose a channel-split-based dual-branch block (CDBlock) based on the PointMLP method, which splits input features into two groups along the channel dimension and feeds them into different branches of the dual-branch network module. Specifically, our proposed CDBlock consists of a lightweight branch and a heavyweight branch. The lightweight branch, which uses the structure of the residual MLP, is designed to extract coarse semantic features. The heavyweight branch, which uses the bottleneck network as backbone, is responsible for extracting more deeper and distinguishable information. By doing this, our proposed CDBlock effectively improves the network's feature extraction and learning capabilities. Experimental results show that our proposed method outperforms the existing PointMLP by achieving an overall accuracy of 86.2% and a class average accuracy of 84.97% on ScanObjectNN dataset. In particular, our approach achieves better results with using fewer parameters and computational cost than the PointMLP. Additionally, our approach also achieves encouraging performance on the ShapeNetPart dataset.
Key words: 3D point cloud    deep learning    multi-branch    residual network    

基于深度学习的点云处理研究是计算机视觉领域中的一个热点内容。根据深度学习网络中点云输入表征形式的不同,可以将其划分为体素法、投影法和逐点法。其中,逐点法将点云坐标、法向量等特征直接输入到网络中,网络结构简单轻量,是点云处理研究中的热点话题。PointNet[1]是逐点法的开山之作,它先通过多层感知机 (Multi-layer Perceptron, MLP) 提取点云的语义特征,再利用对称聚合操作,如最大池化,获得点云的全局特征,最后通过全连接层 (Fully Connected Layer, FC) 输出最终的预测。但是,直接使用MLP层学习点云特征的方式会遗失点云邻域信息。PointNet++[2]提出了集合抽象模块方法来提取点云邻域信息。集合抽象模块、PointNet[1]中的MLP层和对称聚合操作组成一个特征学习阶段。多个特征学习阶段的串联叠加构成点云数据的深度学习网络。但PointNet++[2]并不能从根本上解决逐点法中的邻域信息提取不足的问题。因此,不少研究者通过设计精妙的局部特征提取模块来提高网络对几何邻域特征的提取能力[3-6]。点卷积是这一方向的经典改进策略,一直以来都是逐点法研究的热门内容。点卷积的核心内容是设计一个核变换矩阵将点云邻域信息映射成一个二维矩阵,并采用二维卷积操作提取更为丰富的几何邻域信息。然而,这些研究在点云网络性能上已经到达了瓶颈[7]。图像处理中ViT[8]为逐点法的研究开拓了新视角,基于自注意力机制的点云处理算法的研究得到了人们的关注。自注意力机制能够提取到长距离依赖信息,能够有效地扩大点云网络的感受野,在点云网络性能上取得了新的高度[9-10],但自注意力机制中计算复杂和难收敛的缺点有待进一步克服。最近的研究成果PointMLP[11]引入了一个新的研究范式,将点云网络的MLP改进为残差MLP结构,并以此为点云网络的基础模块构建全新的点云处理网络。这种改进思路在点云分类数据集取得了优异的成绩。

本文方法则在PointMLP[11]的基础上引入了通道分离的思想,设计了基于通道分离机制的双分支网络模块,即CDBlock (Channel-splited based Dual-branch Block) 。本文提出的CDBlock将会替换PointMLP[11]骨架网络 (见图1(a)) 的前处理模块,形成新的点云处理网络,称之为CDNet,它的网络结构如图1(b)所示。首先,CDBlock将点云局部特征在通道维度上切分成两组特征,然后将这两组特征分别输入到双分支网络模块中。双分支网络模块包括轻量网络分支和深层网络分支。其中,轻量网络分支由残差结构组成,它负责提取浅层特征信息;深层网络分支由瓶颈网络结构组成,它负责提取深层语义信息。实验证明,CDBlock的引入有效地提高了网络对点云数据的特征提取能力、学习能力和模型的鲁棒性。

图 1 网络结构 Figure 1 Network architecture
1 PointMLP网络介绍

本文的基线网络PointMLP[11]的网络结构如图1(a)所示,输入数据维度为 $ N\times 3 $ ,3个通道代表坐标值 $ \left(x,y,z\right) $ $ N $ 为输入到网络中的点云数量。PointMLP[11]网络由嵌入层、特征学习阶段和分类器组成。在具体实现中,嵌入层是两层MLP,负责将3通道的点云特征映射到64通道,得到的点云特征会输入PointMLP[11]的骨干部分。该骨干部分由4个特征学习阶段串联叠加构建而成。在每一个特征学习阶段中,集合抽象模块输出点云局部特征 $ f $ ,它的特征通道数为 $ C $ 。前处理模块 ${\varPhi}_{\text{pre}}$ 则用于提取点云局部特征 $ f $ 的语义信息,并通过最大池化层获得高语义的全局聚合特征。后处理模块 ${\varPhi}_{\rm{pos}}$ 负责全局特征的深度聚合。而前、后处理模块均由残差MLP结构组成。

2 本文方法

本文方法在PointMLP[11]的基础上引入了通道分离的思想,将PointMLP[11]中的前处理模块 ${\varPhi }_{\mathrm{p}\mathrm{r}\mathrm{e}}$ 替换成CDBlock。CDNet的网络结构如图1(b)所示。不失一般性,CDNet的特征学习阶段可以用公式表示为

$ g={\varPhi}_{\rm{pos}}\left(A\right(\mathrm{C}\mathrm{D}\mathrm{B}\mathrm{l}\mathrm{o}\mathrm{c}\mathrm{k}\left(f\right) \left) \right) $ (1)

式中: $ g $ 为特征学习阶段的输出特征; ${\varPhi}_{\rm{pos}}$ 为后处理模块,它的网络结构与PointMLP[11]一样,由残差MLP结构组成; $ A $ 为对称聚合函数,本文采用最大池化操作; $ \mathrm{C}\mathrm{D}\mathrm{B}\mathrm{l}\mathrm{o}\mathrm{c}\mathrm{k} $ 为基于通道分离的双分层支网络模块; $ f $ 表示点云局部特征,它的特征通道数为 $ C $

CDBlock主要借鉴了图像处理中多分支网络的设计思想。例如,ResNeSt[12]结合多路径[13]和特征图注意力的网络设计思想,将输入特征沿着特征通道维度进行切分,并为每个分离特征设计独立的特征提取模块。

与ResNeSt[12]方法类似,本文提出的CDBlock在特征通道进行切分,具体结构如图2所示。通过控制通道分离因子 $ \alpha \in \left(\mathrm{0,1}\right) $ 的数值大小,将输入的点云局部特征 $ f $ 在特征通道方向进行切分,获得两组分离特征,并将这两组分离特征分别表示为 ${f}^{\gamma }$ ${f}^{\mu }$ 。它们分别代表点云局部特征 $ f $ 的前 $ \alpha C $ 通道上的点云特征和后 $ \left(1-\alpha \right) C $ 通道上的点云特征,当 $ \alpha C $ 不为整数时,则向下取整。因此, ${f}^{\gamma }$ ${f}^{\mu }$ 的特征通道数分别为 $ \alpha C $ $ \left(1-\alpha \right) C $ 。ResNeSt的分离特征输入到深度相同的特征提取模块,而本文提出的CDBlock则是将分离特征 ${f}^{\gamma }$ ${f}^{\mu }$ 分别输入到双分支网络模块中的轻量网络分支 ${\varPhi}_{\text{L}}$ 和深层网络分支 ${\varPhi}_{\text{H}}$ 中,这两个网络分支的卷积层深度是不同的。具体而言,轻量网络分支 ${\varPhi}_{\text{L}}$ 由一层残差结构组成,它负责提取浅层特征信息;深层网络分支 ${\varPhi}_{\text{H}}$ 由瓶颈网络结构组成,它负责提取深层语义信息。本文提出的CDBlock不仅能够捕捉到特征的捕获跨通道相关性,还能学习到不同层次的点云语义信息,模型性能表现更优。

图 2 CDBlock的结构实现 Figure 2 Structure implementation of the CDBlock
2.1 轻量网络分支

轻量网络分支 ${\varPhi}_{\text{L}}$ 的结构如图3(a) 所示,它是一层残差MLP结构,由卷积核大小为1×1的卷积层以及批归一化(Batch Normalization,BN)和激活函数ReLU串联叠加两次组成;由图2可知,输入到轻量网络分支 ${\varPhi}_{\text{L}}$ 的特征为 ${f}^{\gamma }$ ,它的特征通道数为 $ \alpha C $ ,经过轻量网络分支得到输出特征 $ {{f}{\text{′}}}^{\gamma } $ ,表示为

$ {{f}{\text{′}}}^{\gamma }={\varPhi}_{\text{L}}\left({f}^{\gamma }\right) $ (2)

由于轻量网络分支 ${\varPhi}_{\text{L}}$ 由一层残差MLP结构组成。因此,该网络分支仅学习到浅层语义的点云局部特征。

2.2 深层网络分支

深层网络分支 ${\varPhi}_{\text{H}}$ 的结构由图3(b) 所示,它由瓶颈结构组成。其中, $ {C}^{\mu } $ 表示 ${f}^{{{\mu}} }$ 的特征通道。具体地,瓶颈结构由两层残差MLP结构组成,其特点在于点云局部特征 ${f}^{\mathrm{\mu }}$ 通过第1层残差MLP结构后特征通道数量会压缩至原来的一半,而经过第2层残差MLP结构后恢复回原来的大小。这种结构设计不仅能够提取到丰富的点云特征信息,同时还能节省网络的计算量[14]。由图2可知,深层网络分支 ${\varPhi}_{\text{H}}$ 输入特征为 ${f}^{\mathrm{\mu }}$ ,它的特征通道数为 $ \left(1-\alpha \right) C $ ,经过深层网络分支 ${\varPhi}_{\mathrm{H}}$ 得到输出特征 ${{f}{\text{′}}}^{\mathrm{\mu }}$ ,表示为

$ {{f}{\text{′}}}^{\mu }={\varPhi}_{\text{H}}\left({f}^{\mu }\right) $ (3)

由于深层网络分支 ${\varPhi}_{\text{H}}$ 由两个残差MLP结构组成,相对于只由一层残差MLP结构组成的轻量网络分支 ${\varPhi}_{\text{L}}$ ,它能够提取到更深层语义的点云局部特征。

为融合两个网络分支输出的点云特征,对特征 ${{f}'}^{\gamma }、{{f}'}^{\mu }$ 进行拼接,即

$ {f}_{\mathrm{o}\mathrm{u}\mathrm{t}}=\mathrm{c}\mathrm{a}\mathrm{t}\left({{f}{\text{′}}}^{\gamma },{{f}{\text{′}}}^{\mu }\right) $ (4)

式中: $ \mathrm{c}\mathrm{a}\mathrm{t} $ 为通道拼接操作。得到的特征 $ {f}_{\mathrm{o}\mathrm{u}\mathrm{t}} $ 将会进一步送入残差MLP模块做特征融合操作,从而获得具有强语义信息的点云局部特征。通过最大池化函数获得高语义的点云局部特征,进入到后处理模块 ${\varPhi}$ ,这一步聚合操作与PointMLP[11]保持一致。

图 3 残差MLP结构和瓶颈结构 Figure 3 Structures of residual MLP and bottleneck
3 实验部分

本部分首先介绍实验使用的数据集、评价指标和实验设置细节;然后,将本文方法与其他点云处理网络进行比较;最后,通过消融实验证明本文提出的CDBlock的有效性,并分析了通道分离因子 $ \alpha $ 对网络性能的影响,获得最优通道分离因子的值。

3.1 数据集

本文在点云分类数据集ScanObjectNN[15]和点云分割数据集ShapeNetPart[16]上验证CDBlock的有效性。具体地,ScanObjectNN数据集包含15个类别,总计约有15 000个物体。ShapeNetPart[16]数据集则包含16个语义类别,总计有57 386个语义实例。在实验过程中,为保证实验结果公平,分类数据集和分割数据集的训练集和验证集的划分方式与PointMLP[11]保持一致。

3.2 评估指标

本文在分类数据集上采用的性能指标包括总精度OA (Overall Accuracy) 和类平均精度mAcc (mean Accuracy) 。它们是评估点云分类网络算法性能的常用指标,分别统计了模型预测的总体准确率和召回率的平均值,总精度OA用于评估模型的整体性能,而类平均精度mAcc用于评估模型在数据不均衡情况下的性能表现。而在分割数据集上采用平均交并比的指标mIoU (mean Intersection over Union) ,包括类平均交并比Cls.mIoU (Class mIoU) 和实例平均交并比Inst.mIoU (Instance mIoU) ,它们分别表示所有类别交并比和的平均值以及各实例交并比和的平均值。

3.3 实验过程

本文的实验在Ubuntu18.04 LTS操作系统中部署。编程语言是Python3.7,深度学习框架为Pytorch1.7.1。使用GPU加速工具CUDA 11.1。硬件配置主要包括:CPU×1,型号为Intel(R) Core(TM) i7-9800X CPU @3.80 GHz;GPU×1,型号为3090 32 GB。在训练设置方面,分类数据集采用了Adam优化器,初始学习率为0.01,L2正则化因子采用0.000 01,学习率优化策略则采用了余弦衰减策略。网络一共训练300个轮次。在分割数据集上学习率则采用0.003,总共序列500个轮次,其余训练设置则与训练分类数据集采用的保持一致。同时,根据消融实验结果,通道分离因子 $ \alpha \mathrm{为}0.5 $

3.4 实验结果

(1) 分类实验结果。本文提出的算法在点云数据集ScanObjectNN[15]上实验论证,并与其他有代表性且性能表现领先的点云分类算法进行了比较。输入到点云分类网络中的点云数量 $ N $ =1 024。预测输出维度为15,表示ScanObjectNN[15]的15个分类类别,实验结果如表1所示。其中,PointCNN[17]是较早研究点卷积的方法,其主要对采样聚合的特征进行 $ \chi $ 变换,学习点云的置换不变性,而后再利用二维卷积进行点云特征学习,获得丰富的点云邻域信息。PointMLP[11]则是在PointNet[1]的基础上,引入了残差MLP网络结构。它通过残差MLP网络结构组成网络的骨架部分。实验表明,通过优化PointNet[1]架构中的MLP层,同样能够学习到丰富的点云信息,并在分类网络中的表现更优。而本文在此基础上,引入了通道分离思想,设计了基于通道分离机制的双分支网络模块。这种网络设计能够学习到同一层级点云特征的多层次语义信息。对比表1各方法的性能数值,本文方法总体精度OA和类平均精度mAcc分别达到了86.2%和84.97%,优于其他点云分类方法。在深度学习领域中,参数量和计算量是衡量模型复杂度的两个重要指标。经统计,CDNet的参数量和计算量分别为11.6 M和12.5 G,均低于PointMLP。实验结果验证了本文方法的优越性,也说明了在数据不均衡的情况下,本文方法也具备较好的鲁棒性。

表 1 在数据集ScanObjectNN上的实验结果 Table 1 Experimental results on the ScanObjectNN dataset

(2) 分割实验结果。本文提出的CDNet在分割数据集ShapeNetPart[16]上也展现出良好的竞争力。为保证实验结果的公平性,输入到点云分割网络中的点云数量 $ N $ =2 048,与PointMLP[11]保持一致。从实验结果上看 (见表2) ,本文方法在各个实例的指标上都与当前逐点法性能保持同一梯度水平。具体地,摩托车实例的mIoU性能指标达到了SOTA水平。值得注意的是,CDNet所需的参数量和计算量低于PointMLP。

3.5 消融实验

为了验证通道分离机制的有效性,本文对1.2所述的基于通道分离机制的双分支网络模块进行了消融实验。具体的实验结果如表3所示,当不采用基于通道分离的多分支结构时,分类指标总体精度OA只能取得83.6%,而类平均精度mAcc则更低,为81%。它们均低于采用通道分离机制的双分支网络。原因在于基于通道分离机制的双分支网络模块能够提取到多层次的点云特征,网络学习到的点云语义信息具备更加丰富的表征。

表 2 在ShapeNetPart上的实验结果 Table 2 Experimental results on the ShapeNetPart dataset
表 3 通道分离机制的消融实验 Table 3 Ablation studies of the Channel-splited method

以上的实验证明了通道分离机制的有效性。同时,本文进一步探索通道分离因子 $ \alpha $ 的大小对网络性能的影响。由章节2可知, $ \alpha $ 因子越大,轻量网络分支特征获得的特征通道数越多,深层网络分支则越少。消融实验结果如表4所示,当 $ \alpha $ 取值0.6时,分类指标OA和mAcc都达到了最低点,而 $ \alpha $ 取值上升时,分类指标先上升后下降,但都没有超过 $ \alpha $ 取值0.5时的性能指标。所以基于通道分离机制的双分支网络模块的最优通道分离因子数为0.5。

表 4 通道分离因子 $ \alpha $ 的消融实验 Table 4 Ablation studies of $ \alpha $
4 结论

本文在逐点法PointMLP[11]的基础上引入了通道分离思想,提出了基于通道分离机制的双分支网络处理模块(CDBlock) 。CDBlock将输入特征在通道层级上切分成两组特征,并将它们输入到双分支网络模块中的不同网络分支上。具体地,双分支网络模块包括:轻量网络分支,它由残差MLP结构组成,负责提取浅层特征信息;深层网络分支,它由瓶颈网络结构组成,负责提取深层语义信息。这种模块结构设计能够提取到多层次的点云语义信息,提升了网络对点云数据特征的提取能力和学习能力,有效地提高了模型的鲁棒性。在点云分类数据集ScanObjectNN[15]上进行验证,总体精度OA和类别平均精度mAcc分别为86.2%和84.97%,优于PointMLP[11]。同时,在点云分割数据集ShapeNetPart[16]上也表现良好。相比于PointMLP,本文方法在更少参数量和计算量的情况下取得了更优异的结果。此外,通过消融实验证明了CDBlock的有效性;通道分离因子的消融实验结果表明,当 $ \alpha $ 取值0.5时,点云分类网络性能达到最优。本文方法能够提取到多层次的点云特征,未来将引入更多点云处理算法的优秀思想,进一步提高网络性能。

参考文献
[1]
QI C R, SU H, MO K, et al. Pointnet: deep learning on point sets for 3D classification and segmentation[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Honolulu, HI: IEEE, 2017: 652-660.
[2]
QI C R, YI L, SU H, et al.. Pointnet++: deep hierarchical feature learning on point sets in a metric space[J]. Advances in Neural Information Processing Systems, 2017, 30: 5099-5108.
[3]
THOMAS H, QI C R, DESCHAUD J E, et al. Kpconv: flexible and deformable convolution for point clouds[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision. Long Beach: IEEE, 2019: 6411-6420.
[4]
WU W, QI Z, FUXIN L. Pointconv: deep convolutional networks on 3D point clouds[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. Seoul: IEEE, 2019: 9621-9630.
[5]
XU M, DING R, ZHAO H, et al. Paconv: position adaptive convolution with dynamic kernel assembling on point clouds[C]//Proceedings of the IEEE/ CVF Conference on Computer Vision and Pattern Recognition. New York: IEEE, 2021: 3173-3182.
[6]
RAN H, LIU J, WANG C. Surface representation for point clouds[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. New Orleans: IEEE, 2022: 18942-18952.
[7]
LIU Z, HU H, CAO Y, et al. A closer look at local aggregation operators in point cloud analysis[C]// European Conference on Computer Vision. Glasgow: ECCV, 2020: 326-342.
[8]
DOSOVITSKIY A, BEYER L, KOLESNIKOV A, et al. An image is worth 16×16 words: transformers for image recognition at scale[C]//International Conference on Learning Representations. Cambridge: ICLR, 2021: 1-6.
[9]
ZHAO H, JIANG L, JIA J, et al. Point transformer[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision. Montreal: IEEE, 2021: 16259-16268.
[10]
GUO M H, CAI J X, LIU Z N, et al. Pct: point cloud transformer[J]. Computational Visual Media, 2021, 7(2): 187-199. DOI: 10.1007/s41095-021-0229-5.
[11]
XU MA, CAN Q, HAOXUAN Y, et al. Rethinking network design and local geometry in point cloud: a simple residual MLP framework[C]//International Conference on Learning Representations. Kigali: ICLR, 2022: 1-9.
[12]
ZHANG H, WU C, ZHANG Z, et al. Resnest: split-attention networks[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. New Orleans: IEEE, 2022: 2736-2746.
[13]
SZEGEDY C, LIU W, JIA Y, et al. Going deeper with convolutions[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Boston: IEEE, 2015: 1-9.
[14]
HE K, ZHANG X, REN S, et al. Deep residual learning for image recognition[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas: IEEE, 2016: 770-778.
[15]
UY M A, PHAM Q H, HUA B S, et al. Revisiting point cloud classification: a new benchmark dataset and classification model on real-world data[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision. Seoul: IEEE, 2019: 1588-1597.
[16]
YI L, KIM V G, CEYLAN D, et al. A scalable active framework for region annotation in 3D shape collections[J]. ACM Transactions on Graphics(ToG), 2016, 35(6): 1.
[17]
LI Y, BU R, SUN M, et al. Pointcnn: convolution on x-transformed points [J]. Advances in Neural Information Processing Systems, 2018, 31: 1-11.