杜澤炎 任明武
(南京理工大學計算機科學與工程學院 南京 210094)
手寫體字符識別技術是圖像識別領域的一個經典問題,可廣泛地應用于數字化時代的各個領域,包括郵政編碼識別、試卷內容識別、銀行票據識別等。
手寫體字符識別作為一個模式識別的熱點問題,已經被很多學者研究過。關于手寫體識別的研究有三個重心:字符預處理[1~3]、字符特征設計[4~8]和分類模型[6~7]。字符預處理是指圖像進行特征提取之前做的一些準備工作。常規的方法有去噪、銳化、字符分割[3]以及灰度規范化等。為后面的識別去除多余的干擾信息;字符特征設計可分手工特征設計[4~7]和自動提取特征[8]。手工特征設計是指研究人員對數據進行提煉分析,設計出一套能反映數據本質的特征向量,例如利用連通域個數、彎折位置和個數、端點位置和個數的排列組合來區分不同字符。其優點是設計的特征對于人類來說較為直觀容易理解,處理速度較快。缺點是對噪聲以及圖像的變形和缺失敏感,魯棒性較差。而自動提取特征的典型代表是卷積神經網絡[8]中的卷積層,卷積神經網絡可以從數據中自動的學習到待識別物體的特征,根據文獻[9]論述,卷積神經網絡的淺層卷積層學習到的是圖像內的基本特征,如各種形態的局部紋理。深層卷積層學習到的是類別特征,如用于識別車輛的卷積神經網絡中深層網絡會對圖像中車輪車窗等信息敏感。分類模型在字符識別領域應用較多的是支持向量機[10~11]和卷積神經網絡。因為近年來硬件性能的飛速提升和一些大型標注數據集的出現,像深度卷積神經網絡這種大參數模型應用范圍得到提高。在數據量較多的情況下,深度神經網絡的效果要優于支持向量機。此外卷積神經網絡可以自動提取特征,識別結果不過分依賴于圖像預處理的好壞。
在實際生產生活中產生的數據并一定像實驗環境中較為完好,很可能出現模糊、變形、噪聲等問題。相對于高清高質量圖像,本文定義出現以上問題的圖像為低質量圖像。而本文的方法也是針對低質量圖像的識別而提出的。
本文首先介紹一個由[12]啟發得到的圖像增強網絡EnCNN 和經典的字符識別網絡LeNet-5。隨后介紹一個應用于低質量圖像識別任務的框架,該框架由兩個組件組成,一個圖像增強網絡下文稱前置網絡和一個圖像識別網絡下文稱為后置網絡。之后介紹本文提出的一種模型學習策略,專門用于該框架內的模型學習。最后在實驗部分,本文以手寫體數字識別任務為例。先驗證增強網絡在本文提出模型學習策略下的效果,隨后對比本文方法和其他方法的手寫體識別率。
早在20 世紀80 年代末,文獻[8]的作者Yann LeCun 就作為貝爾實驗室的研究員提出了卷積網絡技術,并展示如何使用它來大幅度提高手寫體識別率。隨后卷積神經網絡沉寂了一段時間。2012年,Geoffrey Hinton 組的研究人員在ImageNet 2012[13]上奪冠,他們的圖像分類[14]成績遠超第二名,促使大量學者開始重視和研究深度學習,深度卷積神經網絡是其中的熱點,也被應用于機器視覺的各個課題,包括顯著性檢測[15~16]、物體檢測[17]、圖像分割[18]等。
卷積神經網絡的模型學習方法是一種稱為反向傳播(Back Propagation)的算法[19~20],它的學習規則是使用梯度下降法,通過反向傳播來不斷調整網絡中的參數,使神經網絡的代價函數逐步減小直到收斂。
現在所定義的深度卷積網絡主要包括以下幾個組件[8]:卷積層、池化層、ReLu 激活函數、Dropout和全連接層等。
本節介紹一個借鑒文獻[12],由三個卷積層組成的全卷積網絡EnCNN。該網絡可以用于圖像增強任務。定義輸入為低質量圖像LR,網絡最終輸出圖像記為SR,目標高清圖像稱為HR。選用均方誤差函數作為網絡訓練的代價函數,見式(2)。該網絡的目的是在對圖像進行識別之前,提升圖像質量,最終提高識別率。與文獻[12]中類似,本文定義的EnCNN 由三個卷積層組合而成。第一層為特征提取層,特征圖個數為n1,第二層為非線性映射層,特征圖個數為n2。我們定義卷積核的大小為1用于模擬非線性映射,非線性激活函數選用ReLu,最后一層為重構層,根據文獻[12]中的證明,該結構可以用于圖像增強任務。網絡結構示意圖如圖1。

圖1 EnCNN示意圖
通過三層的卷積映射,模擬稀松編碼中圖塊提取,非線性映射和重構三個步驟。最后提高圖像質量。

其中卷積層的運算公式如式(1)所示:式(1)中x表示特征圖,l表示層數,i和j表示神經網絡某一層中特征圖的編號,k為卷積核,b為偏置量。而代價函數的公式如下:其中w和h為目標圖像寬和高,Xi為網絡輸出的圖像像素,Yi為目標圖像像素。

LeNet-5 是一個經典的手寫體識別網絡架構,本文對其略做修改,具體的定義如下:前兩層卷積層都接著一個最大池化層,用于特征提取和模型的參數消減。激活函數使用ReLu函數。網絡的后半部分為三層全連接層。網絡架構圖示見圖2。隨后使用softmax把網絡的輸出轉化為一個10維且各維的值歸一化到0~1 之間向量,softmax 如式(3)所示。代價函數選用負對數似然損失函數(Negative Log Likelihood)具體見式(4),某類類別概率越大,其損失函數的值越小。上式中,式(3)中的K 為類別個數在手寫數字識別任務中該值為10。式(4)中x為softmax處理后的標量。


圖2 leNet-5原始圖示
相對于原始LeNet-5 中卷積層之間的特征圖有選擇的連接,本文所用網絡之間的特征圖都互相連接。圖2 中給處理了詳細的連接方式。其中C1和C3 卷積層,卷積核大小為5*5,步長為1。S2 和S4為最大池化層,池化尺度為2。F5、F6、F7為全連接層。
本節提出一種針對低質量圖像的識別框架,框架由兩個部件組成——圖像質量增強網絡和識別網絡。本節先介紹一種簡單拼接組合兩個網絡的字符識別框架,下文統稱簡單組合框架。然后在簡單組合框架的基礎上應用改進的學習策略構建兩個網絡深度結合的字符識別框架,下文統稱深度結合框架。
EnCNN 有著較好的圖像增強效果[8],特別是對模糊圖像進行清晰化上。我們在用神經網絡解決OCR 任務的時候,本質上是學習樣本的數據分布。所以當我們用高清的圖像數據集訓練得到的識別模型用于識別低質量圖像時,識別結果會變差。直觀上,本文提出的框架不直接把低質量圖像送入識別網絡進行分類識別,而是先通過EnCNN 進行圖像增強,得到質量較好的圖像。再把增強后的圖像傳遞給后置網絡進行識別。這樣識別網絡相比直接獲取低質量圖像,更容易提取特征,因為識別網絡是基于高清數據集進行訓練學習的,更易提取有效信息。
具體的學習策略如下:以低質量圖像作為輸入,高質量圖像做為目標。使用均方誤差函數作為代價函數,衡量增強后圖像和目標圖像的差異,利用梯度下降法更新模型參數。Lent-5 模型的學習則根據2.2 節所描述的進行訓練。EnCNN 和LeNet-5的訓練過程相互獨立。
當兩個模型分別達到收斂,再拼裝起來形成手寫識別框架。在圖3 的架構示意圖中可以清楚地看到兩個網絡的結合過程。

圖3 本文提出框架的架構圖
上面提出的框架中,增強網絡EnCNN 和識別網絡LeNet-5 在訓練期間并沒有發生直接的聯系。前置網絡的任務只是為了增強圖像,而在BP算法中,回傳的梯度則是由HR圖和SR圖的均方差產生的,本質上是一個基于像素層面的回歸模型。本文在簡單組合框架的基礎上提出一種深度結合后置網絡的學習策略,具體如下:
1)用HR 圖即原始的高質量圖片訓練出一個識別網絡,在本文中識別網絡選用LeNet-5;
2)與3.1中方法不同,本策略在訓練EnCNN時除了使用HR 圖做像素層面的回歸外,再結合LeNet-5 反傳回來的梯度來更新EnCNN 網絡。并用一個超參數α來調節兩者的比例,具體見式(5)。注意,在更新EnCNNt 參數時,固定LeNet-5的參數不變。
3)在EnCNN 達到收斂后,拼接兩個網絡形成新的識別框架。
圖3 中展示了基本框架和改進框架的示意圖。兩種模型的差別在于模型學習的策略不同,后者充分利用了后置網絡提供的字符結構信息。我們認為在識別網絡在進行分類時,網絡中學習到訓練集的結構信息,而這些結構信息是可以給增強網絡模型訓練做有效指導的。深度結合框架的目標函數見式(5)。

α的范圍從0~1。α為1 的時,深度網絡結構完全退化為簡單組合模型,在BP 算法梯度更新的時候完全沒有利用后置網絡的信息。α為0 時,則更新是完全丟失了像素層面的指導,會導致圖像的視覺效果變差。本文實驗部分α選用0.5。
為了驗證本文提出框架的有效性。本節使用經典的MNIST數據集[21]作為實驗數據,MNIST中有訓練集60000 張,測試集10000 張。采集自美國高中生的手寫體數字,類別從0~9 共十種類別。為了獲取典型的低質量圖像,本文對原始數據集進行以下操作,對高清的原始圖進行尺度為β的下采樣,接著使用雙三次插值算法把圖像恢復到原始大小,這樣就模擬了低質量圖像中的圖像模糊情況。也可以使用高斯濾波等其他方案模擬低質量圖像。此外為了最大限度地控制變量,本文提出的兩種框架在模型訓練時選用相同的訓練參數,迭代次數都為24萬次。
在本文提出的框架中,為了提高低質量圖像的識別率,先要通過前置的增強網絡進行圖像增強。圖4給出了低質量圖像和對應的增強效果圖。

圖4 細節對比圖
圖4(a)和(b)的下采樣因子分別為2 和4。圖中(a)左側每列為MNIST 測試樣本的一個樣本,第一行為低質量圖像,第二行為簡單組合框架增強后效果,第三行為深度結合框架增強后效果,第四行為原始高分辨率圖。圖4(a)右邊為字符”0”放大后的細節對比。圖中(b)排列規律與(a)一致。
從實驗結果圖4(a)中可以看到,簡單組合框架和深度結合框架中的前置網絡都可以對低質量圖像得到較好的視覺提升效果。其中簡單組合框架得到的輪廓信息對比度更強,而深度結合框架則更加飽滿,從圖4(a)右側的放大圖中可見,后者字符內部更加平坦沒有噪聲,整體的字符亮度也更高。在圖4(b)中,我們采用更低的下采用因子來進一步降低圖像質量,深度結合框架構造出的數字和背景的對比度更高,不會出現簡單組合框架中灰度分布不均的情況。在上面實驗中,兩個框架使用的后置網絡都是由高清圖像集訓練得到的,前置網絡則都是由下采樣尺度為2 的低質量圖像集訓練得到的。而它們在下采樣尺度為4 的測試集上的不同表現,說明了深度結合框架有著更好的泛化能力。
在上一節中,我們證明了本文提出框架的第一個優點,即可以提高低質量圖像的視覺效果。但是本框架主要解決的問題是提高低質量圖像的識別率。在傳統的神經網絡應用中,針對低質量圖片的問題,比較常規的做法是在增強原來的訓練集,讓神經網絡模型在模型學習中可以學習到低質量圖像的分布情況。本文為了證明提出框架的有效性,用兩種數據集訓練了兩個手寫識別網絡:第一種為原始的MNIST 訓練集,對應的訓練出的模型記為LeNetHR。第二種為對原始訓練集做下采樣為2的模糊處理,對應的訓練出的模型記為LeNetLR。
本文以這兩個模型作為基準,并和本文提出的框架一起在高清測試集testHR 和低質量圖像測試集testLR-2、testLR-4上進行識別率對比實驗,來驗證本文提出的兩種框架的有效性。其中低質量圖像數據集testLR-2、testLR-4 后面的數字表示下采樣尺度,數字越大模糊程度越高。

表1 不同模型在測試集識別率
觀察表1 中,我們以第一行和第二行的結果作為基準。LeNetHR 在testHR 中識別率是最高的。而在testLR-2 中,LeNetLR 得到了最好的識別率。這與期望相同,在高質量圖中訓練的模型針對高質量圖測試識別率較高,在低質量圖中訓練的模型針對低質量圖測試識別率教高。
然后在testLR-4 中,LeNetHR 的表現反而大幅高于LeNetLR。這是因為LeNetHR 在高清訓練集中,模型充分學習到了類別信息,所以在testLR-4這種分辨率過低的測試集中,識別率反而高于針對低質量圖像的模型。我們以基準模型在各個測試集中最好的識別率為基準,在表1 中以下劃線標注。而每個測試集在所有實驗中的最好結果用黑色加粗標注。
第三行和第四行則為本文提出的識別框架。在高質量測試集中識別率略低于基準模型中的最高值,但十分接近。而是在低質量數據集中,兩種框架皆高于基準數據。尤其在testLR-4 中大幅高于基準數據。說明本文提出的模型在低質量圖像識別中能大幅提升識別率,且泛化能力較強。
本文提出了一種提升圖像識別率的深度學習框架,并使用EnCNN和LeNet-5作為前置網絡和后置網絡,基于MNIST數據集實驗驗證了框架的有效性,在低質量圖像測試集上的手寫識別率上與單純使用低質量圖像或高清圖作為訓練集的方法相比取得了較大提升,且在更低質量圖像上的泛化能力也得到了證明。回顧本文提出的框架,前置網絡EnCNN 除了直觀地使用高質量圖作為回歸目標外,還結合了后置網絡中提取的結構特征信息和類別信息,強化了EnCNN 模型的訓練。最終也提高了整個框架的手寫數字識別率。現提出幾點展望:
1)本文在實驗部分證明了該框架可以提高模糊手寫體數據的識別率。但是該框架可應用于所有具有先提升圖像質量再進行識別且應用深度網絡的任務,譬如有噪聲的字符圖像識別,帶有變形的字符圖像識別等。
2)本文提出以EnCNN 和LeNet-5 作為前置和后置網絡。其他任務中,該框架也可以使用更深更復雜的模型以適應任務的需求。
3)在實驗部分,本文提出的框架在高清數據集上的表現還略差于LeNetHR 模型。在后面的工作中可以針對這個問題進行改進。