1.1引言
傳統光學字符識別主要面向高質量的文檔圖像,此類技術假設輸入圖像背景乾淨、字體簡單且文字排布整齊,在符合要求的情況下能夠達到很高的識別水平。
與文檔文字識別不同,自然場景中的文字識別 -----圖像背景複雜、分辨率低下、字體多樣、分佈隨意等,傳統光學字符識別在此類情況下無法應用。
圖像理解:僅利用一般的視覺元素(如太陽、大海、山、天空等)及其相互關係,容易缺乏足夠的上下文信息約束,難以準確推導出圖像所代表的含義,與一般的 視覺元素不同,文字包含了豐富的高層語義信息。
1.2 相關技術及研究現狀
1.2.1 自然場景文字處理流程
主要包括文字檢測與文字識別。
文字檢測的主要功能爲:從圖像中找到文字區域,並將文字區域從原始圖像中分離出來
文字識別的主要功能爲:從分離出來的圖像上,進行文字識別
文字識別流程:
1)預處理:去噪(濾波算法)、圖像增強、縮放,其目的是去除背景或者噪點,突出文字部分,並縮放圖片爲適於處理的大小
2)特徵抽取:常用特徵:邊緣特徵、筆畫特徵、結構特徵
3)識別:分類器,隨機森林 、SVM、NN
1.2.2 自然場景文字識別的困難與挑戰
文字背景異常複雜、文字類型豐富、分佈隨意、字符分割困難、噪音嚴重
1.2.3 自然場景文字識別的研究現狀
基於字符的識別和基於整個單詞的識別
1.2.3.1 基於字符的識別
Strokelets: A Learned Multi-scale Representation for Scene Text Recognition(CVPR 2014)通過聚類圖像塊來學習中層筆畫特徵,然後使用霍夫(HOG)投票算法檢測字符。在筆畫特徵和HOG特徵的基礎上,使用隨機森林分類器來進行字符分類。
End-to-end scene text recognition(2011)借鑑計算機視覺通用的目標檢測方法,提出了一個新的文本識別系統。他們利用字符置信度以及字符之間的空間約束關係,給出最可能的檢測和識別結果。但是該算法只能用於水平方向排列的文本的檢測識別。
End-to-End Text Recognition with Hybrid HMM Maxout Models(2013)和PhotoOCR: Reading Text in Uncontrolled Conditions(2013)等人通過無監督的二分類技術或有監督的分類器,將單詞圖像分割爲潛在的字符區域。
End-to-End Text Recognition with Hybrid HMM Maxout Models(2013)使用一種複雜的,包含分割、矯正以及字符識別的CNN網絡,結合使用固定詞典的隱馬爾科夫模型(HMM),生成最終的識別結果。
PhotoOCR系統使用基於HOG特徵的神經網絡分類器,對分割得到的候選結果進行打分,使用結合N元語言模型(N-gram)的Beam搜索算法,得到候選字符集合。最後,再進一步使用語言模型和形狀模型對候選字符組合進行重新排序。
Deep Features for Text Spotting(2014)結合了文本一非文本分類器、字符分類器、二元語言模型分類器,對整張圖進行稠密的基於滑動窗口的掃描。最後結合固定詞典,對圖片中的單詞進行分析。
基於字符的識別技術依賴於使用字符分類器對圖像進行逐字符識別,最終將識別得到的字符進行集成,得到圖像中的整個單詞。
1.2.3.2 基於整個單詞的識別
Scene Text Recognition using Higher Order Language Priors以及Large-Lexicon Attribute-Consistent Text Recognition in Natural Images的工作依舊依賴於顯式的字符分類器,但是通過構建一個圖結構來推導整個單詞。這會遇到和基於字符識別方法類似的困難。
Whole is Greater than Sum of Parts: Recognizing Scene Text Words(2013)使用整張文字圖片來識別單詞:他們使用基於梯度的特徵圖與預先製作好的單詞圖像進行對比,利用動態k近鄰來判斷當前圖片所包含的單詞。該方法依賴於一個固定詞典以及預先生成的單詞圖片。
Label embedding for text recognition(2013)使用集成的Fisher向量以及結構化的支持向量機框架來建立圖片和整個單詞編碼的關係。
Word Spotting and Recognition with Embedded Attributes(2014)進一步探索了單詞編碼的概念,他們爲圖片和單詞字符串創建了一個編碼空間。這其實是Supervised mid-level features for word image representation(2014)方法的擴展:顯式利用字符級別的訓練數據來學習中間特徵。
Multi-digit Number Recognition from Street View Imagery using Deep Convolutional Neural Networks(2013)等人使用深度CNN對整張圖片進行編碼,並使用多個位置敏感的字符級分類器來進行文字識別。他們在街景門牌號識別任務中取得了極大的成功。他們還將該模型應用到長達8位的驗證碼識別任務上,並使用了合成的訓練數據對模型進行
訓練。該方法在goggle街景門牌號識別任務中獲得了96%以上的識別率。同時還在對goggle驗證碼識別任務中獲得了99%以上的識別率。
Synthetic Data and Artificial Neural Networks for Natural Scene Text Recognition(2014)和Reading Text in the Wild with Convolutional Neural Networks(2014)對上述模型做了細微變動:取消了預測字符長度的分類器,並引入了結束符表示文字結尾。他們隨後證明了,使用合成的訓練數據訓練出的模型,能夠成功應用到現實世界的識別問題中。將單詞編碼爲向量是一種可行的詞典單詞識別方法,但是在無約束情況下,字符之間可以任意組合。當字符數量足夠多時,基於固定長度向量編碼的方法性能會顯著下降。
但是依然存在一些不足:一些研究將深度學習技術用於單個字符的識別步驟中,但整體框架依舊遵循傳統處理流程設計,因此在其它步驟中依舊會遇到緒論所述問題。Goodfellow等人的研究使用純神經網絡直接完成整個識別流程,取
得了業界領先的成績。但是由於他們需要使用固定大小的圖像作爲輸入,並且將輸入圖像編碼爲固定長度的特徵向量,在圖片中字符較多的情況下,模型的識別精度會顯著下降。另一方面,由於他們的模型沒有對圖片進行顯式地字符定位和分割,因此無法得知每個字符在原圖中所處位置。
1.2.4 現有方法存在的問題
1)大多文字識別方法依賴於人工定義的特徵
雖然有大量工作研究如何定義一組好的文字特徵,但是大部分實際應用的特徵都不具有通用性。在極端情況下(如圖1.3 a),很多特徵幾乎無效或甚至無法提取,如筆畫特徵,形狀特徵,邊緣特徵等。另一方面,定義和提取人工特徵也是一件極爲耗時耗力的工作。
2)脫離上下文的字符識別易造成顯著的歧義
基於字符的識別方法通常以字符爲處理單位,通過分割或者滑動窗口搜索的方法,將單個字符進行分離。然後利用字符分類器來預測字符分類。然而,在複雜情況下,字符的分割非常困難,而強行分割則會破壞字符結構。另外,
符的識別需要上下文的參與,如圖1.3(b)所示。該圖中的單詞爲defence,若將d、f、 n分離後再進行字符識別,識別成功率會明顯下降。
3.簡單的單詞整體識別有着較大的侷限性
基於整個單詞的識別方法直接從整幅圖片中提取特徵,然後進行識別。然而, 該類方法面可能臨以下三個問題:
a)難以應對無約束情況下的識別。多個字符的組合不一定形成字典中的單詞,有很多時候,圖像中的文字由隨機字符組成(如產品型號、驗證碼、商標名稱)。以單詞爲單位進行識別的方法無法應對此類情況。
b)長字符串識別正確率顯著下降。當字符數量增多時(如20個左右),圖片的情況會變得更爲複雜,一些整體識別方法的性能會顯著下降。
c)缺乏字符定位功能。很多時候,文字識別不僅僅需要了解圖像中包含的 文字內容,還需要了解每個字符在原圖中的位置。基於字符的識別方法天然帶有字符定位功能。而有些整體識別的方法則缺失了此類性質。如 Goodfellow等人的整體識別方法。
4.訓練樣本製作繁瑣。
不少算法的訓練依賴於詳細的訓練樣本標註結果:不僅需要知道每張訓練樣本中包含的文字,還需要知道每個文字所處的位置。有些算法還需要結合切分好的單字符訓練樣本、多字符訓練樣本。有些算法爲了進行文字區域非文字區域檢測,還需要製作包含文字的正例樣本和反例樣本。爲了獲得良好的機器學習效果,大部分的機器學習算法都要求儘量使用豐富、大量、貼近真實世界的樣本進行訓練。因此,對樣本製作要求苛刻的識別算法會加大人工工作量,進而難以通用。
2.2基於深度學習的自然場景文字識別框架
2.2.1問題分析
字符分割問題,實現端到端的無約束字符定位和識別。