OCR文字識別,即STR場景文本檢測 網絡模型發展概述

隨着深度學習的發展,計算機視覺領域湧現出了很多端到端模型,圖像、場景文字檢測識別模型也在此基礎上有個長遠發展。

1、基礎網絡框架

   在CV領域,圖像識別、檢測的基礎是特徵提取,經典的圖像分類模型包括VGGNet,ResNet、InceptionNet(GoogleNet)、DenseNet、Inside-Outside Net、Se-Net等,這些網絡可以作爲基礎網絡(通用網絡模型),對輸入圖像進行特徵提取。

(1)FCN網絡:全卷積網絡,Fully convolution network,擅長提取圖像細節特徵

        全卷積網絡是不使fc全連接層的基礎網絡,最初用於語義分割。 

        特點:用反捲積、上池化、亞像素卷積層等手段進行上採樣操作,將特徵矩陣恢復。

        FCN網絡最後一層特徵圖的像素分辨率較高,在場景文字識別中需要依賴清晰的文字筆畫來區分不同的字符(特別是漢字),FCN網絡很適合用來提取圖片上文本特徵。FCN用於文字識別時,最後一層特徵圖每個像素被分成文字行(前景)和非文字行(背景)兩個類別。

(2)STN網絡:空間變換網絡,Spatial Transformer Networks,擅長做圖形矯正

      對輸入特徵圖進行空間位置矯正得到輸出特徵圖,此處不詳細展開。

2、檢測網絡框架

檢測網絡按照訓練過程可分爲one-stage和two-stage方法,按照是否需要anchor可分爲anchor-based和anchor-free方法。

(1)Faster RCNN網絡-two-stage

        RPN網絡尋找proposal建議框,ROI pooling爲多種尺寸參考框產生歸一化固定尺寸區域特徵,分類、迴歸網絡。

        損失函數:多目標損失函數,RPN分類(前後景)、迴歸損失函數,最後的分類(種類)和座標迴歸loss。

        優化目標:通過loss反向傳播,調節候選框座標,增大與標註對象bbox的IOU。

(2)SSD網絡 -One stage

        SSD全稱Single Shot MultiBox Detector,2016年被提出,全卷積目標檢測算法。

        特點:多尺度融合,在不同尺度的feature maps上生成anchor,進行分類和迴歸,NMS最大值抑制得到最終結果。

(3)YoloV3 - One stage

(4)CenterNet - anchor free

3、文本檢測模型

目的:在圖片中,準確找出文字所在區域。

存在問題:直接套用目標檢測通用方法如Faster RCNN系列,SSD系列,Yolo系列等方法,文字檢測效果不佳。

原因:(1)長寬比大:相比於常規的目標檢測物體,文字檢測行長度大,長寬比範圍大。

(2)文本行具有方向性:常規物體bbox四元組描述(x,y,w,h)或(x1,y1,x2,y2)描述方式信息量不充足。

(3)自然場景複雜,如某些局部圖像與字母形狀類似,需要參考圖像全局信息避免誤報。

(4)文本行彎曲,手寫字體變化模式多。

(5)背景干擾多。

改進方向:近年來,很多基於深度學習的方法被提出。從特徵提取、區域建議網絡(RPN)、多目標協同訓練、Loss改進、非極大值抑制(NMS)、半監督學習等角度對常規物體檢測方法進行改造,極大提升了自然場景圖像中文本檢測的準確率。

改進方法:

(1)CTPN:用BLSTM模塊提取字符所在圖像上下文特徵,以提高文本塊識別精度。
(2)RRPN等方案中,文本框標註採用BBOX +方向角度值的形式,模型中產生出可旋轉的文字區域候選框,並在邊框迴歸計算過程中找到待測文本行的傾斜角度。
(3)DMPNet等方案中,使用四邊形(非矩形)標註文本框,來更緊湊的包圍文本區域。
(4)SegLink  將單詞切割爲更易檢測的小文字塊,再預測鄰近連接將小文字塊連成詞。
(5)TextBoxes等方案中,調整了文字區域參考框的長寬比例,並將特徵層卷積核調整爲長方形,從而更適合檢測出細長型的文本行。
(6)FTSN方案中,作者使用Mask-NMS代替傳統BBOX的NMS算法來過濾候選框。
(7)WordSup方案中,採用半監督學習策略,用單詞級標註數據來訓練字符級文本檢測模型。

4、文本檢測(detection)代表模型詳述

(1)CTPN模型   Detecting Text in Natural Image with Connectionist Text Proposal Network

          目前流傳最廣,影響最大的開源文本檢測模型,可以檢測水平或微斜的文本行。

       前端:VGG16作爲backbone提取字符的局部圖像特徵

       中間:BLSTM提取字符序列上下文特徵

       後端:FC全連接層,經預測分支輸出各個文字塊的bbox座標值和分類結果概率值(置信度)。

       數據後處理:合併相鄰的小文字塊爲文本行。

              preview

(2)RRPN模型 Arbitrary-Oriented Scene Text Detection via Rotation Proposals

      RRPN, Rotation Region Proposal Networks 基於旋轉區域候選網絡的方案。

      將文本行旋轉因素(角度傾斜)嵌入區域候選網絡,如Faster RCNN。

      標籤:文本區域ground truth爲(x,y,w,h,θ)旋轉邊框,(x,y)爲文本框中心。

      訓練:首先生成含有文本方向角的傾斜框;bbox迴歸,學習文本方向角。

      創新點:提出RROI,旋轉感興趣區域池化層,將任意方向的區域建議先劃分成子區域,然後對這些子區域分別做max pooling、並將結果投影到具有固定空間尺寸小特徵圖上。

                         previewpreview

(3)FTSN模型  Fused Text Segmentation Networks for Multi-oriented Scene Text Detection

         FTSN(Fused Text Segmentation Networks)模型使用分割網絡支持傾斜文本檢測。

       backbone: ResNet-101,多尺度融合

       標籤:文本區域bbox,像素掩碼

       訓練:像素預測和邊框預測多目標聯合訓練。

       創新點:提出Mask-NMS,基於文本實例間像素級重合度,代替傳統基於bbox重合度的NMS方法。

(4)DMPNet 模型  Deep Matching Prior Network: Toward Tighter Multi-oriented Text Detection

         DMPNet(Deep Matching Prior Network)使用四邊形(非矩形)來更緊湊地標註文本區域邊界,對傾斜文本塊檢測效果更好。

       ① anchor的產生:文本區域proposal,除正方形,還有傾斜四邊形。

              preview

      ② 基於像素點採樣的Monte-Carlo方法:快速計算四邊形候選框與標註框間的面積重合度

      ③ 計算四個頂點座標到四邊形中心點的距離,將它們與標註值相比計算出目標loss。文章中推薦用Ln loss?來取代L1、L2 loss,從而對大小文本框都有較快的訓練迴歸(regress)速度。

(5)EAST 模型 An Efficient and Accurate Scene Text Detector

    多尺度融合,像素級文本塊預測

    標籤:支持兩種,旋轉矩形框(x,y,w,h,θ)和任意四邊形

    訓練:對於旋轉矩形框標註,訓練時會對特徵圖中每個像素預測其到矩形框四邊的距離,以及矩形框的方向角。

              對於四邊形標註,訓練時會對特徵圖中每個像素預測其到四個頂點的座標差值。

根據開源工程中預訓練模型的測試,該模型檢測英文單詞效果較好、檢測中文長文本行效果欠佳。或許,根據中文數據特點進行鍼對性訓練後,檢測效果還有提升空間。

(6)Seglink模型 Detecting Oriented Text in Natural Images by Linking Segments

先將每個單詞切割爲更易檢測的有方向的小文字塊(segment),然後用鄰近連接(link )將各個小文字塊連接成單詞。

(7)Pixel Link模型 Detecting Scene Text via Instance Segmentation

 FCN全卷積網路,backbone VGG16。

首先,藉助於CNN 模塊執行兩個像素級預測:一個文本二分類預測,一個鏈接二分類預測。接着,用正鏈接去連接鄰居正文本像素,得到文字塊實例分割結果。然後,由分割結果直接就獲得文字塊邊框, 而且允許生成傾斜邊框。

(8)Textboxes/Textboxes++模型  TextBoxes: A Fast Text Detector with a Single Deep Neural Network

                                                           TextBoxes++: A Single-Shot Oriented Scene Text Detector

Textboxes 基於SSD,端到端,速度快。

使用長寬比大的anchor初始值;長條形卷積核代替常見的正方形卷積核;在垂直方向增加候選框,防止漏檢文本行;在多尺度特徵圖上並行預測文本框,檢測不同大小的字符塊;NMS過濾。

Textboxes++是Textboxes的升級版本,目的是增加對傾斜文本的支持。

標註:由原始的文本框標註方式,改爲旋轉矩形框和不規則四邊形。

對設置anchor長寬比、特徵圖卷積核形狀做出調整。

(9)wordSup模型  WordSup: Exploiting Word Annotations for Character based Text Detection

存在問題:在數學公式圖文識別、不規則形變文本行識別等應用中,字符級檢測模型是一個關鍵基礎模塊。由於字符級自然場景圖文標註成本很高、相關公開數據集稀少,導致現在多數圖文檢測模型只能在文本行、單詞級標註數據上做訓練。

解決方法:WordSup提出了一種弱監督的訓練框架, 可以文本行、單詞級標註數據集上訓練出字符級檢測模型。

                                    preview

 

5、文本識別(Rcognition)模型

目標:從已分割出的文字區域中識別出文本內容

(1)CRNN模型  An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application to Scene Text Recognition

CRNN,Convolutional Recurrent Neural Network,目前較爲流行的文本識別模型。

特點:CNN特徵提取層,BLSTM序列特徵提取層,端到端聯合訓練,BLSTM和CTC學習字符圖像中的上下文關係。

(2)RARE 模型 Robust Scene Text Recognition with Automatic Rectification

      識別變形的圖像文本時效果很好。

模型預測將輸入圖像首先要被送到一個空間變換網絡中做處理,矯正過的圖像然後被送入序列識別網絡中得到文本預測結果。

                       preview

 

6、端到端 end-to-end模型

    訓練一個網絡,同時完成文字的檢測和識別,Detection + Recognition

(1)FOTS Rotation-Sensitive Regression:FOTS: Fast Oriented Text Spotting with a Unified Network

     檢測和識別共享卷積特徵層;引入旋轉感興趣目標於RROI(ROIRotate);可以從卷積特徵圖中產生定向文本區域,支持傾斜文本行檢識別。

                       preview

                     

                                preview

(2)STN-OCR模型  STN-OCR: A single Neural Network for Text Detection and Text Recognition

    在它的檢測部分嵌入了一個空間變換網絡(STN)來對原始輸入圖像進行仿射(affine)變換。利用這個空間變換網絡,可以對檢測到的多個文本塊分別執行旋轉、縮放和傾斜等圖形矯正動作,從而在後續文本識別階段得到更好的識別精度。在訓練上STN-OCR屬於半監督學習方法,只需要提供文本內容標註,而不要求文本定位信息。作者也提到,如果從頭開始訓練則網絡收斂速度較慢,因此建議漸進地增加訓練難度。STN-OCR已經開放了工程源代碼和預訓練模型。

 

參考:https://zhuanlan.zhihu.com/p/38655369

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章