天天看點

場景文本檢測(一)-可微分二值化在基于語義分割方法的場景文本檢測中的應用動機和Contributions現存方法Methodology總結Ref

2020年AAAI的oral文章。

動機和Contributions

因為語義分割模型是pixel-level prediction,能夠檢測各種各樣shape的文本區域,是以基于語義分割方法的場景文本檢測目前非常流行。抛開語義分割網絡,處理segmentation result相當關鍵了,目前現存的很多方法使用了不同的post-processing,但使用了類似的post-processing pipeline,即将pixel-level prediction通過設定固定閥值進行二值化,然後使用一些heuristic techniques(如 pixel clustering)進行pixel-level grouping操作轉為bounding boxes/regions。

因為标準的二值化函數是不可微分的(分段常量函數),是以在論文中,作者提出了一個近似函數,實作了可微分的二值化。作者采用的pipeline是在segmentation network中插入一個binarization operation進行聯合優化,在圖檔每個位置的閥值是能夠自适應地被預測。

從作者的實驗中得出傳統的post-processing及其複雜且耗費大量時間,本文提出的Differentiable Binarization (DB)方法作為post-processing即能提高精度也能提高速度。同時也使得加入二值化後網絡能夠end-to-end training,相比于其他很多fast scene text detectors不能檢測arbitrary shape,此論文提出的DB方法不僅能夠更快檢測而且能夠檢測任意shape文本、在multi-language text detection task上也非常魯棒效果好。

現存方法

最近幾年的場景文本檢測方法大緻可以分為regression-based方法和segmentation-based方法。它們意在解決場景文本的multi-scale和multi-shape、long text挑戰。

regression-based方法的post-processing很簡單,僅僅可能隻需要非最大值抑制,但大部分這類方法不能夠很好地處理不規則的shape文本,例如curve text。segmentation-based方法總是結合語義分割結果和post-processing algorithms去得到bounding boxes,是以正如上述動機和Contributions小節所述,segmentation-based方法與regression-based方法的優缺點正好相反。

Methodology

Pipeline

場景文本檢測(一)-可微分二值化在基于語義分割方法的場景文本檢測中的應用動機和Contributions現存方法Methodology總結Ref

整體架構就是在pyramid network産生的features基礎上增加了convolution operation和deconvolution操作來預測probability map和threshold map,然後通過DB算法生成approximate binary map。

DB

這是文中最重要的module,有了它就能夠預測adaptively threshold,能夠将二值化嵌入segmentation network中進行共同訓練。公式如下:

B ^ i , j = 1 1 + e − k ( P i . j − T i , j ) \hat{B}_{i,j}=\frac{1}{1+e^{-k(P_{i.j}-T_{i,j})}} B^i,j​=1+e−k(Pi.j​−Ti,j​)1​

其中 k k k被設定為50。 P i , j P_{i,j} Pi,j​和 T i , j T_{i,j} Ti,j​分别是probability map prediction和threshold map prediction, B ^ i , j \hat{B}_{i,j} B^i,j​是approximate binary map prediction。标準的二值化和DB函數的比較如下圖(更正一下藍色為DB)

場景文本檢測(一)-可微分二值化在基于語義分割方法的場景文本檢測中的應用動機和Contributions現存方法Methodology總結Ref

可見幾乎一緻,DB函數取值範圍為 ( 0 , 1 ) (0,1) (0,1),且DB還可微分。

為什麼DB能夠提高表現?

文中作者以梯度的後向傳播解釋。用binary cross-entropy loss作為例子,正負類的損失分别可表示為如下(實質上下圖式子就是論文提出的架構的approximate binary map的損失函數表達式)

場景文本檢測(一)-可微分二值化在基于語義分割方法的場景文本檢測中的應用動機和Contributions現存方法Methodology總結Ref

其中 x = P i , j − T i , j x=P_{i,j}-T_{i,j} x=Pi,j​−Ti,j​,損失函數的目的是:正類label對應的執行個體的 x x x結果應當越大越好即learned probability大于learned threshold;負類label對應的執行個體則相反。上述式子對 x x x求導可得到如下式子

場景文本檢測(一)-可微分二值化在基于語義分割方法的場景文本檢測中的應用動機和Contributions現存方法Methodology總結Ref

其中 f ( x ) = 1 1 + e − k x f(x)=\frac{1}{1+e^{-kx}} f(x)=1+e−kx1​,導數的圖像如下(上圖為正類損失函數導數)

場景文本檢測(一)-可微分二值化在基于語義分割方法的場景文本檢測中的應用動機和Contributions現存方法Methodology總結Ref

從導數式子和圖像我們可以觀察到DB算法的優點:

  • 随着k的增大,對于正類,當probability小于threshold時,梯度值被加強,而對于probability大于threshold時,梯度值被減弱。對于負類,當probability大于threshold時,梯度值被加強,而對于probability小于threshold時,梯度值被減弱。
  • 由導數式子可知,正負類的優化是伴随着不同scale的,差了一個 e − k x e^{-kx} e−kx,當false positive那麼正類梯度相對負類更大,而true positive反之。
  • 在分類結果很糟糕時,梯度顯著增大,有利于優化;
  • 在背景和前景之間的區域 P P P的梯度會被 T T T縮放和影響。

Traing period & inference period

在訓練階段,分别對三個map進行監督訓練。probability map的label标注跟随PSENet論文中的處理,使用了shrunk polygon;approximate binary map使用了probability map的相同标注;threshold map 需要對dilated polygon的區域根據1減歸一化像素到original polygon最近segment的距離進行标注(代碼實作中threshold mask是将dilated polygon的區域内像素标注為1,其餘為0,是以threshold map的标注可以簡化為在dilated polygon最小包圍盒中進行。對于出現dilated polygon相交的情況,就取交集中的點到不同original polygon最小歸一化距離作為标注,并不是最小實際距離),最後将threshold map标注值調整到[0.3,0.7]。經過作者的ablation實驗結果表明對threshold map進行監督能夠産生更好的結果。如果不對threshold map監督訓練,習得的threshold可視化出來會高亮顯示text border region(如下圖左上為原圖,右上為probability map,左下為無監督的threshold圖,右下為有監督的threshold圖),這說明border-like threshold map能夠使得最終結果更好,這也給出了如何标注threshold map label。在訓練階段并不需要生成boxes。(PS:詳細實驗細節包括學習率、finetune、augmentation等請閱讀原論文)

場景文本檢測(一)-可微分二值化在基于語義分割方法的場景文本檢測中的應用動機和Contributions現存方法Methodology總結Ref

在測試階段,經過作者實驗,直接使用probability map和使用approximate binary map效果一樣,為了減少耗費去掉了threshold分支,直接使用probability map。形成boxes通過三個步驟:設定0.2的固定threshold二值化probability map(或者approximate binary map);從二值圖裡面獲得shrunk text regions;将shrunk regions進行放大。

Optimization

損失函數是三個map losses的權重和,如下

L = L s + L b + 10 ∗ L t L=L_s+L_b+10*L_t L=Ls​+Lb​+10∗Lt​

其中 L s , L b , L t L_s,L_b,L_t Ls​,Lb​,Lt​分别是loss for the probability map,loss for the binary map,loss for the threshold。常量參數則是根據實驗得到的。

L s , L b L_s,L_b Ls​,Lb​是 binary cross-entropy (BCE) loss。為了解決positive和negative不均橫問題,以positive:negative=1:3比例進行sampling the hard negatives,得到如下loss表達式

L s = L b = − [ ∑ i ∈ S l y i log ⁡ x i + ( 1 − y i ) log ⁡ ( 1 − x i ) ] L_s=L_b=-[\sum_{i\in S_l}y_i\log x_i+(1-y_i)\log(1-x_i)] Ls​=Lb​=−[i∈Sl​∑​yi​logxi​+(1−yi​)log(1−xi​)]

S l S_l Sl​就為采樣後的集合(base on pixel because of segmentation-based method)。

對于 L t L_t Lt​則采用了L1 distances的和形式,如下

L t = ∑ i ∈ R d ∣ y i − x i ∣ L_t=\sum_{i \in R_d}|y_i-x_i| Lt​=i∈Rd​∑​∣yi​−xi​∣

其中 R d R_d Rd​是在dilated text polygon region裡面的像素索引集合。

Deformable convolution

圖檔中可能因為尺寸、姿态、視角、部分變形等導緻Geometric variations,在目标檢測領域是個很有挑戰性的任務,該Deformable convolution(v1&v2)均是在解決這樣的問題。對于場景文本檢測領域來說,它能夠提供靈活的感受野,有利于解決場景文本中的極端的aspect ratios text instances。

從最後的實驗結果來看,deformable convolution在損失一點速度的情況下比較大地提高了最終模型的表現。

總結

在模型訓練時作者使用了保持aspect-ratio且固定尺寸640×640進行訓練,而測試時則固定一邊為某一個長度,同時保持aspect-ratio,從結果來看,input image的size會影響實驗結果,越小效果越差,速度會越快,需要trade-off,可見對size還是很敏感的。同時,在文中作者也提到了proposed method依然不能解決segmentation-based method方法共有的問題,那就是’text in center region of another text’不能很好處理。

包含DB module的architecture即保留或提高了速度且同時提高了精度。實質上伴随着threshold map supervision的DB架構最終是使得probability map更加強和魯棒。

Ref

  • Liao, M.; etc. 2020. Real-time Scene Text Detection with Differentiable Binarization. In Proc. AAAI.
  • heuristic techniques. https://en.wikipedia.org/wiki/Heuristic

繼續閱讀