DB文本检测算法论文笔记

0 概述

​ 基于分割的文本检测算法,后处理是必须的,将概率图转成文本框(区域)。DB算法在分割网络中执行一个二值化处理。随着DB模块的优化,分割网络可以自动设置二值化阈值,不仅简化了后处理而且增强了性能。

补充:F-measure 即:
F 1 = 2 ∗ P R P + R F_1=\frac {2 * PR}{ P + R} F1=P+R2PR
P 是精确率(Precision),R是召回率(Recall)。

1 介绍

当前大部分检测算法都是使用如下流程:

(1)设置一个固定的阈值,将概率图转成二值图。

(2)然后一些启发式的方法通过聚类得到文本区域 。

而这篇论文 里的流程是插入一个二值化操作放到分割网络里来一起优化。在这种方式下,每个像素的阈值将自适应预测,更能区分前景背景。标准的二值化函数是不可微分的,我们使用一个近似的二值化函数,称为DB。

相比之前基于方法的方法有四个优点:

  1. 更好的性能 ,包括水平、多方向、弯曲。
  2. 更快。因为显著改善了后处理。
  3. 在轻量级backbone上表现好。
  4. 测试时没有额外内存和时间消耗。

2 相关工作回顾

2.1 基于回归的方法

优点:基于回归的方法,后处理简单。

缺点:很难表示不规则的形状,例如弯曲文本。

  • 2017 TextBoxes 直接回归矩阵,基于SSD,修改了anchor和scale。
  • 2017 DMPNet 、2018 TextBoxes++ 直接回归四边形,来检测多方向文本。
  • 2017 SSTD 引入注意力机制来识别文本区域。
  • 2018 RRD 旋转不变性做分类、旋转敏感性来做回归。
  • 2017 EAST / DeepReg 像素级回归多方向 文本实例。
  • 2017 SegLink 回归分割框和预测它们的连接。
  • 2019 DeRPN 维度分解(dimension-decomposition)解决文本检测中的尺度问题。

2.2 基于分割的方法

  • 2016 基于MSER 和语义分割,检测多方向 文本。
  • 2018 文本边界分割文本实例
  • 2018 Mask TextSpotter 基于 Mask R-CNN 检测任意形状文本。
  • 2019 PSENet 渐进尺度扩张 ,使用不同的kernel。

3 方法

  1. 将图像喂给特征金字塔。
  2. 特征金字塔降采样成相同尺度级联产生特征 F F F
  3. F 预测概率图P和阈值图T。
  4. 计算得到二值图B。

3.1 二值化

3.1.1 标准二值化

3.1.2 可微二值化

可微二值化不仅能区分文本区域和背景,而且把邻近的文本区域也分开。
B ^ i , j = 1 1 + e − k ( P i , j − T i , j ) = 1 1 + e − k x = e k x 1 + e k x \hat B_{i,j}=\frac 1 {1 + e^{-k(P_{i,j}-T_{i,j})}} = \frac 1 {1 + e^{-kx}}= \frac {e^{kx}} {1 + e^{kx}} B^i,j=1+ek(Pi,jTi,j)1=1+ekx1=1+ekxekx

其中:
x = P i , j − T i , j x =P_{i,j}-T_{i,j} x=Pi,jTi,j

损失函数:
l + = − l o g 1 1 + e − k x = l o g ( 1 + e − k x ) l_+=-log\frac 1 {1 + e^{-kx}} = log(1 + e^{-kx}) l+=log1+ekx1=log(1+ekx)

l − = − l o g ( 1 − 1 1 + e − k x ) = − l o g ( e − k x 1 + e − k x ) = − l o g ( 1 1 + e k x ) = l o g ( 1 + e k x ) l_-=-log(1-\frac 1 {1 + e^{-kx}})=-log(\frac {e^{-kx}}{1+e^{-kx}}) = -log(\frac{1}{1 + e^{kx}}) = log(1+e^{kx}) l=log(11+ekx1)=log(1+ekxekx)=log(1+ekx1)=log(1+ekx)

后边的式子是我加的,简化上边的公式后对数函数里没有分式,后边求导就变得容易多了。
∂ l + ∂ x = − k f ( x ) e − k x \frac {\partial l_+} {\partial x} = -kf(x)e^{-kx} xl+=kf(x)ekx

∂ l − ∂ x = k f ( x ) \frac {\partial l_-} {\partial x} = kf(x) xl=kf(x)

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张欣-男

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值