1. 程式人生 > >場景文字檢測常用方法:

場景文字檢測常用方法:

文字檢測方向的簡單調研和特徵學習,歡迎大家監督建議。

一、基於紋理:
將文字當做特殊紋理,利用其紋理特徵進行處理。較常用的區分文字和非文字部分的紋理特徵有:區域性強度、濾波器響應、小波係數、文字較強邊界以及與非文字區域的較大對比度、離散餘弦變換。
主要缺陷:特徵構造方法較簡單,檢測精度較低;實際應用中需要較多的規則和引數限制來提高檢測精度以及特徵的有效性,使演算法的泛化性以及魯棒性收到影響。

二、基於成分:
先通過某些方法提取候選成分,再通過濾波或分類器去掉非文字部分。提取出候選來之後,對候選的處理相對於基於紋理的方法減小了處理區域,在小區域上更加能夠突出文字的特點,使得文字部分與非文字部分對比更強烈,因而檢測效果有交大的提升,也是現在比較主流的文字檢測方法。很多方法對旋轉、尺度變換、字型變化有較好的魯棒性。
較常用的幾種文字檢測運算元:

MSER:尋找當使用不同的灰度閾值對影象進行二值化時得到的最穩定的區域:
1.對於影象灰度的仿射變化具有不變性
2.穩定性,區域的支援集相對灰度變化穩定
3.可以檢測不同精細程度的區域

SWT: SWT採用連通域方法,結合文字筆畫寬度較為一致的特點得到文字區域。首先求影象的筆畫寬度變換即每個畫素都分配了一個筆畫寬度,然後利用靈活的幾何推理,把有著相似比劃寬度的位置都被聚合成詞。

SFT(based on SWT):解決SWT邊界點錯誤匹配問題,用顏色連貫性和區域性邊緣點的約束關係得到更好的檢測結果。論文中只能檢測水平文字。

MSCRs(maximally stable color regions):演算法使用卡方距離計算顏色相似度,利用凝聚聚類(agglomerative clustering)將影象中具有相似彩色的畫素點逐層分步合併,該過程被稱為進化過程。在進化過程中,具有區域性最小面積變化的區域即為MSCRs。

華中科大2015年提出的對稱性字元特徵:採用多尺度滑窗檢測文字線的中心畫素點,用對稱特徵和表觀特徵訓練的隨機森林得到候選的字元畫素區域,在場景文字資料集上檢測效果較好但是速度慢,模型複雜,個人感覺不太適用於工程。

字元過濾方法:
1、 MSER-tree:利用MSER長寬比找到最可能是字的部分,並排除MSER之間的包含關係,過濾部分非文字區域。
2、 特徵分類過濾:如通過比較筆畫寬度等特徵,融合文字部分,濾去非文字部分。
3、 CNN過濾:可以利用更高層的資訊,以及從資料集中學習一些抽象的特徵。
感覺實踐中樣本字型比較統一、背景相對來說比較簡單,如果前面的過濾方法不好的話,可以嘗試再次進行CNN過濾。

三、目標檢測常用網路結構:
MSER+CNN (較為傳統的方法,我覺得其重點應該是CNN過濾之前要達到比較好的特徵提取結果,再利用CNN進行後續分類)
PVANet:(之前看到檢測方法的主要結構,其優勢在對於多個level上的細節的考慮)
Faster RCNN(速度快,可以考慮上下文關係,目前較為主流)
SSD(速度上有很大提升,且不侷限於原有的滑動窗模型,但是較難遷移到文字檢測中)

四、參考文獻
[1]Zheng Zhang.Symmetry-Based Text Line Detection in Natural Scenes.2015
[2]Baoguang Shi.An End-to-End Trainable Neural Network for Image-based Sequence.2015
[3]EAST_ An Efficient and Accurate Scene Text Detector.2015
[4]FCS_TextSurvey_2015
[5]Jie Yuan .A method for text line detection in natural images.Multimed Tools Appl (2015) 74:859–884