采用深度级联卷积神经网络的三维点云识别与分割

2020-05-12 08:35:12党吉圣
光学精密工程 2020年5期
关键词:细粒度语义准确率

杨 军,党吉圣

(兰州交通大学 电子与信息工程学院,甘肃 兰州 730070)

1 引 言

随着三维建模技术以及深度传感器的广泛应用,三维模型的数量呈现出爆炸式增长,三维模型的目标识别和语义分割作为三维模型分析处理的前提和基础,已成为机器视觉领域的一个重要研究课题。三维目标识别和模型语义分割是通过比较各模型特征描述符之间的相似性和差异性来完成的,因此其关键问题是如何提取准确而鲁棒的三维特征描述符。传统方法利用手工设计形状描述符来提取三维模型的特征,如几何形状描述符[1]和热核签名描述符[2]等,但是手工设计的特征描述符良莠不齐,严重依赖专家经验,而且泛化能力较差。

近年来,深度学习[3-6]方法在机器视觉领域取得了一定的阶段性成果,越来越多的学者开始尝试采用深度学习方法来进行三维目标识别和模型语义分割,主要方法分为基于多视图的方法、基于体素的方法和基于点云表示的方法。

基于多视图的方法。由于三维点云的不规则性,直接从三维点云数据中提取特征有一定的困难。文献[7]首先对三维模型进行多方位渲染得到二维投影视图,然后把二维多视图作为训练数据输入到经典的VGG(Visual Geometry Group)[8]中训练并提取特征,最后通过视图池化层把视图特征聚合得到一维的全局特征描述符。该方法虽提高了三维模型识别的准确率,但存在视图特征冗余和三维模型几何信息丢失的问题。

基于体素的方法。文献[9]提出把不规则的点云数据规则化为3D体素网格的形式,然后使用三维卷积神经网络直接作用于3D体素数据提取特征描述符。文献[10]将点云数据转化为二值3D体素矩阵,通过附加正则化项的随机梯度下降算法提取体素矩阵的特征,以此对模型类别进行预测。文献[11]把不规则的点云数据体素化为规则的体素数据并进行旋转扩充以增强网络的泛化能力,并通过堆叠小卷积核构建深度卷积神经网络挖掘模型内部隐含信息,提取体素矩阵深层特征。上述算法虽然有效保留了模型的几何结构信息,但是体素化操作内存消耗严重,使捕获高分辨率信息和细粒度特征变得困难。由于对于低分辨率的模型识别精度不高,文献[12]提出了空间划分方法,但仍然缺乏捕捉局部几何特征的能力。

基于点云表示的方法。该方法可直接利用矩阵运算对点云模型进行仿射变换,避免了把点云转化为其他规则数据形式的繁杂操作,已广泛应用于计算机图形学和机器视觉领域,如室内导航[13]、自动驾驶[14]、机器人[15]以及车载激光雷达[16]等。对于三维目标识别和语义分割,文献[17]提出的PointNet网络模型成为把深度学习框架直接作用于原始点云数据的先驱,但PointNet仅关注单个独立点的特征,没有考虑局部邻域信息的重要性。文献[18]提出了PointNet++网络,通过划分局部点云分层提取细粒度特征信息,对三维点云模型识别和语义分割展现出良好的性能。该网络虽然有效捕获了点云局部邻域信息,但是没有考虑局部邻域内点与点之间的距离度量,缺乏捕捉上下文细粒度局部几何信息的能力,导致识别效果不佳。为此,本文提出了基于深度级联卷积神经网络(Deep Cascade Convolutional Neural Network, DCCNN)的三维点云识别与分割方法,能够有效捕捉点云模型的上下文深层细粒度局部几何特征,提高了三维目标识别和模型语义分割的精度。主要创新点和贡献有:(1)通过在DGCNN[19](Dynamic Graph Convolutional Neural Network)中引入残差学习加深网络深度,构建深度动态图卷积神经网络以充分挖掘点云的深层语义几何特征。(2)构建深度级联卷积神经网络。将深度动态图卷积神经网络作为PointNet++[18]的子网络递归地应用于输入点集的嵌套分区以提取点云模型的深层细粒度几何特征。(3)针对点云的采样密度不均匀导致的网络学习性能下降的问题,提出一种多尺度分组循环神经网络(Multi Scale Grouping-Recurrent Neural Network, MSG-RNN)编码策略。通过编码采样点的不同尺度的邻域几何特征,来提取采样点的上下文细粒度几何特征以增强网络的鲁棒性。

2 深度级联卷积神经网络

2.1 深度动态图卷积神经网络

为了捕捉三维点云的局部几何特征,DGCNN[19]通过度量相邻点之间的距离关系,提出了边缘卷积层(Edge Convolution, EdgeConv)操作,一定程度上提高了网络识别性能,但网络深度较浅,无法捕捉更抽象的深层语义特征信息。受文献[20]启发,本文在DGCNN的基础上构建深度动态图卷积神经网络(Deep Dynamic Graph Convolutional Neural Network, DDGCNN),以充分挖掘点云的深层语义几何特征,网络结构如图1所示。DDGCNN由6个EdgeConv层、1个MLP层和1个最大池化层构成,EdgeConv层结构如图1下方子图所示。DDGCNN的输入为特征维度为F的k+1个点构成的局部点云X={x1,x2,...,x(k+1)|x(k+1)∈g},采用7个卷积层把点云中的每个点的原始特征映射到高维特征空间,卷积层的各层参数如表1所示。本网络把前层动态图的低级特征连接到后层动态图的高级特征中,避免了梯度消失问题的同时,加深了网络深度,有助于提取更具有代表性的深层语义特征信息。DDGCNN与DGCNN[19]的不同之处在于:(1)通过残差学习[21]将来自不同动态图的不同层次的特征相互连接,避免了梯度消失问题。(2)增加了卷积层的数目,以充分挖掘深层语义几何特征。(3)去除了空间转换网络,减少了网络参数,降低了过拟合风险。

图1 深度动态图卷积神经网络结构Fig.1 Network structure of deep dynamic graph convolutional neural network

表1 卷积层各层参数Tab.1 Parameters of each convolution layer

2.2 深度级联卷积神经网络

在PointNet++[18]网络中,集合抽象层中采用PointNet提取分组层的局部特征,然而,PointNet缺乏捕捉局部几何结构信息的能力。本文将DDGCNN作为PointNet++的子网络以构建深度级联卷积神经网络(Deep Cascade Convolutional Neural Network, DCCNN),该网络包含了3个集合抽象层,网络结构如图2所示。网络的输入是大小为N×(C+d)的点云矩阵,其中N为点的数目,d为点的x,y,z3个坐标维度,C为点的特征维度。第1个集合抽象层首先对整个输入点云采用迭代最远点采样算法采样N1个点,对每个采样点采用k最近邻算法搜索距离采样点最近的k个点构建每个采样点的k邻域分组,即得到大小为N1×(k+1)×(C+d)的点云矩阵,然后采用DDGCNN提取每个分组的深层语义几何特征,得到N1个特征维度为C1的点构成的新点云,再次输入第2个集合抽象层经过采样分组得到大小为N2×(k+1)×(C1+d))的点云矩阵,采用DDGCNN提取特征后得到大小为N2×(C2+d)的点云矩阵。对于分类(Classification)任务,将该点云矩阵输入第3个集合抽象层,以此递归抽象整个点云,得到能表示整个点云的一维特征向量C3。然后采用3个全连接层MLP(512,256,R)对全局特征向量进行降维转换,最后采用Softmax分类器计算分类分数。对于分割(Segmentation)任务,为了获取每个点的点级别的特征,在网络中引入两个插值层[18],通过上采样将特征从形状级别传播到点级别,并采用MLP和Selu促进点特征的提取,最后网络输出每个点的预测标签。

本文采用三维空间中点与点之间的欧氏距离来实现特征传播,由点o与其k最近邻点oi的欧几里得距离插值而成。计算公式如式(1)所示:

(1)

其中:

u(oi)=1/(o-oi)2.

(2)

2.3 密度自适应层

现实生活中,在3D扫描仪生成点云数据时,由于透视效应、径向密度变化等因素的干扰,采集到的点云的密度在不同区域往往是不均匀的,这种不均匀性增加了点集特征学习的难度。本文构建的DCCNN在采样分组时是采用单尺度分组(Single Scale Grouping, SSG),在密度均匀的点云数据集上表现良好,而对于密度不均匀的采样点集的特征学习效果并不理想。为此,本文构建多尺度分组循环神经网络 (Multi Scale Grouping-Recurrent Neural Network, MSG-RNN) 编码策略,在输入点集密度不均匀时能够自动结合每个采样点的多个不同尺度的上下文邻域特征以增强网络的鲁棒性。本文将采用MSG-RNN编码策略的DCCNN命名为上下文深度级联卷积神经网络(Contextual-Deep Cascade Convolutional Neural Network, C-DCCNN)。

(3)

其中:f为一个非线性激活函数,实验中采用LSTM单元。ht-1为编码上一个邻域的几何特征时的隐藏层状态。在RNN编码采样点的第t个邻域的特征向量时,编码器的输出vt如公式(4)所示:

vt=Waht,

(4)

图3 MSG-RNN策略Fig.3 MSG-RNN strategy

3 实验结果与分析

3.1 实验数据集

对于三维目标识别任务,选择ModelNet40[22]和ModelNet10[22]两个标准数据集进行实验。ModelNet40共有40个类别的12 311个CAD模型,其中9 843个模型用于网络训练,2 468个模型用于网络测试。ModelNet10共有10个类别的4 899个CAD模型,3 991个用于训练,908个用于测试。对于三维模型语义分割任务,分别采用部件语义分割数据集ShapeNet Part[23]、室内场景语义分割数据集S3DIS[24]和户外自动驾驶场景语义分割数据集vKITTI[27]进行实验。ShapeNet Part数据集包含16个类别的16 881个CAD模型,共有50个部件语义标签。S3DIS是一个室内大规模点云数据集,包含6个室内区域,共272个房间,其中所有点标注为木板(Board)、书柜(Bookcase)、椅子(Chair)、天花板(Ceiling)和横梁(Beam)等13个语义类别。vKITTI是一个自动驾驶实际场景的户外大规模点云数据集,分为6个不同的城市场景,其中所有点标注为自动驾驶场景中的汽车(Car)、树木(Tree)、建筑物(Building)、马路(Road)、交通灯(Traffic Light)和行人(Pole)等13个语义类别。

3.2 参数设置

实验采用基于动量的随机梯度下降 (Stochastic Gradient Descent, SGD) 优化算法,动量因子为0.9,初始学习率为0.001,学习率衰减指数为0.7,衰减速度为200 000。采用Adam算法来更新SGD的步长,网络参数初始化采用Xavier优化器,批处理归一化的衰减率初始值为0.5,最终值为0.99。激活函数采用Selu以缓解梯度消失,增加网络非线性拟合能力。为了防止过拟合,在全连接层采用Dropout_Selu函数[26],除最后一层外,所有层都包含批处理规范化。

3.3 三维目标识别实验结果分析

为了探究本文构建的DDGCNN和C-DCCNN的有效性,分别在ModelNet40数据集上对DGCNN(BASELINE)[19],DDGCNN和C-DCCNN三个网络进行训练并测试,实验结果如表2所示。DGCNN(BASELINE)为去除空间转换网络的DGCNN。可以看出,在DGCNN(BASELINE)中引入残差学习构建的DDGCNN的识别准确率比DGCNN(BASELINE)提高了0.2%,验证了DDGCNN能够有效捕获深层语义几何特征的能力。在PointNet++网络中嵌入DDGCNN构建的C-DCCNN的识别准确率比DDGCNN高出0.5%,因为C-DCCNN采用分层特征学习策略能够捕捉细粒度局部几何特征,同时MSG-RNN在编码多尺度特征向量时可以有效结合上下文信息。

表2 不同算法的三维模型识别准确率比较

Tab.2 Comparison of the accuracy of 3D models recognition among different algorithms

(%)

为了验证本文算法的优越性,在ModelNet40和ModelNet10数据集上分别与其他先进方法进行了对比实验,结果如表3所示。可以看出,本文算法的识别准确率明显优于其他主流算法。原因在于本文算法通过构建DDGCNN能够有效提取点云模型的深层语义几何特征,并采用分层特征学习策略充分挖掘了三维模型的上下文细粒度深层几何特征。此外,表4比较了本文算法与PointNet算法在ModelNet40数据集上各类别模型的识别准确率。对于测试集中的40类点云模型,其中有27类本文算法的识别准确率高于PointNet算法,有11类本文算法与PointNet算法的识别准确率相同,只有2类本文算法的识别准确率低于PointNet算法,充分证明了本文算法的优越性。从表中还可以看出,本文算法以及PointNet算法对花盆(Flower pot)这一类别的模型识别准确率最低,而且远低于其他类模型,原因在于花盆(Flower pot)类部分模型只包含花盆(Flower pot),而部分模型同时包含了花盆(Flower pot)和植物(Plant),因此与植物(Plant)类造成了混淆,所以难以识别。图4给出了在ModelNet40测试集上测试得到的几种典型的误分类模型实例。图中从第1列到第4列分别为真实值、预测值、真实值与预测值的共同结构、标签信息。可以看出,错误预测的模型和真实的模型之间均具有相同的局部结构。例如在图4第1行中,真实的标签是花盆(Flower pot),而本文算法预测为花瓶(Vase),预测错误的原因在于它们的共同局部结构瓶嘴。在图4第2行中,真实的标签是花盆(Flower pot),而本文算法预测为植物(Plant),造成预测错误的原因在于花盆(Flower pot)类部分模型里有植物(Plant)。所以,本文算法对于如何排除干扰的局部特征,只关注显著结构特征,还需要进一步提高。

图4 错误预测的点云模型实例Fig.4 Examples of mispredicted point cloud models

图5和图6分别给出了本文算法在ModelNet40数据集上模型识别准确率、训练误差与迭代次数的统计结果,其中,横坐标均为训练迭代次数,图5纵坐标为识别准确率,图6纵坐标为训练误差(彩图见期刊电子版)。阴影线表示原始迭代数据,橙色曲线表示经过平滑后的迭代结果。由图可见,在训练初期,随着迭代次数的增加,识别准确率逐渐提高,训练误差呈下降趋势,因为网络训练过程中不断优化参数,由卷积层学习到的特征对数据集中模型的描述准确度不断提高。当迭代次数达到40 000次时,识别准确率和训练误差趋于稳定,网络趋于收敛,说明网络中的参数已达到最优。图5和图6充分验证了本文网络具有在训练过程中能够不断提取三维模型的有效特征的能力。

图5 迭代次数与模型识别准确率的统计结果Fig.5 Statistical results of iteration times and model recognition accuracy

图6 迭代次数与训练误差的统计结果Fig.6 Statistical results of iteration times and training error

表4 ModelNet40数据集上每一类识别准确率的对比Tab.4 Comparison of per-class accuracy of object recognition on ModelNet40 dataset (%)

与此同时,为了继续探究本算法对于稀疏点云的鲁棒性,采用不同密度的数据集进行实验。由于ModelNet40数据集中的三维模型都是密度均匀的,为了得到密度不均匀的数据集,对数据集中的三维点云模型做以下预处理:首先采用随机输入丢弃策略以随机概率对输入点进行随机丢弃,即对输入的点云模型,以p(p≤1)的比例选择待丢弃点集,对于待丢弃点集中的每个点以概率q进行丢弃,为了避免空集,设置p=0.90,以此得到具有不同密度的点云模型,如图7左侧所示。分别将训练好的网络模型在密度不同的数据集进行测试,实验结果如图7右侧所示。其中,DP表示训练期间的输入点随机丢弃策略,SSG为每层集合抽象层中使用单一尺度分组的DCCNN网络。可以看出,随着点数的减少,SSG的识别准确率明显下降,原因在于SSG采用DDGCNN提取点云的局部深层几何特征,点数的减少破坏了局部几何结构。PointNet在点数减少时网络稳健性强于SSG,因为它专注于全局特征而不是精细局部细节,然而点数的减少也使其识别准确率明显下降。PointNet+DP(在训练期间采用输入点随机丢弃策略的PointNet)网络鲁棒性明显优于PointNet,因为在训练期间随机输入丢弃策略可以增强网络学习稀疏点云特征的能力。SSG+DP(在训练期间采用输入点随机丢弃策略的SSG)在测试期间点数从1 024减少到256时,识别准确率下降不到3%,原因在于随机输入丢弃策略增强了网络的鲁棒性,但随着点数减少到128时识别准确率明显下降。本文提出的密度自适应层MSG-RNN+DP(在训练期间采用输入点随机丢弃策略和多尺度分组RNN编码策略)对于点云密度变化非常稳健,从1 024个点减少到256个点时,MSG-RNN+DP的识别准确率下降不到1%。与其他方法相比,MSG-RNN+DP几乎在所有点云采样密度上都实现了最佳性能,展现了最好的鲁棒性。

3.4 三维模型语义分割实验结果分析

与三维目标识别相比,三维模型语义分割需要更精细地识别每个点的语义类别,所以是一项更具挑战性的任务。为了进一步分析本文算法处理三维点云细粒度任务的能力,在ShapeNet Part数据集上进行了语义分割实验,并与其他主流算法进行了对比,评价指标为文献[17]中采用的交并比(Intersection-over-Union, IoU),实验结果如表5和表6所示。

表5 不同算法在ShapeNet Part数据集上平均交并比的比较

Tab.5 Comparison of mIoU of different algorithms on ShapeNet Part dataset (%)

AlgorithmsAccuracyKd-Net[12]82.3PointNet[17]83.7PointNet++[18]85.1DGCNN [19]85.1Ours85.6

表6 不同算法在ShapeNet Part数据集上的各类别的交并比的比较Tab.6 Comparison of IoU of each category of different algorithms on ShapeNet Part dataset (%)

图8 ShapeNet Part数据集上语义分割模型可视化Fig.8 Visualization of semantic segmentation models on ShapeNet Part dataset

可以看出,本文算法以85.6%的mIoU获得了最好的语义分割性能。图8所示为C-DCCNN和PointNet在ShapeNet Part数据集上的语义分割可视化效果图,在第3列和第5列的错分结果可视化中,蓝色表示预测正确,红色表示预测错误(彩图见期刊电子版)。与PointNet相比,本算法的语义分割结果与标准分割结果高度一致,尤其细粒度细节处的分割准确率明显提升,如台灯(Lamp)柱身的底端、手枪(Pistol)的握柄处等,进一步验证了本文算法具有能够捕获点云深层细粒度几何特征的能力。

为了验证本文算法同样适用于大规模点云场景分析,在三维室内场景语义分割数据集S3DIS和户外自动驾驶实际场景的语义分割数据集vKITTI上分别对C-DCCNN进行了训练和测试,并与主流算法进行了对比,实验结果如表7和表8所示。可以看出,本文算法的分割准确率均优于其他主流算法。除了定量分析外,图9和图10分别展示了定性的语义分割模型可视化效果图。从图9中可以看出,C-DCCNN能够纠正PointNet预测错误的点,获得更准确的分割结果,并且挖掘了PointNet所遗漏的细粒度细节信息。例如,椅子(Chair)的腿在很大程度上得到了保留,门(Door)的预测也比PointNet更准确。事实上,门(Door)和墙(Wall)在几何形状上极其相似,但是本文算法有效结合了门的上下文位置信息(门框的特征),可以更好地预测门(Door)这一类别,进一步证明了MSG-RNN编码策略能够有效结合上下文几何信息的能力。从图10中可以看出,本文算法整体分割错误率相比于PointNet有所减少,尤其对于马路(Road)和地带(Terrain)这两类语义的分割准确性提高最为明显。原因在于地带(Terrain)和马路(Road)在几何形状上极其相似,区别在于地带(Terrain)中有树木(Tree),马路(Road)中没有树木(Tree),单纯提取马路(Road)和地带(Terrain)的几何特征很难区分这两类语义,需结合其上下文信息。由此进一步验证了本文算法具有提取上下文细粒度局部几何特征的能力。然而,本文算法对于同时存在上下文信息车(Car)的地带(Terrain)和马路(Road)识别混淆,可见本文算法对邻域上下文信息缺乏自适应筛选能力。

表7 S3DIS数据集上不同算法的分割准确率对比

Tab.7 Comparison of segmentation accuracy of different algorithms on S3DIS dataset (%)

AlgorithmmIoUOAPointNet [17]47.678.5MS+CU [25]47.879.2G+RCU [25]49.781.1PointNet++ [18]54.581.0DGCNN [19]56.184.1Ours58.386.0

表8 vKITTI数据集上不同算法的分割准确率对比

Tab.8 Comparison of segmentation accuracy of different algorithms on vKITTI dataset (%)

AlgorithmsOAmAccmIoUPointNet [17]79.747.034.4G+RCU [25]80.649.736.2Ours82.551.838.6

图9 S3DIS数据集上语义分割模型可视化Fig.9 Visualization of semantic segmentation models on S3DIS dataset

4 结 论

本文提出了一种基于深度级联卷积神经网络的三维目标识别和模型语义分割方法。通过构建深度动态图卷积神经网络作为深度级联卷积神经网络的子网络,对输入点集进行分层学习以捕捉点云的深层隐含细粒度几何特征。为了提高在非均匀采样点云上的特征学习能力,构建了MSG-RNN密度自适应层编码策略,可以根据局部点云密度利用RNN编码器自适应地聚合不同尺度的上下文几何信息,增强了网络的鲁棒性。实验结果表明,本文算法在三维目标识别数据集ModelNet40和ModelNet10上的识别准确率分别为91.9%,94.3%,在模型语义分割数据集ShapeNet Part,S3DIS,vKITTI上的mIoU分别为85.6%,58.3%,38.6%。在三维点云目标识别准确率、语义分割准确率和网络鲁棒性上都优于其他主流算法。实验中发现,本文算法对如何忽略次要干扰局部特征,只关注显著局部特征还存在改进的空间,这也是今后要继续研究的方向。

猜你喜欢
细粒度语义准确率
融合判别性与细粒度特征的抗遮挡红外目标跟踪算法
红外技术(2022年11期)2022-11-25 03:20:40
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
健康之家(2021年19期)2021-05-23 11:17:39
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
细粒度的流计算执行效率优化方法
高技术通讯(2021年1期)2021-03-29 02:29:24
2015—2017 年宁夏各天气预报参考产品质量检验分析
语言与语义
高速公路车牌识别标识站准确率验证法
基于双线性卷积网络的细粒度图像定位
支持细粒度权限控制且可搜索的PHR云服务系统
“上”与“下”语义的不对称性及其认知阐释
现代语文(2016年21期)2016-05-25 13:13:44