Print

发布时间: 2019-10-16
摘要点击次数:
全文下载次数:
DOI: 10.11834/jig.180680
2019 | Volume 24 | Number 10




    图像分析和识别    




  <<上一篇 




  下一篇>> 





感知器残差网络和超限学习机融合的3D物体识别
expand article info 黄强1, 王永雄1,2
1. 上海理工大学光电信息与计算机工程学院, 上海 200093;
2. 上海康复器械工程技术研究中心, 上海 200093

摘要

目的 随着3D扫描技术和虚拟现实技术的发展,真实物体的3D识别方法已经成为研究的热点之一。针对现有基于深度学习的方法训练时间长,识别效果不理想等问题,提出了一种结合感知器残差网络和超限学习机(ELM)的3D物体识别方法。方法 以超限学习机的框架为基础,使用多层感知器残差网络学习3D物体的多视角投影特征,并利用提取的特征数据和已知的标签数据同时训练了ELM分类层、K最近邻(KNN)分类层和支持向量机(SVM)分类层识别3D物体。网络使用增加了多层感知器的卷积层替代传统的卷积层。卷积网络由改进的残差单元组成,包含多个卷积核个数恒定的并行残差通道,用于拟合不同数学形式的残差项函数。网络中半数卷积核参数和感知器参数以高斯分布随机产生,其余通过训练寻优得到。结果 提出的方法在普林斯顿3D模型数据集上达到了94.18%的准确率,在2D的NORB数据集上达到了97.46%的准确率。该算法在两个国际标准数据集中均取得了当前最好的效果。同时,使用超限学习机框架使得本文算法的训练时间比基于深度学习的方法减少了3个数量级。结论 本文提出了一种使用多视角图识别3D物体的方法,实验表明该方法比现有的ELM方法和深度学习等最新方法的识别率更高,抗干扰性更强,并且其调节参数少,收敛速度快。

关键词

多层感知器残差网络; 多通道分类器; 超限学习机; 3D物体识别; 特征提取

3D object recognition combining perceptron residual network and extreme learning machine
expand article info Huang Qiang1, Wang Yongxiong1,2
1. School of Optical Electrical and Computer Engineering, University of Shanghai for Science and Technology, Shanghai 200093, China;
2. Shanghai Engineering Research Center of Assistive Devices, Shanghai 200093, China
Supported by: National Natural Science Foundation of China (61673276)

Abstract

Objective With the development of 3D scanning technology and virtual reality technology, the 3D recognition method for actual objects has become a major research topic. It is also one of the most challenging tasks in understanding natural scenes. Recognizing objects by taking photos on a smartphone has been widely used because 2D images are relatively easy to acquire and process. Recent advances in real-time SLAM and laser scanning technology have contributed to the availability of 3D models of actual objects. There is a great need for the effective methods to process 3D models and further recognize the corresponding 3D objects or 3D scenes. Some studies have attempted to use image-based methods to obtain 3D features through deep convolutional neural networks, and they have high memory efficiency. Other studies have used point-set methods or volume-based methods. The input forms of these methods are closer to the structure of the actual objects, and accordingly, the networks become more complicated and require huge computing resources. These studies have made some progress. However, the accuracy and real-time performance of 3D object recognition must still be improved. To deal with this problem, this study proposes a new 3D object recognition model that combines the perceptron residual network and the extreme learning machine (ELM). Method This model uses the proposed multi-layer perceptron residual network to learn the multi-view projection features of 3D objects on the basis of the framework of the extreme learning machine. The network model also uses a multi-channel integrated classifier composed of extreme learning machine, K-nearest neighbor (KNN), and support vector machine (SVM) to identify 3D objects. This study is not just stacking various classifiers, which has a huge risk of overfitting. After obtaining the prediction output vector of ELM, the difference $e$ between the first and the second largest probability value is calculated. When the difference is small, it indicates that the two corresponding categories are both close to the real category, and the current classifier has a high probability of classification error. The other two classifiers are used for classification. Without loss of precision, we use the comparison of the difference $e$ with the threshold $T$ to avoid using multiple classifiers at a time. Unlike AdaBoost, in most cases, the network only uses one classifier. To increase the nonlinearity of the low-level network, we use a convolutional layer with a multi-layer perceptron instead of the traditional convolutional layer. The convolutional network consists of the proposed improved residual unit. This unit contains multiple parallel residual channels with a constant number of convolution kernels, which can be fitted to residual functions of different mathematical forms, wherein convolution kernel parameters of the same size are shared. Different from the traditional extreme learning machine, half of the convolution kernel parameters and perceptron parameters in the network are randomly generated by Gaussian distribution, and the remaining parameters are obtained through training optimization. The extracted feature data and the known label data are used to train the extreme learning machine classification layer, KNN classification layer, and SVM classification layer. A confidence threshold is set at the output layer to allow the network to select whether to use the KNN classifier and the SVM classifier, and the voting mechanism is used to select the output class of our network. Result The proposed method achieves 94.18% accuracy on the Princeton 3D model dataset and 97.46% accuracy on the NORB 2D image dataset. The Princeton 3D model dataset is the currently widely used benchmark dataset for validating 3D object recognition. The 3D model in this dataset contains common furniture, vehicles, musical instruments, and electronics. The NORB dataset is one of the most commonly used image datasets. Our method has achieved the best results in the two benchmark datasets. In the framework of extreme learning machine, the training time of the proposed algorithm is reduced by three orders of magnitude compared with the training time of other deep learning methods. This approach is suitable for practical applications. In addition, we verify the effects of different parameters on recognition performance, such as the number of projected views, the number of residual channels, and the confidence threshold T of the classification layer. Conclusion Experiments show that the proposed method has higher recognition accuracy and stronger anti-interference than existing ELM methods and deep learning methods. It has less adjustment parameters and faster convergence. The proposed network is suitable for 3D object recognition and common image recognition. This study explores a network that can deal with high-dimensional data with low complexity, and experiments demonstrate that the performance of this network is excellent.

Key words

multi-layer perceptron residual network; multi-channel classifier; extreme learning machine (ELM); 3D object recognition; feature extraction

0 引言

随着3D扫描技术和虚拟现实技术的发展,真实物体的3维模型的质量不断提高。如何对大量的3D视觉模型进行分析和理解,更好地识别现实物体、理解真实场景,是当前研究的热点之一。

提取视觉模型的3维特征是3D物体识别的关键。传统的人工设计的3维特征在3D模型分类中取得了一些成果,例如拓扑特征[1]、部分级特征[2]、几何不变性特征[3]等。但是提取这些特征较为繁琐,并且很难从海量的真实物体的模型中直接获取[4]

近年来,有很多方法使用深度卷积网络来提取3D模型的内部特征,取得了一些成果。Wu等人[5]提出了用于学习3维立体特征的深度卷积网络3D shapenets。Leng等人[6]提出了基于深度玻尔兹曼机的3D物体识别方法。Arvind等人[7]提出了使用残差网络识别3D物体的模型。Xie等人[8]提出了一种基于深度卷积能量模型的3D物体识别方法。这些方法大都是在图像分割和图像识别的网络基础上,使用更复杂的网络结构提取3D特征,它们往往耗时很长,实时性较差,识别率也没有达到期望值。

另一种做法是将一个3D模型看做是一系列2D视角投影图的集合。将输入的3D物体立体模型替换为不同视角的投影图像集。这种方式可以降低训练数据的维度,只保留关键特征,增强了稀疏性。而且传统的卷积神经网络更适合处理2维图像数据。Chen等人[9]提出了LFD (light field descriptor)算法,使用不同的2D投影来描述3D模型的轮廓特征。Xie等人[10]提出了MVD-ELM (multi-view deep extreme learning machine)算法,将3D物体的多视角图作为输入,并在3D物体分类中首次引入了超限学习机(ELM)[11]网络。Wang等人[12]提出了CAE-ELM (convolutional auto encoder extreme learning machine)网络,在MVD-ELM基础上增加了自编码器。这些方法取得了一定的突破,但是由于3D物体的多个不同视角图包含的特征信息太多,3D物体识别的准确率和实时性仍然有待提高。

超限学习机的训练速度快,与其他网络的结合性好,在很多领域中均有较好的应用。Luo等人[13]将人脸识别中的稀疏表示分类算法与ELM结合,进一步提高了ELM的分类性能。

残差网络(ResNet)[14]在ImageNet、ILSVRC、COCO等大规模图像数据集的分类任务中表现优异,并且它将深度学习的网络结构最多增加到了1 000多层。残差网络单元增加了恒等映射的快捷连接,这种连接方式在一定程度上解决了梯度消失和梯度爆炸的问题。

NIN (network in network)[15]网络首次改进了传统卷积神经网络中的卷积层,使用多层感知器卷积层替代线性卷积层,增加了卷积网络的非线性。此外,NIN中将全连接分类层替换为全局池化层,极大地减少了参数量。

本文使用NIN中的多层感知器卷积层,并尝试将改进的残差单元和ELM网络进行结合,用于3D物体分类。残差单元利用恒等映射将优化目标变成一个容易优化的残差项函数。基本的残差单元都是2个或3个卷积核加上一个恒等映射的快捷连接。对于层数较少的网络,这样会导致待优化的函数具有一定的局限性。针对这个问题,本文使用感知器卷积层来提高低层网络的非线性能力,然后以一种规范的方式依次增加残差单元的映射通道数,增加对残差项函数的拟合能力,再使用mask层去除背景和干扰特征,使用池化层进一步降低维度并增加特征不变性。本文把这种新的网络单元称之为感知器残差单元。它包含多个和恒等映射并行的卷积层和感知器层、mask层和池化层。它的卷积通道数可以变化,增加的通道上的卷积核个数和感知器个数依次增加。多个不同的感知器残差单元组成的卷积网络和ELM网络结合得到了一种新的网络结构,本文称之为基于超限学习机的多层感知器残差网络(MRN-ELM)。

此外,本文使用卷积网络提取的特征数据和已知的标签数据,同时训练了ELM分类层、KNN分类层和SVM分类层。针对3D物体多视角投影图的特征多样性问题,本文在测试时,首先使用ELM分类层进行分类,得到样本关于每一个类别的置信度。其中最大概率值对应的类别即为ELM的预测类别。而当最大概率值和次大概率值之差小于设定的阈值时,即认为该样本的噪声干扰较强(样本很可能属于次大概率值对应的类别)。此时,使用KNN分类层和SVM分类层进行分类。当两个分类层的预测类别均为ELM的次大概率值对应的类别时,认为这个类别是可信度较高的类别,进行输出;否则,取ELM的最大概率值对应的类别进行输出。

本文提出方法的主要特点有:

1) MRN-ELM的输入为3D模型的多视角投影图,每个投影图对应一个感知器残差网络通道。训练时,将一个3D模型的所有投影图经过不同的旋转、翻转等仿射变换可以产生一个新的训练样本。本文使用这种方法将训练数据扩充了一倍。

2) MRN-ELM的基本网络框架是多层ELM,但是它不同于传统的ELM。其中一半的网络参数是以高斯分布随机产生,另一半的参数则是通过在稀疏矩阵上叠加噪声来寻优的方式获得。实验显示,这种半随机的ELM网络效果更好。

3) 提出的感知器残差单元在传统残差单元上同时改进了卷积层函数和残差项函数的形式,以便能拟合更复杂的非线性函数,增加低层网络的特征提取能力。此外,多通道之间的卷积没有互连,降低了网络的耦合度,网络结构也更加规范,便于训练和优化。

4) 针对3D物体的特征多样性问题,MRN-ELM网络同时训练和使用了3种不同算法叠加的多通道集成分类器,采用投票机制进行预测,增加了网络的抗干扰能力和分类能力。

5) 通过高斯分布产生的卷积核参数经过了归一化处理,降低了特征扩散的风险。

6) 在卷积层和池化层之间增加了一个mask层,可以过滤背景和一些干扰特征,起到非极大值抑制的作用。

提出的MRN-ELM网络不仅识别准确率高,而且速度快、实时性好、易于实现。网络识别3D物体的过程如图 1所示。

图 1 MRN-ELM网络识别3D物体的过程
Fig. 1 The process of our MRN-ELM framework for 3D object recognition

1 算法基础

1.1 3D模型预处理

本文使用普林斯顿大学官网上提供的标准3D模型数据集Princeton ModelNet[5]中的模型作为网络的输入。因为一般的卷积网络更适合处理2维的图像和形状,所以先获得其在多个视角下的投影图,再将投影图的集合输入到网络中。

利用MVD-ELM[10]中的方法,使用OpenGL打开3D模型的.off文件。以模型的中心为中心点,构造一个正多面体,在多面体的顶点处对3D模型进行投影。不同的投影点(视角)可以得到不同的投影图,如图 2所示。

图 2 从多个视角得到3D模型的不同特征的投影图
Fig. 2 A series of 2D images with different features are captured from the 3D object with different viewpoints

假设投影点个数为$D$,则每个3D模型,都可以用$D$个图像(分辨率为$d×d$)的集合来简单表示。每个3D模型都可以表示成$d×d×D$的3维视图。对于每一个投影图像,本文另构造了一个mask图像,它是原图划去了背景和不相关元素后的二值图像。在原投影图的图像矩阵中,令灰度值大于240或小于5的像素点的值为0,否则为1,得到mask二值图像,用作卷积后的滤波。

1.2 超限学习机(ELM)

超限学习机网络是一种单隐层前馈神经网络。不同于其他的反向传播、权值迭代调整的神经网络,ELM网络的输入层和隐含层之间的权值全部随机产生,并且不需要调整。隐含层和输出层之间的权值满足方程$ \mathit{\boldsymbol{H\beta }}= \mathit{\boldsymbol{T}}$$ \mathit{\boldsymbol{H}}$为特征矩阵,$ \mathit{\boldsymbol{T}}$为标签矩阵,训练过程为求解参数$ \mathit{\boldsymbol{\beta }}$

给定一个输入数据集$\mathit{\boldsymbol{x}}\in{ \bf{R}}^{N}$,ELM的输出可以表示为

$ f( \mathit{\boldsymbol{x}})=\sum\limits^{N}_{i=1} \mathit{\boldsymbol{\beta }}_{i}\mathit{\boldsymbol{h}}_{i}( \mathit{\boldsymbol{x}})= \mathit{\boldsymbol{h}}( \mathit{\boldsymbol{x}}) \mathit{\boldsymbol{\beta }} $ (1)

式中,$ \mathit{\boldsymbol{h}}(\mathit{\boldsymbol{x}})=[\mathit{\boldsymbol{h}}(\mathit{\boldsymbol{x}}_{1}), …, \mathit{\boldsymbol{h}}(\mathit{\boldsymbol{x}}_{N})]^{\rm T}$($N$为训练样本的数量),是隐含层的输出矩阵。$ \mathit{\boldsymbol{\beta }}=[\mathit{\boldsymbol{\beta }}_{1}, …, \mathit{\boldsymbol{\beta }}_{N}]$是隐含层和输出层之间的权值矩阵,是待训练的参数(不考虑偏置)。$ \mathit{\boldsymbol{h}}$可以是任意操作的叠加(如全连接、卷积、池化、激活等),称为$ \mathit{\boldsymbol{x}}$的特征映射。在ELM网络里,$ \mathit{\boldsymbol{h}}$中的参数都是以某种连续的分布随机产生的,并且在训练和预测时保持不变,只需要训练和求解$ \mathit{\boldsymbol{\beta }}$

ELM学习是一种监督式学习。在ModelNet-10数据集中,每个输入模型对应一个类别标签,分别编号为1, …, 10,可以得到一个标签矩阵$ \mathit{\boldsymbol{T}}\in{ \bf{R}}^{N×10}$$ \mathit{\boldsymbol{T}}$的每一行表示一个训练样本的期望输出,这一行中,标签编号对应的列值为1,其余列值为$-1$。把构造的映射$\mathit{\boldsymbol{h}}$记为$ \mathit{\boldsymbol{H}}\in{ \bf{R}}^{N×m}$($m$是分类层神经元的数量),它是样本的特征矩阵。网络的优化目标是最小化权值和训练误差,即

$ \min C \left\| { \mathit{\boldsymbol{H\beta -T}}} \right\|^{2}+ \left\| { \mathit{\boldsymbol{\beta }}} \right\|^{2} $ (2)

式中,$ \mathit{\boldsymbol{H\beta }}$是实际输出,$ \mathit{\boldsymbol{T}}$是期望输出,$C$是正则化参数,由经验给出。

根据M-P广义逆和岭回归理论,最优的$ \mathit{\boldsymbol{\beta }}\in{ \bf{R}}^{m×10}$[16]

$ \mathit{\boldsymbol{\beta }}= \left\{ {\begin{array}{*{20}{c}} { \mathit{\boldsymbol{H}}^{\rm T} (\mathit{\boldsymbol{HH}}^{\rm T}+ \frac{{ \mathit{\boldsymbol{I}}}}{{C}})^{-1} \mathit{\boldsymbol{T}}}\\ {( \mathit{\boldsymbol{H}}^{\rm T} \mathit{\boldsymbol{H}}+ \frac{{ \mathit{\boldsymbol{I}}}}{{C}})^{-1} \mathit{\boldsymbol{H}}^{\rm T} \mathit{\boldsymbol{T}}} \end{array}} \right.\;\;\;\;\begin{array}{*{20}{c}} {N≤m}\\ {N>m} \end{array} $ (3)

式中,$ \mathit{\boldsymbol{I}}$是与$ \mathit{\boldsymbol{HH}}^{\rm T}$$ \mathit{\boldsymbol{H}}^{\rm T} \mathit{\boldsymbol{H}}$相同大小的单位矩阵。

得到$ \mathit{\boldsymbol{\beta }}$后,网络模型就可以进行预测。将测试集加入到模型中,经过多层感知器残差网络提取特征后得到预测数据的特征矩阵$ \mathit{\boldsymbol{H}}′\in{ \bf{R}}^{n×m}$($n$表示测试样本的数量),计算$ \mathit{\boldsymbol{T}}′= \mathit{\boldsymbol{H}}′ \mathit{\boldsymbol{\beta }}$$ \mathit{\boldsymbol{T}}′$的每一行表示一个样本的输出,找出每一行中的最大值,其对应的列即为预测的输出类别,预测过程如图 1所示。传统的ELM网络只训练分类层参数,因此速度很快,识别的实时性好。

1.3 残差网络

残差网络由大量的残差单元组成,典型的残差单元结构如图 3所示,它包含两个卷积层和一个并联的恒等映射。实验显示,在卷积神经网络中,优化残差项函数更加容易。增加恒等映射的快捷连接,使得网络可以以残差项来训练参数,在不增加复杂度的情况下,显著地提升了网络的性能。

图 3 残差单元
Fig. 3 A residual unit

这种连接方式使得网络随着深度的增加而不退化,在一定程度上解决了梯度爆炸的问题。同时这也反映了多层非线性网络无法逼近多个恒等映射。

1.4 NIN

NIN(network in network)网络改进了传统的卷积神经网络(CNN),只用少量参数就取得了超过AlexNet等网络的性能。传统卷积层对下层的数据来说是一个广义线性模型,需要大量的组合运算来获得抽象特征。NIN在局部感受域中使用MLP(multi-layer perceptron)来增强卷积层的非线性运算。它将MLP和卷积滤波器滑过整个输入,得到特征图。mlpconv layer和传统卷积层的比较如图 4所示。

图 4 线性卷积层和多层感知器卷积层
Fig. 4 Linear convolution layer and multi-layer perceptron convolution layer ((a) linear convolution layer; (b) multi-layer perceptron convolution layer)

以跨通道池化的角度来看,NIN是在一个普通的卷积层上实施级联跨通道加权池化(cascaded cross channel parametric pooling)。即在池化层对输入的特征图进行加权线性求和,然后用relu进行激活。这种级联跨通道加权池化使得模型能够学习到通道之间的关系,跨通道加权池化也等效于多个卷积层。

NIN的另一个优点是使用全局平均池化层替代全连接分类层。全局平均池化层的每个特征图作为一个输出,直接将特征映射图和类别对应起来。这样参数量大大减小,并且每个特征图相当于一个输出特征。NIN的网络结构如图 5所示,共4层,3层mlpconv加上1层全局平均池化层。NIN中的mlpconv是一个3层的网络结构。

图 5 NIN整体结构
Fig. 5 The overall structure of NIN

1.5 多层感知器残差单元(MRU)

残差网络的思想是忽略相同的主体部分,从而突出微小的变化。针对基本残差单元拟合能力不足的问题,本文提出了一种新的多层感知器残差网络。它由多层感知器残差单元(MRU)组成。多层感知器残差单元包含几个和恒等映射并联的卷积层和感知器、mask层、池化层和激活函数等(如图 6所示)。MRU的通道数表示单元的大小,每个通道上的卷积核个数和感知器个数恒定,增加的通道的卷积核个数依次增加。网络可以以较少的层数获得深度残差网络的特征提取的能力,而且网络并行计算的效率更高。多层感知器残差单元也可以使用和ELM相同的最小二乘法学习算法。

图 6 3通道的MRU,$W$表示卷积核,$P$表示感知器
Fig. 6 3-channels multi-layer perceptron residual unit, $W$ for convolution kernel, $P$ for perceptron

假设期望的最优映射为$ \mathit{\boldsymbol{H}}(\mathit{\boldsymbol{x}})$,求取的残差映射为$ \mathit{\boldsymbol{F}}(\mathit{\boldsymbol{x}})$。则$ \mathit{\boldsymbol{F}}(\mathit{\boldsymbol{x}})$=$ \mathit{\boldsymbol{H}}(\mathit{\boldsymbol{x}})- \mathit{\boldsymbol{x}}$。不同大小的感知器残差单元的$ \mathit{\boldsymbol{F}}(\mathit{\boldsymbol{x}})$的数学形式也不同。以3通道的感知器残差单元为例,卷积层结构如图 4(b)所示,其网络如图 6所示。设感知器输出为$f$$W$表示卷积操作,$σ$表示非线性函数relu。图 6中各通道输出分别为

$ \mathit{\boldsymbol{F}}_{1}=f_{11}(W_{11}\mathit{\boldsymbol{x}}) $

$ \mathit{\boldsymbol{F}}_{2}=f_{22}(W_{22}f_{21}(σ(W_{22} \mathit{\boldsymbol{x}}))) $

$ \mathit{\boldsymbol{F}}_{3}=f_{33}(W_{33}f_{32}(σ(W_{32}f_{31}(σ(W_{31} \mathit{\boldsymbol{x}}))))) $

$ \mathit{\boldsymbol{F}}(\mathit{\boldsymbol{x}})=\mathit{\boldsymbol{F}}_{1}+\mathit{\boldsymbol{F}}_{2}+\mathit{\boldsymbol{F}}_{3} $

对于$k$通道的感知器残差单元,有

$ \mathit{\boldsymbol{F}}(\mathit{\boldsymbol{x}})=\sum\limits^{k}_{i=1}f_{ii}(W_{ii}f_{i(i-1)}(σ(…σ(W_{i1} \mathit{\boldsymbol{x}})…))) $ (4)

输出$g(\mathit{\boldsymbol{x}})=σ(\mathit{\boldsymbol{F}}(\mathit{\boldsymbol{x}})+ \mathit{\boldsymbol{x}})$,加上mask层滤波和池化层降维,就构成了一个感知器残差单元。这种结构增强了网络中对非线性残差项的拟合能力,从而提升了对复杂3D数据的特征表达能力。

2 用于3D物体识别的MRN-ELM网络

本文引入了MRN-ELM网络,进行3D物体的特征提取和分类。首先将3D物体对应的模型表示为$d×d×D$的3维数据($d$为分辨率)。输入共有$D×N$张图片($N$为样本数,$D$为视角数)。然后将每个3D模型输入到$D$个网络通道中,每个通道包含多层感知器残差单元(如图 7所示)。最后使用ELM、KNN和SVM组成的多通道集成分类器输出。

图 7 MRN-ELM识别3D物体的网络结构图
Fig. 7 MRN-ELM structure for 3D object recognition

2.1 数据预处理

利用OpenGL将3D物体表示为多视角下的2维投影图像的集合。同时,可以得到对应的mask图像集。设训练集的样本个数为$N$。本文对训练集中的每个3D模型的所有投影图像和mask图像分别做旋转、平移、翻转等仿射变换(不同投影图像旋转不同的角度)。新的图像集也可以表示一个对应的3D模型。输入网络的训练数据大小为$d×d×D×2N$。mask图像数据的大小与之相同。

2.2 MRN-ELM网络

MRN-ELM同时结合了多层感知器残差网络和ELM网络的优点。MRN-ELM有3个特点:1)同一个感知器残差单元里,相同大小的卷积核参数、感知器参数共享;2)网络中一半的卷积核参数和感知器参数由高斯分布随机产生,另一半则通过构造稀疏矩阵加高斯白噪声寻优的方法获得;3)感知器残差单元和其他的池化、mask层提取特征,ELM、KNN和SVM训练多通道集成分类层参数进行输出。

MRN-ELM的网络结构如图 7所示。3D模型的每个视角投影图输入到相同的多层感知器残差网络。图 7中,random MRU为随机感知器残差单元,这个单元里的所有卷积核参数和感知器参数均随机产生并经过了归一化,sparse MRU为稀疏感知器残差单元,这个单元里的卷积核和感知器参数由稀疏矩阵加高斯白噪声寻优的方法获得。

3通道MRU的网络结构如图 6所示,增加其他通道时,只需要在新通道上增加卷积核个数和感知器个数,其余结构不变。

每一个输入模型对应一个类别标签,可分别编号为$1, …, L$,样本数为$N$(已扩充数据个数,区别于2.1小节中的$N$),可以得到一个标签矩阵$\mathit{\boldsymbol{T}}\in{ \bf{R}}^{N×L}$$\mathit{\boldsymbol{T}}$的每一行表示一个训练样本的期望输出,行中标签编号对应的列值为1,其余列值为$-1$

对于每个输入的投影图像,假设MRN-ELM有$K$层,则第$i$层包含$2^{i}(i=1, …, K)$个感知器残差单元。它以$i-1$层的输出映射作为输入。在第$i$层中,有$2^{i-1}$个random MRU和$2^{i-1}$个sparse MRU,如图 7所示。它们之间仅仅卷积核和感知器参数不同,一个随机产生,一个固定参数,其余的结构和参数一致。这种交叉的网络结构可以防止过拟合。

Random MRU的所有卷积核参数随机产生,并进行归一化。设卷积核大小为$l×t$,则卷积核参数为

$ \begin{array} [c]{c} W_{l, t}(i, j)=rand(0, 1)\\ i=1, …, l; j=1, …, t \end{array} $ (5)

$ \begin{array} [c]{c} W′_{l, t}(i, j)= \frac{{W_{l, t}(i, j)}}{{\sum\limits^{l}_{i=1}\sum\limits^{t}_{j=1}W_{l, t}(i, j)}} \\ i=1, …, l; j=1, …, t \end{array} $ (6)

假设sparse MRU中的某个卷积核大小为$c×c$。先将它初始化为$rand(0, 1)× \mathit{\boldsymbol{I}}$的矩阵($ \mathit{\boldsymbol{I}}$$c×c$大小的单位矩阵或者更稀疏的矩阵),再在卷积核的数值上加入高斯白噪声,加入网络中,进行一定次数的迭代寻优之后,将卷积核固定,后面的测试训练不再改变。在同一个感知器残差单元里,所有相同大小的卷积核参数共享。感知器参数的处理与之相同。这种操作可以增强网络的稀疏性,使其只对关键特征敏感。

经过多个通道的卷积操作、感知器变换和relu激活之后,可以得到卷积层输出$ \mathit{\boldsymbol{g}}(\mathit{\boldsymbol{x}})=σ(\mathit{\boldsymbol{F}}(\mathit{\boldsymbol{x}})+ \mathit{\boldsymbol{x}})$,设为$ \mathit{\boldsymbol{G}}_{p, q}$。Mask层的计算为

$ \mathit{\boldsymbol{G}}′_{p, q}=\mathit{\boldsymbol{G}}_{p, q}⊗ \mathit{\boldsymbol{M}}_{p, q} $ (7)

式中,⊗表示图像矩阵对应的元素值相乘,$ \mathit{\boldsymbol{M}}_{p, q}$是原mask二值图像经过和$ \mathit{\boldsymbol{G}}_{p, q}$相同的下采样后得到的图像(保持维度相同)。再对$ \mathit{\boldsymbol{G}}′_{p, q}$进行均值池化操作,得到一个MRU的输出,作为下一层的输入。

2.3 ELM、KNN、SVM多通道分类层

在ELM分类层中,将所有的特征矩阵合并为一个行向量,假设大小为$1×n$$D$个投影图的特征向量则为$1×m$ $(m=D×n)$。若训练数据数量为$N$,可以得到特征矩阵$ \mathit{\boldsymbol{H}}\in{ \bf{R}}^{N×m}$,标签矩阵$ \mathit{\boldsymbol{T}}\in{ \bf{R}}^{N×L}$。再由式(3)可以求得分类层的参数$ \mathit{\boldsymbol{\beta }}$。将测试集数据进行投影预处理后输入到模型中,就可以进行预测。

ELM算法通过一对多(one-against-all)的方法把多分类问题转化为高维度输出的函数拟合问题。ELM具有较快的训练速度,但不擅长处理带较高噪声的样本。KNN和SVM是效果较好并且训练简单的分类器。KNN算法的思想是如果一个样本在特征空间中的$K$个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别。SVM多分类算法是先将特征空间映射到高维,再构建多个一对一分类超平面。它们和ELM组成的多通道分类器集合了不同角度的分类思想,可以提高MRN-ELM网络的分类能力和抗噪能力。训练KNN和SVM分类器所使用的数据均为感知器残差网络提取的特征数据。其相比于原始数据大大减少了,如在测试ModelNet10数据集时,提取的特征数据的大小仅为7 982×1 536像素。因此训练KNN和SVM的时间很短。

得到ELM分类层输出的预测向量后,计算最大值和次大值之差$e$$e$可以用来评价算法的分类能力。当$e$较小时,认为算法不能很好区分这两个类别。如果$e$小于设定的阈值$T$,则将网络得到的特征矩阵输入到训练好的KNN和SVM分类器中进行预测。根据3个分类器预测的类别,采用投票机制,选取票数最多的结果。如果3个分类器预测的结果均不同,则选取ELM分类器预测的结果。MRN-ELM网络的多通道分类过程如图 8所示。

图 8 MRN-ELM网络多通道分类过程
Fig. 8 Multi-channel classification process of MRN-ELM

3 实验和结果分析

影响模型识别率的因素有很多,例如3D物体投影视角数、感知器残差单元的通道数、分类层的置信度阈值等。为了验证各种因素对识别结果的影响程度,本文采用控制变量法,找出所有最优的网络参数,以便得到最好的结果。然后将实验结果和当前最先进的方法的结果进行比较分析。

3.1 3D物体识别

本文在普林斯顿3D模型数据集ModelNet上进行实验,并与当前其他最新的方法进行了比较。ModelNet10和ModelNet40是目前广泛使用的ModelNet的两个子数据集。ModelNet10数据集由4 899个3D CAD模型组成,共10个类别,包含3 991个训练数据和908个测试数据。ModelNet40数据集由12 311个3D CAD模型组成,共40个类别,包含9 843个训练数据和2 468个测试数据。这些模型包含了常见的家具、交通工具、乐器、电子产品等。

本文利用MATLAB 2016a实现MRN-ELM网络。它运行在Intel(R) Xeon E5-1620 3.5 GHz CPU 64 GB RAM的计算机上。在QT5.11和OpenGL中实现3D物体模型的多视角投影操作。

本文分别测试了不同视角数、不同残差通道数、不同分类层阈值的MRN-ELM网络。其中,ELM层的正则化参数$C=0.015$,KNN层的$K=9$,SVM层的$K=1$。MRU中的卷积核大小如表 1所示。

表 1 不同通道的MRU中卷积核的大小
Table 1 The size of convolution kernel of different channels of MRU

下载CSV
通道 卷积核1 卷积核2 卷积核3 卷积核4
1 3×3
2 3×3, 3×3 3×3
3 1×1, 3×3, 1×1 3×3, 3×3 3×3
4 1×1, 3×3, 3×3, 1×1 1×1, 3×3, 1×1 3×3, 3×3 3×3

MRU中的池化为4×4均值池化。Sparse MRU中1×1卷积核参数可以随机产生,对识别率影响很小。感知器的大小和卷积后的图像矩阵大小相同,其权值和阈值通过高斯分布产生。卷积层和感知器的激活函数均为relu激活函数。

受计算机内存的限制,只给ModelNet10中的训练数据做了仿射变换以扩充数据。ModelNet10训练集输入数据扩充后的大小为128×128×18×7 982,ModelNet40的大小为128×128×18×12 311。

提出的网络模型在ModelNet10上取得了94.18%的当前最高准确率,在ModelNet40中的识别率最高达到了92.25%。本文使用了6层MRN-ELM网络,图 7展示了前2层结构,后4层可以依次类推。视角投影数为18,不同视角图的网络参数共享。每一层中的MRU结构如图 6所示,残差通道数为6,卷积核大小如表 1所示,后两个通道可类推。分类层置信度阈值为0.18。实验显示,MRN-ELM网络相比于现有的深度学习方法效果更好。MRN-ELM的实验结果和其他常用算法(CDBN(convolutional deep belief network)、V-ResNet(volumetric residual network)、VSL(variational shape learner)、DLVD(deep learning based on volumetric density)、ECC(edge-conditional filters in convolutional neural network)、G3DNet(graph 3D network)、VIPGAN(view inter-prediction GAN))的结果比较如表 2所示。

表 2 不同算法在ModelNet10和ModelNet40中的准确率
Table 2 Recognition accuracy of different methods on the ModelNet10 and ModelNet40 datasets

下载CSV
/%
方法 ModeNet10 ModeNet40
CDBN[5] 84.5 78.2
V-ResNet[7] 86.5
3D-DescriptorNet[8] 92.4
MVD-ELM[10] 88.99 81.39
CAE-ELM[12] 91.41 84.35
VSL[17] 91.0 84.5
FoldingNet[18] 88.4
BinVoxNetPlus[19] 92.32 85.47
DLVD[20] 93.6 89.3
ECC[21] 90.0 83.2
DeepSets[22] 90.3
G3DNet[23] 93.1 91.13
VIPGAN[24] 94.05 91.98
MRN-ELM(本文) 94.18 92.25
注:加粗字体表示最优结果,“—”表示无数据。

表 2知,MRN-ELM比FoldingNet[18]、G3DNet[23]等常用的3D物体识别方法的准确率更高。最近提出的VIPGAN (view inter-prediction generative adversarial network)[24]方法的优异表现则主要是由于其使用了更复杂的网络结构。

表 3列出了不同的ELM网络和深度置信网络的训练时间。容易看出,ELM方法的训练时间比深度学习方法缩减了3个数量级,对应地也降低了识别时的计算量,加快了识别速度。虽然MRN-ELM的训练时间比其他ELM方法稍长,但其识别效果最好。

表 3 不同算法在ModelNet10、ModelNet40中的训练时间
Table 3 Training time of different methods on the ModelNet10 and ModelNet40 datasets

下载CSV
方法 ModeNet10 ModeNet40
CDBN[5] 2 d 3 d
MVD-ELM[10] 674 s 306.4 s
CAE-ELM[12] 250 s 1 224 s
MRN-ELM(本文) 688 s 967 s
注:加粗字体表示最短训练时间。

在ModelNet10数据集上,不同通道数的感知器残差网络对应的分类结果如图 9所示(6层感知器残差网络)。由图 9可知,加入感知器残差通道后(如图 6所示),通道数越多,分类效果也越好。并且ELM、KNN和SVM集成的多通道分类器比传统的单通道分类器的分类能力更强。

图 9 不同残差通道数的分类准确率
Fig. 9 Classification accuracy of different number of residual channels for 3D shape

不同的分类层置信度阈值$T$对应的分类结果如图 10所示(6层感知器残差网络)。$T$设置较小时,模型更偏于“信任”ELM分类器,$T$设置较大时,更偏于使用KNN和SVM分类器。由图 10可知,当$T=0.18$时,分类效果最好。

图 10 不同分类层阈值$T$对应的分类准确率
Fig. 10 Classification accuracy of different threshold $T$ of classification layer

不同的3D物体视角数对应的分类结果如图 11所示(6层感知器残差网络)。投影视角数越多,识别准确率越高。由图 11可知,当投影视角数达到15以后,继续增加投影数,识别率的增长逐渐放缓。受计算机内存的限制,这里视角数最多为18。

图 11 不同投影视角数对应的分类准确率
Fig. 11 Accuracy of different number of projected views

3.2 图像识别

为了进一步验证MRN-ELM的性能。本文在2D的NORB图像数据集上也进行了测试。NORB数据集包含24 300幅图像,分别为不同角度的4条腿的动物、人像、飞机、卡车、小汽车。每张样本图片经过镜像变换扩充为两张图片。使用6层4通道的MRN-ELM网络。本文方法和其他方法(DBN(deep belief network)、SAE(sequence-to-sequence auto-encoder)、SDAE(stracked denoising auto-encoder))的实验结果比较如表 4所示。由表 4可知,MRN-ELM网络在NORB上的表现也明显优于其他的网络。

表 4 不同算法在NORB中的准确率
Table 4 Recognition accuracy results of different methods on NORB dataset

下载CSV
/%
方法 NORB
DBN 92.80
SAE 93.50
SDAE 94.40
CAE-ELM 94.50
MRN-ELM(本文) 97.46

4 结论

本文提出了一种MRN-ELM网络模型,并应用于3D物体识别中。该模型以多视角3D投影图作为输入,经过多层感知器残差网络和ELM网络提取特征,利用ELM、KNN和SVM组成的多通道集成分类器预测物体的类别。其中感知器残差单元能拟合更复杂的非线性残差项函数,增加低层网络的特征表达能力。多通道集成分类器比传统神经网络的softmax等单通道分类器的分类性能更好。实验表明,MRN-ELM的准确率优于其他最新的网络模型,并且它的结构更易于实现。使用了超限学习机框架使得算法的训练时间缩短了3个数量级。较快的训练和测试速度,使其能应用于实时3D物体识别中。

同其他ELM方法相比,本文算法的训练时间仍较长,这可能是使用了多层多残差通道的卷积网络所致。此外,受计算机硬件的限制,本文的网络层数仍较低,今后将研究更深层、更多视角数的感知器残差网络,以获得更好的结果。

参考文献

  • [1] Biasotti S, Giorgi D, Spagnuolo M, et al. Reeb graphs for shape analysis and applications[J]. Theoretical Computer Science, 2008, 392(1-3): 5–22. [DOI:10.1016/j.tcs.2007.10.018]
  • [2] Tevs A, Huang Q X, Wand M, et al. Relating shapes via geometric symmetries and regularities[J]. ACM Transactions on Graphics, 2014, 33(4): 1–12. [DOI:10.1145/2601097.2601220]
  • [3] Chen Z, Zhao R C. Geometric invariance and its applications to 3D object recognition[J]. Journal of Image and Graphics, 2003, 8(9): 993–1000. [陈柘, 赵荣椿. 几何不变性及其在3D物体识别中的应用[J]. 中国图象图形学报, 2003, 8(9): 993–1000. ] [DOI:10.11834/jig.200309357]
  • [4] Guo L, Wang J Y, Huang Y Y. On texture mapping for realistic 3D reconstruction[J]. Journal of Image and Graphics, 2007, 12(10): 1881–1884. [郭玲, 王建宇, 黄炎焱. 真实感3D重建中的纹理映射技术[J]. 中国图象图形学报, 2007, 12(10): 1881–1884. ] [DOI:10.11834/jig.20071045]
  • [5] Wu Z R, Song S R, Khosla A, et al. 3D shapenets: a deep representation for volumetric shapes[C]//Proceedings of 2015 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Boston, MA, USA: IEEE, 2015: 1912-1920.[DOI: 10.1109/CVPR.2015.7298801]
  • [6] Leng B, Zhang X Y, Yao M, et al. A 3D model recognition mechanism based on deep Boltzmann machines[J]. Neurocomputing, 2015, 151: 593–602. [DOI:10.1016/j.neucom.2014.06.084]
  • [7] Arvind V, Costa A, Badgeley M, et al. Wide and deep volumetric residual networks for volumetric image classification[EB/OL].[2018-12-13]. https://arxiv.org/pdf/1710.01217.pdf.
  • [8] Xie J W, Zheng Z L, Gao R Q, et al. Learning descriptor networks for 3D shape synthesis and analysis[C]//Proceedings of 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City, UT, USA: IEEE, 2018: 8629-8638.[DOI: 10.1109/CVPR.2018.00900]
  • [9] 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. [DOI:10.1111/1467-8659.00669]
  • [10] Xie Z G, Xu K, Shan W, et al. Projective feature learning for 3D shapes with multi-view depth images[J]. Computer Graphics Forum, 2015, 34(7): 1–11. [DOI:10.1111/cgf.12740]
  • [11] Huang G B, Zhu Q Y, Siew C K. Extreme learning machine:theory and applications[J]. Neurocomputing, 2006, 70(1-3): 489–501. [DOI:10.1016/j.neucom.2005.12.126]
  • [12] Wang Y Q, Xie Z G, Xu K, et al. An efficient and effective convolutional auto-encoder extreme learning machine network for 3d feature learning[J]. Neurocomputing, 2016, 174: 988–998. [DOI:10.1016/j.neucom.2015.10.035]
  • [13] Luo M X, Zhang K. A hybrid approach combining extreme learning machine and sparse representation for image classification[J]. Engineering Applications of Artificial Intelligence, 2014, 27: 228–235. [DOI:10.1016/j.engappai.2013.05.012]
  • [14] He K M, Zhang X Y, Ren S Q, et al. Deep residual learning for image recognition[C]//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas, NV, USA: IEEE, 2016: 770-778.[DOI: 10.1109/CVPR.2016.90]
  • [15] Lin M, Chen Q, Yan S C. Network in network[EB/OL].[2018-12-13].https://arxiv.org/pdf/1312.4400.pdf.
  • [16] Huang G B, Zhou H M, Ding X J, et al. Extreme learning machine for regression and multiclass classification[J]. IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics), 2012, 42(2): 513–529. [DOI:10.1109/TSMCB.2011.2168604]
  • [17] Liu S K, Giles L, Ororbia A. Learning a hierarchical latent-variable model of 3D shapes[C]//Proceedings of 2018 International Conference on 3D Vision. Verona, Italy: IEEE, 2018: 542-551.[DOI: 10.1109/3DV.2018.00068]
  • [18] Yang Y Q, Feng C, Shen Y R, et al. Foldingnet: point cloud auto-encoder via deep grid deformation[C]//Proceedings of 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City, UT, USA: IEEE, 2018: 336-342.[DOI: 10.1109/CVPR.2018.00029]
  • [19] Ma C, An W, Lei Y J, et al. BV-CNNs: binary volumetric convolutional networks for 3D object recognition[C]//Proceedings of the British Machine Vision Conference. London, UK: BMVC, 2017: 693-701.[DOI: 10.5244/c.31.148]
  • [20] Minto L, Zanuttigh P, Pagnutti G. Deep learning for 3D shape classification based on volumetric density and surface approximation clues[C]//Proceedings of the International Conference on Computer Vision Theory and Applications. Funchal, Madeira, Portugal: VISAPP, 2018: 317-324.[DOI: 10.5220/0006619103170324]
  • [21] Simonovsky M, Komodakis N. Dynamic edge-conditioned filters in convolutional neural networks on graphs[C]//Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu, HI, USA: IEEE, 2017: 29-38.[DOI: 10.1109/CVPR.2017.11]
  • [22] Zaheer M, Kottur S, Ravanbakhsh S, et al. Deep sets[C]//Proceedings of the 31st Conference on Neural Information Processing Systems. Long Beach, CA, USA: NIPS, 2017: 3391-3401.
  • [23] Dominguez M, Dhamdhere R, Petkar A, et al. General-purpose deep point cloud feature extractor[C]//Proceedings of 2018 IEEE Winter Conference on Applications of Computer Vision. Lake Tahoe, NV, USA: IEEE, 2018: 1972-1981.[DOI: 10.1109/WACV.2018.00218]
  • [24] Han Z Z, Shang M Y, Liu Y S, et al. View inter-prediction GAN: unsupervised representation learning for 3D shapes by learning global shape memories to support local view predictions[C]//Proceedings of the 33rd AAAI Conference on Artificial Intelligence Conference. Hilton Hawaiian Village, Honolulu, Hawaii, USA: AAAI, 2019: 8376-8384.[DOI: 10.1609/aaai.v33i01.33018376]