基于DenseNet与PointNet融合算法的三维点云分割

吴烈权, 周志峰, 时云, 任朴林

吴烈权, 周志峰, 时云, 任朴林. 基于DenseNet与PointNet融合算法的三维点云分割[J]. 应用光学, 2024, 45(5): 982-991. DOI: 10.5768/JAO202445.0502006
引用本文: 吴烈权, 周志峰, 时云, 任朴林. 基于DenseNet与PointNet融合算法的三维点云分割[J]. 应用光学, 2024, 45(5): 982-991. DOI: 10.5768/JAO202445.0502006
WU Liequan, ZHOU Zhifeng, SHI Yun, REN Pulin. 3D point cloud segmentation algorithm based on fused DenseNet and PointNet[J]. Journal of Applied Optics, 2024, 45(5): 982-991. DOI: 10.5768/JAO202445.0502006
Citation: WU Liequan, ZHOU Zhifeng, SHI Yun, REN Pulin. 3D point cloud segmentation algorithm based on fused DenseNet and PointNet[J]. Journal of Applied Optics, 2024, 45(5): 982-991. DOI: 10.5768/JAO202445.0502006

基于DenseNet与PointNet融合算法的三维点云分割

基金项目: 国家重点研发计划(2021YFB1714600)
详细信息
    作者简介:

    吴烈权(1997 —),男,硕士,主要从事计算机视觉研究。E-mail:1875766564@qq.com

    通讯作者:

    周志峰(1976 —),男,博士,副教授,主要从事计算机测控、自动导航驾驶、机器视觉与运动控制、嵌入式与信号处理研究。E-mail: zhousjtu@126.com

  • 中图分类号: TN201;TP311.1

3D point cloud segmentation algorithm based on fused DenseNet and PointNet

  • 摘要:

    点云分割对于智能驾驶、物体检测和识别、逆向工程等任务非常重要。PointNet是一种能够直接处理点云数据的方法,近年来在点云分割任务中得到广泛应用,但其分割精度较低,而PointNet++的计算成本又较高。针对以上问题,提出一种融合DenseNet和PointNet的算法,用于点云分割,并引入三分支混合注意力机制,以提高PointNet在提取局部特征方面的能力。基于密集连接卷积网络(DenseNet)思想,提出用DenseNet-STN和DenseNet-MLP结构来替代PointNet中的空间变换网络(STN)和多层感知机(MLP);同时,使用Add连接代替密集块(DenseBlock)中的Concat连接,以提高对点特征间相关性的准确性,同时不显著增加模型复杂度。DenseNet-PointNet能够提高复杂分类问题的泛化能力,实现对复杂函数更好的逼近,从而提高点云分割的准确率。有效性和消融实验结果表明,本文算法具有良好的性能。点云分割实验结果表明,DenseNet-PointNet在大多数类别中的交并比(IoU)都高于PointNet的IoU,并在部分类别中也高于PointNet++,参数量是PointNet++的47.6%,浮点运算量(FLOPs)是PointNet++的49.1%。实验结果验证了DenseNet-PointNet的可行性和有效性。

    Abstract:

    Point cloud segmentation is crucial for key tasks, including intelligent driving, object recognition and detection, as well as reverse engineering. PointNet represents a direct point cloud data processing approach widely utilized in point cloud segmentation tasks. Nevertheless, it is associated with low segmentation accuracy and the computational cost of PointNet++ is high. Aiming at the above problems, an algorithm combining DenseNet and PointNet was proposed for the segmentation of point clouds. A three-branch hybrid attention mechanism was introduced to enhance PointNet capability to extract local features. DenseNet-STN and DenseNet-MLP structures were proposed to substitute spatial transformation networks (STNs) and multi-layer perceptrons (MLPs) in PointNet, in line with the dense connected convolutional networks (DenseNet) concept. At the same time, the add connection in DenseBlock, rather than the Concat connection, to enhance the accuracy of point feature correlation, without imposing significant complexity to the model. DenseNet-PointNet demonstrates effective generalization ability for complex classification problems and facilitates better function approximation, thereby improving the precision of point cloud segmentation. The findings of the effectiveness and ablation experiments show that the proposed algorithm performs well. The results of the point cloud segmentation experiments indicate that the intersection and concatenation ratio (IoU) of DenseNet-PointNet is superior to that of PointNet in most categories, and also higher than that of PointNet++ in some categories. DenseNet-PointNet achieves this with only 47.6% of the parameters of PointNet++, and 49.1% of the floating point operations (FLOPs). Therefore, these experimental results confirm the feasibility and availability of DenseNet-PointNet.

  • 随着三维扫描仪、激光雷达等多元三维传感技术的突飞猛进,获取高精度三维点云数据的途径日益多样化。在诸如自动驾驶[1]、医学影像处理[2]、三维重建[3] 以及混合现实(MR)[4]等重要领域内,均有相关点云处理技术的应用场景。点云分割是点云处理过程中的关键任务,其目的在于将复杂的点云数据准确地划分为多个特定子集,这些子集分别对应着不同的实体或物体。尽管卷积神经网络(CNN)在常见的2D及3D模型上取得了卓越的表现,然而点云数据是由散乱、稀疏的三维点阵构成,这使得CNN很难直接用于点云分割任务。目前的点云分割方法,大多依靠手动干预,这种方式不仅效率低下,而且准确性难以保证。

    在人工智能技术不断发展的今天,许多学者开始探寻如何利用深度学习方法来优化处理点云分割问题。KALOGERAKIS E等人[5]运用条件随机场(CRF)计算点云数据的三维点坐标以及标签之间的联合概率分布,以实现点云分割。然而,CRF的模型架构较为复杂,需要调整众多超参数,同时进行大量的试验与错误修正,使得该模型的调整变得相当困难。文献[6]建议通过将点云数据预处理为体素模型来改善这个问题,而文献[7]则倾向于将点云数据转换为二维图像,或者利用视图投影构建有序的二维网格。虽然这两种方式都能在转换为常规数据模型后执行卷积操作,但它们都无法直接处理原始的点云数据。

    QI C R等[8]首次提出了一种创新的神经网络架构,名为PointNet,该架构能够直接处理点云数据。受PointNet启发,DENG H等[9]进一步提出了一种名为PPFNet的点云匹配方法。PPFNet充分利用全局上下文感知的局部特征,成功实现了对点云数据的稳健对应与识别。JIANG M等[10]开发了一种先进的点云语义分割方法,名为PointSIFT。PointSIFT在PointNet的基础上,引入了球面卷积以及类似于SIFT的特征编码策略,从而提升了点云数据的特征表达与分类性能,通过将点云数据转化为一组局部特征描述符,并运用深度学习方法完成对点云数据的语义分割。在PointNet的基础上,QI C R等[11]提出了PointNet++,PointNet++在处理点云数据过程中引入了层次结构,能够更为精准地捕捉到各个尺度的特征。与PointNet相比,PointNet++能更为有效地处理点云中的局部特征。同时,PointNet++采用了更多的数据增强技术和正则化策略,使得模型在有噪声情况下的点云数据处理中也表现得颇为稳定。然而,PointNet++的每一层都包含多对可学习参数,其参数量相较于PointNet约高出3~4倍,这无疑给整个模型带来更大的参数量、更高的计算复杂性以及对超参数的敏感性。在点云分割任务中,尽管PointNet的分割精度稍逊于PointNet++,但因参数规模远小于PointNet++,从而使得其计算复杂度更低,适用场景更丰富。因此,我们认为继续深入研究PointNet并提升其在点云分割方面的性能是十分必要的。

    PointNet是一种神经网络架构,能直接处理点云数据,完成分类和分割任务,PointNet的网络架构如图1所示,其主要由4部分组成。

    图  1  PointNet分割架构图[9]
    Figure  1.  PointNet segmentation architecture[9]

    1) 预处理点云数据。通过将N×3维的点云数据(N是点云数据集中的点数)乘以空间变换网络(spatial transformer network)生成的3×3的三维仿射矩阵,使原始点云在空间上保持不变,并利用多层感知器(MLP)将点云数据转换成N×64维,以得到更多特征。对N×64维点云数据进行第2次的仿射变换,确保所提取的点云数据不受刚性变换的影响。

    2) 全局特征提取网络。将整个点云映射到一个全局特征向量中,用于表示整个点云的特征。该网络由几个多层感知器(MLP)组成,将点云数据的维度提升到1024维,以获得更多的特征信息,并对数据进行最大池化操作。

    3) 局部特征提取网络。对于每个点提取其周围一定范围内的局部特征。该网络也由几个MLP组成,其中每个MLP接受每个点的坐标和特征向量作为输入,并输出对应点的局部特征向量。

    4) 合并层。将全局特征向量和每个点的局部特征向量合并成一个新的特征向量。将合并后的特征向量作为输入,通过几个MLP和softmax激活函数映射到分割类别中。

    残差网络(ResNet)是由HE K等[12]提出的一种深度学习框架,以解决深度神经网络中的退化问题。ResNet由几个残差块组成,图2是具有两个隐藏层的残差块。

    $$ {\boldsymbol{Y}} = F\{ {\boldsymbol{X}},W(i)\} + {\boldsymbol{X}} $$ (1)

    式中:$ X $和$ Y $是残差块的输入和输出向量;函数$ F\{ {\boldsymbol{X}},W(i)\} $是隐藏层的计算函数;$ W(i) $是每个隐藏层的权重。输入$ {\boldsymbol{X}} $的恒等变换是通过快捷方式连接实现的,即将$ {\boldsymbol{X}} $添加到隐藏层的输出中。

    图  2  残差块[11]
    Figure  2.  Residual block[11]

    文献[13]中引入了一种新颖的网络架构,被称为密集连接卷积网络(DenseNet)。如图3所示,DenseNet由密集块(DenseBlock)、卷积(Convolution)、池化操作(Pooling)以及特征融合线性层(Linear)组成。如图4所示,单个DenseBlock由多个BN层、卷积层和ReLU函数组成。在这种架构中,每一层都能直接从损失函数中获取梯度,并直接接收输入信号,从而可以训练出更深的网络,并获取更多的特征信息。值得注意的是,每个DenseBlock都是先前特征映射的迭代串联。这种架构可以被视为ResNets的扩展,它对先前的特征图进行迭代求和。DenseNet在以下几个方面表现出色:

    1) 参数效率,因为不需要重新学习冗余的特征图,DenseNets在参数使用上更有效率;

    2) 隐式深度监督,DenseNets执行深度监督,这要归功于架构中所有特征图的短路径类似于深度监督网络[14]

    3) 特征重用,这是一种使所有层都能轻松访问前面层的方法,从而可以方便地重用已计算的特征图中的信息。

    DenseNet的这些特性使其非常适用于语义分割,因为它们自然地促进了跳过连接和多尺度监督。总的来说,DenseNet通过其独特的设计,提供了一种强大且高效的方式来处理和理解数据,特别是在进行语义分割任务时。

    图4是一个DenseBlock,在第$ i $层的输入$ {x_i} $是这个DenseBlock中之前所有层的输出的集合:

    $$ {x_i} = [{y_0},{y_1}, \cdots ,{y_{i - 1}}]$$ (2)
    $$ {y_i} = {H_i}({x_i})$$ (3)

    式中:$ [{y_0},{y_1}, \cdots,{y_{i - 1}}] $按照特征图将$ i - 1 $个输入拼接成一个张量(Tensor);$ {H_i} $是合成函数(composite function)。Transition Layer表示从一个网络模块过渡到另一个网络模块,通常用来减小维度。

    图  3  DenseNet网络架构[12]
    Figure  3.  DenseNet architecture[12]
    图  4  DenseBlock络架构[12]
    Figure  4.  DenseBlock architecture[12]

    注意力机制(attention mechanism)是一种用于提升模型性能和准确性的强大策略。在给定一组输入的情况下,注意力机制通过计算每个输入对输出的重要性,使模型更加关注那些对输出有重大贡献的输入。如图5所示,注意力机制模型的输入是大量特征$ {X_i} $,根据上下文$ Y $,给予$ {X_i} $不同权重(W1,W2,…Wi−1,Wi),输出$ Z $是$ {X_i} $加权算数平均数(Avg),在整个加权过程中剔除了大量无关信息。

    图  5  注意力机制架构
    Figure  5.  Attention mechanism architecture

    注意力机制可分为空间注意力机制、通道注意力机制以及混合注意力机制。将空间注意力机制和通道注意力机制引入网络中,空间注意力机制可被用于捕捉点云中点与点之间的空间联系,帮助识别具有相似空间结构的点属于同一类别,通道注意力机制可被用于捕捉点云中不同属性通道的相关性,调动不同通道最有效的信息来辅助点的分类,从而提高网络处理局部特征能力。

    这两种注意力机制可以选择性地关注最相关的特征,忽略低质量的特征,从而大大减少噪声和异常点的影响。同时,这两种注意力机制会相互补充,降低对单个特征的依赖,从而提高网络的鲁棒性。总的来说,注意力机制通过其独特的设计,提供了一种强大且高效的方式来处理和理解数据,特别是在进行语义分割任务时。

    为提高PointNet在分割任务中的效果,本文提出基于DenseNet和PointNet融合算法。DenseNet-STN中,STN(spatial transformer network)是空间变换网络,同时用DenseNet-MLP替换MLP,在DenseNet-MLP之前添加三分支混合注意力机制(THAM)。THAM对每个点加权,剔除无用特征,提高网络学习局部特征的性能。DenseNet和PointNet融合算法的机构如图6所示,DenseNet被用作STN模块中的特征提取器,用于从输入的特征图中提取特征。DenseNet-MLP需要改变不同的维度,其中DenseNet-MLP-1将点云维度从N×3提升到N×64,输出N×64维点云特征矩阵;DenseNet-MLP-2将N×64维特征提升到N×1024,为下一步使用最大池化提取全局特征做准备,局部(N×64维特征)和全局特征组合形成N × 1088维组合特征;DenseNet-MLP-3用于缩小包含局部特征(N×64维特征)和全局特征的组合特征的维度。然后使用分类器将每个组合特征对应的点映射到m个分割类别,并输出最终的分割结果。

    在DenseBlock架构中,用Concat连接特征信息,本文算法针对点云分割任务,将Add连接代替Concat连接。Add连接可以增强点特征之间的相关性,有利于分割,且计算量小,不会明显增加模型复杂度。

    图  6  DenseNet和PointNet融合算法架构
    Figure  6.  DenseNet and PointNet fusion algorithm architecture

    在本文提出的DenseNet-STN中,DenseNet用于从输入的特征图中提取特征。具体地,STN 模块由3个主要组件组成:特征提取器、仿射变换生成器和采样器。其中,特征提取器用于从输入的特征图中提取特征,仿射变换生成器用于生成仿射变换矩阵,采样器用于对输入的特征图进行采样和变换。

    图7是DenseNet-STN的网络架构,主要由3部分组成:基于DenseNet的深度卷积神经网络(每个DenseBlock包含2个卷积层,共6个卷积层)、最大池化操作(Max pooling)和全连接网络。基于DenseNet的深度卷积神经网络提取点云特征并将数据维度提升到N×1024,可用于计算出良好的仿射变换矩阵;对提取的N×1024维特征进行最大池化操作(Max pooling),得到1024维特征向量,max pooling避免点云无序对仿射变换矩阵的影响;全连接网络有5层,前4层由两个残差块组成,每个残差块包含两个完全连接的层,前4层是减少提取的1024维特征向量的维数,两个残差块后面是一个完全连接的层,可以将降维特征向量映射到仿射变换矩阵。

    图  7  DenseNet-STN网络架构
    Figure  7.  DenseNet-STN architecture

    图7中假设输入的数据是N×k维,经过基于DenseNet的卷积神经网络,将数据提升到N×1024维,再经过Max pooling生成1024维的特征向量,最后经过全连接层降维映射已形成k×k维仿射变换矩阵。

    在PointNet分割任务的架构中,3次使用MLP,以提升或者减少点云数据的维度,本文基于DenseNet设计3种DenseNet-MLP架构,即:DenseNet-MLP-1、DenseNet-MLP-2和DenseNet-MLP-3,如图8所示。

    图  8  3种DenseNet-MLP架构
    Figure  8.  Three DenseNet-MLP architectures

    DenseNet-MLP-1由两个DenseBlock组成,每个DenseBlock中包含两个卷积层,DenseNet-MLP-1将维度为N×3的点云数据提升到N×64维;DenseNet-MLP-2由3个DenseBlock组成, DenseNet-MLP-2将维度为N×64的点云数据提升到N×1024维,在后续Max pooling提取全局变量时会有很多特征缺失,大幅提高维度有利于特征提取;DenseNet-MLP-3的作用是逐步降低组合特征的维数,从N×1088维降到N×64维,在3个DenseBlock后面是一个卷积层,它将特征映射到m个语义标签。

    为提高PointNet提取局部特征的能力,同时提高网络的鲁棒性,本文引入三分支混合注意力机制,如图9所示,C表示通道维度,HW为空间维度。三分支注意力机制模块由空间、通道及空间权重计算3个分支构成。前两个分支是通道C,分别与空间H维度、空间W维交互分支,在特征输入并转换成H×C×W后进行重新排列,在两个空间维度方向上进行最大池化(max pooling)和平均池化(average pooling)、卷积、Sigmoid操作后变为C×H×W维度特征,然后均进行逐个元素相加;第3个分支用于权重计算,输入特征后也经过最大池化和平均池化、卷积、Sigmoid来获得权重,模块最终通过对3个分支输出的特征进行相加平均处理来实现跨维度交互。本文的三分支混合注意力机制(THAM)可以忽略计算开销,同时消除权重和通道之间的间接关系。

    图  9  三分支混合注意力机制
    Figure  9.  Three-branch hybrid attention mechanism (THAM)

    为提高网络的提取局部特征的能力和增加鲁棒性,本文将THAM分别引入局部特征聚合模块。具体来说,THAM可以提取更多维度信息,降低某一维度地影响,提高网络地鲁棒性。在局部特征聚合模块引入THAM,通过对不同的局部特征加权,提高网络提取局部特征的能力。

    在验证DenseNet-STN和DenseNet-MLP的有效性实验中,在公开数据集ShapeNet进行,使用平均交并比(mean intersection over union,mIoU)作为评价指标。本文将PointNet在训练集和测试集中的分割效果作为基准,DSTN-PointNet表示PointNet引入DenseNet-STN和THAM的网络,DMLP-PointNet表示PointNet引入DenseNet-MLP和THAM的网络。如表1所示,上述4种架构均在ShapeNet数据集进行分割实验,实验重复次数均为20次,并将20次实验的结果取平均得到每种架构的mIoU。

    表  1  4种网络架构的mIoU
    Table  1.  mIoU for 4 network architectures
    Method Train set Test set
    PointNet 87.43 85.94
    DSTN-PointNet 87.56 86.72
    DMLP-PointNet 89.75 88.59
    Ours 90.47 89.64
    下载: 导出CSV 
    | 显示表格

    本文算法相比于PointNet网络主要进行3方面的改进:1) 用DenseNet-STN和DenseNet-MLP结构替换PointNet中的空间变换网络(STN)和多层感知器(MLP) ;2) 用Add连接替换密集块(DenseBlock)中的Concat连接; 3) 添加三分支混合注意力机制。

    为分析以上改进对最终结果的影响和贡献,添加消融实验来验证其改进效果,结果如表2所示。

    根据本文的消融实验结果,可以看到每个改进对模型性能的具体贡献。首先,使用PointNet作为基线模型,得到的精度(Accuracy)为0.80,召回率(Recall)为0.75,F1分数(F1 score)为0.77。然后,将PointNet中的空间变换网络(STN)和多层感知器(MLP)替换为DenseNet-STN和DenseNet-MLP结构,结果精度提高到0.82,召回率提高到0.78,F1分数提高到0.80。接下来,在密集块(DenseBlock)中用Add连接替换Concat连接,精度进一步提高到0.85,召回率提高到0.81,F1分数提高到0.83。最后,添加了三分支混合注意力机制,精度达到了0.88,召回率达到了0.85,F1分数达到了0.86。这些结果表明,本文改进有效提高了模型的性能。

    表  2  消融实验
    Table  2.  Ablation experiment
    Method Accuracy Recall F1 score
    PointNet 0.80 0.75 0.77
    + DenseNet-STN and DenseNet-MLP 0.82 0.78 0.80
    + Add connection replacing
    Concat connection
    0.85 0.81 0.83
    + THAM 0.88 0.85 0.86
    下载: 导出CSV 
    | 显示表格

    图10(a)显示的是本文算法在ShapeNet完整点云数据集上的整体分割效果。可以看出,本文算法能较好地识别出点云对象的不同部件,并给予正确分割。图10(b)是PointNet在同一数据集上的分割效果。通过与图10(a)进行对比,可以观察到:aero、bag、guitar、cap、table等几个类别中,PointNet容易在某些部件上产生错误分割,分割边界不够清晰;而本文算法在这些类别上的分割效果更加明显和准确,能更好地识别出各部件的具体结构和形状;对于其他一些类别,如knife、car等,本文算法和PointNet的分割结果相当。整体来看,本文算法在多个类别上的表现均优于PointNet。

    图  10  点云分割效果图
    Figure  10.  Effect figure of point cloud segmentation

    总体而言,通过分类实例的对比可以看出,本文提出的算法在ShapeNet点云数据集的点云分割任务上,其效果明显优于PointNet,部件分割边界处理更加准确清晰。

    随机在KITTI数据集中选取点云图像,并将本文算法和PointNet网络在该数据上进行测试,图11(a)为PointNet网络的分割效果,图11(b)是本文算法的分割效果。

    图  11  两种网络在KITTI数据中的分割效果
    Figure  11.  Segmentation effect of two networks in KITTI data

    对比两种网络对KITTI数据集中的分割效果,PointNet网络的分割效果是十分突出的,但在部分细节中存在误分割。从图11中可以看出,本文算法在KITTI数据集上的分割效果略优于PointNet网络。

    表3列出了两个点云网络的IoU,通过比较PointNet、PointNet++和DenseNet-PointNet在每个类别上的IoU,可以看到DenseNet-PointNet的IoU在大多数类别中都高于PointNet,特别是在chair、 rocket、 knife、 car、 motorbike等类别中,DenseNet-PointNet的IoU比PointNet高出4%~7%,在bag、table和pistol类别中,两个网络都实现了近似的IoU。DenseNet-PointNet的IoU在aero、mug、table、 skateboard、laptop、motorbike等类别中,与PointNet++近似,但在earphone和cap中,DenseNet-PointNet网络都略微优于PointNet++。综上所述,DenseNet-PointNet的mIoU高于PointNet和PointNet++。

    表  3  3个分割网络的IoU
    Table  3.  IoU for three segmentation networks
    Method mIoU aero cap bag chair earphone knife table rocket
    PointNet87.3588.5685.3290.1689.7670.3485.8988.3572.63
    PointNet++88.1790.6386.4589.2690.7272.8287.5489.6974.06
    Ours89.4691.3489.1590.8493.8575.7690.2689.1077.35
    续表
    Methodlaptoplampmugmotorbikepistolguitarskateboardcar
    PointNet95.2680.4295.8680.7493.8294.1589.9486.38
    PointNet++96.4286.2695.4386.0894.6994.8990.0385.76
    Ours95.9685.4395.2285.8794.0293.9690.1593.04
    下载: 导出CSV 
    | 显示表格

    评价一个神经网络点云分割任务的好与坏,除了精度外,还可以从网络的复杂度评价。表4总结了以1024个点作为输入的分割任务中,网络的参数量和时间复杂度的对比。与PointNet相比,DenseNet-PointNet的参数量(Params)增加了82.9%;与PointNet++相比,DenseNet-PointNet的每秒浮点运算量(floating point operations per second,FLOPs)减少了49.1%,Params减少了47.6%。

    表  4  在点云分割任务中的DenseNet-PointNet网络复杂度
    Table  4.  Computational complexity of DenseNet-PointNet network in point cloud segmentation task
    Method Params/M FLOPs/M Train time/s Infer time/s
    PointNet 3.53 445 0.52±0.01 0.03±0.00
    PointNet++ 12.26 1 694 1.23±0.02 0.08±0.00
    Ours 6.42 862 0.84±0.01 0.05±0.00
    下载: 导出CSV 
    | 显示表格

    但是FLOPs仅为理论计算量的分析,网络在实际硬件的运行效率不仅取决于FLOPs,还与网络自身结构等因素相关,本文在相同的硬件系统上(CPU为Intel Xeon W-2135,内存大小为32 G,GPU为GeForce RTX 2080Ti,显存大小11 G,操作系统为Windows 11)对3种网络的训练时间和推理时间进行了测试,每个网络运行10次,取平均值和标准差。

    表4所示,DenseNet-PointNet网络的实际运行时间确实短于PointNet++网络,但长于PointNet网络,这与浮点运算次数(FLOPs)的理论分析结果相吻合。然而,我们也观察到,FLOPs和实际运行时间之间并非线性关系。例如,尽管PointNet++网络的FLOPs是PointNet网络的3.8倍,但其训练时间和推理时间仅为PointNet网络的2.4倍和2.7倍。这一发现表明,网络的结构和优化策略也会影响网络的运行效率。

    具体来说,PointNet++网络采用了分层采样和多尺度特征融合等技术,这些技术可以提高网络的并行性和稳定性,从而降低网络的实际运行时间。这些结果强调了在设计和优化深度学习网络时,除了考虑计算复杂性外,还需要考虑网络结构和优化策略对实际运行效率的影响。这为我们提供了更深入理解和改进网络性能的可能性。

    本文提出了DenseNet-PointNet算法,引入THAM,提出DenseNet-STN和DenseNet-MLP两种架构,并通过实验验证了上述两种架构的有效性。消融实验表明,本文的改进能有效提高模型的性能。在公开数据集ShapeNet上进行分割任务,DenseNet-PointNet在多个类别中分割精度高于PointNet,部分类别分割精度也高于PointNet++。DenseNet-PointNet的FLOPs和Params相较于PointNet++大幅减少。在相同的硬件条件下, DenseNet-PointNet的运行速度优于PointNet++。

  • 图  1   PointNet分割架构图[9]

    Figure  1.   PointNet segmentation architecture[9]

    图  2   残差块[11]

    Figure  2.   Residual block[11]

    图  3   DenseNet网络架构[12]

    Figure  3.   DenseNet architecture[12]

    图  4   DenseBlock络架构[12]

    Figure  4.   DenseBlock architecture[12]

    图  5   注意力机制架构

    Figure  5.   Attention mechanism architecture

    图  6   DenseNet和PointNet融合算法架构

    Figure  6.   DenseNet and PointNet fusion algorithm architecture

    图  7   DenseNet-STN网络架构

    Figure  7.   DenseNet-STN architecture

    图  8   3种DenseNet-MLP架构

    Figure  8.   Three DenseNet-MLP architectures

    图  9   三分支混合注意力机制

    Figure  9.   Three-branch hybrid attention mechanism (THAM)

    图  10   点云分割效果图

    Figure  10.   Effect figure of point cloud segmentation

    图  11   两种网络在KITTI数据中的分割效果

    Figure  11.   Segmentation effect of two networks in KITTI data

    表  1   4种网络架构的mIoU

    Table  1   mIoU for 4 network architectures

    Method Train set Test set
    PointNet 87.43 85.94
    DSTN-PointNet 87.56 86.72
    DMLP-PointNet 89.75 88.59
    Ours 90.47 89.64
    下载: 导出CSV

    表  2   消融实验

    Table  2   Ablation experiment

    Method Accuracy Recall F1 score
    PointNet 0.80 0.75 0.77
    + DenseNet-STN and DenseNet-MLP 0.82 0.78 0.80
    + Add connection replacing
    Concat connection
    0.85 0.81 0.83
    + THAM 0.88 0.85 0.86
    下载: 导出CSV

    表  3   3个分割网络的IoU

    Table  3   IoU for three segmentation networks

    Method mIoU aero cap bag chair earphone knife table rocket
    PointNet87.3588.5685.3290.1689.7670.3485.8988.3572.63
    PointNet++88.1790.6386.4589.2690.7272.8287.5489.6974.06
    Ours89.4691.3489.1590.8493.8575.7690.2689.1077.35
    续表
    Methodlaptoplampmugmotorbikepistolguitarskateboardcar
    PointNet95.2680.4295.8680.7493.8294.1589.9486.38
    PointNet++96.4286.2695.4386.0894.6994.8990.0385.76
    Ours95.9685.4395.2285.8794.0293.9690.1593.04
    下载: 导出CSV

    表  4   在点云分割任务中的DenseNet-PointNet网络复杂度

    Table  4   Computational complexity of DenseNet-PointNet network in point cloud segmentation task

    Method Params/M FLOPs/M Train time/s Infer time/s
    PointNet 3.53 445 0.52±0.01 0.03±0.00
    PointNet++ 12.26 1 694 1.23±0.02 0.08±0.00
    Ours 6.42 862 0.84±0.01 0.05±0.00
    下载: 导出CSV
  • [1]

    WU B, ZHOU X, ZHAO S, et al. Squeezesegv2: improved model structure and unsupervised domain adaptation for road-object segmentation from a lidar point cloud[C]//2019 International Conference on Robotics and Automation (ICRA). New York: IEEE, 2019: 4376-4382.

    [2]

    LIU S, WANG Y, YANG X, et al. Deep learning in medical ultrasound analysis: a review[J]. Engineering, 2019, 5(2): 261-275. doi: 10.1016/j.eng.2018.11.020

    [3]

    TCHAPMI L, CHOY C, ARMENI I, et al. Segcloud: semantic segmentation of 3d point clouds[C]//2017 International Conference on 3D Vision (3DV). New York: IEEE, 2017: 537-547.

    [4]

    HU S M, CAI J X, LAI Y K. Semantic labeling and instance segmentation of 3D point clouds using patch context analysis and multiscale processing[J]. IEEE Transactions on Visualization and Computer Graphics, 2018, 26(7): 2485-2498.

    [5]

    KALOGERAKIS E, HERTZMANN A, SINGH K. Learning 3D mesh segmentation and labeling[J]. ACM Transactions on Graphics (TOG), 2010, 29 (4) : 102: 1-12.

    [6]

    WANG P S, LIU Y, GUO Y X, et al. O-CNN: octree-based convolutional neural networks for 3d shape analysis[J]. ACM Transactions on Graphics (TOG), 2017, 36(4): 1-11.

    [7]

    CAO Z, HUANG Q, KARTHIK R. 3D object classification via spherical projections[C]//2017 International Conference on 3D Vision (3DV). New York: IEEE, 2017: 566-574.

    [8]

    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. New York: IEEE, 2017: 652-660.

    [9]

    DENG H, BIRDAL T, ILIC S. Ppfnet: global context aware local features for robust 3d point matching[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. New York: IEEE, 2018: 195-205.

    [10]

    JIANG M, WU Y, ZHAO T, et al. Pointsift: a sift-like network module for 3d point cloud semantic segmentation[EB/OL]. (2018-07-02)[2023-08-31]. http://arxiv.org/abs/1807.00652v1.

    [11]

    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: 1745976.

    [12]

    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. New York: IEEE, 2016: 770-778.

    [13]

    HUANG G, LIU Z, VAN D M L, et al. Densely connected convolutional networks[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. New York: IEEE, 2017: 4700-4708.

    [14]

    LEE C Y, XIE S, GALLAGHER P, et al. Deeply-supervised nets[C]//Artificial Intelligence and Statistics. [S. l. ]: PMLR, 2015: 562-570.

图(11)  /  表(4)
计量
  • 文章访问数:  100
  • HTML全文浏览量:  14
  • PDF下载量:  36
  • 被引次数: 0
出版历程
  • 收稿日期:  2023-09-03
  • 修回日期:  2024-01-26
  • 网络出版日期:  2024-09-01
  • 刊出日期:  2024-09-14

目录

/

返回文章
返回