顧亞風 葉學義 夏經文
摘要摘要:針對現有的網上古玩圖片分類算法需要人工設計特征、依賴個人經驗的不足,提出一種基于卷積神經網絡的分類方法。將背景分離后的圖片輸入網絡,自動提取特征進行分類,在達到較好分類結果的同時網絡結構更加簡單,并且設置合適的特征圖個數使網絡取得較好的識別率。實驗結果表明,該方法應用卷積神經網絡能夠解決網上古玩圖片分類問題,與傳統卷積神經網絡相比網絡結構更簡單、識別率更高;與常用的Hog特征相比,在測試時間相近的情況下該方法識別率更高。
關鍵詞關鍵詞:深度學習;卷積神經網絡;古玩圖片;圖像識別
DOIDOI:10.11907/rjdk.162768
中圖分類號:TP317.4
文獻標識碼:A文章編號文章編號:16727800(2017)005017405
0引言
隨著電子商務的發展,大批藝術品交易網站隨之興起,藏品交易規模也越來越大。而當前的古玩網上交易平臺還不能夠實現對現有藏品圖片的自動分類,客戶在尋找目標藏品時不得不在眾多圖片中一一瀏覽。因此需要一種有效的方法來完成面向圖像內容的分類。
在基于內容的圖像檢索領域,常使用人工設計的特征-如根據花瓶、碗、盤子的不同形態特征:目標輪廓的圓度、質心、寬高比等[1],繼而使用BP神經網絡、SVM分類器等對特征進行學習分類。文獻[2]基于植物葉片的形狀特征,如葉片形狀的狹長度、矩形度、球狀性、圓形度、偏心率、周長直徑比等,利用BP神經網絡實現對植物葉片進行分類。文獻[3]研究印品圖像的各類形狀缺陷,利用圖像缺陷形狀的輪廓長度、面積和圓形度等幾何特征,導入SVM分類器進行訓練,得到分類器模型實現分類。文獻[4]提出了一種基于Zernike矩的水果形狀分類方法,通過提取圖像中具有旋轉不變性的Zernike矩特征,并運用PCA方法確定分類需要的特征數目,最后將這些特征輸入到SVM分類器中,完成水果形狀的分類。上述方法都要求對目標形狀分割的準確性,而分割過程中由于存在目標陰影、目標分割不完整問題,會影響到人工特征的準確選取。除了上述人工特征外,最常用的特征是HOG[5,6]、SIFT[7,8]等。HOG的核心思想是所檢測的局部物體外形能夠被光強梯度或邊緣方向的分布所描述。HOG表示的是邊緣結構特征,因此可以描述局部形狀信息。SIFT在圖像的空間尺度中尋找極值點,并提取出其位置、尺度、旋轉不變量。SIFT特征對于旋轉、尺度縮放、亮度變化保持不變。但是,這兩種特征在實際應用中,描述子生成過程冗長、計算量太大。而且在上述方法中特征設計需要啟發式的方法和專業知識,很大程度上依靠個人經驗。
卷積神經網絡不需要手動設計提取特征,可以直接將圖片作為輸入,隱式地學習多層次特征,進而實現分類[9]。相比目前常用的人工設計特征然后利用各分類器,具有明顯的優勢。近年來,卷積神經網絡已成為語音、圖像識別領域研究熱點。它的權值共享特點使得網絡復雜度降低,權值數量減少。而且,卷積神經網絡直接將圖片作為輸入,避免了復雜的特征設計和提取,具有一定的平移、縮放和扭曲不變性[10]。本文采用卷積神經網絡對古玩圖片進行分類。首先,將背景分離后的圖片作為網絡的輸入,相比原圖作為輸入,此方法的網絡結構更加簡單。然后,卷積層通過不同的卷積核對輸入圖片進行卷積得到不同特征圖,采樣層進一步對特征圖進行二次提取,最終提取到合適的特征輸入分類器進行分類,而在卷積層、采樣層中特征圖的大小、數目都會影響到網絡的分類能力。因此,本文通過優化網絡參數,使網絡達到較好的分類效果。
1卷積神經網絡
1989年,LECUN等[11]提出了卷積神經網絡(Convolution Neural Networks,CNN),CNN是一種帶有卷積結構的深度神經網絡,一般至少有2個非線性可訓練的卷積層、2個非線性的固定采樣層和1個全連接層,一共至少5個隱含層[12]。百度于2012年底將深度學習技術成功應用于自然圖像OCR識別和人臉識別,此后深度學習模型被成功應用于一般圖片的識別和理解。從百度經驗來看,深度學習應用于圖像識別不但大大提升了準確性,而且避免了人工特征抽取的時間消耗,從而大大提高了在線計算效率[13]。
卷積神經網絡作為一種高效的深度學習方法[14],在許多圖像識別方面取得了很好的成效[1519]。該網絡作為一種多隱層神經網絡,可以提取圖像的多層次特征進行識別。
卷積神經網絡主要包括卷積層和采樣層,卷積層通過可學習的卷積核對輸入圖片進行卷積得到特征圖,卷積操作即加強了輸入圖片的某種特征,并且降低噪聲。卷積之后的結果通過激活函數(通常選擇Sigmoid函數或Tanh函數)作用輸出構成該層的特征圖。特征圖上的每一個神經元只與輸入圖片的一個局部區域連接,每個神經元提取的是該局部區域的特征,所有神經元綜合起來就得到了全局特征,與神經元相連接的局部區域即為局部感受野[20]。而在卷積層中一般存在多張特征圖,同一張特征圖使用相同的卷積核,不同特征圖使用不同的卷積核[21],此特點稱為權值共享,即同一張特征圖上的所有神經元通過相同的卷積核連接局部感受野。卷積神經網絡的局部感受野和權值共享特點大大減少了網絡訓練的參數個數,降低了網絡模型的復雜度。
采樣層對卷積層提取到的特征圖進行局部非重疊采樣,即把特征圖分為互不重疊的N×N個子區域,對每個子區域進行采樣。卷積神經網絡的采樣方式一般有兩種:最大值采樣和均值采樣。最大值采樣即選取區域內所有神經元的最大值作為采樣值,均值采樣為區域內所有神經元的平均值作為采樣值。最大值采樣偏向于提取目標的特征信息,而均值采樣偏向于提取背景的特征信息[22]。采樣后的特征平面在保留了區分度高特征的同時大大減少了數據量,它對一定程度的平移、比例縮放和扭曲具有不變性。
卷積神經網絡通過卷積層和采樣層的循環往復提取到圖像由低層次到高層次的特征,最后一般通過全連接層將所有特征圖展開得到一維向量,然后輸入到分類器進行分類。
卷積神經網絡在處理二維圖像時,卷積層中每個神經元的輸入與上一層的局部感受野相連接,并提取該局部的特征,權值共享特點又使得各神經元保持了原來的空間關系,將這些感受不同局部區域的神經元綜合起來就得到了全局信息。采樣層對特征圖進行局部特征提取,不會改變神經元之間的空間關系,即二維圖像經過卷積層、采樣層仍然保持二維形式。因此,卷積神經網絡有利于提取形狀方面的特征。雖然卷積神經網絡的局部感受野、權值共享和子采樣使網絡大大減少了需要訓練參數的個數,但是該網絡作為多隱層神經網絡還是十分復雜的。對于不同的數據庫,為了達到比較好的分類效果,網絡的層數、卷積層特征圖個數以及其它參數的設置都需要探究。
2基于卷積神經網絡的古玩圖片分類
2.1特征提取及傳遞
不同古玩的主要區別在于形狀不同,而花瓶、盤子和碗在古玩中最常見,因此將這3類圖片作為實驗對象,對于其它種類的古玩圖片的分類,該網絡同樣適用。卷積神經網絡采用如下圖所示的5層網絡結構,并對網絡各層的特征圖數目、大小均作了修改。對于網絡的輸入,先將原圖像進行目標與背景分割,然后進行灰度化、統一分辨率的處理,最后輸入到卷積神經網絡。由于訓練卷積神經網絡的根本目的是提取不同古玩的特征,而背景不是目標的一部分,對古玩識別來說并不提供任何有用的信息,反而對特征的提取造成干擾,所以去除背景噪聲后,網絡結構會更加簡單,同時也利于網絡對特征的學習。但是因為進行了去背景的預處理,網絡也失去了對復雜背景下圖片的識別能力,所以使用該網絡進行古玩圖片分類前都要進行目標分割的預處理過程。
卷積神經網絡對古玩圖片的特征提取過程如下:
(1)輸入網絡的圖片為100×100大小的預處理圖,卷積神經網絡的輸入層之后為卷積層,卷積層通過卷積核與輸入圖像進行卷積得到特征平面,卷積核大小為5×5。如圖2所示,特征平面上每個神經元與原圖像5×5大小的局部感受野連接。卷積核移動步長為1個像素,因此卷積層C1的特征平面大小為96×96。這種卷積操作在提取到輸入圖像的某一方面特征時,必然會損失掉圖像的其他特征,而采取多個卷積核卷積圖像得到多個特征平面則會一定程度上彌補這個缺陷。因此,在卷積層C1中使用了6個不同的卷積核與輸入圖像進行卷積,得到6種不同的特征平面圖。如圖3所示,同一張特征圖上的所有神經元共享一個卷積核(權值共享),圖中連接到同一個特征圖的連接線表示同一個卷積核,6個不同的卷積核卷積輸入圖片得到6張不同的特征平面圖。卷積之后的結果并非直接儲存到C1層特征圖中,而是通過激活函數將神經元非線性化,從而使網絡具有更強的特征表達能力。激活函數選擇Sigmoid函數。
卷積層中所使用的卷積核尺寸若過小,就無法提取有效表達的特征,過大則提取到的特征過于復雜。對于卷積層中特征圖個數的設置,在一定范圍內,特征圖的個數越多,卷積層提取到越多有效表達原目標信息的特征,但是特征圖個數如果過多,會使提取到的特征產生冗余,最終使分類效果變差。卷積層的各平面由式(1)決定: Xlj=f(∑i∈MjXl-1j*klij+blj)(1)
式(1)中,Mj表示選擇輸入的特征圖集合,l是當前層數,f是激活函數,klij表示不同輸入特征圖對應的卷積核,blj為輸出特征圖對應的加性偏置。
(2)卷積層C1后的采樣層S1由6個特征平面組成,采樣層對上一層特征圖進行局部平均和二次特征提取。采樣過程如圖4所示,特征平面上的每個神經元與上一層4×4大小的互不重合的鄰域連接進行均值采樣,最終每個平面的大小為24×24。采樣層的各平面由式(2)決定:
Xlj=f(βljdown(Xl-1j)+blj)(2)
式(2)中,down(.)表示一個下采樣函數,l是當前層數,f是激活函數,βlj表示輸出特征圖對應的乘性偏置,blj為輸出特征圖對應的加性偏置。
(3)卷積層C2與C1層操作方式一樣,唯一區別的是C2層每個特征圖由6個不同的卷積核與上一層6個特征圖分別卷積求和得到,因此C2層一共有6×6個不同的卷積核,卷積核大小為5×5,C2層每個平面大小為20×20,共6個特征平面。
(4)采樣層S2與S1層操作一樣,對上一層4×4大小鄰域進行均值采樣,輸出6個5×5大小的特征平面。本文所用的網絡共包括2個卷積層、2個采樣層、1個全連接層,由于輸入圖片已經過背景分離的預處理,采樣層S2特征圖大小為5×5,所以圖1所示5層網絡已經有很好的表達能力。如果直接將原圖作為輸入,那么網絡的層數以及特征圖的個數將比圖1所示的網絡更加復雜。
(5)全連接層將上一層6個5×5大小的二維平面展開成為1×150大小的一維向量輸入Softmax[23]分類器,輸出層一共有3個神經元(即分類的種類數目),分類器將提取到的特征向量映射到輸出層的3個神經元上,即實現分類。
2.2網絡訓練
訓練方式為有監督地訓練,網絡對盤子、花瓶和碗共三類圖片進行分類,所以分類器輸出一個3維向量,稱為分類標簽。在分類標簽的第k維中1表示分類結果,否則為0。訓練過程主要分為兩個階段:
第一階段:向前傳播階段。
將預處理過的圖片輸入卷積神經網絡計算得到分類標簽。
第二階段:向后傳播階段。
計算輸出的分類標簽和實際分類標簽之間的誤差。根據誤差最小化的原則調整網絡中的各個權值。分類個數為3,共有N個訓練樣本。那么第n個樣本的誤差為:
En=12∑3k=1(tnk-ynk)2(3)
式(3)中,tn表示第n個樣本的網絡輸出標簽,tnk對應標簽的第k維,yn表示第n個樣本的實際分類標簽,ynk對應標簽的第k維。為了使誤差變小,利用權值更新公式(4)更新各層神經元的權值,一直訓練直到網絡誤差曲線收斂。
W(t+1)=W(t)+η·δ(t)·X(t)(4)
式(4)中,W(t)表示計算第n個樣本時的權值,W(t+1)表示計算第n+1個樣本的權值,η為學習速率,選取經驗值,δ為神經元的誤差項,X表示神經元的輸入。
3實驗結果及分析
實驗在MatlabR2012a平臺上完成,CPU 2.30GHz,內存4GB,所采用的圖像由相關古玩網站提供,分辨率統一格式化為100×100。由于盤子、花瓶和碗在各種古玩種類中它們之間的形狀差別比較明顯,本文實驗對這三類古玩圖片進行分類。對古玩圖片進行了水平翻轉處理,增加圖片數據量,以加強網絡對古玩圖片分類的魯棒性。實驗數據如表1所示,圖5列出了3類圖片的部分樣本,實驗所用圖片均與圖5所示圖片類似,背景比較單一,少數圖片下方有類似陰影。
為了形象表示網絡各層提取的不同特征,圖6展示了當網絡輸入為盤子時的各層特征圖。卷積層C1中6張特征圖分別提取到了輸入圖片的不同特征,而由于權值共享,同一張特征圖中神經元的空間關系保持不變,所以6張特征圖都抓住了盤子的圓形特征。采樣層S1對C1進行均值采樣,相當于模糊濾波,所以S1層各特征圖看起來模糊了一些。卷積層C2中每張特征圖由6個不同的卷積核卷積S1層各特征圖疊加而成,S2層與S1層處理方式相同。
為了說明將背景分離后的圖片作為輸入的網絡與原圖輸入的網絡之間的差異,設計了如表3所示的兩種網絡結構,網絡CNN4只需要4層網絡層就可以達到0.19%的錯誤率,而原圖作為輸入的CNN8共6層網絡層,在網絡達到收斂的情況下,錯誤率為5.24%。由此可以說明,將背景分離后圖片作為輸入的網絡結構更加簡單。
網絡的訓練采用了批量訓練方式,即將樣本分多批,當一批樣本前向傳播完之后才進行權值更新,每批大小為100,訓練集共2 200張圖片,網絡迭代次數為1時共進行22次權值更新,所以權值更新的計算次數與迭代次數有如下關系:
計算次數=22×迭代次數(5)
圖7為網絡在訓練集上的誤差曲線圖,橫坐標為誤差反向傳播的計算次數,縱坐標為訓練集上的均方誤差。可以看出,當網絡訓練次數達到270次(計算次數約6 000)時,訓練集誤差趨于平緩,網絡已經基本擬合。訓練好的網絡可以用來對測試集圖片進行分類,表4為不同迭代次數下訓練的網絡在測試集上的分類錯誤率,可以看出迭代次數在達到270次后,網絡在測試集的錯誤率收斂,此時只有2張圖片出現分類錯誤。
表5給出了圖像分類算法中常用的人工特征+BP神經網絡、人工特征+SVM分類器以及Hog特征+SVM分類器與CNN方法的性能比較。人工設計的特征包括圖片中目標輪廓的最大長寬比、質心、圓度等特征。從準確率方面來看,CNN方法的準確率高于其他方法,Hog特征方法的準確率遠遠高于人工特征的方法,說明了特征的好壞對圖像分類效果有著很大程度上的影響,CNN提取到的特征比Hog和人工設計的特征更具代表性。從測試時間來看,Hog方法與CNN方法相差不多,采用人工特征的方法時間最長。綜合兩個方面,CNN方法在測試時間和HOG方法相近的情況下,準確率最高。
4結語
針對網上古玩圖片分類問題,為了克服現有算法中人工設計特征困難以及往往依賴個人專業經驗的不足,提出一種基于卷積神經網絡的方法。將背景分離后的目標圖片作為網絡輸入,可以實現自動提取特征進行分類,背景分離后圖片作為網絡輸入使得網絡結構更加簡單,并且設置了合適的特征圖個數以使網絡在古玩圖片集上取得較好的分類準確率。實驗數據表明,該方法能夠解決網上古玩圖片的分類問題,并且分類準確率達到99%,其準確率優于常用的Hog特征以及人工特征方法。另外該方法不僅可以應用于網上古玩圖片,還可應用于鞋類、服裝等其它商品圖像的分類。
參考文獻參考文獻:
[1]K KAVITHA,M.V.SUDHAMANI.Object based image retrieval from database using combined features[C].in Signal and Image Processing (ICSIP),2014.
[2]董紅霞,郭斯羽,一種結合形狀與紋理特征的植物葉片分類方法[J].計算機工程與應用,2014,50(23):185188.
[3]舒文娉,劉全香,基于支持向量機的印品缺陷分類方法[J].包裝工程,2014,35(23):138142.
[4]應義斌,桂江生,饒秀勤,基于Zernike矩的水果形狀分類[J].江蘇大學學報:自然科學版,2007,28(1):3639.
[5]ZHU Q,YEH M C,CHENG K T,et al.Fast human detection using acascade of histograms of oriented gradients[C].Proceedings of the 2006 IEEE Computer Society Conference on Computer Vision and Pattern Recognition,2006.
[6]M VILLAMIZAR,J SCANDALIANS,A SANFELIU S.Combining colorbased invariant gradient detector with Hog descriptors for robust image detection in scenes under cast shadows[C].In Robotics and Automation,ICRA IEEE International Conference on.Barcelona,Spain:IEEE,2009.
[7]CHEN J,LI Q,PENG Q,et al.CSIFT based localityconstrained linear coding for image classification[J].Formal Pattern Analysis & Applications,2015,18(2):441450.
[8]AHMAD YOUSEF K M,ALTABANJAH M,HUDAIB E,et al.SIFT based automatic number plate recognition[C].International Conference on Information and Communication Systems.IEEE,2015.
[9]LAWRENCE S,GLIES C L,TSOI A C,et al.Face recognition:a convolutional neuralnetwork approach[J].IEEE Transactions on Neural Networks,1997,8(1):98113.
[10]TREVOR HASTIE,ROBERT TIBSHIRANI,J FRIEDMAN.The elements of statistical learning[M].New York:Springer,2001.
[11]Y LECUN,L BOUOU,Y BENGIO.Gradientbased learning applied to document recognition[J].Proceedings of the IEEE,1998,86(11):22782324.
[12]DAHL J V,KOCH K C,KLEINHANS E,et al.Convolutional networks and applications in vision[C].International Symposium on Circuits and Systems (ISCAS 2010),2010:253256.
[13]余凱,賈磊,陳雨強,等.深度學習的昨天、今天和明天[J].計算機研究與發展,2013(09):17991804.
[14]MAIRAL J,KONIUSZ P,HARCHAOUI Z,et al.Convolutional kernel networks[DB/OL].http://arxiv.org/pdf/1406.3332v2.pdf.
[15]賈世杰,楊東坡與劉金環,基于卷積神經網絡的商品圖像精細分類[J].山東科技大學學報:自然科學版,2014(6):9196.
[16]程文博等,基于卷積神經網絡的注塑制品短射缺陷識別[J].塑料工業,2015(7):3134,38.
[17]鄧柳,汪子杰,基于深度卷積神經網絡的車型識別研究[J].計算機應用研究,2016(4):14.
[18]T JONATAN,S MURPHY,Y LECUN,et al.Realtime continuous pose recovery of human hands using convolutional networks[J].ACM Transaction on Graphics,2014,33(5):3842.
[19]S SKITTANON,A C SURENARAN,J C PLATT,et al.Convolutional networks for speech detection[C].Interspeech.Lisbon,Portugal:ISCA,2004.
[20]HUBEL D H,WIESEL T N.Integrative action in the cat's lateral geniculate body[J].Journal of Physiology,1961,155(2):385398.
[21]JAKE BOUVRIE.Notes on convolutional neural networks[DB/OL].http://cogprints.org/5869/1/cnn_tutorial.pdf.
[22]YU D,WANG H,CHEN P,et al.Mixed pooling for convolutional neural networks[M].Rough Sets and Knowledge Technology.Springer International Publishing,2014:364375.
[23]SCHMIDHUBER J,MEIER U,CIRESAN D.Multicolumn deep neural networks for image classification[C].IEEE Conference on Computer Vision & Pattern Recognition,2012.
責任編輯(責任編輯:陳福時)