李文軒,孫季豐
(華南理工大學電子與信息學院,廣東 廣州 510640)
路牌是自然場景中廣泛存在的一種圖像信息,其特征容易識別,能夠為駕駛者提供必要的信息,指導駕駛者到達目的地。在計算機視覺的研究中,路牌圖像文字識別是一個重要的方向。計算機通過識別路牌文字信息能夠實現確定駕駛者所在位置、引導視覺障礙者等功能,有著重要價值。而在自然場景中,由于通過相機獲得的路牌圖像中文字所占區域小、分辨率較低、帶有形變等因素,導致文字識別率較低。
自2009年Salakhutdinov[1]提出深度玻爾茲曼機DBM(Deep Boltzmann Machine)以來,DBM模型的應用研究取得了一定成果。其中,He等人[2]運用DBM進行紅外人臉表情的識別;Hu等人[3]結合特征提取算子將DBM用于車型識別。DBM在以上應用中均優于過去的算法,但文獻[2,3]中均未對DBM結構進行改進,改進模型訓練方法與結構以提高目標識別效果是一個可研究的問題。
針對以上問題,本文提出一種復合優化的深度玻爾茲曼機MDBM(Mixed optimized Deep Boltzmann Machine),應用于圖像文字識別。DBM網絡對初值敏感,獲得符合數據分布的初值能夠有效提高網絡的識別能力。本文同時提出一種復合共軛梯度法CCG(Complex Conjugate Gradient)對DBM中的微調算法進行改進,提高了微調算法搜索能力。相比原DBM算法,文中所提算法提高了自然場景圖像中低分辨率文字的識別率與穩定性。
深度玻爾茲曼機[1]作為一種深度學習方法,是基于深度信念網DBN(Deep Belief Nets)提出的一種改進的概率生成模型,其主要特點在于所構成的是一個無向圖,能夠實現深度信念網所不能實現的自頂向下的訓練反饋,實現對模糊輸入數據的處理。
DBM由受限玻爾茲曼機RBM(Restricted Boltzmann Machine)構成,RBM則來源于玻爾茲曼機BM(Boltzmann Machine)。玻爾茲曼機[1,4]是由Hinton、Sejnowski與Rumelhart于1986提出的一種基于統計模型的對稱模糊二值單元網絡,是一個雙層、無向、全連通圖。由于玻爾茲曼機訓練困難,為簡化模型,將玻爾茲曼機同層權值間參數設為0得到RBM。
對于一個兩層的RBM,其能量函數定義為:
E(v,h1,h2;θ)=-vTW1h1-h1TW2h2
(1)
其中,v為輸入向量,h={h1,h2} 是第一隱層和第二隱層節點,θ={W1,W2} 是模型參數,代表可見層到隱層和隱層到隱層的對稱交互權值。
模型對應于輸入向量v的概率為:
(2)

(3)
可見單元v∈{0,1}D,隱藏單元h∈{0,1}P,其中D和P分別表示可見單元與隱藏單元的個數。
第一隱層單元、第二隱層單元和可見層的條件概率可通過logistic函數σ(·)獲得,其表達式如下:
(4)
(5)
(6)
在DBM模型中,訓練過程分為無監督訓練與監督訓練兩部分,其中,無監督訓練是使模型各權值初始化,為更好地解決反向傳播算法在多層神經網絡中衰減的問題所提出的一種有效方法。監督學習方法則使用傳統的神經網絡訓練方法,如反向傳播算法。
2.2.1 預訓練算法
Hinton等人[5]基于復雜模型的學習可由一系列簡單模型的順序學習構成的思想,于2006年提出一種貪婪的、逐層的非監督學習算法,用于預訓練概率生成網絡中的RBM。經過預訓練后,整個網絡可看作是一個概率模型,即深度置信網。在DBM中,仍使用此算法作為預訓練算法。
逐層貪婪預訓練算法的基本步驟如下:
(1)學習可視層v單元權值W0并假設所有權值矩陣的值是固定的;
(2)凍結權值W0,使用(W0)T推導第一隱層的二次逼近后驗概率分布,即使上層的權值矩陣發生變化;
(3)保持所有的高層權值矩陣固定,除了與W0相連的,使用(W0)T所變換的原始數據學習一個RBM。
此算法若改變了高層的權值,則能夠提高生成模型的變界(Variational Bound)。
在預訓練算法學習中,第一層RBM生成后,生成模型的概率可以寫為[6]:
(7)
其中P(h1;W1)=∑vP(h1,v;W1) 是通過W1定義的h1的先驗概率。使用相同的參數定義h1的先驗和似然函數P(v|h1),能夠使推導更容易。
第二層的RBM通過改變參數學習一個更好的模型,其中的先驗概率P(h1;W2)=∑h2P(h1,h2;W2),式中W2是在(W1)T中初始化的,并根據W2的訓練數據的概率取對數后計算變下界梯度獲得。包含N個訓練數據的變下界例子如下所示:
(8)
其中,H(·)是熵函數,Q(h|v)是任意在l隱層中的向量的后驗概率,n∈[1,N]。
在實際訓練DBM時,與DBN不同,為減少在DBM低層的重復計數問題,在訓練過程中使用兩倍的輸入數據作為輸入,并保持輸入到隱層的權值不變,則隱層和可見層的條件分布為:
(9)
(10)
通過使用對比散度CD(Contrastive Divergence)算法,改造后的RBM能夠較好地重構訓練數據。在訓練第2個RBM時,將第一層計算所得結果經sigmoid等非線性函數計算,所得結果作為第二層的輸入,并將輸入翻倍,則條件分布為:
(11)
(12)
當上述兩個模型預訓練結束后,構成一個系統,所有到第一隱層的輸入都將被減半,產生如下的條件分布:
(13)
對于v和h2的條件分布,與式(1)和式(3)相似。
對于多層深度網絡,可重復進行逐層的預訓練算法,以達到預訓練整個網絡的目的。
通過貪婪的預訓練算法獲得的兩個改進的RBM產生一個帶有對稱權值的無向圖模型,即DBM模型。當貪婪訓練多于兩層的RBM時,改進的模型只需使用首層和最后一層的RBM。
在訓練之后,每一層中二值特征的模糊狀態可被確定的,以實數值的概率替代,由此DBM變為一個確定性的多層神經網絡。
2.2.2 微調算法
Hinton提出的深度學習網絡中,在預訓練后需要加入微調算法,而這種算法可以是傳統的反向傳播算法。反向傳播算法是一種用于訓練多層前饋神經網絡的學習算法,能夠有效修正隱層節點的連接權值和閾值,具有公式簡潔、概念清晰等優點。
反向傳播算法使用梯度下降法使網絡的輸出值和目標值之間的誤差平方最小。在反向傳播算法中,誤差定義為:
(14)
其中,w為權值向量,outputs為網絡輸出單元的集合,tkg和okg是與訓練樣例g和第k個輸出單元相關的輸出值。
反向傳播算法的學習問題是一個搜索假設空間的問題,空間中包含所有單元的所有可能的權值定義。在通常情況下,反向傳播算法使用梯度下降法進行權值搜索。

Figure 1 Two-layer deep Boltzmann machine圖1 兩層的深度波爾茲曼機模型
神經網絡對初始化參數敏感,針對這一問題,研究者已提出多種優化方法,如對比散度算法[7],使反向傳播衰減影響降低,提高了識別精度。由此,本文針對所使用的灰度圖像數據提出一種用于DBM預訓練過程的參數初始化方法,通過在RBM的約束學習與自由學習過程中使用非對稱取值方法改進DBM,能更好逼近數據分布,使網絡的識別效果提高。
在一般的玻爾茲曼機模型訓練過程中[7],首先進行約束學習,將可見單元狀態值取值為訓練樣本值,后通過采樣方法獲取隱藏單元值。之后進行自由學習,網絡自由運行,不約束任何可見單元狀態,并采樣獲得新的可見單元與隱單元權值。
在DBM中,每一層均使用隨機二值化方法處理輸入數據,網絡狀態明顯受隨機采樣效果影響,識別結果不穩定,難以確定模型是否取得最優值。本文通過直接獲取訓練數據作為部分層的可見單元,將灰度值初始化采樣與二值初始化采樣方法混合,提出一種較穩定且效果較理想的參數初始化方法。以三層MDBM為例,其算法如下:
第一層:初始化各參數。
For 1:MaxepochH1
約束學習階段:
使用灰度訓練數據作為約束學習階段的輸入數據
計算第一隱層各權值概率;
采樣獲取隱層二值狀態值;
自由學習階段:
計算第一隱層各權值概率;
更新各參數;
EndFor
第二層:獲取前一層各參數,并初始化本層各參數。
For 1:MaxepochH2
約束學習階段:
使用前一層訓練結果的二值化結果作為約束學習階段的輸入數據;
計算第二隱層各權值概率;
自由學習階段:
使用對比散度算法計算第二隱層各權值概率;
更新各參數;
EndFor
第三層:獲取前兩層各參數,并初始化本層各參數。
For 1:Maxepoch
約束學習階段:
使用原始數據作為輸入數據;
使用平均場(Mean Field)方法計算前兩層的聯合概率;
計算各參數;
自由學習階段:
采樣獲取隱層二值狀態值;
計算隱層懲罰項概率權值;
采樣獲取隱層懲罰項二值狀態值;
計算隱層參數概率權值;
采樣獲取隱層參數二值狀態值;
更新各參數概率權值;
EndFor
在DBM微調階段,算法使用的是共軛梯度法。共軛梯度法是解決無約束最優化問題的一種常用方法,基本思想是利用已知點處的梯度構造一組共軛方向,據此搜索目標函數極值。其迭代結構簡單、存儲量小,且具有良好的局部和全局收斂性。共軛梯度法在對大規模約束最優化問題的求解中,其解的數值表現優于最速下降法、牛頓法、BFGS(Broyden, Fletcher, Goldfarb, Shanno)擬牛頓法等無約朿最優化算法[9]。本文針對算法中微調算法與訓練算法的弱聯系特性,提出一種由比例梯度法改進得到的復合共軛梯度法,優化算法的擬合能力,使算法識別率得到一定提高。
文中提出一種復合共軛梯度法CCG(Complex Conjugate Gradient),用以改進Polak-Ribiere共軛梯度法。CCG思想來源于比例共軛梯度法,比例共軛梯度法是共軛梯度法的一種改進,其結合了兩點步長下降法和共軛梯度法。兩點步長下降法是一種最速下降法的改進,主要目的是提高最速下降法的收斂速度。本文所提出的復合共軛梯度法是比例共軛梯度法的一種改進。
CCG搜索方向dk計算公式為:
(15)

(16)
其中,yk-1=gk-gk-1,sk-1=xk-xk-1,xk為第k次迭代時的輸入。
通過論證,得到CCG的待定參數θk的取值為:
(17)
本文針對所研究的對象采集并制作一個包含280幅彩色高速路牌圖片的研究數據集。
本文實驗中對圖像的預處理主要分為以下幾個部分:
(1)路牌的提取:通過將RGB色彩空間轉化至HSV空間,使用路牌顏色特征進行路牌圖像的感興趣區域提取。實驗結果如圖2所示。

Figure 2 Taffic signs extraction by color feature圖2 通過顏色提取路牌區域
路牌顏色提取流程圖,如圖3所示。

Figure 3 Flow chart of color feature extraction by color region of taffic signs圖3 路牌區域顏色提取流程圖
(2)路牌圖像的傾斜校正:通過使用矩陣變換實現路牌圖像的傾斜校正,效果如圖4所示。

Figure 4 Skew correction圖4 傾斜校正
路牌顏色提取流程圖,如圖5所示。

Figure 5 Flow chart of skew correction圖5 路牌區域傾斜校正流程圖
針對路牌文字排列較為規范的特點,本文采用二值圖像連通區域提取方法與手工分割方法獲取文字圖像實驗數據集。本文選取文字圖像數據集中的20種漢字作為實驗對象,將數據庫中文字圖像分辨率統一為20×20,并對訓練集的圖像分別進行加噪或灰度增強操作,以增加訓練集數據量,構成的訓練集包括20類1 200幅文字圖像,測試集含有20類400幅文字圖像。文字圖像實驗數據集部分實例如圖4所示。

Figure 6 Part of the images of Chinese characters data圖6 采集的部分文字圖像
本文采用BP神經網絡BPNN(Back Propagation Neural Network)、深度玻爾茲曼機(DBM)與復合優化深度玻爾茲曼機(MDBM)三種算法進行實驗對比。各算法的實驗最優識別結果對比如表1所示。

Table 1 Recognition accuracy comparisonamong the algorithms
由表1可得出,相對于BP神經網絡,DBM對圖像文字的識別效果最優,可認為DBM具有對文字圖像較理想的識別能力。從表1中還可看出,MDBM比原有DBM在識別率上有0.5%的提高。
在表1所示的最優結果處理過程中,對DBM與MDBM微調過程的平均精度進行對比。其中,剔除前兩次快速收斂過程結果,設定20次迭代中的18次結果的平均值作對比,其結果如表2所示。

Table 2 Average number of misclassificationcomparison between the DBM and MDBM
對比表1與表2中DBM誤匹配個數可知,本文提出的算法在收斂過程中大部分結果均在最優值附近,優于原DBM算法。
DBM與MDBM微調迭代過程狀態結果如圖7所示。

Figure 7 Result comparison of 18 interactions圖7 18次迭代結果對比
由圖7可得出,本文提出的方法在微調迭代過程中,有效減少了反向傳播中識別結果的波動,減少幅度明顯,并在一定幅度上提高了識別精度。
由于微調算法的隨機性,本文通過50次的實驗,對比本文提出算法與DBM算法在微調過程中識別結果的穩定性與平均精度,結果如圖8所示。

Figure 8 Distribution of average results of 50 experiments圖8 50次實驗平均結果的分布
由圖8所示結果可知,本文提出算法在多次實驗對比下優于原DBM算法,即可排除隨機性對算法不穩定性的影響,可說明本文提出算法在路牌數據集的識別效果中優于原DBM算法。

Table 3 Average number of traffic signs’ characterdata misclassification in 50 experiments
由表3結果可知,在50次實驗中,本文提出的算法在訓練集平均誤匹配個數較原DBM算法減少了20.01,在測試集中減少5.51。
綜合3.4節的實驗結果,本文提出的MDBM算法在灰度路牌圖像數據集中的識別精度優于原DBM算法,即混合參數初始化方法對灰度路牌文字圖像的識別有提高。
文中的識別實驗程序實現展示如圖9所示。

Figure 9 Display of recognition results圖9 識別實驗程序展示
深度玻爾茲曼機是一種改進的概率生成模型,具有無監督的特征提取能力和分類識別能力,對模糊數據的分類識別有較理想效果。本文主要工作在于提出一種改進深度玻爾茲曼機數據集初始化及微調過程的方法,由此構建一種復合優化深度玻爾茲曼機(MDBM)深度學習模型。文中通過采集自然場景中的路牌圖像數據,提取并構造文中使用的路牌文字圖像數據集。通過將提取及識別文字部分結合,提出一種對自然場景中的路牌圖像中的低分辨率文字進行識別的方案。文中實驗結果顯示,MDBM方法相對于原DBM算法在識別精度與穩定性上均有一定提高。未來可通過實驗數據的進一步擴充及算法效率的提高兩個方向對網絡模型進行研究。
[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.
附中文參考文獻:
[4] 鄭胤,陳權崎,章毓晉.深度學習及其在目標和行為識別中的新進展[J].中國圖象圖形學報,2014,19(2):175-184.
[7] 劉建偉,劉媛,羅雄麟.玻爾茲曼機研究進展[J].計算機研究與發展,2014,51(1):1-16.