光学学报, 2019, 39 (4): 0415007, 网络出版: 2019-05-10   

基于深度体素卷积神经网络的三维模型识别分类 下载: 2743次

Recognition and Classification for Three-Dimensional Model Based on Deep Voxel Convolution Neural Network
杨军 1,*王顺 2周鹏 1
作者单位
1 兰州交通大学电子与信息工程学院, 甘肃 兰州 730070
2 兰州交通大学自动化与电气工程学院, 甘肃 兰州 730070
摘要
提出一种基于深度体素卷积神经网络的三维(3D)模型识别分类算法,该算法使用体素化技术将3D多边形网格模型转化为体素矩阵,并通过深度体素卷积神经网络提取该矩阵的深层特征,以增强特征的表达能力和差异性。在ModelNet40数据集上的实验结果表明:所提算法对3D网格模型识别分类的准确率能够达到87%左右。所构建的深度体素卷积神经网络能够有效地增强3D模型的特征提取和表达能力,提高对大规模复杂3D网格模型分类识别的准确率,所提方法优于当前的主流方法。
Abstract
An algorithm of recognition and classification of three-dimensional (3D) model based on deep voxel convolution neural network is proposed. The voxelization technology is used to transform 3D polygon mesh model into a voxel matrix, and the deep features of the matrix are extracted by the deep voxel convolution neural network to enhance the expressive ability and difference of the features. The experimental results on ModelNet40 dataset show that the accuracy of the algorithm can reach about 87% for recognizing and classifying 3D mesh model. The constructed deep voxel convolution neural network can effectively enhance the feature extraction and expression ability of 3D model, as well as improve the classification accuracy of large-scale complex 3D mesh models, which is better than the current mainstream methods.

1 引言

继数字声音、数字图像和数字视频之后,第4代多媒体数据类型——数字几何模型已经成为数字媒体技术新的发展趋势。而作为数字几何研究主体之一的三维(3D)模型正被广泛应用于工业设计、影视动画、计算机游戏、虚拟现实和分子生物学等领域。随着3D模型数据的急剧增长,对3D模型数字几何分析处理方法的研究变得越来越重要。其中的3D模型识别分类是一个重点研究,因为它在许多视觉系统中具有至关重要的意义,涵盖了自动驾驶、自动机器人等应用场景。实时定位与地图构建(SLAM)技术的应用、激光探测与测量(LiDAR)传感器,以及RGB-D相机的最新进展进一步促进了3D数据的实用性[1-5],并有效构建了3D模型的通用数据表示方法。目前,如何利用深度学习方法解决3D模型识别分类是现今机器视觉领域的重点研究方向。

作为深度学习的一种应用技术,卷积神经网络(CNN)可以自动提取对象特征,从而省去了人工提取特征的步骤。CNN是一种专门用于处理具有类似网状结构数据的神经网络,其最主要的特点是卷积操作运算,因此在诸多应用领域,特别是在处理与图像相关的任务(如图像分类、图像语义分割、图像检索、目标检测等计算机视觉问题)上表现优异。

随着CNN研究的深入,CNN的应用已从二维(2D)图像处理扩展到3D模型处理。然而,将用于处理规则采样的2D图像的CNN应用于一个由不规则多边形网格或点云建模的3D形状是一项具有挑战性的任务。例如,在2D图像中,每个像素都包含一个明确的位置和被分配的色彩数值,而3D模型则多由点云或多边形网格数据构成,这些数据仅对3D模型的表面形状进行描述。文献[ 6]提出了测地CNN(GCNN),通过定义一个基于极坐标的测地距离函数实现了对模型特征信息的提取,并通过滤波器系数对目标函数进行优化。然而,对于表面存在纹理特征的模型,该网络结构并不能通过训练得到理想的特征描述符。文献[ 7]通过把3D形状光栅转化为在密集体素上采样的距离函数,将3D形状转换为规则采样表示,并在整个3D体积上应用3D CNN。随着体素分辨率增加,存储器和计算成本增加,因此该方法对于高分辨率体素的计算开销非常大。文献[ 8-9]将卷积推广到非欧几里得空间,通过卷积核与非线性算子的堆叠形成深度CNN,并在此基础上构建3D网格数据的特征表示。其网络系数由最小化任务特定成本的学习过程确定,并最终用于建立形状之间的对应关系。这类方法要求将平滑的流形曲面作为输入,并且对噪声和模型失真较为敏感,这使得它们不适合用于非流形3D模型。

综上所述,CNN在3D模型数字几何分析任务中的应用越来越广泛,然而将3D多边形网格模型直接应用于CNN网络需要建立网格数据与深度学习网络之间复杂的对应关系,因此,直接利用CNN网络提取由多边形网格数据构成的3D模型的理想特征描述符,进而实现3D模型的识别分类任务将变得非常困难。本文提出了一种深度体素CNN,并用它来处理体素数据,以得到模型的深层特征信息,实现3D网格模型的识别分类。本研究的主要创新点和贡献有:1)在3D模型预处理阶段,使用体素化技术将3D多边形网格模型离散为规则二值化的3D体素数据,并且通过旋转因子将体素数据进行旋转扩充来有效增加训练集的数据量,从而在训练过程中有效增强网络的泛化能力,提高网络对不同方位3D模型的识别能力。2)在模型特征的提取过程中,使用堆叠小卷积核的深度CNN,以便更加有效地挖掘模型内部的隐含信息,提取体素矩阵的深层特征,增强特征的表达能力和差异性,提高大规模复杂3D模型分类识别的准确率。

2 相关研究工作

3D模型识别分类的关键问题是提取模型的特征描述符,然后通过比较其特征描述符的相似性来实现模型的识别分类。致力于计算机视觉研究领域的学者已经开发了许多用以表示3D模型的形状描述符,例如:由表面法线和曲率构成的直方图或特征袋(BoF)模型描述符[10],基于距离、角度、三角形区域或四面体体积的模型描述符[11],通过测量密集采样表面点来获取局部形状直径函数的描述符[12]。此外,还有热核签名描述符[13-14],以及将尺度不变特征变换(SIFT)和加速稳健特征(SURF)扩展到3D体素网格的描述符[15]。球谐函数描述符(SPH)[16]和光场描述符(LFD)[17]是最近流行的特征描述符,并在模型识别分类任务中有着良好的表现。SPH是基于球谐函数的数学工具,该方法的关键思想是根据模型在不同频率下包含的能量来描述球谐函数。由于这些函数值在旋转时不会改变,因此可以将旋转相关的球形和体素形状描述符转换为旋转不变的特征描述符,以提高模型的匹配性能。此外,它还降低了描述符的维度,提供了更加紧凑的模型特征描述符。LFD通过在光场中将相机均匀地布置在正十二面体的顶点位置上,从正十二面体上半部的不同视点渲染对象轮廓的10个特征图中提取几何和傅里叶描述符,该描述符对于模型平移、旋转、缩放、噪声等具有很强的稳健性。与近期采用深度学习提取特征的技术相比,以上特征在提取过程中需要建立复杂的数学模型,主要依靠设计者的先验知识,并且需要手工调节参数。此外,这些特征描述符由于特征之间的区分度不强,只能针对特定的问题,不能很好地适用于不同的领域,通用性较差。

2.5维(2.5D)深度传感器的广泛应用使得深度通道可用来提供模型深度附加信息,并用于常见的CNN体系结构中。文献[ 18]提出了一种融合彩色图像和视差图像的基于9层CNN的快速道路检测算法。该算法通过数据输入层预处理方法,将视差图变换为视差梯度图,以强化地面特征,降低对网络深度的要求。文献[ 19]将卷积和递归神经网络结合起来用于学习特征和对RGB-D图像进行分类。文献[ 20]提出了一种区域CNN(RCNN),并采用它对RGB-D图像进行识别检测,该算法除利用水平像差之外,还利用地心深度图像对地物高度进行编码,并对每个像素的重力角度进行编码。综合这些编码信息,利用CNN就可获得比使用原始深度图像更加有效的特征表示。文献[ 7]利用3D ShapeNets方法将2.5D深度图像处理为3D二进制体素网格,该算法是第一个将CNN应用于3D模型分析的方法。文献[ 21]提出了VoxNet,使用二进制体素网格和相应的3D CNN体系结构对3D模型进行数字几何分析。以上这些方法的优势在于它们可以处理不同来源的3D数据,包括LiDAR点云、RGB-D深度图和多边形网格数据模型,但计算开销会随着处理数据分辨率的提高而增加,而且对低分辨率模型的识别分类精度不高。

文献[ 22]提出了一种新的3D物体识别架构LonchaNet,它将3D点云数据投影到一个平面上,生成3个2D图像,然后将它们输入到神经网络中。该网络架构由3个独立的GoogLeNet分支组成,这些分支被激活连接,并被输入到完全连接的层,而且能学习切片的特定特征。该方法在3D形状识别分类中具有良好的表现,但是由于网络结构复杂,导致其泛化能力不强。文献[ 23]提出了一种对3D对象分类的深度学习框架。该框架使用多分支网络结构从3D对象中提取表面曲率、深度数据以及体素数据的不同表示,所有三种数据表示都被输入到多分支CNN中。每个分支处理不同的数据源,并通过使用逐渐降低分辨率的卷积层产生特征向量。提取的特征向量被输入到线性分类器中,组合后输出,获得最终的分类结果。但是该网络结构需要多种数据作为输入,而且数据处理过程繁琐复杂。

综上所述,CNN可以从原始数据中通过卷积、池化和非线性激活函数映射等一系列操作的层层堆叠,将高级语义信息逐层由原始数据输入层中抽取出来,最后生成一个有效的特征。本课题组在文献[ 7]的基础上,将3D体素数据作为输入,通过3D ShapeNets将CNN的应用从2D图像提升到3D模型,并结合文献[ 24]在3D ConvNets中通过堆叠使用小卷积核来提高识别准确度的思想,提出了一种处理分析体素数据的深度体素CNN(DVCNN)算法,旨在提高大规模、多类别、复杂3D模型的识别分类精度。首先,将3D多边形网格模型离散为规则二值化的3D体素数据,即用体素单元表示3D网格数据;然后通过深度体素CNN的卷积、池化等操作提取模型的深层特征,并使用Softmax分类器对模型进行分类预测。

3 多边形网格模型的体素化

多边形网格是计算机图形学中表示多面体形状的顶点与多边形的集合,这些网格通常是由三角形、四边形或其他简单的凸多边形组成的非结构网格。多边形网格组成的3D模型不仅渲染过程简单,而且可以很好地控制网格的密度,得到不同稀疏程度的模型。本研究提出采用深度体素CNN对网格模型进行识别分类。相对于传统的多边形网格表示,3D模型体素化的意义在于以体素的方式描述几何物体具有简单、稳定及不需要拓扑结构信息等特点,而且还可以将网格模型数据转化为规则信号表示,能够作为深度CNN的有效输入,从而有利于高效特征描述符的提取。

3.1 体素化

体素是体图形学中描述体模型的基本数据单元。体素化是指在保证精度的前提下,将由三角面片或其他边界形式组成的几何模型转化为离散的体素集合表示的过程。

本研究采用一种简单有效的体素化操作方法快速地对3D网格模型进行体素化。首先判断模型表面的体素化单元是否被标记,以实现模型的体素化,然后计算细分过程中所有网格细分顶点与体素单元的对应关系。为了建立网格细分采样顶点与体素的对应关系,需要通过刚性缩放变换将模型的实际尺寸转换至大小统一的轴对齐包围盒(AABB)。多边形网格模型顶点坐标的最小值和最大值分别记为(xmin,xmax)、(ymin,ymax)、(zmin,zmax),则所建立的模型AABB包围盒是以点(xmin,ymix,zmin)和点(xmax,ymax,zmax)为对角顶点构成的立方体。(xmin,ymix,zmin)为体素单元坐标系的原点,体素单元坐标系的坐标轴方向与原有坐标轴方向平行,将模型的AABB包围盒与X轴、Y轴、Z轴平行的边分别进行等距离平分。若等分过程中边长不足则向上取整。过等分点用垂直于等分边的平面将AABB包围盒分割成Nx×Ny×Nz个正方体。AABB包围盒沿X轴、Y轴、Z轴分割的行Nx、列Ny、层数Nz分别为

Nx=ceilxmax-xminLcu,(1)Ny=ceilymax-yminLcu,(2)Nz=ceilzmax-zminLcu,(3)

式中:Lcu为正方体体素单元的边长;ceil(·)为向上取整函数,用以保证体素单元的存储空间能够描述模型的AABB包围盒。通过(4)、(5)、(6)式可以计算坐标点(x,y,z)在体素存储空间中对应的体素单元,并将位于第Nro行、第Nco列、第Nla层的体素单元进行标记。NroNcoNla的表达式分别为

Nro=ceilx-xminLcu,(4)Nco=ceily-yminLcu,(5)Nla=ceilz-zminLcu(6)

由AABB求交运算可以得到这些坐标点能影响到的体素单元,将这些体素单元作为待判断是否被体素化的基本对象。体素单元的值被映射到集合{0,1}中,将被赋值为“1”的体素称为“黑色”或“非空”体素,而将被赋值为“0”的体素称为“白色”或“空”体素,这样就完成了对3D网格模型的体素化操作。为了能够使体素化处理的网格模型经卷积、池化等操作之后输出的特征图分辨率大小为偶数,并结合计算机的处理能力等因素,将多边形网格模型体素化至分辨率为32×32×32的体素矩阵中。图1为4个多边形网格模型的体素化结果。图1(a)为渲染后的4个3D模型,图1(b)为对应的3D网格模型,图1(c)是经过体素化处理后的体素模型。

图 1. 3D网格模型的体素化。(a)渲染后的模型;(b)网格模型;(c)体素模型

Fig. 1. Voxelization of 3D mesh models. (a) Rendered models; (b) mesh models; (c) voxelization models

下载图片 查看所有图片

文献[ 7]将3D形状光栅转化为在密集体素上采样的距离函数,将3D几何形状的深度图表示为2D变量在3D体素网格上的概率分布,从而完成体素化。文献[ 21]计算了射线对空间点云数据区域命中率与穿透率的比值,之后通过这一比值来判断该区域的点云覆盖概率,并将这一思想作为空间占用网格模型的计算依据;然后,采用3D射线对每个网格单元的命中状态和穿透状态进行计算,从而完成点云数据的体素化过程。与以上方法不同,本研究采用的体素化方法是将3D网格模型按照需要的体素分辨率进行网格划分,然后通过求交运算来判断模型的坐标点与网格是否有交集,得到坐标点所能影响到的体素单元,然后将这些体素单元进行渲染,最终完成体素化。

3.2 数据扩充

CNN自身拥有强大的表达能力,但网络本身需要大量甚至海量数据来驱动模型训练,否则便有极大可能陷入过拟合的窘境。实际上,并不是所有的数据集或真实任务都能提供像ImageNet数据集一样的海量训练样本,因此,数据扩充便成为深度学习模型训练的第一步。有效的数据扩充不仅能扩充训练样本的数量,还能增加训练样本的多样性,从而可以避免过拟合,同时也可以使机器学习模型拥有更强的泛化能力,提升学习模型的性能。数据扩充常用的简单方法有图像水平翻转、随机抠取、尺度变换和旋转等。文献[ 25]采用对体素施加随机变换的方法扩充数据,首先通过随机选择旋转角度、平移量以及比例参数对原始数据集进行随机增加,之后对其进行体素化。而所提方法则是将体素化后的3D网格模型按照特定的角度进行有规律的旋转,从而得到相应倍数的体素模型增强数据集。具体方法为:首先设置旋转角度θ来确定生成的模型旋转副本的个数n;然后通过旋转变换矩阵R将每个模型绕Z轴均匀旋转来为每个模型生成n个新的姿态,并将其增加到模型数据集中。旋转副本个数n与旋转变换的计算公式分别为

n=360°θ,(7)M'=R·M,(8)R=cosθ-sinθ0sinθcosθ0001,(9)

式中:M为源模型;M'为旋转后的目标模型副本。图2展示了数据集中马桶和椅子模型通过30°旋转后的数据扩充,每个模型生成了12个副本。

图 2. 3D模型的旋转数据扩充。(a)马桶模型;(b)椅子模型

Fig. 2. Data expansion of 3D models by rotation transformation. (a) Toilet models; (b) chair models

下载图片 查看所有图片

4 基于深度体素CNN的三维模型识别分类

对象识别分类的目标是将类别信息分配给每个对象,这是理解3D形状的基本任务。本研究提出了一种针对体素化模型的深度体素CNN,用以实现3D模型的识别分类任务。首先通过深度体素CNN提取体素模型的深层特征信息,然后通过Softmax分类器对提取到的特征信息进行概率计算,以实现对3D模型的识别分类。

4.1 基于卷积网络的三维模型深层特征的提取

CNN是第一个真正成功训练多层网络结构的深度学习算法,被广泛用于解决如何学习和提取图像数据的深层特征问题。其基本思想是将图像的局部感受野作为网络的输入,信息依次被传输到不同的层,并通过一个数字滤波器获取对平移、旋转和尺度变换具有不变性的显著特征。因为权值共享和池化可以大大减少模型参数的个数,所以将提取图像深层特征的2D CNN推广至3D的方法,可以被用来进行有效的3D数据的特征提取。

图3所示,2D CNN应用于图像上的2D卷积操作将输出一幅2D图像,而3D CNN在3D数据上进行卷积操作则会输出另外一个3D数据。在图3(a)中,HW分别为2D图像数据的高和宽,k为卷积核的大小;图3(b)中的HWL分别表示3D模型数据的高、宽和长,其中卷积核大小由2D中的k×k更改为k×k×dd<L表示卷积核的长度应小于3D模型的长度。图3(a)、(b)中的折线分别表示进行2D卷积操作和3D卷积操作时卷积核移动的方向。

图 3. 卷积操作。(a) 2D; (b) 3D

Fig. 3. Convolution operations. (a) 2D; (b) 3D

下载图片 查看所有图片

图4所示为本研究所构建的用于提取3D体素数据深层特征描述符的深度体素CNN结构,该结构共包含8个卷积层和4个池化层,网络的输入是分辨率大小为32×32×32的体素数据,输出为16384×1的列向量,即体素模型的深层特征。图中的Conv为卷积层,pool为池化层,FL为平整层。卷积层中的数字表示每层所拥有的卷积核个数,例如:Conv1a 32中的数字32表示第1层卷积核的个数为32,Conv4a 256中的数字256表示第4层卷积核的个数为256。平整层将经过处理后的特征图中的元素按照行的顺序进行排序,并将所有特征图中排列好的元素存储在一个列向量中。

图 4. CNN结构

Fig. 4. Structure of convolutional neural network

下载图片 查看所有图片

在DVCNN中,定义3D张量xlRHl×Wl×Ll为CNN第l层的输入,用三元组(il,jl,kl)来指示该张量对应第il行、第jl列、第kl层位置的元素,其中0≤il<Hl,0≤jl<Wl,0≤kl<Llxl经过第l层的操作处理后可得xl+1,为了书写方便,特将此简写为y,作为第l层对应的输出,即:y=xl+1RHl+1×Wl+1×Ll+1

在卷积层,第l层与可自学习的卷积核Ki,j,k进行卷积,卷积的结果经过非线性函数g(·)后生成这一层的特征图y,具体形式为

y=gi=0Hj=0Wk=0LKi,j,kxil,jl,kll+bi,j,k,(10)

式中:􀱋为卷积运算;bi,j,k为偏置;卷积核Ki,j,k可与前一层的一个或者多个特征图进行卷积运算。常用的非线性激活函数通常包括双曲正切函数、Sigmoid函数和修正线性单元(ReLU),它们分别表示为

gT(x)=tanh(x),(11)gS(x)=1[1+exp(-x)],(12)gR(x)=max(0,x)=x,ifx00,ifx<0(13)

相比于双曲正切函数和Sigmoid函数,ReLU能够有效提高训练效率[26]。本研究使用ReLU作为网络的激活函数。卷积层每层生成的特征图大小可表示为

Fml+1=Fml+2×Pl-Klλ+1,(14)

式中: Fml+1为第l+1层特征图的大小; Fml为第l层特征图的大小;Kl为第l层卷积核的大小;λ为卷积核移动的步长;Pl为在进行卷积运算时对前一层特征图边缘填充补零的列数。在本研究中,卷积层采用的卷积核大小均为3×3×3,步长为1,填充补零列数为1,该参数设置可以保证在每层卷积运算完成之后,前一层特征图的大小与当前层特征图的大小一致。通过堆叠使用3×3×3大小的卷积核,可以提取到更深层次的特征信息。

在池化层,本研究采用最大值池化操作。在每次运算时,将池化核覆盖区域中所有值的最大值作为池化结果,即

y=max(xil,jl,kll+bi,j,k),(15)

式中:max(·)为取最大值操作。池化层没有需要学习的参数,使用时只需指定池化类型、池化核大小以及池化操作的步长。池化操作一方面可以增强特征不变性,使网络更关注是否存在某些特征而不是特征的具体位置;另一方面,由于池化的降采样作用,相当于在空间范围内做了维度约减,从而使网络可以抽取更广范围的特征,同时减少了下一层输入的大小,进而减小计算量和减少参数个数。本研究采用的池化核大小为2×2×2,池化步长为2,该参数设置可以使每次池化后的特征图的大小缩减为原来的1/2。

平整层将之前卷积层和池化层提取的特征图进行向量化,使之呈列向量的形式,即把多维输入一维化。通过卷积和池化操作将大小为32×32×32的体素数据运算为256个4×4×4大小的特征图,经过平整层之后变为一个16384×1的列向量,即为算法最终提取到的体素模型数据的深层特征信息。

4.2 基于Softmax分类器的三维模型分类

为了执行3D模型识别分类这一任务,需要将CNN提取的3D模型特征进行概率计算,因此在平整层之后还应该连接全连接层(FC)。全连接层可以将学习到的特征表示映射到样本的标记空间中。图5所示为3D模型识别分类的示意图,设计了两个全连接层、两个dropout层和一个Softmax层。

图 5. 3D模型识别分类示意图

Fig. 5. Schematic of 3D model recognition and classification

下载图片 查看所有图片

图5中,FC为全连接层,第一个全连接层包含了128个神经元,第二个全连接层包含了C个神经元,C为3D模型识别分类任务的类别数。dropout层可以缓解神经元之间复杂的协同适应,降低神经元的依赖,避免网络发生过拟合。此外,dropout层还可以降低模型的复杂度,增强模型的泛化能力,显著降低运算量。将隐含节点的dropout丢弃率设置为0.5,主要因为在该参数下dropout随机生成的网络结构最多,此时带来的效果也最好。在训练阶段,对于某层的神经元以概率p随机将该神经元权重置0,测试阶段所有神经元均呈激活状态,但其权重需乘以(1-p)来保证训练和测试阶段各自的权重拥有相同的期望。

Softmax在机器学习和深度学习中有着非常广泛的应用,尤其是在处理多分类问题时,分类器最后的输出单元需要用Softmax函数进行数值处理,将多分类的输出数值转化为相对概率。Softmax函数的定义为

Si=exp(vi)i=1Cexp(vi),(16)

式中:vi为分类器前级输出单元的输出,其中的i为类别索引标号;Si为分类器前级输出单元输出元素的指数与所有元素指数之和的比值。

使用交叉熵损失函数作为分类目标函数,其又称为Softmax损失函数,定义为

lCEL=-1mj=1mlnexp(vyj)i=1Cexp(vi),(17)

式中:m为训练样本集中样本的个数;yj为网络的输入样本;j为输入的样本标号; vyj为分类器前级输出单元对应的输入样本的真实分类值。得到目标函数之后使用误差反向传播(BP)算法对参数权重进行调节优化。

5 实验结果与分析

本算法的实验环境为Linux Ubuntu 16.04操作系统,硬件环境为Intel Xeon E5-2620 v4 CPU和NVIDIA Quadro M4000 GPU(8 GB内存)处理器,编程开发环境为CUDA-Toolkit 8.0,编程语言为Python 2.7,机器学习框架为Theano。

5.1 实验数据集

本研究选用ModelNet数据集进行实验,该数据集中包括来自622类的127915个3D模型,其子集ModelNet10数据集包括10类4899个3D模型,子集ModelNet40数据集包括40类12311个3D模型。由于实验中选用的网络需要大量的数据进行训练,因此选用ModelNet40数据集进行实验。

在进行神经网络训练前需要对模型数据进行预处理,一方面采用2.1节所述方法将3D网格模型体素化至32×32×32分辨率的体素单元中;另一方面通过2.2节所述方法将体素化后的网格模型进行旋转变换来扩充训练数据集,实验中选择4个旋转角度,分别为120°、60°、40°、30°,从而可以获得3倍、6倍、9倍、12倍的4个增强数据集。

5.2 神经网络参数设置与性能评价

实验中使用的网络结构如第4节所示。通过基于动量的随机梯度下降(SGD)来优化网络,设置动量因子为0.9,权重衰减为0.0005,初始学习率为0.001,学习衰减率为0.01,dropout丢弃率为0.5。使用随机初始化方式初始化网络参数,随机参数均服从均值为0,方差为1的标准高斯分布。训练结束后将得到的网络超参数固定在深度CNN当中,并将测试数据集在3D模型识别分类任务中进行测试。3D模型识别分类性能指标选择准确率,其定义为

Racc=ScSc+Se×100%,(18)

式中:Sc为被正确分类的样本个数;Se为被错误分类的样本个数。

5.3 实验结果与分析

为验证训练数据集样本个数对网络的影响,本研究分别在无旋转、旋转120°、旋转60°、旋转40°和旋转30°等5个扩充数据集上分别对网络性能进行训练并测试,实验结果如表1所示。可以看出:随着旋转角度减小,3D模型识别分类的准确率逐渐增大。也就是说,3D模型识别分类的准确率随训练数据集样本个数的增多而增加,因为更多的训练样本增加了训练样本的多样性,使得网络可以学习更多的模型特征。此外,从表1中的数据还可以看出,旋

表 1. 不同旋转角度扩充数据集中3D模型识别分类的准确率

Table 1. Accuracy rate for recognition and classification of 3D models in expanded dataset with different rotation angles

Rotation angle /(°)Accuracy rate /%
070.6
12077.1
6083.5
4087.1
3087.7

查看所有表

转40°扩充的9倍数据集与旋转30°扩充的12倍数据集的模型识别分类准确率相差在1%之内。原因在于,随着旋转角度的减小,通过旋转变换扩充的数据集获得的模型间差异会越来越小,网络能够提取到的有效特征信息也会越来越少,因此通过旋转变换获得的扩充数据集对模型识别分类准确率带来的提高也会逐步收敛。

此外,还探究了卷积核大小对模型性能的影响。表2为网络结构中采用大小为3×3×3的卷积核与5×5×5的卷积核的实验结果,实验中均采用旋转30°扩充的数据集进行网络训练。可以看出:通过使用堆叠多个3×3×3卷积核的模型分类识别的准确率高于使用5×5×5卷积核的结果。因为小卷积核卷积层与非线性激活层交替的结构,比大卷积核卷积层的结构更能提取出深层的特征。其次,小卷积核加深了网络深度,进而增大了网络容量和复杂度,同时减少了参数个数。唯一的不足是,在进行反向传播时,中间的卷积层可能会导致占用更多的内存。

表 2. 不同尺寸卷积核下3D模型识别分类的准确率

Table 2. Accuracy rate for recognition and classification of 3D models obtained at different sizes of convolution kernel

Kernel sizeAccuracy rate /%
5×5×584.3
3×3×387.7

查看所有表

此外,本课题组还探究了体素分辨率对识别分类准确率的影响。在采用12倍增强数据集以及3×3×3卷积核参数条件下对不同分辨率的体素模型进行实验。表3是分辨率为24×24×24和32×32×32的对比实验结果,可以看出:3D模型识别分辨率的准确率随着体素模型分辨率的增加而增大,因为高分辨率的体素模型更能还原3D模型的真实面貌,但其计算时间会随之增加。

表 3. 不同分辨率下3D模型识别分类的准确率

Table 3. Accuracy rate for recognition and classification of 3D models obtained at different resolutions

ResolutionRecognition accuracy rate /%
24×24×2481.1
32×32×3287.7

查看所有表

为了验证所提算法的优越性,将其分别与文献[ 15]、文献[ 16]和文献[ 7]中采用的主流算法在ModelNet40数据集上比较了对3D模型识别分类的准确率。文献[ 15]和文献[ 16]采用的是传统人工特征描述符,即SPH和LFD。SPH采用基于球谐函数的替代方法,可以获得旋转不变的特征描述符,从而可以提高匹配性能。LFD从几个不同视点渲染的对象轮廓中提取几何和傅里叶描述符,并且可以直接应用于形状分类任务。文献[ 7]提出了3D ShapeNets神经网络,该网络是一个具有5层结构的CNN。通过深度卷积置信网络提取体素矩阵的特征,根据输入数据的标签与网络预测标签的联合分布进行模型的识别分类。本研究堆叠使用小卷积核的卷积层,在减少网络参数的同时增加了网络容量,网络的深度达到了10层,可以挖掘3D模型更多内在的隐含信息,提取更加有效的深层特征,从而提高了模型识别分类的准确率。从表4中数据可以看出,所提算法明显优于其他几种算法。

表 4. 不同算法下3D模型识别分类的准确率

Table 4. Accuracy rate for recognition and classification of 3D models obtained with different algorithms

AlgorithmRecognition accuracy rate /%
SPH[15]68.2
LFD[16]75.5
3D ShapeNets[7]77.3
Proposed algorithm87.7

查看所有表

图6为深度体素CNN对ModelNet40数据集中部分模型进行识别分类的结果。其中:Instance表示模型在测试数据集中的位置,包含了模型的类别和序号;Predicted label为模型的预测标签;True label为模型的真实标签。若True label与Predicted label一致,则表明识别分类为正确,否则认为识别分类错误。图中用方框标识了错误的识别分类结果。识别分类错误的原因在于体素数据只能表示真实网格模型的近似模样,对于比较相像的两个体素模型则会出现识别分类错误的情况。

图 6. 3D模型识别分类结果

Fig. 6. Recognition and classification for 3D models

下载图片 查看所有图片

6 结论

3D模型识别分类问题是计算机图形学和计算机视觉领域的一个重要研究课题,更是一个难点问题。本研究提出了一种基于深度体素CNN的3D模型分类识别算法。首先使用体素化技术将3D网格模型离散为规则的体素单元,然后通过深度体素CNN提取体素模型的深层特征,充分利用神经网络的学习能力实现对3D模型精确识别分类的目的。在ModelNet40数据集上,所提算法通过深度体素CNN学习模型分类任务的深层特征,使得3D模型的识别分类准确率达到了87.7%。然而,所提算法仍存在改进的空间。一方面,体素分辨率的大小对识别分类结果具有重要影响,但是高分辨率的体素数据会耗费大量的计算成本,因此可以采用更加高效的数据结构来降低网络计算量;另一方面,深度CNN的结构也会影响3D模型识别分类的准确率。因此,在网络结构上仍需要进一步探索,这也是今后需要继续研究的问题。

参考文献

[1] SilbermanN, HoiemD, KohliP, et al. Indoor segmentation and support inference from RGBD images[M] ∥Silberman N, Hoiem D, Kohli P, et al. Heidelberg: Computer Vision-ECCV 2012, Springer, 2012: 746- 760.

    SilbermanN, HoiemD, KohliP, et al. Indoor segmentation and support inference from RGBD images[M] ∥Silberman N, Hoiem D, Kohli P, et al. Heidelberg: Computer Vision-ECCV 2012, Springer, 2012: 746- 760.

[2] Xiao JX, OwensA, TorralbaA. SUN3D: a database of big spaces reconstructed using SfM and object labels[C]. Sydney: 2013 IEEE International Conference on Computer Vision, 2013: 1625- 1632.

    Xiao JX, OwensA, TorralbaA. SUN3D: a database of big spaces reconstructed using SfM and object labels[C]. Sydney: 2013 IEEE International Conference on Computer Vision, 2013: 1625- 1632.

[3] Song SR, Lichtenberg SP, Xiao JX. SUN RGB-D: a RGB-D scene understanding benchmark suite[C]. 2015 IEEE Conference on Computer Vision and Pattern Recognition, 2015: 567- 576.

    Song SR, Lichtenberg SP, Xiao JX. SUN RGB-D: a RGB-D scene understanding benchmark suite[C]. 2015 IEEE Conference on Computer Vision and Pattern Recognition, 2015: 567- 576.

[4] Chang A X, Funkhouser T, Guibas L, et al. ShapeNet: an information-rich 3D model repository[J]. Computer Science, 2015, 1512: 3-12.

    Chang A X, Funkhouser T, Guibas L, et al. ShapeNet: an information-rich 3D model repository[J]. Computer Science, 2015, 1512: 3-12.

[5] 曲磊, 王康如, 陈利利, 等. 基于RGBD图像和卷积神经网络的快速道路检测[J]. 光学学报, 2017, 37(10): 1010003.

    曲磊, 王康如, 陈利利, 等. 基于RGBD图像和卷积神经网络的快速道路检测[J]. 光学学报, 2017, 37(10): 1010003.

    Qu L, Wang K R, Chen L L, et al. Fast road detection based on RGBD images and convolutional neural network[J]. Acta Optica Sinica, 2017, 37(10): 1010003.

    Qu L, Wang K R, Chen L L, et al. Fast road detection based on RGBD images and convolutional neural network[J]. Acta Optica Sinica, 2017, 37(10): 1010003.

[6] MasciJ, BoscainiD, Bronstein MM, et al. Geodesic convolutional neural networks on Riemannian manifolds[C]. 2015 IEEE International Conference on Computer Vision Workshop, 2015: 832- 840.

    MasciJ, BoscainiD, Bronstein MM, et al. Geodesic convolutional neural networks on Riemannian manifolds[C]. 2015 IEEE International Conference on Computer Vision Workshop, 2015: 832- 840.

[7] Wu ZR, Song SR, KhoslaA, et al. 3D ShapeNets: a deep representation for volumetric shapes[C]. Boston: 2015 IEEE Conference on Computer Vision and Pattern Recognition, 2015: 1912- 1920.

    Wu ZR, Song SR, KhoslaA, et al. 3D ShapeNets: a deep representation for volumetric shapes[C]. Boston: 2015 IEEE Conference on Computer Vision and Pattern Recognition, 2015: 1912- 1920.

[8] BoscainiD, MasciJ, RodolàE, et al. Learning shape correspondence with anisotropic convolutional neural networks[C]. Proceedings of the 30th International Conference on Neural Information Processing Systems, 2016: 3197- 3205.

    BoscainiD, MasciJ, RodolàE, et al. Learning shape correspondence with anisotropic convolutional neural networks[C]. Proceedings of the 30th International Conference on Neural Information Processing Systems, 2016: 3197- 3205.

[9] Boscaini D, Masci J, Melzi S, et al. Learning class-specific descriptors for deformable shapes using localized spectral convolutional networks[J]. Computer Graphics Forum, 2015, 34(5): 13-23.

    Boscaini D, Masci J, Melzi S, et al. Learning class-specific descriptors for deformable shapes using localized spectral convolutional networks[J]. Computer Graphics Forum, 2015, 34(5): 13-23.

[10] Bronstein A M, Bronstein M M, Guibas L J, et al. Shape google[J]. ACM Transactions on Graphics, 2011, 30(1): 1-20.

    Bronstein A M, Bronstein M M, Guibas L J, et al. Shape google[J]. ACM Transactions on Graphics, 2011, 30(1): 1-20.

[11] Osada R, Funkhouser T, Chazelle B, et al. Shape distributions[J]. ACM Transactions on Graphics, 2002, 21(4): 807-832.

    Osada R, Funkhouser T, Chazelle B, et al. Shape distributions[J]. ACM Transactions on Graphics, 2002, 21(4): 807-832.

[12] ChaudhuriS, KoltunV. Data-driven suggestions for creativity support in 3D modeling[C]. ACM Transactions on Graphics, 2010: 183- 191.

    ChaudhuriS, KoltunV. Data-driven suggestions for creativity support in 3D modeling[C]. ACM Transactions on Graphics, 2010: 183- 191.

[13] Sun J, Ovsjanikov M. GuibasL. A concise and provably informative multi-scale signature based on heat diffusion[J]. Computer Graphics Forum, 2009, 28(5): 1383-1392.

    Sun J, Ovsjanikov M. GuibasL. A concise and provably informative multi-scale signature based on heat diffusion[J]. Computer Graphics Forum, 2009, 28(5): 1383-1392.

[14] Bronstein MM, KokkinosI. Scale-invariant heat kernel signatures for non-rigid shape recognition[C]. 2010 IEEE Computer Society Conference on Computer Vision and Pattern Recognition, San Francisco, 2010: 1704- 1711.

    Bronstein MM, KokkinosI. Scale-invariant heat kernel signatures for non-rigid shape recognition[C]. 2010 IEEE Computer Society Conference on Computer Vision and Pattern Recognition, San Francisco, 2010: 1704- 1711.

[15] KnoppJ, PrasadM, WillemsG, et al. Hough transform and 3D SURF for robust three dimensional classification[M] ∥Knopp J, Prasad M, Willems G, et al. Heidelberg: Springer, 2010: 589- 602.

    KnoppJ, PrasadM, WillemsG, et al. Hough transform and 3D SURF for robust three dimensional classification[M] ∥Knopp J, Prasad M, Willems G, et al. Heidelberg: Springer, 2010: 589- 602.

[16] KazhdanM, FunkhouserT, RusinkiewiczS. Rotation invariant spherical harmonic representation of 3D shape descriptors[C]. Proceedings of the 2003 Eurographics/ACM SIGGRAPH Symposium on Geometry Processing, 2003: 156- 164.

    KazhdanM, FunkhouserT, RusinkiewiczS. Rotation invariant spherical harmonic representation of 3D shape descriptors[C]. Proceedings of the 2003 Eurographics/ACM SIGGRAPH Symposium on Geometry Processing, 2003: 156- 164.

[17] Chen D Y, Tian X P, Shen Y T, et al. On visual similarity based 3D model retrieval[J]. Computer Graphics Forum, 2003, 22(3): 223-232.

    Chen D Y, Tian X P, Shen Y T, et al. On visual similarity based 3D model retrieval[J]. Computer Graphics Forum, 2003, 22(3): 223-232.

[18] 肖进胜, 刘恩雨, 朱力, 等. 改进的基于卷积神经网络的图像超分辨率算法[J]. 光学学报, 2017, 37(3): 0318011.

    肖进胜, 刘恩雨, 朱力, 等. 改进的基于卷积神经网络的图像超分辨率算法[J]. 光学学报, 2017, 37(3): 0318011.

    Xiao J S, Liu E Y, Zhu L, et al. Improved image super-resolution algorithm based on convolutional neural network[J]. Acta Optica Sinica, 2017, 37(3): 0318011.

    Xiao J S, Liu E Y, Zhu L, et al. Improved image super-resolution algorithm based on convolutional neural network[J]. Acta Optica Sinica, 2017, 37(3): 0318011.

[19] He MY, LiB, Chen HH. Multi-scale 3D deep convolutional neural network for hyperspectral image classification[C]. 2017 IEEE International Conference on Image Processing, 2017: 3904- 3908.

    He MY, LiB, Chen HH. Multi-scale 3D deep convolutional neural network for hyperspectral image classification[C]. 2017 IEEE International Conference on Image Processing, 2017: 3904- 3908.

[20] GuptaS, GirshickR, ArbeláezP, et al.Learning rich features from RGB-D images for object detection and segmentation[M] ∥Gupta S, Girshick R, Arbeláez P, et al. [S.l.]: Springer International Publishing, 2014: 345- 360.

    GuptaS, GirshickR, ArbeláezP, et al.Learning rich features from RGB-D images for object detection and segmentation[M] ∥Gupta S, Girshick R, Arbeláez P, et al. [S.l.]: Springer International Publishing, 2014: 345- 360.

[21] MaturanaD, SchererS. VoxNet: a 3D convolutional neural network for real-time object recognition[C]. 2015 IEEE/RSJ International Conference on Intelligent Robots and Systems, Hamburg, 2015: 922- 928.

    MaturanaD, SchererS. VoxNet: a 3D convolutional neural network for real-time object recognition[C]. 2015 IEEE/RSJ International Conference on Intelligent Robots and Systems, Hamburg, 2015: 922- 928.

[22] Gomez-DonosoF, Garcia-GarciaA, Garcia-RodriguezJ, et al. LonchaNet: a sliced-based CNN architecture for real-time 3D object recognition[C]. 2017 International Joint Conference on Neural Networks, 2017: 412- 418.

    Gomez-DonosoF, Garcia-GarciaA, Garcia-RodriguezJ, et al. LonchaNet: a sliced-based CNN architecture for real-time 3D object recognition[C]. 2017 International Joint Conference on Neural Networks, 2017: 412- 418.

[23] MintoL, ZanuttighP, PagnuttiG. Deep learning for 3D shape classification based on volumetric density and surface approximation clues[C]. International Conference on Computer Vision Theory and Applications, 2018: 317- 324.

    MintoL, ZanuttighP, PagnuttiG. Deep learning for 3D shape classification based on volumetric density and surface approximation clues[C]. International Conference on Computer Vision Theory and Applications, 2018: 317- 324.

[24] Tran D, Bourdev L, Fergus R, et al. C3D: generic features for video analysis[J]. Eprint Arxiv, 2014, 2(7): 8-17.

    Tran D, Bourdev L, Fergus R, et al. C3D: generic features for video analysis[J]. Eprint Arxiv, 2014, 2(7): 8-17.

[25] Gwak JY. 3D model classification using convolutional neural network[R]. [S.l.]:Stanford University, 2016.

    Gwak JY. 3D model classification using convolutional neural network[R]. [S.l.]:Stanford University, 2016.

[26] NairV, Hinton GE. Rectified linear units improve restricted Boltzmann machines[C]. International Conference on International Conference on Machine Learning, 2010: 807- 814.

    NairV, Hinton GE. Rectified linear units improve restricted Boltzmann machines[C]. International Conference on International Conference on Machine Learning, 2010: 807- 814.

杨军, 王顺, 周鹏. 基于深度体素卷积神经网络的三维模型识别分类[J]. 光学学报, 2019, 39(4): 0415007. Jun Yang, Shun Wang, Peng Zhou. Recognition and Classification for Three-Dimensional Model Based on Deep Voxel Convolution Neural Network[J]. Acta Optica Sinica, 2019, 39(4): 0415007.

本文已被 4 篇论文引用
被引统计数据来源于中国光学期刊网
引用该论文: TXT   |   EndNote

相关论文

加载中...

关于本站 Cookie 的使用提示

中国光学期刊网使用基于 cookie 的技术来更好地为您提供各项服务,点击此处了解我们的隐私策略。 如您需继续使用本网站,请您授权我们使用本地 cookie 来保存部分信息。
全站搜索
您最值得信赖的光电行业旗舰网络服务平台!