溫佩芝,姚 航,沈嘉煒
(1.桂林電子科技大學 計算機與信息安全學院,廣西 桂林 541004;2.桂林電子科技大學 電子工程與自動化學院,廣西 桂林 541004)
筆跡識別中的關鍵環節是特征提取,通常分為局部特征和全局特征。對此,陳睿等[1]提出了基于關鍵詞提取的筆跡鑒別方法,實質是通過關鍵詞匹配將筆跡鑒別問題轉化為特定字符鑒別問題,方法高度依賴文本,且毛筆字中存在大量異體字,導致通用性低、識別效果差;李慶武等[2]提出了基于筆畫曲率特征的筆跡鑒別方法,提取出筆跡骨架后比較多個方向上筆畫骨架的曲率,但對毛筆字鑒別中丟失了筆畫粗細等特征,通用性較低;毛天驕等[3]采用SIFT算子提取書法字圖像的特征,再通過KNN方法剔除特征不明顯的特征點,實現字跡識別,該方法對形狀統一的印刷字體效果較好,而對噪音較多且不規則的石刻字體識別率較低;王曉等[4]先提取出筆跡筆端,后使用一種筆端形狀描述子來表達筆跡的特征,但對圖像清晰度要求較高,難以識別個性化的手寫筆跡;邱娟等[5]提出了一種結合Gabor濾波器和高斯馬爾科夫隨機場(GMRF)的筆跡特征提取方法,在Gabor濾波圖上構建高斯馬爾科夫隨機場(GMRF)模型來描述不同作者的筆跡特征,但因建模時僅采用三階鄰域結構,無法表達出毛筆字復雜的局部結構。
針對以上問題,本文提出了一種基于改進的卷積神經網絡的石刻、碑帖字體筆跡識別方法,首先對石刻字體圖像進行預處理,去除噪音并分割出單個石刻字體;之后提取每個石刻字的骨架,分別建立石刻字原始圖像與骨架圖像的數據集;再采用基于RPReLU(隨機泄漏修正線性單元)和隨機退隱(Dropout)改進的卷積神經網絡進行筆跡特征提取;然后將石刻字體骨架圖像提取的特征與原始字體提取的特征相融合,拼接得到新的特征;在此基礎上,利用三層神經網絡提取更高層次的特征實現石刻、碑帖字體的識別。采用經典的方法和本文方法對6位不同書法家的作品進行了字體分類識別的實驗對比。實驗結果表明,本文提出的基于卷積神經網絡的書法字體筆跡識別方法,對石刻、書法字識別的準確率達到99.1%,是一種高效的筆跡識別方法。
近年,深度學習成為機器學習中一個快速發展的新分支,建立在仿生學的基礎之上,通過模擬人類大腦神經網絡學習推理的過程,建立多層次的深度模型,將大量低層特征組合成更加抽象的高層特征,從而構建了從底層信號到高層語義的映射關系。其中,卷積神經網絡(convolutional neural network,CNN)來自生物自然視覺認知機制的啟發,是深度學習中一種高效的架構。Krizhevsky等[6]采用的卷積神經網絡方法在ImageNet競賽中取得了遠優于其它算法的成績,超出了第二名約10%,充分顯示了深度學習模型的表達和執行能力。
CNN是一種多層神經網絡,它的基本結構通常包含卷積層和采樣層。其中卷積層又分為兩部分,一部分是特征提取層,另一部分是特征映射層。特征提取層由若干個map構成,每一個map又是由若干個神經單元構成,每個神經元的輸入和上一層的局部感受域連接來獲取這個局部的特征,當這個局部特征被獲取后,它和另外的特征之間的空間關系就確定了。在同一個map上所有的神經元使用相同的卷積核,一個卷積核一般表示一個特征,例如某個卷積核表示一段弧,將該卷積核在圖像上進行滑窗后,較大卷積值的局部區域就有很大概率是一段弧。卷積核即是權重,把一個大小固定的權重矩陣匹配一個圖像,該過程類似于卷積,所以命名為卷積神經網絡。特征映射層,是將每個特征映射為一個map,map上全部神經元具有相等的權重,同時神經網絡的每一個計算層包含若干個特征映射。特征映射結構的激活函數通常使用影響函數核較小的sigmoid函數,保證特征映射具有一定的核較小的sigmoid函數,保證特征映射具有一定的位移不變性,有時也會用到其它的一些激活函數,如ReLU或Leaky ReLU。
CNN是一種多層神經網絡,它的基本結構通常包含卷積層和采樣層。其中卷積層又分為兩部分,一部分是特征提取層,另一部分是特征映射層。特征提取層由若干個map構成,每一個map又是由若干個神經單元構成,每個神經元的輸入和上一層的局部感受域連接來獲取這個局部的特征,當這個局部特征被獲取后,它和另外的特征之間的空間關系就確定了。在同一個map上所有的神經元使用相同的卷積核,一個卷積核一般表示一個特征,例如某個卷積核表示一段弧,將該卷積核在圖像上進行滑窗后,較大卷積值的局部區域就有很大概率是一段弧。卷積核即是權重,把一個大小固定的權重矩陣匹配一個圖像,該過程類似于卷積,所以命名為卷積神經網絡。特征映射層,是將每個特征映射為一個map,map上全部神經元具有相等的權重,同時神經網絡的每一個計算層包含若干個特征映射。特征映射結構的激活函數通常使用影響函數核較小的sigmoid函數,保證特征映射具有一定的位移不變性,有時也會用到其它的一些激活函數,如ReLU或Leaky ReLU。
CNN的布局類似哺乳動物網絡神經,可以將圖像直接作為輸入,這一特點可以避免圖像高維特征提取和過沉重數據重建的復雜過程,具有獨特的優越性。CNN模型還具有稀疏連接和權重共享的兩種機制,可以極大減少網絡參數的數量,從而降低了復雜性,提高網絡模型的泛化能力。因此,本文采用了CNN多層次網絡結構,如圖1所示。

圖1 多層次網絡結構
一般的神經網絡的各神經元是全連接的,但在復雜的圖像分類中,全連接會產生巨量的參數,如訓練樣本是256×256的圖像,網絡的卷積層有216個結點,全連接則有232個結點,使模型不穩定并難以收斂。
仿照人觀察事物過程,不是每一個神經元都需記住所有內容,只需記住局部信息,并在高層抽象結合,據此采用稀疏局部連接方式構成CNN網絡。CNN網絡中前后兩個層間通過采用局部連接的方式來獲取圖像數據的空間局部特征,即第l層的神經元只連接第l-1層的局部神經元,第l-1層中這個局部區域命名為空間連續感受域,示例連接結構如圖2所示。通過捕獲數據的空間局部特征,大大減少模型的參數數量,可以極大提高圖像識別和檢索的效率。

圖2 CNN稀疏連接結構
權重共享同樣也是CNN中一種解決參數量巨大的方法。在CNN中,特征提取層中的某一個map的神經元通過共享卷積核的權重來連接上一層map的空間局部區域。
由圖3所示,同種箭頭擁有相同的權重;第l層包含3個神經元,它們使用同一種卷積核,包含3個權重a、b和c。本文采用梯度下降法來訓練學習這些權重參數,通過權值共享可以大幅減少參數個數,降低網絡的復雜度。

圖3 CNN權重共享結構
通常,由于自然風化腐蝕導致石刻原始表面斑駁殘缺等原因,以及數字成像技術的影響,實際采集的石刻書法字作品的數字化圖像大多數為整張圖片,而且包含大量噪音和干擾,如圖4(a)所示,需要字體分割前進行預處理去除噪聲和干擾。
對此,本文首先采用中值濾波對整張圖像去噪后進行二值化,再利用數學形態法(膨脹與腐蝕)除去邊緣噪聲,然后利用圖像在水平和垂直方向上的投影來切割出單個石刻字體,最后對字體進行歸一化后合成相同大小(256×256)的筆跡圖像,如圖4(b)所示。

圖4 預處理前后的石刻字體圖像
其次,使用A-W細化法[7]對預處理后的圖像進行字體骨架提取,建立石刻書法字體骨架集。A-W細化算法使用20種細化模板,以目標像素點和它的八鄰域像素點組成3×3大小的目標窗口,與圖像中的每個像素點進行對比,刪除匹配的點。迭代使用該方法,直到圖像中沒有符合模板的像素點,后得到的圖像即為漢字骨架。圖5為處理后的石刻書法字體圖像及書法字體骨架的圖像。最后分別建立石刻字體圖像數據集A和石刻字體骨架數據集B。

圖5 石刻字體及石刻字體骨架圖像
為了提高卷積神經網絡模型訓練后的泛化能力,將兩個數據集內的石刻字體圖像每90°旋轉一次(共4次),建立擴增后的數據集A與數據集B,如圖6所示。

圖6 石刻字體圖像數據集A和石刻字體骨架數據集B
過去通用采用的經典激活函數多為飽和激活函數(如sigmoid,tanh),但此類函數在飽和時梯度接近于0,導致函數收斂速度變慢。因為,近年來通過生物學角度提出了一種更精確模仿腦神經元的激活函數ReLU(糾正線性單元),這是一種不飽和的激活函數,有效解決了梯度消失問題,極大加快了收斂速度[8],其數學公式如式(1)所示,函數曲線如圖7(a)所示

(1)
式中:x——隱藏層單元的輸入。當x>0時,ReLU以梯度1被激活,為不飽和的函數。這可以在神經網絡學習時,有效減輕梯度消失的問題,防止反向傳播時局部梯度和該單元輸出梯度相乘等于0的情況,極大提高了學習效率。當x≤0時,ReLU為飽和函數且輸出為0,這使得神經元具有適當的稀疏性,可以更快更好地學習稀疏特征。

圖7 ReLU/PReLU/RPReLU激活函數曲線
ReLU在輸入為負時飽和這一特點,有利于識別不同大小的關鍵特征,使學習到的特征相對稀疏,起到自動解離的作用。但在訓練時,當部分輸入落入飽和區域時,會導致權重無法再被更新。ReLU的這一問題會使神經網絡中部分神經元無法再被激活,導致數據多樣化的丟失。
為了ReLU帶來的部分神經元“死亡”問題,微軟亞洲研究院的何凱明等[9]提出參數化糾正線性單元(parametric rectified linear unit,PReLU),其定義如式(2)所示

(2)
式中:固定a為區間(0,+∞)內的一個不變參數,函數曲線如圖7(b)所示。當a=0時,則退化為ReLU。如果a是一個很小的固定值(如a=0.001),則PReLU退化為LReLU(leaky rectified linear unit)。
PReLU對ReLU函數的負部分由輸出為0改為一個斜率很小的傾斜,同時保留正部分不變。當隱藏層輸入x小于0時,存在一個很小的梯度,使整個激活值區域都不飽和,從而一定程度解決了部分隱藏層的神經在訓練時無法被激活的問題。同時保留了ReLU在可以在反向傳播中解決梯度彌散,快速更新神經網絡參數的優點。
隨機參數糾正線性單元(random parametric rectified li-near unit,RPReLU)是PReLU的隨機版本[10],見式(3)

(3)

RPReLU和PReLU都具有適度稀疏性,然而由于RPReLU在a值選取上的隨機性,使得其在優化學習的過程中會比PReLU更加魯棒。
在一個較大的絡中,如果數據集較小,系統能產生局部收斂導致過擬合。使訓練后的模型在測試中分類效果較差。為解決這一問題,提出了隨機隱退[11](Dropout)這一方法。Dropout是深度網絡的一種重要的正則化方法,其思想是在訓練中以一定概率,隨機把隱含層的一些節點置0,使其不工作,但保留權重;每次更新網絡權值時,隱含節點會隨機出現,使兩個節點并非每次都同時出現,避免了某些結點必須和另一結點共同出現才有作用的情況。這樣可防止特征間互相依賴,使訓練出來的模型具有更強的魯棒性。
本文搭建的卷積神經網絡的結構如圖1所示,命名為CNN-1,用符號法可以描述為:256×256-96C(3,3,4)-MP(3,3,2)-256C(5,5,1)-MP(3,3,2)-384C(3,3,1)-384C(3,3,1)-MP(3,3,2)-256C(3,3,1)-MP(3,3,2)-4096FC-1024FC-6N。
各符號的含義為:“-”表示CNN的相鄰層;“256×256”表示輸入圖像的大小;“96C(3,3,4)” 中C表示該層為卷積層,“96”為卷積層特征映射圖的數量,“(3,3,4)”表示卷積核的尺寸是3×3,步長為4;“MP(3,3,2)”中“MP”表示該層為Max-pooling層,“(3,3,2)”代表pooling區域大小是3×3,步長為2;“4096FC”中FC代表是全連接層,“4096”代表該層節點數量。
其中采用激活函數為RPReLU的5個卷積層、4個池化層作為采樣階段;采用加入Dropout層的兩個全連接層和一個6維的輸出層為識別階段。
每個石刻字體的原始圖像和骨架圖像都包含有筆跡的特征信息。石刻字體原始圖像與骨架圖像都是描述同一石刻字體。主要思想為:首先使用CNN-1網絡分別對含有原始石刻字體圖像的數據集A和含有石刻字體骨架圖像的數據集B分別提取特征;之后拼接兩者提取的特征,融合識別后獲得更高層次的特征,該網絡命名為CNN-2。該方法主要包含以下步驟:
(1)分別將數據集A和數據集B中的石刻字體圖像輸入CNN-1網絡;
(2)將上一步中CNN-1網絡中最后一個隱含層(1024FC),拼接成新的特征層,該特征層維度為2048(1024×2);
(3)將上一步中生成的特征層作為DNN的輸入層,訓練一個新的DNN模型,用于最終的結果。該DNN結構為2048FC-1000FC-1000FC-6N,即該網絡共4層,輸入2048個節點,2層1000個節點的隱含層;
(4)利用softmax識別器輸出6個節點,對應6位石刻字體作者。
本文搭建的卷積神經網絡如圖8所示。為提高性能,FC8,FC9每層都接入Dropout來防止過擬合、增強泛化能力。

圖8 CNN-2特征融合
本文實驗軟硬件環境為CPU Intel Core i7-4720,GPU NVidia GTX970M,內存8G。實驗數據來自CADAL數字圖書館的書法類目,收集了6位不同作者的書法字,經預處理后建立數據集A和B,采用CAFFE(convolutional architecture for fast feature embedding)深度學習框架,支持命令行、Python和Matlab接口,支持調用GPU(圖形處理器)加速運行。
CNN模型通過采用梯度下降法最小化損失函數對網絡中的權重參數逐層反向調節,通過多次的迭代訓練提高網絡的精度,迭代次數是構建高效模型的一個重要參數,隨著迭代次數增加,準確率趨向于定值。但模型訓練時間就越久,則可能產生過擬合,使模型僅對訓練數據效果好,卻在實際應用中效果較差。對此,本文對迭代次數與準確率、消耗時間的關系進行了實驗果如圖9所示。圖中,橫軸為迭代次數,左側縱坐標為準確率(%),右側縱坐標為消耗的時間(分鐘)。分析三者間關系,本文迭代次數采用6000次。

圖9 迭代次數與準確率、消耗時間的關系
實驗中,首先按本文第3.1節的方法建立樣本數據庫,后按第4小節的方法,分別測試字體圖像和字體骨架圖像通過CNN-1網絡的分類效果。再特征融合兩者的特征,使用CNN-2網絡分類驗證方法的有效性。作為對比,采用之前效果較好的方法作為對照,采用使用效果較好的Gabor方法作為對比,參數設置參考文獻[12]。
為獲取更多的有效果信息,驗證方法的魯棒性,實驗中將每位作者的筆跡隨機分為n份(n=5),每次取出4份作為訓練數據樣本,1份作為驗證數據樣本,取平均值作為最后的結果。同時,為驗證筆跡樣本數量對識別的影響,實驗中分別選取不同的原始樣本數N進行測試。每位作家或書寫者有相同數量的樣本集(N/6)。N分別選取3000、5000、8000、12 000,實驗結果見表1。

表1 筆跡樣本交叉驗證識別率
由表1可以后出,Gabor方法較為不理想,是因為該方法一般針對整篇文章,而碑帖、書法字文本較為零碎,且筆跡紋理塊生成依賴字符拼接來,不同的組合會使紋理本身發生變化。
CNN-1網絡用于筆跡骨架圖像上時,效果不理想。因為在提取骨架的過程中丟失了很多細節,如筆劃粗細、筆鋒角度,但仍保留一定的特征。CNN-1網絡應用在預處理后的筆跡圖像上得到的結果,效果較好,已經超越Gabor方法,表現出了卷積神經網絡在圖像識別上的優越性。CNN-2融合了前兩種CNN網絡已提取的特征,即將前兩種方法中已提取的高層次拼接,再利用神經網絡,獲得更高層次的特征。表中的實驗數據表明,該方法有效提高了識別的準確率。
同時,從表1中看出,隨著樣本數量的增加,幾種方法的識別準確率都有一定提高。卷積神經網絡作為大數據訓練的一種方法,樣本數量對其有較大的影響,提高樣本數可以讓卷積神經網絡擁有更強的特征表達能力。
本文針對筆跡鑒定中的特征提取問題,提出了一種改進的深度卷積神經網絡。一方面通過引入RPReLU激活函數、Dropout和對數據進行旋轉防止過擬合,提高了運算效率。一方面通過少量人工干預,從不同方面描述同一石刻字體圖片,融合兩種特征來提升識別的準確率。通過與Gabor、GMRF方法進行實驗對比可見,本文方法的識別準確率大大提高,驗證了該方法是一種高效的方法。此外,本方法在特征提取過程中自動提取了大量特征點,下一步將研究如何利用這些特征點,進一步自動模仿生成相應風格的石刻字體。
[1]CHEN Rui,TANG Yan.Writer verification for Chinese handwritten documents based on keyword extraction[J].Journal of Sichuan University (Natural Science Edition),2013(4):719-727(in Chinese).[陳睿,唐雁.基于關鍵詞提取的手寫漢字文本依存筆跡鑒別技術[J].四川大學學報(自然科學版),2013(4):719-727.]
[2]LI Qingwu,MA Yunpeng,ZHOU Yan,et al.Method of writer identification based on curvature of strokes[J].Journal of Chinese Information Processing,2016,30(5):209-215(in Chinese).[李慶武,馬云鵬,周妍,等.基于筆畫曲率特征的筆跡鑒別方法[J].中文信息學報,2016,30(5):209-215.]
[3]Mao T,Wu J,Gao P,et al.Calligraphy word style recognition by KNN based feature library filtering[C]//Proc of the 3rd International Conference on Multimedia Technology,2013:934-941.
[4]WANG Xiao,LYU Xiaoqing,TANG Zhi.Optical font recognition of Chinese based on the stroke tip similarity[J].Acta Scientiarum Naturalism Universities Pekinensis,2013,49(1):54-60(in Chinese).[王曉,呂肖慶,湯幟.基于筆端形狀相似性的漢字字體識別[J].北京大學學報(自然科學版),2013,49(1):54-60.]
[5]QIU Juan,XIE Hao,ZHANG Chuanlin.Handwriting feature extraction method based on optimal Gabor filter and GMRF[J].Computer Engineering and Applications,2015,51(17):145-150(in Chinese).[邱娟,謝昊,張傳林.基于優化Gabor濾波器和GMRF的筆跡特征提取方法[J].計算機工程與應用,2015,51(17):145-150.]
[6]Krizhevsky A,Sutskever I,Hinton G E.ImageNet classification with deep convolutional neural networks[C]//Advances in Neural Information Processing Systems,2012:1106-1114.
[7]ZHANG Jiulong,WANG Xiani,ZHANG Zhendong,et al.An optimization algorithm for Chinese characters skeleton extraction[J].Journal of Xi’an University of Technology,2016,32(1):35-38(in Chinese).[張九龍,王夏妮,張鎮東,等.一種書法字骨架提取優化方法[J].西安理工大學學報,2016,32(1):35-38.]
[8]Tóth L.Phone recognition with deep sparse rectifier neural networks[C]//IEEE International Conference on Acoustics,Speech and Signal Processing,2013:6985-6989.
[9]He K,Zhang X,Ren S,et al.Delving deep into rectifiers:Surpassing human-level performance on image net classification[C]//Proceedings of the IEEE International Conference on Computer vision,2015:1026-1034.
[10]Iandola F N,Moskewicz M W,Ashraf K,et al.FireCaffe:Near-linear acceleration of deep neural network training on compute clusters[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,2016:2592-2600.
[11]Hinton G E,Srivastava N,Krizhevsky A,et al.Improving neural networks by preventing co-adaptation of feature detectors[J].Computer Science,2012,3(4):212-223.
[12]Nusaibath C,Ameera Mol P M.Off-line handwritten Malayalam character recognition using Gabor filters[J].Internatio-nal Journal of Computer Trends and Technology,2013,4(8):2476-2479.