汪 哲,張譽(yù)鐸,黃永東,麥日排提·麥提圖爾蓀
(大連民族大學(xué) 理學(xué)院,遼寧 大連 116650)
維吾爾語是中國古老的少數(shù)民族語言之一,千百年來一直在不斷的變化和發(fā)展。隨著西部大開發(fā)與“一帶一路”等項(xiàng)目建設(shè),中國加大了對少數(shù)民族地區(qū)信息化建設(shè)的投入[1],手寫體文字識別技術(shù)作為信息化建設(shè)中最重要的一部分,在拍照文檔、票據(jù)、手稿文書等學(xué)習(xí)生活中被廣泛應(yīng)用,但由于維吾爾識別技術(shù)研究開始時間較晚,而且識別難度較大,所以維吾爾語識別技術(shù)目前成果有限,因此本文將對手寫體維吾爾文字識別進(jìn)行研究。
對于維吾爾語文字識別的研究[2-8]大多都是基于人工特征提取的方法,這種方法雖然取得了很好的識別效果,但由于只能依賴于人的經(jīng)驗(yàn),很難提取到辨別力極強(qiáng)的特征。而基于深度學(xué)習(xí)的方法解決了這個問題,它可以自動提取圖像中重要的特征,目前很多研究者利用深度學(xué)習(xí)模型來識別手寫體文字,并在中文[9-10]、英文[11-12]等文字識別領(lǐng)域取得了不錯的成績,但對于手寫體維吾爾語的識別幾乎無人研究。
由于手寫體維吾爾語單詞具有數(shù)量龐大、字符不規(guī)則、粘連性高、單詞差異小的特點(diǎn),因此對特征提取和分類具有很高的要求,而VGG-16用多個小型的卷積核代替尺寸大的卷積核,增加了網(wǎng)絡(luò)深度,可以提取到更加優(yōu)秀的特征,并對大類別模式識別問題具有較高的識別率;但直接使用VGG-16進(jìn)行訓(xùn)練對數(shù)據(jù)量有較高的要求,而本文收集的數(shù)據(jù)有限,針對數(shù)據(jù)稀缺問題,本文在保留VGG-16優(yōu)點(diǎn)的基礎(chǔ)上,精煉出一個更加輕量的模型,不僅對較小的數(shù)據(jù)集有更好的適配度,且大大減少了訓(xùn)練參數(shù),提高了訓(xùn)練速度。
因?yàn)槭謱戵w維吾爾語沒有統(tǒng)一的數(shù)據(jù)集,因此本文所使用的數(shù)據(jù)集均由人工整理而成,本文選取了維吾爾語中常用的20個字詞如圖1。實(shí)驗(yàn)邀請了維吾爾族同學(xué)按照自己的書寫習(xí)慣寫了這20個字詞,經(jīng)過分割、篩選,共整理出2038個手寫字詞,隨機(jī)選取其中的70%作為訓(xùn)練集,剩下的30%作為測試集。
圖1 手寫維吾爾語樣本
在數(shù)字圖像處理中,灰度圖像的處理難度要小于彩色圖像,二值圖像的處理難度要小于灰度圖像。因此,在手寫體維吾爾文單詞識別技術(shù)研究中,將輸入圖像二值化,不僅減小了原始圖像的存儲量,同時降低了后續(xù)的特征提取和分類器設(shè)計的復(fù)雜度,提高了系統(tǒng)的識別性能。本文使用最大類間方差法對圖像進(jìn)行二值化預(yù)處理。
手寫體維吾爾語圖像存在的噪聲使得圖像變得模糊,容易丟失字詞的特征信息,從而導(dǎo)致了字符難以識別。因此在二值化后,將圖像上的噪聲過濾掉,能夠保留原圖像的細(xì)節(jié)特征,并且使得處理后的圖像保持清晰的視覺效果。本文采用中值濾波進(jìn)行去噪處理。
1.2.1 最大類間方差法
最大類間方差法[13]是一種自適應(yīng)閾值確定的方法,如式(1),假設(shè)存在一個閾值將圖像所有像素分為兩類,pA表示被分為第一類像素的概率,pB表示被分為第二類像素的概率,mA表示第一類像素的平均灰度,mB表示第二類像素的平均灰度,mG表示所有像素的平均灰度,σ2即為類間方差。
σ2=pA(mA-mG)2+pB(mB-mG)2。
(1)
根據(jù)直方圖的計算結(jié)果,得到圖像前景和背景的灰度分布均勻方差,如式(2),式(3)所示(P為像素類的概率,m為平均灰度)。
(2)
(3)
然后遍歷圖像的每個像素值,找到最大類間方差的像素值,即閾值,根據(jù)這個閾值對圖像進(jìn)行二值化分割,最終即可得到二值化的圖像。
1.2.2 中值濾波
中值濾波的中心思想是利用像素點(diǎn)領(lǐng)域內(nèi)所有像素的中間灰度值來代替某個像素點(diǎn)的灰度值[14]。例如給定一個3×3的模板核算子,模板內(nèi)共有9個像素點(diǎn),將其排序后為x1,x2,x3,x4,x5,x6,x7,x8,x9,中值濾波即是用位于x5位置的像素點(diǎn)的灰度值代替當(dāng)前像素點(diǎn)的灰度值。
1.2.3 預(yù)處理過程
本文在處理數(shù)據(jù)過程中如圖2。先將所有樣本如圖2a處理成正方形,然后對所有樣本進(jìn)行二值化如圖2b,為了確保所有數(shù)據(jù)的統(tǒng)一性,將所有樣本尺寸歸一化為64×64×1的大小如圖2c,由于在歸一化圖像大小的過程中,樣本像素發(fā)生變化,使得到的圖像產(chǎn)生噪聲,因此對所有樣本進(jìn)行去噪處理如圖2d。
a)原圖 b)二值化 c)歸一化 d)去噪圖2 數(shù)據(jù)預(yù)處理過程
VGG網(wǎng)絡(luò)是2014年由牛津大學(xué)著名研究組VGG (Visual Geometry Group) 提出的深層卷積神經(jīng)網(wǎng)絡(luò)[15]。其中應(yīng)用最廣泛的是VGG-16,VGG-16共有16層,通過組合13個卷積層,5個池化層以及3個全連接層可分為六大塊,第一塊和第二塊由兩個卷積層和一個池化層組成,主要用來提取圖像的低級特征,第三、四、五塊都由三個卷積層和一個池化層組合而成,第六塊由三個全連接層組成。
VGG-16在整個結(jié)構(gòu)中采用的都是3×3的卷積核,池化層采用2×2最大池化。相比于5×5或7×7的卷積核,使用連續(xù)多個的3×3的卷積核
不僅可以得到相同的感受野,且提升了網(wǎng)絡(luò)深度,因此使用VGG16作為分類器更有限的減少了參數(shù)量,提升了特征提取以及分類的效果。
標(biāo)準(zhǔn)的VGG-16模型的輸入圖像為224×224×3,遠(yuǎn)大于維吾爾語手寫體原始的尺寸,直接訓(xùn)練難以準(zhǔn)確的提取維語特征;收集大量且不同的樣本需要消耗巨大的人力,本文收集到的樣本量遠(yuǎn)小于VGG-16模型中用來訓(xùn)練的數(shù)據(jù)量,存在數(shù)據(jù)缺乏的問題;訓(xùn)練復(fù)雜的模型不僅對硬件設(shè)備具有較高的要求,且容易造成計算資源的浪費(fèi)。因此針對本次實(shí)驗(yàn)所涉及的問題,本文在VGG-16模型的基礎(chǔ)上做出了改進(jìn)。
2.2.1 網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計
為了保留手寫體維吾爾語最原始的信息,本文將所有輸入圖像統(tǒng)一到64×64×1的大小,本文延續(xù)了VGG-16中前四塊的卷積層和池化層的組合形式,而為了匹配輸入圖像的尺寸,將前四塊的卷積層通道數(shù)減至原來一半,并刪減了原VGG-16模型中的第五塊內(nèi)容,因此整個網(wǎng)絡(luò)結(jié)構(gòu)的卷積層由原來的13層減至10層,池化層減至4層,同時為了避免過擬合的現(xiàn)象,本文在卷積層以及池化后都連接了正則化層。由于使用Lenet識別手寫體數(shù)字取得了較好的效果,因此本文全連接層的神經(jīng)元個數(shù)參考了Lenet中全連接層神經(jīng)元的個數(shù),分別設(shè)置為120和84,改進(jìn)后的網(wǎng)絡(luò)結(jié)構(gòu)如圖3。
圖3 本文網(wǎng)絡(luò)結(jié)構(gòu)
2.2.2 模型及其核心參數(shù)設(shè)計
(1)卷積層。卷積層是整個網(wǎng)絡(luò)的核心部分,主要用來特征提取,本文卷積層的卷積核尺寸大小為3×3,步長為1,填充為1。
(2)池化層。池化是通過統(tǒng)計分析圖像某個區(qū)域的特征,來表示整個區(qū)域的總體特征,因此池化層有效的縮小了特征矩陣大小,緩解了過擬合。本文采用最大池化,池化大小為2×2,步長為2。
(3)激活層。激活層是將卷積層輸出進(jìn)行非線性運(yùn)算,解決了線性運(yùn)算不能解決的問題,有效緩解了梯度消失,本文統(tǒng)一采用Relu激活函數(shù)。
(4)增加正則化層。模型參數(shù)隨著網(wǎng)絡(luò)加深以及參數(shù)更新會變幻莫測,因此這些變量分布中的偏移可能會阻礙網(wǎng)絡(luò)的收斂,其次,深層的網(wǎng)絡(luò)更容易出現(xiàn)過擬合的現(xiàn)象,增加正則化層更有效的對神經(jīng)網(wǎng)絡(luò)進(jìn)行規(guī)范,不僅有利于提取模型的主要特征,而且加快了網(wǎng)絡(luò)的收斂速度和緩解了過擬合[15]。正則化的轉(zhuǎn)換表達(dá)式如式(4)。
(4)
若使用大小為1的批量正則化,將無法學(xué)到任何信息,因?yàn)樵跍p去均值后的隱藏單元為0,因此使用足夠且合適的批量,批量正則化才是有效且穩(wěn)定的。本文在經(jīng)過多輪實(shí)驗(yàn)之后,最終選取的批量值為16。
(5)全連接層。全連接層是將最終得到的圖像特征映射成固定長度的特征向量,傳入分類器完成最終分類。本文全連接層的特征向量的長度分別設(shè)置為120、84。
(6)損失函數(shù)。本文對20個維吾爾字識別屬于多元分類問題,因此采用交叉熵?fù)p失函數(shù)。在全連接層末端通過softmax進(jìn)行概率計算,如式(5)。
(5)
式中:zi,zk分別表示輸入向量的第i、k個值;w是類別數(shù);Si為輸入圖像是第i個類別的概率;θ為訓(xùn)練參數(shù),因此損失函數(shù)如式(6)。
log(1-Si))。
(6)
(7)參數(shù)優(yōu)化方法。BP神經(jīng)網(wǎng)絡(luò)的原理是計算真實(shí)輸出與期望輸出的誤差,并通過梯度下降算法計算出損失函數(shù)相對于權(quán)值參數(shù)的梯度,然后在損失函數(shù)的反方向上更新權(quán)值,更新迭代公式如式(7),xi,yi為訓(xùn)練樣本,η為學(xué)習(xí)率。
θ=θ-η·θJ(θ;xi,yi)。
(7)
隨機(jī)梯度下降通過頻繁的更新參數(shù)使參數(shù)間具有高方差,雖然有益于得到最優(yōu)解,但由于更新參數(shù)時是從訓(xùn)練集中隨機(jī)抽取,使得參數(shù)的更新方向也隨機(jī)選擇,增加了迭代次數(shù),降低了網(wǎng)絡(luò)收斂的速度。
因此本文使用小批量隨機(jī)梯度下降算法,小批量隨機(jī)梯度下降算法在每次進(jìn)行參數(shù)更新的時候,只是隨機(jī)選取m個樣本來進(jìn)行參數(shù)更新,降低了網(wǎng)絡(luò)收斂的波動性,加快了收斂速度[16]。迭代公式如式(8)。
θ=θ-η·θJ(θ;xi:i+m,yi:i+m)。
(8)
而梯度下降在訓(xùn)練過程中會出現(xiàn)高方差震蕩的現(xiàn)象,會導(dǎo)致網(wǎng)絡(luò)難以穩(wěn)定收斂,王錦[17]等提出了動量技術(shù)緩解了網(wǎng)絡(luò)收斂不穩(wěn)定的問題。迭代公式如式(9),μ為動量因子。
vt=μvt-1+ηθJ(θ),θ=θ-vt。
(9)
本文改進(jìn)后的模型各層網(wǎng)絡(luò)參數(shù)見表1。
表1 改進(jìn)后模型網(wǎng)絡(luò)參數(shù)
為了確保實(shí)驗(yàn)中各項(xiàng)環(huán)境的統(tǒng)一性,本文中所有的實(shí)驗(yàn)都是在相同的數(shù)據(jù)集以及計算機(jī)性能上完成的,相關(guān)的實(shí)驗(yàn)環(huán)境配置參數(shù)見表2。
表2 實(shí)驗(yàn)環(huán)境配置參數(shù)
本文實(shí)驗(yàn)以測試集的損失值和準(zhǔn)確率作為評價指標(biāo),損失值是由樣本的真實(shí)值與學(xué)習(xí)得出的預(yù)測值做多分類交叉熵所得,損失誤差越小,文字識別率越高,為了使損失函數(shù)的值盡量小,本文使用小批量隨機(jī)梯度下降算法來優(yōu)化損失函數(shù)。
學(xué)習(xí)率和Batch-size是卷積神經(jīng)網(wǎng)絡(luò)中非常重要的參數(shù),學(xué)習(xí)率的大小影響訓(xùn)練時間的長短和隨機(jī)梯度下降算法能否達(dá)到最優(yōu),Batch-size的大小影響了GPU顯存的大小及訓(xùn)練速度。因此本文選取了學(xué)習(xí)率和Batch-size這兩個參數(shù)進(jìn)行了實(shí)驗(yàn),分別對比了不同學(xué)習(xí)率和Batch-size的組合對識別率的影響。
改進(jìn)后的網(wǎng)絡(luò)層數(shù)較深,收斂較快。在不同的學(xué)習(xí)率以及批量值的情況下,迭代了20次就已經(jīng)收斂,因此本文將迭代次數(shù)統(tǒng)一設(shè)置到20次來研究不同學(xué)習(xí)率和批量值對實(shí)驗(yàn)的影響。
本次實(shí)驗(yàn)隨機(jī)選取610張64×64的手寫維吾爾語字作為測試數(shù)據(jù)集,分別設(shè)置批量值為10、12、14、16、18、20,學(xué)習(xí)率設(shè)置為0.005、0.01、0.03、0.05、0.1、0.2共進(jìn)行36組實(shí)驗(yàn),實(shí)驗(yàn)得到的損失值和測試集準(zhǔn)確率見表3~4。
表3 不同學(xué)習(xí)率和批量值下訓(xùn)練的測試集準(zhǔn)確率
表4 不同學(xué)習(xí)率和批量值下訓(xùn)練的測試集損失值
從表中可以得出,學(xué)習(xí)率為0.05,批量值為16的時候,準(zhǔn)確率達(dá)到最優(yōu)值95.69%,同時損失值達(dá)到最小值0.190 7。因此,本次實(shí)驗(yàn)學(xué)習(xí)率取0.05,批量值取16。
因?yàn)閿?shù)據(jù)樣本由不同的人的所寫,所以手寫的維語字詞各不相同,為了更加清楚的描述各個字詞的識別率,本文在測試集上進(jìn)行25次獨(dú)立重復(fù)實(shí)驗(yàn),得到維吾爾語分類混淆矩陣如圖4,從圖中可以看出,大部分圖像分類準(zhǔn)確率都高于95%,說明本文提出的模型對維吾爾語識別具有良好的性能。
圖4 維吾爾語分類混淆矩陣
為了與標(biāo)準(zhǔn)的VGG-16模型作對比,基于以上實(shí)驗(yàn)結(jié)果,本文將學(xué)習(xí)率設(shè)置為0.05,批量值設(shè)置為16,將本文實(shí)驗(yàn)所用的數(shù)據(jù)集放到標(biāo)準(zhǔn)的VGG-16模型中訓(xùn)練,所得到的實(shí)驗(yàn)數(shù)據(jù)見表5。
表5 實(shí)驗(yàn)結(jié)果
由表5可知,在經(jīng)過20次迭代之后,VGG-16的測試集準(zhǔn)確率為90.83%,損失值為0.5472,而本模型的測試集準(zhǔn)確率達(dá)到了95.69%,高于標(biāo)準(zhǔn)的VGG-16模型,損失值為0.1907,也小于VGG-16模型,且訓(xùn)練時長以及訓(xùn)練參數(shù)也遠(yuǎn)遠(yuǎn)小于標(biāo)準(zhǔn)模型。因此證明了本文改進(jìn)的模型的對手寫維吾爾語體的識別性能優(yōu)于VGG-16模型。
本文結(jié)合維吾爾語的特點(diǎn),研究基于VGG-16的維吾爾語文字識別方法,與傳統(tǒng)的模型對比,本文改進(jìn)后的網(wǎng)絡(luò)結(jié)構(gòu)不僅達(dá)到了更高的準(zhǔn)確率,并且減少了運(yùn)算時間與空間的消耗,證明了使用改進(jìn)后的VGG-16模型研究維語識別能達(dá)到更好的效果。
在實(shí)際生活中,維吾爾語并不局限于單個字詞的應(yīng)用,且收集大量不同書寫風(fēng)格的手寫維吾爾語單詞更加困難,因此后續(xù)將從數(shù)據(jù)增強(qiáng)的角度繼續(xù)擴(kuò)大數(shù)據(jù)集。