場景文本檢測(一)-可微分二值化在基於語義分割方法的場景文本檢測中的應用

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

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

DB

這是文中最重要的module,有了它就能夠預測adaptively threshold,能夠將二值化嵌入segmentation network中進行共同訓練。公式如下:
B^i,j=11+ek(Pi.jTi,j) \hat{B}_{i,j}=\frac{1}{1+e^{-k(P_{i.j}-T_{i,j})}}
其中kk被設置爲50。Pi,jP_{i,j}Ti,jT_{i,j}分別是probability map prediction和threshold map prediction,B^i,j\hat{B}_{i,j}是approximate binary map prediction。標準的二值化和DB函數的比較如下圖(更正一下藍色爲DB)
在這裏插入圖片描述
可見幾乎一致,DB函數取值範圍爲(0,1)(0,1),且DB還可微分。

爲什麼DB能夠提高表現?

文中作者以梯度的後向傳播解釋。用binary cross-entropy loss作爲例子,正負類的損失分別可表示爲如下(實質上下圖式子就是論文提出的框架的approximate binary map的損失函數表達式)
在這裏插入圖片描述
其中x=Pi,jTi,jx=P_{i,j}-T_{i,j},損失函數的目的是:正類label對應的實例的xx結果應當越大越好即learned probability大於learned threshold;負類label對應的實例則相反。上述式子對xx求導可得到如下式子
在這裏插入圖片描述
其中f(x)=11+ekxf(x)=\frac{1}{1+e^{-kx}},導數的圖像如下(上圖爲正類損失函數導數)
在這裏插入圖片描述
從導數式子和圖像我們可以觀察到DB算法的優點:

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

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等請閱讀原論文)
在這裏插入圖片描述
在測試階段,經過作者實驗,直接使用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=Ls+Lb+10Lt L=L_s+L_b+10*L_t
其中Ls,Lb,LtL_s,L_b,L_t分別是loss for the probability map,loss for the binary map,loss for the threshold。常量參數則是根據實驗得到的。
Ls,LbL_s,L_b是 binary cross-entropy (BCE) loss。爲了解決positive和negative不均橫問題,以positive:negative=1:3比例進行sampling the hard negatives,得到如下loss表達式
Ls=Lb=[iSlyilogxi+(1yi)log(1xi)] L_s=L_b=-[\sum_{i\in S_l}y_i\log x_i+(1-y_i)\log(1-x_i)]
SlS_l就爲採樣後的集合(base on pixel because of segmentation-based method)。
對於LtL_t則採用了L1 distances的和形式,如下
Lt=iRdyixi L_t=\sum_{i \in R_d}|y_i-x_i|
其中RdR_d是在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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章