肖術明,王紹舉*,常 琳,馮汝鵬
(1. 中國科學院 長春光學精密機械與物理研究所,吉林 長春 130033;2. 中國科學院大學,北京 100039;3. 中國科學院 天基動態快速光學成像技術重點實驗室,吉林 長春 130033)
隨著計算機技術的不斷發展,圖像分類算法取得了長足進步,并對人們的生活和社會的發展產生重要的影響。人機交互[1]、天文數據處理[2]、農產品成像[3]以及航空圖像處理[4]等領域都離不開圖像分類,因此圖像分類算法有著重要的研究意義。手寫數字圖像分類算法指利用計算機圖像處理技術將手寫數字圖像判定為0~9 共10 個類別的過程,該算法在財會、教育和金融等眾多領域具有廣泛的應用背景和使用價值。
基于神經網絡模型的圖像分類算法獲得了很好的效果,使圖像分類算法有了突破性的進展。對于手寫數字圖像分類問題也涌現了大量的相關研究工作:Hinton 通過構造深層網絡模型來學習有效特征的方法,完成了對手寫數字集的識別,識別效果優于支持向量機(Support Vector Machine,SVM)。Lee 提出了卷積深度置信網絡,此網絡能高效的學習和提取自然數字圖像的特征。德國的Friedhelm Schweriker 采用SVRBF40 對手寫體數字進行識別,測試樣本10000個,識別正確率為95.56%[5]。上海交通大學的團隊采用壓縮子結構特征的方式,用BP 神經網絡分類,最終識別率為96.1%,誤識率為1.04%。中科院自動化研究所的團隊使用有限狀態自動機方式對手寫數字分類,識別率為95.2%。清華大學的團隊利用SVM 技術對郵政紙單上的手寫數字做了識別工作,識別率為92%[6]。但是,上述算法都是利用網絡模型對手寫數字原始的高維數字圖像進行圖像分類,這極大地增加了網絡模型訓練計算耗時和最佳訓練次數,同時還會影響圖像分類的準確率,現有的研究[7-11]也都是對原始的高維數字圖像進行處理。
近年來,針對信息量龐大的信號(圖像)預處理問題,提出了一種新的信息采集方式,即壓縮感知(Compressive Sensing,CS)理論。該理論表明,當信號(圖像)具有稀疏性或可壓縮性時,通過采集少量的信號(圖像)觀測值就可以實現信號的準確或近似重構[12]。文獻[13]在光學相關斷 層 掃 描(Optical Coherence Tomography,OCT)成像技術中引入CS 技術,在壓縮感知重構算法中結合分塊思想、引入正則項lp范數以及嵌入各項異性平滑算子,該改進的重構算法可以在一定程度上實現頻域OCT 圖像重構效率和重構質量的平衡。文獻[14]中提出了一種基于投影收縮的壓縮感知錐束CT 短掃描重建算法,該算法將校正過程引入到壓縮感知的圖像重建中,有效抑制了條狀偽影,清晰重建出邊緣細節,極大提高了少量投影數據重建圖像的質量。但是,上述的研究都是針對壓縮采樣信號的重構問題,而對于圖像分類問題,可以使用壓縮感知技術利用高斯隨機矩陣對具有稀疏性的數字圖像進行線性觀測,少量的信號(圖像)觀測值保留了全部信息(特征),從而減少后續圖像分類的數據處理量。
針對手寫數字數據集信息量大,使用神經網絡模型對其進行圖像分類時訓練計算耗時長和最佳訓練次數多的問題,引入壓縮感知技術,提出了一種基于壓縮感知和單隱層前饋網絡(Compressive Sensing and Single Hidden Layer Feedforward Network,CS-SHLNet)的手寫數字圖像快速分類算法。利用高斯隨機矩陣對具有稀疏性的手寫數字圖像進行線性觀測,將高維圖像信號投影到低維空間得到觀測值。將擁有圖像全部信息(特征)的觀測值嵌入神經網絡中對圖像進行特征提取。采用神經網絡模型對手寫數字進行圖像分類。實驗結果表明,該算法可以有效減少神經網絡模型對手寫數字數據集的訓練計算耗時和最佳訓練次數,同時保證分類準確率。
MNIST 是一個手寫數字識別領域的標準評測數據集,數據庫中有70 000 張灰度圖像,毎張圖像大小為28×28,即784 維[15]。因此,整個數據集的信息量龐大,傳統的手寫數字圖像分類往往直接利用神經網絡對其進行特征提取,訓練計算耗時長最佳訓練次數多。針對這個問題,利用CS-SHLNet 對手寫數字圖像快速分類:首先利用壓縮感知理論對數據集進行線性觀測,得到手寫數字的低維空間觀測值;然后,將手寫數字的觀測值作為神經網絡模型的輸入,利用網絡模型進行特征提取;再利用神經網絡的學習能力對圖像標簽之間的相關性進行挖掘,輸出最終的圖像類別。總體的流程圖如圖1 所示。

圖1 手寫數字圖像分類流程圖Fig.1 Flowchart of handwritten digital image classification
手寫數字數據集數據量龐大,為了減少神經網絡模型對手寫數字數據集的訓練計算耗時和最佳訓練次數,并且不影響圖像分類準確率,利用壓縮感知理論對數據集進行線性觀測。首先將原始的二維圖像列向量化,然后利用觀測矩陣對信號線性觀測得到觀測值。


如圖2 所示,MNIST 手寫數字數據集數字圖片中非零數據數遠小于總像素點數圖像具有稀疏性,適合利用壓縮感知進行圖像分析。稀疏度指的是矩陣中非零元素的個數。首先對手寫數字數據集圖像進行二值化,然后進行稀疏度計算,為了結果的準確性,取所有數據集圖像的稀疏度平均值,計算得到稀疏度K。

圖2 MNIST 手寫數據集數字7 數據特征圖Fig.2 MNIST handwritten data set figure 7 data feature diagram
采用一個與稀疏矩陣ψN×N不相關的測量矩陣ΦM×N對信號xN×1進行線性觀測,得到M(M<<N)維觀測值yM×1,即:

其中,ΘM×N為感知矩 陣,yM×1為稀疏信號θN×1在感知矩陣ΘM×N下的線性觀測值。
隨機高斯矩陣與任何稀疏矩陣都不相關,由約束等距性(Restricted Isometry Property,RIP)條件可知,它可以作為稀疏信號的觀測矩陣,并且觀測值會保留原始信號(圖像)的特征。文獻[17]中給出M×N階測量矩陣ΦM×N的測量邊界公式為:

其中:Cδ是一個常數Cδ<1,K為稀疏度。
由式(3)可知,當N=784 時,可以計算得到M 的取值范圍為M≥87.48,本文考慮到后續神經網絡數據輸入盡量少并且不能丟失圖像分類所需特征等問題,選取M=235,可合理實現使用較少的輸入數據量,同時保留原始圖像特征、保證圖像分類準確率。隨機高斯矩陣的結構式如下:

MNIST 手寫數字數據集中的樣本數字5 的線性觀測過程如圖3 所示。從線性觀測的過程圖可以看成,采用M=235 的隨機高斯矩陣線性觀測,數據從784 維減少到235 維,數據量明顯減少。

圖3 MNIST 手寫數字5 的線性觀測Fig.3 Measurements of MNIST handwritten number 5
對手寫數字圖像線性觀測得到觀測值后,需要將觀測值嵌入神經網絡中對圖像進行特征提取,因此手寫數字圖像分類的第二步是建立適應于觀測值的神經網絡模型。
2.2.1 神經網絡模型的構建
基于神經網絡模型的圖像分類算法中神經網絡架構層出不窮,出現了很多復雜的網絡結構[18-21]。考慮到網絡架構的復雜度和訓練耗時的影響,對于手寫數字數據集的觀測值多標簽分類,采用單隱層前饋網絡架構。設置神經網絡模型為兩個全連接層:第一層是1 024 個神經元密集連接的帶有ELU 激活的全連接層,第二層是10 個神經元密集連接的帶有Softmax 激活的全連接層。神經網絡模型結構圖如圖5 所示。神經網絡結構參數如表1 所示。

圖4 單隱層前饋神經網絡模型結構圖Fig.4 Single hidden layer feedforward network model structure diagram

圖5 單隱層前饋網絡模型權值調整流程圖Fig.5 Flow chart of weight adjustment of single hidden layer feedforward network model

表1 單隱層前饋網絡結構參數表Tab.1 Neural network structure parameter table
神 經 網 絡 的 輸 入 為Y=(y1,y2,...,y235)T,y1,y2,...,y235為手寫數字的觀測值,n為輸入層神經元個數。 輸入層輸出向量為A=(a1,a2,...,a235)T,a1,a2,...,a235為每個輸入層神經元的輸出值;隱含層輸出向量為B=(b1,b2,...,bm)T,b1,b2,...,bm為 每 個 隱 含 層 神 經元的輸出值,m為隱含層神經元的個數;輸出層輸出向量為C=(c1,c2,...,c10)T,c1,c2,...,c10為每個輸出層神經元的輸出值。輸入層到隱含層的權值矩陣為Wm×235,其中ωi,j為權值矩陣的第i行、第j列元素;隱含層到輸出層的權值矩陣為G10×m,其 中gp,q為 權 值 矩 陣 的 第p行、第q列元素。

此時,神經網絡得到的圖像分類標簽值就是輸出層概率值最高的神經元所對應的分類結果。
2.2.2 神經網絡模型的訓練
為了調整神經網絡的權值,需要根據手寫數字訓練集的觀測值對網絡進行訓練。如果只將數據標簽以0~9 的形式輸入模型,會出現不同類別元素之間距離不一的情況,影響分類的準確率,為了保證每個類別的樣本彼此獨立等距需要對標簽進行one-hot 編碼。樣本標簽與one-hot 編碼的對應關系,如表2 所示。

表2 樣本標簽與one-hot 編碼的關系表Tab.2 Table of sample label and one-hot encoding
對于訓練樣例(y,lab),lab為訓練樣例的標簽,神經網絡的輸出為C=(c1,c2,...,c10)T,那么對于手寫數字觀測值,神經網絡模型得到的均方誤差為:

當訓練誤差小于給定誤差時,網絡模型停止訓練,根據式(4)可以得到手寫數字圖像分類標簽值。
通過實驗驗證神經網絡模型對MNIST 手寫數字圖像分類的快速性和有效性,分析了線性觀測值對神經網絡模型訓練計算耗時、最佳訓練次數和分類準確率的影響。
實驗環境為Windows 7 64 位操作系統、Intel(R)Core(TM)i7-7700 CPU @ 3.60 GHz 處理器、32.0G 內存、顯卡NVIDIA GeForce GTX 750Ti 的普通PC 機,編程環境PyCharm Community Edition 2019.1.3 x64,編程語言Python 3.5.2(64 位),使 用TensorFlow_GPU-1.4.0 的Kerase 高級API 構建的一個神經網絡模型,來解析圖像分類的實現過程。手寫數字圖像的分類是多分類問題,神經網絡模型的損失函數選擇分類交叉熵(Categorical Crossentropy),優化器選擇rmsprop,指標選擇accuracy。
MNIST 數據庫中有70 000 張圖像,一共包含10 類阿拉伯數字,選擇50 000 張圖像進行訓練,10 000 張進行驗證,10 000 張進行測試,MNIST 的毎張圖像大小為28×28。圖6 列出了本文中使用的部分數據集圖像。

圖6 MNIST 手寫數據集部分樣本Fig.6 Partial sample of MNIST handwritten data set
為了評估本文算法的性能,將CS-SHLNet與單隱層神經網絡、卷積神經網絡(Convolutional Neural Networks,CNN)以及深度學習網絡做了對比。其中單隱層神經網絡的網絡結構與本文CS-SHLNet 中的神經網絡部分結構相同;CNN 的網絡結構主要由3 個卷積層、2 個最大池化層和2 個全連接層組成,卷積核大小為3×3,網絡中加人ReLU 激活函數;深度學習網絡包括用于字符識別高效的LeNet-5[22]和在ImageNet圖像上訓練的VGG16[23]預訓練模型。實驗評價標準為最佳訓練次數、訓練用時和分類準確率。對手寫數字數據集分別通過它們進行訓練、驗證和測試。
訓練集和驗證集的性能值(分類交叉熵值)如圖7 所示,訓練集分類交叉熵值每輪都在降低,這是梯度下降優化的預期結果,但是驗證集分類交叉熵值在達到全局最小值后由于過擬合的原因會出現上升的情況。分類交叉熵值達到全局最小值時所對應的輪次為數據集在網絡中的最佳訓練次數。從圖7 中的驗證集分類交叉熵值曲線可以得到,手寫數字數據集的單隱層神經網絡最佳訓練次數為5 次,CNN 最佳訓練次數為4次,LeNet-5 最佳訓練次數為5 次,VGG16 最佳訓練次數為13 次;手寫數字的CS-SHLNet 最佳訓練次數為3 次。



圖7 訓練集和驗證集分類交叉熵曲線圖Fig.7 Classification cross-entropy curve diagram of training set and validation set
訓練集和測試集的測試精確率如圖8 所示,測試集的精確率開始時保持上升趨勢,在最佳訓練次數時達到最大值。從圖8 中的測試集測試精確率曲線可以得到,手寫數字數據集的單隱層神經網絡最高測試精確率為97.54%,CNN 最高測試精確率為98.83%,LeNet-5 最高測試精確率為98.66%,VGG16 最高測試精確率為97.71%;手寫數字的CS-SHLNet 最高測試性能值為97.53%,表明本文提出的算法在減少最佳訓練次數、訓練時間的情況下,分類準確率基本無影響。



圖8 訓練集和測試集分類準確率曲線圖Fig.8 Classification accuracy curve of training set and test set
表3 為本文CS-SHLNet 方法與其他方法的實驗結果對比。從表3 可以看出,網絡模型的訓練計算耗時縮短為13.05s,最佳訓練次數縮短為3 次,分類準確率保持在97.5%。表明該算法可以有效減少神經網絡模型對手寫數字數據集的訓練計算耗時和最佳訓練次數,并且不影響分類準確率。

表3 實驗結果對比Tab.3 Comparison of experimental results
本文針對手寫數字數據集信息量龐大導致神經網絡模型對其訓練計算耗時長、最佳訓練次數多的問題,提出了基于CS-SHLNet 的手寫數字圖像快速分類算法。通過壓縮感知理論,利用高斯隨機矩陣對具有稀疏性的手寫數字圖像進行線性觀測,將高維圖像信號投影到低維空間得到觀測值。通過BP 算法不斷調整單隱層前饋網絡權值建立適應于觀測值的神經網絡模型,將觀測值嵌入神經網絡中對圖像進行特征提取。最后,采用單隱層前饋網絡模型對手寫數字進行圖像分類。實驗結果表明:相比較單隱層神經網絡和深度學習對高維圖像(信號)分類,利用CSSHLNet 對MNIST 手寫數字數據集進行圖像分類,網絡模型的訓練計算耗時縮短為13.05 s,最佳訓練次數縮短為3 次,分類準確率保持97.5%。表明了該算法可以有效減少神經網絡模型對手寫數字數據集的訓練計算耗時和最佳訓練次數,同時保證分類準確率。但是該方法是在空域中基于壓縮感知理論對手寫數字圖像進行線性觀測,如何進一步減少圖像的稀疏度,并且在減少數據量的同時保證特征數據不減少、分類精度進一步提高是下一步的研究重點。