王庭棟
(西安郵電大學(xué),陜西西安 710121)
信息化社會(huì)給人們的生活帶來了翻天覆地的變化,每個(gè)人身邊的文字資料也越來越多,但各種證件、單據(jù)的錄入工作,目前仍然依賴于人工實(shí)現(xiàn),錄入速率慢的同時(shí)也耗費(fèi)了大量人力物力。因此利用計(jì)算機(jī)技術(shù)實(shí)現(xiàn)文字的識(shí)別與錄入成為一個(gè)急需解決的問題。
近年來,圖像處理技術(shù)和計(jì)算機(jī)視覺技術(shù)得到飛速發(fā)展,尤其是神經(jīng)網(wǎng)絡(luò)理論的發(fā)展為文字識(shí)別提供了新的方向。二十世紀(jì)六十年代,第一個(gè)光學(xué)字符識(shí)別 (Optical Character Recognition ,OCR)系統(tǒng)就已出現(xiàn),隨著圖像識(shí)別技術(shù)的發(fā)展,其涉及的應(yīng)用范圍也在逐步擴(kuò)大,基于圖像處理以及模式識(shí)別理論的OCR 系統(tǒng)在行業(yè)間已得到廣泛應(yīng)用。基于光學(xué)字符識(shí)別發(fā)展起來的漢字識(shí)別在部分領(lǐng)域也得到了應(yīng)用。雖然光學(xué)字符識(shí)別技術(shù)發(fā)展已比較成熟,但由于中文漢字種類繁多,識(shí)別準(zhǔn)確率仍有待提高。為提高識(shí)別準(zhǔn)確率,本文在卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上引入了稠密卷積網(wǎng)絡(luò)模型結(jié)構(gòu),提出了一種基于稠密卷積網(wǎng)絡(luò)的文字識(shí)別方法。
在《現(xiàn)代漢語常用字表》中共有3500 個(gè)漢字,國(guó)家標(biāo)準(zhǔn)信息交換漢字字符集GB2312-80 收錄了一級(jí)漢字3755 個(gè),能夠覆蓋現(xiàn)在主流文本的99.48%,基本滿足人們?nèi)粘i喿x與交流的需求。但是漢字種類繁多,且包含多種書寫字體如:隸書、楷書、行書等,且可用的漢字訓(xùn)練數(shù)據(jù)集數(shù)量相對(duì)較少,對(duì)漢字進(jìn)行識(shí)別成為深度學(xué)習(xí)中是一個(gè)熱點(diǎn)問題。Wu 在通過卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行文字識(shí)別的基礎(chǔ)上,提出了一種多級(jí)特征提取模塊,替換卷積神經(jīng)網(wǎng)絡(luò)中的卷積層與池化層[1]。Xu 基于神經(jīng)網(wǎng)絡(luò)和分類器原理,提出了漢字識(shí)別二級(jí)分類集成策略,基于LDA 特征提取算法,結(jié)合K 分類器實(shí)現(xiàn)對(duì)漢字的識(shí)別[2]。Li 提出了基于改進(jìn)SURF 算法和SPM 方法的細(xì)分類算法,通過多特征融合實(shí)現(xiàn)了對(duì)漢字的直接分類[3]。Ding 針對(duì)現(xiàn)有神經(jīng)網(wǎng)絡(luò)特征提取能力差、計(jì)算量大等問題,提出了一種添加RMSprop 優(yōu)化器、數(shù)據(jù)擴(kuò)增、批標(biāo)準(zhǔn)化等方式優(yōu)化的新的卷積神經(jīng)網(wǎng)絡(luò)架構(gòu), 可用于漢字的識(shí)別[4]。YU 以隱馬爾可夫模型為基礎(chǔ),提出了在原筆跡提取得到的筆劃像素點(diǎn)坐標(biāo)序列中,利用拐點(diǎn)檢測(cè)算法提取筆劃的拐點(diǎn),將筆劃分割為筆段,使用SVM 方法對(duì)筆段進(jìn)行分類,得到漢字的筆段編碼序列;最后,通過隱馬爾可夫模型對(duì)漢字進(jìn)行模型建立、訓(xùn)練和識(shí)別[5]。
在圖像分類領(lǐng)域,網(wǎng)絡(luò)模型的深度是一個(gè)重要環(huán)節(jié),從一開始LeNet[6]的五層結(jié)構(gòu),VGG[7]網(wǎng)絡(luò)的19 層結(jié)構(gòu),到152 層的Resnet[8]網(wǎng)絡(luò)結(jié)構(gòu),網(wǎng)絡(luò)層數(shù)的加深成為卷積神經(jīng)網(wǎng)絡(luò)發(fā)展的主要方向之一。但是隨著網(wǎng)絡(luò)模型深度的增加,梯度爆炸、梯度消失、過擬合等現(xiàn)象影響了模型的訓(xùn)練結(jié)果,而Densenet[9]通過對(duì)特征的重復(fù)利用和減少每層網(wǎng)絡(luò)的計(jì)算量,降低參數(shù)量,減輕了梯度消失帶來的影響,加強(qiáng)了特征的傳播效果[10]。
DenseNet 由Gao Huang 于CVPR2017 提出。它的基本思想是使網(wǎng)絡(luò)模型中的任何兩層之間都建立直接的連接,這樣每一層的輸入都是之前所有層輸出的并集,而這一層所學(xué)習(xí)的特征也會(huì)成為后面所有層的輸入。
在Resnet 網(wǎng)絡(luò)結(jié)構(gòu)中,第i 層的輸出xi 由前一層的輸出進(jìn)行非線性變化后相加獲得如式(1)
在Densenet 網(wǎng)絡(luò)中,設(shè)模型層出為N 層,那么通過推算可以得出模型中共有N(N+1)/2 個(gè)連接,將第i 層與前面所有層進(jìn)行連接,輸出結(jié)果會(huì)成為第i+1,i+2,…層的輸入。于是將網(wǎng)絡(luò)第0 層到第i-1 層輸出特征圖通道的合并用[X0,X1,…,Xi-1]表示,可以得到i 層的輸出:
Densenet 網(wǎng)絡(luò)包括稠密模塊和過渡層模塊,稠密模塊首先為歸一化層將圖像進(jìn)行歸一化處理,然后緊接激活函數(shù)層和池化層對(duì)圖像進(jìn)行初次篩選,再通過設(shè)計(jì)多個(gè)卷積層與激活函數(shù)層的結(jié)構(gòu),將多個(gè)這樣的不同結(jié)構(gòu)之間互相連接,構(gòu)成了一個(gè)整體的稠密模塊,不同的稠密模塊之間在通過過渡層進(jìn)行連接,通過過渡層可以使稠密模塊之間的特征圖大小進(jìn)行統(tǒng)一,設(shè)計(jì)過渡層中的卷積層大小為1*1,可以用來降低參數(shù)量。在稠密模塊中不同的卷積層兩兩互相連接,實(shí)現(xiàn)了對(duì)已提取特征的重復(fù)利用,而隨著網(wǎng)絡(luò)層數(shù)的不斷增加出現(xiàn)的梯度消失問題,也會(huì)因?yàn)槊恳粋€(gè)卷積層都與損失函數(shù)進(jìn)行連接而得到緩解。
本文輸入圖像大小為(64*64)的中文一級(jí)漢字,設(shè)計(jì)了3 個(gè)結(jié)構(gòu)相同的密集模塊與2 個(gè)過渡層。圖像輸入后首先做一次大小為5*5 步長(zhǎng)為2 的卷積,然后以大小為2*2 步長(zhǎng)為2 進(jìn)行池化,隨后進(jìn)入密集模塊。每個(gè)密集模塊包括8 個(gè)節(jié)點(diǎn),其中每個(gè)節(jié)點(diǎn)以歸一化層、激活函數(shù)層、卷積層和拼接層的方式組成,每個(gè)卷積層的卷積核為8,為加速參數(shù)運(yùn)算,減輕過擬合程度,基于Inception[10]網(wǎng)絡(luò)結(jié)構(gòu),結(jié)合非對(duì)稱卷積,將原網(wǎng)絡(luò)中進(jìn)行一次3*3 卷積操作以兩次3*1 和1*3 的卷積操作代替[11],激活函數(shù)層為Relu 函數(shù)。過渡層由歸一化層、卷積層和池化層組成,卷積核大小為1*1,數(shù)量等同于輸入特征數(shù)量圖數(shù)量,保證過渡層特征輸入數(shù)和輸出數(shù)數(shù)量相同。網(wǎng)絡(luò)最后采用softmax 進(jìn)行分類,結(jié)構(gòu)為全連接結(jié)構(gòu)。
圖1 DenseNet 網(wǎng)絡(luò)圖
表1
圖2 準(zhǔn)確率與損失函數(shù)
通過人工合成包含多種字體的3755 個(gè)一級(jí)漢字?jǐn)?shù)據(jù)集進(jìn)行模型訓(xùn)練。對(duì)262850 幅一級(jí)漢字圖像進(jìn)行添加噪聲,角度傾斜等圖像仿真處理后,隨機(jī)選取70%作為訓(xùn)練集進(jìn)行訓(xùn)練,剩余30%作為測(cè)試數(shù)據(jù),采用隨機(jī)梯度下降法進(jìn)行優(yōu)化。每次迭代數(shù)據(jù)量為64,共進(jìn)行50 輪訓(xùn)練,圖2 為50 輪訓(xùn)練中準(zhǔn)確率變化圖與訓(xùn)練損失函數(shù)變化圖。圖2 中可以看出,訓(xùn)練過程中準(zhǔn)確率逐漸提高,損失函數(shù)逐漸降低,過擬合現(xiàn)象不明顯。其中準(zhǔn)確率最高到達(dá)97.1%。
提出了一種基于稠密卷積網(wǎng)絡(luò)模型的文字識(shí)別算法,實(shí)驗(yàn)證明可以較好的完成文字識(shí)別任務(wù),但是識(shí)別是建立在單個(gè)文字的基礎(chǔ)上進(jìn)行識(shí)別,對(duì)一段文本的識(shí)別依賴切割算法,并且對(duì)形近字之間的魯棒性仍有待提高。