才讓當知,黃鶴鳴,李鑫元,張會云
(1. 青海師范大學 計算機學院,青海 西寧 810008;2. 青海師范大學 省部共建藏語智能信息處理及應用國家重點實驗室,青海 西寧 810008;3. 青海師范大學 藏文信息處理教育部重點實驗室,青海 西寧 810008)
藏文化是中華民族文化的重要組成部分,信息化手段能有效地保護藏文化。藏文文字識別是藏文信息化的重要研究內(nèi)容,該文字識別技術在即時翻譯、古籍文獻保護以及辦公自動化等領域都得以廣泛應用。
藏文書寫經(jīng)過千余年的發(fā)展,主要分為烏金和烏梅兩種字體[1]。這兩種字體在書寫風格上分別類似于漢字中的正楷與草書。烏金和烏梅這兩大類字體可以再細分為八大類烏金體和六大類烏梅體。烏金體的使用范圍比烏梅體更加廣泛,但一些行書、公告和佛經(jīng)仍有存在烏梅體書寫的情況。為了完善藏文文字系統(tǒng)的研究,本文將烏梅朱匝體作為主要識別對象。
傳統(tǒng)的印刷體藏文識別包括文本矯正、分割、規(guī)范化以及識別等流程[2]。但在烏梅朱匝體字體中,元音符號和下加字母的寬度比基字大,導致元音字母和下加字母經(jīng)常會前后字符筆畫粘連、交錯現(xiàn)象嚴重,無法正確分割[3]。針對這種情況,本研究提出了基于Rcnn+Char_SegNet的烏梅朱匝體長文本印刷體識別方法。該方法將朱匝體長文本圖像視為圖像序列識別問題,并在CRNN框架[4]的基礎上分別引入循環(huán)連接技術和字丁切分模塊,增強了特征提取和標簽對齊能力。
同時,Rcnn+Char_SegNet方法對朱匝體文本圖像不再進行分割,直接對長文本圖像進行識別,丟棄了粘連字符分割的環(huán)節(jié),簡化了印刷體藏文識別流程,提高了烏梅朱匝體印刷體識別效率。
烏金和烏梅是藏文書寫中兩種常用字體,因此,藏文印刷體識別主要分為烏金和烏梅印刷體識別。
相較于藏文烏梅體,烏金體更容易被分割和識別,只需采用傳統(tǒng)的識別方法就能達到較實用的識別效果,實際樣本的識別率能達到99.15%[5]。
在傳統(tǒng)的藏文烏金印刷體識別過程中,首先采用圖像矯正算法對傾斜的文本圖像進行矯正;其次,通過投影法[6]、連通域法和滴水算法[7]等方法對文本圖像進行分割;接著,對分割后的藏文字丁或者音節(jié)進行規(guī)范化,統(tǒng)一所有文本圖像的寬高;最后,通過設計不同的分類器對規(guī)范后的文本圖像進行識別[8]。
目前,藏文烏金體識別運用的主流方法是深度學習。在文獻[9-10]中采用CRNN的網(wǎng)絡框架對自然場景下的藏文進行了識別,文獻[9]中單字識別率達到了83.63%,而文獻[10]中運用F1值評價指標,其識別率為67%。雖然二者均采用了端到端的識別方法,但自然場景下的字體多樣性、背景復雜性以及形狀多樣性使得識別難度增加,因此仍有提升的空間。
藏文烏梅朱匝體字體中,字與字之間粘連和交錯嚴重,無法正確分割識別字符圖像。因此文獻[11]中采用Gabor濾波器對藏文字符進行特征提取,最后通過ART2神經(jīng)網(wǎng)絡對30個手寫烏梅輔音字母進行分類,正確率在89%~98%之間。但此研究工作只限于特定人手寫的單個藏文烏梅字母識別,并沒有擴展到對烏梅體長文本的識別。
針對藏文烏梅朱匝體的書寫特點,本研究提出了Rcnn+Char_SegNet的烏梅長文本印刷體識別方法。如圖1所示,該方法主要分為四個階段: 特征提取層、序列建模層、字丁切分(Character Segmentation, Char_seg)模塊和轉(zhuǎn)錄層。
圖1 基于Rcnn+Char_SegNet的藏文烏梅長文本識別框架
最后,將Softmax層的分類結(jié)果和字丁級標簽共同輸入CTC解碼器。CTC解碼器將字丁切分模塊輸出的字丁級標簽作為參考值,對Softmax層分類的結(jié)果進行編輯,并輸出CTC編輯完成后的識別結(jié)果。
在CRNN框架中,底層的特征提取網(wǎng)絡為標準的CNN網(wǎng)絡。而在烏梅朱匝體長文本印刷體識別框架中特征提取主要由循環(huán)卷積網(wǎng)絡(Rcnn)完成,如圖2(a)所示。在循環(huán)卷積層中以T為時間步長展開循環(huán)連接單元,可以得到深度為T+1的前饋子網(wǎng)絡,如圖2(b)所示。循環(huán)連接單元可以通過調(diào)節(jié)其相鄰的單元,增強模型提取上下文信息的能力[12]。
圖2 Rcnn網(wǎng)絡
循環(huán)連接單元隨著時間而變化,對于循環(huán)卷積層中第k個特征圖上位于(i,j)的單元而言,在時間t時刻循環(huán)連接單元zijk的輸入如式(1)所示。
(1)
式(1)描述了循環(huán)卷積層的動態(tài)特性。其中的第一項用于CNN,第二項則用于循環(huán)連接。前饋和循環(huán)連接都具有局部連接性,均可在不同位置之間共享權重。
該循環(huán)連接單元的激活函數(shù)為線性整流函數(shù)(ReLU),如式(2)所示。
R(zijk(t))=max(zijk(t),0)
(2)
完成該循環(huán)連接單元狀態(tài)的激活后,采用局部響應歸一化函數(shù)(LRN)對特征進行歸一化操作,如式(3)所示。
(3)
其中,i,j表示像素的位置,k為當前圖層中特征映射的總數(shù),N是位于(i,j)位置的特征圖數(shù),通常N 相較于CNN,Rcnn具有以下兩個優(yōu)點: (1)Rcnn可以使每個單元在當前層中任意大的區(qū)域里合并上下文信息,并且隨著時間步長的增加,每個單元的狀態(tài)會受到其他單元的影響;(2)雖然循環(huán)連接增加了網(wǎng)絡深度,但由于其和CNN有相同的權值共享能力,因此參數(shù)和網(wǎng)絡復雜度基本不變。 循環(huán)連接層的卷積層、最大池化層和激活函數(shù)層作用于局部區(qū)域,具有平移不變性。因此,Rcnn提取的特征序列x=[x1,….,xT]與特征圖上從左到右對應的順序相同,如圖3所示。 圖3 特征提取 通過傳統(tǒng)的字符分割算法很難提取藏文烏梅朱匝體圖像中每個藏文字丁的特征。因此,首先需要對烏梅朱匝體長文本圖片做“切片”處理;其次,拼接每個“切片”后的片段作為建模網(wǎng)絡的輸入特征序列,從而將難以分割的朱匝體文字圖像作為一個預測時間序列問題處理。 在這些特征序列中,每個向量都與輸入圖像上的一個接受域相關聯(lián),因此,可以將這些向量看作是該字段的特征向量。 作為基于Rcnn+Char_ SegNet的藏文烏梅朱匝體長文本印刷體識別框架的序列建模層,BiLSTM對每個特征序列x預測標簽y,其中x是Rcnn提取的特征序列。BiLSTM由兩個雙向的LSTM組成。LSTM是一種為解決RNN中存在的梯度消失和限制存儲上下文范圍等問題而設計的網(wǎng)絡。一個LSTM內(nèi)部單元,由一個存儲單元和三個門組成,即輸入、輸出和遺忘門,如圖4所示。 圖4 LSTM內(nèi)部單元 首先,通過遺忘門決定對輸入中要丟棄的信息ft,即: ft=σ(Wf·[ht-1,xt]+bf) (4) 其中,σ為Sigmoid函數(shù),其輸出值為0或1。當值為0時表示丟棄,值為1時表示通過。ft通過和上一時刻存儲單元的狀態(tài)ct-1點乘選擇信息通過的量。 最后,輸出LSTM內(nèi)部單元的狀態(tài)ht。它是由輸出門ot和當前存儲單元的狀態(tài)ct決定,即: LSTM無法編碼序列從后到前的信息,為了更好地描述特征序列X從前到后或者從后到前排列的局部圖像區(qū)域特征,采用BiLSTM網(wǎng)絡雙向分析特征序列,捕獲兩個方向的長期依賴關系[13],如圖5所示。 圖5 BiLSTM BiLSTM通過雙向編碼輸出隱向量Z=z1,…,zn。其中,對特征序列x分別進行前向和后向計算得到hF和hB。每個向量z都是由前向計算結(jié)果hF和反向計算結(jié)果hB兩個向量拼接得到的。BiLSTM具有很強的捕獲序列雙向上下文信息和處理任意長度序列的能力[14],適合對烏梅朱匝體長文本印刷體進行特征序列編碼。 字丁切分模塊是將藏文文本塊標簽按字丁切分的過程。在基于CRNN的漢文或英文識別中,其長文本標簽能自動按字或字母切分,而對藏文長文本卻無法自動切分,其結(jié)果不符合圖像特征從左到右依次采樣的順序。 因此本研究以字丁為單位對藏文烏梅朱匝體長文本圖像進行標注,這相當于英文中字母級單位的標注方式,有利于圖像和標簽對齊。藏文文本按字丁切分有助于控制Rcnn訓練的字數(shù)長度,避免處理過長的序列,如圖6所示。在藏文烏梅朱匝體長文本識別中,這種字丁級標注方式更適用于網(wǎng)絡對圖像特征從左到右的提取過程。 圖6 字丁標簽序列 藏文構建字符的Unicode編碼區(qū)間為0F71~0F88和0F8D 0FBC。為了不破壞多層字丁疊加結(jié)構,同時實現(xiàn)按列字丁切分,本研究設計了一種簡單高效的藏文字丁切分算法,如圖7所示。 圖7 字丁切分模塊 轉(zhuǎn)錄層是CTC模型把序列建模層BiLSTM對每幀的預測序列y=[y1,…,yn]轉(zhuǎn)換為標簽序列L=(l1,l2,…,ln)的過程,如圖8所示。 圖8 CTC解碼 L=B(argmaxP(π|Y)) (9) (10) 本節(jié)通過實驗來驗證基于Rcnn+Char_SegNet的烏梅朱匝體長文本印刷體識別方法的有效性,將Rcnn和字丁切分模塊(Char_Seg)嵌入到最先進的識別網(wǎng)絡框架CRNN中進行性能比較。 目前,沒有公開的印刷體藏文烏梅朱匝體標注數(shù)據(jù)集,為了驗證Rcnn+Char_SegNet的有效性,本研究自行構建了Cursive Script-C517數(shù)據(jù)集。首先,搜集包含藏文小說、醫(yī)學、歷史以及新聞等題材的文本語料;接著,對文本語料進行數(shù)據(jù)清洗,將文本按五個音節(jié)長度分塊;最后,將5個音節(jié)文本塊轉(zhuǎn)為圖像,長寬都統(tǒng)一為300×50 ,并建立文本標簽。 Cursive Script-C517數(shù)據(jù)集包含40 000個訓練圖像和8 038個測試圖像,部分數(shù)據(jù)示例見圖9。 圖9 Cursive Script-C517中部分樣本 在中英文長文本識別中,文字長度為10或11時效果最好[17]。按縱向字丁切分的長度來計算,五個藏文音節(jié)的長度相當于10或11個漢字或英文的長度,所以本研究選取了5個藏文音節(jié)。 本研究的評價指標為最高準確率(MAX)和平均準確率(AVG)。MAX和AVG計算方式見式(11)、式(12)所示。Rcnn+Char_SegNet模型總共迭代10 000次,每10次迭代輸出一個結(jié)果,用A=[a1,a2,…,aN]表示輸出的準確率。 其中,N是迭代的總次數(shù),an表示第n次的準確率。 Rcnn+Char_SegNet模型的主要參數(shù)詳見表1。 表1 模型參數(shù) 目前還未發(fā)現(xiàn)藏文烏梅朱匝體長文本識別的相關文獻,因此沒有可對比的實驗。本論文中所有的實驗數(shù)據(jù)是用不同的識別框架在Cursive Script-C517數(shù)據(jù)集上得到的。 為了后續(xù)表述方便,每個模型框架將以不同的大寫字母表示,各個字母對應的模型如表2所示。 表2 模型查詢表 為了驗證Rcnn的特征提取能力,本研究將Rcnn與基于注意力機制的識別框架相結(jié)合得到模型C。該模型與主流的識別框架A和B在Cursive Script-C517測試數(shù)據(jù)集上的性能對比見圖10。 圖10 基于Attention解碼的測試正確率趨勢 可以看出: 與Vgg16和ResNet19為特征提取的主干網(wǎng)絡相比,Rcnn的網(wǎng)絡收斂和學習速度更快,并且網(wǎng)絡更加穩(wěn)定。 三個模型的最高準確率和平均準確率對比見表3。 表3 基于Attention的解碼測試結(jié)果 (單位: %) 由表3可知模型C的最高準確率達到了99.57%,但平均準確率只有72.37%,其原因是藏文按字符切分的文本長度遠大于最佳識別長度。有關研究表明中英文的文本長度為10或11時識別效果最好。而Cursive Script-C517數(shù)據(jù)集中藏文烏梅朱匝體長文本的音節(jié)長度為5,一個藏文音節(jié)一般由1~7個字符組成,其平均字符長度在30左右。因此,由于藏文文本按默認字符切分的長度遠大于中英文,所以基于Attention的方法對過長文本的識別效果并不理想。 除了基于Attention的解碼模型,基于CTC的解碼模型也很常見。將頂層的Attention替換為CTC進行訓練,測試結(jié)果見圖11??梢钥闯? 同模型框架D和E相比,解碼模型為CTC時,底層特征提取網(wǎng)絡為Rcnn時,整個網(wǎng)絡框架的訓練更穩(wěn)定。 解碼方式為CTC時,用于特征提取的Rcnn網(wǎng)絡同樣發(fā)揮了較強的特征提取能力,最高準確率和平均準確率分別提高了0.13和1.72個百分點,見表4。 表4 基于CTC的解碼測試結(jié)果 (單位: %) 相比基于Attention的解碼模型,基于CTC模型的解碼能力更強,最高準確率提高了0.23個百分點,平均準確率提高了19.06個百分點,見表5。 表5 Attention和CTC解碼對比結(jié)果 (單位: %) 因為基于Attention的解碼模型中沒有標簽與序列之間的對應關系,所以在沒有大量訓練數(shù)據(jù)的情況下,難以獲取字符的序列關系。而在基于CTC的模型中,標簽與特征序列之間能夠嚴格對齊,更有利于區(qū)分每個文本圖像的特征和長文本識別。 詞典是一組標簽序列,起約束預測的作用,例如,拼寫檢查[18]。在基于詞典的模式中,是通過選擇具有最高概率的標簽序列來進行預測。在數(shù)據(jù)庫Cursive Script-C517中,有藏文字丁和字符兩種類別詞典庫,分別有469種字丁和71種字符。本實驗主要分析兩種不同的標注方式對識別的影響,見表6。 表6 詞典庫的比較 (單位: %) 從表6可以看出: (1)標注單位為字丁時,最高正確率達99.80%,比字符級詞典高0.16個百分點,說明CTC對齊方式符合字丁從左到右在水平方向上的排列;(2)標注單位為字符時,平均識別率低于字符級0.45個百分點。 圖12 詞典庫對識別的影響 同時,字符的個數(shù)少于字丁的個數(shù),字符標注方式降低了模型的計算復雜度,使模型的訓練時間減少了13.63%,如圖13所示。 圖13 詞典庫對模型訓練時間的影響 表7 識別錯誤結(jié)果分析 為了提高烏梅朱匝體長文本識別率,本研究提出了一種新的神經(jīng)網(wǎng)絡框架Rcnn+Char_SegNet。該方法在Cursive Script-C517數(shù)據(jù)集上得到了比基線更好的結(jié)果,這說明本模型可以提高字符圖像提取特征的能力,在字符粘連片段上能提取更長期的上下文依賴信息,所以具有更好的預測能力。 在未來的工作中,計劃研究模型中間建模層對印刷體烏梅的影響,從而進一步改進其性能。另外,Cursive Script-C517需要擴充字符類別,增加更具多樣性的樣本,以便更好地驗證模型的泛化能力。2.2 序列建模層
2.3 字丁切分模塊
2.4 轉(zhuǎn)錄層
3 實驗與分析
3.1 烏梅標注數(shù)據(jù)集構建
3.2 實驗細節(jié)說明
3.3 對比實驗
3.4 轉(zhuǎn)錄方式對識別的影響
3.5 不同詞典庫對識別的影響
3.6 錯誤分析
4 總結(jié)與展望