Real-time Scene Text Detection with Differentiable Binarization

论文地址:Real-time Scene Text Detection with Differentiable Binarization
又是白翔老师组的产出。tql
这篇文章仍然是基于语义分割的文本检测算法。

概述

目前,基于语义分割的方法很多,它们可以更准确地描述不同形状的文本。但是一般这些方法都会配有二值化的post processing,将概率的分割图转化为文本或者非文本区域。作者这里提出了一个Differentiable Binarization (DB),可以自适应地设置阈值来做二值化处理,不仅能够简化post processing,而且还能够增强文本检测的效果。并且,以前的binarization操作是在inference的post processing部分,而这里,作者直接把这个操作放到分割任务一块,联合优化。

普通的二值化操作无非就是先预设一个阈值,对于预测得到的每个pixel的概率值,如果超过这个阈值就设为1,否则就是0,如果把这个操作放在优化过程中,可以发现这个操作并不可微,所以作者提出了DB,设计了一个可微的二值化操作。

方法

在这里插入图片描述

Differentiable binarization

首先看标准的二值化操作:
P ∈ R H × W P\in R^{H\times W} PRH×W是一个概率图, t t t是预设的阈值。
在这里插入图片描述

作者设计的DB:
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+ek(Pi,jTi,j)1其中, T i , j T_{i,j} Ti,j是一个阈值矩阵在 ( i , j ) (i,j) (i,j)处的值。 k k k是一个因子,这里根据经验设置为50。

label generation

我们需要得到ground truth的两个map:probability map和threshold map。

数据集一般提供了文本的形状的多边形节点表示 G = { S k } k = 1 n G=\{S_k\}^n_{k=1} G={Sk}k=1n S k S_k Sk表示第 k k k个文本, n n n是指每个文本区域的多边形由几个corner组成。

probability map:将 G G G向内缩小偏移量 D D D得到 G s G_s Gs G s G_s Gs内部标记为1,外面标记为0;

threshold map:将 G G G向外放大偏移量 D D D得到 G d G_d Gd G d G_d Gd G s G_s Gs之间的区域作为文本的边界,这其中的每个点对应的值由该点到 G G G最近的一条边的距离得到。

D D D的计算和PSENet中类似:
D = A ( 1 − r 2 ) L D=\frac{A(1-r^2)}{L} D=LA(1r2)

虽然binary map没有在论文的label generation部分提到,但其在损失函数的计算中出现了,貌似binary map和probability map一样?待看完代码求证后再记录。

损失函数

L = L s + α × L b + β × L t L=L_s+\alpha \times L_b+\beta \times L_t L=Ls+α×Lb+β×Lt前面两个是probability map和binary map的损失函数,这里使用的是BCE。且正负像素点的采样按照1:3。
最后那个是threshold map,使用L1范数。

Inference

Inference阶段就是要根据得到的几个map,计算出文本区域的bounding box。

三个步骤:

  • 对probability map或者approximate binary map二值化,得到一个binary map;
  • 对上步得到的binary map提取出每个联通分量;
  • 因为前面我们计算的时候,将文本区域向内偏移了一个变量 D D D,这里inference时需要再进行向外的偏移。这时的偏移量是 D ′ D' D,且 D ′ = A ′ × r ′ L ′ D'=\frac{A'\times r'}{L'} D=LA×r
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值