CRAFT(Character Region Awareness for Text Detection)

相關資料
論文地址:Character Region Awareness for Text Detection
作者的推理部分代碼:clovaai/CRAFT-pytorch
https://zhuanlan.zhihu.com/p/76528329

字符級文本檢測CRAFT

這個方法來源於CVPR2019 Character Region Awareness for Text Detection的論文,論文地址:https://arxiv.org/pdf/1904.01941.pdf
已經開源的代碼:https://github.com/clovaai/CRAFT-pytorch

核心思想:

1.利用了分割的方法,但與普通的圖像分割不同的是,CRAFT不是對整個圖像的進行像素級分割(如Faster-Rcnn),它將一個character視爲一個檢測目標對象,而不是一個word(所有的word都由character構成),即不把文本框當做目標。

故,它先檢測單個字符(character region score)及字符間的連接關係(affinity score),然後根據字符間的連接關係確定最終的文本行

這樣做的好處在於:使用小感受野也能預測大文本和長文本,只需要關注字符級別的內容而不需要關注整個文本實例。

2.在訓練過程中對於合成樣本可以很好地進行單個字符的標註,但是對於現有的文本數據庫,其標註方式基本是基於文本行的,所以文中提出瞭如何利用現有文本檢測數據集合成數據得到真實數據的單字標註的弱監督方法。
整體的算法結構
在這裏插入圖片描述
上圖爲整個CRAFT的網絡結構:特徵提取的主幹網絡採用的VGG-16以及batch normalization,解碼器部分採用了U-net的方法,採用自頂向下的特徵聚合方式,最終輸出兩個通道:region score map和affinity score map,分別爲單字符中心區域的概率和相鄰字符區域中心的概率,得到原圖大小1/2的預測圖。

網絡結構

主幹網絡採用了VGG16-BN,上採用部分設計了一個UpConv Block結構,網絡最終在1/2圖上產生兩個輸出:

Region score:字符級的高斯熱圖
Affinity score:字符間連接的高斯熱圖

訓練數據處理

對於訓練標籤生成,與以往分割圖(以二值化的方式離散標記每個像素的label)的生成方式不同,CRAFT採用高斯熱度圖來生成region score和affinity score.採用高斯熱度圖的好處:它能很好地處理沒有嚴格包圍的邊界區域.

在這裏插入圖片描述
上圖是訓練數據的label的生成示意圖。
於character affinity score標籤生成,從左邊開始看,有了一個字符級的標註(紅框, Character Boxes),這個字符的四個點(綠邊)構成一個四邊形,做對角線,構成兩個三角形(藍邊),取三角形的中心,兩個框之間就有四個點,構成了一個新的邊框,這個邊框就是用來表示兩個字符之間的連接的label的(Affinity Boxes)
對於character region score標籤生成,由於對box中的每個像素計算高斯分佈值比較耗時,本文結合透視變換,採用了近似估計的方法來生成標籤,具體步驟如下:
a).準備一個二維的高斯圖;
b).計算高斯圖區域和每個文字框的透視變換;
c).將高斯圖變換到文字框區域.

弱監督學習

在這裏插入圖片描述
上圖是整個弱監督學習的框架。
從圖中可以看出,有三種顏色的線,最開始訓練是藍色的線條,其利用Synth80k數據集(合成數據,這些數據的標註是準確的)進行有監督的訓練,使整個模型達到的效果後,進行弱監督訓練。
綠色線條代表是真實數據,這些數據的標註是文本行等級的,真實數據的訓練分爲以下幾步:
1.根據真實數據的標籤,將文本行crop出來。
2.跑網絡,得到結果圖。
3.根據網絡輸出的圖,分割出單個文字,得到字符的基本文字框。
4.根據上一步的結果,生成label。

效果圖

在這裏插入圖片描述

特性

CRAFT可以用於處理任意方向文本、 曲線文本、 畸變文本等.
該方法具有如下特性:
1).對尺度變換具有較好地魯棒性,本文都是基於單尺度圖像進行實驗的;
2).本文模型不能適用與粘連的語言,如Bangla and Arabic characters;
3).相比於端到端的文本檢測方法,該方法在訓練的時候藉助了文本長度
4).泛化能力較強

生成僞標籤

在這裏插入圖片描述
對於只有Word級而無Character級標籤的數據集(如ICDAR2013、ICDAR2015),需要生成Character級的標籤。

原作方法

使用Word級的Box座標crop出文本圖像
使用當前訓練的模型預測出文本圖像的Region Score Map。
使用分水嶺算法分割Region Score Map,得到Character Box的座標。
將Character Box的座標轉換回原座標

替代方法

使用當前訓練的模型預測出圖像的Region Score Map。

使用Word級的Box座標crop出局部的Region Score Map。

使用分水嶺算法分割Region Score Map,得到Character Box的座標。

將Character Box的座標轉換回原座標

訓練策略

訓練步驟

1.在強標籤數據(SynthText)上進行強監督訓練,迭代50k次。
2.在其他數據集上進行fine-tuning,強標籤數據和弱標籤數據混合訓練。

訓練技巧

  • fine-tuning期間,弱標籤數據和強標籤數據按照1:5的比例進行訓練,從而保證字符級標籤的準確性。
  • 對於ICDAR2015和ICDAR2017中部分“DO NOT CARE”的文本在訓練階段將Confidence設置爲0。
  • 常用的數據增強,如:Crops,rotations,and/or color variations。
  • 按照1:3使用OHEM。

論文中的結果

在這裏插入圖片描述

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