黃雪麗,王小華,楊冰,姚金良
基于CNN的中國繪畫圖像分類
黃雪麗1,王小華2,楊冰1,姚金良1
(1.杭州電子科技大學(xué)計算機學(xué)院,浙江 杭州 310018;2.中國計量學(xué)院計算機學(xué)院,浙江 杭州 310018)
提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)CNN的中國繪畫圖像分類方法.首先針對過擬合問題,提出了一種改進的合成少數(shù)類過采樣技術(shù)SMOTE擴增數(shù)據(jù),然后將擴增后的數(shù)據(jù)直接輸入到CNN中,經(jīng)過隱藏層的卷積和亞采樣,并采用校正線性單元ReLu、S形生長曲線Sigmoid替代傳統(tǒng)的Sigmoid激活函數(shù),提取的數(shù)據(jù)能更好地表示其特征.實驗結(jié)果表明,與傳統(tǒng)分類方法相比,新提出的方法在中國繪畫圖像分類上具有良好的分類能力.
SMOTE;ReLu+Sigmoid;卷積神經(jīng)網(wǎng)絡(luò);中國繪畫圖像分類
隨著電子信息技術(shù)的高速發(fā)展及多媒體技術(shù)的廣泛應(yīng)用,如何使數(shù)字化的圖像資源成為一種有效的載體是目前及未來研究的熱點.中國繪畫是一種非自然場景下的圖像理解,所涵蓋的語義信息比傳統(tǒng)的數(shù)字圖像更加豐富與抽象[1].但其來源受限,存在分布不集中、分類不明確、收集不易、每類數(shù)量不多等問題[2].傳統(tǒng)的繪畫圖像分類研究大部分基于淺層的學(xué)習(xí).文獻[3]通過提取邊緣大小直方圖來描述圖像邊緣的粒度和稀疏度,采用SVM對其分類.文獻[4]通過提取顏色與紋理特征,采用Bayes、線性判別分析(Fisher Linear Discriminant Analysis,F(xiàn)LD)、支持向量機(Support Vector Machines,SVM)等多種分類器按照繪畫技法與作者進行分類.這些基于淺層結(jié)構(gòu)的學(xué)習(xí)算法,雖取得了一定的成效,但存在一些局限性.如有限的計算能力和有限的樣本,在處理復(fù)雜分類問題時泛化能力受限制,需要靠人工設(shè)計和特征提取[5].卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)算法避免了前期對圖像的復(fù)雜處理,通過自動地從大量數(shù)據(jù)學(xué)習(xí)特征,更加精準地表征數(shù)據(jù)內(nèi)部隱藏的豐富信息[6],先后在很多領(lǐng)域取得了優(yōu)秀成果.文獻[7]采用了CNN方法在MNIST數(shù)據(jù)庫中進行數(shù)字識別,與其他方法相比取得了最好的效果,錯誤率小于0.3%.文獻[8]在文檔字符識別時,通過與多重算法進行對比,驗證了CNN優(yōu)于其他所有算法.文獻[9]將更深的CNN應(yīng)用于解決ImageNet問題,取得當(dāng)前學(xué)術(shù)界最好的結(jié)果,極大地促進了圖像識別的發(fā)展.
據(jù)調(diào)查研究,CNN雖在圖像分類領(lǐng)域取得了良好的效果,但在繪畫圖像分類方面的應(yīng)用處于起步階段[10].為此,本文提出了一種基于CNN的中國繪畫圖像分類法.首先采用改進的合成少數(shù)類過采樣技術(shù)(Synthetic Minority Over-sampling Technique,SMOTE)擴增數(shù)據(jù),然后應(yīng)用基于Sigmoid+ReLu激活函數(shù)的CNN進行特征提取及分類.
為了得到一致假設(shè)而使假設(shè)變得過度復(fù)雜稱為過擬合.產(chǎn)生過擬合的原因常常是由于在對模型進行訓(xùn)練時,有可能遇到訓(xùn)練數(shù)據(jù)不夠,即訓(xùn)練數(shù)據(jù)無法對整個數(shù)據(jù)的分布進行估計或?qū)δP瓦M行過度的訓(xùn)練[11].CNN的本質(zhì)是通過構(gòu)建多隱層的模型和海量的訓(xùn)練數(shù)據(jù)來學(xué)習(xí)更有用的特征,從而提升分類和預(yù)測的準確性[12].由于繪畫圖像數(shù)量有一定的局限性,故本文提出通過改進SMOTE的方法來擴增數(shù)據(jù)集.
1.1 主要原理
SMOTE主要原理是在少數(shù)距離較近的樣本之間插入若干值,生成少量新的類樣本,從而使少量樣本的數(shù)量增加,提高少量類樣本的分類精度[13].但該方法生成的樣本會散落在稠密區(qū)域,不能很好地解決當(dāng)前實驗樣本稀疏分布問題.本文提出的改進的SMOTE算法適當(dāng)填充了類內(nèi)間的稀疏區(qū)域,首先對每類樣本分別進行聚類,將每類樣本聚成k類,然后在到各個聚類的一個隨機樣本的路徑上對每個已有的樣本進行隨機插值使得原始的每類樣本擴展k倍,生成后的樣本集是原始樣本集的k+1倍.根據(jù)需要樣本集的大小來調(diào)整k值,如原始樣本集大小為n,將原始樣本集擴展一倍則將k設(shè)為1即可.與添加噪聲、隨機復(fù)制等添加樣本的方法相比,能更好地防止過擬合.因為添加噪聲、隨機復(fù)制等方法雖然增加了樣本數(shù)量,但引入了額外的訓(xùn)練數(shù)據(jù),延長了構(gòu)建分類器的時間,增加類樣本的有用信息少,不能很好地處理過擬合問題[14].
1.2 數(shù)據(jù)的生成
1.2.1 樣本的聚類
運用K-means聚類算法將每類樣本劃分成多個子集,在縮小范圍的同時可以迅速選出重要的樣本[15].但由于K-means聚類算法結(jié)果受類質(zhì)心初始化情況的影響,導(dǎo)致相對不穩(wěn)定的結(jié)果.經(jīng)理論及實踐驗證,融合多個分類器的結(jié)果可以提高分類準確度[16].因此本文為得到相對穩(wěn)定的聚類結(jié)果,采用多分類器融合的思想,用投票法融合Q次聚類結(jié)果,每次聚類的初始化類質(zhì)心不同,聚類的結(jié)果用矩陣A=(aij)(n為樣本數(shù),aij為樣本i,j在同一聚類中出現(xiàn)的聚類次數(shù))表示,如果aij/Q>0.5,那么將這2個樣本歸到同一聚類中[17].
1.2.2 樣本的生成
每個樣本均有一個自身所屬的聚類,在自身聚類內(nèi)樣本和到其他聚類隨機樣本之間進行隨機插值.如圖1所示,Xi為一個已有樣本屬于C聚類,P1,P2,P3分別為樣本到A,B,C聚類路徑上隨機生成的擴增樣本,其中P3屬于C類,提升了其當(dāng)前類的分布密度,P1,P2則隨機填充到相對稀疏區(qū)域.適當(dāng)設(shè)置擴增數(shù)據(jù)的比例,得到的樣本集能夠更好地模擬數(shù)據(jù)的現(xiàn)實分布.這樣既兼顧了SMOTE原生算法的功能,同時也擴展了對每類樣本相對稀疏區(qū)域的填充.生成過程如下:
1)計算每個樣本Xi到每個聚類一個隨機樣本Ri的距離d;
2)根據(jù)P=Xi+r d進行線性插值,生成樣本P.其中,r為一個與Xi維度相同的隨機矩陣.
圖1 數(shù)據(jù)擴增示意圖
1.2.3 聚類個數(shù)的設(shè)置
由于每個樣本在到每個聚類的方向上都會隨機生成一個樣本,k個聚類將原有樣本增加k倍,而過多的擴增數(shù)據(jù)會破壞數(shù)據(jù)的分布特性,降低模型的泛化能力.k值較小時,聚類的結(jié)果無法很好地確定類內(nèi)稀疏區(qū)域,所以本文選擇從生成的樣本中隨機挑選一定數(shù)量的數(shù)據(jù)加入訓(xùn)練.
2.1CNN的訓(xùn)練
CNN是一種帶有卷積結(jié)構(gòu)的深度神經(jīng)網(wǎng)絡(luò),主要由卷積層與亞采樣層交替構(gòu)成,通過神經(jīng)元間的非全連接和權(quán)重共享來減少權(quán)值數(shù)量,從而降低網(wǎng)絡(luò)模型的復(fù)雜度.CNN的訓(xùn)練本質(zhì)是一種從輸入到輸出的映射,其訓(xùn)練過程主要分為以下2個階段[18].
1)第一階段,前向傳播.
a)從樣本集中取一個樣本(X,Yp),X輸入向量,Yp理想輸出;
b)計算相應(yīng)的實際輸出Op.
2)第二階段,后向傳播.
a)算出實際輸出Op與相應(yīng)的理想輸出Yp的差;
b)按極小化誤差的方法反向傳播調(diào)整權(quán)矩陣.
2.2 激活函數(shù)Sigmoid+ReLu
傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的激活函數(shù)通常為Sigmoid或tanh.基于數(shù)學(xué)的角度,非線性的Sigmoid函數(shù)對兩翼區(qū)域的信號增益較小,對中央?yún)^(qū)域的信號增益較大,這對于信號的特征空間映射具有很好的效果.就神經(jīng)學(xué)而言,兩翼區(qū)域類似神經(jīng)元的抑制態(tài),中央?yún)^(qū)域類似神經(jīng)元的興奮態(tài).因此在學(xué)習(xí)時,將非重點特征推到兩翼區(qū),重點特征推向中央?yún)^(qū)[19].以校正函數(shù)max(0,x)為例的線性函數(shù)ReLu正是屬于該模型,同時使用該函數(shù)可以降低梯度訓(xùn)練深度網(wǎng)絡(luò)時的殘差衰減問題.從輸出層反向傳播梯度Grad時,誤差Error在各層都要與該層的輸入神經(jīng)元值x、激活函數(shù)的一階導(dǎo)數(shù)Sigmoid′(x)相乘.即Grad=Error·Sigmoid′(x)·x這是一個雙端飽和的Sigmoid系函數(shù),該函數(shù)會出現(xiàn)2個問題:①Sigmoid′(x)∈(0,1)導(dǎo)數(shù)縮放;②x∈(0,1)或x∈(-1,1)飽和值縮放.
在這種情況下,途徑神經(jīng)網(wǎng)絡(luò)的每一層時,誤差都會成倍衰減,一旦進行遞推式的多層反向傳播,梯度就會不停地衰減和消失,使得網(wǎng)絡(luò)學(xué)習(xí)速度變慢.而校正激活函數(shù)ReLu只有一端飽和,且梯度為1,梯度在反向傳播中能夠快速流動,進而極大地提高訓(xùn)練速度.因此本文卷積層采用ReLu作為激活函數(shù),輸出層采用Sigmoid作為激活函數(shù),而亞采樣層采用均值池化,無激活函數(shù).
2.3CNN網(wǎng)絡(luò)結(jié)構(gòu)
研究表明,CNN網(wǎng)絡(luò)結(jié)構(gòu)的選取會影響分類結(jié)果的性能,影響其分類的優(yōu)劣因素有很多,如輸入數(shù)據(jù)的大小、網(wǎng)絡(luò)的深度選取以及訓(xùn)練參數(shù)的設(shè)置等問題[20].本文主要是通過調(diào)整卷積神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)來優(yōu)化網(wǎng)絡(luò),即對網(wǎng)絡(luò)縱向深度和橫向?qū)挾冗M行調(diào)整.深度上,調(diào)整卷積層和亞采樣層的堆疊層數(shù);寬度上,調(diào)整網(wǎng)絡(luò)各層的特征圖數(shù)目以及每層平面的大小.經(jīng)過多次調(diào)整,最終篩選出CNN的輸入圖像大小為32×32,最佳結(jié)構(gòu)為6層:1層輸入,2層卷積,2層亞采樣層和一層全連接,如圖2所示.
圖2 CNN網(wǎng)絡(luò)結(jié)構(gòu)設(shè)定
本文實驗的繪畫數(shù)據(jù)來自于《珍好畫業(yè)》和網(wǎng)頁.實驗根據(jù)繪畫題材分為花鳥、人物、山水3大類,每類樣本800幅.為驗證本文所提方法的有效性,首先采用本文方法對不同擴增數(shù)據(jù)進行測試,驗證采用改進的SMOTE擴增數(shù)據(jù)可以提高分類的準確率;然后采用未改進的CNN、神經(jīng)網(wǎng)絡(luò)(NeuralNetworks,NN)、深度信念網(wǎng)絡(luò)(DeepBeliefNetworks,DBN)對本實驗的數(shù)據(jù)進行測試,并將結(jié)果與本文的方法進行對比;最后將本文方法與淺層學(xué)習(xí)方法的分類結(jié)果進行對比,驗證本文方法的可行性.
3.1 不同擴增數(shù)據(jù)集對分類結(jié)果的影響
為驗證本文數(shù)據(jù)擴增的有效性,應(yīng)用本文方法對4組不同程度的擴增數(shù)據(jù)進行驗證.將原始樣本分為訓(xùn)練集和測試集,每類的訓(xùn)練集是從800幅樣本中隨機抽取780幅,余下的20幅作為測試集.本實驗中原始集用A(780)來表示,訓(xùn)練集與測試集同幅度擴增為原始集的i倍(i=0,2,3,4,5),用B(780×i)表示,總的訓(xùn)練集用(A+B)表示,實驗結(jié)果如表1所示.擬合度即訓(xùn)練集預(yù)測準確率是從訓(xùn)練集(A+B)幅繪畫數(shù)據(jù)中隨機抽取20i幅作為訓(xùn)練集的預(yù)測樣本測試得到的準確率,平均準確率為在測試集中測試得到的準確率.
表1 不同擴增數(shù)據(jù)集對分類的影響
過擬合是為了得到一致假設(shè)而使假設(shè)變得過度復(fù)雜,即訓(xùn)練集預(yù)測效果好,測試集預(yù)測效果差.由表1可以看出,使用原生樣本集訓(xùn)練,擬合度為93.48%,分類平均準確率為66.33%,有明顯的過擬合現(xiàn)象.通過改進的SMOTE方法對原數(shù)據(jù)集進行擴增,擴增了原始數(shù)據(jù)的2倍時,擬合度為94.33%,平均準確率達到82.22%,當(dāng)擴增了原始數(shù)據(jù)的5倍時,擬合度為94.51%,平均準確率達到了91.55%,與原始數(shù)據(jù)集結(jié)果相比,分類準確率得到顯著提高,且顯著緩解了過擬合現(xiàn)象.同時可以看出不同擴增比對分類效果影響不一,隨著擴增數(shù)量的增大,對實驗結(jié)果的影響有減弱趨勢,這是由于該數(shù)據(jù)生成算法只關(guān)注于對類內(nèi)稀疏區(qū)域的填充,并未實現(xiàn)對類間稀疏區(qū)域的處理,不能擴展類別的邊界.
3.2 與CNN,NN,DBN的實驗對比
分別采用本文算法、傳統(tǒng)CNN算法、NN算法、DBN算法在相同的數(shù)據(jù)集上進行測試,訓(xùn)練集從花鳥、人物、山水樣本集中各隨機抽取780幅,余下各20幅作為測試集.實驗測試的數(shù)據(jù)集分別為擴增前與擴增后的數(shù)據(jù),擴增前的訓(xùn)練集為2 340(780×3),測試集共為60(20×3),擴增后的訓(xùn)練集與測試集為擴增前的6倍,訓(xùn)練集和測試集分別為14 040(2 340×6)和360(60×6),實驗結(jié)果如表2所示.
表2 不同深度結(jié)構(gòu)學(xué)習(xí)方法的分類結(jié)果比較
從表2可以看出,利用改進的SMOTE擴增數(shù)據(jù),在本文算法以及傳統(tǒng)CNN,NN與DBN中,都可以顯著地提高學(xué)習(xí)方法的識別率,且本文所提方法的分類性能明顯優(yōu)于其他方法,證明了本文方法的可行性.但由于數(shù)據(jù)擴增后,要訓(xùn)練的數(shù)據(jù)大大增加,導(dǎo)致了訓(xùn)練的時間變長.由于不同的學(xué)習(xí)方法訓(xùn)練數(shù)據(jù)的方式不同,使得不同的訓(xùn)練方法所消耗的時間不同;另一方面由于數(shù)據(jù)擴增可以更好地提取出比較全面的特征,使其收斂步數(shù)有所減少,從而提高分類性能.
3.3 與淺層學(xué)習(xí)方法的對比
文獻[21]的研究表明圖像分類性能對分類器的選取影響不大,因此在與其他淺層學(xué)習(xí)方法進行對比時,所采用的分類器統(tǒng)一為SVM,其中提取的人工特征分別為尺度不變特征轉(zhuǎn)換(Scale-invariantFeatureTransform,SIFT)、梯度直方圖(HistogramOfGradient,HOG)、基于HSV的全局顏色直方圖、Color-SIFT.淺層實驗中的訓(xùn)練集是隨機從800幅花鳥、山水、人物樣本集中抽出700幅,余下作為測試集.本文方法的測試數(shù)據(jù)來自于3.1中將數(shù)據(jù)擴增5倍后的數(shù)據(jù),實驗結(jié)果如表3所示.
表3 基于不同特征描述算子與本文算法分類準確率的比較
由表3可知,本文所提方法的分類準確率明顯優(yōu)于基于淺層學(xué)習(xí)方法的準確率,與采用人工規(guī)則來構(gòu)造特征的方法相比,本文采用大數(shù)據(jù)自動學(xué)習(xí)的特征可以更好地刻畫出數(shù)據(jù)的豐富內(nèi)在信息,從而提高分類的準確性.
本文針對傳統(tǒng)的中國繪畫圖像分類方法的局限性提出了一種基于CNN的分類算法,通過對比不同擴展集、不同深度的學(xué)習(xí)方法驗證了本文方法在中國繪畫圖像分類上的可行性.繪畫背景及與主題無關(guān)的信息如印章、不同類別的融合等對分類結(jié)果也有一定的影響,但本文尚未將其考慮在內(nèi),后期將在本文基礎(chǔ)上,通過顯著性等方法提出主題,進而進一步提高分類質(zhì)量.
[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īng)網(wǎng)絡(luò)分類模型在模式識別中的新進展[J].燕山大學(xué)學(xué)報,2015,39(4):283-291.
[13]XUJ.IDSMethodBasedonImprovedSVMAlgorithmUnderUnbalancedDataSets[C]//Proceedingsofthe2012InternationalConferenceonCyberneticsandInformatics.NewYork:Springer, 2014:413-420.
[14]李想.基于均衡采樣方法的數(shù)據(jù)不平衡問題研究[D].大連:大連理工大學(xué),2014.
[15]BANDYOPADHYAYS,MAULIKU.AnevolutionarytechniquebasedonK-meansalgorithmforoptimalclusteringinRN[J].InformationSciences, 2002,146(1):221-237.
[16]張莉,郭軍.基于邊界樣本的訓(xùn)練樣本選擇方法[J].北京郵電大學(xué)學(xué)報(自然科學(xué)版),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]何鵬程.改進的卷積神經(jīng)網(wǎng)絡(luò)模型及其應(yīng)用研究[D].大連:大連理工大學(xué),2015.
[20]王振,高茂庭.基于卷積神經(jīng)網(wǎng)絡(luò)的圖像識別算法設(shè)計與實現(xiàn)[J].現(xiàn)代計算機,2015(7):61-66.
[21]鮑泓.基于視覺感知的中國畫圖像語義自動分類研究[D].北京:北京交通大學(xué),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
國家自然科學(xué)基金資助項目(61402143,61202280);浙江省自然科學(xué)基金資助項目(LQ14F020012)
黃雪麗(1990-),女,河南安陽人,碩士研究生,圖像分類.通信作者:王小華教授,E-mail:wxh@cjlu.edu.cn.
TP391
A
1001-9146(2017)02-0045-06