基于栈自编码器的图像分类器

2018-02-06 05:58林丽惠李绍滋苏松志曹冬林
关键词:特征提取分类器卷积

林丽惠,殷 瑞,李绍滋 *,苏松志,曹冬林

(1.厦门大学信息科学与技术学院,福建厦门361005;2.武夷学院数学与计算机学院,福建武夷山354300; 3.福建省仿脑智能系统重点实验室,福建厦门361005;4.认知计算与智能信息处理 福建省高校重点实验室,福建武夷山354300)

分类问题是计算机视觉的一个经典问题,大多数视觉任务最终都能转换为分类问题,如目标检测、人脸识别、行为识别等.分类系统可分为两部分:特征提取和分类.首先提取图像特征,包括局部特征或全局特征,然后将提取的特征作为分类器的输入.传统的特征提取方法大多根据经验手动设计,如局部二值模式(LBP)[1]、尺度不变特征变换(SIFT)[2]、二元鲁棒独立元特征(BRIEF)[3]、快速旋转BRIEF(ORB)[4]、二元提升算法(BINBOOST)[5]等.而分类器一般采用线性支持向量机(support vector machine,SVM)[6]、非线性的提升(boost)分类器或者核支持向量机(kernel SVM)等.

近几年,卷积神经网络(CNN)[7]在目标分类问题上取得了巨大的成功,也引领了深度学习在计算机视觉应用的新潮流.CNN先在ImageNet上预训练一个分类网络,再根据具体任务微调这个卷积网络.虽然这种基于神经网络的方法模糊了特征提取器和分类器的界线,但仍可以确定一个逻辑分界.将全连接层认为是分类器,即可以将CNN的pool5层的输出作为图像特征提取,将多层感知机(MLP)看作是一个分类器.目前,基于CNN的分类系统相较于传统方法有非常明显的优势.

但很多研究者为了得到好的网络,将大量的时间、精力用在网络调参上,而调参很大程度依赖于经验规则,某些时候也具有一定的偶然性.这种工作对于计算机视觉的发展无法起到有力的推进作用.在分类系统中,分类器常采用比较简单的分类器,很少有人将精力投入到分类器的研究,但分类器对于图像分类的准确率与图像特征表示可能有着同样重要的影响.为了探究是否可以设计出更好的分类器,本研究构建了一个基于卷积特征的栈自编码器(stacked autoencoder on convolutional feature maps,SACF).这个分类系统以卷积特征为特征表示,分类器采用栈式自编码器 (stacked autoencoder,SAE)而不是简单的MLP,并在数据集CUB-200和VGG-flower上进行实验,对比其与基于卷积特征和MLP的CNN的分类效果.

1 相关工作

1.1 稀疏自编码器(autoencoder,AE)

图1 自编码器的网络结构 Fig.1The network structure of AE

(1)

(2)

(3)

1.2 栈式自编码器(SAE)

SAE即多层的AE,它把前一层AE的输出作为后一层AE的输入,即把多个AE的编码部分叠加起来,然后再叠加对应AE的解码部分,这样就形成了一个含有多个隐含层的SAE.

SAE的编码步骤如下:

a(l)=f(z(l)),

(4)

z(l+1)=W(l,1)a(l)+b(l,1),

(5)

其解码步骤为

a(n+l)=f(z(n+l)),

(6)

z(n+l+1)=W(n-l,2)a(n+l)+b(n-l,2).

(7)

其中:a(n)是最深层隐藏单元的激活值,是对输入值的更高阶的表示;W(k,1),W(k,2),b(k,1),b(k,2)分别表示第k个自编码器对应的W(1),W(2),b(1),b(2)参数,n为神经元数,l为神经网络的层数.

如果把最后一个自编码器的隐含层作为输入数据的高阶特征表示输入到softmax分类器,就可以实现分类.SAE网络结构如图2所示.

图2 SAE的网络结构 Fig.2The network structure of SAE

由于SAE包含多层,整个网络的参数非常多,如果采用端到端(end-to-end)的训练方法,很容易过拟合.因此,为了防止过拟合现象,在网络训练时,从前到后依次对每一层的AE单独训练,每次只训练一个隐含层.在训练每一层参数时,其他各层参数保持不变.逐层训练将参数训练到快要收敛时,通过反向传播算法调整所有层的参数以改善结果.

AE可以学习到数据的特征表示;SAE则具有深度网络的所有优点,可以学习到更强大的表达能力.SAE第一层可以学习到一阶特征,更高层可以学习到更加抽象的特征表示.对于图像而言,第一层可以学习到边缘,第二层可以学习到由边组合形成的轮廓,更高层次可以学习到更形象、更有意义的特征.

2 基于卷积特征的SAE

Harr特征是一种基于图像矩形区域灰度差异的特征表示方法,模板反映了图像局部的灰度变化情况.不同类型的Haar特征可以用来检测人脸的不同部位,如眼睛、鼻子、嘴等,这样极大地提高了人脸检测的准确率.方向梯度直方图(histogram of oriented gradient,HOG)通过统计梯度的方向信息提取图像特征,梯度是刻画边缘非常有用的方法,而边缘具有较强的表达能力,通常可以很好地描述目标.因此HOG在行人检测中获得了极大的成功.

上述特征虽然在某些任务上取得了不错的效果,然而由于它们是手工设计的,不仅极大地依赖于人的经验,而且只在某些任务上有效,不具有普适性.另外,手工设计的特征只是片面地考虑某些图像特征,并不能提取图像的本质特征.卷积神经网络很好地解决了手工设计特征所存在的问题,可由网络自动学习图像的特征.浅层网络学习到简单的边缘特征(图3);深层网络学习到的特征由浅层特征组合而成,因此更加具体,如目标轮廓.对于具体的人脸检测,深层网络可以学习到眼睛、鼻子、嘴等更加抽象的特征.使用神经网络提取特征不仅比传统特征提取更加鲁棒,并且具有普适性,在一个任务上训练得到的网络可以迁移到其他任务上.这样只需在一个足够大的数据集上训练网络模型作为预训练,然后在新任务上进行微调即可,这样极大地提高了训练速度.

图3 神经网络学习到的边缘特征 Fig.3Edge features learned by the neural network

为了提取图像特征,本研究采用的预训练网络是在ImageNet数据集上预训练的深度CNN网络,具体的网络模型使用Zeiler 和Fergus提出的ZF(Zeiler and Fergus)网络[8],包含5 个卷积层和3个全连接层(fully connected layer,fc).在ZF网络中池化层一般采用极大池化或平均池化,而本研究采用矩池化(moment pooling)[9].矩池化优于以上2种池化方法,它不仅可以保持高频分量,而且能有效地预防过拟合现象.更重要的是,池化层所采用的池化方法具有无参性,改变池化方法不会增加网络的训练复杂度,也不需要重新训练网络,只需要在特征提取时将池化方法替换成矩池化即可,也可以再对网络进行微调,但这对最终的网络性能没有实质性的影响.

基于上述卷积特征,本研究在卷积特征图上构建了一个新的分类系统,称为基于卷积特征的栈式自编码器(stacked autoencoder on convolutional feature maps,SACF).这个分类系统将CNN网络的pool5层的输出作为图像特征提取,分类器采用SAE而不是简单的MLP,因为SAE可以学习到更好的特征表示.SACF的结构如图4所示.

图4 SACF的结构图 Fig.4The structure diagram of SACF

SAE的隐含层叠加在一起构成的网络与MLP网络很相似,不同的是前者是一种无监督学习方法,而后者是有监督学习方法.由于SAE的训练过程是一个无监督过程,可以获得大量的训练数据用于训练以得到一个非常好的初始网络.

3 实 验

将本研究提出的SACF与单纯的MLP在数据集Caltech-UCSD Birds 200[10](CUB-200)和Oxford Flower 102[11](VGG-flower)上进行比较.为了进一步探究在分类器部分网络层数对模型的影响,分别尝试不同的网络深度以获得最好的网络模型,网络深度分别为2,3,4.最后一个全连接层是(n+1)维的softmax,其他全连接层是4096-d的受限线性单元(rectified linear units,ReLUs)[12].例如:把3层的网络表示为“f4096-f4096-f200”,其中f表示全连接层,200表示CUB-200 的类别数;如果使用VGG-flower数据集,那么本实验中为102.

实验采用Theano[13-14]构建模型.Theano 是一个python 库,它可以定义、优化及评价数学公式,尤其适用于处理模型的数学表达式中包含大量矩阵运算的情况.对于处理包含大量数据的问题,相较于C 语言的解决方案,Theano 可以大大地提高程序的处理效率.它的另外一个优势是可以使用GPU 进行加速.

Theano的编译器对于各种复杂的表达式采用了很多优化方法,这些方法包括:

1) 使用numpy.ndarray编译函数;

2) 使用GPU时的透明化:处理大量数据运算时的效率最大可达CPU的40倍;

3) 合并相同的子图,以避免重复计算;

5) 快速、稳定的优化:即使x非常小也可以得到log(1+x)的正确结果;

6) 单元测试和自我校正:发现并修正许多错误.

3.1 实验设置

CUB-200是一个致力于子类别分类的数据集,包含6 033张标注好的鸟类图片,鸟的类别有200 种(大部分存在于美国北部),训练集和测试集分别有3 000 和3 033 张图片.每一张图片的标注信息包含:粗分割、目标窗口和一个二值的属性.VGG-flower 数据集由102 种花的图片组成,每一个类别至少包含40 张图片.该数据集与CUB-200 一样,都是用于子类别分类的数据集,然而它增加了分类的难度,既扩大了类间的相似性,且缩小了类内的相似性.这2种数据集可用于评测图片分类模型和图片分割模型.

作为一种普适性的方法,本研究采用在ImageNet的数据集上预训练的1 000类深度卷积神经网络(deep CNN) 模型提取图片特征.实验中采用ZF网络,包含5个卷积层和3个全连接层.

3.2 训 练

在训练阶段将特征图作为新的数据源,然后训练不同的SACF网络对该数据进行分类.SACF网络可以有多种不同的网络深度,它的最后一层是一个(n+1)类的分类器(n个目标类别加上背景),这个分类器是一个(n+1)维的softmax分类器.使用反向传播和随机梯度下降法[15]训练每一个SACF网络.预训练阶段将SACF网络的每一个AE当作单独的网络训练,而微调则将SACF网络的SAE作为一个整体训练,是一种端到端的过程.当训练得到一个理想的网络后,把最后一个AE的隐含层作为输入数据的高阶特征表示,输入到softmax分类器,就可以实现分类,这与R-CNN[16]类似.训练中使用高斯分布随机初始化权重,因此不同的SACF 可以非常公平地进行比较.

3.3 实验结果

表1是基于卷积特征的MLP和SACF在数据集CUB-200上的实验结果.可以看出,采用不同层数的MLP,分类准确率不同,当采用网络f4096-f200时,分类准确率最高,为87.9%;而对于SACF,采用网络f4096-f4096-f200时,获得最高分类准确率89.8%.虽然MLP与SACF在不同层次中获得最高分类准确率,但可以看出在不同网络结构中SACF的分类准确率都大于或者等于MLP的分类准确率.SACF的最高分类准确率比MLP的最高分类准确率提高了1.9个百分点.在SACF中,4-fc网络与3-fc网络分类准确率接近,为了减少模型复杂度,选择3-fc网络.

表1 在数据集CUB-200上的分类准确率Tab.1 The classification accuracy obtained on the CUB-200 dataset

表2是MLP和SACF在数据集VGG-flower上的实验结果.与CUB-200类似,MLP在2-fc网络上获得最高分类准确率31.0%,SACF在3-fc网络上获得最高分类准确率34.6%.在不同的网络结构上,SACF的分类准确率都大于或者等于MLP的分类准确率.SACF的最高分类准确率比MLP的最高分类准确率提高了3.6个百分点.

表2 在数据集VGG-flower上的分类准确率Tab.2 The classification accuracy obtained on the VGG-flower dataset

综上,在不同的数据集上SACF都表现出其优越性,因此在分类器层面使用SAE可以提高网络的分类效果.这也验证了分类器与特征提取器对于分类系统同等重要的假设,在后续的工作中,可以继续研究性能更优异的分类器以提高网络性能.

4 结 论

本研究深入探究了图像分类系统,并且提出系统中的每个部件都同等重要的关键性见解,发现深度网络与深度特征提取器对系统性能都很重要.仅通过随机初始化深度网络就能取得良好的分类结果,说明微调并不是唯一提升性能的策略.本研究提出图像分类系统SACF,尝试不同网络深度以选择最佳的网络结构.在数据集CUB-200和VGG-flower上通过端到端训练深度特征提取器和基于SAE的深度分类器,表明本文中提出的SACF分类系统相对于CNN有更高的分类准确率.

[1] OJALA T,PIETIKINEN M,MENPT.Multiresolution gray-scale and rotation invariant texture classification with local binary patterns[J].IEEE Transactions on Pattern Analysis & Machine Intelligence,2002,24(7):971-987.

[2] LOWE D G.Distinctive image features from scale-invariant keypoints [J].International Journal of Computer Vision,2004,60(2):91-110.

[3] CALONDER M,LEPETIT V,OZUYSAL M,et al.BRIEF:Computing a local binary descriptor very fast [J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2012,34(7):1281-1298.

[4] RUBLEE E,RABAUD V,KONOLIGE K,et al.ORB:An efficient alternative to SIFT or SURF[C]∥International Conference on Computer Vision.Barcelona:IEEE,2011:2564-2571.

[5] TRZCINSKI T,CHRISTOUDIAS M,FUA P,et al.Boosting binary keypoint descriptors[C]∥Computer Vision and Pattern Recognition.Portland:IEEE,2013:2874-2881.

[6] VAPNIK V.The nature of statistical learning theory [M].New York:Springer-Verlag,2000.

[7] KRIZHEVSKY A,SUTSKEVER I,HINTON G E.Imagenet classification with deep convolutional neural networks[C]∥International Conference on Neural Information Processing Systems.Nevada:NIPS,2012:1097-1105.

[8] ZEILER M D,FERGUS R.Visualizing and understanding convolutional networks[C]∥European Conference on Computer Vision.Cham:Spinger,2014:818-833.

[9] 殷瑞,苏松志,李绍滋.一种卷积神经网络的图像矩正则化策略[J].智能系统学报,2016,11(1):43-48.

[10] WELINDER P,BRANSON S,MITA T,et al.Caltech-UCSD birds 200,CNS-TR-2010-001 [R].California:California Institute of Technology,2010.

[11] NILSBACK M E,ZISSERMAN A.Automated flower classification over a large number of classes[C]∥Conference on Computer Vision,Graphics & Image Processing.Indian:IEEE,2008:722-729.

[12] NAIR V,HINTON G E.Rectified linear units improve restricted boltzmann machines[C]∥International Conference on Machine Learning.Israel:ICML,2010:807-814.

[13] BASTIEN F,LAMBLIN P,PASCANU R,et al.Theano:new features and speed improvements [EB/OL].[2016-01-15].https:∥arxiv.org/pdf/1211.5590v1.pdf.

[14] BAHRAMPOUR S,RAMAKRISHNAN N,SCHOTT L,et al.Comparative study of caffe,neon,theano,and torch for deep learning [EB/OL].[2016-01-15].https:∥arxiv.org/abs/1511.06435v1.

[15] BOTTOU L.Stochastic gradient descent tricks [J].Lecture Notes in Computer Science,2012,7700:421-436.

[16] GIRSHICK R,DONAHUE J,DARRELL T,et al.Rich feature hierarchies for accurate object detection and semantic segmentation[C]∥Computer Vision and Pattern Recognition.Columbus:IEEE,2014:580-587.

猜你喜欢
特征提取分类器卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
卷积神经网络的分析与设计
基于Gazebo仿真环境的ORB特征提取与比对的研究
从滤波器理解卷积
基于Daubechies(dbN)的飞行器音频特征提取
基于傅里叶域卷积表示的目标跟踪算法
基于差异性测度的遥感自适应分类器选择
基于实例的强分类器快速集成方法
Bagging RCSP脑电特征提取算法
基于MED和循环域解调的多故障特征提取