基于CNN的中国绘画图像分类

2017-04-13 01:04黄雪丽王小华杨冰姚金良
关键词:卷积聚类准确率

黄雪丽,王小华,杨冰,姚金良

基于CNN的中国绘画图像分类

黄雪丽1,王小华2,杨冰1,姚金良1

(1.杭州电子科技大学计算机学院,浙江 杭州 310018;2.中国计量学院计算机学院,浙江 杭州 310018)

提出了一种基于卷积神经网络CNN的中国绘画图像分类方法.首先针对过拟合问题,提出了一种改进的合成少数类过采样技术SMOTE扩增数据,然后将扩增后的数据直接输入到CNN中,经过隐藏层的卷积和亚采样,并采用校正线性单元ReLu、S形生长曲线Sigmoid替代传统的Sigmoid激活函数,提取的数据能更好地表示其特征.实验结果表明,与传统分类方法相比,新提出的方法在中国绘画图像分类上具有良好的分类能力.

SMOTE;ReLu+Sigmoid;卷积神经网络;中国绘画图像分类

0 引 言

随着电子信息技术的高速发展及多媒体技术的广泛应用,如何使数字化的图像资源成为一种有效的载体是目前及未来研究的热点.中国绘画是一种非自然场景下的图像理解,所涵盖的语义信息比传统的数字图像更加丰富与抽象[1].但其来源受限,存在分布不集中、分类不明确、收集不易、每类数量不多等问题[2].传统的绘画图像分类研究大部分基于浅层的学习.文献[3]通过提取边缘大小直方图来描述图像边缘的粒度和稀疏度,采用SVM对其分类.文献[4]通过提取颜色与纹理特征,采用Bayes、线性判别分析(Fisher Linear Discriminant Analysis,FLD)、支持向量机(Support Vector Machines,SVM)等多种分类器按照绘画技法与作者进行分类.这些基于浅层结构的学习算法,虽取得了一定的成效,但存在一些局限性.如有限的计算能力和有限的样本,在处理复杂分类问题时泛化能力受限制,需要靠人工设计和特征提取[5].卷积神经网络(Convolutional Neural Network,CNN)算法避免了前期对图像的复杂处理,通过自动地从大量数据学习特征,更加精准地表征数据内部隐藏的丰富信息[6],先后在很多领域取得了优秀成果.文献[7]采用了CNN方法在MNIST数据库中进行数字识别,与其他方法相比取得了最好的效果,错误率小于0.3%.文献[8]在文档字符识别时,通过与多重算法进行对比,验证了CNN优于其他所有算法.文献[9]将更深的CNN应用于解决ImageNet问题,取得当前学术界最好的结果,极大地促进了图像识别的发展.

据调查研究,CNN虽在图像分类领域取得了良好的效果,但在绘画图像分类方面的应用处于起步阶段[10].为此,本文提出了一种基于CNN的中国绘画图像分类法.首先采用改进的合成少数类过采样技术(Synthetic Minority Over-sampling Technique,SMOTE)扩增数据,然后应用基于Sigmoid+ReLu激活函数的CNN进行特征提取及分类.

1 改进的SMOTE

为了得到一致假设而使假设变得过度复杂称为过拟合.产生过拟合的原因常常是由于在对模型进行训练时,有可能遇到训练数据不够,即训练数据无法对整个数据的分布进行估计或对模型进行过度的训练[11].CNN的本质是通过构建多隐层的模型和海量的训练数据来学习更有用的特征,从而提升分类和预测的准确性[12].由于绘画图像数量有一定的局限性,故本文提出通过改进SMOTE的方法来扩增数据集.

1.1 主要原理

SMOTE主要原理是在少数距离较近的样本之间插入若干值,生成少量新的类样本,从而使少量样本的数量增加,提高少量类样本的分类精度[13].但该方法生成的样本会散落在稠密区域,不能很好地解决当前实验样本稀疏分布问题.本文提出的改进的SMOTE算法适当填充了类内间的稀疏区域,首先对每类样本分别进行聚类,将每类样本聚成k类,然后在到各个聚类的一个随机样本的路径上对每个已有的样本进行随机插值使得原始的每类样本扩展k倍,生成后的样本集是原始样本集的k+1倍.根据需要样本集的大小来调整k值,如原始样本集大小为n,将原始样本集扩展一倍则将k设为1即可.与添加噪声、随机复制等添加样本的方法相比,能更好地防止过拟合.因为添加噪声、随机复制等方法虽然增加了样本数量,但引入了额外的训练数据,延长了构建分类器的时间,增加类样本的有用信息少,不能很好地处理过拟合问题[14].

1.2 数据的生成

1.2.1 样本的聚类

运用K-means聚类算法将每类样本划分成多个子集,在缩小范围的同时可以迅速选出重要的样本[15].但由于K-means聚类算法结果受类质心初始化情况的影响,导致相对不稳定的结果.经理论及实践验证,融合多个分类器的结果可以提高分类准确度[16].因此本文为得到相对稳定的聚类结果,采用多分类器融合的思想,用投票法融合Q次聚类结果,每次聚类的初始化类质心不同,聚类的结果用矩阵A=(aij)(n为样本数,aij为样本i,j在同一聚类中出现的聚类次数)表示,如果aij/Q>0.5,那么将这2个样本归到同一聚类中[17].

1.2.2 样本的生成

每个样本均有一个自身所属的聚类,在自身聚类内样本和到其他聚类随机样本之间进行随机插值.如图1所示,Xi为一个已有样本属于C聚类,P1,P2,P3分别为样本到A,B,C聚类路径上随机生成的扩增样本,其中P3属于C类,提升了其当前类的分布密度,P1,P2则随机填充到相对稀疏区域.适当设置扩增数据的比例,得到的样本集能够更好地模拟数据的现实分布.这样既兼顾了SMOTE原生算法的功能,同时也扩展了对每类样本相对稀疏区域的填充.生成过程如下:

1)计算每个样本Xi到每个聚类一个随机样本Ri的距离d;

2)根据P=Xi+r d进行线性插值,生成样本P.其中,r为一个与Xi维度相同的随机矩阵.

图1 数据扩增示意图

1.2.3 聚类个数的设置

由于每个样本在到每个聚类的方向上都会随机生成一个样本,k个聚类将原有样本增加k倍,而过多的扩增数据会破坏数据的分布特性,降低模型的泛化能力.k值较小时,聚类的结果无法很好地确定类内稀疏区域,所以本文选择从生成的样本中随机挑选一定数量的数据加入训练.

2 基于Sigmoid+ReLu的CNN

2.1CNN的训练

CNN是一种带有卷积结构的深度神经网络,主要由卷积层与亚采样层交替构成,通过神经元间的非全连接和权重共享来减少权值数量,从而降低网络模型的复杂度.CNN的训练本质是一种从输入到输出的映射,其训练过程主要分为以下2个阶段[18].

1)第一阶段,前向传播.

a)从样本集中取一个样本(X,Yp),X输入向量,Yp理想输出;

b)计算相应的实际输出Op.

2)第二阶段,后向传播.

a)算出实际输出Op与相应的理想输出Yp的差;

b)按极小化误差的方法反向传播调整权矩阵.

2.2 激活函数Sigmoid+ReLu

传统神经网络的激活函数通常为Sigmoid或tanh.基于数学的角度,非线性的Sigmoid函数对两翼区域的信号增益较小,对中央区域的信号增益较大,这对于信号的特征空间映射具有很好的效果.就神经学而言,两翼区域类似神经元的抑制态,中央区域类似神经元的兴奋态.因此在学习时,将非重点特征推到两翼区,重点特征推向中央区[19].以校正函数max(0,x)为例的线性函数ReLu正是属于该模型,同时使用该函数可以降低梯度训练深度网络时的残差衰减问题.从输出层反向传播梯度Grad时,误差Error在各层都要与该层的输入神经元值x、激活函数的一阶导数Sigmoid′(x)相乘.即Grad=Error·Sigmoid′(x)·x这是一个双端饱和的Sigmoid系函数,该函数会出现2个问题:①Sigmoid′(x)∈(0,1)导数缩放;②x∈(0,1)或x∈(-1,1)饱和值缩放.

在这种情况下,途径神经网络的每一层时,误差都会成倍衰减,一旦进行递推式的多层反向传播,梯度就会不停地衰减和消失,使得网络学习速度变慢.而校正激活函数ReLu只有一端饱和,且梯度为1,梯度在反向传播中能够快速流动,进而极大地提高训练速度.因此本文卷积层采用ReLu作为激活函数,输出层采用Sigmoid作为激活函数,而亚采样层采用均值池化,无激活函数.

2.3CNN网络结构

研究表明,CNN网络结构的选取会影响分类结果的性能,影响其分类的优劣因素有很多,如输入数据的大小、网络的深度选取以及训练参数的设置等问题[20].本文主要是通过调整卷积神经网络的网络结构来优化网络,即对网络纵向深度和横向宽度进行调整.深度上,调整卷积层和亚采样层的堆叠层数;宽度上,调整网络各层的特征图数目以及每层平面的大小.经过多次调整,最终筛选出CNN的输入图像大小为32×32,最佳结构为6层:1层输入,2层卷积,2层亚采样层和一层全连接,如图2所示.

图2 CNN网络结构设定

3 实验结果与分析

本文实验的绘画数据来自于《珍好画业》和网页.实验根据绘画题材分为花鸟、人物、山水3大类,每类样本800幅.为验证本文所提方法的有效性,首先采用本文方法对不同扩增数据进行测试,验证采用改进的SMOTE扩增数据可以提高分类的准确率;然后采用未改进的CNN、神经网络(NeuralNetworks,NN)、深度信念网络(DeepBeliefNetworks,DBN)对本实验的数据进行测试,并将结果与本文的方法进行对比;最后将本文方法与浅层学习方法的分类结果进行对比,验证本文方法的可行性.

3.1 不同扩增数据集对分类结果的影响

为验证本文数据扩增的有效性,应用本文方法对4组不同程度的扩增数据进行验证.将原始样本分为训练集和测试集,每类的训练集是从800幅样本中随机抽取780幅,余下的20幅作为测试集.本实验中原始集用A(780)来表示,训练集与测试集同幅度扩增为原始集的i倍(i=0,2,3,4,5),用B(780×i)表示,总的训练集用(A+B)表示,实验结果如表1所示.拟合度即训练集预测准确率是从训练集(A+B)幅绘画数据中随机抽取20i幅作为训练集的预测样本测试得到的准确率,平均准确率为在测试集中测试得到的准确率.

表1 不同扩增数据集对分类的影响

过拟合是为了得到一致假设而使假设变得过度复杂,即训练集预测效果好,测试集预测效果差.由表1可以看出,使用原生样本集训练,拟合度为93.48%,分类平均准确率为66.33%,有明显的过拟合现象.通过改进的SMOTE方法对原数据集进行扩增,扩增了原始数据的2倍时,拟合度为94.33%,平均准确率达到82.22%,当扩增了原始数据的5倍时,拟合度为94.51%,平均准确率达到了91.55%,与原始数据集结果相比,分类准确率得到显著提高,且显著缓解了过拟合现象.同时可以看出不同扩增比对分类效果影响不一,随着扩增数量的增大,对实验结果的影响有减弱趋势,这是由于该数据生成算法只关注于对类内稀疏区域的填充,并未实现对类间稀疏区域的处理,不能扩展类别的边界.

3.2 与CNN,NN,DBN的实验对比

分别采用本文算法、传统CNN算法、NN算法、DBN算法在相同的数据集上进行测试,训练集从花鸟、人物、山水样本集中各随机抽取780幅,余下各20幅作为测试集.实验测试的数据集分别为扩增前与扩增后的数据,扩增前的训练集为2 340(780×3),测试集共为60(20×3),扩增后的训练集与测试集为扩增前的6倍,训练集和测试集分别为14 040(2 340×6)和360(60×6),实验结果如表2所示.

表2 不同深度结构学习方法的分类结果比较

从表2可以看出,利用改进的SMOTE扩增数据,在本文算法以及传统CNN,NN与DBN中,都可以显著地提高学习方法的识别率,且本文所提方法的分类性能明显优于其他方法,证明了本文方法的可行性.但由于数据扩增后,要训练的数据大大增加,导致了训练的时间变长.由于不同的学习方法训练数据的方式不同,使得不同的训练方法所消耗的时间不同;另一方面由于数据扩增可以更好地提取出比较全面的特征,使其收敛步数有所减少,从而提高分类性能.

3.3 与浅层学习方法的对比

文献[21]的研究表明图像分类性能对分类器的选取影响不大,因此在与其他浅层学习方法进行对比时,所采用的分类器统一为SVM,其中提取的人工特征分别为尺度不变特征转换(Scale-invariantFeatureTransform,SIFT)、梯度直方图(HistogramOfGradient,HOG)、基于HSV的全局颜色直方图、Color-SIFT.浅层实验中的训练集是随机从800幅花鸟、山水、人物样本集中抽出700幅,余下作为测试集.本文方法的测试数据来自于3.1中将数据扩增5倍后的数据,实验结果如表3所示.

表3 基于不同特征描述算子与本文算法分类准确率的比较

由表3可知,本文所提方法的分类准确率明显优于基于浅层学习方法的准确率,与采用人工规则来构造特征的方法相比,本文采用大数据自动学习的特征可以更好地刻画出数据的丰富内在信息,从而提高分类的准确性.

4 结束语

本文针对传统的中国绘画图像分类方法的局限性提出了一种基于CNN的分类算法,通过对比不同扩展集、不同深度的学习方法验证了本文方法在中国绘画图像分类上的可行性.绘画背景及与主题无关的信息如印章、不同类别的融合等对分类结果也有一定的影响,但本文尚未将其考虑在内,后期将在本文基础上,通过显著性等方法提出主题,进而进一步提高分类质量.

[1]SUNM,ZHANGD,WANGZ,etal.MonteCarloConvexHullModelforclassificationoftraditionalChinesepaintings[J].Neurocomputing, 2015,171:788-797.

[2]PANWG,BAOH,HEN.NovelBinaryClassificationMethodforTraditionalChinesePaintingsandCaligraphyImages[J].ComputerScience, 2012,39(3):256-259.

[3]JIANGS,HUANGQ,YEQ,etal.AneffectivemethodtodetectandcategorizedigitizedtraditionalChinesepaintings[J].PatternRecognitionLetters, 2006,27(7):734-746.

[4]LIUC,JIANGH.ClassificationoftraditionalChinesepaintingsbasedonsupervisedlearningmethods[C]//IEEEInternationalConferenceonSignalProcessing,CommunicationsandComputing.IEEE, 2014:641-644.

[5]ZHANGX,ZHAOJ,LECUNY.Character-levelconvolutionalnetworksfortextclassification[C]//AdvancesinNeuralInformationProcessingSystems. 2015:649-657.

[6]ELADELA,EJBALIR,ZAIEDM,etal.Deeplearningwithshallowarchitectureforimageclassification[C]//HighPerformanceComputing&Simulation(HPCS), 2015InternationalConferenceon.IEEE, 2015:408-412.

[7]CIREGAND,MEIERU,SCHMIDHUBERJ.Multi-columndeepneuralnetworksforimageclassification[C]//ComputerVision&PatternRecognition(CVPR), 2012IEEEConferenceon.IEEE, 2012:3642-3649.

[8]ZHANGX,ZHAOJ,LECUNY.Character-levelconvolutionalnetworksfortextclassification[C]//AdvancesinNeuralInformationProcessingSystems. 2015:649-657.

[9]LECUNY,BENGIOY,HINTONG.Deeplearning[J].Nature, 2015,521(7553):436-444.

[10]ZEILERMD,FERGUSR.Visualizingandunderstandingconvolutionalnetworks[C]//EuropeanConferenceonComputerVision.SpringerInternationalPublishing, 2014:818-833.

[11]VANWYKAB.AnAnalysisofOverfittinginParticleSwarmOptimisedNeuralNetworks[D].Pretoria:UniversityofPretoria, 2015.

[12]胡正平,陈俊岭,王蒙,等.卷积神经网络分类模型在模式识别中的新进展[J].燕山大学学报,2015,39(4):283-291.

[13]XUJ.IDSMethodBasedonImprovedSVMAlgorithmUnderUnbalancedDataSets[C]//Proceedingsofthe2012InternationalConferenceonCyberneticsandInformatics.NewYork:Springer, 2014:413-420.

[14]李想.基于均衡采样方法的数据不平衡问题研究[D].大连:大连理工大学,2014.

[15]BANDYOPADHYAYS,MAULIKU.AnevolutionarytechniquebasedonK-meansalgorithmforoptimalclusteringinRN[J].InformationSciences, 2002,146(1):221-237.

[16]张莉,郭军.基于边界样本的训练样本选择方法[J].北京邮电大学学报(自然科学版),2006,29(4):77-80.

[17]XIEY,LIUY,FUQ.ImbalancedDataSetsClassificationBasedonSVMforSand-DustStormWarning[J].DiscreteDynamicsinNature&Society, 2015,2015(2):1-8.

[18]MATTHEWDZEILER,ROBFERGUS.VisualizingandUnderstandingConvolutionalNetworks[M].ComputerVision-ECCV.SpringerInternationalPublishing, 2014:818-833.

[19]何鹏程.改进的卷积神经网络模型及其应用研究[D].大连:大连理工大学,2015.

[20]王振,高茂庭.基于卷积神经网络的图像识别算法设计与实现[J].现代计算机,2015(7):61-66.

[21]鲍泓.基于视觉感知的中国画图像语义自动分类研究[D].北京:北京交通大学,2012.

Classification of Chinese Painting Image Based on CNN

HUANG Xueli1, WANG Xiaohua2, YANG Bing1, YAO Jinliang1

(1.SchoolofComputer,HangzhouDianziUniversity,HangzhouZhejiang310018,China;2.SchoolofComputer,ChinaJiliangUniversity,HangzhouZhejiang310018,China)

This paper presented a method which based on convolutional neural network(CNN) algorithm to classify Chinese painting images. Data was augmented with an improved synthetic minority over-sampling technique(SMOTE) to avoid over fitting problem firstly. And then the augmented data was inputted to the CNN system directly. After hidden layers of convolution and sub-sampling, activation function which was replaced from traditional Sigmoid to the rectified linear units, Sigmoid. Finally, features which can be better represents data were extracted. Experimental results show that the presented method has excellent classification ability for the classification of Chinese painting image.

synthetic minority over-sampling technique; ReLu + Sigmoid; convolutional neural network; classification of Chinese painting

10.13954/j.cnki.hdu.2017.02.010

2016-06-03

国家自然科学基金资助项目(61402143,61202280);浙江省自然科学基金资助项目(LQ14F020012)

黄雪丽(1990-),女,河南安阳人,硕士研究生,图像分类.通信作者:王小华教授,E-mail:wxh@cjlu.edu.cn.

TP391

A

1001-9146(2017)02-0045-06

猜你喜欢
卷积聚类准确率
基于3D-Winograd的快速卷积算法设计及FPGA实现
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
卷积神经网络的分析与设计
基于K-means聚类的车-地无线通信场强研究
从滤波器理解卷积
高速公路车牌识别标识站准确率验证法
基于傅里叶域卷积表示的目标跟踪算法
基于高斯混合聚类的阵列干涉SAR三维成像