[19.08] PAN
像素聚合策略
Efficient and Accurate Arbitrary-Shaped Text Detection with Pixel Aggregation Network
作者不久前才發表 PSENet,打鐵趁熱,這沒過多久再度發表 PAN。
定義問題
這次的目標很簡單,就是覺得先前的模型架構太慢了。
ResNet50 和 VGG16 都要換掉,改成 ResNet18!
FPN 也要改,改成深度可分離卷積!
總之,怎樣輕量怎樣來。
解決問題
模型架構
上圖是 PAN 的模型架構,整體上看起來和 PSENet 很像,為了提升速度,作者提出了幾個改進策略。
首先是縮減特徵金字塔網絡(FPN)的參數量,但縮減後會降低特徵的表達能力,於是緊接著補上新的融合策略。
在論文中也會出現大量的縮寫,常會讓人摸不著頭緒,所以我們先記憶一下這些縮寫:
- FPEM: Feature Pyramid Enhancement Module 特徵金字塔增強模塊
- FFM: Feature Fusion Module 特徵融合模塊
以下依序來看看。
FPEM
這個架構就是 FPN,裡面針對卷積層進行修改,把原本的卷積改成了深度可分離卷積,這樣可以減少參數量,提升速度。
在論文中,作者特別強調這是一個可以堆疊多層的模組,透過堆疊可以提升特徵的表達能力,彌補輕量主幹網絡的不足。
堆疊多層特徵融合模組,在其他 2019 年的論文中也大多有提到,例如:NAS-FPN、BiFPN 等。
FFM
堆疊多層 FPEM 之後,會得到一大堆特徵圖。
舉例來說,在論文中一層 FPEM 會得到 4 個尺度特徵圖,每個尺度輸出的通道數為 128,四個尺度的特徵圖總共有 512 個通道。如果繼續堆疊 N 層,那麼最後會得到 512N 個通道,這樣的特徵圖對於後續的處理來說非常吃力。
作者在這裡的做法是將每一層 FPEM 的輸出特徵圖相加,如上圖所示,意思就是不管堆幾層,最後都只會有 個通道。
像素聚合策略
完成 Backbone 和 Neck 的部分之後,最後就是預測頭了。
像素聚合的目的是將文本區域中的像素正確地合併到對應的內核上,從而重建完整的文本實例。這個方法借用了聚類的概念,將文本實例視為聚類,內核為聚類中心,而文本區域的像素則是待聚類的樣本。
在訓練過程中,像素聚合透過計算聚合損失 (Aggregation Loss) 來引導文本像素向內核靠攏,同時透過區別損失 (Discrimination Loss) 來保持不同內核之間的區別。
-
(1) 聚合損失
- 聚合損失 的目的在於使同一文本實例的像素與其內核的距離盡可能小。
- 對於每個文本實例 ,損失函數的定義如下:
其中 是文本實例的總數, 是第 個文本實例, 是其內核, 是文本實例中的像素。
- 距離函數 的定義如下:
其中 是像素 的相似度向量, 是內核 的相似度向量,定義為:
是一個常數,經實驗設定為 0.5,目的是過濾掉較易分類的樣本。
-
(2) 區別損失
- 區別損失 旨在保持不同文本實例的內核之間具有足夠的距離。
- 區別損失的定義如下:
其中 為兩個內核 與 之間的距離,定義為:
是一個常數,經實驗設定為 3,以保證不同內核間的距離不小於 。
在推論階段,基於預測的相似度向量來引導文本區域中的像素合併到對應的內核。
具體步驟如下:
- 找出內核的連通分量:在內核分割結果中,找出連通分量,每個連通分量代表一個內核。
- 合併鄰近的文本像素:對於每個內核 ,將其鄰近的文本像素 (4 連通方式)進行條件合併,當像素 與內核 的相似度向量歐氏距離小於某個閾值 時,進行合併。
- 重複合併步驟:重複第 2 步,直到沒有符合條件的鄰近文本像素可以合併為止。
該方法透過聚合與區別損失來引導內核與文本像素之間的正確聚合,最終重建完整的文本實例。
損失函數
損失函數的總體形式為:
其中:
- 表示文本區域的損失。
- 表示內核區域的損失。
- 和 分別為聚合損失與區別損失。
- 參數 和 用於平衡這些損失的重要性,在所有實驗中設定為 和 。
由於文本像素和非文本像素數量極不平衡,參考過去文獻採用 Dice Loss 來監督文本區域 和內核區域 的分割結果。
內核區域的真實標籤 是通過對原始的真實標籤多邊形進行縮小得到,這個縮小過程比照 PSENet 的方法,按比例 對多邊形進行縮小。
在計算 時,採用線上困難樣本挖掘 (Online Hard Example Mining, OHEM) 方法來忽略簡單的非文本像素。在計算 、 和 時,僅考慮真實標籤中的文本像素。
和 分別控制文本區域損失、內核區域損失與聚合損失、區別損失之間的重要性權重,經實驗設定 和 ,以平衡不同損失項之間的相對影響。
訓練資料集
-
SynthText
該資料集用於對模型進行預訓練。這是一個大規模數據集,包含約 80 萬張合成圖像。這些圖像由自然場景與隨機字體、大小、顏色和方向的文字混合而成,具有很高的現實感。
-
CTW1500
CTW1500 是一個針對長曲線文字檢測的挑戰性資料集,由 Yuliang 等人建構。該資料集包含 1000 張訓練圖片和 500 張測試圖片。不同於傳統文字資料集(如 ICDAR 2015、ICDAR 2017 MLT),CTW1500 的文字實例是由 14 個點的多邊形標註,可以描述任意曲線文字的形狀。
-
Total-Text
Total-Text 是一個新發佈的曲線文字檢測資料集,包含水平、多方向及曲線文字實例。該基準資料集包括 1255 張訓練圖片和 300 張測試圖片。
-
ICDAR 2015
ICDAR 2015 是文字檢測中常用的資料集,包含 1500 張圖片,其中 1000 張用於訓練,剩下的用於測試。文字區域由四個頂點的四邊形標註。
-
MSRA-TD500
這是一個多語言、任意方向和長文字行的數據集。包含 300 張訓練圖像和 200 張測試圖像,文字行標注為行級標注。由於訓練集較小,實驗中加入了 HUST-TR400 數據集的圖像作為訓練數據。
訓練策略
PAN 使用 ResNet 或 VGG16 作為模型的骨幹,這些模型預先在 ImageNet 上進行了預訓練。
所有網路模型都使用隨機梯度下降法 (Stochastic Gradient Descent, SGD) 進行優化。在 SynthText 資料集上進行預訓練,訓練 50K 次迭代,固定學習率為