李文軒,孫季豐
(華南理工大學(xué)電子與信息學(xué)院,廣東 廣州 510640)
路牌是自然場景中廣泛存在的一種圖像信息,其特征容易識別,能夠為駕駛者提供必要的信息,指導(dǎo)駕駛者到達(dá)目的地。在計算機視覺的研究中,路牌圖像文字識別是一個重要的方向。計算機通過識別路牌文字信息能夠?qū)崿F(xiàn)確定駕駛者所在位置、引導(dǎo)視覺障礙者等功能,有著重要價值。而在自然場景中,由于通過相機獲得的路牌圖像中文字所占區(qū)域小、分辨率較低、帶有形變等因素,導(dǎo)致文字識別率較低。
自2009年Salakhutdinov[1]提出深度玻爾茲曼機DBM(Deep Boltzmann Machine)以來,DBM模型的應(yīng)用研究取得了一定成果。其中,He等人[2]運用DBM進(jìn)行紅外人臉表情的識別;Hu等人[3]結(jié)合特征提取算子將DBM用于車型識別。DBM在以上應(yīng)用中均優(yōu)于過去的算法,但文獻(xiàn)[2,3]中均未對DBM結(jié)構(gòu)進(jìn)行改進(jìn),改進(jìn)模型訓(xùn)練方法與結(jié)構(gòu)以提高目標(biāo)識別效果是一個可研究的問題。
針對以上問題,本文提出一種復(fù)合優(yōu)化的深度玻爾茲曼機MDBM(Mixed optimized Deep Boltzmann Machine),應(yīng)用于圖像文字識別。DBM網(wǎng)絡(luò)對初值敏感,獲得符合數(shù)據(jù)分布的初值能夠有效提高網(wǎng)絡(luò)的識別能力。本文同時提出一種復(fù)合共軛梯度法CCG(Complex Conjugate Gradient)對DBM中的微調(diào)算法進(jìn)行改進(jìn),提高了微調(diào)算法搜索能力。相比原DBM算法,文中所提算法提高了自然場景圖像中低分辨率文字的識別率與穩(wěn)定性。
深度玻爾茲曼機[1]作為一種深度學(xué)習(xí)方法,是基于深度信念網(wǎng)DBN(Deep Belief Nets)提出的一種改進(jìn)的概率生成模型,其主要特點在于所構(gòu)成的是一個無向圖,能夠?qū)崿F(xiàn)深度信念網(wǎng)所不能實現(xiàn)的自頂向下的訓(xùn)練反饋,實現(xiàn)對模糊輸入數(shù)據(jù)的處理。
DBM由受限玻爾茲曼機RBM(Restricted Boltzmann Machine)構(gòu)成,RBM則來源于玻爾茲曼機BM(Boltzmann Machine)。玻爾茲曼機[1,4]是由Hinton、Sejnowski與Rumelhart于1986提出的一種基于統(tǒng)計模型的對稱模糊二值單元網(wǎng)絡(luò),是一個雙層、無向、全連通圖。由于玻爾茲曼機訓(xùn)練困難,為簡化模型,將玻爾茲曼機同層權(quán)值間參數(shù)設(shè)為0得到RBM。
對于一個兩層的RBM,其能量函數(shù)定義為:
E(v,h1,h2;θ)=-vTW1h1-h1TW2h2
(1)
其中,v為輸入向量,h={h1,h2} 是第一隱層和第二隱層節(jié)點,θ={W1,W2} 是模型參數(shù),代表可見層到隱層和隱層到隱層的對稱交互權(quán)值。
模型對應(yīng)于輸入向量v的概率為:
(2)
(3)
可見單元v∈{0,1}D,隱藏單元h∈{0,1}P,其中D和P分別表示可見單元與隱藏單元的個數(shù)。
第一隱層單元、第二隱層單元和可見層的條件概率可通過logistic函數(shù)σ(·)獲得,其表達(dá)式如下:
(4)
(5)
(6)
在DBM模型中,訓(xùn)練過程分為無監(jiān)督訓(xùn)練與監(jiān)督訓(xùn)練兩部分,其中,無監(jiān)督訓(xùn)練是使模型各權(quán)值初始化,為更好地解決反向傳播算法在多層神經(jīng)網(wǎng)絡(luò)中衰減的問題所提出的一種有效方法。監(jiān)督學(xué)習(xí)方法則使用傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)訓(xùn)練方法,如反向傳播算法。
2.2.1 預(yù)訓(xùn)練算法
Hinton等人[5]基于復(fù)雜模型的學(xué)習(xí)可由一系列簡單模型的順序?qū)W習(xí)構(gòu)成的思想,于2006年提出一種貪婪的、逐層的非監(jiān)督學(xué)習(xí)算法,用于預(yù)訓(xùn)練概率生成網(wǎng)絡(luò)中的RBM。經(jīng)過預(yù)訓(xùn)練后,整個網(wǎng)絡(luò)可看作是一個概率模型,即深度置信網(wǎng)。在DBM中,仍使用此算法作為預(yù)訓(xùn)練算法。
逐層貪婪預(yù)訓(xùn)練算法的基本步驟如下:
(1)學(xué)習(xí)可視層v單元權(quán)值W0并假設(shè)所有權(quán)值矩陣的值是固定的;
(2)凍結(jié)權(quán)值W0,使用(W0)T推導(dǎo)第一隱層的二次逼近后驗概率分布,即使上層的權(quán)值矩陣發(fā)生變化;
(3)保持所有的高層權(quán)值矩陣固定,除了與W0相連的,使用(W0)T所變換的原始數(shù)據(jù)學(xué)習(xí)一個RBM。
此算法若改變了高層的權(quán)值,則能夠提高生成模型的變界(Variational Bound)。
在預(yù)訓(xùn)練算法學(xué)習(xí)中,第一層RBM生成后,生成模型的概率可以寫為[6]:
(7)
其中P(h1;W1)=∑vP(h1,v;W1) 是通過W1定義的h1的先驗概率。使用相同的參數(shù)定義h1的先驗和似然函數(shù)P(v|h1),能夠使推導(dǎo)更容易。
第二層的RBM通過改變參數(shù)學(xué)習(xí)一個更好的模型,其中的先驗概率P(h1;W2)=∑h2P(h1,h2;W2),式中W2是在(W1)T中初始化的,并根據(jù)W2的訓(xùn)練數(shù)據(jù)的概率取對數(shù)后計算變下界梯度獲得。包含N個訓(xùn)練數(shù)據(jù)的變下界例子如下所示:
(8)
其中,H(·)是熵函數(shù),Q(h|v)是任意在l隱層中的向量的后驗概率,n∈[1,N]。
在實際訓(xùn)練DBM時,與DBN不同,為減少在DBM低層的重復(fù)計數(shù)問題,在訓(xùn)練過程中使用兩倍的輸入數(shù)據(jù)作為輸入,并保持輸入到隱層的權(quán)值不變,則隱層和可見層的條件分布為:
(9)
(10)
通過使用對比散度CD(Contrastive Divergence)算法,改造后的RBM能夠較好地重構(gòu)訓(xùn)練數(shù)據(jù)。在訓(xùn)練第2個RBM時,將第一層計算所得結(jié)果經(jīng)sigmoid等非線性函數(shù)計算,所得結(jié)果作為第二層的輸入,并將輸入翻倍,則條件分布為:
(11)
(12)
當(dāng)上述兩個模型預(yù)訓(xùn)練結(jié)束后,構(gòu)成一個系統(tǒng),所有到第一隱層的輸入都將被減半,產(chǎn)生如下的條件分布:
(13)
對于v和h2的條件分布,與式(1)和式(3)相似。
對于多層深度網(wǎng)絡(luò),可重復(fù)進(jìn)行逐層的預(yù)訓(xùn)練算法,以達(dá)到預(yù)訓(xùn)練整個網(wǎng)絡(luò)的目的。
通過貪婪的預(yù)訓(xùn)練算法獲得的兩個改進(jìn)的RBM產(chǎn)生一個帶有對稱權(quán)值的無向圖模型,即DBM模型。當(dāng)貪婪訓(xùn)練多于兩層的RBM時,改進(jìn)的模型只需使用首層和最后一層的RBM。
在訓(xùn)練之后,每一層中二值特征的模糊狀態(tài)可被確定的,以實數(shù)值的概率替代,由此DBM變?yōu)橐粋€確定性的多層神經(jīng)網(wǎng)絡(luò)。
2.2.2 微調(diào)算法
Hinton提出的深度學(xué)習(xí)網(wǎng)絡(luò)中,在預(yù)訓(xùn)練后需要加入微調(diào)算法,而這種算法可以是傳統(tǒng)的反向傳播算法。反向傳播算法是一種用于訓(xùn)練多層前饋神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)算法,能夠有效修正隱層節(jié)點的連接權(quán)值和閾值,具有公式簡潔、概念清晰等優(yōu)點。
反向傳播算法使用梯度下降法使網(wǎng)絡(luò)的輸出值和目標(biāo)值之間的誤差平方最小。在反向傳播算法中,誤差定義為:
(14)
其中,w為權(quán)值向量,outputs為網(wǎng)絡(luò)輸出單元的集合,tkg和okg是與訓(xùn)練樣例g和第k個輸出單元相關(guān)的輸出值。
反向傳播算法的學(xué)習(xí)問題是一個搜索假設(shè)空間的問題,空間中包含所有單元的所有可能的權(quán)值定義。在通常情況下,反向傳播算法使用梯度下降法進(jìn)行權(quán)值搜索。
Figure 1 Two-layer deep Boltzmann machine圖1 兩層的深度波爾茲曼機模型
神經(jīng)網(wǎng)絡(luò)對初始化參數(shù)敏感,針對這一問題,研究者已提出多種優(yōu)化方法,如對比散度算法[7],使反向傳播衰減影響降低,提高了識別精度。由此,本文針對所使用的灰度圖像數(shù)據(jù)提出一種用于DBM預(yù)訓(xùn)練過程的參數(shù)初始化方法,通過在RBM的約束學(xué)習(xí)與自由學(xué)習(xí)過程中使用非對稱取值方法改進(jìn)DBM,能更好逼近數(shù)據(jù)分布,使網(wǎng)絡(luò)的識別效果提高。
在一般的玻爾茲曼機模型訓(xùn)練過程中[7],首先進(jìn)行約束學(xué)習(xí),將可見單元狀態(tài)值取值為訓(xùn)練樣本值,后通過采樣方法獲取隱藏單元值。之后進(jìn)行自由學(xué)習(xí),網(wǎng)絡(luò)自由運行,不約束任何可見單元狀態(tài),并采樣獲得新的可見單元與隱單元權(quán)值。
在DBM中,每一層均使用隨機二值化方法處理輸入數(shù)據(jù),網(wǎng)絡(luò)狀態(tài)明顯受隨機采樣效果影響,識別結(jié)果不穩(wěn)定,難以確定模型是否取得最優(yōu)值。本文通過直接獲取訓(xùn)練數(shù)據(jù)作為部分層的可見單元,將灰度值初始化采樣與二值初始化采樣方法混合,提出一種較穩(wěn)定且效果較理想的參數(shù)初始化方法。以三層MDBM為例,其算法如下:
第一層:初始化各參數(shù)。
For 1:MaxepochH1
約束學(xué)習(xí)階段:
使用灰度訓(xùn)練數(shù)據(jù)作為約束學(xué)習(xí)階段的輸入數(shù)據(jù)
計算第一隱層各權(quán)值概率;
采樣獲取隱層二值狀態(tài)值;
自由學(xué)習(xí)階段:
計算第一隱層各權(quán)值概率;
更新各參數(shù);
EndFor
第二層:獲取前一層各參數(shù),并初始化本層各參數(shù)。
For 1:MaxepochH2
約束學(xué)習(xí)階段:
使用前一層訓(xùn)練結(jié)果的二值化結(jié)果作為約束學(xué)習(xí)階段的輸入數(shù)據(jù);
計算第二隱層各權(quán)值概率;
自由學(xué)習(xí)階段:
使用對比散度算法計算第二隱層各權(quán)值概率;
更新各參數(shù);
EndFor
第三層:獲取前兩層各參數(shù),并初始化本層各參數(shù)。
For 1:Maxepoch
約束學(xué)習(xí)階段:
使用原始數(shù)據(jù)作為輸入數(shù)據(jù);
使用平均場(Mean Field)方法計算前兩層的聯(lián)合概率;
計算各參數(shù);
自由學(xué)習(xí)階段:
采樣獲取隱層二值狀態(tài)值;
計算隱層懲罰項概率權(quán)值;
采樣獲取隱層懲罰項二值狀態(tài)值;
計算隱層參數(shù)概率權(quán)值;
采樣獲取隱層參數(shù)二值狀態(tài)值;
更新各參數(shù)概率權(quán)值;
EndFor
在DBM微調(diào)階段,算法使用的是共軛梯度法。共軛梯度法是解決無約束最優(yōu)化問題的一種常用方法,基本思想是利用已知點處的梯度構(gòu)造一組共軛方向,據(jù)此搜索目標(biāo)函數(shù)極值。其迭代結(jié)構(gòu)簡單、存儲量小,且具有良好的局部和全局收斂性。共軛梯度法在對大規(guī)模約束最優(yōu)化問題的求解中,其解的數(shù)值表現(xiàn)優(yōu)于最速下降法、牛頓法、BFGS(Broyden, Fletcher, Goldfarb, Shanno)擬牛頓法等無約朿最優(yōu)化算法[9]。本文針對算法中微調(diào)算法與訓(xùn)練算法的弱聯(lián)系特性,提出一種由比例梯度法改進(jìn)得到的復(fù)合共軛梯度法,優(yōu)化算法的擬合能力,使算法識別率得到一定提高。
文中提出一種復(fù)合共軛梯度法CCG(Complex Conjugate Gradient),用以改進(jìn)Polak-Ribiere共軛梯度法。CCG思想來源于比例共軛梯度法,比例共軛梯度法是共軛梯度法的一種改進(jìn),其結(jié)合了兩點步長下降法和共軛梯度法。兩點步長下降法是一種最速下降法的改進(jìn),主要目的是提高最速下降法的收斂速度。本文所提出的復(fù)合共軛梯度法是比例共軛梯度法的一種改進(jìn)。
CCG搜索方向dk計算公式為:
(15)
(16)
其中,yk-1=gk-gk-1,sk-1=xk-xk-1,xk為第k次迭代時的輸入。
通過論證,得到CCG的待定參數(shù)θk的取值為:
(17)
本文針對所研究的對象采集并制作一個包含280幅彩色高速路牌圖片的研究數(shù)據(jù)集。
本文實驗中對圖像的預(yù)處理主要分為以下幾個部分:
(1)路牌的提?。和ㄟ^將RGB色彩空間轉(zhuǎn)化至HSV空間,使用路牌顏色特征進(jìn)行路牌圖像的感興趣區(qū)域提取。實驗結(jié)果如圖2所示。
Figure 2 Taffic signs extraction by color feature圖2 通過顏色提取路牌區(qū)域
路牌顏色提取流程圖,如圖3所示。
Figure 3 Flow chart of color feature extraction by color region of taffic signs圖3 路牌區(qū)域顏色提取流程圖
(2)路牌圖像的傾斜校正:通過使用矩陣變換實現(xiàn)路牌圖像的傾斜校正,效果如圖4所示。
Figure 4 Skew correction圖4 傾斜校正
路牌顏色提取流程圖,如圖5所示。
Figure 5 Flow chart of skew correction圖5 路牌區(qū)域傾斜校正流程圖
針對路牌文字排列較為規(guī)范的特點,本文采用二值圖像連通區(qū)域提取方法與手工分割方法獲取文字圖像實驗數(shù)據(jù)集。本文選取文字圖像數(shù)據(jù)集中的20種漢字作為實驗對象,將數(shù)據(jù)庫中文字圖像分辨率統(tǒng)一為20×20,并對訓(xùn)練集的圖像分別進(jìn)行加噪或灰度增強操作,以增加訓(xùn)練集數(shù)據(jù)量,構(gòu)成的訓(xùn)練集包括20類1 200幅文字圖像,測試集含有20類400幅文字圖像。文字圖像實驗數(shù)據(jù)集部分實例如圖4所示。
Figure 6 Part of the images of Chinese characters data圖6 采集的部分文字圖像
本文采用BP神經(jīng)網(wǎng)絡(luò)BPNN(Back Propagation Neural Network)、深度玻爾茲曼機(DBM)與復(fù)合優(yōu)化深度玻爾茲曼機(MDBM)三種算法進(jìn)行實驗對比。各算法的實驗最優(yōu)識別結(jié)果對比如表1所示。
Table 1 Recognition accuracy comparisonamong the algorithms
由表1可得出,相對于BP神經(jīng)網(wǎng)絡(luò),DBM對圖像文字的識別效果最優(yōu),可認(rèn)為DBM具有對文字圖像較理想的識別能力。從表1中還可看出,MDBM比原有DBM在識別率上有0.5%的提高。
在表1所示的最優(yōu)結(jié)果處理過程中,對DBM與MDBM微調(diào)過程的平均精度進(jìn)行對比。其中,剔除前兩次快速收斂過程結(jié)果,設(shè)定20次迭代中的18次結(jié)果的平均值作對比,其結(jié)果如表2所示。
Table 2 Average number of misclassificationcomparison between the DBM and MDBM
對比表1與表2中DBM誤匹配個數(shù)可知,本文提出的算法在收斂過程中大部分結(jié)果均在最優(yōu)值附近,優(yōu)于原DBM算法。
DBM與MDBM微調(diào)迭代過程狀態(tài)結(jié)果如圖7所示。
Figure 7 Result comparison of 18 interactions圖7 18次迭代結(jié)果對比
由圖7可得出,本文提出的方法在微調(diào)迭代過程中,有效減少了反向傳播中識別結(jié)果的波動,減少幅度明顯,并在一定幅度上提高了識別精度。
由于微調(diào)算法的隨機性,本文通過50次的實驗,對比本文提出算法與DBM算法在微調(diào)過程中識別結(jié)果的穩(wěn)定性與平均精度,結(jié)果如圖8所示。
Figure 8 Distribution of average results of 50 experiments圖8 50次實驗平均結(jié)果的分布
由圖8所示結(jié)果可知,本文提出算法在多次實驗對比下優(yōu)于原DBM算法,即可排除隨機性對算法不穩(wěn)定性的影響,可說明本文提出算法在路牌數(shù)據(jù)集的識別效果中優(yōu)于原DBM算法。
Table 3 Average number of traffic signs’ characterdata misclassification in 50 experiments
由表3結(jié)果可知,在50次實驗中,本文提出的算法在訓(xùn)練集平均誤匹配個數(shù)較原DBM算法減少了20.01,在測試集中減少5.51。
綜合3.4節(jié)的實驗結(jié)果,本文提出的MDBM算法在灰度路牌圖像數(shù)據(jù)集中的識別精度優(yōu)于原DBM算法,即混合參數(shù)初始化方法對灰度路牌文字圖像的識別有提高。
文中的識別實驗程序?qū)崿F(xiàn)展示如圖9所示。
Figure 9 Display of recognition results圖9 識別實驗程序展示
深度玻爾茲曼機是一種改進(jìn)的概率生成模型,具有無監(jiān)督的特征提取能力和分類識別能力,對模糊數(shù)據(jù)的分類識別有較理想效果。本文主要工作在于提出一種改進(jìn)深度玻爾茲曼機數(shù)據(jù)集初始化及微調(diào)過程的方法,由此構(gòu)建一種復(fù)合優(yōu)化深度玻爾茲曼機(MDBM)深度學(xué)習(xí)模型。文中通過采集自然場景中的路牌圖像數(shù)據(jù),提取并構(gòu)造文中使用的路牌文字圖像數(shù)據(jù)集。通過將提取及識別文字部分結(jié)合,提出一種對自然場景中的路牌圖像中的低分辨率文字進(jìn)行識別的方案。文中實驗結(jié)果顯示,MDBM方法相對于原DBM算法在識別精度與穩(wěn)定性上均有一定提高。未來可通過實驗數(shù)據(jù)的進(jìn)一步擴充及算法效率的提高兩個方向?qū)W(wǎng)絡(luò)模型進(jìn)行研究。
[1] Salakhutdinov R,Hinton G E.Deep Boltzmann machines[C]∥Proc of International Conference on Artificial Intelligence and Statistics,2009:448-455.
[2] He Shan,Wang Shang-fei,Lan Wu-wei,et al.Facial expression recognition using deep Boltzmann machine from thermal infrared images[C]∥Proc of 2013 Humaine Association Conference on Affective Computing and Intelligent Interaction (ACII),2013:239-244.
[3] Hu Ai-qin,Li Hong,Zhang Fan,et al.Deep Boltzmann machines based vehicle recognition[C]∥Proc of the 26th Chinese Control and Decision Conference (2014 CCDC),2014:3033-3038.
[4] Zheng Yin,Chen Quan-qi,Zhang Yu-jin.Deep learning and its new progressin object and behavior recognition[J].Journal of Image and Graphics,2014,19(2):175-184.(in Chinese)
[5] Hinton G E, Osindero S, Yee-Whye T. A fast learning algorithm for deep belief nets[J].Neural Computation,2006,18(7):1527-1554.
[6] Hinton G E.Training products of experts by minimizing constrastive divergence[J].Neural Computation,2002,14(8):1771-1800.
[7] Liu Jian-wei,Liu Yuan,Luo Xiong-lin.Research and development on Boltzmann machine[J].Journal of Computer Research and Development,2014,51(1):1-16.(in Chinese)
[8] Mohd R, Muhammad F, Mustafa M.New modifications of conjugate gradient coefficient with global convergence properties[C]∥Proc of 2012 IEEE Symposium on Humanities,Science and Engineering Research,2012:625-629.
附中文參考文獻(xiàn):
[4] 鄭胤,陳權(quán)崎,章毓晉.深度學(xué)習(xí)及其在目標(biāo)和行為識別中的新進(jìn)展[J].中國圖象圖形學(xué)報,2014,19(2):175-184.
[7] 劉建偉,劉媛,羅雄麟.玻爾茲曼機研究進(jìn)展[J].計算機研究與發(fā)展,2014,51(1):1-16.