APP下载

点云分类方法综述

2022-06-13利满雯赵艳明李绍彬冯燕

电视技术 2022年5期
关键词:分类器局部卷积

利满雯,赵艳明,李绍彬,冯燕

(中国传媒大学 信息与通信工程学院,北京 100024)

0 引 言

随着三维传感技术如LiDAR 等高精度传感器的快速发展,物体的三维数据越来越容易获取且应用广泛。其中,点云作为一种常见的三维模型数据,具有非常强的空间表达能力,不仅能够完美保留原始三维空间的几何结构,而且能够很好地刻画物体表面特征以及其他深度信息,比如坐标、向量等。但是,点云的空间分布不均及数据杂乱无序等特点给点云数据处理和应用带来了一定的挑战。

点云作为最能表现物体三维特征的数据,在自动驾驶、三维重建、汽车焊装、矿区沉陷监测、建筑改造等方面得到广泛应用。点云研究前景巨大,点云分类是其中的研究热点之一。点云分类是指将点云划分到不同属性的点云集合中,并为其分配语义标签。点云分类对点云分割及配准等有极大的帮助。

目前,点云分类主要采用先对点云数据进行特征提取,再利用特征进行点云分类的基本思路。点云分类方法分为两大类,即传统的基于人工标记的点云提取特征描述符和基于深度学习的点云分类方法。

传统方法实现点云分类主要是基于人工标记点云提取特征描述子,随后选择合适的分类器给点云分配标签,其中常见的分类器有支持向量机、随机森林、AdaBoost 以及马尔可夫随机场等。传统方法由于没有考虑到点云之间的相关性,或者没有联系上下文信息而导致分类效率不高,且还会引入噪声等干扰,从而降低点云分类的准确率。2012 年以来,深度学习在计算机视觉领域得到了广泛的关注。近几年,深度学习也被应用到点云处理任务,使点云分类的准确率和鲁棒性都得到了很大的提升。2017 年,斯坦福大学的QI 等人提出了PointNet网络模型[1],通过仔细研究点云的结构和特点,提出了基于深度学习实现的面向原始点云的端到端网络。PointNet 不仅在点云分类方面得到应用,在点云分割等领域也实现了很大突破。后续很多团队在PointNet 基础上进行了各种尝试,使点云分类的准确率得到进一步的提升。

目前已有一些对点云研究方向进行总结的综述性文章[2-5]。本文在前人工作的基础上进行完善和总结,既分析了传统的点云分类方法,也梳理了现有的基于深度学习实现点云分类的网络,对经典的、前沿的点云分类方法进行了阐述,对点云分类技术未来的发展做出了展望。

1 点云数据集及点云分类评价指标

1.1 公共数据集

点云数据具有非结构化、置换不变性、无序性以及相关性等特征。ModelNet 是一个混合模型,总共有662 种目标分类,127 915 个CAD,其中包含了ModelNet10,ModelNet40 以及Aligned40 三个子集。最常用的数据集是ModelNet40,它是一个拥有40 个类别的CAD 点云模型。ScanObjectNN 这个模型包含用CAD 数据创建的室内场景。Sydney Urban Objects 为悉尼城市目标数据集,主要是通过扫描常见的城市道路对象(包括车辆、行人、树木等)获得的模型。

1.2 点云分类效果评价指标

为了评价各类方法的效果,并使不同研究者之间能够进行性能比较,需要有统一的评价标准。对于点云分类,一般采用的指标有准确率、召回率、精确率、基于召回率与精确率的调和平均等。本文选取总体精度(Overall Accuracy)和平均精度(Mean Accuracy)来分析对比不同的点云分类方法。

2 点云分类方法

2.1 传统的点云分类方法

传统的点云分类基本思路主要分两步,首先人工对点云进行标记,获得点云特征描述符,之后将特征描述符输入分类器进行分类,实现效果主要取决于分类器算法的性能。常见的分类器有支持向量机、随机森林、AdaBoost 以及马尔可夫随机场等。

杨娜等人[6]基于支持向量机提出了一种面向对象的城区机载LiDAR 点云分类算法,并对初始分类结果进行三维拓扑分析优化。

考虑到点云分类算法在提取依赖邻域结构的特征参数时,面临邻域尺度选择难、数据维度高、计算复杂等问题,段广明等人[7]提出了基于随机森林的机载LiDAR 点云分类算法。随机森林将每个输入样本都输入到决策树进行分类,集成所有分类投票结果,将投票次数最多的类别指定为最终输出。

周梦蝶等人[8]提出的基于AdaBoost 实现的多分类模型,可以自动为点云分配权重,适用于多类别点云分类。AdaBoost 利用迭代算法,对同一个训练集训练不同的分类器,然后将这些分类器集合起来从而构成一个更强的分类器,分类精度较高但训练耗时。

传统的点云分类方法需要利用各种机器学习的分类器对人工标记点云提取的特征描述符进行分类,通常会因无法充分联系上下文信息而忽略点云数据之间的相关性,分类过程中容易产生噪声,模型泛化能力较差,在真实场景中的应用受到限制,点云分类效率和精度均不高。

2.2 基于深度学习的点云分类方法

近几年,越来越多的研究人员将深度学习应用于点云分类,分类效率和精度较传统的点云分类算法有了很大提升。基于深度学习实现点云分类的方法可分成两大类,即基于结构化点云的分类方法和基于原始点云的分类方法。

由于点云数据是一种不规则的数据,在空间上和数量上可以任意分布,之前的研究者会先把点云转换成规则数据再进行处理任务[9-20],比如将点云转换成栅格使其均匀分布,然后用3D-CNN 来处理栅格数据。对点云做结构化处理的缺点是计算复杂度高,且会带来量化噪声,从而导致点云分类准确率和效率不高。

由于原始点云具有无序性、稀疏性以及置换不变性等特点,直接对原始点云处理,可以降低计算复杂度,同时充分考虑点云数据的特性。本文将对基于原始点云的分类方法进行详细综述,将从以下4 个角度对该类方法进行分析:基于感知机和特征池化的点云分类方法,基于卷积神经网络的点云分类方法,基于图卷积的点云分类方法以及基于注意力机制的点云分类方法。

2.2.1 基于感知机和特征池化的点云分类方法

QI 等人[1]提出了PointNet 网络,这是第一个直接处理无序点云数据的深度神经网络。PointNet利用多层感知机将点云的坐标空间升到高维特征空间,再根据点云的无序性和置换不变性,利用全局池化将信息聚合,获得具有代表性的特征向量。PointNet 过分关注点云的全局特征,获取局部特征能力较差。QI 等人[21]提出了PointNet++,这是一个分层网络结构。PointNet++的抽象层由采样、分组以及PointNet 嵌套而成。PointNet++ 可以更好地获取点云的局部特征。后续的研究人员基于PointNet++提出了多种点云分类网络,比如Momenet[22]、SO-Net[23]以 及PointWeb[24]等。受2D形状描述符SIFT 的启发,JIANG 等人[25]设计了一个名为PointSIFT 的模块。PointSIFT 可以对不同方向的信息进行编码并适应形状尺度。PointSIFT 可以集成到基于PointNet 的架构中,从而提高网络分类性能。

通过3D 传感器获取原始点云数据,不可避免地会产生异常值或者噪声,这会在一定程度上影响模型分类效果。针对这个问题,YAN 等人[26]提出了PointASNL,它可以有效处理带有噪声的点云。PointASNL 的关键组件采用了自适应(AS)模块,通过对来自FPS 的初始采样点重新加权,从而实现了自适应调整。PointASNL 在所有数据集上实现了分类和分割任务的鲁棒性。

2020 年,WANG 等 人[27]提 出 了SoftpoolNet。SoftpoolNet 可以基于激活提取特征。与PointNet 相似的是,SoftpoolNet 也是利用感知机来获得特征矩阵。不同的是,SoftpoolNet 利用软池化来聚合特征,最终实现了较高的准确率。

随着研究的深入和点云数据规模增长,点云分类任务的计算需求也在增长,一种可能的解决方案是首先对点云进行采样。据此,LANG I 等人[28]提出了一种新的点云采样方法,即SampleNet。SampleNet 采样方法是可微的,采样点近似为主要输入点云的混合。SampleNet与PointNet等网络结合,可以提升分类性能。

2.2.2 基于卷积神经网络的点云分类方法

卷积神经网络(Convolutional Neural Networks,CNN)是目前流行的深度学习网络之一,在检测、分割及物体识别等领域得到广泛应用。目前,卷积神经网络已经被应用于点云分类任务处理,并且取得了不错的效果。KCNet[29]是一种类似CNN 的方法,可以从点云中提取局部信息。KCNet 可以利用卷积衡量输入点云数据之间的相似性,使提取的局部点云特征更加具有代表性,从而提高点云分类准确率。传统的CNN 虽然可以利用空间局部相关性,但将其直接应用于不规则点云处理,不但会丢失点云形状信息,还会受到点云顺序变化的影响。为了解决这个问题,LI 等人[30]提出了X-transformation 并且结合传统的卷积运算,实现了PointCNN。PointCNN中的X-Conv 结构在提取局部特征时比PointNet使用的最大池化表现更好。XU 等人[31]提出了SpiderCNN。SpiderCNN 由称为SpiderConv 的单元组成,可以有效提取点云的几何特征。SpiderCNN继承了经典CNN 的多尺度层次结构,同时滤波器被设计为捕获局部信息的简单阶跃函数和泰勒多项式的乘积。SpiderCNN 在标准测试集中的测试达到了92.4%的准确率。TATARCHENKO M 等人[32]提出了一种基于切线的卷积方法,即TangentConv。TangentConv 直接对点云表面几何进行操作,可以应用于具有挑战性的室内和室外3D 环境的真实世界数据集。蒙特卡洛卷积(MCCNN)[33]的亮点在于可以对抗点云非均匀的分布特性,将密度引入到卷积计算中,实现性能提升。

PointNet++[21]中有multiscale 的操作,对于信息量不多的局部点云会造成信息冗余,另外计算复杂度比较高。KOMARIICHEV A 等人[34]提出了环形卷积(A-CNN)。这种新的卷积算子可以通过在计算中指定环形结构和方向,更好地捕获每个点的局部几何特征。Geo-CNN[35]为了更好地学习局部几何结构,以某个中心点作坐标系,把邻域点投影到坐标系上以向量表示,在坐标系上利用权重进行学习。KPConv[36]的卷积权重位于欧几里得空间中,比固定网格卷积具有更大的灵活性,对于不同密度点云的分类工作很有效果。RS-CNN[37]将规则网络CNN 扩展到不规则网络中,以进行点云分类任务。RS-CNN 的关键在于从点之间的几何拓扑约束关系学习,可以用于开发分层架构,实现点云的上下文形状感知。

FPConv[38]通过自动学习权重实现局部展平,以将周围的点投影到2D 网格上,再进行有效的特征学习。FPConv 可以轻松集成到各种网络架构中。PointConv[39]将卷积核视为由权重和密度函数组成的3D 点云局部坐标的非线性函数。PointConv中的权重函数通过多层感知机网络学习,密度函数通过核密度估计来学习。建立在PointConv 上的卷积神经网络在点云分类工作中达到了先进水平。ConvPoint[40]将CNN 泛化,以便通过连续卷积代替离散卷积来处理点云。ConvPoint 不仅灵活而且在分类、分割工作中都实现了较好的效果。

于2021 年提出的PAConv[41],即位置自适应卷积,是一种用于3D 点云处理的通用卷积操作。PAConv 的关键是通过动态组装存储在weight bank中的基本权重矩阵来构造卷积核。这些权重矩阵的系数通过ScoreNet 从点位置进行自适应学习得到。将PAConv 集成到PointNet 网络中,可以实现较好的点云分类效果。

2.2.3 基于图卷积的点云分类方法

近年来,深度学习在图神经网络(Graph Neural Network,GNN)领域得到广泛应用。基于深度学习实现的图神经网络可以处理非结构化数据,在点云分类、点云分割方面取得了突破。SCHLICHTKRULL M 等人[42]提出了图卷积神经网络(Graph Convolution Network,GCN),通过提取图数据特征进行分类。现有的深度学习方法通常忽略了整个文本结构的相关性,为解决这个问题,CHEN 等人[43]提出了半监督的循环图卷积网络(Rerrent Graph Convolution Network,RGCN)。 基于GCN 的半监督图分析方法已取得成功,ZHANG等人[44]将基于邻域假设的局部分析方法应用于GCN,提出了局部密度定义,称为LDGCN。LDGCN算法以平衡法和不平衡法处理输入数据,优化后的输入数据包含详细的局部点云信息,在点云分类任务可以取得更好的性能。为了消耗更少的内存以及更好地获取点云局部特征,LIANG 等人[45]提出了分层深度图卷积网络(Hierarchical Depthwise Graph Convolution Network,HDGCN)。HDGCN 由 一 系列DGConv 块使用分层结构构建,DGConv 块可以实现逐点卷积提取局部特征,整个网络可以提取点云的局部和全局特征。

大多数网络依靠旋转进行点云数据增强,但未考虑到点云的旋转不变性。为了解决这个问题,CHEN 等人[46]提出了深度层次聚类网络ClusterNet。ClusterNet 采用层次聚类来探索和利用嵌入在层次结构树中的点云几何结构,从根本上提高了旋转变换的鲁棒性。

Grid-GCN[47]可用于快速和可扩展的点云学习,包含感知网格查询(Coverage-Aware Grid Query,CAGQ)。CAGQ 提高了空间覆盖率,降低了理论实践复杂度,与FPS 和Ball Query 相比实现了高达50 倍的加速。

为了实现3D 场景下对具有旋转不变性的点云进行特征提取,LEI 等人[48]提出了球形卷积操作,用于点云的有效图卷积。为了提高计算效率,使用快速傅里叶变换(Fast Fourier Transform,FFT)来计算球形卷积。球形卷积可以保持平移不变性和旋转不变性,有利于保证局部结构之间的权重共享和几何特征学习。但同时由于球形卷积使用了FFT,在转换过程中会丢失一部分信息。

2021 年,ZHOU 等人[49]提出了位置自适应图卷积AdaptConv。AdaptConv 可以根据动态学习到的特征对点云特征进行自适应调整,提高了图卷积的灵活性,可以有效地捕获来自不同语义部分的点云的各种关系。

2.2.4 基于注意力机制的点云分类方法

自注意力机制网络广泛应用于自然语言处理,在图像分类等分析任务中也得到了发展。注意力机制的原理是使系统关注主要信息,忽略次要信息。近年来,研究人员将注意力机制应用于点云分析任务,通过注意力机制来增强点云之间的联系,从而更好地进行点云分析任务。

GAPNet[50]在堆叠的多层感知机层中嵌入图注意力机制,来学习点云的局部几何特征。GACNet[51]是一种能在点云上端到端地进行分割和分类的深度网络。GACNet 通过建立每个点与周围点的图结构,并引入注意力机制计算中心点与每一个邻接点的边缘权重,使网络在点云分类任务中取得更好的效果。

目前,大部分网络没有充分考虑点云的空间分布,限制了感知细粒度的能力。为了解决这个问题,CHEN 等人[52]提出了LSANet。LSANet 可以根据局部区域的空间关系生成空间分布权重(Spatial Distribution Weight,SDW),以进行空间独立操作。XUE 等人[53]提出了DANet,利用发散激活的方法,从差异角度进行点云分类。在DANet 中,XUE 等人还设计了分层发散激活(HAD)和差异发散激活(DDA),以端到端的方式融合有区别的特征,从而提高点云分类性能。

YUAN 等 人[54]提 出 了 迭 代transformer 网 络(IT-Net)。IT-Net 可以通过一系列迭代的方式预测3D 刚性变换,来规范部分点云的姿态。IT-Net在点云分类任务上的性能优于3D transformer。

CUEVAS V H 等人[55]提出了创新的双头注意力层。这个注意力层可以结合点云表面的和潜在的特征,将3D 场景分割成有意义的子集。其中,每个头部注意力层使用点云几何或潜在特征来结合局部或者全局信息,并使用这些信息来更好地学习点云局部关系。

CpT[56]是对现有基于注意力机制对点云进行处理的卷积神经网络的改进transformer。CpT 通过卷积投影,创建基于注意力机制的点集embedding,来实现局部点集邻域的动态处理。点集embedding 对输入点云的排列具有鲁棒性。

YU 等人[57]提出的Point-BERT 是一种transformer的新范式,将双向编码器表征量(Bidirectional Encoder Representations from Transformers,BERT)的概念推广到3D 点云领域。受BERT 的启发,YU 等人设计了一个掩蔽点建模(Masking Point Modeling,MPM)任务来训练点云transformer。MPM 首先将一个点云划分为几个局部点云patch,再随机屏蔽一些输入点云patch,并将它们输入到主干transformer 中。BERT 式预训练策略可以提高标准点云transformer的性能。

3 基于深度学习的点云分类网络性能对比与分析

本节汇总了基于深度学习的点云分类网络在ModelNet40 数据集上的性能,如表1 所示。在常见的三维数据集中,ModelNet40 应用最广泛。表1 还总结了部分网络在ScanObjectNN 这个数据集上的性能。

从表1 分析可知,部分网络在ModelNet40 数据集上的性能要优于在ScanObjectNN数据集上的性能。ScanObjectNN 数据集是扫描真实室内场景所获得的点云数据集,存在噪声等干扰,会影响分类精度。

表1 基于深度学习实现的点云分类网络性能对比

续表1

总体来看,直接对原始点云进行处理的分类网络性能要优于对结构化点云进行处理的分类网络。点云是无序的非结构化数据,将点云结构化后再进行特征提取,会造成信息的丢失,从而导致点云分类性能下降。而对原始点云数据进行处理,可以最大程度地保留点云的信息。对表1 分析可知,基于卷积神经网络的点云分类方法和基于图卷积的点云分类方法虽然计算复杂度较高、存储开销较大,但具有较高的点云分类准确率。

4 结 语

本文将点云分类方法分成传统的基于人工标记点云提取特征描述符的方法和基于深度学习的点云分类方法两类。近几年,深度学习在点云处理中得到广泛应用。基于深度学习的点云分类方法根据处理点云的数据格式可以分为两类,即处理结构化点云数据的方法和处理原始点云数据的方法。处理结构化点云数据在点云体素化过程中会损失大量的深度信息。直接处理原始的点云数据,在卷积过程中虽然需要较高的成本,但可以有效提升分类精度。

大部分基于深度学习的点云分类方法在ModelNet40 数据集上表现优越,但在ScanObjectNN数据集和Sydney urban Object 数据集上,分类准确率不高。因为ModelNet40 是一种理想的数据集,而ScanObjectNN 和Sydney urban Object 是通过扫描真实场景所获得的数据集,点云数据存在噪声干扰。在未来的点云分类任务研究中,研究人员要考虑在真实场景中网络的分类效果,提高含噪声点云分类网络的性能。

猜你喜欢

分类器局部卷积
爨体兰亭集序(局部)
基于3D-Winograd的快速卷积算法设计及FPGA实现
基于朴素Bayes组合的简易集成分类器①
凡·高《夜晚露天咖啡座》局部[荷兰]
卷积神经网络的分析与设计
基于特征选择的SVM选择性集成学习方法
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
基于差异性测度的遥感自适应分类器选择
丁学军作品