高 強(qiáng),李 倩
(華北電力大學(xué)電氣與電子工程學(xué)院,河北保定071003)
圖像分類是根據(jù)圖像具有的某種屬性將其劃分到預(yù)先設(shè)定的不同類別中[1]。如何能提高圖像分類的準(zhǔn)確性,最核心的問(wèn)題是對(duì)圖像的有效表達(dá)。因此,特征的構(gòu)建和提取一直受到廣泛關(guān)注。近些年來(lái)常用的特征提取方法有SIFT[2]、HOG、LBP[3]、Gabor[4]等,但不能反映圖像最本質(zhì)的特征。深度學(xué)習(xí)能通過(guò)無(wú)監(jiān)督的方式讓機(jī)器自動(dòng)地從樣本中提取到表征這些樣本的低層、高層特征,從而使學(xué)習(xí)到的特征更具有推廣性和表達(dá)力。
深度信念網(wǎng)絡(luò)(Deep Belief Network,DBN)作為深度學(xué)習(xí)的一種模型。自從Hinton等人[5]提出基于DBN的貪婪逐層訓(xùn)練算法之后,DBN作為一種無(wú)監(jiān)督特征學(xué)習(xí)復(fù)雜層次概率模型的方法,已成功應(yīng)用于語(yǔ)音識(shí)別[6]、手寫(xiě)字體識(shí)別[7]、人臉識(shí)別[8]、遙感圖像分類[9]和垃圾郵件過(guò)濾[10]等領(lǐng)域中。然而,進(jìn)一步提升DBN模型的分類性能,提高算法的正確識(shí)別率仍是需要解決的根本問(wèn)題。提升性能最簡(jiǎn)單和直接的方法就是通過(guò)增加DBN網(wǎng)絡(luò)的隱含層數(shù)或每個(gè)隱含層神經(jīng)元數(shù)來(lái)實(shí)現(xiàn)。但文獻(xiàn)[11-12]研究發(fā)現(xiàn)當(dāng)DBN中的隱含層數(shù)和神經(jīng)元數(shù)目達(dá)到一定峰值后,再增加數(shù)目并不會(huì)提升識(shí)別性能,反而導(dǎo)致整個(gè) DBN網(wǎng)絡(luò)訓(xùn)練時(shí)間過(guò)長(zhǎng)。文獻(xiàn)[13]從DBN網(wǎng)絡(luò)結(jié)構(gòu)著手,提出一種由DBN串聯(lián)而成的層次結(jié)構(gòu)深度信念網(wǎng)絡(luò)方法,進(jìn)而提升DBN的性能。文獻(xiàn)[14]通過(guò)把卷積神經(jīng)網(wǎng)絡(luò)的局部感受野引入到DBN的單層中,把DBN的單層分成多個(gè)子RBM,提出一種改進(jìn)的深度信念網(wǎng)絡(luò),用于有效提高識(shí)別率。文獻(xiàn)[15]提出了基于Gabor小波和RBM的二次特征提取,來(lái)獲取具有更好分類性質(zhì)的特征。文獻(xiàn)[16]通過(guò)將瓶頸結(jié)構(gòu)與DBN結(jié)合實(shí)現(xiàn)了有效提高語(yǔ)音識(shí)別率的目的。
因此,DBN的性能仍有進(jìn)一步提升的空間。鑒于DBN的可視層輸入是將一個(gè)圖像矩陣一維向量化,輸入信息僅包含幅度信息,沒(méi)有充分考慮到圖像的二維結(jié)構(gòu)信息。本文通過(guò)在DBN可視層輸入端加入多尺度主線方向(Multi-Scale Main Direction,MSMD)信息的方法(簡(jiǎn)稱 MSMD-DBN),增加有效信息的維度,進(jìn)而提升DBN的性能。實(shí)驗(yàn)結(jié)果表明,該算法可以有效提高圖像分類的正確識(shí)別率。
DBN是一種概率生成模型,由多層受限玻爾茲曼機(jī)(Restricted Boltzmann Machine,RBM)單元組成。DBN的結(jié)構(gòu)如圖1所示。
圖1 DBN的結(jié)構(gòu)圖
一個(gè)典型的RBM子模塊結(jié)構(gòu)圖是由可視層和隱含層兩層神經(jīng)元構(gòu)成的,每層有若干個(gè)節(jié)點(diǎn),層內(nèi)節(jié)點(diǎn)無(wú)連接,不同層之間的節(jié)點(diǎn)依靠權(quán)值系數(shù)矩陣來(lái)連接。各層之間的權(quán)重值是采用無(wú)監(jiān)督的貪心算法獲取的。
RBM是一種能量模型,其可視層和隱含層的聯(lián)合組態(tài)能量表示為
式中:θ=(W,a,b),為 RBM 模型中的3個(gè)參數(shù);wij是可視層節(jié)點(diǎn)i與隱含層節(jié)點(diǎn)j之間的連接權(quán)重值;ai和bj分別是可視層第i個(gè)節(jié)點(diǎn)、隱含層第j個(gè)節(jié)點(diǎn)的偏置值;vi和hj分別是可視層第i個(gè)節(jié)點(diǎn)、隱含層第j個(gè)節(jié)點(diǎn)的狀態(tài)值。對(duì)應(yīng)于可視層神經(jīng)元和隱含層神經(jīng)元的相應(yīng)映射概率分布為
式中:σ是Sigmoid函數(shù)。RBM采用迭代的方式進(jìn)行訓(xùn)練,訓(xùn)練的目標(biāo)在于學(xué)習(xí)出參數(shù)θ=(W,a,b)的值,以擬合給定的訓(xùn)練數(shù)據(jù)。參數(shù)θ可以通過(guò)最大化對(duì)數(shù)似然函數(shù)得到,最大化似然函數(shù)常用的數(shù)值方法是梯度上升。參數(shù)θ=(W,a,b)的迭代公式為
式中:η為預(yù)訓(xùn)練的學(xué)習(xí)率,L為目標(biāo)函數(shù)。采用Hinton提出的對(duì)比散度(CD)算法對(duì)重構(gòu)數(shù)據(jù)進(jìn)行近似擬采樣,可得各參數(shù)的更新規(guī)則為
式中:〈·〉data為訓(xùn)練樣本集所定義的分布之上的數(shù)學(xué)期望;〈·〉recon為重構(gòu)后的模型所定義的分布上的期望。
通過(guò)式(5)~式(7)這樣一個(gè)非監(jiān)督的預(yù)訓(xùn)練過(guò)程就可以將一個(gè)RBM調(diào)整到合適的初始值,然后再將多個(gè)RBM自底向上組合建立DBN模型,最后通過(guò)使交叉熵最小,采用BP算法對(duì)整個(gè)網(wǎng)絡(luò)進(jìn)行監(jiān)督式學(xué)習(xí),最終建立DBN。
具體過(guò)程歸納為兩步:
1)無(wú)監(jiān)督預(yù)訓(xùn)練。DBN模型采用無(wú)標(biāo)簽的數(shù)據(jù),以重構(gòu)誤差為目標(biāo)函數(shù),基于CD-k的快速學(xué)習(xí)算法逐層地訓(xùn)練每個(gè)RBM來(lái)獲得可視層和隱含層的偏置值,以及可視層和隱層間的權(quán)值。
2)有監(jiān)督微調(diào)。DBN模型采用帶標(biāo)簽的數(shù)據(jù),以交叉熵為目標(biāo)函數(shù),利用共軛梯度算法訓(xùn)練分類器,并實(shí)現(xiàn)整個(gè)DBN網(wǎng)絡(luò)參數(shù)的優(yōu)化調(diào)整。
DBN的輸入端是將圖像二維矩陣轉(zhuǎn)化成一維向量輸入到可視層中,然后通過(guò)逐層的學(xué)習(xí)訓(xùn)練提取特征。提取特征的精細(xì)程度直接影響后續(xù)圖像分類識(shí)別的性能,甚至決定成敗。本文正是從特征提取角度著手,在保證原有信息不丟失的情況下,通過(guò)增加多尺度主線方向(MSMD)特征的方法,增加有用信息的維度,有效補(bǔ)償DBN模型自身的缺點(diǎn),提升DBN性能。簡(jiǎn)稱這種算法為MSMD-DBN。
為了能提升DBN的性能,提高分類器的分類精度。提取特征的有效性非常關(guān)鍵。當(dāng)用所有的特征進(jìn)行分類訓(xùn)練時(shí),會(huì)取得一個(gè)較高的錯(cuò)誤識(shí)別率;而僅使用關(guān)鍵特征變量,則得到的分類器性能較好[17]。本文的核心思想是在原有DBN輸入信息的基礎(chǔ)上,提取主線方向信息中的關(guān)鍵特征,即主線方向特征。并通過(guò)選擇不同的尺度,獲取更多的局部信息和全局信息。具體步驟如下:
1)計(jì)算圖像的方向投影值。假設(shè)樣本圖像的大小是m×m,選取圖像左上角的區(qū)域塊,大小為d×d(d為奇數(shù)),以1個(gè)像素為步長(zhǎng),向右或向下平移,得到(m-d+1)×(m-d+1)個(gè)區(qū)域塊。再對(duì)區(qū)域塊的像素值進(jìn)行歸一化處理。
以一個(gè)尺度為d的區(qū)域塊為例,將經(jīng)過(guò)區(qū)域塊中心點(diǎn)的垂直方向的直線作為基準(zhǔn),以π/dr的角度為間隔,逆時(shí)針旋轉(zhuǎn)得到dr條直線,則每條直線與正方向的夾角分別為π/dr,2π/dr,…,(dr-1)π/dr,π。計(jì)算每一條直線所經(jīng)過(guò)的區(qū)域塊的像素值,并將這d個(gè)像素值累加求和作為該區(qū)域塊在某個(gè)方向上的投影值Rθ。
改變角度θ就可以得到該區(qū)域塊在dr個(gè)方向上的投影值。向右或向下移動(dòng)區(qū)域塊,就可以得到(m-d+1)×(md+1)個(gè)區(qū)域塊在dr個(gè)方向上的投影值。
2)根據(jù)不同方向上的投影值,計(jì)算線方向圖和能量圖。
將步驟1)中得到的dr個(gè)投影值放在一個(gè)1行dr列的矩陣?yán)铮仃囉洖镽1×n;選取矩陣R中的最小值,將該最小值記為r,并記錄對(duì)應(yīng)的列號(hào)(n)。線方向圖和能量圖的計(jì)算規(guī)則如下
式中:D為線方向圖;E為能量圖;dr為選取方向的個(gè)數(shù);x和y分別是尺度為d的某個(gè)區(qū)域塊的中心點(diǎn)在原圖像中對(duì)應(yīng)的橫、縱坐標(biāo)。
移動(dòng)區(qū)域塊,利用式(8)~式(9)就可以計(jì)算出不同位置點(diǎn)(x,y)對(duì)應(yīng)的線方向值 D(x,y)和能量值 E(x,y),進(jìn)而得到整個(gè)線方向圖D和能量圖E。
3)計(jì)算能量圖E的二值圖Eb。將能量圖中的所有能量值按從大到小排序,并選取某個(gè)合適的能量值作為門(mén)限值M,對(duì)能量圖進(jìn)行二值化,規(guī)則如下
4)計(jì)算能量二值圖Eb的方向分離圖EAb和EBb,規(guī)則如下
5)以3×3區(qū)域?yàn)樽钚挝?,刪除EAb,EBb中連通區(qū)域的面積(Si,i=1,2,…,n)小于 P 的線條,將去掉雜線后的方向分離圖(LA,LB)合并為主線能量圖。即
同理,計(jì)算得到LB
式中:PL為主線能量圖。
6)簡(jiǎn)化步驟2)中的線方向圖D,提取主線方向信息:提取主線方向信息,即記錄主線能量圖PL像素值為1的位置,并保留線方向圖D的此位置,其余位置置于0。即
式中:Ld(x,y)為主線方向特征圖。
采用以上步驟得到的多尺度主線方向信息,與傳統(tǒng)DBN方法中輸入的灰度信息,兩兩獨(dú)立,互不相關(guān),因此,能最大程度地反映原始訓(xùn)練樣本圖像所包含的信息[18]。
增加DBN可視層輸入端信息的維度有助于提高圖像分類的正確識(shí)別率。借助此思想把第2.1節(jié)提出的多尺度主線方向特征提取的方法與DBN模型結(jié)合,得到基于多尺度主線方向信息的DBN二次訓(xùn)練模型,即MSMD-DBN模型。其基本模型結(jié)構(gòu)如圖2所示。
圖2 MSMD-DBN算法模型圖
根據(jù)圖2的模型結(jié)構(gòu),該算法的訓(xùn)練學(xué)習(xí)過(guò)程如下:
1)根據(jù)第2.1節(jié)的多尺度主線方向信息特征提取方法,獲得訓(xùn)練樣本集的多尺度主線方向信息;
2)將訓(xùn)練樣本圖像特征與1)中得到的多尺度主線方向特征作為可視層的輸入來(lái)訓(xùn)練第一個(gè)RBM,每個(gè)RBM的輸出作為下一個(gè)RBM的輸入數(shù)據(jù),用來(lái)訓(xùn)練RBM,類似這樣,利用無(wú)監(jiān)督預(yù)訓(xùn)練算法逐層訓(xùn)練獲得網(wǎng)絡(luò)參數(shù)值;
3)當(dāng)逐層學(xué)習(xí)完成一組堆疊的RBM后,即將參數(shù)調(diào)整到一個(gè)比較合適的初始值后,再利用有監(jiān)督微調(diào)方法對(duì)整個(gè)網(wǎng)絡(luò)進(jìn)行優(yōu)化。
該算法在保證原有輸入信息的前提下,通過(guò)添加多尺度主線方向信息的方法,增加輸入端信息的維度,提升DBN的性能,使RBM更好地?cái)M合數(shù)據(jù),提取到更本質(zhì)的特征,進(jìn)而提高圖像分類的有效正確識(shí)別率。
為了驗(yàn)證本文提出的MSMD-DBN算法模型識(shí)別性能的有效性,實(shí)驗(yàn)選用CIFAR-10和MNIST數(shù)據(jù)庫(kù)來(lái)進(jìn)行測(cè)試,并與傳統(tǒng)DBN算法以及文獻(xiàn)[15]提出的Gabor小波與RBM二次特征提取方法進(jìn)行對(duì)比。
實(shí)驗(yàn)以CIFAR-10數(shù)據(jù)庫(kù)為例,選取飛機(jī)、汽車和鳥(niǎo)三類圖像,每類包括6 000幅,分辨率為32×32。從每類中隨機(jī)抽取5 000幅圖像作為訓(xùn)練樣本集,另外1 000幅組成測(cè)試樣本集。該實(shí)驗(yàn)中,主線方向信息特征提取方法中采用3×3和9×9這2個(gè)尺度空間,12個(gè)方向,門(mén)限值M=280,DBN的結(jié)構(gòu)設(shè)置為:4028-300-300-800,RBM無(wú)監(jiān)督預(yù)訓(xùn)練和DBN有監(jiān)督微調(diào)中的迭代次數(shù)都設(shè)置為50次。
實(shí)驗(yàn)中用到的部分訓(xùn)練樣本集和用3×3尺度空間提取到的對(duì)應(yīng)的主線方向特征圖分別如圖3和圖4所示。
圖3 部分訓(xùn)練樣本集
圖4 圖3對(duì)應(yīng)的主線方向特征圖
為了驗(yàn)證本文算法的有效性,本實(shí)驗(yàn)采用3種算法在CIFAR-10數(shù)據(jù)庫(kù)上進(jìn)行測(cè)試,性能指標(biāo)包括訓(xùn)練樣本正確識(shí)別率和測(cè)試樣本正確識(shí)別率。其中,文獻(xiàn)[15]的算法采用4個(gè)方向的Gabor濾波器組。
實(shí)驗(yàn)1以飛機(jī)和鳥(niǎo)為實(shí)驗(yàn)對(duì)象進(jìn)行分類,實(shí)驗(yàn)2以飛機(jī)、汽車以及鳥(niǎo)這3類圖像為實(shí)驗(yàn)對(duì)象進(jìn)行分類,3種算法的實(shí)驗(yàn)結(jié)果比較分別如表1、表2所示。
表1 實(shí)驗(yàn)1的分類性能比較
表2 實(shí)驗(yàn)2的分類性能比較
由表1和表2可知,相比于傳統(tǒng)DBN算法,本文算法正確識(shí)別率有明顯的提高,提高了11%左右;相比文獻(xiàn)[15]也有一定的提高。這是因?yàn)楸疚牡腗SMD-DBN算法在輸入端添加了更多的有效局部、全局主線方向信息,增加了輸入信息的維度,使得提取到的特征更具有代表性。
為了進(jìn)一步綜合評(píng)價(jià)該算法,表3給出了不同算法在實(shí)驗(yàn)1中的耗時(shí)對(duì)比。
下面例子左邊是某賣(mài)家客戶信息(姓名、年齡),要求運(yùn)行后輸出用戶顯示信息的C#代碼段。右邊圖引入面向?qū)ο蠓诸惥幊谈鞣N模塊類組成字段及方法函數(shù)的圖解描述(代碼模塊化)。見(jiàn)圖4。
表3 算法耗時(shí)比較
從運(yùn)行結(jié)果可以看出,本文算法由于增加了信息的維度,相對(duì)于傳統(tǒng)DBN算法,耗時(shí)較長(zhǎng),但相比于文獻(xiàn)[15]的算法運(yùn)行效率明顯提高。綜合考慮分類性能和耗時(shí),本文算法相比于其他算法,既能保證一定的運(yùn)行效率,又能提高識(shí)別性能。
實(shí)驗(yàn)以MNIST手寫(xiě)字體數(shù)據(jù)庫(kù)為例,選取數(shù)字0,3和8等3類圖像進(jìn)行分類測(cè)試。從數(shù)字0中隨機(jī)選取5 900幅圖像作為訓(xùn)練樣本集,900幅圖像作為測(cè)試樣本集;從數(shù)字3中隨機(jī)選取6 100幅圖像作為訓(xùn)練樣本集,1 000幅圖像作為測(cè)試樣本集;從數(shù)字8中隨機(jī)選取5 800幅圖像作為訓(xùn)練樣本集,900幅圖像作為測(cè)試樣本集。所有樣本圖像的分辨率為28×28。
該實(shí)驗(yàn)中,主線方向信息特征提取方法中采用3×3的尺度空間,12個(gè)方向,門(mén)限值 M=190,DBN的結(jié)構(gòu)設(shè)置為:1568-500-300-800,RBM無(wú)監(jiān)督預(yù)訓(xùn)練和DBN有監(jiān)督微調(diào)中的迭代次數(shù)都設(shè)置為30次。
實(shí)驗(yàn)中用到的部分訓(xùn)練樣本集和提取到的對(duì)應(yīng)的主線方向特征圖分別如圖5和圖6所示。
圖5 部分訓(xùn)練樣本集
圖6 圖5對(duì)應(yīng)的主線方向特征圖
圖7 重構(gòu)誤差曲線
為了進(jìn)一步比較和數(shù)據(jù)分析,本實(shí)驗(yàn)采用3種算法對(duì)MNIST數(shù)據(jù)庫(kù)中的數(shù)字0,3,8進(jìn)行分類測(cè)試,文獻(xiàn)[15]的算法同樣采用4個(gè)方向的Gabor濾波器組。實(shí)驗(yàn)結(jié)果比較如表4所示。
表4 3種算法的分類性能比較
從表4的運(yùn)行結(jié)果可以看出,本文算法相比傳統(tǒng)DBN算法,正確識(shí)別率有一定的提高,而文獻(xiàn)[15]的算法對(duì)手寫(xiě)字體分類性能不能起到改善作用。
本文提出了一種基于多尺度主線方向特征的深度信念網(wǎng)絡(luò)圖像分類算法(MSMD-DBN)。在DBN可視層輸入端加入主線方向信息,增加有用信息的維度,可有效補(bǔ)償DBN模型自身無(wú)空間結(jié)構(gòu)信息的缺點(diǎn),進(jìn)而提升DBN的性能,提高圖像分類的正確識(shí)別率。在CIFAR-10和MNIST兩個(gè)數(shù)據(jù)庫(kù)上的實(shí)驗(yàn)也同樣驗(yàn)證了MSMD-DBN算法的有效性。如何選擇合適的門(mén)限值,并從理論上研究確定門(mén)限值的準(zhǔn)則,進(jìn)一步提取到更具有代表性的主線方向特征,將是下一步的研究重點(diǎn)。
[1]亓?xí)哉?,王慶.一種基于稀疏編碼的多核學(xué)習(xí)圖像分類方法[J].電子學(xué)報(bào),2012,40(4):773-779.
[2]黨建武,宗巖,王陽(yáng)萍.基于SIFT特征檢測(cè)的圖像拼接優(yōu)化算法研究[J].計(jì)算機(jī)應(yīng)用研究,2012,29(1):329-332.
[3]袁寶華,王歡,任明武.基于完整LBP特征的人臉識(shí)別[J].計(jì)算機(jī)應(yīng)用研究,2012,29(4):1557-1559.
[4]張剛,馬宗民.一種采用Gabor小波的紋理特征提取方法[J].中國(guó)圖象圖形學(xué)報(bào),2010,15(2):247-254.
[5] HINTON G E,OSINDERO S,TEH Y W.A fast learning algorithm for deep belief nets[J].Neural Computation,2006,18(7):1527-1554.
[6]陳碩.深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)在語(yǔ)音識(shí)別中的應(yīng)用研究[D].廣州:華南理工大學(xué),2013.
[7] JI Nannan,ZHANG Jiangshe,ZHANG Chunxia.A sparse-response deep belief network based on rate distortion theory[J].Pattern Recognition,2014,47(9):3179-3191.
[8] LIN Miaozhen,XIN Fan.Low resolution face recognition with pose variations using deep belief networks[C]//Proc.2011 4th International Congress on Image and Signal Processing.Shanghai:CISP,2011:1522-1526.
[9]呂啟,竇勇,牛新,等.基于DBN模型的遙感圖像分類[J].計(jì)算機(jī)研究與發(fā)展,2014,51(9):1911-1918.
[10]孫勁光,蔣金葉,孟祥福,等.深度置信網(wǎng)絡(luò)在垃圾郵件過(guò)濾中的應(yīng)用[J].計(jì)算機(jī)應(yīng)用,2014,34(4):1122-1125.
[11] MOHAMED A,DAHL G E,HINTON G.Acoustic modeling using deep belief networks[J].IEEE Trans.Audio,Speech and Language Processing,2012,20(1):14-22.
[12] DAHL G E,DONG Y,LI D,et al.Context-dependent pre-trained deep neural networks for large-vocabulary speech recognition[J].IEEE Trans.Audio,Speech and Language Processing,2012,20(1):30-42.
[13]王一,楊俊安,劉輝,等.一種基于層次結(jié)構(gòu)深度信念網(wǎng)絡(luò)的音素識(shí)別方法[J].應(yīng)用科學(xué)學(xué)報(bào),2014,32(5):515-522.
[14]呂剛,郝平,盛建榮.一種改進(jìn)的深度神經(jīng)網(wǎng)絡(luò)在小圖像分類中的應(yīng)用研究[J].計(jì)算機(jī)應(yīng)用與軟件,2014,31(4):182-184.
[15]柴瑞敏,曹振基.基于Gabor小波與深度信念網(wǎng)絡(luò)的人臉識(shí)別方法[J].計(jì)算機(jī)應(yīng)用,2014,34(9):2590-2594.
[16]李晉徽,楊俊安,王一.一種新的基于瓶頸深度信念網(wǎng)絡(luò)的特征提取方法及其在語(yǔ)種識(shí)別中的應(yīng)用[J].計(jì)算機(jī)科學(xué),2014,41(3):263-266.
[17]毋媛媛,刁智華,王會(huì)丹,等.作物病害圖像形狀特征提取研究[J].農(nóng)機(jī)化研究,2015,37(1):64-67.
[18]方晨,楊葉,伍書(shū)劍.主成分分析和聚類分析在軟件重構(gòu)中的應(yīng)用[J].計(jì)算機(jī)工程與設(shè)計(jì),2009,30(2):366-367.