[21.07] TextBPN
來點圖卷積吧!
Adaptive Boundary Proposal Network for Arbitrary Shape Text Detection
這篇論文引入了幾個概念,來解決文字偵測的問題。
第一個是 LSTM,用來補捉文字邊界的序列資料;另外一個是 GCN,也是圖卷積網路,用來細化文字邊界的特徵。這兩個概念都展開來講都可以講個三天三夜,但是我們想讀者們應該都已經很熟悉這些概念了。
所以我們直接開始吧。
定義問題
我們也陸續看過幾個文字偵測的方法了,大多數的方法為了解決文字區域交疊的問題,解題方向都是先找「文字核心」,然後基於文字核心向外部擴展,找到文字邊界。
這些方法大多都很慢,就論文中的原話,叫做:「複雜且低效」!
為了改善這些問題,作者提出了一種用於任意形狀文本檢測的新型自適應邊界提議網路,它可以學習直接為任意形狀文本生成準確的邊界,而無需任何後處理。
解決問題
模型架構
這個架構乍看之下 有點複雜,我們分幾個部分來看。
Backbone + Neck
基礎特徵圖的提取是基本的操作,這裡的 Backbone 使用的是 ResNet-50,Neck 的部分使用 Concat 的方式進行特徵融合,算是 U-Net-like 的架構。
最後 Neck 的輸出是 個通道,尺寸和輸入圖一致的特徵圖。
邊界提議生成
邊界提議生成(Boundary Proposal Generation),由多層膨脹卷積構成,包含兩層 的卷積層(不同的膨脹率)和一層 的卷積層。
這些卷積層使用從主幹網路提取的共享特徵來生成三種輸出:分類圖、距離場圖和方向場圖。
-
分類圖: 這和其他文字檢測方法一樣,是一個二元分類的圖,每個像素表示是否屬於文字的分類置信度(二元分類:文字/非文字)。
-
方向場圖:
方向場圖 為一個二維單位向量 ,表示每個文字像素指向其最近邊界像素的方向。對於每個文字實例 內的像素 ,會找到其最近的邊界像素 ,並計算從 到 的單位向量 ,其公式如下:
其中 代表 與文字像素 之間的距離。
-
距離場圖:
距離場圖 是一個歸一化的距離圖,用來表示文字像素 到最近邊界像素 的歸一化距離。其公式為:
其中 代表文字實例 的尺度,定義為:
根據距離場圖 ,可以通過固定的閾值 來生成候選邊界提議,但這些提議可能包含誤檢。因此,會根據分類圖計算每個候選邊界提議的平均置信度,並使用閾值 去除一些置信度低的提議。
這些步驟和公式共同構成了邊界提議生成過程,能有效檢測文字區域並處理相鄰文字實例間的邊界問題。
自適應邊界變形
自適應邊界變形(Adaptive Boundary Deformation)模型的想法來自於過去的研究論文:
- [18.03] Efficient Interactive Annotation of Segmentation Datasets with Polygon-RNN++
- [19.03] Fast Interactive Object Annotation with Curve-GCN
- [20.01] Deep Snake for Real-Time Instance Segmentation
這些論文的詳細介紹我們之後再寫其他文章來講,這邊我們直接使用已知的結論:
透過這些方法,模型可以將每個實例的具體的邊界控制點。模型基於 CNN 特徵輸入,並進行逐頂點的偏移預測。每個邊界提議會從中均勻取樣 N 個控制點,這些控制點形成一個封閉的多邊形,兼顧拓撲上下文與序列上下文。
對於每個控制點 ,會生成特徵向量 。
這些特徵是從 CNN 主幹網路獲得的 32 維共享特徵 和 4 維先驗特徵 (如像素分類、距離場、方向場)組合而成。
具體公式為:
得到控制點的預測後,接著要細化邊界提議。
這裡引入 GCN 和 RNN 來進行邊界變形,如下圖所示:
編碼器結合了 GCN 和 RNN,用於充分利用邊界的拓撲與序列上下文。其公式為:
其中,RNN 由一層隱藏大小為 128 的 B-LSTM 組成。
舉例來說,這裡的輸入可能為:[批次大小, 控制點序列, 控制點特徵]。
GCN 包含四層啟動函數為 ReLU 的圖卷積層,圖卷積層的公式如下:
其中,,,為局部圖的鄰接矩陣,為單位矩陣,為對角矩陣。
GCN 中的每個控制點與其四個鄰居相連,透過此種方式處理控制點間的上下文關係。
除了上面兩個分支之後,還有一個 卷積層形成殘差連接,共三個分支進行特徵融合。
所有特徵以拼接(Concat)後,輸入到解碼器中,解碼器的輸出為控制點的偏移量。
為了獲得更精確的文字邊界,會執行多次迭代的邊界變形。這些步驟使得模型能夠通過多次迭代變形,逐步細化初始的邊界提議,最終達到精確的文字檢測效果。
在這裡,RNN 被用來處理序列;GCN 被用來處理鄰近節點資訊流動。
依照我們經驗,在 2021 年的時刻,這些事情都可以用 Transformer 來做,這可能會是之後的改進方向。
訓練資料集
-
SynthText
該資料集用於對模型進行預訓練。這是一個大規模數據集,包含約 80 萬張合成圖像。這些圖像由自然場景與隨機字體、大小、顏色和方向的文字混合而成,具有很高的現實感。
-
CTW1500
CTW1500 是一個針對長曲線文字檢測的挑戰性資料集,由 Yuliang 等人建構。該資料集包含 1000 張訓練圖片和 500 張測試圖片。不同於傳統文字資料集(如 ICDAR 2015、ICDAR 2017 MLT),CTW1500 的文字實例是由 14 個點的多邊形標註,可以描述任意曲線文字的形狀。
-
Total-Text
Total-Text 是一個新發佈的曲線文字檢測資料集,包含水平、多方向及曲線文字實例。該基準資料集包括 1255 張訓練圖片和 300 張測試圖片。
-
MSRA-TD500
這是一個多語言、任意方向和長文字行的數據集。包含 300 張訓練圖像和 200 張測試圖像,文字行標註為行級標註。由於訓練集較小,實驗中加入了 HUST-TR400 數據集的圖像作為訓練數據。
-
ICDAR 2017 MLT
IC17-MLT 是一個大規模的多語言文字資料集,包括 7200 張訓練圖片、1800 張驗證圖片和 9000 張測試圖片。該資料集由來自 9 種語言的完整場景圖像組成。