一种基于卷积神经网络的图像分类方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
F
福建电脑
UJIAN COMPUTER
福建电脑2018年第2期
基金项目:国家级大学生创新训练计划项目(201610719001);陕西省大学生创新训练计划项目(1495)。
0引言
图像分类就是利用计算机模拟人类对图像的理解和认知,自动根据图像的内容将图片划分到合适的类别中,它在智能识别、目标检测和信息搜索等计算机视觉领域有着广泛的应用,图像分类问题也一直是计算机视觉的基本问题。目前,关于图像分类的研究大多集中在医学图像、遥感图像等专业领域,而对于自然图像分类的研究较少,虽然分类的算法如K 最近邻算法[1]、决策树算法[2]、神经网络算法[3]、支持向量机算法[4]和一些混合算法[5]能达到较可观的分类效果,但对大数据库的分类,存在训练时间长,准确度低、易出现过拟合等缺点。
由于卷积神经网络[6](Convolutional Neural Network,CNN )具有输入图像不需预处理;特征提取和模式分类同时在训练中产生;权重共享减少了网络训练参数;很强的抗干扰能力等优点。本文首先分析探讨了卷积神经网络结构、原理,提出了一种改进的卷积神经网络,设计了基于该模型的图像分类算法,实验结果表明该模型能提取出大数据库中图像明显特征,可精确地对图像集进行分类。
1卷积神经网络及其改进
CNN 是将卷积运算引入到深度学习模型,属于多层前馈神经网络模型,但与传统不同的是它的输入是二维模式,可以直接处理二维模式,其连接权是二维权矩阵,称为卷积核,基本操作是二维离散卷积和池化。简单地说,CNN 就是能够自动的对于一张图片学习出最好的卷积核以及这些卷积核的组合方式。
1.1CNN 结构
CNN 一般由卷积层、池化层、全连接层和一个输出层(或分类器)组成。每层由多个二维平面块组成,每个平面块由多个独立神经元组成,如图1所示。
卷积层通过卷积运算提取图像的不同特征,包含若干组CNN 训练的参数,即进行学习的卷积核,当前层的卷积核对输入的一组图片做卷积运算,再经过激活函数得到新的特征图像,通常采用卷积离散型将输入原始图像的像素输出为新的像素点,可由公式(1)计算得出:
(1)
其中,M β表示输入特征图像的子集;W γαβ表示卷积核;γ表
示网络层数;b γβ表示输出特征映射的偏置,f 表示激活函数,最常用的是sigmoid 函数与双曲正切函数。
卷积层后一般接入池化层来减小数据量,通过池化把输入的特征图像分割为不重叠的矩形区域,而对相应的矩形区域做运算,常见的有最大池化和均值池化。经过交替的卷积层和池化层之后,已经获得了高度抽象的特征图像,全连接层把得到的多个特征映射转化为一个特征向量以完全连接的方式输出,最后对提取的特征进行分类。
1.2CNN 工作原理
在CNN 中,通过神经网络的梯度反向传播算法实现对参数的学习训练,属于有监督学习。在进行学习训练过程中,输入信号的训练输出和实际输出会有一定误差,误差在梯度下降算法中逐层传播,逐层更新网络参数。假设样例(x ,y )的损失函数为C (W ,b ;x ,y ),如式(2)。
(2)为防止过拟合,需增加,L 2范数,如式(3)。
(3)
其中,h W ,b (x )为输入样本x 经过CNN 后的输出,y 为样本的标签真值,λ为控制强度。为了使代价函数尽可能的小,因此需要不断更新每一层的权重W 和偏置项b ,任意一层(假设为γ层)的权重更新如式(4)。
(4)
1.3CNN 的改进
在处理大数据集方面,由于卷积层和池化层数较少,获得的特征图相对不足,因此达不到较好的分类效果。针对该缺点,依据CNN 的卷积层和池化层设置灵活性,不同的结构设置会得到不同结果的特点,对传统CNN 进行了两方面的改进,一方面将卷积层和池化层层数分别增至3层,提高了各层提取图像特征的能力,使分类效果得到改善;另一方面设置卷积核大小为5×5,扫描的步长为2,在提高训练效率的同时也保证了分类精确度。
2基于改进CNN 的图像分类
一种基于卷积神经网络的图像分类方法
张琳林,曹军梅
(延安大学计算机学院陕西延安716000)
【摘要】利用卷积神经网络是深度学习的一种高效识别模型的思想,
将卷积神经网络应用于图像分类中,避免对图像进行复杂的预处理的同时也提高了图像分类的准确度。在分析卷积神经网络结构、
原理及特点的基础上,提出了一种改进的卷积神经网络模型,设计了基于该模型的图像分类算法,
并在大数据库CIFA R-10下进行实验验证,表明图像分类的准确度高,总结了网络模型对图像分类结果的影响因素。
【关键词】卷积神经网络;图像分类;卷积;池化;特征图像图1CNN 的基本结
构
DOI:10.16707/ki.fjpc.2018.02.021
46··
F
福建电脑
UJIAN COMPUTER
福建电脑
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 R -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]Zhao Yongwei,Li Ting.Image classification method based on deep learning coding model [J ].Advanced Engineering Sciences,2017,49(1):213-220.
[6]周飞燕,金林鹏.卷积神经网络研究综述[J ].计算机学报,2017,40(7):1-22.
作者简介:
张琳林(1996-),男,汉族,陕西渭南人,本科,研究方向:计算机视觉;曹军梅(1970-),女,汉族,陕西延安人,副教授,主要研究方向:图像处理,计算机视觉。
网络平均准确率训练时间(s )测试时间(s )
CNN150.2%6832.58.7CNN281.5%6532.68.6CNN387.3%8290.2
9.4CNN4
85.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.3
8.1
8.3
8.9
9.8
9.2
图2改进CNN 流程简图
表14种网络结构的实验结果
47··