文本檢測綜述

OCR(Optical Character Recignition) 光學字符識別

文本檢測 + 文本識別

傳統OCR

圖像預處理;版面處理;圖像切分;特徵提取、匹配及模型訓練;識別後處理

  1. 預處理:灰度化、二值化、傾斜檢測與矯正,平滑、規範化
  2. 版面處理:版面分析、版面理解、版面重構
  3. 圖像切分:行(列)切分和字切分
  4. 特徵提取與模型訓練:特徵提取及匹配、模型訓練
  5. 識別後處理:版面恢復和識別矯正

文本檢測:

SWT(Stroke Width Transform) 筆畫寬度變化

MSER(Robust wide-baseline stereo from maximally stable extremal regions) 最大穩定極值區域

對文字形狀變化(文字模糊、筆畫粘連、斷筆、黑白不均、油墨反透)的適應性和抗干擾性比較差


深度OCR

簡單說一下爲什麼通用目標檢測不能用於文本檢測:

目標檢測

候選區域、特徵提取、分類、位置精修

RCNN

  1. 一整圖像生成1K~2K個候選區域(Selective Search)
  2. 對每個候選區域,使用深度網絡提取特徵
  3. 特徵送入每一類的SVM分類器,判別是否屬於該類
  4. 使用迴歸器精細修正候選框位置

Fast-RCNN

  1. 整張圖歸一化後直接送入深度網絡
  2. 在ROI Pooling層才輸入候選框
  3. 然後再進行分類和迴歸

Faster-RCNN

區域生成網絡 + Fast-RCNN (使用區域生成網絡代替 Fast-RCNN中的 Selective Search 方法)

在這裏插入圖片描述

  1. 基礎網絡做特徵提取
  2. 特徵送入RPN做候選框提取
  3. 分類層對候選框內物體進行分類,迴歸層對候選框的座標進行精細調整

文本特點:

使用通用目標檢測方法做文本檢測效果不好,因爲文本有自己獨有的特點,這種通用的文本檢測並不能很好的解決文本的這些特點:

  1. 文本大多數以長矩形形式存在,與普通的目標檢測中的物體不一樣(長寬比接近於1)
  2. 普通物體存在明顯的閉合邊緣輪廓,而文本沒有
  3. 文本中包含多個文字,而文字之間是有間隔的,如果檢測做的不好,我們就會把每個字都當成文本行給框出來而非整行作爲文本框,這與我們的期望不一樣

基於以上文本檢測的特點,必須對Faster-RCNN這類通用網絡進行改進,設計出適合文本檢測全新架構。


文本檢測

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

在這裏插入圖片描述

  1. 考慮到文本框以長矩形存在,首先檢測文本的一小部分,判斷是不是文本的一部分,然後將同一個文本框的小文本框合併,得到一個完整的、大的文本框。
  2. 考慮到文本都是連續字符,連續的上下文本信息很重要,所以使用了RNN(BLSTM)來進一步提升效果。還有就是如果僅僅根據一個文本框的信息預測該框內含不含有文字是很草率的,如果參考這個框的左邊和右邊的信息後,也就是使用RNN將左右信息利用起來,會大大提升預測的準確率。
  3. 對 y 軸中心和高度的偏移進行迴歸(寬度固定爲16,高度在 11-283之間)
  4. 使用邊緣細化方法精修邊緣
  5. 將各部分進行文本行構建

在這裏插入圖片描述

缺點:對於非水平文本的檢測效果不好,比如彎曲文本、多向文本(垂直文本)。

2. SegLink(Detecting Oriented Text in Natural Images by link Segments)
  1. 與CTPN思想類似,都是先找出文本行的一部分,然後再連接所有的部分,組成一個完整的文本行;
  2. 在SSD基礎上加入了旋轉角度的學習;
  3. 在小部分文本框之前用連接線(相鄰框的中點連線)來表示屬不屬於同一個文本框,也是用網絡來學習;
  4. 使用融合規則將各個階段的框信息和線信息進行融合,組成文本行。

[外鏈圖片轉存失敗(img-xDAPMPAU-1567046118443)(./images/SegLink結構圖.png)]

缺點:不能檢測間隔很大的文本行,不能檢測彎曲文本

3. EAST(EAST: An Efficient and Accurate Scene Text Detector)

把完整文本行先分割檢測再合併的思路,做法比較麻煩,把文本檢測切割成多階段來進行,增大了文本檢測精度的損失和時間消耗,中間處理影響效果。(候選框選取,候選框過濾,bbox迴歸,候選框合併)

  1. 通過FCN結構的網絡直接學習是不是文本框以及文本框的座標和角度(或者八個座標);
  2. 局部感知NMS(先合併再NMS),降低了NMS的複雜度。
  3. 精度和速度都有所提高

在這裏插入圖片描述

缺點:感受野不大,對於長文本檢測不是很好,比較適合短文本行檢測

AdvancedEAST:score map -> 文本頭部、中部和尾部三部分,沒有從根本上解決長文本檢測。

4. PSENet(Shape Robust Text Detection with Progressive Scale Expansion Network)

bbox迴歸的方法對彎曲文本的檢測不準確,分割的方法對文字緊靠的情況分割效果不好。

亮點:漸進式擴展算法

  1. 是一個基於像素分割的方法,能夠精確地定位任意形狀的文本實例;
  2. 提出了漸進式擴展算法,即使兩個文本實例離得很近也可以分開,從而保證文本實例的準確位置

從最小尺度的kernels開始擴展,最小的kernels可以把緊靠的文本實例分開;逐漸擴展到更大的kernels;直到擴展到最大的kernels,組成最終的結果。

在這裏插入圖片描述

缺點:對於不同的數據集,超參數的選取較爲重要(最小尺度比例和分割結果數)。

5. LSAE(Learning Shape-Aware Embedding for Scene Text Detection)

亮點:嵌入形狀感知

  1. 分離緊靠的文本實例
  2. 解決文本行過長的問題

在這裏插入圖片描述

使用輸出的三個結果做聚類。

6. ATRR(Arbitrary Shape Scene Text Detection with Adaptive Text Region Representation)

使用LSTM網絡學習應該使用多少個點來表示文本框。

類似於Faster-RCNN,增加了基於自適應文本表示的LSTM分支。

在這裏插入圖片描述

7. CRAFT(Character Region Awareness for Text Detection)

通過精確的定位每一個字符,然後再把檢測到的字符連接成一個文本。

  1. 生成兩部分GT,字符框 + 親和框(同一文本框中的相鄰字符),使用高斯熱圖
  2. 字符感知方法,只需要很小的感受野就可以了處理長的彎曲文本
    在這裏插入圖片描述

缺點:對粘連字符的檢測效果不好;對標註數據的要求高;使用弱監督學習生成僞GT造成的損失;訓練複雜,需要先進行弱監督訓練得到字符級標註框,再訓練網絡。

參考資料:

傳統OCR

目標檢測

2017文本檢測

2018文本檢測

文本檢測

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