張秀玲,周凱旋,魏其珺,董逍鵬
1(燕山大學(xué) 河北省工業(yè)計算機控制工程重點實驗室,河北 秦皇島 066004) 2(燕山大學(xué) 國家冷軋板帶裝備及工藝工程技術(shù)研究中心,河北 秦皇島 066004)E-mail:zxlysu@ysu.edu.cn.
手寫漢字識別(Handwritten Chinese character recognition,HCCR)是模式識別及機器學(xué)習(xí)領(lǐng)域極具挑戰(zhàn)性的問題之一.光學(xué)字符識別(Optical Character Recognition,OCR)技術(shù)涉及數(shù)字信號處理、模式識別、自然語言處理等多門學(xué)科知識,在計算機等相關(guān)領(lǐng)域有著廣泛的應(yīng)用[1].根據(jù)手寫漢字?jǐn)?shù)據(jù)的采集方式可以劃分為脫機手寫漢字識別和聯(lián)機手寫漢字識別.其中脫機手寫漢字圖片是用攝像頭或掃描儀等儀器捕捉采集得到的;聯(lián)機手寫漢字識別通過各種硬件設(shè)備實時采集書寫者的手寫漢字,此過程中不僅采集漢字的特征,還收集漢字的筆畫軌跡信息[2].脫機手寫漢字在采集圖片過程中不可避免的加入了噪聲干擾,所以一般來說,脫機手寫漢字識別相比于聯(lián)機手寫漢字識別更加困難.傳統(tǒng)的脫機手寫漢字識別主要包括數(shù)據(jù)預(yù)處理、特征提取和識別分類三個步驟.其中數(shù)據(jù)處理主要是對原始圖像的平滑去噪、白化、整形變換、去噪[3]等操作;對于特征提取主要有統(tǒng)計特征及結(jié)構(gòu)特征兩種,其中統(tǒng)計特征相對于結(jié)構(gòu)特征效果較好,其主要包括Gabor特征[4]、Gradient特征[5]等;對于識別分別問題主要采用支持向量機分類器、線性判別分類器等.
近年來,傳統(tǒng)的“預(yù)處理+特征提取+分類器”的手寫漢字識別似乎并沒有特別大的研究進(jìn)展,幾乎看不到獲得突破性進(jìn)展的研究報道.但是,深度學(xué)習(xí)的興起,對手寫漢字識別難題帶來了新的活力和極其有效的解決方法,特別是卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)的引入,使得在圖像識別領(lǐng)域取得了突破性進(jìn)展.牛津大學(xué)計算機視覺組及Goole DeepMind團(tuán)隊在2014年研究出來的深度卷積神經(jīng)網(wǎng)絡(luò)模型VGGNet[6],以及后面改進(jìn)的Inception[7]和Resnet模型及其改進(jìn)的模型都在ImageNet數(shù)據(jù)集上取得優(yōu)異的成績,這些先進(jìn)的技術(shù)為脫機手寫漢字識別提供了基礎(chǔ)和借鑒.
傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的卷積層或全連接層在信息傳遞時,會出現(xiàn)信息丟失以和損耗等問題,Resnet在一定程度上解決了這一問題,通過直接將信息繞道傳遞到輸出,從而保護(hù)了信息的完整性,但是深度殘差網(wǎng)絡(luò)過于追求網(wǎng)絡(luò)深度,而忽略了模塊本身學(xué)習(xí)的能力的問題,使得梯度反向傳播過程中,并不能保證可以流經(jīng)所有的殘差學(xué)習(xí)單元,導(dǎo)致只有較少的學(xué)習(xí)單元可以學(xué)到有用的漢字特征.因此,本文提出一種多通道交叉融合的Inception殘差單元設(shè)計方法,使得更多殘差單元起到較大的作用以增強模型學(xué)習(xí)能力,提高模型識別精度.為進(jìn)一步增強網(wǎng)絡(luò)信息傳遞的多樣性,本文在原有inception_resnet網(wǎng)絡(luò)結(jié)構(gòu)基礎(chǔ)之上構(gòu)造了三種多通道交叉融合的Inception殘差網(wǎng)絡(luò)模塊.其原模型及改進(jìn)后模型結(jié)構(gòu)圖如圖1所示,其中圖1(a)為原模型,圖1(b)、圖1(c)、圖1(d)為改進(jìn)后的模型結(jié)構(gòu).
圖1 流程圖及殘差網(wǎng)絡(luò)學(xué)習(xí)單元Fig.1 Flow chart and resnet module
以圖1(b)為例,其中有4個分支:由于1×1卷積可以跨通道組織信息,提高網(wǎng)絡(luò)的表達(dá)能力,同時還可以起到對輸出通道升維和降維的作用,因此每一個分支首先分別對輸入進(jìn)行1×1卷積操作;然后,針對每一個輸出通道只能對應(yīng)一個濾波器,同一個濾波器參數(shù)共享,只能提取一類特征的問題,分別對其中右側(cè)三個分支進(jìn)行卷積、池化或僅卷積操作得到6組不同特征,再將這6組特征進(jìn)行兩兩交叉融合,從而實現(xiàn)了特征的多通道交叉融合,豐富了特征語義.在卷積或池化過程中加入了批標(biāo)準(zhǔn)化(Batch Normalization,BN)算法,進(jìn)一步使得網(wǎng)絡(luò)訓(xùn)練速度加快,同時收斂后的分類準(zhǔn)確度有一定程度的提高,并加入Relu激活函數(shù)以增加神經(jīng)網(wǎng)絡(luò)各層之間的非線性關(guān)系;最后,將融合后的特征分別經(jīng)過1×1、3×3、5×5卷積后與左側(cè)第以一個分支在輸出通道維度上通過一個聚合操作,再將聚合后的卷積層與輸出相加得到模塊的輸出.具體網(wǎng)絡(luò)細(xì)節(jié)如表1所示.
(1)
表1 改進(jìn)后網(wǎng)絡(luò)配置細(xì)節(jié)Table 1 Improved network configuration details
其中θ=(θ1,θ2,…,θC)為模型參數(shù).
通過交叉熵建立優(yōu)化目標(biāo)函數(shù),如式(2)并化簡為如式(3).
(2)
(3)
其中δ為狄利克雷函數(shù),N為小批次數(shù),R(θ)為正則化約束項.在訓(xùn)練過程中利用梯度下降法求解參θ,得到函數(shù)的全局最優(yōu)解,獲得正確分類結(jié)果.
普通卷積神經(jīng)網(wǎng)絡(luò)都是以Softmax loss 損失函數(shù)作為模型訓(xùn)練的監(jiān)督信號,其雖然具有較好的分類效果,但是判別能力差.由于漢字字體較多,存在類內(nèi)聚較大,類間距不明顯的情況,因此在漢字識別任務(wù)中不僅需要損失函數(shù)具有較好的可分性,還需要具有較強的判別能力.為了使得類內(nèi)聚減小,類間距增大,文獻(xiàn)[7]首次提出中心損失函數(shù),中心損失函數(shù)定義如式(4)所示.
(4)
式(4)中,N為最小批次,xi是第張i照片的特征值,cyi為第i張照片所屬類別的中心,Lc相對于xi的梯度和cyi的更新梯度及更新方式分別如式(5)、式(6)、式(7).
(5)
(6)
(7)
其中α為中心學(xué)習(xí)率.
由于訓(xùn)練批次較小,在訓(xùn)練過程中中心損失函數(shù)容易發(fā)生震蕩,收斂緩慢,因此在其權(quán)值更新過程中加入了動量項,它能夠有效減小訓(xùn)練過程中的震蕩趨勢,改善收斂效果.改進(jìn)更新公式如式(8).
(8)
其中β∈[0,1]為動量因子,當(dāng)β=0時,權(quán)值修正只與當(dāng)前梯度有關(guān),當(dāng)β=1時,權(quán)值修正就只與上一次的梯度有關(guān),當(dāng)β∈(0,1)時,與當(dāng)前梯度和上一次的梯度有關(guān).
通過將Softmax損失函數(shù)和中心損失函數(shù)聯(lián)合作為監(jiān)督信號可以有效的提取到漢字深度特征并使得訓(xùn)練集能夠更好的類內(nèi)聚合,類間分散.其聯(lián)合監(jiān)督函數(shù)及連接方式如式(9).
(9)
其中λ用來平衡兩個中心損失函數(shù)的比重.
本實驗采用公開數(shù)據(jù)集CASIA-HWDB(V1.1),由于此數(shù)據(jù)集為原始未處理過的樣本,在其內(nèi)部存在錯誤之處,為了能夠很好的驗證本文設(shè)計的模型及算法,所以對此樣本做如下篩選:
其中,圖2(a)中所表示的在訓(xùn)練集中書寫錯誤的,對訓(xùn)練分類造成較大影響,因此將此類圖片文字直接刪除.圖2(b)中代表的是在主體漢字旁邊有額外的筆劃,將此類照片做裁剪,裁剪掉額外筆畫.圖2(c)中代表的是錯誤標(biāo)記的漢字樣本,將其放入正確分類項即可.由于在測試集中同樣存在和訓(xùn)練集相似的錯誤,因此也對測試集做同樣預(yù)處理,以保證得到模型真正識別效果.
圖2 預(yù)處理數(shù)據(jù)集樣例Fig.2 Sample preprocessed data set
同時為了降低模型過擬合的風(fēng)險,本文還采用了數(shù)據(jù)增強.首先將圖片調(diào)整72×72大小;然后,對訓(xùn)練集圖片的左上、右上、左下、右下、中間做5次裁剪,之后對結(jié)果求平均;最后,對RGB空間做PCA,然后對主成分做一個(0,0.1)的高斯擾動.經(jīng)過上述的數(shù)據(jù)增強方法后,使得最后訓(xùn)練樣本為原來的2-4倍,并增加了訓(xùn)練信息的多樣性,有效降低過擬合的風(fēng)險.
在采用聯(lián)合監(jiān)督損失函數(shù)訓(xùn)練上述神經(jīng)網(wǎng)絡(luò)模型時需要設(shè)置學(xué)習(xí)率控制參數(shù)更新的幅度,如果幅度過大,則會導(dǎo)致參數(shù)在極優(yōu)值的兩側(cè)來回移動,參數(shù)過小時,雖然能保證收斂性,但是會大大減低優(yōu)化速率,為了解決設(shè)定學(xué)習(xí)率的問題,本文使用了一種更加靈活的學(xué)習(xí)率:首先設(shè)定學(xué)習(xí)率為0.1,這樣能保證前期的收斂速度;然后,當(dāng)?shù)螖?shù)到達(dá)10k時學(xué)習(xí)率為0.01,使得在中期能夠很好的優(yōu)化網(wǎng)絡(luò);最后,當(dāng)訓(xùn)練到40k時,此時設(shè)定學(xué)習(xí)率為0.001,進(jìn)行最后的優(yōu)調(diào).
按上述訓(xùn)練方法訓(xùn)練結(jié)束后生成各類損失示意圖及精度示意圖.由圖3(a)圖3(c)可知當(dāng)訓(xùn)練次數(shù)達(dá)到80k時,其訓(xùn)練損失及測試損失趨于穩(wěn)定并分別收斂到0.32和0.21,達(dá)到了很好的訓(xùn)練效果.同時,由圖3(b)和圖3(d)可以看出其訓(xùn)練精度及測試精度分別達(dá)到0.9938和0.9639.實驗結(jié)果如圖3所示.其中曲線數(shù)據(jù)每迭代100次保存一次數(shù)據(jù).
圖3 模型訓(xùn)練及測試示意圖Fig.3 Model training and test schematic diagr
為了說明本文所設(shè)計的多通道交叉融合殘差模型及加入動量項中心算法的有效性,做了一下對比試驗.其中,Model為本文的多通道交叉融合的殘差神經(jīng)網(wǎng)絡(luò)模型,LC1為原有中心損失函數(shù),LC2為加入動量項的中心損失函數(shù).LS為傳統(tǒng)softmax損失函數(shù).結(jié)果如表2所示,可以看出:
1)本文設(shè)計的多通道交叉融合模型網(wǎng)絡(luò)模型比原有Inception-Resnet模型識別率提高了0.62%,如表2中⑤、⑥所示.
2)相比于現(xiàn)有的部分模型在測試數(shù)據(jù)集的識別精度也有較大的提升,如表2中①、②、③、④、⑥所示.
3)當(dāng)本文設(shè)計的多通道交叉融合模型網(wǎng)絡(luò)模型加入原有中心損失函數(shù)及本文設(shè)計的新的中心損失函數(shù)識別率相對于原有Inception-Resnet模型分別提高了0.68%和0.73%,如表2中⑤、⑦、⑧所示.
最后做了top-5拓展實驗,取得了高達(dá)99.39%的識別率.由此驗證了本模型及算法的有效性.
表2 不同模型的分類精度Table 2 Different classification accuracy of the model
本文通過結(jié)合Resnet的殘差網(wǎng)絡(luò)模型,提出了一種多通道交叉融合的殘差學(xué)習(xí)模塊,有效的提取了手寫漢字的深度特征.并通過加入中心損失函數(shù)來增大數(shù)據(jù)集之間的類間距和減小類內(nèi)聚,進(jìn)一步提高了網(wǎng)絡(luò)的特征提取、分類能力.實驗結(jié)果表明該模型具有較好的分類性能.在其他分類識別任務(wù)上具有一定應(yīng)用潛力.
最后,本文所采用的中心損失函數(shù)本質(zhì)上是歐氏距離,其只考慮向量之間的距離,而忽略了向量之間的相似度,即余弦距離.因此,下一步工作研究是否能將余弦距離作為中心損失函數(shù),與Softmax損失函數(shù)及現(xiàn)有中心損失函數(shù)共同作為訓(xùn)練監(jiān)督信號.并進(jìn)一步研究圖片連續(xù)文字的識別問題以及多目標(biāo)檢測問題.