场景文本检测(一)-基于语义分割backbone的可微分二值化

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使用了数据集原始标注threshold map 需要对dilated polygon和shrunk polygon之间的区域根据到original polygon最近segment的距离进行标注。经过作者的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在损失一点速度的情况下比较大地提高了最终模型的表现。

总结

从结果来看,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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章