洪 松, 高定國, 三排才讓, 取 次
(西藏大學(xué) 信息科學(xué)與技術(shù)學(xué)院, 拉薩 850000)
目前深度學(xué)習(xí)廣泛應(yīng)用于計算機(jī)視覺的各個領(lǐng)域,基于深度學(xué)習(xí)的自然場景文字檢測與識別一直都是一項具有挑戰(zhàn)性的研究. 但是目前針對自然場景文字檢測與識別的相關(guān)研究主要集中在中英文中, 且取得了不錯的成績. 在自然場景文字檢測的研究中, 對于水平文本的檢測, Tian等人提出的CTPN[1]網(wǎng)絡(luò), 該網(wǎng)絡(luò)結(jié)合了CNN與LSTM深度網(wǎng)絡(luò), 該網(wǎng)絡(luò)可以學(xué)習(xí)字符的上下文關(guān)系從而提高文本檢測的準(zhǔn)確率. 對于傾斜文本的檢測, Shi等人提出了SegLink網(wǎng)絡(luò)[2], 該網(wǎng)絡(luò)首先將文本分解成片段和鏈接這兩個局部可檢測的元素,然后通過端到端訓(xùn)練的全卷積神經(jīng)網(wǎng)絡(luò), 可以在多個尺度上密集地檢測這兩個元素, 最終通過鄰近連接方法將各小文字塊連接成單詞. Yang等人提出了IncepText網(wǎng)絡(luò)[3], 該網(wǎng)絡(luò)提出了一種基于變形的 PSROI池化模塊來處理多方向的文本檢測, 能更好的提高大尺度以及扭曲變形文字圖像的文本檢測正確率, 使模型具有更好的魯棒性. 隨后也有一些研究人員提出了DMPNet網(wǎng)絡(luò)[4]、EAST網(wǎng)絡(luò)[5]、PixelLink網(wǎng)絡(luò)[6], 支持傾斜文本的檢測. Liao等人提出了一個可微二值化模塊[7], 它可以在分割網(wǎng)絡(luò)中執(zhí)行二值化過程, 通過與DB模塊的優(yōu)化, 分割網(wǎng)絡(luò)可以自適應(yīng)地設(shè)置二值化閾值, 既簡化了后處理, 又提高了文本檢測的性能. 在自然場景文字識別的研究中, 對于規(guī)則文本的識別, 應(yīng)用最廣泛的主要是Shi等人提出的一種基于序列的文字識別網(wǎng)絡(luò)CRNN[8], 該網(wǎng)絡(luò)能夠處理任意長度的序列, 且不涉及字符分割和水平尺度歸一化, 能進(jìn)行端到端的訓(xùn)練. 對于非規(guī)則文本的識別, 主要是Shi等人提出的RARE網(wǎng)絡(luò)[9], 該網(wǎng)絡(luò)由空間變換網(wǎng)絡(luò)STN和序列識別網(wǎng)絡(luò)SRN組成, 網(wǎng)絡(luò)模型能夠識別多種類型的不規(guī)則文本,包括透視文本和彎曲文本.
目前自然場景下的中英文檢測與識別相關(guān)的研究已經(jīng)取得了不錯的成果, 但是自然場景下烏金體藏文的檢測與識別的相關(guān)研究仍處于起步階段. 為了給藏文識別的相關(guān)研究奠定基礎(chǔ), 早期一些研究人員主要研究了印刷體和手寫體藏文的識別. 在印刷體和手寫體藏文識別的研究中, 一些研究人員針對藏文字符的特點在藏文字符輪廓特征提取[10,11]、印刷體藏文字符特征提取[12,13]、手寫體藏文字符特征提取[14]等方面取得了不錯的成果, 隨后相關(guān)研究人員在此基礎(chǔ)上進(jìn)一步研究了印刷體和手寫體藏文的識別[15-17]. 但是在印刷體和手寫體藏文識別的研究中主要是采用傳統(tǒng)的圖像處理方法對藏文文本圖像進(jìn)行二值化、去噪等預(yù)處理操作, 再對圖像中的藏文字符行進(jìn)行切分, 然后將切分后的藏文字符圖片進(jìn)行歸一化后送入特征提取模塊提取單個藏文字符的特征, 最后通過傳統(tǒng)的模式分類方法得到識別結(jié)果. 從中可以看出傳統(tǒng)的藏文識別方法存在多個中間環(huán)節(jié), 同時要求藏文圖像質(zhì)量較好且能切分出藏文字符. 而自然場景下的烏金體藏文圖像質(zhì)量較差且文字存在透視變換、噪聲干擾大, 傳統(tǒng)的藏文識別方法顯然不適合自然場景下烏金體藏文的識別.
目前, 得益于深度學(xué)習(xí)技術(shù)的發(fā)展, 利用深度學(xué)習(xí)技術(shù)對自然場景下藏文的檢測與識別進(jìn)行研究是當(dāng)下的發(fā)展趨勢. 趙棟材[18]在傳統(tǒng)的文字識別方法基礎(chǔ)上,增加了基于BP網(wǎng)絡(luò)的訓(xùn)練方法, 通過對大量的木刻藏文經(jīng)書字符的訓(xùn)練, 實現(xiàn)了普通干擾情況下木刻經(jīng)文的識別. 梁弼等人[19]提出了一種基于HMM分類器的聯(lián)機(jī)手寫藏文識別的方法, 并設(shè)計了3種不同的HMM分類器對藏文字丁進(jìn)行識別. 王維蘭等人[20]提出了一種新的多層聯(lián)系子層遞歸神經(jīng)網(wǎng)絡(luò)模型并融合藏文字丁的空間結(jié)構(gòu)特征來進(jìn)行聯(lián)機(jī)手寫藏文識別, 實驗結(jié)果說明該方法可以更好地表征藏文字的各筆劃特征以及筆劃間的空間結(jié)構(gòu)關(guān)系. 雖然這些學(xué)者在早期利用深度學(xué)習(xí)技術(shù)對木刻藏文經(jīng)書、藏文字丁、手寫體藏文進(jìn)行了研究, 但是公開發(fā)表的自然場景下藏文的識別文章只有仁青東主[21]等人研究的基于深度學(xué)習(xí)的自然場景下藏文的識別, 在該研究中雖然采用了基于深度學(xué)習(xí)的序列識別方法CRNN[8]與二維串識別技術(shù)的結(jié)合, 但是在該研究中對自然場景藏文文本行進(jìn)行識別時仍然要對藏文文本行圖像進(jìn)行塊切分, 并沒有完全體現(xiàn)出CRNN算法的優(yōu)勢, 同時在該研究中對自然場景下藏文的檢測只是一筆帶過, 沒有做藏文檢測實驗.
因此本文在沒有開源的自然場景烏金體藏文圖像的情況下, 人工收集和標(biāo)注了自然場景烏金體藏文圖像數(shù)據(jù)集, 并在此基礎(chǔ)上探究適合自然場景烏金體藏文檢測與識別方法. 本文在自然場景烏金體藏文檢測階段對比了不同的場景文字檢測算法, 最后采用可微分的二值化網(wǎng)絡(luò)DBNet[7], 在烏金體藏文識別階段采用基于序列的端到端文字識別算法CRNN[8], 在該階段采用算法合成的全藏字作為字典庫, 并采用修改后的MobileNetV3 Large[22]作為特征提取網(wǎng)絡(luò). 最后在該方法上做了基礎(chǔ)性實驗, 實驗表明在自然場景下烏金體藏文的識別中CRNN算法可以進(jìn)行端到端的識別, 并不需要對藏文文本行進(jìn)行塊切分, 簡化了識別流程.
本文中自然場景下烏金體藏文的識別系統(tǒng)主要分為兩個階段, 一是烏金體藏文文本檢測, 在該階段中采用可微分的二值化網(wǎng)絡(luò)DBNet[7]; 二是烏金體藏文文本識別, 在該階段中采用基于序列的文字識別算法CRNN[8].
如圖1所示, 在烏金體藏文檢測階段將圖片輸入網(wǎng)絡(luò)后, 經(jīng)過特征提取網(wǎng)絡(luò)ResNet-18提取特征和上采樣融合并通過con-cat操作后得到圖1中藍(lán)色的特征圖F, 然后使用F預(yù)測出概率圖P和閾值圖T, 最后通過可微分的二值化算法計算出近似二值圖, 從而得出烏金體藏文檢測結(jié)果. 在烏金體藏文檢測階段, 采用了Liao等人[7]在中英文檢測實驗中在傳統(tǒng)的ResNet-18網(wǎng)絡(luò)[23]的conv_3_x, conv_4_x, conv_5_x后加入可變形卷積增大感受野的范圍, 以此來適應(yīng)縱橫比較大的烏金體藏文檢測.
圖1 DBNet網(wǎng)絡(luò)結(jié)構(gòu)圖
烏金體藏文檢測階段中可微分的二值化過程如式(1)所示, 其中B? 表示近似的二值圖, (i,j)表示概率圖中的坐標(biāo),P、T是網(wǎng)絡(luò)學(xué)習(xí)的概率圖、閾值圖,k是一個梯度縮放因子. 式(1)之所以會改善網(wǎng)絡(luò)性能, 可以從梯度的反向傳播來解釋, 定義一個f(x)如式(2)所示,其中x=Pi,j-Ti,j. 在使用交叉熵?fù)p失的情況下, 正樣本的損失記為l+如 式(3), 負(fù)樣本的損失記為l-如式(4).正、負(fù)樣本的損失對于輸入x的偏導(dǎo)數(shù)分別為式(5)、式(6)所示. 從微分式子可以看出k是梯度增益因子, 梯度對于錯誤預(yù)測的增益幅度很大.
網(wǎng)絡(luò)訓(xùn)練的損失函數(shù)如式(7)所示,Ls為概率圖的損失、Lb為二值圖的損失、Lt為閾值圖的損失. 其中α 和β 的取值分別為1.0和10. 其中Ls和Lb采用二值交叉熵?fù)p失如式(8)所示, 其中Sl是經(jīng)過采樣的數(shù)據(jù)集.Lt采 用的是L1損 失如式(9)所示, 其中Rd為標(biāo)注框經(jīng)過擴(kuò)充后得到的框里的一組像素的索引.
在烏金體藏文識別階段中首先根據(jù)檢測結(jié)果裁剪出烏金體藏文文本塊, 如圖2所示將裁剪出的烏金體藏文文本塊送入MobileNetV3 Large網(wǎng)絡(luò)提取文字特征, 然后使用LSTM對特征序列中的每幀進(jìn)行預(yù)測, 最后采用CTC進(jìn)行轉(zhuǎn)錄并輸出最后的識別結(jié)果.
圖2 CRNN結(jié)構(gòu)圖
因為藏文不僅可以橫向疊加, 還可以縱向疊加, 所以在烏金體藏文識別階段借鑒Du等人[24]在中英文識別實驗中MobileNetV3 Large網(wǎng)絡(luò)的配置, 該配置修改了原始MobileNetV3 Large中除第一個下采樣特征圖的步幅, 將步幅為(2, 2)修改為(2, 1), 將第二個下采樣特征圖的步幅從(2, 1)修改為(1, 1), 以此來保留更多的水平和垂直方向上的信息. 該網(wǎng)絡(luò)配置如表1所示,除了修改下采樣特征圖的步幅, 該網(wǎng)絡(luò)配置也調(diào)整了最大池化層的窗口大小和步幅, 將原來7×7的窗口改為2×2, 步幅由1改為2. 表1中exp size表示膨脹參數(shù);SE表示Squeeze-and-Excite結(jié)構(gòu); NL表示非線性,HS表示h-swish激活函數(shù), RE表示ReLU激活函數(shù);s表示步幅; Bneck模塊中包括1×1卷積、3×3卷積或者5×5卷積、SE結(jié)構(gòu).
表1 MobileNetV3 Large網(wǎng)絡(luò)配置表
用式(10)來表述訓(xùn)練數(shù)據(jù)集, 其中Ii表示訓(xùn)練圖片,li表示圖像中藏文音節(jié)序列的ground truth. 目標(biāo)函數(shù)的構(gòu)建是通過最小化ground truth的條件概率的負(fù)對數(shù)似然函數(shù), 如式(11)式所示. 其中yi是循環(huán)層和卷積層從Ii生成的序列, 該目標(biāo)函數(shù)直接計算輸入圖像和它對應(yīng)的ground truth之間的損失函數(shù), 因此該網(wǎng)絡(luò)可以進(jìn)行輸入圖像與真實的標(biāo)簽序列的端到端的訓(xùn)練.
由于缺乏開源的自然場景烏金體藏文文本圖像數(shù)據(jù)集, 本實驗中網(wǎng)絡(luò)訓(xùn)練所用的數(shù)據(jù)集全是在拉薩街頭人工拍攝的烏金體藏文文本圖像. 這些烏金體藏文文本圖像主要包括了交通標(biāo)志牌、店鋪廣告牌、公交站牌等自然場景烏金體藏文文本圖像. 最終收集了449張烏金體藏文文本圖像, 4321張自然場景烏金體藏文文本塊圖像.
在自然場景烏金體藏文檢測實驗中, 將前期收集的449張自然場景烏金體藏文圖像尺寸統(tǒng)一為608×608, 然后將這449張圖片進(jìn)行數(shù)據(jù)增強最終擴(kuò)充為1796張, 并將這1796張圖像隨機(jī)分為訓(xùn)練集1600張和測試集196張, 使用Labelme軟件對實驗數(shù)據(jù)集進(jìn)行了標(biāo)注. 在此基礎(chǔ)上對比了CTPN[1]、EAST[5]場景文字檢測算法與本文所采用的可微分的二值化網(wǎng)絡(luò)DBNet在烏金體藏文檢測上的效果, 其中成功檢測到烏金體藏文的部分檢測效果如圖3所示, 圖3(a)為CTPN檢測效果, 圖3(b) 為EAST檢測效果, 圖3(c)為DBNet檢測效果. 在測試集上的性能測試結(jié)果如表2所示.
圖3 成功檢測到烏金體藏文的部分圖片展示
因為在本文收集的自然場景烏金體藏文檢測實驗數(shù)據(jù)集圖像中很多烏金體藏文文本行都是傾斜文本,完全水平的烏金體藏文文本較少. 從圖3中可以看出,本文所采用的可微 分二值化網(wǎng)絡(luò)DBNet在真實自然場景下烏金體藏文的檢測效果最好, 且能檢測出傾斜文本. CTPN網(wǎng)絡(luò)只對水平文本檢測效果較好, 不適合傾斜文本的檢測. 而EAST算法能檢測傾斜文本, 但是在實際的測試中出現(xiàn)很多誤檢. 所以在表2的性能測試中, CTPN網(wǎng)絡(luò)的性能較差, 而相比于EAST網(wǎng)絡(luò)本文所采用的檢測網(wǎng)絡(luò)的準(zhǔn)確率最高.
表2 幾種檢測算法在烏金體藏文文本檢測實驗上的性能對比
在自然場景烏金體藏文識別實驗中, 將前期收集的4321張自然場景下烏金體藏文文本圖像塊尺寸統(tǒng)一為32×100, 采用算法合成的全藏字作為轉(zhuǎn)錄的字典,其中包含18 785個藏文音節(jié). 在此基礎(chǔ)上依次進(jìn)行了3組實驗, 但是該實驗無法與現(xiàn)有相關(guān)工作做對比, 主要有以下兩個方面的原因, 一方面因為與自然場景下烏金體藏文識別相關(guān)的論文較少, 無法與其他研究成果進(jìn)行比較; 另一方面因為目前沒有開源的自然場景藏文數(shù)據(jù)集, 都是基于自制的數(shù)據(jù)集進(jìn)行實驗, 沒有可比性. 這3組實驗驗證了本文采用的方法在自然場景烏金體藏文識別上的可行性. 網(wǎng)絡(luò)訓(xùn)練結(jié)束后在測試集上的性能測試如表3所示.
表3 不同特征提取網(wǎng)絡(luò)在烏金體藏文文本識別實驗上的性能對比
采用3.1節(jié)中DBNet網(wǎng)絡(luò)訓(xùn)練出的烏金體藏文檢測模型和實驗3訓(xùn)練出的烏金體藏文識別模型在314張自然場景烏金體藏文圖像上的部分正確檢測到烏金體藏文文本并完全識別正確的結(jié)果可視化為如圖4所示, 圖4(a)的識別結(jié)果為; 圖4(b)的識別結(jié)果為; 圖4(c)的識別結(jié)果為和. 但是其中也存在一些錯誤識別的結(jié)果, 部分特殊示例如圖5和圖6所示. 圖5(a)的識別結(jié)果為第3個音節(jié)的基字識別錯誤, 正確的應(yīng)為“?”; 第5個音節(jié)中“”不符合藏字構(gòu)字規(guī)則; 圖5(b)的識別結(jié)果為第2個音節(jié)錯誤, 應(yīng)為“”, 其中“”是特殊藏字, 第5個音節(jié)錯誤, “”不符合藏字構(gòu)字規(guī)則; 圖5(c)的識別結(jié)果為“”, 第3個音節(jié)后加字下多了一個構(gòu)件, 第4個音節(jié)不符合藏字構(gòu)字規(guī)則.圖6(a)的識別結(jié)果為第1音節(jié)少了下加字, 第2音節(jié)少了下加字“”; 圖6(b)的識別結(jié)果為, 第二個音節(jié)錯誤, 缺下加字, 應(yīng)為“??”; 圖6(c)的識別結(jié)果為, 后者中第4個音節(jié)缺下加字.
圖4 正確的檢測結(jié)果和識別結(jié)果示例
圖5 識別結(jié)果錯誤示例1
圖6 識別結(jié)果錯誤示例2
從表3中可以看出, 隨著數(shù)據(jù)集規(guī)模的增大, 最終在測試集上的識別準(zhǔn)確率有了很大的提升. 在實驗2和實驗3中采用了不同特征提取網(wǎng)絡(luò)進(jìn)行實驗, 實驗結(jié)果表明實驗3采用的特征提取網(wǎng)絡(luò)在烏金體藏文識別上的效果更好. 通過分析在314張自然場景下烏金體藏文圖像上的實際識別效果, 從中可以發(fā)現(xiàn)本文訓(xùn)練出的模型對結(jié)構(gòu)簡單的藏文字符能夠識別正確, 如圖4所示, 證明了該方法在自然場景烏金體藏文識別上的可行性. 但是由于實驗數(shù)據(jù)集規(guī)模太小, 實際的測試結(jié)果中也存在一些識別錯誤的情況, 部分示例如圖5和圖6所示. 從中發(fā)現(xiàn)了一些特殊的現(xiàn)象如下: (1)識別錯誤的結(jié)果中有些音節(jié)如“”、“”、“”等不符合藏字構(gòu)字規(guī)則, 如圖5所示; (2)下加字漏識別現(xiàn)象比較常見, 其中音譯詞“”也會識別錯誤, 如圖6所示; (3)出現(xiàn)特殊藏字“”時會識別錯誤; (4)一些結(jié)構(gòu)極其相似的藏文字符如“”、“”、“”以及“”、“”等在識別時容易出錯. 其中現(xiàn)象(2)和現(xiàn)象(3)是因為特殊藏字 “”和音譯詞“”不符合全藏字中藏字的構(gòu)字規(guī)則, 但也屬于藏字. 現(xiàn)象(1)和現(xiàn)象(4)是因為訓(xùn)練集規(guī)模太小, 網(wǎng)絡(luò)沒有學(xué)習(xí)到復(fù)雜結(jié)構(gòu)藏字和結(jié)構(gòu)相似藏文字符的特征.
本文采用基于殘差網(wǎng)絡(luò)ResNet-18的可微分的二值化網(wǎng)絡(luò)DBNet用于自然場景烏金體藏文的檢測, 采用基于序列的識別算法CRNN用于自然場景烏金體藏文的識別, 在人工收集的烏金體藏文圖像數(shù)據(jù)集的基礎(chǔ)上進(jìn)行了初步的實驗, 實驗表明了該方法在烏金體藏文檢測與識別上具有可行性. 通過分析實驗結(jié)果在現(xiàn)有方法的基礎(chǔ)上可以改善的方面主要有以下幾點:(1)根據(jù)藏文構(gòu)字特點, 在CRNN的轉(zhuǎn)錄層中如何將藏文構(gòu)字規(guī)則引入其中, 以避免識別結(jié)果中出現(xiàn)不符合藏字構(gòu)字規(guī)則的情況; (2)完善詞典, 加入特殊藏字以及音譯詞; (3)如何合成多樣化的自然場景烏金體藏文文本塊以擴(kuò)充訓(xùn)練集提高網(wǎng)絡(luò)的識別準(zhǔn)確率.