APP下载

基于改进的卷积神经网络的图像分类性能

2017-04-05祥,

关键词:池化层池化卷积

常 祥, 杨 明

(中北大学 a.信息探测与处理山西省重点实验室; b.理学院, 太原 030051)

基于改进的卷积神经网络的图像分类性能

常 祥a, 杨 明b

(中北大学 a.信息探测与处理山西省重点实验室; b.理学院, 太原 030051)

将改进的卷积神经网络应用到图片目标识别中。为了提高分类预测准确度,对传统卷积神经网络结构进行了改进,其具体结构为:卷积层C1—池化层S1—卷积层C2—池化层S2—卷积层C3—池化层S3—全连接层FC—输出,主要增加了卷积层和池化层层数,且在卷积滤波器规格选择上统一选择了5×5。最后用这一网络结构模型和其他模型(ReNet、APAC、PACNet)对CIFAR-10数据库进行试验对比,通过最终的预测准确度可以看出:改进后的卷积神经网络的精度达90.37%,高于其他3种模型。

卷积神经网络; 图像分类技术;卷积层;池化层

layer

随着互联网平台的迅速发展,人们在日常生活中通过各种搜索引擎获取自己感兴趣的图片已经变得越来越简单化。同时,人们也可以将各式各样的图片上传到互联网平台,与他人进行分享。在搜索图片时主要通过输入关键信息,计算机再在云端数据库中根据特定算法寻找符合条件的图像,实质上就是根据算法对图片中的物体或人物进行查询与分类。由于网络数据库中信息基数较大,因此迫切需要具有较高准确度的算法和模型,改善对目标图形的分类预测。

目前,对于图像分类领域相关研究,大多都集中在遥感图像和医学图像等领域,而对于自然图像分类问题的研究较少。一般的图像分类方法包括KNN算法[3]、多层神经神经网络算法(BP神经网络)[4]、支持向量机学习图像分类[5],还有先通过提取图像的SIFT特征然后再用支持向量机分类[1]的综合方法。这些分类方法都能达到很可观的分类效果,但存在共同的缺点:由于模型结构的原因,对大数据库的分类效果不佳,容易出现分类准确度低、训练与测试样本较少、易产生过拟合等缺点,系统对于实物部分遮挡识别效果的鲁棒性低,很难实现多分类的要求。

本文通过提出一种改进后的卷积神经网络。基于该神经网络的图像分类具有很强的抗干扰能力,在视角变化、目标大小变化、形变、光照改变的情况下依旧可以保持很好的分类效果。本文实验部分主要是研究卷积神经网络在大数据库CIFAR-10下的分类预测效果,并与其他方法进行对比。

1 卷积神经网络特点

卷积神经网络(CNN)是一个多层感知器,能在各种实验中获得较好效果的原因主要在于它采用了局部连接和权值共享两种连接方式。局部连接是指每一层网络的神经元只与其上一层的一个方形邻域内的神经单元连接,通过卷积块赋予每个神经元权重,从而提取出目标图像的特征。共享权值表示同一个特征图所对应的神经元共用相同的权值,可减少所需要训练参数的数量。

2 卷积神经网络结构及改进

卷积神经网络根据是否有目标类别输出来区分,是一种典型的多层监督学习神经网络,主要结构包括卷积层(convolution layer)、池化层(也称亚采样层,pooling layer)、全链接层(full connection layer)。

2.1 卷积层

卷积层主要是通过卷积块(filter)对目标图形做卷积处理,完成特征提取的任务。每个特征平面都代表上一层图像经过特定卷积块处理后在某一方面表现突出的特征,如方向线段、端点、角点等。卷积层结构如图1所示。

图1 卷积层结构示意图

原始图像大小为w×h,将其定义为Xlarge。通过从原始图像中抽取图像样本Xsmall与卷积核建立关系:

(1)

该函数是一个ReLU函数。由此得到了k个特征,其中W1和b1是可视层单元和隐含单元之间的权重和偏差值。对于每一个图像样本Xsmall,计算出对应的值:

(2)

其中:a为卷积核的长;b为卷积核的宽。即得到k×(w-a+1)×(h-b+1)个卷积后的特征的矩阵。

在卷积层激活函数的选取上,本文选择ReLU函数作为卷积层激活函数,其计算公式为:

(3)

其中:xijd是经过卷积处理后的第i行、j列、d层的输出值;yijd为经过ReLU函数处理后的输出值,即下一层池化层的输入值。

该函数可以在很大程度上减少计算量,相比sigmoid有很大的优势。在sigmoid 函数计算过程中易出现梯度消失的情况,会造成数据丢失,ReLU 函数可以避免这一现象的出现[12]。同时,ReLU函数会调整部分神经元的输出为0,减少了参数的关联性,一定程度上缓解了过拟合问题的发生。

2.2 池化层

在卷积神经网络中,池化层通常在卷积层后,通过池化来降低卷积层输出的特征向量维数。为了描述大的图像,可以对图像特征做聚合处理,从而提取出局部主要特征,加快训练速度。池化层的主要作用是通过卷积获得特征之后,对所得到的特征做聚合统计,在保证准确率的同时,减去了冗余重复特征。一般采用的池化方法有两种:平均池化(mean pooling)和最大池化(max pooling)。

最大池化是选取图像目标局部区域的最大值作为该区域池化后的值,两者都伴随着原始图像维度的降低,计算公式如下:

(4)

其中:xijc为邻域Ωi′j′内的i行、j列的函数值;Ωi′j′表示以xi′j′为中心的大小为某一定值的邻域。

图2为2×2的池化窗口对原始图像的最大池化过程,左侧为原始图像的像素表示,右侧为最大池化后的效果。

图2 池化层结构示意图

2.3 卷积神经网络结构及改进

在处理大数据集方面,传统卷积神经网络由于卷积层和池化层数较少,获得的特征图数量相对不足,分类效果不佳。针对传统卷积神经的缺点,本文的改进主要有两点:

1) 分别增加卷积层和池化层层数至3层,提高各层提取出目标图像的特征的能力,改善了分类效果。

2) 对于卷积层卷积窗口(pooling size)的规格,均选取5×5。一方面减少实验参数,提高训练效率;另一方面,对卷积窗口扫描的步长(stride)选择为2,充分保留了图像的原始特征,保证了分类精确度。

3 实验及结果分析

3.1 实验设置

实验的操作环境为Anaconda3 (32-bit)-Ipython,windows 7操作系统,主频 2.53 GHz,内存2 GB。实验数据集为 CIFAR-10 dataset(数据来源:https://www.cs.toronto.edu/kriz/cifar.html),其中包含 60 000幅32×32像素的照片,可分为有10类,每一类6 000幅,其中5 000幅为训练数据,1 000 幅为实验数据。部分图形如图3所示,其中左列表示分类标签,每一行表示该类中的部分训练样本。

根据classification datasets results统计的各种算法对各类数据库(MNIST,CIFAR-10,CIFAR-100,STL-10,SVHN)的分类准确率,目前对CIFAR-10分类效果最好的是Benjamin Graham 提出的Fractional Max-Pooling[11],精确度达到96.53%。其主要思想是在池化层中赋予池化窗一个整数α值。随着对隐含层的池化处理,α值逐渐变小。这也是本文待优化的一个方向,即引入参数来提高池化效率,从而提高整体的分类效果。

本研究所用的卷积神经网络一共有7层,其中有3个卷积层、3个池化层、1个全连接层。

在滤波器大小的选择上,各卷积层都使用了规格为5×5的卷积块,池化层则使用了规格为2×2的池化窗,如表1所示。同时表1也给出了各个网络层的参数数目及其具体计算过程。

3.2 实验结果分析

图4为该结构卷积神经网络对其中1幅图片的识别过程。通过各层神经网络处理后图像发生变化,像素逐步由高到低。在前期特征提取中,飞机的整体轮廓特征保留得较为完整,在后期图像识别过程中,突出提取出了飞机的局部特征,如机头,尾翼等。

图3 CIFAR-10部分图像

图4 一幅图片的识别过程

训练层C1S1C2S2C3S3FC滤波器5×5×32×25×5×162×25×5×202×2/参数数目1216/8020/10020/3210参数备注16×5×5×3+1620×5×5×16+2020×5×5×20+2010×320+10

由表2可以看出:卷积神经网络的分类精度明显高于其他3种预测方法。APAC(Augmented PAttern Classification)[14]是基于最优决策规则的增强数据学习方法,其在分类问题中具有优于其他传统方法的归一化性能。PCANet[15]是一种应用主成分分析的多级滤波器组合,具有很高的学习效率。这一方法被应用于Extended Yale B,AR,MNIST 数据集,都具有很高的分辨率。

表2 各层滤波器大小及参数数目

4 结束语

本文对卷积神经网络进行了改进,并将其应用到了对数据库CIFAR-10的实验中。为了提高对大数量图像数据进行分析处理的能力,对传统的卷积神经网络进行结构上的改进。研究结果显示:改进后的卷积神经网络模型能提取出图像中目标的明显特征,可精确地对目标数据集进行分类,准确度达到了90.37%。

在今后的研究中,可以考虑对前期图像的预处理进行优化,提高后期特征提取效率,进一步提高分类准确度。

[1] 于丽莉,戴青.一种改进的SIFT特征匹配算法[J].计算机工程,2011(2):210-212.

YULili,DAIQing.AnimprovedSIFTfeaturematchingalgorithm[J].ComputerEngineering,2011(2):210-212.

[2] 王彦情,马雷,田原.光学遥感图像舰船目标检测与识别综述[J].自动化学报,2011(9):1029-1039.

WANGYanqing,MALei,TIANYuan.StateoftheartofShipDetectionandRecognitioninOpticalRemotelySensedImagery[J].Actaautomaticsinica,2011(9):1029-1039.

[3] 李艳灵,沈轶.基于KNN的均值漂移图像分割算法[J].华中科技大学学报(自然科学版),2009(10):68-71.

LIYanling,SHENYi.KNN-basedmeanshiftalgorithmforimagesegmentation[J].JHuazhongUniversityofSci&Tech(NaturalScienceEdition),2009(10):68-71.

[4] 卜富清.基于人工神经网络的图像识别和分类[D].成都:成都理工大学,2010.

BUFuqing.ImageRecognitionandClassificationBasedonArtificialNeuralNetworks[D].Chengdu:ChengduUniversityofTechnology,2010.

[5] 肖靓.基于支持向量机的图像分类研究[D].上海:同济大学,2006.XIAOLiang.SupportVectorMachine-BasedImageClassificationResearch[D].Shanghai:TongjiUniversity,2006.

[6] 赵志宏,杨绍普,马增强.基于卷积神经网络LeNet-5的车牌字符识别研究[J].系统仿真学报,2010(3):638-641.

ZHAOZhihong,YANGShaopu,MAZengqiang.LicensePlateCharacterRecognitionBasedonConvolutionalNeuralNetworkLeNet-5[J].JournalofSystemSimulation,2010(3):638-641.

[7] 徐姗姗,刘应安,徐昇.基于卷积神经网络的木材缺陷识别[J].山东大学学报(工学版),2013(2):23-28.

XUShanshan,LiuYing’an,XUSheng.Wooddefectsrecognitionbasedontheconvolutionalneuralnetwork[J].JournalofShandongUniverstiy(EngineeringScience),2013(2):23-28.

[8] 肖柏旭,张丽静.基于分流抑制机制的卷积神经网络人脸检测法[J].计算机应用,2006(S1):46-48.

XIAOBaixu,ZHANGLijing.Afacedetectionmethodbasedonneuralnetworkbasedonthemechanismofshuntinginhibiton[J].ComputerApplications,2006(S1):46-48.

[9]RASEKHIJ,MOLLAEIMRK,BANDARABADIM,etal.Epilepticseizurepredictionbasedonratioanddifferentiallinearunivariatefeatures[J].Journalofmedicalsignalsandsensors,2015,5(1):1.

[10]贾世杰,杨东坡,刘金环.基于卷积神经网络的商品图像精细分类[J].山东科技大学学报(自然科学版),2014(6):91-96.

JIAShijie,YANGDongpo,LIUJinhuan.ProductImageFine-grainedClassificationBasedonConvolutionalNeuralNetwork[J].JournalofShandongUniversityofScienceandTechnology(NaturalScience),2014(6):91-96.

[11]GRAHAMB.Fractionalmax-pooling[J].arXivpreprintarXiv,2014(12):6071.

[12]IOFFES,SZEGEDYC.Batchnormalization:Acceleratingdeepnetworktrainingbyreducinginternalcovariateshift[J].arXivpreprintarXiv,2015(2):031675.

[13]HEK,ZHANGX,RENS,etal.Identitymappingsindeepresidualnetworks[J].arXivpreprintarXiv.2016(3):05027.

[14]SATOI,NISHIMURAH,YOKOK.APAC:AugmentedPAtternClassificationwithNeuralNetworks[J].arXivpreprintarXiv,2015(5):03229.

[15]CHANTH,JIAK.PCANet:ASimpleDeepLearningBaselineforImageClassification[J].arXivpreprintarXiv,2014(4):3606.

(责任编辑 杨黎丽)

Research on Image Classification Performance Based on Improved Convolution Neural Network

CHANG Xianga, YANG Mingb

(a.National Key Lab for Electronic Measurement and Technology; b.College of Science, North University of China, Taiyuan 030051, China)

An improved convolution neural network is applied to image object recognition. In order to improve the accuracy of classification prediction, this paper improves the structure of the basic convolution neural network. The concrete structure is as follows: Convolution layer C1—Pool layer S1—Convolution layer C2—Pool layer S2—Convolution layer C3—pool Layer S3—full-connect layer FC—output, ant it mainly increased the number of convolution layers, and unified selection of 5×5 in the convolution filter specification. Finally, this model is compared with other models (ReNet, APAC, PACNet) for CIFAR-10 database. Through the final prediction accuracy, it can be seen that the improved convolutional nerve has a better precision of 90.37% than the other three models.

convolution neural network; image classification technique; convolution layer; pooling

2016-12-15 基金项目:国家自然科学基金资助项目(61171179)

常祥(1991—),男,山西临汾人,硕士研究生,主要从事图像处理研究,E-mail:437345404@qq.com;杨明(1970—),男,四川阆中人,硕士,副教授,主要从事数据挖掘研究,E-mail:843628650@qq.com。

常祥, 杨明.基于改进的卷积神经网络的图像分类性能[J].重庆理工大学学报(自然科学),2017(3):110-115.

format:CHANG Xiang, YANG Ming.Research on Image Classification Performance Based on Improved Convolution Neural Network[J].Journal of Chongqing University of Technology(Natural Science),2017(3):110-115.

10.3969/j.issn.1674-8425(z).2017.03.016

TP391;O175.1

A

1674-8425(2017)03-0110-06

猜你喜欢

池化层池化卷积
基于Sobel算子的池化算法设计
基于高斯函数的池化算法
卷积神经网络中的自适应加权池化
基于3D-Winograd的快速卷积算法设计及FPGA实现
卷积神经网络模型研究分析*
基于卷积神经网络的纸币分类与点钞
基于深度学习卷积神经网络的人体行为识别研究
卷积神经网络的分析与设计
从滤波器理解卷积
基于卷积神经网络和池化算法的表情识别研究