F
福建电脑
UJIANCOMPUTER
福建电脑
2018年第2期
基金项目:国家级大学生创新训练计划项目(201610719001);陕西省大学生创新训练计划项目(1495)。
0引言
图像分类就是利用计算机模拟人类对图像的理解和认知袁
自动根据图像的内容将图片划分到合适的类别中袁它在智能识
别尧目标检测和信息搜索等计算机视觉领域有着广泛的应用袁
图像分类问题也一直是计算机视觉的基本问题遥目前袁关于图
像分类的研究大多集中在医学图像尧遥感图像等专业领域袁而
对于自然图像分类的研究较少袁虽然分类的算法如K最近邻算
法[1]尧决策树算法[2]尧神经网络算法[3]尧支持向量机算法[4]和一些混
合算法[5]能达到较可观的分类效果袁但对大数据库的分类袁存在
训练时间长袁准确度低尧易出现过拟合等缺点遥
由于卷积神经网络
[6]
渊ConvolutionalNeuralNetwork,CNN冤
具有输入图像不需预处理曰特征提取和模式分类同时在训练中
产生曰权重共享减少了网络训练参数曰很强的抗干扰能力等优
点遥本文首先分析探讨了卷积神经网络结构尧原理袁提出了一种
改进的卷积神经网络袁设计了基于该模型的图像分类算法袁实
验结果表明该模型能提取出大数据库中图像明显特征袁可精确
地对图像集进行分类遥
1卷积神经网络及其改进
CNN是将卷积运算引入到深度学习模型袁属于多层前馈神
经网络模型袁但与传统不同的是它的输入是二维模式袁可以直
接处理二维模式袁其连接权是二维权矩阵袁称为卷积核袁基本操
作是二维离散卷积和池化遥简单地说袁CNN就是能够自动的对
于一张图片学习出最好的卷积核以及这些卷积核的组合方式遥
1.1CNN结构
CNN一般由卷积层尧池化层尧全连接层和一个输出层渊或分
类器冤组成遥每层由多个二维平面块组成袁每个平面块由多个独
立神经元组成袁如图1所示遥
卷积层通过卷积运算提取图像的不同特征袁包含若干组
CNN训练的参数袁即进行学习的卷积核袁当前层的卷积核对输
入的一组图片做卷积运算袁再经过激活函数得到新的特征图
像袁通常采用卷积离散型将输入原始图像的像素输出为新的像
素点袁可由公式(1)计算得出院
(1)
其中袁M茁表示输入特征图像的子集曰W酌琢茁表示卷积核曰酌表
示网络层数曰b酌茁表示输出特征映射的偏置袁枣表示激活函数袁最
常用的是sigmoid函数与双曲正切函数遥
卷积层后一般接入池化层来减小数据量袁通过池化把输入
的特征图像分割为不重叠的矩形区域袁而对相应的矩形区域做
运算袁常见的有最大池化和均值池化遥经过交替的卷积层和池
化层之后袁已经获得了高度抽象的特征图像袁全连接层把得到
的多个特征映射转化为一个特征向量以完全连接的方式输出袁
最后对提取的特征进行分类遥
1.2CNN工作原理
在CNN中袁通过神经网络的梯度反向传播算法实现对参
数的学习训练袁属于有监督学习遥在进行学习训练过程中袁输入
信号的训练输出和实际输出会有一定误差袁误差在梯度下降算
法中逐层传播袁逐层更新网络参数遥假设样例渊x袁y冤的损失函数
为C渊W袁b曰x袁y冤袁如式(2)遥
(2)
为防止过拟合袁需增加袁L2范数袁如式(3)遥
(3)
其中袁h
W袁b
渊x冤为输入样本x经过CNN后的输出袁y为样本
的标签真值袁姿为控制强度遥为了使代价函数尽可能的小袁因此
需要不断更新每一层的权重W和偏置项b袁任意一层渊假设为
酌层冤的权重更新如式(4)遥
(4)
1.3CNN的改进
在处理大数据集方面袁由于卷积层和池化层数较少袁获得
的特征图相对不足袁因此达不到较好的分类效果遥针对该缺点袁
依据CNN的卷积层和池化层设置灵活性袁不同的结构设置会
得到不同结果的特点袁对传统CNN进行了两方面的改进袁一方
面将卷积层和池化层层数分别增至3层袁提高了各层提取图像
特征的能力袁使分类效果得到改善曰另一方面设置卷积核大小
为5伊5袁扫描的步长为2袁在提高训练效率的同时也保证了分类
精确度遥
2基于改进CNN的图像分类
一种基于卷积神经网络的图像分类方法
张琳林,曹军梅
(延安大学计算机学院陕西延安716000)
【摘要】利用卷积神经网络是深度学习的一种高效识别模型的思想
,将卷积神经网络应用于图像分类中,避免对图
像进行复杂的预处理的同时也提高了图像分类的准确度。在分析卷积神经网络结构
、原理及特点的基础上,提出了一种
改进的卷积神经网络模型,设计了基于该模型的图像分类算法,并在大数据库CIFAR-10下进行实验验证,
表明图像分
类的准确度高,总结了网络模型对图像分类结果的影响因素
。
【关键词】卷积神经网络;图像分类
;卷积;池化;特征图像
图1CNN的基本结构
DOI:10.16707/j.cnki.fjpc.2018.02.021
46··
F
福建电脑
UJIANCOMPUTER
福建电脑
2018年第2期
将本文改进的CNN用于图像分类袁具体的图像分类流程
如图2所示袁包含训练过程和测试过程袁卷积层采用sigmoid函
数作为激活函数袁池化层采用均值池化遥训练过程院从训练图像集的某一类中任意选取一个参加训练的图像袁通过移动感受野对图像进行3层交替的卷积与池化袁提取到训练图像的多方面特征袁将多方面特征经全连接后野拼接冶起来袁输出袁求出该输出与理想输出的误差袁为使误差达到最小阈值袁需进行反向传播并调整权值遥通过多次迭代完成训练过程袁得到学习模型遥测试过程是对训练得到的学习模型进行测试袁只需对训练图像进行3层交替的卷积与池化袁最后全连接即可遥3图像分类实验及分析3.1实验设置实验使用Google的TensorFlow深度学习框架袁学习模型使用本文提出的改进CNN的7层模型袁实验数据集为通用的图像分类数据集CIFAR-10袁该数据集包含60000幅32伊32像素的照片袁共分为10类袁分别为airplane尧automobile尧truck尧ship尧horse尧dog尧bird尧cat尧deer尧frog袁每一类6000幅袁其中5000幅为训练集袁1000幅为测试集遥3.2实验结果3.2.1不同网络结构对分类结果的影响设置4种不同的网络结构CNN1院4c-2s-8c-2s-12c-2s曰CNN2院8c-4s-12c-4s-16c-4s曰CNN3院10c-4s-16c-4s-20c-4s曰CNN4院12c-4s-20c-4s-24c-4s曰结构设置中c表示卷积层袁s表示池化层袁数字表示相应层所取特征映射个数遥实验结果如表1
所示遥
分析得出袁在一定范围内袁分类的准确率随着特征映射数
的增多而增大袁过小的池化矩阵会导致不理想的分类效果袁不
同的网络结构对测试时间影响较小袁但对训练时间影响较大遥
3.2.2迭代次数对分类结果的影响
CNN通过多次迭代运算从而得到理想参数遥应用不同迭代
次数的实验结果如表2所示遥
表2不同迭代次数的实验结果
分析得出袁在一定范围内袁分类的准确率随着迭代次数的
增加而上升袁但当训练次数足够多时袁特征参数就趋于稳定袁表
示CNN已呈收敛状态袁分类性能达到最优袁训练所用时间随着
迭代次数的增加而增加袁但测试时间不受其影响遥
4结束语
CNN通过共享权值尧感受野和池化等过程进行学习袁具有
计算复杂性低袁鲁棒性好遥本文将改进的CNN应用与大数据库
CIFA砸-10的实验中袁实验结果表明改进后的CNN能够较好
的实现大数据库中图像的分类遥
参考文献:
[1]张志强,乃永强等.基KNN的均值漂移图像分割算法[C].第18届
中国系统仿真技术及其应用学术年会,2017:220-224
[2]贾世杰等.基于互补特征和类描述的商品图像自动分类[J].电子与
信息学报,2014,32(10):2294-2300.
[3]阳柯.基于深度神经网络的图像分类算法研究[D].沈阳航空航天大
学,2016:236-248
[4]王振武,孙佳骏.基于支持向量机的遥感图像分类研究综述[J].计算
机科学,2016,43(9):11-17
[5]ZhaoYongwei,LiTing.Imageclassificationmethodbasedondeep
learningcodingmodel[J].AdvancedEngineeringSciences,2017,49(1):
213-220.
[6]周飞燕,金林鹏.卷积神经网络研究综述[J].计算机学报,2017,40(7):
1-22.
作者简介:
张琳林(1996-),男,汉族,陕西渭南人,
本科,研究方向:计算机视
觉;曹军梅(1970-),女,汉族,陕西延安人,
副教授,主要研究方向:图
像处理,计算机视觉
。
网络平均准确率训练时间渊s冤测试时间渊s冤
CNN150.2%6832.58.7
CNN281.5%6532.68.6
CNN387.3%8290.29.4
CNN485.0%10986.59.6
迭代次数1050100200300500
平均准确率52.4%83.2%87.1%87.6%85.3%85.3&
训练时间渊s冤762.33946.47598.314385.824683.940869.5
测试时间渊s冤7.38.18.38.99.89.2
图2改进CNN流程简图
表14种网络结构的实验结果
47··