OCR(Optical Character Recognition,光學字符識別)的概念早于1920年代便被提出,一直是模式識別領域中重要的研究方向。隨著電子設備的快速更新迭代,以及移動互聯網的快速發展,OCR有了更為廣泛應用,從以前的掃描字符識別,到現在場景識別。
隨著深度學習的崛起,基于這一技術的OCR識別框架以另外一種新的思路迅速突破了原有的技術瓶頸(如文字定位、二值化和文字分割等),并已在工業界得到廣泛應用。
傳統OCR技術框架主要分為五個步驟:
第一步:文本定位,接著進行傾斜文本矯正;
第二步:分割出單字后,并對單字識別;
第三步:基于統計模型(如隱馬爾科夫鏈,HMM)進行語義糾錯。
按處理方式劃分為三個階段:預處理階段、識別階段和后處理階段。其中關鍵在于預處理階段,預處理階段的質量直接決定了最終的識別效果,因此這里詳細介紹下預處理階段。
預處理階段中包含了三步:
1、定位圖片中的文字區域,而文字檢測主要基于連通域分析的方法,主要是利用文字顏色、亮度、邊緣信息進行聚類的方式來快速分離文字區域與非文字區域,較為流行的兩個算法分別是:
最大極值穩定區域(MSER)算法及筆畫寬度變換(SWT)算法,而在自然場景中因受到光照強度、圖片拍攝質量和類文字背景的干擾,使得檢測結果中包含非常多的非文字區域,而目前從候選區域區分出真正文字區域主要兩種方法,用規則判斷或輕量級的神經網絡模型進行區分;
2、文本區域圖像矯正,主要基于旋轉變換和仿射變換;
3、行列分割提取出單字,這一步利用文字在行列間存在間隙的特征,通過二值化并在投影后找出行列分割點,當在文字與背景的區分度較好時,效果很好,而拍攝的圖片中光照、攝像質量的影響,并且文字背景難以區分時,常造成錯誤分割的情況。
目標物體定位并矯正;诂F有的先驗信息,定位最后的方法為采用模板關鍵點特征匹配的方法,并利用模板上特征點及目標圖像特征點坐標之間的關系進行透視變換,以定位目標物體。接著,基于四角的坐標,進行旋轉、仿射、尺寸的變換,并提取出目標物體的俯視圖。
因文字位置相對固定,接著便分割出文字區域,二值化后,行列分割出單個字符。這里的技術難點在于二值化,二值化效果的好壞直接影響字符分割,并最終影響識別結果。受光照和拍攝質量的影響,全局二值化難以設置統一的閾值,而自適應二值化算法易受到陰影及模糊邊界的干擾。所以在這邊嘗試過許多方法,測試下來未發現在任何情形下效果都滿足要求的方法。
分割出單字后接著用分類器進行識別,并在這步基于統計上的先驗信息定義了一個簡單的優化函數,可看做1-gram語言模型。先驗信息為:2400(總共660273)漢字的使用頻率之和為99%以上。定義的優化函數為:
傳統OCR冗長的處理流程以及大量人工規則的存在,使得每步的錯誤不斷累積,而使得最終識別結果難以滿足實際需求。接下來討論基于深度學習的OCR。
基于深度學習的OCR識別框架
目前,從技術流程上來說,主要分為兩步,首先是檢測出圖像中的文本行,接著進行序列識別。可見,基于深度學習的OCR識別框架相比于傳統OCR識別框架,減少了三個步驟,降低了因誤差累積對最終識別結果的影響。
文本行檢測,其又可分為水平行文字檢測算法與傾斜文字行檢測算法。這里主要介紹下Tian提出算法CTPN。主要思路是將文本行識別看做一個序列識別問題,不同于一般的目標檢測問題,引入RNN來利用上下文的信息。
具體流程為:
1、用VGG16的5個卷積層得到特征圖(feature map,W*H*C);
2、 在Conv5的feature map的每個位置上取3*3*C的窗口的特征,這些特征將用于預測該位置k個anchor(anchor的定義和Faster RCNN類似)對應的類別信息,位置信息;
3、將每一行的所有窗口對應的3*3*C的特征(W*3*3*C)輸入到RNN(BLSTM)中,得到W*256的輸出;
4、將RNN的W*256輸入到512維的fc層;
5、fc層特征輸入到三個分類或者回歸層中。第二個2k scores 表示的是k個anchor的類別信息(是字符或不是字符)。第一個2k vertical coordinate和第三個k side-refinement是用來回歸k個anchor的位置信息。2k vertical coordinate表示的是bounding box的高度和中心的y軸坐標(可以決定上下邊界),k個side-refinement表示的bounding box的水平平移量。
這邊注意,只用了3個參數表示回歸的bounding box,因為這里默認了每個anchor的width是16,且不再變化(VGG16的conv5的stride是16);貧w出來的box如Fig.1中那些紅色的細長矩形,它們的寬度是一定的;
6、用簡單的文本線構造算法,把分類得到的文字的proposal(圖Fig.1(b)中的細長的矩形)合并成文本線。
聯系我們:
聯系人:段先生 15050120083
關注我們:雙宇智能
※聲明:本文內容來源于百度文庫,如涉及作品版權問題,請及時聯系我們,我們將刪除內容以保證您的權益。