深度学习在点云分类中的研究综述

2022-01-22 07:47王文曦李乐林
计算机工程与应用 2022年1期
关键词:局部卷积神经网络

王文曦,李乐林,2

1.湖南科技大学资源环境与安全工程学院,湖南 湘潭 411201

2.湖南科技大学测绘遥感信息工程湖南省重点实验室,湖南 湘潭 411201

三维扫描技术的快速发展使点云数据具备采集成本低、获取速度快与数据精度高等优势,这为三维点云的研究提供发展前提。点云数据在森林监测[1]、自动驾驶[2]、文物保护[3]、道路标示线提取[4]等领域都具有广泛的应用。点云分类能够有效提取语义信息,但由于其海量多样、非结构性等特点使得高效利用点云特征进行分类成为摄影测量与遥感领域的研究的热点。

点云分类指将相同或相似属性的点划分到同一点集合的过程[5]。一般而言,点云分类任务的基本步骤是提取局部和全局代表性的点特征,并使用学习到的特征表示将每个点分类为预定义的语义类别。传统的分类方法基于局部邻域点的几何结构,如密度、曲率、粗糙度,开发了各种手工制作的点描述符,选择合适分类器预测点云的语义标签。例如:支持向量机(support vector machines,SVM)[6-7]、随机森林(random forest,RF)[8-10]、JointBoost[11]等。但由于该类方法没有充分考虑相邻点云的联系导致噪声对分类结果的影响很大。而后提出的联系上下文信息的方法,例如:条件随机场(conditional random field,CRF)[12]、马尔科夫随机场(Markov random field,MRF)[13-14],虽然早期研究在一定程度上能完成点云的分类任务,但是仍然存在一些问题:手工设计规则主要依靠操作人员的专业能力,主观性较强;不同的应用场景的约束条件各不相同,导致泛化能力和准确度不理想[15];以及选择与组合最优分类器的过程复杂度高,浅层模型推广到大型复杂的真实场景中存在难度。

近来计算机运算能力的迭代更新以及大型三维场景数据的出现推动了深度学习技术快速发展,基于人工特征和常见分类器的分类方法已成为经典。如今基于深度学习的方法研究三维点云称为主流趋势,其优势在于可以从大量的输入数据中自动提取高层特征。起初研究者们提出将原始点云投影到2D图像中[16-29],再将其提供至更深层的网络。但有些方法仍需要手工构造特征来增强2D 特征图像的表示,并且由于3D 到2D 转换过程中的信息丢失,使得分类性能受到限制。为此学者们从三维数据的源头入手来解决上述方法带来的弊端,Qi等人[30]于2017年首次提出可以直接作用于原始点云的PointNet 网络,在点云分类、语义分割及目标检测方面得到推广与应用。至此直接处理原始输入点云的研究内容成为热门。近年来,该类方法的研究方法不断更新,本文主要从优化改进多层感知机(multi-layer perceptron,MLP)[31-37]、卷积神经网络(convolutional neural network,CNN)[38-47]、图卷积神经网络(graph convolution network,GCN)[48-55]以及注意力机制[56-60]四个方向进行讨论。

随着深度学习方法在遥感领域的普及,许多技术在场景分类、目标检测、变化等方面取得显著效果。深度学习的优势在于能够实现自动化提取点云特征信息,可以有效规避传统算法提取特征时由于操作人员的主观因素带来的影响。此外,深度学习的分类模型泛化能力强,分类精度高,可以推广应用于大型复杂三维场景中。

目前,已有学者对基于深度学习的点云分类与分割的算法研究进行探讨与总结[61-63],本文丰富和完善了前人的工作。根据特征提取方法的不同,梳理总结了点云分类的具有代表性与性能出色方法的工作原理与关键技术,归纳最新提出的基于深度学习的分类方法。最后展望了点云分类技术未来的研究方向。

1 点云数据背景介绍

点云(point cloud)是指在相同参考坐标系下表示目标物体表面特征及空间分布的点。点云数据的获取主要有以下三种方式:一是通过三维激光扫描仪直接获取点云数据;二是利用摄影测量的方法对多张具有一定重叠度的影像进行立体匹配获得三维点云;三是使用RGB-D相机同时获取多帧彩色影像和深度图并利用相机内参间接生成点云数据。获取的点云数据包含了丰富的属性信息(如三维坐标、颜色、强度值和入射方向等),且点之间没有明显的关联。

1.1 点云特征

(1)点云的无序性

不同于像素规则排列的二维图像,点云数据则是无序点的集合。使用不同的设备和位置获取采集目标,会得到排列顺序千差万别的点云数据。当采用不同顺序读入n个点云时,其组合方式就有n!种。点云的无序性使其与2D 图片卷积存在差异。2D 图像中各点具有固定位置,而点云的位置顺序则存在很多种可能。对不同位置点云进行卷积算,结果会受点云的输入顺序的影响。文献[30,41,49]方法通过对称函数、构造卷积算子或利用图与树的结构为解决点云的无序性做出贡献。

(2)点云的稀疏性

真实三维场景中包含多种不同类别的物体,因此其对应的点云数据的空间属性也各不相同。通过不同方式获取到物体的点云数据在密度、点数以及点间距离都具有一定的差别。三维点云的不规则结构会导致某些区域的过采样和欠采样,这在网络中更新内核时会给过采样的区域增加增加过多的权重,反之亦然。因此不同密度的点云的处理是研究点云分类策略的重点之一。在网络中嵌入密度模块[31,47,60]的方法可以在一定程度上解决点云密度不均的问题。

(3)点云的非结构化

常规的卷积神经网络可以有效地处理结构化的二维图像数据,但将无结构的点云数据直接输入到神经卷积网络模型中往往比较困难。早期学者会将点云数据转化为体素格网或者多视图。虽然该类方法在分类方面取得一定的成效,但仅仅进行简单的转换会增加不必要的计算,导致结果数据占用量大甚至丢失重要信息。从近年的研究来看,许多学者借助图卷积神经网络处理非结构化数据的能力,对其加以改进来还原点云数据的拓扑信息。

(4)点云数据多样性与信息有限性

现实物体的形状千差万别导致采集到的点云数据尺度差距大,因此如何构建能够处理不同尺度的点云模型成为亟待解决的问题。在三维空间中点云数据是点坐标的集合,是对物体的低分辨率采样,这就导致点云数据的信息有限,只包含片面的几何信息。例如Point-Net 仅提取单个点云特征,没有考虑局部特征信息。为避免模型训练时遇到类似问题,优化网络[31]在通过多层次结构获取到点集的全局特征。文献[55]方法基于Reeb图卷积神经网络提取点云的上下文信息聚合点云特征,并取得良好的分类效果。

点云数据自身独有的特性令点云分类研究充满挑战。当前点云研究的核心任务之一就是高效处理点云的特性并应用到相关场景。

1.2 公共数据集

合理利用有效的数据集是充分发挥算法性能的重要环节。目前,许多研究机构为学者们提供公共可靠的、开源的三维数据集。对于点云分类研究来说,数据集分为两类:合成数据集和真实场景数据集。本节基于全文涉及的分类策略以及数据集应用的广泛程度,简单描述常用的数据集。

(1)ModelNet[17]:该项目是合成数据集的代表,旨在为计算机视觉、计算机图形学、机器人和认知科学的研究者们提供全面且清晰物体的3D CAD 模型。该系列数据集共含有127 915 个CAD 模型,662 种目标分类以及10 个标记朝向的数据。ModelNet 包括3 个子数据集:ModelNet10、ModelNet40 和Aligned40,其中Model-Net10/40是分类研究中最常见的数据集。

(2)ScanNet[64]:该数据集是RGB-D视频室内场景数据集,通过对1 513 个室内场景进行扫描获得250 万个视图,分为21个类别。ScanNet包含多种大小不同的空间,例如:桌椅,杂物间,教室和图书馆等,数据具有三维坐标信息和语义标签信息,主要应用于三维点云分类,语义体素标注和CAD模型检索等研究中。

(3)ISPRS 公共数据集[65]:该项目在2015 年由国际摄影测量和遥感学会(international society for photogrammetry and remote sensing,ISPRS)开发的基准测试数据集,目的是鼓励研究学者根据基础测试数据对城市目标检测和三维建筑物重建进行评估。ISPRS 数据集总共包括9个子类别,在三维场景的理解任务上有很大贡献。

(4)2019年数据融合比赛数据集(2019 data fusion contest dataset)[66]:数据集旨在利用深度学习完成城市场景的语义类3D重建和预测点云语义标签等研究。数据集中包括两所城市的多视图、多波段卫星图像和语义标签。其中,语义类包括地面、高植被、建筑、水、高架道路和桥梁等。

1.3 评价指标

标准评价指标可以充分且直观的评估点云分类模型的有效性。在精度、空间复杂度、执行时间等几种度量指标中,精度指标最为关键。本文选取平均精度(mean accuracy,MA)和总体精度(overall accuracy,OA)两个最主要的分类评价指标分析对比不同的分类方法,为学者的后续研究提供参考。

2 基于深度学习的分类方法

相比于传统算法,深度学习的优势在于无需人工参与设计,能够实现自动学习大数据的特征[67]。本章根据点聚合的方式将基于深度学习的点云分类算法划分为基于投影的点云分类方法和基于原始点云的分类方法两个大类,并选取具有代表性、性能优越的网络结构进行展示。如图1为基于深度学习的点云分类流程图;如图2为深度学习在点云分类研究中的发展时间轴,不同颜色代表不同分类类别。

图1 基于深度学习的点云分类流程图Fig.1 Flow chart of point cloud classification based on deep learning

图2 基于深度学习的点云分类方法发展时间轴Fig.2 Development timeline of point cloud classification based on deep learning

2.1 基于投影的方法

典型的卷积神经网络是在规则、有序以及结构化的二维图像上执行的运算。对于不规则,非结构化的点云数据,将其投影到特定的预先设置的模式后进行点云特征的提取。本节通过对文献的整理与总结,将该类别下的方法进一步细分为两类:基于体素网格的方法和基于多视图的方法。

(1)体素网格

借鉴卷积神经网络在二维图像语义标注的先验知识,以及体素与图像数据的组织结构的相似性,学者们对于将体素化的非结构性点云数据应用于三维卷积神经网络的模型展开研究。

点云的体素化即利用占用网格(volumetric occupancy grid)将环境状态表示为三维网格。最早的模型是Maturana 等[16]为充分利用点云信息和有效处理大量点云数据提出的VoxNet 模型,该模型集成了体积占用网格与3D 卷积神经网络。VoxNet 网络参数少,形式简洁,可以通过多层叠加生成全局标签对点云分类。受深度置信网络(deep belief network,DBN)启发,Wu 等[17]基于卷积深度置信网络(convolutional deep belief network,CDBN)提出了3D Shapenets 模型。将点云几何特征表示为体素格网上的二进制概率分布,使用卷积共享权值缓解参数过剩的问题,使模型得到有效训练。spherical CNN[18]将3D 网格投影到封闭球体上,每个点向球的中心点发出射线,收集到射线与物体模型的交点处距离与曲面角度信息,由此来捕获投影。提出了球相关(spherical correlation)与广义傅里叶快速变换来提取旋转不变的全局特征。spherical CNN证实了球面卷积应用于点云分类的有效性。Prin 将该方法扩展到使用球面体素卷积的离散3D点[19]。虽然以上方法展现出解决点云数据无序性和非结构性问题的潜力,但是仍存在计算时占用内存过大的问题

为解决点云的稀疏性与庞大的计算开销,学者们尝试用灵活的八叉树结构代替分辨率固定的体素网格,例如OctNet[20]和OCNN[21]网络等。OctNet 采用混合网格-八叉树结构对空间分层划分,各个节叶点对应存储池化要素。该方法不仅避免了冗余的计算和不必要的内存消耗,而且在保障分辨率的同时能达到更深层次的网络。Wang 等人[21]受到OctNet 的启发提出了OCNN,在3D CNN中提取八叉树中包含的特征,一定程度上减轻计算负担,提高计算效率。索引结构与八叉树类似的KD树结构也被应用到分类模型中,经典方法KD-Net[22]利用KD 树结构以从粗到精的方式对点进行分组。由于网络不依赖卷积结构,因此可有效避免不良的缩放行为。但点云存在旋转时会间接影响网络效果,且将原始点云数据转换成KD树的形式,增加了计算负担。采用灵活合适的索引结构虽然能够减少计算时产生的内存消耗,但是训练过程不能充分利用局部几何结构并且体素的边界会影响计算结果。Hanocka等人[23]基于网格与传统CNN 提出MeshCNN,以边为单位定义卷积,采用折叠特征值小的边的方式优化池化部分,自动简化了分类任务。该方法能够捕捉重要的特征的同时丢弃冗余特征。

上述方法从不同角度为体素化点云在处理过程中遇到的困难提供解决方案。体素化算法虽然取得了一定的成果,但是存在丢失重要信息,存储和计算开销大,适用性不高等弊端[68]。相信伴随科学技术的发展,存储和计算方法的升级,该类算法也会进一步被优化。

(2)多视角

早期学者从多个视角对点云投影,使用卷积神经网络对投影后的2D 影像进行后续加工。多视图CNN(multi-view CNN,MVCNN)方法的实质是将点云或者3D 形状渲染成视图,利用传统的图像卷积进行特征学习。Su等[24]首先根据不同情况提出两种相机设置方式,在不同视角下完成渲染图,将多个视图的特征信息通过卷积层和池化层整合成一个单一的、紧凑的3D 形状描述符,将聚合后的特征输入完全连接层得到分类结果,具体流程见图3。Qi 等[25]在MVCNN 的基础上通过方位角和仰角的变化增强训练数据,以及引入多分辨率的三维滤波捕捉多尺度的信息的手段提升分类模型的性能。文献[26]方法将多视图框架复杂化,通过条件随机场解决标签一致性的问题,该过程不需要任何的人工调整的特征。

图3 用于3D形状识别的多视图CNN(使用1stcamera设置演示)Fig.3 Multi-view CNN for 3D shape recognition(demo using 1stcamera settings)

基于多视图的处理方法中,差异大的渲染图对形状识别更加有利。为获得更具判别性的信息,Feng等人[27]在MVCNN 的基础上进一步提出GVCNN 模型。该方法主要是从“视觉图-组-形状”的框架形成描述符:首先对不同视图下提取的视觉描述符分组,然后学习视图间的信息特征并生成组级别描述符,最后通过加权生成形状级别描述符用于分类任务。此外,文献[28-29]方法在基于多视图的研究方向也有类似贡献。

尽管多视图卷积神经网络能够在多视角下获得三维物体的描述,但在相机设置位置与角度时容易出现遮挡情况,视图不能得到有效处理将直接影响训练结果。

基于投影的方法本质上是将非结构化的点云转换为规则的二维表示的过程,其弊端在于需要计算额外的局部几何特征,例如平面度、粗糙度以及球度等。另外,无论是对点云规则化还是从多视角的角度进行处理,在实现3D到2D的转换过程中会造成点云信息的丢失。

2.2 基于原始点云的方法

上节中介绍到基于投影的点云分类策略存在计算复杂度较高,不能对三维点云数据的特性加以利用等缺点,为此,学者们尝试直接从原始点云中学习特征信息。本节将从以下四个方面对该类方法分析:多层感知机;卷积神经网络;图卷积神经网络;注意力机制。

(1)多层感知机(MLP)

Qi 等[30]开创性地提出将深度学习模型直接应用于原始点云的算法—PointNet。它为解决点云的无序性、旋转不变性以及置换不变性提供了新思路:通过MLP学习单个点的特征并用对称函数编码全局信息解决点云的无序性问题;采用三维的空间变换网络(spatial transformer network,STN)解决点云旋转不变性的的问题;在分类时对输入点云进行几何变换和特征变换,采用最大池聚合点特征解决点云置换不变性的问题(图4)。模型的缺陷在于提取点云特征时只捕捉到单个点和全局点的信息,无法获取完整的局部特征信息,且不能充分考虑邻近点的交互关系。这导致PointNet对细粒度模型的分类能力较差,在复杂场景中适用性有限。

图4 PointNet点云分类网络框架Fig.4 PointNet point cloud classification network framework

由于无法解决局部性的结构问题[30],Qi等[31]继而提出优化网络PointNet++,框架如图5 所示。该模型在文献[30]方法的基础上引入由一系列抽象层组成的多层次结构,每一层都分为采样层、分组层和特征提取层三部分。PointNet++提高了特征提取的精度,能够有效解决划分局部点云和提取点云的局部特征两个问题,并且可以为大场景提供更高级别的特征。但点间的联系依旧没有充分的学习,为此研究者们基于PointNet++的训练框架提出了更多的分类网络,如:Momenet[32]、So-Net[33]、结构关系网络(structural relation network,SRN)[34]和PointWeb[35]。

图5 PointNet++点云分类网络框架Fig.5 PointNet++ point cloud classification network framework

文献[32]通过对点云坐标添加多项式函数来提高网络训练的能力,网络能够以高时效、低消耗的优势获得高精度的分类结果。So-Net[33]利用自组织特征映射(self-organizing feature mapping,SOFM)分析点云的分布情况,以此实现点云分类的置换不变性网络。So-Net结构简单,有良好的并行性,训练速度快,在分类任务中效果良好。Duan等人[34]提出了SRN来学习点间的交互关系。Zhao等人[35]从上下文信息机制中受到启发,提出了PointWeb 网络。通过局部的上下文信息,使用自适应特征调整模块(adaptive feature adjustment,AFA)学习点之间的局部特征。

为了有效解决使用3D传感器或者重建算法处理原始点云后存在的异常值和噪声,文献[36]提出PointASNL。网络由自适应采样模块(adaptive sampling,AS)及局部-非局部模块(local-nonlocal,L-NL)两部分组成。AS模块能减弱噪声和异常值,有利于点云的特征学习。L-NL模块为点云的分类和分割处理提供准确且稳定的特征信息。其中,利用L模块学习局部特征,利用NL模块融合全部采样点的局部特征从而获得全局特征。

针对点云无序性的特征,Prokudin 等[37]提出基本点集的概念(basis point sets,BPS)。具体是将输入点归一化为合适单元球,对一组点进行随机采样构成基本点集。计算给定点云到一组固定点的最小距离后,将其传递到PointNet最后两个完全连接层。

(2)卷积神经网络

卷积神经网络作为最基本的深度学习模型之一,在目标检测、语义分割、边缘检测等大型图像处理研究方面表现出色。CNN的结构优势为提取三维数据从低到高维特征提供灵感。点云处理中分类与分割的任务可通过优化卷积神经网络完成。Yousefhussien 等[38]提出的一维完全卷积分类网络直接使用点云数据的三维坐标以及相应光谱特征。Wang等人[39]提出带有空间池化的深度神经网络DNNSP中采用最大池层将基于点的特征聚合成基于簇的特征后通过MLP完成分类。Komarichev 等[40]认为PointNet++处理点云时局部区域的重叠导致信息冗余,故将环形卷积嵌入分层网络,提出了A-CNN。通过环卷积提取周围点的局部邻域特征,在后续的点云处理中聚合全局特征与局部特征完成分类任务。网络中的环结构在不会对邻域点重复查询,因此A-CNN 在大型场景的应用中性能稳定。如图6 是A-CNN中环形卷积的框架图。

图6 A-CNN中环形卷积的框架图Fig.6 Frame diagram of circular convolution in A-CNN

点云的无序性使其与2D 图像卷积存在差异。2D图像中各点具有固定位置,而点云的位置顺序则存在很多种可能(如图7所示)。对不同位置点云进行卷积算,结果会受点云的输入顺序的影响,从而影响卷积的结果。PointCNN[41]避免了点云的输入顺序对卷积操作的阻碍,网络中定义的χ-变换卷积算子能将具有特定输入顺序的数据转换为与顺序无关的特征。网络使用χ算子转化输入点云坐标,通过MLP 学习特征信息后使用χ变换矩阵进行特征处理。在分类网络中采用膨胀卷积思想保持网络深度以及接受场的增长率。PointCNN证实了局部结构的开发对点云分类网络的重要性。但实际上χ-变换矩阵和预设结果相差仍有差距,网络需要进一步改进。

图7 点云的不同位置Fig.7 Different locations of point clouds

与2D 图像去掉RGB 信息后无法被识别的情况不同,点云仅保留位置信息也可以被有效识别,即点云中相邻点的空间几何信息可以表达隐含的形状信息。据此,Liu 等人[42]提出了对点的几何关系编码的卷积算子RS-Conv,设计基于几何关系来学习3D 形状关系的卷积神经网络RS-CNN。利用RS-Conv(如图8)对点云子集进行卷积计算后,将低维信息代入神经网络中映射成高维信息,推理点云的空间信息特征,实现形状上下文的感知,最后通过全连接层得到全局特征后进行分类处理。结果证明,RS-CNN具有良好的目标识别功能。

图8 RS-Conv示意图Fig.8 Schematic diagram of RS-Conv

模型[31,33,41]均以PointNet中MLP的一维卷积的思想来进行改进,PointConv[43]是在点云上建构深层卷积网络,用MLP 学习近似3D 的卷积核,对点云特征密度加权。该网络便于操作,提高了训练时效与精度的同时减轻了计算机存储压力。类似地,核点卷积(kernel points convolutional,KPConv)[44]也是将卷积自然推广到点云数据中,不同之处在于卷积计算和核转换矩阵的方式。KPConv 提供了可变形卷积算子,通过线性差值得到核转换矩阵,卷积的权重决定了到核点的欧氏距离。Boulch[45]提出将卷积核分为空间和特征部分的ConvPoint,选择卷积核空间部分的任意位置,通过多层感知机训练加权函数。

Wen等人[46]提出方向约束全卷积网络(D-FCN),将原始点云三维坐标和强度值作为模型的输入。利用方向约束点卷积(D-Conv)模块从投影的二维感受野中提取三维点集的局部特征。基于D-Conv模块进一步设计了具有下采样和上采样模块的多尺度全卷积神经网络,以实现多尺度点特征学习。D-FCN 不仅可以处理任意大小的输入点云,而且可以通过端到端的方式直接预测所有输入点的语义标签。但模型中采用具有规则感受场的标准卷积核,不能建立点之间的结构联系,也不能考虑点密度的变化。

为解决三维点云密度分布不均匀,不能有效识别细粒度的局部结构问题。DANCE-NET[47]引入了一种密度感知卷积模块,使用逐点密度重新加权卷积核的可学习权重,为逼近非均匀分布的三维点集上的连续卷积提供可能。

(3)图卷积神经网络

现阶段基于点的分类方法都是将整体点云作为输入,虽然它们都在标准基准上实现了理想的检索精度,但却忽略海量点云的冗余信息。图神经网络(graph neural network,GNN)的概念最早由Gori 等[69]提出,Scarselli 等人[70]对其完善。Bruna 等人[71]首次提出基于谱图论开发的非欧式域的卷积神经网络。Kipf 等人[72]在前人的基础上正式提出图卷积神经网络(graph convolution network,GCN)。GCN 实际属于CNN 的优化,通过提取图数据的特征,在半监督分类任务中效果良好。Simonovsky等[48]受到边缘标签应用的启发,提出了可以应用于任意图结构的边缘卷积网络(ECC)。在进行加权平均的卷积操作时,ECC的权重取决于节点间的边权。ECC将点云数据的点视作图结构的顶点,使用最大采样法聚合顶点信息。但将点云改变为图结构的过程中需要大量计算,导致分类结果并不理想。KCNet[49]通过图卷积沿边缘聚合点云局部特征,利用图或者树的结构,将局部区域中无序的点云变得有序化。由于点云属于非线性结构,使KCNet 构建图或树的边缘更加繁琐。

DGCNN[50]为解决文献[30-31]获取局部特征能力差的问题提供了边缘卷积模块,通过模块的叠加或循环得到全局特征。网络可以在保持置换不变性的基础上捕捉局部几何信息,但由于忽略了点之间的向量方向导致丢失了部分信息。并且DGCNN 中的空间转换模块处理点云时需要大量参数,提高了模型的复杂度。Zhang等人[51]进一步优化DGCNN,提出链接动态图卷积神经网络(LDGCNN)。首先取消需要过多参数的空间变换网络,通过添加跳跃链接聚合不同层的动态图的层次特征,学习特征中有效的边缘矢量特征。该网络能够有效避免梯度消失的问题。

Point GNN[52]每一层网络都在循环使用图的边,因此可以避免不必要的点云分组与采样。Gird-GCN[53]创新性提出能够降低理论时间复杂度和提高空间覆盖率的模块:覆盖感知的网格查询模块(coverage-aware grid query,CAGQ)与网格内容聚合模块(grid context aggregation,GCA)。

Li等人[54]采用点卷积(Pconv)和点池化(Ppool)方法学习点云的高层特征,结合图结构提出点云特征学习网络PointVGG,并将其应用于目标分类和局部分割。如图9为PointVGG网络架构,通过Pconv层逐步放大感受野获取局部几何信息,利用Ppool层解决点云的无序性问题。与直接将局部几何信息聚合成向量的对称函数不同,Ppool通过逐步聚集点获得更详细的局部几何表示。Wang 等人[55]从点云中提取信息紧凑丰富的Reeb图,分别用Reeb图和KNN图捕捉输入点云的上下文信息。网络使用深度图卷积进行点云过滤,可以取得良好的分类效果。

图9 PointVGG网络架构Fig.9 PointVGG network architecture

(4)注意力机制

注意力机制[73]的工作原理是使系统关注主要信息,忽略次要信息。受到引入注意力网络对二维图像的分类方法[74-75]的启发,且该机制具有固定排列和不依赖于点间联系的特性,能符合点云处理的要求,因此许多学者将注意力机制引入点云处理的算法研究。Yang 等人[56]提出基于点云推理的点注意力变压器(PAT),采用组混洗注意力机制(group shuffle attention,GSA)代替并行注意力机制建模点之间的关系。此外,网络中还包括GSA 和Gumbel 子集采样(gumbel subset sampling,GSS)两部分:GSA 模块可以更好地挖掘点之间的特征关系,利用GSS完成代表性点子集的选择。

受图卷积知识的启发,有学者将图卷积技术与注意力机制结合提出了新的分类策略。Chen 等人[57]基于自注意力机制(self-attention)提出了GAPNet,通过在堆叠的MLP层中嵌入图注意力机制来学习原始输入点云的局部语义信息,使用并行机制(multi-head attention)聚合生成来自不同GAPLayer 层的注意力特征。网络中的GAPLayer 和注意力层可以集成嵌入到现有的训练模型中,以有效提取无序点云的局部几何特征,提高模型性能。Wang 等人[58]通过引入图注意力卷积构建GACNet,网络中的卷积核的形状可以自适应不同对象的结构。GACNet 在关注局部的同时也考虑到密度分布和全局上下文关系。清华学者将Transform概念引入点云处理,提出了一种参数少、精度高的PCT网络[59],如图10所示。网络首先将输入点云的特征语义编码至更高维的特征空间中,然后连接经历过四层注意力层(包括自注意力模块和偏置注意力模块)的局部几何信息,获取不同尺度下的语义相似度,最后聚合点云的局部和全局特征完成分类与分割的任务。

图10 PCT网络架构Fig.10 PCT network architecture

基于全局-局部图注意力机制的卷积神经网络(GACNN)[60]中的全局注意模块用来学习点云的空间分布状态,以获取全局上下文信息特征。网络中的局部注意模块包括边缘关注和密度关注两部分:边缘关注模块通过学习邻近点的局部空间布局,动态调整核权值,以适应点云的结构;密度注意模块能够解决非均匀采样点的密度不均问题。GACNN 可以捕捉多尺度的点云特征,提高机载点云的分类精度。

直接处理原始点云保留了点云信息的完整性,算法性能良好,应用场景多样,许多算法在多个数据集上有良好表现,但仍存在不足之处,例如由于MLP 的接受范围有限,可能会导致形状信息不可忽略的损失。基于原始点云的算法现如今是基于深度学习的点云处理的主要研究趋势,在优化算法时学者应考虑如何高效提取点云全局特征的同时降低模型的复杂度与计算时间。

3 现有方法结果对比与分析

本章汇总了图2 涉及到的基于深度学习的点云分类方法的提出年份、主要原理、优缺点、应用场景以及在主要数据集上表现的性能,见表1。同时,分别展示在不同数据集中表现出色的点云分类结果图(图11和图12)。

表1 多种点云分类方法在不同数据集上的比较Table 1 Comparison of several point clouds classification methods on different datasets

表1(续)

表1(续)

表1(续)

通过表1可以发现,在常见的三维数据集中Model-Net10/40 的应用最多。本文中提及到的算法在该数据集下性能都较为优越,基本在85%以上,说明现有的算法对细粒度的物体有较好的识别能力。选择Model-Net10数据集的算法中,平均精度与总体精度除3DshapeNets 其余算法都高于90%。表现出色的网络是Gird-GCN(MA 为97.4%,OA 为97.5%)和A-CNN(MA 为95.3%,OA 为95.5%)。采用双线性池聚合局部特征卷积的MHBN网络在ModelNet40数据集中总体精度达到94.91%,在所有方法中精度最高。基于原始点云的分类方法中总体精度大多超过90%,该类别下优化CNN的方法表现稳定,其中RS-CNN性能最优,总体精度在93.6%。

PointNet++、PointCNN、D-FCN、Dance-Net、DGCNN、GACNET 和GACNN 等方法均选用了ISPRS 开发的基准数据集,总体精度全部超过80%,物体的分类结果接近于真实场景物体。其中Dance-Net使用逐点密度重新加权卷积核的可学习权重,达到逼近非均匀分布的三维点集上连续卷积的效果,训练结果最优,总体精度为83.9%,分类结果见图11。在2019 年,Kpconv、D-FCN、DGCNN、GACNET以及GACNN表现都很出色,图12展示了以上算法的分类结果。最新提出的GACNN 网络性能优越,利用全局上下文信息以及局部注意模块学习点云的多尺度信息特征。在电力线、不透水面两种类别表现最出色。由于ScanNet数据集类别较多,PointNet++与PointCNN 分类效果不理想,平均精度与总体精度普遍偏低。

图11 Dance-Net在ISPRS数据集上的分类结果Fig.11 Classification results of Dance-Net on ISPRS dataset

图12 各方法在2019年数据融合比赛数据集上的分类结果Fig.12 Classification results of each methods on 2019 data fusion contest datasets

从点云分类的精确度角度分析,不同方法各有优缺点。总体上看,基于点的特征提取结果优于基于投影的特征提取。原因主要在于点云数据本质上是物体表面点的集合,单单进行投影转换会造成不必要的计算。点云的体素化虽然可以将无序的点云结构化,但是将体素网格作为输入时,低分辨率的体素会导致信息的丢失,高分辨率的体素会导致计算机超负荷计算。多视图的方法尽管在性能方面已经优于传统机器学习的方法,但是分类精度与视点的位置与角度有关,一定程度上仍依赖于人工设置。直接输入原始点云数据可以保留信息的完整性,算法性能良好,可应用于多种场景,该类方法成为现在热门研究方向。其中,基于优化卷积神经网络与图卷积的算法虽然需要较大的计算和存储开销,但是网络性能优于同时期的方法。

4 结束语

深度学习的3D点云研究作为一个较新的研究领域正在快速的发展。本文从不同角度的点云特征提取方法论述三维点云分类的发展过程,重点介绍基于深度学习的点云分类的研究现状。回顾深度学习技术在点云分类任务中的应用情况可以发现,该类模型是借鉴了图像领域的深度学习模型,针对点云的无序性、稀疏性、非结构化和信息有限性等特点进行改进优化。本文将此类方法分为基于投影的分类方法和基于原始点云的分类方法,不同类别下的方法各有优劣。基于投影的方法在简单场景中具有较强的实用性,但是转换点云的过程中损失了大量有效的深度信息。直接处理原始点云虽然在卷积过程需要较高的计算成本,但是通过评估与分析现有的分类策略,证明了直接处理点云数据在分类任务中更具优势,能够有效提升点云分类的精度。尽管深度学习技术可以自动化提取点云特征,且在点云研究中取得不错的成绩。但不论是基于投影的算法还是基于原始点云的算法都存在值得进一步探讨的问题,例如:如何使网络模型兼顾高精度与高效率;如何更加充分地、灵活地运用点与点之间的联系等。深度学习应用于点云方面的研究正在不断被推进,在此期待更多的创新方法的提出。

猜你喜欢
局部卷积神经网络
基于递归模糊神经网络的风电平滑控制策略
爨体兰亭集序(局部)
基于3D-Winograd的快速卷积算法设计及FPGA实现
凡·高《夜晚露天咖啡座》局部[荷兰]
卷积神经网络的分析与设计
神经网络抑制无线通信干扰探究
从滤波器理解卷积
基于神经网络的中小学生情感分析
基于傅里叶域卷积表示的目标跟踪算法
丁学军作品