吳燕如,珠 杰,管美靜
(1.西藏大學信息科學技術學院,西藏 拉薩 850000)(2.藏文信息技術國家地方聯(lián)合中心,西藏 拉薩 850000)
近年來,國家高度重視藏文化資源的保護和珍藏[1]. 優(yōu)秀的藏文化資源中藏文現(xiàn)代印刷物是重要的保存對象. 從藏文印刷物中檢測版面信息對于藏文化實現(xiàn)數(shù)字化存儲具有重要意義[2]. 目前藏文印刷物版面分辨率較低,版面中文本行也比較密集,增加了版面檢測的難度.
當前國內外對中文和英文中文本區(qū)域檢測已經有了一定的研究,Epshtein等[3]提出了筆畫寬度變換的文本檢測算法,Pan等[4]提出讓MSER和卷積神經網絡相結合的檢測方法,但這些方法均不能有效解決文本分辨率較低的問題. Zhu等[5]提出了使用訓練出的級聯(lián)強分類器對圖像中的滑動窗口進行分類,實現(xiàn)文本區(qū)域的檢測,該方法雖然提高了檢測精度,但增加了訓練難度. 在現(xiàn)有的研究中,對藏文現(xiàn)代印刷物版面檢測還相對較少,但對于中英文自然場景下的文本檢測和物體檢測的研究已經比較成熟,取得了不錯的成效. 因此,本文利用Faster R-CNN檢測算法研究藏文現(xiàn)代印刷物的版面檢測問題.
深度學習方法本身具有較強的非線性擬合能力,在計算機視覺領域得到了廣泛應用[6]. 基于深度學習的目標檢測方法對網絡結構不斷改進,主要形成了R-CNN檢測系列[7]和單階段檢測系列[8],前者主要是基于候選區(qū)域的方法,后者借鑒了回歸的思想. 2013年,GIRSHICK等[9]提出R-CNN檢測算法,實現(xiàn)了將神經網絡的方法應用到目標檢測上. 2015年,GIRSHICK[10]又提出了Fast R-CNN算法,主要是在 R-CNN 和SPP-Net檢測算法的基礎上加以改進. Faster R-CNN網絡實現(xiàn)了用神經網絡的方法提取建議區(qū)域[11],有效減少了需要計算的特征,加快了檢測速度和精確度. 單階段檢測方法主要有YOLO[12]和SSD方法[13],直接通過特征圖得到類別得分和位置.
實際應用中,R-CNN系列檢測速度雖然沒有單階段方法快,但檢測準確率較高[14]. 本文選取Faster R-CNN 模型[15]作為藏文現(xiàn)代印刷物中版面的定位方法,在手工整理的藏文現(xiàn)代圖書版面數(shù)據(jù)集上劃分訓練集和測試集,通過增加候選框的數(shù)量,作為文本區(qū)域的定位方法.
本文選取一部分藏文現(xiàn)代圖書做為原圖像,樣本具有文字區(qū)域多而其他類別區(qū)域相對較少的特點,只對現(xiàn)代圖書版面中的文本行區(qū)域進行檢測. 生成的樣本庫有1 320張圖片,圖片像素較低的為374*541,像素較高的為876*1 300,圖片中包含的文本行個數(shù)在5-40之間. 具體藏文現(xiàn)代圖書版面示例如圖1所示.

圖1 采集到的藏文現(xiàn)代圖書示例Fig.1 Examples of collected Tibetan modern books
藏文圖書版面搜集整理之后,通過人工對數(shù)據(jù)集進行標注. 使用labelImg數(shù)據(jù)標注工具,對整理的數(shù)據(jù)集完成標注,制作的數(shù)據(jù)集格式均為Pascal Voc格式. 標注出每一部分的文本行所在的最小外接矩形,并標注出類別標簽,作為網絡訓練中評估的參考標準.
Faster R-CNN檢測方法在結構上主要由3個部分組成:特征提取、RPN網絡、ROI Pooling. 具體流程如圖2所示.

圖2 Faster R-CNN檢測流程圖Fig.2 The detection flow Chart of Faster R-CNN
在實現(xiàn)過程中采用經典的ResNet-50網絡,通過5部分卷積操作、2次池化操作、3層全連接層,最后由softmax完成整個輸出,得到整張圖片的特征. 這樣避免了特征的重復計算,加快了訓練速度. 卷積層提取到的特征圖用于后續(xù)網絡的輸入.
RPN網絡和SelectSearch一樣都是用來生成候選框,但傳統(tǒng)方法生成的候選框數(shù)量較多,需要時間較長. RPN網絡中只包含卷積層,該網絡的位置在Conv5-3之后,用神經網絡的方法大大提高了候選框的生成速度. 針對藏文現(xiàn)代圖書的定位問題,在Conv5-3特征圖上采用大小為3*3的filter,設置為步長1的滑動卷積,這樣每個窗口就映射成一個256維的向量. 256維向量并行進入全連接層,分別對滑動窗口生成的建議區(qū)域進行分類和回歸.
對卷積特征圖上的每個像素點設置20種不同的候選窗口,根據(jù)藏文現(xiàn)代圖書中文本行大小長短的不同,經改進使用64*64、128*128、256*256、512*512的窗口面積,每個面積下設置5種不同的縮放,比例分別為1∶2、1∶5、1∶1、2∶1、5∶1,這樣就生成了20個尺度的候選框,這樣分類層對于一個像素點生成的候選框可以生成40個得分,用來判斷候選框包含目標或者不含有目標的概率. 回歸層對于每個像素點生成的候選框共產生80個位置坐標,再用非極大值抑制的方式對生成候選框進行篩選,用回歸方法對候選框位置進行調整,得到更精確的建議區(qū)域. RPN網絡產生的損失如式(1)所示:
(1)

(2)
Lreg為回歸部分的損失,具體定義如式(3)[16]所示:
(3)
RPN網絡生成的候選區(qū)域對應映射在特征圖上,形成的映射區(qū)域均被劃分為7*7大小的子圖,這樣不同大小的建議區(qū)域被轉化為相同大小的感興趣池化圖[17],并進入全連接層,用softmax對其類別進行預測,并對邊框位置進行回歸,獲得更精確的邊框位置. 該過程的損失仍是分類損失和回歸損失,整體損失定義如式(4)[18]所示:
L(p,u,t,v)=Lcls(p,u)+λμLloc(t,v),
(4)
式中,u為感興趣區(qū)域所屬的類別;p為屬于類別的概率值;t為建議框的位置坐標;v為對應的真實框的位置坐標.
本文實驗硬件環(huán)境為intel i7處理器,運行內存32G,顯卡為NVIDIA GeForce RTX2080,操作系統(tǒng)為Windows10平臺,實驗采用TensorFlow框架,Python語言,采用Labellmg軟件對藏文現(xiàn)代圖書進行手動標注. 實驗采用了藏文圖書1 200張作為訓練集,120張作為測試集.
本文采用準確率P(precision)、召回率R(recall)和F-值對實驗結果進行評估[19]. 準確率是識別正確的框數(shù)量占所有識別到的框數(shù)量的比例,召回率是識別正確的框數(shù)量占所有真實框數(shù)量的比例,準確率P、召回率R、F-值的具體定義分別如下所示:
(5)
(6)

(7)
式中,TP為正確識別的框的個數(shù);FP為檢測錯誤的框的個數(shù);FN為正樣本漏檢的個數(shù).
改進的Faster R-CNN網絡在訓練過程中使用的初始化參數(shù)來自COCO數(shù)據(jù)集的預訓練模型[20]. 訓練中學習率初始化為0.001,衰減系數(shù)為0.94,動量值為0.89,總迭代次數(shù)為50 000. 在相同的實驗條件下與SSD檢測模型訓練過程的損失進行對比,查看訓練過程的日志文件可以看出實驗過程中的損失變化,具體的損失曲線如圖3所示.
由圖3可知,隨著訓練次數(shù)的增加,網絡訓練的損失不斷降低. 藏文現(xiàn)代圖書版面在40 000次迭代后開始收斂;當完成50 000次迭代時,藏文現(xiàn)代圖書的訓練損失率降至最低值0.82,損失基本趨于穩(wěn)定. 該數(shù)據(jù)集在SSD模型訓練過程中損失不斷降低,當?shù)?0 000次時,SSD模型也處于收斂狀態(tài),此時訓練損失為0.4. 可以看出,SSD模型訓練的收斂速度比改進的Faster R-CNN快很多.

圖3 損失曲線圖Fig.3 Loss curve
采用改進后的Faster R-CNN對測試集進行測試,典型的藏文現(xiàn)代圖書版面中文本行的檢測效果如圖4 所示.

圖4 藏文現(xiàn)代圖書版面檢測效果示例Fig.4 Example of detection effect of modern Tibetant book layout
由圖4可知,矩形框所在的位置為預測框,每個矩形框對應一個預測的準確度. 改進的Faster R-CNN不僅可有效檢測出藏文現(xiàn)代圖書中的文本行,還可檢測出排版不同版面的文本行,檢測效果并未受到文本行的長度、數(shù)量和整體文本行分布的影響. 在字體樣式差異較大的情況下,改進的Faster R-CNN也能有效識別文本行.
在改進的Faster R-CNN和SSD實驗基礎上,本文進行了原始的Faster R-CNN實驗. 3種檢測模型在該數(shù)據(jù)集上的檢測性能對比如表1所示.

表1 數(shù)據(jù)集在兩種模型上的性能對比Table 1 Performance comparison of the data set on two models
由對比可知,SSD模型的準確率和召回率要比Faster R-CNN低很多,SSD對較長的文本行和字體樣式差異較大的文本行召回效果較差;原始的Faster R-CNN模型的準確率和召回率都沒有改進后的Faster R-CNN檢測方法高. 改進后的Faster R-CNN模型在本文的數(shù)據(jù)集上具有一定的準確率和召回率性能優(yōu)勢,相比原始的Faster R-CNN、SSD模型具有良好的應用效果.
為了驗證改進后的方法在藏文現(xiàn)代圖書數(shù)據(jù)集上的有效性,本文對改進的Faster R-CNN與Faster R-CNN 模型應用在圖像檢測領域的性能進行了對比. 文獻[19]中Faster R-CNN對精密零部件檢測,該實驗最終準確率為87.8%,召回率為80.3%;文獻[21]中Faster R-CNN對目標人物出現(xiàn)的位置進行檢測,該實驗最終在基礎網絡為ResNet-101的訓練中準確率達到94.2%,平均精度為66.8%;文獻[22]在基礎網絡為ResNet-50的訓練中對藍莓成熟果檢測的準確率為94%,而召回率只有77%. 由此可知,本文改進的Faster R-CNN模型在藏文現(xiàn)代圖書數(shù)據(jù)集訓練時的召回效果較好,整體性能較高.
本文以藏文現(xiàn)代圖書作為研究對象,建立了藏文現(xiàn)代圖書標注的數(shù)據(jù)集,在深度學習的TensorFlow框架上訓練Faster R-CNN檢測網絡,并用訓練好的COCO數(shù)據(jù)集下的模型進行遷移學習. 為了解決藏文現(xiàn)代圖書版面中文本行分布不均勻的問題,本文采用了多個版面差異較大的數(shù)據(jù)集進行訓練,并改變了原始的Faster R-CNN中anchor的面積和長寬比例,有效解決了數(shù)據(jù)集中文本行分布不均勻的檢測問題. 由實驗結果可以看出:
(1)改進的Faster R-CNN在藏文現(xiàn)代圖書版面的檢測上,當圖片中的文本行比較密集或文本行較為稀疏的情況下,相比SSD網絡模型具有較好的檢測效果;
(2)當版面中文本行信息較少的情況下,SSD對長文本行的檢測出現(xiàn)錯誤,改進的Faster R-CNN檢測方法仍具有良好的檢測效果;
(3)在訓練中迭代次數(shù)相同時,SSD模型的收斂速度遠比改進的Faster R-CNN快,但檢測準確率和召回率都沒有改進的Faster R-CNN檢測方法高. 由此可知,改進后的Faster R-CNN對該數(shù)據(jù)集具有良好的適應性.
本文在實驗過程中,只采用了藏文現(xiàn)代圖書建立數(shù)據(jù)集,由于藏文數(shù)據(jù)集現(xiàn)有資源收集難度較大,實驗并沒有與其他類型的藏文現(xiàn)代印刷物的版面進行對比,在整個藏文印刷物版面數(shù)據(jù)集上沒有很好的通用性,這是今后在實驗過程中仍需進一步探索的問題.