劉潔芯,陳虹光,鄧成梁
(1.西南交通大學希望學院信息工程系,成都610000;2.成都信息工程大學軟件工程學院,成都610000)
(1)研究背景與意義
文本作為人類文明的基石,可以有效可靠地超越時空限制傳遞信息。因此,從自然場景中進行自動文本識別,逐漸成為計算機視覺中重要的研究領域。在自然場景中識別文本,稱為場景文本識別(Scene Text Recognition,STR),已成為廣泛工業(yè)應用中的重要任務。隨著科技日新月異的發(fā)展,每天都有大批紙質(zhì)表格、票據(jù)、檔案等文檔圖片不斷產(chǎn)生。為了使紙質(zhì)文獻資料能更好保存、傳播與利用,我們需要將這些品類繁多而大量的紙質(zhì)文檔圖片以電子文本文檔的形式存儲。OCR(Optical Character Recognition)利用光學技術和計算機技術將印刷文本轉(zhuǎn)換為計算機可接受且易于理解的格式,相比人工錄入模式,其速度較快,而且對質(zhì)量較好的文檔圖像識別率達到了98%以上[1]。但由于實際場景出現(xiàn)的多樣文本外觀和外界環(huán)境的干擾,大多數(shù)傳統(tǒng)的OCR方法在STR任務上都無法達到良好的效果。
從二十世紀60年代初期起,國內(nèi)外研究者對基于自然場景圖像中的文本檢測做了廣泛的研究,取得了大量研究成果。傳統(tǒng)OCR文本檢測識別方法包含圖像輸入、預處理、字符切割、字符識別、版面恢復、后期處理等步驟,見圖1。
圖1傳統(tǒng)OCR工作流程圖
而除了文本檢測,其他步驟較為固定[1]。因此,傳統(tǒng)OCR方法的研究重點在于如何提升文本檢測準確度。
(2)自然場景文本檢測的難點
文本的自然場景圖像由多樣的文本區(qū)的和復雜的非文本區(qū)組成,如圖2所示。
文本檢測的困難主要存在以下三個方面[2-3]:①背景的復雜性和干擾:自然場景的背景幾乎是不可預測的??赡艽嬖谂c文本極為相似的圖案(例如,樹葉、交通標志、磚塊、窗戶和柵欄),或由異物引起的遮擋,這可能會導致混亂和錯誤。②自然場景中文本的多樣性和可變性:自然場景下的文本往往包含不同語種、字體結構、大小、顏色、方向、形狀,等等。③不完美的成像條件:在較差的成像條件下,文本可能由于不適當?shù)呐臄z距離或角度而具有較低的分辨率和嚴重的失真,或者由于無法聚焦或晃動而變得模糊,或者由于光線不足而產(chǎn)生噪點,或者由于高光或陰影產(chǎn)生遮擋,等等。
圖2復雜的圖片
由于文本檢測是OCR技術中重要的環(huán)節(jié),國內(nèi)外的研究者做了大量的研究工作,并提出了許多文本檢測方法[2]。文本檢測方法大體上可以歸納為:基于模式識別的文本檢測方法、基于特征提取的自然場景文本檢測方法、基于深度學習的自然場景文本檢測方法。
由于文字數(shù)量大、結構復雜,從而特征也多種多樣。文字特征分為結構特征和統(tǒng)計特征,前者描述漢字的輪廓結構信息,而后者描述用統(tǒng)計方法從文字抽象出來的矢量特征。因此,基于模式識別的文本檢測法也分為基于結構模式和基于統(tǒng)計模式。
(1)基于結構模式的識別方法
漢字是一種特殊的模式,其結構比較復雜,但具有相當嚴格的規(guī)律性,含有豐富的結構信息。結構模式識別是指提取含這種信息的結構特征及其組合規(guī)律,作為識別漢字的依據(jù)。
1999年,王秋讓等人[4]提出對圖像進行二值化,再用數(shù)學形態(tài)學中的閉合和開啟算子從所得的二值圖像中提取模式的封閉邊緣,如圖3所示。
隨后通過對此邊緣進行直線逼近得一多邊形,最后將此多邊形與各模板進行匹配而完成對模式的正確識別。
用這種方法來描述漢字字形結構在理論上是比較恰當,其主要優(yōu)點在于對字體變化的適應性強,區(qū)分相似字能力強;但在實際應用中,面臨的主要問題是抗干擾能力差,如實際得到的文本圖像中存在傾斜、扭曲、斷裂、粘連、對比度差等干擾。這些因素直接影響到結構基元的提取。此外結構模式識別的描述比較復雜,匹配過程的復雜度因而也較高。所以在印刷體漢字識別領域中,純結構模式識別方法已經(jīng)逐漸衰落,句法識別的方法正日益受到挑戰(zhàn)[5]。
圖3提取的封閉邊緣
(2)基于統(tǒng)計模式的識別方法
統(tǒng)計模式識別方法是用概率統(tǒng)計模型提取待識別漢字的特征向量,然后按照一定準則所確定的決策函數(shù)進行分類判決。常用的方法有模板匹配、特征變換、外圍特征、特征點特征。表1對幾種經(jīng)典統(tǒng)計模式的方法進行了分析。
表1 經(jīng)典統(tǒng)計模式識別優(yōu)缺點分析
模板匹配是統(tǒng)計模式識別方法中最基本和應用最廣泛的識別方法。其要點是將漢字的圖像直接作為特征,與特征庫中的模板相比,相似度最高的模板類即為識別結果。在開源計算機視覺庫OpenCV里,平方差模板匹配的定義為:
為最小值處即為匹配目標。
2015年,Ryan[6]采用了兩種模板匹配算法,分別是3×3算法和逐像素算法。3×3算法將圖像劃分為9個正方形,然后根據(jù)筆劃類型對每個正方形進行編碼。每種筆畫類型提供一個標識,并創(chuàng)建識別字符的模式,如圖4所示。
圖4模板匹配算法
2016年,Mayan[7]利用該模板匹配塊將原始圖像的每個像素值與相應存儲的模板的像素值進行比較,并返回模板度量值作為輸出。該模型中存儲的模板包括英語的各種字體。2002年,Huo等人[8]提出通過在一個空間分辨率均勻采樣的位置使用一個波長提取Gabor特征,為每個字符圖像形成一個特征向量。利用Gabor特征作為原始特征,構造了幾種中文OCR引擎。
2000年,任金昌等人[9]提出了一種基于多級分類的印刷體文字快速識別算法,該算法首先采用36×36,點陣進行歸一化,從而有效地減少了計算量和字典容量;其次是采用改進的粗外圍特征,并進行二重分割,以提高特征的穩(wěn)定性;最后在各級分類中采用了不同的判別準則,包括絕對值距離、歐氏距離及相似度準則,以適應于時間、準確性的不同要求,其結果證明實際的正確率達95%。
統(tǒng)計模式識別具有良好的魯棒性(Robustness),適合有噪聲的文字,它一般采用多維特征值累加的方法,抗干擾性強,匹配與分類的算法簡單,易于實現(xiàn),減少噪聲的影響。但是,累加也會使相似漢字的結構的差異消失,細分能力較弱,區(qū)分相似字能力較差存在很大的困難。
自然場景文本區(qū)域檢測方法是根據(jù)圖像自身的特征(如灰度、紋理、邊緣等)進行特征提取,再送入分類器做分類以實現(xiàn)文本候選區(qū)域檢測,如圖5所示。
傳統(tǒng)非深度學習候選區(qū)域的檢測方法大致可以歸為基于區(qū)域和基于連通區(qū)域兩類。
(1)基于區(qū)域的文本候選區(qū)域提取方法
基于區(qū)域的方法是利用顏色同質(zhì)性、強邊緣性等局部特性來進行文本區(qū)域提取的方法。其中,基于邊緣特征是該類方法的典型。
圖5基本流程圖
邊緣特征的方法利用文字區(qū)域的邊緣信息來區(qū)分文本區(qū)域與背景區(qū)域。由于圖像中的文本和非文本區(qū)域通常具有高對比度,因此可以通過檢測文本區(qū)域的邊緣來實現(xiàn)文本區(qū)域分類。獲得圖像的邊緣后,再根據(jù)圖像邊緣密度,利用文本區(qū)域的幾何結構等特征來判斷是否為文本區(qū)域。常見的邊緣檢測算子有梯度算子[13]、Sobel算子[14]、Canny算子[15]等。
2004年,Chen等人[16]首次提出了兩步的文本區(qū)域定位思路。首先采用Canny濾波器獲得輸入圖像的水平和垂直邊緣圖,通過不同的數(shù)學形態(tài)算子將水平邊緣和垂直邊緣分別連接成塊,得到候選文字區(qū)域。其次,提取備選文本塊的微分、距離映射、恒定梯度等特征,再使用多層感知器(Multi-Layer Perceptron,MLP)和SVM分類器對備選文本進行分類。2009年,Jung[17]采用Canny算子檢測文本區(qū)域,先通過形態(tài)學處理后獲得候選文本區(qū)域;在驗證階段,提取區(qū)域特征(灰度特征、N-Gray、CGV(Consistent Gradient Variance)),利用SVM分類器對候選文本區(qū)進行分類,并且根據(jù)SVM的輸出結果進一步精確提取本區(qū)域。
(2)基于連通區(qū)域的文本候選區(qū)提取方法
自然場景的文本檢測方法通常有像素灰度值近似相等、顏色近似相同以及筆畫寬度相近等特點。對自然場景文本圖像進行特定處理后,文本中的相鄰像素在其空間結構上表現(xiàn)出連通性。基于連通區(qū)域的方法通過檢測圖像中的連通區(qū)域來獲得文本候選區(qū)域。首先將圖像分割成若干個連通區(qū)域,然后對每個連通區(qū)域的幾何特征進行分析,利用文本候選區(qū)域的邊緣密度、輪廓梯度等特征,通過設定判斷規(guī)則,或提取文本區(qū)域的描述特征并結合已訓練好的分類器對其進行判斷,將之分類為文本區(qū)域與背景。常用方法有穩(wěn)定極值區(qū)域(Maximally Stable Extremal Regions,MSER)、二值化、閾值分割等。
圖6
2015年,Venkateswarlu[18]從輸入圖像中檢測最大穩(wěn)定極值區(qū)域(MSER)。然后將MSER區(qū)域的圖像輸入到Canny邊緣檢測器,會在文本區(qū)域上產(chǎn)生邊緣,通過濾波技術來移除圖像的剩余部分,最后將文本區(qū)域圖像輸入到后續(xù)OCR產(chǎn)生實際文本,如圖6所示。
2016年Islam[19]提出了一種準確有效的檢測增強極大穩(wěn)定極值區(qū)域(MSER)作為主要候選文本區(qū)域的算法,并且這些候選區(qū)域按行程寬度變化進行過濾,以去除筆劃寬度表現(xiàn)出過多變化的區(qū)域。其流程為:首先對自然圖像進行預處理,然后檢測MSER之后,產(chǎn)生Canny邊緣和MSER區(qū)域的交叉點以定位甚至更可能屬于文本的區(qū)域。最后,將所選文本區(qū)域作為OCR技術的輸入,以使文本可編輯。綜上,表2為基于邊緣特征的識別方法所述。
表2
基于極值區(qū)域的方法作為一種快速有效的候選連通區(qū)域提取技術,具有尺度不變性、對文字大小不敏感等優(yōu)勢,成為近年主流的算法之一;但是該方法存在極值區(qū)域的提取和極值區(qū)域數(shù)量的控制方面的問題。
深度學習是機器學習算法的一個近年發(fā)展迅猛的領域,其核心在于模擬大腦中神經(jīng)網(wǎng)絡的學習過程進行訓練學習的過程[26]。深度學習中每層卷積神經(jīng)網(wǎng)絡的特征由上一層的局部區(qū)域通過共享權值和卷積核獲得。這使得卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network,CNN)更適合于學習和表示圖像特征。與傳統(tǒng)的“手動特征提取+分類器”目標識別框架不同,深度學習[27-30]網(wǎng)絡通過組合底層特征來形成更抽象的高級別來表示屬性類別。傳統(tǒng)目標檢測方法對于文本檢測任務來說并不理想,主要原因有:①文本行是有方向性的;②一些藝術字體使用曲線文本;③背景圖像干擾豐富。而基于深度學習的方法最大的優(yōu)勢是可以避免繁瑣且低效的人工特征工程。
基于分類的卷積神經(jīng)網(wǎng)絡目標檢測有:窗口滑動產(chǎn)生候選區(qū)域或者整個檢測區(qū)域直接輸入到卷積神經(jīng)網(wǎng)絡作為候選區(qū)域圖像分類后進行處理。該類方法的研究重點在于如何提升卷積神經(jīng)網(wǎng)絡的特征提取能力、特征選擇能力以及特征分類能力,以提高圖像識別的準確度。
2016年,Zhi Tian[31]提出一種垂直定位機制的文本檢測框架CTPN(Connectionist Text Proposal Network),如圖7所示。
圖7 CTPN工作流程
CTPN結合CNN與LSTM深度網(wǎng)絡,能有效地檢測出復雜場景的橫向分布的文字,是目前比較好的文字檢測算法。該算法改進了Faster R-CNN,提出檢測小框代替直接檢測大文本框;CTPN還提出了在文本檢測中加入RNN來進一步提升效果,以及加入邊界優(yōu)化提升文本框邊界預測精準度。但其對非水平的文本的檢測效果并不好。
CTPN并沒有針對多方向的文本檢測有深入探討,對于任意角度的文本檢測,2017年Shi[32]提出的Seg-Link給出了一個新的算法思路。該算法既融入CTPN小尺度候選框的思路,又加入了SSD算法[33]的思路,達到了當時自然場景下文本檢測最好的效果。算法要點如下:先檢測文本或者文本行的局部區(qū)域,再將這些局部區(qū)域連接起來形成一個完整的單詞或者文本行。它將文字檢測任務分解成兩個子任務:檢測文字片段和預測片段之間的連接關系。其中,片段是具有方向的矩形包圍盒,它們覆蓋著單詞或者文本行的一部分;片段之間的連接關系是指兩個片段是否屬于同一個單詞或者文本行。2017年,Liao[34]提出采用基于SSD的TextBoxes,通過預測文字包圍盒的置信度和該包圍盒與默認包圍盒的坐標偏置,直接在多個特征層輸出單詞包圍盒的坐標信息。以上框架的思路都是把完整文本行先分割檢測再合并的。2017年,Zhou等人[35]提出省略模型中常見的區(qū)域建議、單詞分割和子塊等步驟的EAST(Efficient and Accurate Scene Text Detector)模型,只分為FCN生成文本行參數(shù)階段和局部感知NMS階段,網(wǎng)絡的簡潔使得檢測的準確性和速度都有了進一步的提高。表3-表4對這幾種經(jīng)典的方法優(yōu)缺點進行比較。
表3
表4
由于文字具有高層次語義信息,文字檢測識別的發(fā)展具有重要的價值。為了分析文本檢測中的問題,本文綜合近幾年復雜場景下的幾種典型和常見的圖像文字檢測算法和框架,并介紹了其發(fā)展過程、原理、檢測效果及優(yōu)缺點。通過對以上各類算法的總結發(fā)現(xiàn),文字檢測識別技術的正確率越來越高,但依然有召回率低的問題。
在未來的研究中,傳統(tǒng)的自然場景文本檢測方法仍可能通過創(chuàng)新的模式識別方法實現(xiàn)識別精度的突破;近幾年效果最好的主流算法都采用了基于深度學習的方法。自然場景文字檢測算法的發(fā)展趨勢可能有以下幾個方面:
(1)深度學習得到的特征可以很好地表征目標的各類信息,因此基于深度學習提取文字候選是未來發(fā)展的一個趨勢,如何有效地使用這些特征是未來重點研究的方向。
(2)深度學習需要大量的訓練數(shù)據(jù),因此未來必然會出現(xiàn)大量標定好的文本數(shù)據(jù)集用于訓練深度網(wǎng)絡。
(3)現(xiàn)有的目標檢測方法中的檢測框架是將候選區(qū)域生成、候選區(qū)域圖像分類和后處理集成于統(tǒng)一的框架,該類方法實現(xiàn)了端到端的統(tǒng)一。文字檢測也是候選區(qū)域圖像分類和后處理的合成,因此未來必然會出現(xiàn)多種基于深度學習的統(tǒng)一候選區(qū)域圖像分類和后期處理的文字檢測網(wǎng)絡模型。
(4)隨著智能設備和移動互聯(lián)網(wǎng)得發(fā)展,未來人們生活得方方面面都將依賴于智能終端設備??紤]到智能終端設備的功耗和處理能力,提供實時的文字檢測算法也將成為未來的一大需求,因此如何平衡速度和檢測精度也是未來發(fā)展的一個方向。