萬 萌,馮新玲
(鄭州工業應用技術學院 信息工程學院,河南 鄭州 451100)
隨著技術的發展和高清設備的普及,圖像的分辨率越來越高.在機器視覺以及模式識別中高維數據會增加內存的消耗以及時間的開銷,帶來維數災難[1].圖像識別首先通過對原始圖像進行預處理去除噪聲,繼而選取重要的數據特征提高分析數據的質量,增加數據的預測性能以及降低計算的復雜度即所謂的特征選擇,最后將提取的特征數據輸入分類器并結合深度學習思想進行分類器的設計及訓練,進行分類決策得到圖像的最終識別效果[2].圖像識別具體流程如圖1所示.

圖1 圖像識別基本流程
定義特征的相關性,不同的特征選擇方法采用了不同的標準如獨立性、重構誤差、距離等.為了從高維數據中得到低維空間的表示形式,通過某種定義,從樣本數據集的m個特征中抽出具有代表性的k個特征子集,即為特征選擇[3].用數學方法表示為:假設F={fi|i=1,2,…m,fi∈Rn}為給定的一個特征集合,特征選擇即為F中抽取子集F'={f'i|i=1,2,…k,f'i∈Rn},其中:

其中,樣本總數為n,特征總數為m,fi為n維向量.
特征選擇方法可以分為多種類型,根據選擇對象的不同可以分為不同的類型,具體特征選擇算法分類如圖2所示.

圖2 特征選擇算法分類
根據標記方式可以將特征選擇分為無監督、半監督和有監督[4].無監督特征選擇中訓練樣本不進行標記,根據學習得到的評價標準從原始特征數據中選擇最具有代表性的特征,進行聚類分析.根據與后續算法的結合可以將特征選擇分為:Fisher得分法即為了提高特征的可分性將不同樣本數據類別取不同值,同類別樣本取近似值[5].假設樣本數據為X=(X1,X2,…Xn),與樣本數據對應的分類為y=(y1,y2,…yn),那么Fisher得分可以表示為:

式中,第j類特征fi的平均值為μij,標準差為σij,樣本數為nj.為了盡可能地保持數據的局部結構,需要計算樣本點互相之間的關聯權值,即為拉普拉斯得分法.拉普拉斯得分法對每個特征進行獨立選擇,得出分數最高的m個特征;為了使特征與類別之間的相關性最大化,同時將各個特征之間的冗余性最小化,即為最大相關性和最小冗余性的特征選擇算法.
在沒有類別標記的前提下,得到原始數據的類別信息是無監督特征選擇的目的;而如何對原始數據的內部幾何結構進行建模并用特征子集表示數據的內在結構是無監督特征選擇面臨的基本問題[6].典型的無監督特征選擇算法主要有三種模式:利用統計的方法、通過相似度求解的方法以及稀疏表示的方法[7].
基于統計的無監督特征選擇,利用統計特性獨立的分析數據特征,是一種濾波型特征選擇.由于需要忽略部分冗余的特征數據,該算法適合離散數據的特征提取,因此利用統計的無監督特征選擇時需要先將采集的特征數據集離散化,代表的方法有基于最小方差的特征選擇(LV)[8].最小方差的特征選擇,利用閾值屬性,通過去除方差低于閾值的特征得到選擇性特征[9].具體方法為:由布爾特征組成樣本數據集,特征值只有0、1兩種類型,即與樣本具有相同值的特征方差為0,否則為1,設方差為1的概率為p,那么最小方差特征選擇表示為:

基于相似度的無監督特征選擇,通過距離標準得到特征值之間的相似度.假設存在樣本數據集X∈Rn×m即數據集為m維n個樣本,利用相鄰矩陣S∈Rn×n對數據集進行相似度編碼,相鄰矩陣為n階對稱矩陣,用Sij表示兩個樣本之間的相似度,第i個樣本xi和第j個樣本構成第(i,j)個元素,樣本相似度越大,Sij數值越大,數學表示為:

對s,f進行鄰接矩陣和歸一化得到S',f',特征數據f的功效函數通過SC得到,通過式子(4)可知在特征集合F中得到一個能夠最大限度保留相鄰矩陣相似結構信息的特征子集,即為基于相似度的無監督特征選擇,代表性的有拉普拉斯積分法(LS)、譜特征選擇(SPEC)等[10].
基于稀疏表示的無監督特征選擇,代表有多簇特征選擇法、判別信息的特征選擇法、非負判別特征選擇算法、自表達的無監督特征選擇等[11].稀疏表示以多尺度分析理論為基礎,利用尺度較大的稀疏系數對原始信號進行逼近處理.存在數據y∈RN,R為數據集,N為長度,y可以被RN正交基線性表示:

基矩陣為 Ai∈A,A∈RN×N,線性組合系數為 x=[x1,x2,…xn],假設k<N即在基矩陣中有k個非零項,那么:

k為稀疏度,||·||0為零范數,非零項的個數.稀疏表示特征選擇如圖3所示:

圖3 稀疏表示特征選擇
作為多層前饋神經網絡的代表卷積神經網絡,依靠反向傳播算法(BP)實現,卷積神經網絡直接以圖像原始數據作為輸入,忽略了圖像噪聲以及扭曲和變形沒有預處理階段[12].卷積神經網絡通過局部感受野、權值共享以及子采樣對圖像進行分類識別,無須考慮圖像的大小、形狀以及位置的變化,因此不需要對圖像進行預處理.卷積神經網絡由輸入層、卷積層、激勵層、池化層和全連接層構成,具體如圖4所示,C1,C2為卷積層,S1,S2為池化層.
卷積層:由多個特征圖構成,下層特征圖由上層特征和卷積核進行卷積運算得到.卷積運算公式為其中 f(x)、g(x)為數據集 R 上的 2個可積函數.卷積層直接輸入圖像數據前幾層輸入低級特征如邊緣、顏色等,然后通過卷積核進行卷積運算得到復雜的紋理特征,最終利用深度高層網絡學習得到不同類型的特征信息.
激勵層:對卷積層的輸出數據進行非線性映射,一般為Relu函數即修正線性單元作為激活函數.卷積神經網絡不僅包括高維數據的低維變換,還包含一個非線性變換(空間的彎曲)和三個線性變換(旋轉、平移、放大縮小),而激勵層主要完成彎曲空間的變換.
池化層:通過對特征圖進行尺度縮小,即對特征圖進行下采樣,避免因原圖像經卷積運算以后產生的大量數據,而導致過擬合現象的產生.常用的池化操作有平均池化和最大池化,以計算圖像區域的平均值和最大值為依據.平均池化:poolavg(Rk)=代表多個區域,a為神經元.
全連接層:卷積神經網絡利用卷積層得到圖像特征,利用池化層對得到卷積特征進行下采樣避免產生過擬合,通過交替堆疊進行.雖然這種方式在得到圖像特征的同時降低了數據復雜度,但同時也丟失了部分特征信息,因此需要在輸出特征數據之前利用全連接層進行數據的收集.數學表示為,最大池化其中f為激活函數,n是l-1層的神經元個數,l為當前層為 l層第 i個單元與l-1層第j單元的連接參數為當前層的第i個單元的輸出值和偏置項.

圖4 卷積神經網絡結構
無監督特征提取(UFL),提取的是圖像的局部特征,即UFL算法的輸入需要從原始圖像中抽取部分圖像的局部特征,假如抽取的圖像的局部大小為w×w,C為顏色通道數,N=w×w×c,則局部大小可以通過實數向量RN表示,抽取m個局部向量組成p={p(1),p(2),…p(m)}作為UFL算法的輸入,具體流程為:
(1)原始數據中隨機抽取m個無標號局部塊,大小為 w×w,構成 p,且 p(i)∈RN;
(2)為了得到像素間標準化方差函數,需對p做預處理,進而構成pw;
(3)在pw上應用無監督特征選擇算法,進行特征提取.
對圖像進行無監督特征提取以后,需要對得到的特征進行卷積處理.通過映射函數f對圖像塊p提取 k 個特征 f:m×RN→k×RN,得到 y(y∈Rk為 k 維向量),y(i)=Φi(p)即第i個特征Φi對p進行映射得到y(i).具體實現為,通過大小為w×w的局部塊p(i)對整幅圖像I(n×n)進行掃描,利用Φi對整幅圖像I在窗口范圍內的部分進行映射,得到特征映射圖M維度為(n-w+1)×(n-w+1),特征Φi對圖像I在窗口范圍內的部分I(j,k)進行映射得到Mi,(j,k),以此類推,假設原始數據集包含m個圖像I大小為n×n,特征窗口尺寸為w×w,利用特征Φi對數據集圖像進行卷積運算得到維度為m×k(n-w+1)×(n-w+1)批量卷積M.
對得到的批量卷積 M(M∈R)m×k(n-w+1)×(n-w+1)I(j,k)進行特征采樣,從而減少網絡參數,降低系統計算量.對原始圖像I大小為n×n,進行采樣,采樣窗口取大小為s×s,且n/s必須為整數,那么采樣后得到的特征維數為(n/s)×(n/s)是原來維數的1/s2,輸入數據的向量維數變為k×m×(n/s)×(n/s).
對原始數據進行降采樣以后,開始對特征數據進行分類.全連接層作為卷積神經網絡的最后一層,分類器的訓練主要集中在這一層.假設原始數據為m個n×n圖像,特征維數為k,采樣窗口尺寸為s×s,采用的局部圖像塊尺寸為w×w,那么分類器的輸入項為k×(n-w+1)/s×(n-w+1)/s,分類器的最終輸出分類類別數為c.

圖5 MNIST圖像樣本

表1 實驗參數設置
無監督特征學習的依據是從訓練數據集中找出具有鑒別特征的數據,且訓練數據集具有無標簽性,所以訓練數據的樣本數量和多樣性對實驗有很大影響.本文采用MNIST數據集如圖5所示,MNIST數據集包含10000個測試樣本、60000個訓練樣本總共70000個樣本數據,可以滿足無監督特征學習對訓練樣本數量的要求;同時,MNIST數據集內容包含0~9這10個數字,由于手寫樣式各異,因此滿足了無監督特征學習對訓練樣本多樣性的要求.
實驗參數具體設計如表1所示.
基于無監督特征學習和卷積神經網絡在MNIST數據集上進行測試,硬件采用酷睿i7處理器,16G內存,程序采用MATLAB7.0,實驗結果如表2所示.
通過實驗數據可知,圖像塊尺寸越大包含的信息越多,尺寸過小則不能滿足圖像識別的需要,當圖像塊的尺寸為10×10時,識別率最高;同時圖像的識別效果還受采樣方式以及采樣區域大小的影響.另一方面,識別精度的提升不可避免地帶來時間的消耗,如何在提升識別精度的同時提高時效性是我們下一步研究的重點.

表2 實驗結果
本文首先分析了傳統特征提取的方法以及優缺點,深入討論了無監督特征提取的思路以及具體實現;繼而分析了卷積神經網絡的實現過程,以及在實現過程中卷積神經網絡中局部感受野、權值共享以及子采樣對圖像進行分類識別的影響;最后將無監督特征學習和卷積神經網絡結合起來,在MNIST數據集上進行驗證算法的有效性.實驗結果表明,基于無監督特征選擇和卷積神經網絡的圖像識別算法提升了圖像識別的精確度,但在時效性上還有待進一步研究.