杜澤炎 任明武
(南京理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 南京 210094)
手寫體字符識(shí)別技術(shù)是圖像識(shí)別領(lǐng)域的一個(gè)經(jīng)典問題,可廣泛地應(yīng)用于數(shù)字化時(shí)代的各個(gè)領(lǐng)域,包括郵政編碼識(shí)別、試卷內(nèi)容識(shí)別、銀行票據(jù)識(shí)別等。
手寫體字符識(shí)別作為一個(gè)模式識(shí)別的熱點(diǎn)問題,已經(jīng)被很多學(xué)者研究過。關(guān)于手寫體識(shí)別的研究有三個(gè)重心:字符預(yù)處理[1~3]、字符特征設(shè)計(jì)[4~8]和分類模型[6~7]。字符預(yù)處理是指圖像進(jìn)行特征提取之前做的一些準(zhǔn)備工作。常規(guī)的方法有去噪、銳化、字符分割[3]以及灰度規(guī)范化等。為后面的識(shí)別去除多余的干擾信息;字符特征設(shè)計(jì)可分手工特征設(shè)計(jì)[4~7]和自動(dòng)提取特征[8]。手工特征設(shè)計(jì)是指研究人員對(duì)數(shù)據(jù)進(jìn)行提煉分析,設(shè)計(jì)出一套能反映數(shù)據(jù)本質(zhì)的特征向量,例如利用連通域個(gè)數(shù)、彎折位置和個(gè)數(shù)、端點(diǎn)位置和個(gè)數(shù)的排列組合來區(qū)分不同字符。其優(yōu)點(diǎn)是設(shè)計(jì)的特征對(duì)于人類來說較為直觀容易理解,處理速度較快。缺點(diǎn)是對(duì)噪聲以及圖像的變形和缺失敏感,魯棒性較差。而自動(dòng)提取特征的典型代表是卷積神經(jīng)網(wǎng)絡(luò)[8]中的卷積層,卷積神經(jīng)網(wǎng)絡(luò)可以從數(shù)據(jù)中自動(dòng)的學(xué)習(xí)到待識(shí)別物體的特征,根據(jù)文獻(xiàn)[9]論述,卷積神經(jīng)網(wǎng)絡(luò)的淺層卷積層學(xué)習(xí)到的是圖像內(nèi)的基本特征,如各種形態(tài)的局部紋理。深層卷積層學(xué)習(xí)到的是類別特征,如用于識(shí)別車輛的卷積神經(jīng)網(wǎng)絡(luò)中深層網(wǎng)絡(luò)會(huì)對(duì)圖像中車輪車窗等信息敏感。分類模型在字符識(shí)別領(lǐng)域應(yīng)用較多的是支持向量機(jī)[10~11]和卷積神經(jīng)網(wǎng)絡(luò)。因?yàn)榻陙碛布阅艿娘w速提升和一些大型標(biāo)注數(shù)據(jù)集的出現(xiàn),像深度卷積神經(jīng)網(wǎng)絡(luò)這種大參數(shù)模型應(yīng)用范圍得到提高。在數(shù)據(jù)量較多的情況下,深度神經(jīng)網(wǎng)絡(luò)的效果要優(yōu)于支持向量機(jī)。此外卷積神經(jīng)網(wǎng)絡(luò)可以自動(dòng)提取特征,識(shí)別結(jié)果不過分依賴于圖像預(yù)處理的好壞。
在實(shí)際生產(chǎn)生活中產(chǎn)生的數(shù)據(jù)并一定像實(shí)驗(yàn)環(huán)境中較為完好,很可能出現(xiàn)模糊、變形、噪聲等問題。相對(duì)于高清高質(zhì)量圖像,本文定義出現(xiàn)以上問題的圖像為低質(zhì)量圖像。而本文的方法也是針對(duì)低質(zhì)量圖像的識(shí)別而提出的。
本文首先介紹一個(gè)由[12]啟發(fā)得到的圖像增強(qiáng)網(wǎng)絡(luò)EnCNN 和經(jīng)典的字符識(shí)別網(wǎng)絡(luò)LeNet-5。隨后介紹一個(gè)應(yīng)用于低質(zhì)量圖像識(shí)別任務(wù)的框架,該框架由兩個(gè)組件組成,一個(gè)圖像增強(qiáng)網(wǎng)絡(luò)下文稱前置網(wǎng)絡(luò)和一個(gè)圖像識(shí)別網(wǎng)絡(luò)下文稱為后置網(wǎng)絡(luò)。之后介紹本文提出的一種模型學(xué)習(xí)策略,專門用于該框架內(nèi)的模型學(xué)習(xí)。最后在實(shí)驗(yàn)部分,本文以手寫體數(shù)字識(shí)別任務(wù)為例。先驗(yàn)證增強(qiáng)網(wǎng)絡(luò)在本文提出模型學(xué)習(xí)策略下的效果,隨后對(duì)比本文方法和其他方法的手寫體識(shí)別率。
早在20 世紀(jì)80 年代末,文獻(xiàn)[8]的作者Yann LeCun 就作為貝爾實(shí)驗(yàn)室的研究員提出了卷積網(wǎng)絡(luò)技術(shù),并展示如何使用它來大幅度提高手寫體識(shí)別率。隨后卷積神經(jīng)網(wǎng)絡(luò)沉寂了一段時(shí)間。2012年,Geoffrey Hinton 組的研究人員在ImageNet 2012[13]上奪冠,他們的圖像分類[14]成績遠(yuǎn)超第二名,促使大量學(xué)者開始重視和研究深度學(xué)習(xí),深度卷積神經(jīng)網(wǎng)絡(luò)是其中的熱點(diǎn),也被應(yīng)用于機(jī)器視覺的各個(gè)課題,包括顯著性檢測[15~16]、物體檢測[17]、圖像分割[18]等。
卷積神經(jīng)網(wǎng)絡(luò)的模型學(xué)習(xí)方法是一種稱為反向傳播(Back Propagation)的算法[19~20],它的學(xué)習(xí)規(guī)則是使用梯度下降法,通過反向傳播來不斷調(diào)整網(wǎng)絡(luò)中的參數(shù),使神經(jīng)網(wǎng)絡(luò)的代價(jià)函數(shù)逐步減小直到收斂。
現(xiàn)在所定義的深度卷積網(wǎng)絡(luò)主要包括以下幾個(gè)組件[8]:卷積層、池化層、ReLu 激活函數(shù)、Dropout和全連接層等。
本節(jié)介紹一個(gè)借鑒文獻(xiàn)[12],由三個(gè)卷積層組成的全卷積網(wǎng)絡(luò)EnCNN。該網(wǎng)絡(luò)可以用于圖像增強(qiáng)任務(wù)。定義輸入為低質(zhì)量圖像LR,網(wǎng)絡(luò)最終輸出圖像記為SR,目標(biāo)高清圖像稱為HR。選用均方誤差函數(shù)作為網(wǎng)絡(luò)訓(xùn)練的代價(jià)函數(shù),見式(2)。該網(wǎng)絡(luò)的目的是在對(duì)圖像進(jìn)行識(shí)別之前,提升圖像質(zhì)量,最終提高識(shí)別率。與文獻(xiàn)[12]中類似,本文定義的EnCNN 由三個(gè)卷積層組合而成。第一層為特征提取層,特征圖個(gè)數(shù)為n1,第二層為非線性映射層,特征圖個(gè)數(shù)為n2。我們定義卷積核的大小為1用于模擬非線性映射,非線性激活函數(shù)選用ReLu,最后一層為重構(gòu)層,根據(jù)文獻(xiàn)[12]中的證明,該結(jié)構(gòu)可以用于圖像增強(qiáng)任務(wù)。網(wǎng)絡(luò)結(jié)構(gòu)示意圖如圖1。
圖1 EnCNN示意圖
通過三層的卷積映射,模擬稀松編碼中圖塊提取,非線性映射和重構(gòu)三個(gè)步驟。最后提高圖像質(zhì)量。
其中卷積層的運(yùn)算公式如式(1)所示:式(1)中x表示特征圖,l表示層數(shù),i和j表示神經(jīng)網(wǎng)絡(luò)某一層中特征圖的編號(hào),k為卷積核,b為偏置量。而代價(jià)函數(shù)的公式如下:其中w和h為目標(biāo)圖像寬和高,Xi為網(wǎng)絡(luò)輸出的圖像像素,Yi為目標(biāo)圖像像素。
LeNet-5 是一個(gè)經(jīng)典的手寫體識(shí)別網(wǎng)絡(luò)架構(gòu),本文對(duì)其略做修改,具體的定義如下:前兩層卷積層都接著一個(gè)最大池化層,用于特征提取和模型的參數(shù)消減。激活函數(shù)使用ReLu函數(shù)。網(wǎng)絡(luò)的后半部分為三層全連接層。網(wǎng)絡(luò)架構(gòu)圖示見圖2。隨后使用softmax把網(wǎng)絡(luò)的輸出轉(zhuǎn)化為一個(gè)10維且各維的值歸一化到0~1 之間向量,softmax 如式(3)所示。代價(jià)函數(shù)選用負(fù)對(duì)數(shù)似然損失函數(shù)(Negative Log Likelihood)具體見式(4),某類類別概率越大,其損失函數(shù)的值越小。上式中,式(3)中的K 為類別個(gè)數(shù)在手寫數(shù)字識(shí)別任務(wù)中該值為10。式(4)中x為softmax處理后的標(biāo)量。
圖2 leNet-5原始圖示
相對(duì)于原始LeNet-5 中卷積層之間的特征圖有選擇的連接,本文所用網(wǎng)絡(luò)之間的特征圖都互相連接。圖2 中給處理了詳細(xì)的連接方式。其中C1和C3 卷積層,卷積核大小為5*5,步長為1。S2 和S4為最大池化層,池化尺度為2。F5、F6、F7為全連接層。
本節(jié)提出一種針對(duì)低質(zhì)量圖像的識(shí)別框架,框架由兩個(gè)部件組成——圖像質(zhì)量增強(qiáng)網(wǎng)絡(luò)和識(shí)別網(wǎng)絡(luò)。本節(jié)先介紹一種簡單拼接組合兩個(gè)網(wǎng)絡(luò)的字符識(shí)別框架,下文統(tǒng)稱簡單組合框架。然后在簡單組合框架的基礎(chǔ)上應(yīng)用改進(jìn)的學(xué)習(xí)策略構(gòu)建兩個(gè)網(wǎng)絡(luò)深度結(jié)合的字符識(shí)別框架,下文統(tǒng)稱深度結(jié)合框架。
EnCNN 有著較好的圖像增強(qiáng)效果[8],特別是對(duì)模糊圖像進(jìn)行清晰化上。我們在用神經(jīng)網(wǎng)絡(luò)解決OCR 任務(wù)的時(shí)候,本質(zhì)上是學(xué)習(xí)樣本的數(shù)據(jù)分布。所以當(dāng)我們用高清的圖像數(shù)據(jù)集訓(xùn)練得到的識(shí)別模型用于識(shí)別低質(zhì)量圖像時(shí),識(shí)別結(jié)果會(huì)變差。直觀上,本文提出的框架不直接把低質(zhì)量圖像送入識(shí)別網(wǎng)絡(luò)進(jìn)行分類識(shí)別,而是先通過EnCNN 進(jìn)行圖像增強(qiáng),得到質(zhì)量較好的圖像。再把增強(qiáng)后的圖像傳遞給后置網(wǎng)絡(luò)進(jìn)行識(shí)別。這樣識(shí)別網(wǎng)絡(luò)相比直接獲取低質(zhì)量圖像,更容易提取特征,因?yàn)樽R(shí)別網(wǎng)絡(luò)是基于高清數(shù)據(jù)集進(jìn)行訓(xùn)練學(xué)習(xí)的,更易提取有效信息。
具體的學(xué)習(xí)策略如下:以低質(zhì)量圖像作為輸入,高質(zhì)量圖像做為目標(biāo)。使用均方誤差函數(shù)作為代價(jià)函數(shù),衡量增強(qiáng)后圖像和目標(biāo)圖像的差異,利用梯度下降法更新模型參數(shù)。Lent-5 模型的學(xué)習(xí)則根據(jù)2.2 節(jié)所描述的進(jìn)行訓(xùn)練。EnCNN 和LeNet-5的訓(xùn)練過程相互獨(dú)立。
當(dāng)兩個(gè)模型分別達(dá)到收斂,再拼裝起來形成手寫識(shí)別框架。在圖3 的架構(gòu)示意圖中可以清楚地看到兩個(gè)網(wǎng)絡(luò)的結(jié)合過程。
圖3 本文提出框架的架構(gòu)圖
上面提出的框架中,增強(qiáng)網(wǎng)絡(luò)EnCNN 和識(shí)別網(wǎng)絡(luò)LeNet-5 在訓(xùn)練期間并沒有發(fā)生直接的聯(lián)系。前置網(wǎng)絡(luò)的任務(wù)只是為了增強(qiáng)圖像,而在BP算法中,回傳的梯度則是由HR圖和SR圖的均方差產(chǎn)生的,本質(zhì)上是一個(gè)基于像素層面的回歸模型。本文在簡單組合框架的基礎(chǔ)上提出一種深度結(jié)合后置網(wǎng)絡(luò)的學(xué)習(xí)策略,具體如下:
1)用HR 圖即原始的高質(zhì)量圖片訓(xùn)練出一個(gè)識(shí)別網(wǎng)絡(luò),在本文中識(shí)別網(wǎng)絡(luò)選用LeNet-5;
2)與3.1中方法不同,本策略在訓(xùn)練EnCNN時(shí)除了使用HR 圖做像素層面的回歸外,再結(jié)合LeNet-5 反傳回來的梯度來更新EnCNN 網(wǎng)絡(luò)。并用一個(gè)超參數(shù)α來調(diào)節(jié)兩者的比例,具體見式(5)。注意,在更新EnCNNt 參數(shù)時(shí),固定LeNet-5的參數(shù)不變。
3)在EnCNN 達(dá)到收斂后,拼接兩個(gè)網(wǎng)絡(luò)形成新的識(shí)別框架。
圖3 中展示了基本框架和改進(jìn)框架的示意圖。兩種模型的差別在于模型學(xué)習(xí)的策略不同,后者充分利用了后置網(wǎng)絡(luò)提供的字符結(jié)構(gòu)信息。我們認(rèn)為在識(shí)別網(wǎng)絡(luò)在進(jìn)行分類時(shí),網(wǎng)絡(luò)中學(xué)習(xí)到訓(xùn)練集的結(jié)構(gòu)信息,而這些結(jié)構(gòu)信息是可以給增強(qiáng)網(wǎng)絡(luò)模型訓(xùn)練做有效指導(dǎo)的。深度結(jié)合框架的目標(biāo)函數(shù)見式(5)。
α的范圍從0~1。α為1 的時(shí),深度網(wǎng)絡(luò)結(jié)構(gòu)完全退化為簡單組合模型,在BP 算法梯度更新的時(shí)候完全沒有利用后置網(wǎng)絡(luò)的信息。α為0 時(shí),則更新是完全丟失了像素層面的指導(dǎo),會(huì)導(dǎo)致圖像的視覺效果變差。本文實(shí)驗(yàn)部分α選用0.5。
為了驗(yàn)證本文提出框架的有效性。本節(jié)使用經(jīng)典的MNIST數(shù)據(jù)集[21]作為實(shí)驗(yàn)數(shù)據(jù),MNIST中有訓(xùn)練集60000 張,測試集10000 張。采集自美國高中生的手寫體數(shù)字,類別從0~9 共十種類別。為了獲取典型的低質(zhì)量圖像,本文對(duì)原始數(shù)據(jù)集進(jìn)行以下操作,對(duì)高清的原始圖進(jìn)行尺度為β的下采樣,接著使用雙三次插值算法把圖像恢復(fù)到原始大小,這樣就模擬了低質(zhì)量圖像中的圖像模糊情況。也可以使用高斯濾波等其他方案模擬低質(zhì)量圖像。此外為了最大限度地控制變量,本文提出的兩種框架在模型訓(xùn)練時(shí)選用相同的訓(xùn)練參數(shù),迭代次數(shù)都為24萬次。
在本文提出的框架中,為了提高低質(zhì)量圖像的識(shí)別率,先要通過前置的增強(qiáng)網(wǎng)絡(luò)進(jìn)行圖像增強(qiáng)。圖4給出了低質(zhì)量圖像和對(duì)應(yīng)的增強(qiáng)效果圖。
圖4 細(xì)節(jié)對(duì)比圖
圖4(a)和(b)的下采樣因子分別為2 和4。圖中(a)左側(cè)每列為MNIST 測試樣本的一個(gè)樣本,第一行為低質(zhì)量圖像,第二行為簡單組合框架增強(qiáng)后效果,第三行為深度結(jié)合框架增強(qiáng)后效果,第四行為原始高分辨率圖。圖4(a)右邊為字符”0”放大后的細(xì)節(jié)對(duì)比。圖中(b)排列規(guī)律與(a)一致。
從實(shí)驗(yàn)結(jié)果圖4(a)中可以看到,簡單組合框架和深度結(jié)合框架中的前置網(wǎng)絡(luò)都可以對(duì)低質(zhì)量圖像得到較好的視覺提升效果。其中簡單組合框架得到的輪廓信息對(duì)比度更強(qiáng),而深度結(jié)合框架則更加飽滿,從圖4(a)右側(cè)的放大圖中可見,后者字符內(nèi)部更加平坦沒有噪聲,整體的字符亮度也更高。在圖4(b)中,我們采用更低的下采用因子來進(jìn)一步降低圖像質(zhì)量,深度結(jié)合框架構(gòu)造出的數(shù)字和背景的對(duì)比度更高,不會(huì)出現(xiàn)簡單組合框架中灰度分布不均的情況。在上面實(shí)驗(yàn)中,兩個(gè)框架使用的后置網(wǎng)絡(luò)都是由高清圖像集訓(xùn)練得到的,前置網(wǎng)絡(luò)則都是由下采樣尺度為2 的低質(zhì)量圖像集訓(xùn)練得到的。而它們在下采樣尺度為4 的測試集上的不同表現(xiàn),說明了深度結(jié)合框架有著更好的泛化能力。
在上一節(jié)中,我們證明了本文提出框架的第一個(gè)優(yōu)點(diǎn),即可以提高低質(zhì)量圖像的視覺效果。但是本框架主要解決的問題是提高低質(zhì)量圖像的識(shí)別率。在傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)應(yīng)用中,針對(duì)低質(zhì)量圖片的問題,比較常規(guī)的做法是在增強(qiáng)原來的訓(xùn)練集,讓神經(jīng)網(wǎng)絡(luò)模型在模型學(xué)習(xí)中可以學(xué)習(xí)到低質(zhì)量圖像的分布情況。本文為了證明提出框架的有效性,用兩種數(shù)據(jù)集訓(xùn)練了兩個(gè)手寫識(shí)別網(wǎng)絡(luò):第一種為原始的MNIST 訓(xùn)練集,對(duì)應(yīng)的訓(xùn)練出的模型記為LeNetHR。第二種為對(duì)原始訓(xùn)練集做下采樣為2的模糊處理,對(duì)應(yīng)的訓(xùn)練出的模型記為LeNetLR。
本文以這兩個(gè)模型作為基準(zhǔn),并和本文提出的框架一起在高清測試集testHR 和低質(zhì)量圖像測試集testLR-2、testLR-4上進(jìn)行識(shí)別率對(duì)比實(shí)驗(yàn),來驗(yàn)證本文提出的兩種框架的有效性。其中低質(zhì)量圖像數(shù)據(jù)集testLR-2、testLR-4 后面的數(shù)字表示下采樣尺度,數(shù)字越大模糊程度越高。
表1 不同模型在測試集識(shí)別率
觀察表1 中,我們以第一行和第二行的結(jié)果作為基準(zhǔn)。LeNetHR 在testHR 中識(shí)別率是最高的。而在testLR-2 中,LeNetLR 得到了最好的識(shí)別率。這與期望相同,在高質(zhì)量圖中訓(xùn)練的模型針對(duì)高質(zhì)量圖測試識(shí)別率較高,在低質(zhì)量圖中訓(xùn)練的模型針對(duì)低質(zhì)量圖測試識(shí)別率教高。
然后在testLR-4 中,LeNetHR 的表現(xiàn)反而大幅高于LeNetLR。這是因?yàn)長eNetHR 在高清訓(xùn)練集中,模型充分學(xué)習(xí)到了類別信息,所以在testLR-4這種分辨率過低的測試集中,識(shí)別率反而高于針對(duì)低質(zhì)量圖像的模型。我們以基準(zhǔn)模型在各個(gè)測試集中最好的識(shí)別率為基準(zhǔn),在表1 中以下劃線標(biāo)注。而每個(gè)測試集在所有實(shí)驗(yàn)中的最好結(jié)果用黑色加粗標(biāo)注。
第三行和第四行則為本文提出的識(shí)別框架。在高質(zhì)量測試集中識(shí)別率略低于基準(zhǔn)模型中的最高值,但十分接近。而是在低質(zhì)量數(shù)據(jù)集中,兩種框架皆高于基準(zhǔn)數(shù)據(jù)。尤其在testLR-4 中大幅高于基準(zhǔn)數(shù)據(jù)。說明本文提出的模型在低質(zhì)量圖像識(shí)別中能大幅提升識(shí)別率,且泛化能力較強(qiáng)。
本文提出了一種提升圖像識(shí)別率的深度學(xué)習(xí)框架,并使用EnCNN和LeNet-5作為前置網(wǎng)絡(luò)和后置網(wǎng)絡(luò),基于MNIST數(shù)據(jù)集實(shí)驗(yàn)驗(yàn)證了框架的有效性,在低質(zhì)量圖像測試集上的手寫識(shí)別率上與單純使用低質(zhì)量圖像或高清圖作為訓(xùn)練集的方法相比取得了較大提升,且在更低質(zhì)量圖像上的泛化能力也得到了證明?;仡櫛疚奶岢龅目蚣埽爸镁W(wǎng)絡(luò)EnCNN 除了直觀地使用高質(zhì)量圖作為回歸目標(biāo)外,還結(jié)合了后置網(wǎng)絡(luò)中提取的結(jié)構(gòu)特征信息和類別信息,強(qiáng)化了EnCNN 模型的訓(xùn)練。最終也提高了整個(gè)框架的手寫數(shù)字識(shí)別率?,F(xiàn)提出幾點(diǎn)展望:
1)本文在實(shí)驗(yàn)部分證明了該框架可以提高模糊手寫體數(shù)據(jù)的識(shí)別率。但是該框架可應(yīng)用于所有具有先提升圖像質(zhì)量再進(jìn)行識(shí)別且應(yīng)用深度網(wǎng)絡(luò)的任務(wù),譬如有噪聲的字符圖像識(shí)別,帶有變形的字符圖像識(shí)別等。
2)本文提出以EnCNN 和LeNet-5 作為前置和后置網(wǎng)絡(luò)。其他任務(wù)中,該框架也可以使用更深更復(fù)雜的模型以適應(yīng)任務(wù)的需求。
3)在實(shí)驗(yàn)部分,本文提出的框架在高清數(shù)據(jù)集上的表現(xiàn)還略差于LeNetHR 模型。在后面的工作中可以針對(duì)這個(gè)問題進(jìn)行改進(jìn)。