基於深度學習的自然場景文字識別

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問題分析

文字識別是將圖像信息轉化爲計算機可表示和處理的符號序列的一個過程。本質上,文字識別任務可認爲是一種特別的翻譯過程:將圖像信號翻譯爲“自然語言”。這與語音識別、機器翻譯有着相似之處:從數學角度來看,它們都將一組包含大量噪音的輸入序列,通過自動學習得到的模型,轉化爲一組給定標籤的輸出序列。
    因此,本文結合基於CNN的圖像特徵提取技術和基於RNN的序列翻譯技術,提出了一種新的神經網絡結構,用於自然場景文字識別任務,以達到以下兩個目標:(1)使用自動學習的、結合上下文的特徵取代人工定義的特徵;(2)避免
字符分割問題,實現端到端的無約束字符定位和識別。

2.2.2 框架介紹

    大量的標註問題都可以使用編碼器解碼器結構進行建模。標註任務根據輸入輸出通常可以分爲四種轉換模式:向量到向量、向量到序列、序列到向量以及序列到序列。如對一組特徵進行分類可以認爲是向量到向量轉換、英文到中文的機器翻譯則是序列到序列轉換、對句子分類則可以建模爲序列到向量的轉換。

3.1基於CNN和BiRNN的圖像編碼

在確定CNN結構之後,每個神經元的感受野 也隨之確定。在固定感受野中,提取的局部特徵可能會造成歧義。
CNN提取靜態局部特徵,BiRNN提取上下文特徵(類似Inside-Outside Network)

3.2圖像預處理

預處理包括三步:轉化爲灰度圖、圖像灰度值歸一化、圖像縮放
圖像灰度值歸一化是爲了增加對比度,讓圖像更加清晰
圖像縮放是因爲後續步驟需要圖像保持固定高度,縮放步驟會盡量保持原始圖像的寬高比

4.1基於ARSG的文字解碼

文字解碼包括字符定位和文字識別兩個部分。ARSG通過計算每個註解向量與當前輸出的相關性,顯式的對神經網絡當前的關注點進行建模。
基於CTC模型以及其變種的模型,如RNN翻譯器,是最爲接近ARSG的模型。此類模型使用動態規劃技術對生成結果進行優化。

發佈了21 篇原創文章 · 獲贊 16 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章