APP下载

机器学习在基于点云的三维物体识别领域的研究综述❋

2021-04-21解则晓李美慧

关键词:特征选择分类器卷积

解则晓, 李美慧

(中国海洋大学工程学院,山东 青岛 266100)

随着数字扫描技术及计算机技术的不断发展,测量数据的处理也引起人们的广泛关注。点云数据是最常见的测量数据之一,因其较好的对复杂形状的描述能力、简单的存储格式、易于处理等特点广泛应用于逆向工程[1]、城市建设[2-3]、文物保护[4-5]等众多领域。其应用的基础大多在于基于点云的三维物体识别工作,即从扫描获得的测量点云数据中识别分离出目标物体,同时估计出物体位置和姿态。机器人对环境的感知[6]、无人驾驶汽车对周边车辆的识别[7]等,都有赖于三维物体识别。三维物体识别也因此成为计算机视觉领域中的研究热点[8-10]。

自从人工智能于1956年在Dartmouth大学问世以来,已经形成了一系列理论和方法[11-14]。机器学习是人工智能的一个分支,简单地来说,机器学习就是通过算法,使得机器能从大量已知的数据中学习其固有的规律,从而对未知的、新的样本做出智能识别或某种预测。20世纪80年代末Rumelhart和McCelland领导的科学家小组提出了误差反向传播算法,引起了机器学习发展的第一次浪潮,从此掀开了基于统计模型的机器学习的帷幕。2006年,深度学习的提出,充分展示了多层神经网络的优越性,人工神经网络发展进入了新的黄金时期,机器学习的发展被推向另一个高峰。

目前,基于局部特征、整体特征的特定物体识别己经有很多研究成果,但是随着数据量的增大,目标物体环境的复杂程度增加等问题的出现,需要高效性、通用性、鲁棒性较强的识别系统。随着自动化程度的提高,机器人导航[15-18]、工业零件检测及抓取[19]等众多领域对计算机视觉系统的要求越来越高,常规的物体识别己经无法满足人类的要求。因此机器学习在基于点云数据的三维物体识别领域的研究也引起了人们的重视。

1 特征提取

点云数据是指通过测量仪器获得的扫描资料以点的形式记录,每一个点包含有三维坐标,有些可能含有颜色(RGB)信息或反射强度信息(Intensity)。如何从已知的点云数据中提取出更多和目标相关的特征,属于特征抽取和特征挖掘的范畴。特征提取通常要提取具有如下性质的特征描述,即来自同一类别的不同样本的特征值应该非常相近,而来自不同类别的样本的特征值应该有很大差异[20]。

常用的点云特征有:高程及高程纹理特征、几何形态特征、回波特征、反射强度和光谱特征[21]。特征提取按照点云的划分方式一般分为四类:(1)以点及其邻域的某种特征进行分类,分类结果的单位为单个点。(2)将点云划分为人为规定的形状大小即点云块,进行特征提取,分类结果的单位是点云块。(3)将原始点云进行聚类等分割操作,以整个物体为单位,分类结果单位是单个分割好的物体。(4)利用卷积神经网络直接对点云的原始数据或者原始数据的初步处理结果进行卷积,提取特征,分类结果精确到单个点。前两类特征属于手工特征,特征的提取采用传统的人工设计算法,作为机器学习的输入进行分类运算。2018年佟国峰等[22]基于密度(DBSCAN)的聚类算法对点云进行分割,提取分割后点云的垂直方向切片采样直方图和质心距直方图特征,通过支持向量机对室外大场景点云进行分类。基于聚类的方法分类精度很大程度上依赖于聚类的结果,而点云的疏密程度、遮挡、噪声往往会影响聚类结果的好坏。

基于卷积神经网络的特征提取,核心在于解决点云的无序性及特征的旋转、平移不变性,重点在于解决点云的无序性问题。在点云数据结构构造层面,Wu Z等[23]提出对点云进行体素化处理的方法解决点云的无序性,对点云生成一个固定的包围盒,设置分辨率,将三维包围盒按照设置的分辨率划分成“立体栅格”。然后利用三维卷积对体素化的数据进行处理。但是,体素化之后获得的数据一般非常稀疏,有效数据占比少,只能在较小的分辨率下操作,维度过高可能发生维度爆炸,且对于较远的物体,需要很大的卷积核,会带来额外的计算开销。WANG P S等[24]提出利用Octree来处理点云,只存储有点云数据的物体表面信息,对于没有点云的空间信息则不生成叶子节点,不参与运算。类似的,Shen Y等[25]通过构造K最近邻图,利用邻域信息进行核相关构造特征;Roman Klokov等[26]使用KD树构建具有一定顺序的点云作为网络输入;Li J等[27]构建自组织映射结构来模拟点云的空间分布;Wang Y等[28]提出借助于有向图表示边缘特征的算法;Yizhak Ben-Shabat等[29]提出三维修正Fisher矢量(3DmFV)表示点云的算法,来解决点云的无序问题从而获得点云特征。在分类网络构造层面,Matan Atzmon等[30]对传统CNN网络进行改进,采用分段池化的方式进行特征提取;Wang C等[31]将局部谱特征学习与递归聚类和池化相结合,为无组织点云的点集特征提取提供新的架构;Xu Y等[32]通过参数化一系列卷积滤波器,将卷积运算从规则的栅格扩展到可嵌入的不规则点集。2018年Li Y等[33]提出使用多层感知器[34]根据K个输入点(p1,p2,…,pk)的坐标来学习K×K的X变换,即X=MLP(p1,p2,…,pk),然后将其用于对输入特征同时进行加权和重新排列,最后再将典型的卷积应用在这个变换后的特征上。该算法应用提出的变换,使得无序点云具有特征的不变性。具有比较好的识别、分割精度,但是该网络存在过拟合现象。2017年7月Qi Charles R等[35]以无序的具有三维坐标特征的点云为处理对象,通过变换矩阵、多层感知机等操作,得出1024维全局信息和64维局部信息,最后利用分类器实现对逐个点分类的PointNet算法。但是,PointNet提取的是每一个独立点的特征描述以及全局点云特征的描述,并没有考虑到点的局部特征和结构约束,因此与MVCNN[36]相比,在局部特征描述方面能力稍弱。同年12月他们又改进提出PointNet++算法[37],主要就是在PointNet的基础上,加入局部特征提取以及在进行局部分割时在网络结构中加入密度适应使得分割更加准确合理的处理点云数据。PointNet及PointNet++算法的提出对于机器学习在基于点云的三维物体识别领域的应用具有里程碑式的意义,开启了散乱点云数据直接处理的机器学习的大门。不同算法的类别平均准确率(Mean per-class Accuracy,MA)、整体准确率(Overall Accuracy,OA)以及运行时间(Forward Time,FT)基于ModelNet40数据的运行结果如表1所示。可知当前识别算法并不能做到百分之百的准确,而且在数据量比较大的时候,运行时间较长。

2 特征选择

大部分机器学习的应用往往受限于单一领域,一个很重要的原因就在于特征的相关性[38-39]。如何去掉那些相关度不大的特征,将更少的特征应用于机器学习流程,该过程称为特征选择。特征选择主要致力于解决三个问题:维度灾难[40]、过拟合[41]问题和噪声问题。目前,在基于点云的三维物体识别领域应用的主流方法有:主成分分析法、集成的方法和神经网络方法。

主成分分析[42](Principal component analysis, PCA),是一种简单有效的降维方法。其主要思想是将n维特征映射到k维上,这k维是全新的正交特征也被称为主成分,是在原有n维特征的基础上重新构造出来的k维特征。2014年张蕊等[43]对点云三维坐标数据进行主成分分析,获得3个特征值,依据建筑物和树叶的3个特征值间的大小关系不同,结合BP神经网络进行分类。但是,系统训练耗费时间长,且BP神经网络参数受经验值的影响。因此系统泛化能力差,容易造成错误分类。PCA的过程中进行特征的提取和选择是无监督的,利用的是自变量本身的相关关系。但是,当数据量比较大时,可能造成数据存储困难。

表1 不同点云识别算法精度、运行时间对比

集成的方法主要分为两类:一类是基于Boosting思想的模型[44]。Boosting是借助于降低偏差来提升模型效果。2013年郭波等[45]以包含地面、植被、建筑物、电力塔、电力线等场景的机载LiDARa点云为研究对象,在粗差剔除的基础上,定义了10类点云分类所需要的关键特征,结合地物空间上的相互关联关系,提出了一种利用JointBoost[46]实现序列化点云特征降维及分类的方法。其具体特征选择方法是对于特定类别定义弱分类器最小值和,利用此值对特征进行重要性排序,优先选择数值大的特征。但是文献方法,分类精度、实时性及特征的有效性均有待改善。另一类是基于bagging思想的模型[47]。Bagging方法是通过降低方差来提升模型效果。2017年Ni H等[48]提出了将随机森林[49]与基于分段特征的分类方法相结合,对机载激光扫描点云进行分类。利用基于袋外数据(oob)误差的后向消除方法进行特征选择,并确定随机森林中使用树数量的适当值。其方法存在一个限制,即无法识别几何可分辨性较低的物体。通过集成的方法进行特征选择不需要额外的算法、程序,在分类器训练的同时即可完成特征降维,但是具体实现相对比较复杂。

神经网络方法是借助于设置神经元的层级和相互之间的链接将特征进行层层抽象,在训练模型的过程中可以实现没有人为干预就能够进行特征抽取和特征选择。2006年Hinton G E[50]利用神经网络将高维度输入数据,采用梯度下降法调节权重,输出低维度特征数据,从而实现数据降维处理。2017年Li B[51]将检测的激光雷达扫描区域分割为立体栅格空间,将点云处理为4D图像输入包含4个卷积层的全卷积网络进行特征抽取和选择,最后利用softmax进行分类。基于神经网络方法的特征选择一般与特征分类集成在同一个网络中,PointNet和PointNet++就是很好的实现案例,它可以实现局部特征与全局特征的结合应用,具有高度的抽象性,同时这也是当前需要解决的问题之一,即特征的抽象性难以用理论的方法来解释其具体含义。神经网络的方法需要的训练数据量较大,比较耗费硬件空间。

3 特征识别

三维物体的识别本质上是对提取特征的分类,然后依据特征向量与点云的对应关系,找到相应特征的点云数据块,给此点云数据块所代表的被测对象赋予相应类别的标记。机器学习分类器总体来说可以分为两类:浅层学习和深度学习。浅层学习可以看作是具有一层隐层节点或者没有隐层节点的学习模型。深度学习的实质,是指通过构建有很多隐层的机器学习模型和海量的训练数据,来学习更有用的特征,从而提升分类或预测的准确性。

浅层学习中,常用的分类器有:支持向量机[52]、随机森林[53-56]、AdaBoost[57]、JointBoost[58]、朴素贝叶斯分类器[59]和最大期望算法[60]等。2007年Suresh Lodha[60]使用最大期望(Expectation-Maximization, EM)算法将三维航空激光雷达散射高度数据利用高度、高度变化、法向变化、激光雷达回波强度和图像强度五个特征,分为道路、草地、建筑物和树木四类。2013年Liu C等[61]开发了一个改进的神经振荡网络(Locally Excitatory Globally Inhibitory Oscillator Networks,LEGION),从高质量的数字表面模型(Digital surface models,DSMS)中采用灰度共生矩阵同质性度量DSM高度纹理,分割提取建筑物同时采用具有垂直约束的最小二乘法求解规则化直线建筑边界。2013年,Kim H B[62]研究采用超视距分类方法对机载激光雷达数据中的走廊景观进行分类,采用随机森林作为监督分类器,提出了一种基于点云的分类方法,对线路、塔架、建筑、植被、低目标等5个关键的走廊景观设计了包括垂直相关特征在内的21个特征,该方法可以有效地对走廊景观进行分类。2013年Zhang J等[63]提出了一种基于对象的城市地区机载激光雷达分类方法。在分类过程中,采用表面生长算法进行聚类,计算几何、拓扑和回波等特征,利用支持向量机进行分类,三维点云的连通分量分析方法优化原始分类结果。2014年Niemeyer等[64]将随机森林分类器集成到条件随机域(Conditional Random Field,CRF)框架中对复杂的城市机载激光雷达点云进行分类。2016年Zhang等[65]提出用于从机载激光扫描(ALS)点云有效地提取物体的形状特征,对点云中的大小物体进行分类的SCLDA工作框架。在该框架中,基于自然指数函数阈值将点云分成不同大小的分层簇,结合LDA(Latent Dirichlet Allocation)算法和稀疏编码(Sparse coding)提取和编码多层次点云的形状特征,以不同层次的特征来捕获不同大小的对象形状的信息。这样,可以识别物体的稳健和有区别的形状特征。应用浅层网络对点云进行识别、分割,其精度依赖于手工设计特征的好坏,很大程度上充当了特征的分类器,代替了传统点云处理中特征匹配算法,应用场景有一定的局限性。

深度学习中,物体的特征识别算法往往不是设计的重点,一般都是采用全连接网络进行特征的分类。如文献[35,66-67]采用了输出节点为(512,256,k)的多层感知器,其中k为类别数量。Softmax也是常用的分类函数。深度学习处理点云,主要部分在于通过设计网络自动地提取可以充分代表点云的特征,对于特征的分类,对最后获得的结果精度影响相对较小。

4 总结与展望

采用三维点云数据进行目标物体的识别,相比二维图像可以获得更多的位置信息,在面对遮挡、噪声等不利因素时,具有更好的识别效果。机器学习从浅层网络到深层网络有着极大的发展,同时也给基于点云的三维物体识别提供了新的方法,本文围绕基于点云的三维物体识别的特征提取、特征选择、特征识别三个方面涉及的机器学习方法进行了系统的总结和归纳。近几年,经过国内外学者的研究,已经取得一些成果,但是由于点云散乱、遮挡、噪声、数据量大等带来的处理困难,点云的处理仍面临很多挑战。

(1)点云的无序性。当下热门研究方向仍是应用直接处理点云数据的相关研究,此方法能够最大限度的保留三维数据的原始信息,使得模型精度拥有更高的提升空间。在此基础上首先要解决改善的问题是点云的无序性。由于点云的表示形式是空间中相对位置的三维坐标,与三维坐标之间的顺序、排列并无关系,因此点云数据实际上具有集合性质,其邻域之间的特征关系难以获得,现有的处理方法,其需要的处理器处理的时间、空间开销相对较大。

(2)大数据下的并行处理问题。海量点云数据并行处理的模式有很多种,可以单机并行,也可以集群并行;可以将任务分解并行,也可以将数据分解并行。针对不同的数据处理任务研究特定的并行算法,或者对特定算法进行并行化设计是点云高性能信息提取的主要任务。

(3)迁移学习的应用。每一个训练好的分类算法都只针对特定的样本,当目标场景、目标物体一旦发生变换,就需要重新训练分类器,再次消耗时间和空间。迁移学习的出现,使得网络中每个节点的权重可以从一个训练好的网络迁移到一个全新的网络里,而不是从头开始训练,充分利用不同任务间的相关性,借用一个任务的知识解决另外一个任务的问题。目前,迁移学习[68-69]正在寻找一种能在不同场景中可扩展的类别区分算法,它在点云信息提取中亦有广泛的应用潜力。

基于机器学习尤其是深度学习的点云数据物体识别发展才刚刚起步,未来研究中,仍有很多方向值得探索。散乱点云以提高检索、查询速度,减少存储空间为目的的有效组织与管理方式;目标物体的自动快速、精确识别;深度学习中卷积神经网络以及其他技术在点云数据目标物体识别中的推广应用;以及与其他领域技术的交叉融合,拓展三维点云数据的应用,从以上等方面来不断提高物体识别的智能化程度,将是未来研究的热点与重点。

猜你喜欢

特征选择分类器卷积
学贯中西(6):阐述ML分类器的工作流程
基于3D-Winograd的快速卷积算法设计及FPGA实现
基于邻域区间扰动融合的无监督特征选择算法框架
基于朴素Bayes组合的简易集成分类器①
卷积神经网络的分析与设计
基于特征选择的SVM选择性集成学习方法
从滤波器理解卷积
基于词向量的文本特征选择方法研究
基于傅里叶域卷积表示的目标跟踪算法
基于差异性测度的遥感自适应分类器选择