楊曉龍 高紅梅 高定國
(西藏大學(xué) 信息科學(xué)技術(shù)學(xué)院 西藏自治區(qū)拉薩市 850000)
在20世紀(jì)初,敦煌藏經(jīng)洞被世人發(fā)現(xiàn)后,敦煌古藏文寫本的內(nèi)容受到學(xué)術(shù)界極大的重視,具有很高的學(xué)術(shù)價值和出版價值。敦煌藏文古籍?dāng)?shù)字化關(guān)系著藏區(qū)信息化建設(shè)和文化建設(shè)等內(nèi)容,對藏文文獻內(nèi)容的深度挖掘,檢索研究,知識庫構(gòu)建起著數(shù)據(jù)支撐的作用[1]。文本識別是計算機視覺領(lǐng)域的重要任務(wù)之一,也是古籍文獻數(shù)字化工作的一個重要步驟,不僅可以更好地保護古籍文獻,同時還能更加快捷高效的檢索數(shù)據(jù),產(chǎn)生二次價值。目前,對于藏文古籍整頁識別技術(shù)并不是很成熟,相關(guān)研究者還暫未對整頁藏文文本識別進行研究討論。
藏文文本識別現(xiàn)有的方法大多數(shù)是級聯(lián)文本檢測器和文本識別器,步驟是先用文本檢測器來檢測文本行的位置,之后用文本識別器來進行識別行文本。但僅僅依靠級聯(lián)文本檢測器和文本識別器等方法已經(jīng)不能夠滿足對藏文古籍的識別,原因如下:首先,級聯(lián)檢測器和識別器存在誤差累加的影響且易改變數(shù)據(jù)分布。其次,手寫體文本存在粘連,彎曲等因素使得正確地切分出完整的文本實例十分困難。最后,文本段通常用回車空格等分割符進行連接,如果僅靠兩段式的識別方法,格式化和縮進等信息容易丟失[2]。近年來,釋放文本檢測的整頁文本識別已經(jīng)成為了新的趨勢,同時也是解決上述問題的重要途徑,相對于兩階段式的文本識別,整頁文本識別不僅有著更少的標(biāo)注,而且有著更高的準(zhǔn)確率。目前而言,藏文古籍整頁識別技術(shù)并不是很成熟,相關(guān)研究者尚未對該任務(wù)進行研究討論。
鑒于上述討論,本文以《法國國家圖書館藏敦煌藏文文獻》為研究對象,對藏文古籍整頁識別進行探究。首先針對《法國國家圖書館藏敦煌藏文文獻》影印版的藏文字形特征,古籍特點以及藏文構(gòu)字規(guī)律等合成了法藏敦煌體藏文古籍文獻數(shù)據(jù)集。其次對近三年出現(xiàn)具有代表性的四種無檢測的頁面級文本識別使用合成數(shù)據(jù)集進行探究。對四種目前效果較好的整頁文本識別網(wǎng)絡(luò)在藏文數(shù)據(jù)集上進行實驗。最后根據(jù)藏文古籍識別的需求,分析不同特征提取網(wǎng)絡(luò)對識別效果的影響。更換IFA 模型的特征提取網(wǎng)絡(luò)對比在不同數(shù)據(jù)集上的性能,提高了古籍文獻的特征表述能力以及在噪聲下的穩(wěn)定性。
藏文文字識別的研究工作主要有基于傳統(tǒng)方法和基于深度學(xué)習(xí)的方法。
傳統(tǒng)方法主要對文字圖像進行預(yù)處理,版面分析,行分割,字符分割,識別和后處理。在過去的25 年中,在傳統(tǒng)方法上主要圍繞特征提取部分進行展開[3,4],在此基礎(chǔ)上構(gòu)建了不同的系統(tǒng)用于藏文印刷體識別[5,6]。傳統(tǒng)方法大多針對印刷體藏文識別進行研究,取得了很好的效果。
隨著人工智能以及深度學(xué)習(xí)的發(fā)展,神經(jīng)網(wǎng)絡(luò)在藏文識別任務(wù)的正確率和人工識別的效果不相上下甚至有所超越。深度學(xué)習(xí)的方法主要分為檢測和識別兩個工作。藏文識別任務(wù)方面,趙棟材[7]利用BP 神經(jīng)網(wǎng)絡(luò)對藏文進行識別,驗證了神經(jīng)網(wǎng)絡(luò)在藏文文字識別的可行性。黃婷[8]首次將CRNN 網(wǎng)絡(luò)模型應(yīng)用到手寫體藏文字丁的識別任務(wù)中,韓躍輝[9]基于CNN 的字丁識別算法,提高了藏文古籍7240 類字丁的識別率。在神經(jīng)網(wǎng)絡(luò)算法提出的同時,數(shù)據(jù)集構(gòu)建[10]被應(yīng)用于深度學(xué)習(xí)也是不可缺少的。除此之外,還有一些其他的深度學(xué)習(xí)的方法應(yīng)用于藏文文字識別。為了解決文檔噪聲,仁青東主[11]構(gòu)建基于殘差網(wǎng)絡(luò)和雙向長短時記憶循環(huán)神經(jīng)網(wǎng)絡(luò),解決圖像質(zhì)量差、文字粘連嚴重問題。
近年來,文檔識別技術(shù)逐漸開始釋放文本檢測,從而直接對輸入圖像進行識別。目前雖然沒有對敦煌藏文整頁文本識別的工作,但對敦煌字體的研究工作[12]已經(jīng)非常成熟。對于英文和其他文種的識別方面,有很多端到端的識別方法[13,14]被提出,首先級聯(lián)文本檢測器確定每個文本行或者每個單詞的位置,之后通過文本識別器識別檢測到的文本行。這種方法由于級聯(lián)文本檢測器和文本識別器,會造成誤差累計問題。為了解決這種問題,近年來主要方法是拓展文本行識別器到整頁級別。整頁文本識別可以通過隱式的分割來代替分割模塊提升整頁的準(zhǔn)確率。Curtis Wigington 等人[15]通過定位每一行的起始位置,然后逐步跟隨和閱讀行文本。Mohamed Yousef 等人[16]提出OrigamiNet 將多行圖像隱式展開為單行圖像,并使用CTC 來監(jiān)督輸出。Coquenet D 等人[17]提出A Simple Predict & Align Network(SPAN)通過簡單預(yù)測和對齊網(wǎng)絡(luò)進行無分割標(biāo)簽訓(xùn)練,Wang T 等人[18]提出Implicit Feature Alignment(IFA)試圖使僅使用文本行數(shù)據(jù)訓(xùn)練的普通文本識別器能夠處理頁面級文本識別。Coquenet D 等人[19]提出Vertical Attention Network(VAN)通過逐行迭代實現(xiàn)段落級別的識別達到目前最先進的識別率。
藏文字符不等寬,字丁不等高,相似形多,字形結(jié)構(gòu)復(fù)雜,疊加變形等是藏文識別的主要難點[20]。敦煌藏文古籍字丁種類多,相似形多,字體大多與藏文烏金體類似,也有少量烏梅體的風(fēng)格[12],特別是敦煌文獻文檔圖像質(zhì)量低、退化嚴重。具有污漬、霉變等背景干擾,文字模糊、殘缺、斷裂、手寫風(fēng)格不一、筆畫粗細不一和書寫潦草導(dǎo)致文字識別十分困難。
深度學(xué)習(xí)通常需要大量的訓(xùn)練數(shù)據(jù)用來測試網(wǎng)絡(luò)的性能。目前,還沒有可以對整頁藏文古籍文獻識別進行評估的公開數(shù)據(jù)集。數(shù)據(jù)集文本語料與背景噪聲均來源于《法國國家圖書館藏敦煌藏文文獻》。
原始法藏敦煌文獻與生成圖片對比如圖1 所示,該程序可以通過不同的參數(shù)生成數(shù)據(jù)集,如生成FCNN,F(xiàn)CNB,F(xiàn)CWN,F(xiàn)CWB 四個數(shù)據(jù)集。
圖1:《法國國家圖書館藏敦煌藏文文獻》真實樣例生成和生成數(shù)據(jù)集
數(shù)據(jù)集構(gòu)建程序流程圖如圖2 所示,首先配置文件獲得要生成數(shù)據(jù)集的參數(shù),經(jīng)過語料庫的數(shù)據(jù)清洗得到要生成圖片上顯示的文字部分,之后與字體庫生成前景文字,生成文字后再加入噪聲增加文本識別的難度,最后將標(biāo)簽信息寫入xml 文件。
圖2:數(shù)據(jù)集構(gòu)建程序流程圖
該程序可以通過不同的參數(shù)生成不同的數(shù)據(jù)集。參數(shù)設(shè)置主要分為四個方面,分別為總體設(shè)置,語料文字處理,背景處理,標(biāo)簽處理。通過不同的參數(shù)設(shè)置生成不同識別難度的數(shù)據(jù)集。
OrigamiNet 網(wǎng)絡(luò)的輸入僅需要未分割的敦煌古籍圖像和相應(yīng)的文本對。先使用GTR 網(wǎng)絡(luò)做特征提取,之后隱式地將一個輸入多行圖像拼成一個單行圖像。如公式1 所示,網(wǎng)絡(luò)產(chǎn)生的預(yù)測序列表示為P,是輸入圖像L 相關(guān)的標(biāo)簽序列,其中|L|<|P|。F 是學(xué)習(xí)字符的2D 排列轉(zhuǎn)化為1D 排列的變換。I 表示輸入的2D 圖像。最后通過CTC 考慮兩個1D 序列之間的所有可能的比對實現(xiàn)對齊操作。
在訓(xùn)練過程中,它能夠很好的處理粘連問題,并且不需要字符的任何位置信息,從而簡化了訓(xùn)練流程。
SPAN 網(wǎng)絡(luò)通過全卷積網(wǎng)絡(luò)作為編碼器來分析2D 的段落圖像。先由一系列卷積塊(CB)和深度卷積塊(DSCB)組成編碼器。將輸入敦煌古籍圖像X∈RH×W×C轉(zhuǎn)化為輸出特征圖(H、W 和C 分別是高度,寬度和通道數(shù))。然后,通過單個卷積層組成的解碼器預(yù)測和對齊特征f 的每個2D 位置的字符和CTC 空白標(biāo)簽的概率。最后,通過按順序串聯(lián)預(yù)測行,得到一個一維預(yù)測序列N 是字符集的大小,之后通過標(biāo)準(zhǔn)CTC 計算一維預(yù)測序列和段落標(biāo)簽之間的損失。
SPAN 模型在訓(xùn)練過程中能夠很大程度上節(jié)省GPU 內(nèi)存,處理可變圖像大小,能夠適應(yīng)多個數(shù)據(jù)集,可以用作更深層次的端到端網(wǎng)絡(luò)的主要步驟。因為網(wǎng)絡(luò)是串聯(lián)預(yù)測行,是按照順序進行處理的,所以在文本行和下一行有足夠的空間的情況下效果較好。
VAN 模型的編碼器由大量卷積塊(CB)和深度可分離卷積塊(DSCB)組成,目的是保持相同性能水平的同時減少參數(shù)數(shù)量,同時要有足夠的信息來識別字符。編碼器將輸入敦煌古籍圖像X∈RH×W×C轉(zhuǎn)化為輸出特征圖(H、W 和C 分別是高度,寬度和通道數(shù))。注意力模塊用來遞歸生成文本行表示并進行段尾檢測。線特征It 為特征行和注意力之間的加權(quán)和,如公式2 所示,在垂直維度上正確的特征行權(quán)重接近1,敦煌古籍背景以及插畫噪聲權(quán)重接近0。加權(quán)和能夠?qū)⒕€特征It 處理為一維序列從而使用CTC 損失,對于每一行i,計算多尺度信息st,i,如公式(3)所示。它包含局部和全局的信息,為剩下的垂直表示,表示解碼器處理前一行文本后的隱藏層狀態(tài)。ct為所有先前注意力權(quán)重的總和。之后計算每一行的得分et,i。如公式(4)所示。最后通過Softmax 激活函數(shù)計算注意力權(quán)重,如公式(5)所示,段落識別需要段尾檢測,通過3 種,固定停止,提前停止和學(xué)習(xí)停止的方法。經(jīng)過注意力模塊之后垂直軸已經(jīng)折疊為一維特征序列,通過LSTM 和卷積得到每幀的字符概率Pt,最終通過CTC 解碼器去除連續(xù)字符和空白符的到最終文本。
VAN 模型參數(shù)較少,但是直接在段落上訓(xùn)練時間成本較高,所以網(wǎng)絡(luò)在行級別進行預(yù)訓(xùn)練后再進行段落級別的訓(xùn)練更易于收斂。網(wǎng)絡(luò)對于重疊部分識別還有待解決。
特征提取器F 基于卷積神經(jīng)網(wǎng)絡(luò)構(gòu)成,將S={s1,s2,s3,s4...st}的輸入圖像X 編碼為特征圖F,如公式(6)所示,C、H 和W 分別表示特征圖的輸出通道、高度和寬度,之后,分類器C 將特征圖的每個像素進行分類,如公式(7)所示,K 表示字符類別總數(shù)加上空白符號。列擠壓模塊S(兩個批歸一化和ReLU 的卷積構(gòu)成)將二維特征圖F∈RC×H×W使用列注意力圖沿著垂直方向壓縮成1D 特征序列F′∈RC×1×W,如公式(8)所示。垂直注意力圖為公式(9),F(xiàn)′計算為公式(10),之后轉(zhuǎn)化為CTC 進行計算。這個時候,C 有能力訓(xùn)練每一列的正像素,去除S 之后對齊的正像素仍然能夠正確的識別,達到了簡單的對齊和訓(xùn)練F 的正像素。WH‐ACE模塊用來抑制標(biāo)簽外的負面預(yù)測,同時保持正面預(yù)測不受影響。WH‐ACE 的損失函數(shù)為公式(11),W1 表示1‐Wasserstein距離,目的是將標(biāo)簽外概率轉(zhuǎn)移到標(biāo)簽內(nèi)類別分布,總的訓(xùn)練損失函數(shù)為公式(12)。
IFA 模型有著很快的推理速度??梢酝ㄟ^訓(xùn)練單行圖像來識別段落級文本,可以有效的處理單行和多行文本。
為了驗證整頁文本識別模型對于敦煌藏文古籍識別任務(wù)的可行性,我們在四種數(shù)據(jù)集上進行了各個模型的對比。本文基于Ubuntu 20.04.2 LTS 操作系統(tǒng),在python 3.8.8,Pytorch 1.9.0,CUDA 11.4,cudnn 8.2.1,RTX 3070 GPU 環(huán)境下進行實驗。
4.2.1 數(shù)據(jù)集介紹
法藏敦煌藏文古籍文獻為稀缺資源,目前沒有可用的數(shù)據(jù)集。本文所用的數(shù)據(jù)集語料和背景噪聲均來自《法國國家圖書館藏敦煌藏文文獻》。我們在4 個數(shù)據(jù)集上進行了對比實驗。即FCNN,F(xiàn)CNB,F(xiàn)CWN,F(xiàn)CWB。每個數(shù)據(jù)集數(shù)據(jù)采用958 張古籍圖片作為訓(xùn)練數(shù)據(jù),136 張古籍圖片作為驗證數(shù)據(jù),273 張古籍圖片作為測試數(shù)據(jù)。單張圖片最小字符數(shù)300,最大字符數(shù)750,平均字符數(shù)442。
在本文中,語料由藏文和梵文轉(zhuǎn)寫構(gòu)成,對語料進行了清洗,將多余的空格,無法文字識別的標(biāo)記字符,不常用的圖畫符號以及部分特殊符號進行過濾。其中四個數(shù)據(jù)集特點分別為:
FCNN:法藏?zé)o噪數(shù)據(jù)集。字體單一,距離固定,背景為白色背景。
FCNB:法藏背景噪聲數(shù)據(jù)集。字體單一,距離固定,具有背景噪聲。
FCWN:法藏文字噪聲數(shù)據(jù)集。字體為多字體。距離大小不同,行與行之間隨機粘連。背景為白色背景。
FCWB:法藏混合噪聲數(shù)據(jù)集。字體為多字體,多字號,音節(jié)之間隨機進行粘連,行之間進行隨機粘連。背景噪聲為真實敦煌古籍文檔的背景。
數(shù)據(jù)集和標(biāo)簽可視化如圖3 所示,數(shù)據(jù)集從左上到右下以此為FCNN,F(xiàn)CNB,F(xiàn)CWN,F(xiàn)CWB。
圖3:數(shù)據(jù)集和標(biāo)簽可視化樣例
4.2.2 評價方法
為了評估敦煌文獻整頁識別的效果。我們用字符錯誤率(CER)和單詞錯誤率(WER)進行評價。如公式(13)所示,他們是用真實標(biāo)簽y 和預(yù)測值 之間的編輯距離(表示為dlev)進行計算,由標(biāo)簽總長度進行歸一化。K 表示圖像的數(shù)量。WER 公式完全相同,由原來的字符級別改變?yōu)閱卧~級別即可。
表1 展示了各個模型在不同數(shù)據(jù)集下識別的字符錯誤率和單詞錯誤率,對于增加了文字噪聲的FCWN 和FCWB 來說,重點測試網(wǎng)絡(luò)對字體的特征提取能力。對于增加了背景噪聲的FCNB 和FCWB 數(shù)據(jù)集,重點測試網(wǎng)絡(luò)對背景噪聲的魯棒性。
表1:模型在測試集上的準(zhǔn)確率
OrigamiNet 網(wǎng)絡(luò)在不需要單詞級別或行級別的標(biāo)注下仍然保持較高的準(zhǔn)確率。無論是對于文字噪聲還是對于背景噪聲都具有很強的魯棒性,在四個數(shù)據(jù)集上字符錯誤率分別是0.11%,0.09%,0.08%,0.14%,保持著最低的字符錯誤率。VAN 網(wǎng)絡(luò)首先對每行藏文進行訓(xùn)練,在行訓(xùn)練上網(wǎng)絡(luò)對于背景噪聲情況不敏感,但對于字體噪聲錯誤率由原來的1.15%提升到3.56%。然后在行訓(xùn)練的基礎(chǔ)上進行整頁識別的訓(xùn)練,都達到了1%以下的錯誤率。網(wǎng)絡(luò)對單獨的文字變化和單獨的背景噪聲情況下影響較小,但是該網(wǎng)絡(luò)對于二者疊加的情況下會大幅度影響網(wǎng)絡(luò)的收斂。SPAN 網(wǎng)絡(luò)對于單獨文字的變化或者單獨背景噪聲的變化影響較小,對背景噪聲和文字變化組合時候錯誤率明顯增加。IFA 網(wǎng)絡(luò)雖然也使用注意力機制,通過WH‐ACE 模塊抑制背景噪聲,特征提取部分對比了兩個特征提取網(wǎng)絡(luò)Resnet18 和Resnet34。淺層網(wǎng)絡(luò)不僅在保持較高速度的推理的同時,還有著較低的錯誤率。
在整頁藏文文本數(shù)據(jù)集上,模型OrigamiNet 性能最好,其次是VAN,SPAN,最后是IFA 網(wǎng)絡(luò)。
網(wǎng)絡(luò)在不同的數(shù)據(jù)集上的收斂曲線如圖4 所示。通過分析不同網(wǎng)絡(luò)的錯誤率曲線。OrigamiNet 通過折疊的方法在各個數(shù)據(jù)集上的收斂速度大致相同。SPAN 在單獨的文字噪聲和單獨的背景噪聲可以很好的處理,但是在混合噪聲收斂速度較差。VAN 網(wǎng)絡(luò)對于僅加入背景噪聲情況能夠較好收斂,對于更改文字大小,混合字體后收斂比較困難,在此基礎(chǔ)上加了背景噪聲后更加難以達到收斂。IFA 網(wǎng)絡(luò)使用Resnet34 特征提取的效果比Resnet18 特征提取網(wǎng)絡(luò)差,在使用Resnet34 錯誤率為21.28%,在更換為Resnet18 之后,錯誤率達到了2.86%。大大降低了網(wǎng)絡(luò)的錯誤率。
圖4:網(wǎng)絡(luò)在不同的數(shù)據(jù)集上的收斂曲線
使用注意力模塊的是VAN 和IFA 網(wǎng)絡(luò)。依賴于參數(shù)化的注意力模塊,性能隨著序列長度的增加而衰減,對于整頁級敦煌古籍文獻識別任務(wù)較為勉強。VAN 網(wǎng)絡(luò)必須依賴行訓(xùn)練才能進行整頁訓(xùn)練,直接進行整頁訓(xùn)練收斂較為困難,違背了整頁識別的初衷。IFA 網(wǎng)絡(luò)不同的特征提取模塊達到不同的識別效果,雖然IFA 引入了對背景噪聲抑制的模塊WH‐ACE,推理速度也遠超過其他網(wǎng)絡(luò),但是準(zhǔn)確率方面還是和不使用注意力模塊的有一定的差距。不使用注意力模塊的是OrigamiNet 和SPAN 網(wǎng)絡(luò)。OrigamiNet 網(wǎng)絡(luò)通過折疊達到一維的輸入要求,SPAN 網(wǎng)絡(luò)通過特征的拉伸達到一維的輸入要求。最終四個的網(wǎng)絡(luò)都是通過CTC 模塊對齊兩個一維序列,達到整頁識別的效果。
對于識別結(jié)果較差的IFA 模型,通過引入了WH‐ACE抑制背景噪聲,對于干凈背景噪聲和復(fù)雜背景噪聲的情況,網(wǎng)絡(luò)都能夠很好的注意在文字上面,甚至在有背景噪聲的情況下,由于WH‐ACE 的加入,反而能夠更好的關(guān)注到文字的部分。如圖5 所示,上方的圖片為不同噪聲的數(shù)據(jù)集進行二值化后的樣例,下方圖片分別為數(shù)據(jù)集樣例的注意力圖可視化。
圖5:不同數(shù)據(jù)集注意力可視化
IFA 網(wǎng)絡(luò)中不同提取網(wǎng)絡(luò)的結(jié)果如圖6 所示,網(wǎng)絡(luò)幾乎在同一個時間字符錯誤率呈大幅下降趨勢,網(wǎng)絡(luò)學(xué)習(xí)到了圖片中文字的特征。使用Resnet18 網(wǎng)絡(luò)的效果優(yōu)于Resnet34。
圖6:不同提取網(wǎng)絡(luò)的IFA 實驗對比
本文針對整頁文本數(shù)據(jù)集稀缺問題,首先提出一套合成整頁數(shù)據(jù)集的方法,有效的運用到藏文整頁識別任務(wù)中。其次通過微調(diào)分析了近幾年整頁識別網(wǎng)絡(luò)對藏文古籍整頁識別的效果,隨著噪聲的增加,不同模型在不同噪聲的數(shù)據(jù)集上魯棒性各不相同,對于結(jié)果較差的模型更換不同的特征提取網(wǎng)絡(luò)進行實驗分析。在構(gòu)建的敦煌整頁古籍文獻數(shù)據(jù)集上幾乎都達到了90%以上正確率。本文初步完成了基于敦煌體藏文整頁識別研究工作,填補了對于藏文整頁識別的研究空缺。