楊瑩,張海仙(四川大學軟件學院,成都 610065)
基于卷積神經網絡的圖像分類研究
楊瑩,張海仙
(四川大學軟件學院,成都610065)
圖像識別技術的基礎是分析圖像的主要特征,正如人類的圖像識別過程,復雜圖像的識別需要經過多個層次信息的整合以及加工,才能夠將分散的對圖像單個特征的認知識別進行整合,形成對圖像的最終識別分類。相類似的,如何讓計算機在進行數字圖像處理時使用類似的特征提取機制,對于圖像的關鍵特征進行提取之后再進行整合,從而達到最終的認知分類目的成為近年來圖像識別研究的熱點。
卷積神經網絡(CNN)在諸如手寫數字識別以及人臉識別方面都被證明有著非常出色的表現。如Ciresan 的Deep Neural Networks for Image Classification[1]證明了在NORB和CIFAR-10數據集上采用卷積神經網絡進行分類的效果非常好,同時,Krizhevsky等人在2012 年ImageNet的卷積網絡模型應用中取得16.4%的錯誤率更是吸引了全世界的矚目。總的來說,卷積神經網絡是深度神經網絡的一種,它主要的訓練方式同傳統的深度神經網絡(DNN)一樣,都是通過前向計算輸入與權值的內積得到輸出,之后通過反向傳播(Back Propagation,BP)算法不斷迭代更新權值,結合梯度下降方法,最后得到能使整個網絡最優的權值。除此之外,相比傳統的DNN,卷積神經網絡的局部感受野方法、權值共享以及下采樣等手段,對圖像的位移不變性、旋轉不變性都有很大優勢。首先,局部感受野方法很大程度上模擬了人的視覺神經系統,通過局部印象來形成最終對事物辨識認知的過程;權值共享讓同一特征圖下的連接邊共享龐大的參數集合;而最具代表性的卷積和池化方法也使得提取的特征更加穩定,從而,最終的識別效果得到提升。本文將針對不同的數據集,通過建立三個卷積神經網絡模型對數據集進行訓練和識別,通過微調參數達到更好的識別效果。
1.1模型設計
(1)LeNet-5
LeNet-5是Yann LeCun在1998年針對手寫數字識別問題的解決時提出的一個深度卷積網絡模型[2]。LeNet-5同其他的深度神經網絡一樣采用BP算法進行權值訓練。
通常在LeNet中使用的激活函數為sigmoid函數,但是在本文使用的Caffe框架下,實驗使用的是線性修正單元(Rectified Linear Units,ReLU)作為激活函數。在神經元的連接方式上,LeNet采用了CNN網絡中所特有的局部連接、權值共享的網絡構造方式。為了模仿生物視覺神經網絡中先進行局部的物體感受分析,最后匯總形成認知的方式,LeNet采用了局部連接的方式,即一個隱層神經元并不連接全部輸入層神經元而是連接部分輸入層神經元,從而減少網絡連接個數,具體連接方式如圖1所示。

圖1 局部連接圖解
并且,在實驗中卷積時需要提取多個特征,所以有多個特征維度(Feature Map),本文中因為采用了維度共享方式,所以每一個特征維度共享一組權值。
(2)AlexNet
AlexNet是多 倫多 大學 Alex Krizhevsky,Ilya Sutskever,Geoffrey E.Hinton在2012年參加ImageNet LSVRC比賽上提出的神經網絡模型[3]。在結構上,AlexNet由5個卷積層、3個全連接層之后,再加上一個softmax分類器。相比于其他網絡模型,AlexNet特點在于,首先,對于神經元的激活函數拋棄了tanh函數,采用了ReLU函數進行激活;其次,在部分神經網絡層采用了局部響應歸一化 (Local Response Normalization)、隨機刪除(dropout),還有重疊池化(Overlapping Pooling)的手段進行過擬合(over-fitting)問題的優化;在數據集方面,該網絡采用了擴充(Augmentation)方式,在運行訓練網絡時采用了兩個GPU并行訓練策略,加快大圖片集合下的訓練速度,幫助提高最終的識別正確率。
本文中實驗所使用的網絡模型與原論文提出的AlexNet網絡模型結構上大致一致,主要的不同點在于網絡的歸一化和池化順序不同,附加的偏差值(bias)也與原論文不同,具體如下:
①采用ReLU函數進行激活:
一般網絡中神經元的輸出激活函數通常為sigmoid函數,或者是LeNet等網絡中常見的tanh函數,但是出于訓練時間的考慮,在AlexNet中采取非飽和非線性的函數ReLU,這種方法是由Nair與Hinton提出來的[4],它是一種線性修正的方式,通過強制某些數據為零,引導網絡模型具有適度的稀疏性,在訓練過程中更快的到達收斂點。
②局部響應歸一化:通過對比實驗能夠證明,使用局部響應歸一化函數可以提高準確率。
③重疊池化:卷積網絡模型通常都會在卷積操作過后對圖像進行池化(Pooling)操作,使圖像在平移、旋轉后特征有更好的穩定性。池化操作一般都不進行兩個池化算子矩陣的交叉重疊,跨越的步長和算子大小通常是一致的。但是,在AlexNet中,設置跨越步長參數小于算子,通過重疊池化的方式能夠避免過擬合。
1.2實驗數據集
①MNIST數據集:經典的開源手寫數字圖片集合,共有0-9一共十個數字的手寫圖片分類,每個分類下有屬于該分類的平均約1000張單個手寫數字的圖片,圖片格式為jpeg格式、8位灰度圖片,像素大小統一為28×28。
②Julia數據集:數據挖掘競賽Kaggle的經典開源數據集之一,有EnglishImg和EndglishHnd兩個大分類,EnglishImg分類的圖片是截取自各個場景圖片下的單個數字或者字母,包含了A-Z,a-z,0-9字母和數字的62個子分類圖片,每個分類下有30-120張不等的字母或是數字圖片,屬于該分類的圖片均為彩色png格式圖像,圖片大小的變化范圍比較大,沒有經過格式規范化處理,每張圖片所呈現的字符或者數字都是其原有圖片的分辨率。EnglishHnd圖片集分類下的圖片是背景均為白色的手寫數字或是字母圖片,包含了AZ,a-z,0-9字母和數字的62個子分類,每個子分類下均有55個手寫數字、或字母樣本圖片,格式為png格式,圖片大小為1200×900。
③Leaves數據集:Leaves數據集是來自于加州理工的一個開源樹葉圖片集,由Markus Weber在加州理工校園內和校園附近拍攝采集,共186張圖片。圖片集下一共三個子分類,每個子分類60張圖片,格式為jpeg格式,大小896×592,圖片背景不同。
④CalTech101數據集:來自加州理工的經典圖片分類數據集,該數據集包含有101種不同的實物,有動物、植物、樂器、電子產品等子分類,每個子分類的圖片數目從40-800張不等,圖片格式均為jpeg格式,圖片大小不固定,大致在300×200像素。
實驗環境為Caffe的Digits平臺,實驗過程通過將搜集的數據集分別輸入網絡模型訓練,根據實驗結果迭代調整相應的網絡參數,并加入GoogleNet作為網絡實驗效果對比,得到不同網絡針對不同數據集的識別效果橫向比較結果。

表1 Leaves分類實驗結果
如圖2所示,三個網絡相比較之下,AlexNet網絡模型相對適合Leaves數據集分類,而從數據集來說,Leaves樹葉圖片集中樹葉形狀輪廓分明,邊界特征比較明顯容易提取,待識別的樹葉物體也多集中于圖片的中央位置,且圖片背景變化很小,大概一致,所以實驗后期在已有AlexNet網絡架構的基礎上對原始圖片進行了截取操作,讓圖片中心的樹葉形狀得到放大,減少背景部分的干擾噪聲作用,而網絡結構參數方面,同時處理的圖片數據量(Batch size)適當減小,對第一層卷積的步長也進行減小,Batch size大小固定在25的時候,網絡識別精確度保持在一個比較好的范圍內,得到了最終98%的識別準確率。

圖2 Leaves數據集在三個網絡模型上識別效果對比

表2 CalTech分類實驗結果
CalTech101在識別難度上具有很高的區分,首先,CalTech101下面有101個目錄種類,并且種類之間的相關性并不強,這就對網絡模型能夠學習多個相關度不高的種類有很高要求。另外,每個子分類下面的訓練圖片尺寸和方向都不一致,圖片背景多變,待識別物體的所處位置也很靈活,不集中于圖片中心,這就加大了網絡抽取圖片特征的難度,通過實驗分析也發現,原因主要在于處理背景單一。如圖3所示,輪廓特征比較明顯的字母識別上效率很高的LeNet對于CalTech101的識別效果并不明顯,識別準確度 Accuracy只有55.34%,同時存在過擬合的狀況。同樣的,AlexNet表現也與LeNet近似,在調整batch size之后雖然AlexNet效果有改善,但是準確度仍然較低。但是,采用網絡結構比較復雜的GoogleNet進行分類后,所得到的準確度有了比較明顯的提升。通過實驗結果可以看出GoogleNet對于特征復雜的CalTech101分類效果要好的多,相比LeNet準確率提高了近20%。

圖3 CalTech數據集在GoogleNet網絡模型上識別效果

表3 Julia分類實驗結果
Julia的EnglishImg數據集中,圖片主要是針對單個的字母數字的,且沒有經過統一的圖片大小規范化,并且考慮到原始圖片長寬比相差略大的情況,所以,在輸入之前,對圖片集統一進行了左右兩側填充噪聲(fill)的處理,便于圖片平衡長寬比,在輸入網絡時對圖片矩陣處理過程中利于特征計算。如圖4所示,LeNet 和AlexNet執行效果與GoogleNet相比較仍然差距比較大,GoogleNet通過實驗在batch size為25的情況下,能夠達到準確率93.62%的效果。
如圖5所示,Mnist中的圖片均是統一大小的8位灰度圖像,分別用LeNet-5和AlexNet進行了實驗,準確率都在99%左右。由于Mnist圖片集中的圖片特征與其他圖片集相比起來較簡單,需要的卷積提取過程不復雜;另一方面LeNet-5是針對于手寫數字集設計的識別分類設計的網絡,所以能夠很好地提取圖片特征達到較好的分類效果。

圖4 Julia數據集在GoogleNet網絡模型上識別效果

圖5 MNIST數據集在LeNet網絡模型上識別效果
卷積神經網絡是目前進行圖像模式識別研究最有效的手段之一,隨著近年來大數據概念的提出,以及硬件計算能力的不斷增長,卷積神經網絡的應用范圍更加廣泛,模型本身的強大特征識別能力也得到充分體現,而卷積神經網絡的模型也更加復雜,卷積層數也不斷疊加,以此來進行更復雜的圖像特征抽取,完成更困難的分類任務。本文針對不同數據集,利用卷積神經網絡進行圖像分類實驗的設計。實驗結果顯示了不同網絡在不同數據集上分類性能的差異,以及實驗參數的調整在提高分類正確率上的作用,對具體圖像分類的研究及實驗提供了理論與實踐方面的參考。
[1]Ciresan,D.C.,Meier,J.,and Schmidhuber,J.Multicolumn.Deep Neural Networks for Image Classification[N].CVPR,2012.
[2]Y.LeCun,L.Bottou,Y.Bengio,P.Haffner.Gradient-based Learning Applied to Document Recognition[N].Proceedings of the IEEE, November,1998.
[3]Alex Krizhevsky Ilya Sutskever Geoffrey E.Hinton.ImageNet Classification with Deep Convolutional Neural Networks[N],2012.
[4]V.Nair,G.E.Hinton.Rectified Linear Units Improve Restricted Boltzmann Machines[N].In Proc.27th International Conference on Machine Learning,2010.
Deep Neural Network;Image Recognition;Convolutional Neural Network
Research on Image Classification Based on Convolutional Neural Networks
YANG Ying,ZHANG Hai-xian
(College of Software Engineering,Sichuan University,Chengdu 610065)
國家自然科學基金資助項目(61303015)、四川省科技計劃項目(No.2014GZ0005-5)
1007-1423(2016)05-0067-05
10.3969/j.issn.1007-1423.2016.05.015
楊瑩(1993-),女,云南大理人,本科,研究方向為機器智能
張海仙(1980-),女,河南鄧州人,博士,副教授,研究方向為機器智能
2015-12-22
2016-01-15
利用卷積神經網絡進行實驗的分析設計,實現一類圖像數據的分類研究。實驗過程選取參考性較高的幾個開源數據集,分別應用到具體的網絡模型中進行識別和準確性對比,針對得到的實驗結果,進行分析和改進,并給出具體的改進說明。
深度神經網絡;圖像模式識別;卷積神經網絡
Focuses on image classification of certain datasets by using a convolutional neural network,analyzes the mathematical model on how to design the experiments,chooses several open source datasets,gives the experimental results and an accuracy comparison between models followed with some analysis.