黃子涵 黃豪 林丹盈 曹洋瑞 張澤填 肖振球
摘要:自然場景圖像中的文字識別,不同于傳統(tǒng)文本字符識別。自然場景圖像中的文字經(jīng)常面臨著視角變化,多字體文本以及場景圖像曝光嚴重等多種因素的影響,因此,難以準確地獲取自然場景圖像中字符信息。該文利用可微分二值化函數(shù)對自然場景圖像進行處理,得到一張易處理二值化圖像,并對二值化圖像進行文本檢測以便機器處理識別,最后利用卷積遞歸神經(jīng)網(wǎng)絡(luò)(CRNN)[1]進行文本識別。該方法不僅提高了自然場景圖像字符識別的準確度,而且解決了生活中多字體文字識別的難點。
關(guān)鍵詞:場景圖像;字符識別;二值化圖像;文本檢測;文本識別
中圖分類號:TP315? ? ? 文獻標(biāo)識碼:A
文章編號:1009-3044(2022)01-0098-03
人類在自然場景中可以快速定位并識別看到的文字信息,但是想要計算機做到和人類一樣是比較困難的。開發(fā)人員一直想要讓機器也能識別圖像中的文字信息。當(dāng)然,對于自然場景來說,圖像中的信息復(fù)雜甚至是低效的,文字旁的物體、光影,以及字體顏色、大小、書寫風(fēng)格,都會給機器識別帶來不同程度的影響。圖像文本識別通常被劃分為兩個部分:文本檢測與文本識別。
1 文本檢測
文本檢測是文本識別首先要做的一步,是必不可缺的一步。要讓機器識別自然場景中獲取的文本信息,要先讓機器知道文本信息的位置?,F(xiàn)在也有很多文本檢測的解決方案,但是在面對復(fù)雜的圖像時,往往抗干擾能力不盡如人意。而且這些圖像通常會有不同字體(例如藝術(shù)文字),不同形狀,嚴重影響了文本的檢測與識別[2]。
1.1 圖像初始化
對于文本識別來說,文字和背景顏色通常是無意義的,反而保留顏色對于機器來說需要處理RGB色域中更多的復(fù)雜參數(shù)。在RGB 中,黑色(0,0,0)而白色(255,255,255),如果只用這兩種顏色來表示圖像依舊可以簡單地勾勒出字符的輪廓。作者使用公式(1)對圖片進行灰度化。
Gray=Red?0.299+Green?0.587+Blue?0.114? ? ? ? ? ? (1)
灰度只是稍稍降低了多余信息字符識別的影響,但作者期望的是圖像只有黑白兩個值,這樣對于機器來說簡單處理也能夠提高識別精度,只要將圖片變成只有黑白的二值化圖片。作者會介紹兩種解決方案,并討論它們的優(yōu)劣。
1.1.1 傳統(tǒng)二值化
預(yù)設(shè)一個二值化閾值 t,如果一個像素點的灰度值大于等于[t]的時候設(shè)置像素點為黑色,否則為白色,如公式 (2),[B]為 1 時是黑色,為 0 時是白色。
[Bi,j1? ? if Gi,j≥t0? ? otherwise? ? ]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? [2]
而這個閾值[t]通常使用整個圖像的灰度值來判斷,如公式 (3), [n]是圖像像素個數(shù)。
[t= i=1nGin]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (3)
這樣做出來的二值化圖像往往不理想,會有大量噪點,如果字符所在的位置有大面積陰影,會導(dǎo)致圖像二值化后字符被陰影覆蓋,被干擾的區(qū)域在糟糕的情況下完全不能進行識別。
1.1.2 微分二值化
1)閾值
通過觀察發(fā)現(xiàn),單純地設(shè)定一個閾值還是過于死板,作者選取的是一個通過整體圖像運算出來的固定閾值,這樣對于局部圖像來說并不合理。比如在遇到陰影的時候,陰影部分往往是超過閾值的,導(dǎo)致陰影部分會全部變黑。局部的不合理導(dǎo)致丟失大量圖像細節(jié),字符是精細信息,丟失細節(jié)會讓識別結(jié)果中的字符缺失。
作者使用了自適應(yīng)閾值的計算方法,來提高整體圖像閾值的魯棒性,避免了局部缺失和噪點過多的情況。如公式(4),[ fsn]是將圖像線性化后,第[n]個像素后面的[s]個像素的灰度總和。
[fsn=i=0s-1Gn-i? ? ? ? ? ? ?]? ? ? ? ? ? ? ? ? ? ? ? [(4)]
自適應(yīng)閾值函數(shù)是公式 (5),[Tn]就是求第[n]個像素點閾值的函數(shù)。
[Tn=1? ?if Gn<fsns100-t1000? ? ? ?otherwise? ? ? ? ]? ? ? ? ? ?[ (5)]
2)可微函數(shù)進行二值
引入一個可微的二值計算函數(shù),做到更“光滑”地進行圖像二值化,以降低圖像的噪點、減少字符缺失。如公式(6),k是一個系數(shù),依據(jù)經(jīng)驗的取值是50。
[ Bi,j=11+e-k(Gi,j-Ti,j)]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (6)
關(guān)于公式 (6) 做出變換,[Gi,j-Ti,j]為[x],那么有[B(x)=11+e-kx],而它與傳統(tǒng)二值化函數(shù)的差別,簡單作圖(1)對比可以知道,可微函數(shù)在黑白相接處更具有光滑性,極大降低了圖像噪點以及信息缺失。
(中間是可微函數(shù)的圖形,左右水平橫線是傳統(tǒng)函數(shù)的圖形)
自此,可以得到原圖、灰度、傳統(tǒng)二值化、可微二值化的對比圖像,如圖 2??梢悦黠@看出利用可微函數(shù)進行二值化可以有效降噪并可將細節(jié)盡可能保留。
1.2檢測文本位置
初始化圖像之后,筆者獲得了一張機器易處理二值化圖像(圖2右下角),但是機器仍舊不知道文本的位置,所以作者需要進行文本檢測,來勾勒出文本的輪廓,以便機器進行后續(xù)處理以及識別。常見的有OpenCV所帶的EAST文本檢測器,這是一個深度學(xué)習(xí)模型,720p的圖像以13幀/秒的速度實時檢測任意方向的文本,并可以獲得很好的文本檢測精度。
在此論文中,作者使用的是一種實時任意形狀的場景文本檢測器(DB),該檢測器在測試過程中展現(xiàn)了較高的性能和優(yōu)秀的結(jié)果返回,圖3示例。通過將用于語義分割的簡單網(wǎng)絡(luò)與所提出的DB模塊相結(jié)合,健壯且快速的場景文本檢測器。從使用DB模塊的性能評估中觀察到,檢測器相對于以前基于分段的最先進方法具有幾個突出的優(yōu)勢[3]。
1)在場景文本上始終獲得更好的性能。
2)比以前的領(lǐng)先方法執(zhí)行得快得多,因為提供了高度健壯的二值化圖,從而顯著簡化了后處理。
3)DB在使用輕量級骨干時效果很好,顯著提高了檢測性能。
2 文本識別
機器獲取文本位置以及形狀后,就要開始主要工作文本識別。最近,社會看到了神經(jīng)網(wǎng)絡(luò)的強大復(fù)興,這主要是由深層神經(jīng)網(wǎng)絡(luò)模型,尤其是深卷積神經(jīng)網(wǎng)絡(luò)(DCNN) 在各種視覺任務(wù)中的巨大成功所激發(fā)的。
但是,最近有關(guān)深度神經(jīng)網(wǎng)絡(luò)的大部分工作都致力于對象類別的檢測或分類。存眷計算機視覺中的一個經(jīng)典題目:基于圖片的序列識別。現(xiàn)實中,場景文本通常以遞次的情況出現(xiàn),而不是單獨地呈現(xiàn)。與常見的識別不同,識別這種類似序列的對象常常需要系統(tǒng)地預(yù)測一系列對象標(biāo)簽。因此這種對象的識別可以被看作是序列識別問題[4]。像DCNN這樣最流行的深度模型不能直接應(yīng)用于序列預(yù)測,由于DCNN模型一般對固定尺寸的輸入和輸出操作,因而不能生成可變長度的標(biāo)簽序列。
此文使用了一種新穎的神經(jīng)網(wǎng)絡(luò)架構(gòu),稱為卷積遞歸神經(jīng)網(wǎng)絡(luò)(CRNN),它融合了卷積神經(jīng)網(wǎng)絡(luò)(CNN)和遞歸神經(jīng)網(wǎng)絡(luò)(RNN)[5] 的優(yōu)點。CRNN 能夠拍攝不同尺寸的輸入圖像,并產(chǎn)生不同長度的預(yù)測。它直接在中文字符級別上運行。此外,由于 CRNN 放棄了傳統(tǒng)神經(jīng)網(wǎng)絡(luò)中使用的完全連接的層,因此它導(dǎo)致了更加緊湊和有效的模型。所有這些特性使 CRNN 成為基于圖像的序列識別的絕佳方法。
關(guān)于標(biāo)簽序列概率的公式 (7):
[pl|y=π:β(π)=1pπ|y? ? ? ? ]? ? ? ? ? ? ? ? [(7) ]
[π]的概率定義為[pπ|yt=1Tytπt] , [ytπt]是在時間戳[t ]處的具有[πt ]標(biāo)簽的概率。
在文本識別基準上的實驗表明,與傳統(tǒng)方法以及其他基于 CNN 和 RNN 的算法相比,CRNN 具有優(yōu)異或極具競爭力的性能。
3總體實驗結(jié)果
作者提供的服務(wù)使用時都需要先輸入一張圖片,此后需要用戶根據(jù)自身需求選擇不同的輸出模式,而輸出模式具有兩種:
3.1 輸出整段的文本結(jié)果
較為適合用于常規(guī)的長整段文本OCR工作,也更加適合用于語言播報對應(yīng)的文本信息。在這種模式下,識別結(jié)果具有高度的上下文邏輯統(tǒng)一性,但是也對圖像的角度,文字的平整度有著更高的要求。例如圖4,獲得識別結(jié)果。
識別結(jié)果被系統(tǒng)以字符串的方式輸出,在這里展示一下結(jié)果??梢钥闯鲆哉蔚姆绞捷敵鐾枰玫膱D像質(zhì)量,否則結(jié)果會嚴重失去邏輯性。
3.2 輸出文本結(jié)果以及其位置坐標(biāo)
這種輸出模式往往更貼近自然場景,不需要文本段落直接有較強的邏輯性,字體的藝術(shù)風(fēng)格往往也可以是多種多樣,但同樣也失去了語言播報的方便性。例如圖5,它的識別輸出結(jié)果同樣也是一張圖片[6]。
結(jié)果圖中會標(biāo)識識別到的文本位置以及輪廓,右側(cè)是對應(yīng)位置的識別后的文本信息[7]。
4 結(jié)束語
自然場景下的文字識別,是計算機領(lǐng)域的一項重要研究,它對生活中抓拍圖像的文字識別、物流單子信息的輸入等面臨復(fù)雜場景下的文字識別都擁有極大的貢獻,可以減少人力、物力的消耗。雖然現(xiàn)如今的文字識別技術(shù)已經(jīng)相當(dāng)成熟,但是自然場景下的文字仍然面臨光照條件、拍攝角度以及圖像曝光嚴重等復(fù)雜因素的影響,識別起來比較困難,準確率不如傳統(tǒng)文本中的文字識別[8]。另外,自然場景圖像還面臨著多字體識別的問題,本文所述基于卷積遞歸神經(jīng)網(wǎng)絡(luò)(CRNN)的文字識別,該方法實現(xiàn)起來簡單,不僅能夠更準確地獲取自然圖像中的字符,而且進一步解決了多字體識別的問題,因而具有較大的現(xiàn)實意義。隨著自然場景圖像文字識別技術(shù)的發(fā)展,文字識別會在各行各業(yè)得到應(yīng)用,從而大大減少人力、物力的消耗,具有巨大的、潛在的建設(shè)性價值。
參考文獻:
[1] 萬萌.基于深度學(xué)習(xí)的自然場景文字檢測與識別方法研究[D].廣州:廣東工業(yè)大學(xué),2019.
[2] 李穎,劉菊華,易堯華.自然場景圖像的字符識別方法[J].包裝工程,2018,39(5):168-172.
[3] Liao M H,Wan Z Y,Yao C,et al.Real-time scene text detection with differentiable binarization[J].Proceedings of the AAAI Conference on Artificial Intelligence,2020,34(7):11474-11481.
[4] Shi B G,Bai X,Yao C.An end-to-end trainable neural network for image-based sequence recognition and its application to scene text recognition[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2017,39(11):2298-2304.
[5] 陳桂安.端到端的自然場景文字檢測與識別神經(jīng)網(wǎng)絡(luò)的研究與實現(xiàn)[D].上海:上海師范大學(xué),2019.
[6] Du Y N,Li C X,Guo R Y,et al.PP-OCR:a practical ultra lightweight OCR system[EB/OL].[2021-03-20].https://www.researchgate.net/publication/344335174_PP-OCR_A_Practical? _Ultra_Lightweight _OCR_System.
[7] 李文軒,孫季豐.基于復(fù)合優(yōu)化的深度玻爾茲曼機的路牌文字圖像識別算法[J].計算機工程與科學(xué),2018,40(1):79-85.
[8] 韓宇.基于CNN及RPN技術(shù)的文字識別應(yīng)用[J].機電信息,2019(21):90-91,93.
【通聯(lián)編輯:唐一東】
收稿日期:2021-10-15
基金項目:本文為2020年大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練省級基金項目“基于自適應(yīng)詞組分類的自然場景文字識別方法研究”(編號 S202010582069)研究成果
作者簡介:黃子涵(1998—),男,廣東廣州人,本科生,研究方向為網(wǎng)絡(luò)工程;黃豪(1997—),男,廣東汕尾人,本科生,研究方向為計算機科學(xué)與技術(shù);林丹盈(2000—),女,廣東揭陽人,本科生,研究方向為物聯(lián)網(wǎng)工程;曹洋瑞(2001—),男,湖南岳陽人,本科生,研究方向為計算機科學(xué)與技術(shù);張澤填(2000—),男,廣東揭陽人,本科生,研究方向為軟件工程;肖振球(1980—),男,廣東梅州人,副教授,研究方向為計算機應(yīng)用。
3145500338226