OCR文本检测-DBnet论文阅读笔记


前言

在项目中测试过EAST文本检测模型后,发现效果不太好,在搜索了现有文本检测模型后,都说DBnet模型比较优,而且像PaddleOCR, EasyOCR等比较成熟的OCR文本检测与识别工具都有使用,所以今天开始学习这个模型并做下笔记,方便以后复习。

论文:Real-time Scene Text Detection with Differentiable Binarization


提示:以下是本篇文章正文内容,下面案例可供参考

摘要(Abstract)

最近,基于分割的场景文本检测方法非常流行,主要是因为分割的结果可以更准确地描述如弯曲文字这种任意形状的文本。然而,二值化的后处理过程对于基于分割的文本检测是很重要的,它将基于分割方法产生的概率图转变为文本框(或称为文本区域)。

论文提出可微分二值化的方法(Differentiable Binarization, DB),在基于分割的文本检测网络中 DB 实现了二值化处理。基于 DB 模块的分割网络可以自适应设置二值化阈值,不仅简化了后处理过程,也提升了文本检测的性能。

论文在5个benchmark 数据集上进行性能验证,在检测准确性和检测速度上获得SOTA(state-of-the-art)。

实验结果:
在MSRA-TD500数据集上,网络backbone = ResNet-18, F-score=82.8, 62 FPS(frames per second)

1. 介绍(Introduction)

近年来,由于图像或视频理解,可视化搜索,自动驾驶,盲人辅助等广泛应用,场景图像中文本阅读成为比较活跃的研究领域。

作为场景文本阅读的一个关键部分-场景文本检测,它的主要任务是定位文本框或者每一个文本实例区域,由于场景文本一般具有不同尺度和形状,比如水平的,多方向和弯曲文本,这些因素的存在让文本检测任务面临挑战。基于分割的场景文本检测备受关注,这种方法可以检测出任意形状的文本,这主要受益于这一方法是在像素级(pixel-level)进行预测并输出结果。然而,大多数基于分割的方法都要进行后处理(post processing),这主要是将像素级预测结果分组到要检测的文本实例中,这将在推理过程中带来额外的时间消耗,比如PSENet和Pixel embedding。
在这里插入图片描述

大多数文本检测模型都使用相似的后处理流水线,如图Fig.2所示(蓝色箭头)。

  1. 使用固定阈值将基于分割模型的输出结果-概率特征图进行阈值分割,生成二值图;
  2. 应用一些如聚类的启发式方法将像素分组到文本实例中。

如Fig.2 蓝色虚线所示,二值化过程仅存在于推理阶段,不包含在训练过程中。论文则将二值化方法加入到训练阶段进行联合优化(个人认为,将二值化过程加入训练过程中,是将二值化结果作为梯度更新的依据,这样使训练出来的网络预测结果更准确)。按照这种方法,图像中每个位置的阈值都可以被预测,用这个预测的阈值能够更准确地区分图像中地文本像素于非文本像素。然而,标准地二值化方法是不可微地(不可进行梯度更新),论文在基于分割地训练网络中应用可微的二值化近似函数(DB)。

论文的主要贡献是提出了可微分的DB模块,将二值化成为CNN网络中end-to-end 可训练的这样一个过程。论文通过将一个简单的语义分割网络与DB模块组合在一起,提出了一个性能鲁棒,运行速度快的场景文本检测器。

和之前基于分割的SOTA方法相比,论文提出的检测器有如下几点明显优势:

  1. 在5个场景文本benchmark数据集上有更好的性能,包括水平,多方向和弯曲文本;
  2. 比之前的方法更快,因为DB模块极大简化了后处理过程;
  3. 当使用轻量级backbone时,DB也能很好地工作,比如ResNet-18;
  4. 因为DB模块可以在推理阶段被移除并且不影响性能,因此在测试时没有多余的内存或时间消耗。

2. 相关工作(Related Work)

场景文本检测模型大致分为两类:基于回归的方法和基于分割的方法。

基于回归的方法:
基于回归方法的模型都是直接回归计算出包含文本实例的包围框(文本框),比如TextBoxes, TextBoxes++, DMPNet等都属于这一类模型。基于回归的方法通常偏爱简单的后处理方法比如非极大值抑制(NMS)。但是,这类方法通常在表示非常规形状文本的包围框上精度受限,比如弯曲文本。

基于分割的方法:
基于分割的方法通常是结合像素级预测(pixel-level)和后处理算法来获得包围框。
2016年 Zhang等人使用语义分割和基于最大稳定极值区域(MSER)算法进行多方向文本检测;…(这里省略其它模型和方法); PSENet和SAE为分割结果提出新的后处理算法,这导致推理速度更慢。然而,论文通过将二值化过程融入训练阶段,不仅提升了分割的性能(更好的分割结果),而且没有导致推理速度变慢。(个人认为,论文输出的概率图或二值图可直接判断像素是否为文本像素,不需要应用一些启发式方法来分组文本像素,不过还要通过后续阅读来确认)。

快速场景文本检测方法聚焦于精度和推理速度这两方面。TextBoxes, TextBoxes++,SegLink, RRD这些模型沿用了SSD检测框架实现了快速文本检测;EAST应用PVANet提高了检测速度。但是上述大部分模型无法处理非常规形状文本,比如弯曲文本。和之前快速场景文本检测器相比,论文提出的方法不仅运行速度快(推理速度)而且可以检测任意形状的文本实例。

3. 方法(Methodology)

论文提出的模型架构如图Fig.3所示:
在这里插入图片描述
模型运行过程如下所示:

  1. 将输入图像输入到模型backbone:特征金字塔模型;
  2. 金字塔模型每层输出的特征图都经过上采样得到相同宽高的特征图,然后将金字塔模型所有经过上采样后的特征图按照通道方向拼接产生特征图 F F F;
  3. 特征图 F F F被用来预测输出概率图 P P P和阈值图 T T T
  4. 通过 P P P F F F可以计算出近似二值图 B ^ \hat{B} B^;

在模型训练阶段,对概率图,阈值图和近似二值图进行监督(supervision),并且概率图和近似二值图使用相同的监督(个人理解,这里的监督想要表达的应该是计算梯度值或者说是损失值)。

在模型推理阶段,可以让近似二值特征图或者概率特征图经过一个生成文本框的模块(box formulation boxes)来获得包围框。(这个生成文本框的模块要做哪些工作,这是影响推理速度的关键

3.1 二值化(Binarization)

3.1 标准二值化

对分割网络输出的概率特征图 P ∈ R H × W P\in R^{H\times W} PRH×W,其中 H H H表示特征图的高度, W W W表示特征图的宽度。通常二值化过程如下公式所示:
在这里插入图片描述
其中, t t t表示预先定义的阈值, ( i , j ) (i,j) (i,j)表示特征图中像素的坐标。

3.2 可微分二值化

从公式(1)可以知道,标准二值化是不可微分的(阶跃函数,非线性函数),因此无法直接将二值化过程加入到分割网络中进行训练。为了解决这一问题,论文提出一种近似阶跃函数的二值化方法:
在这里插入图片描述
公式(2)中, B ^ \hat{B} B^表示近似二值图, T T T表示分割网络预测的阈值图, k k k表示放大因子,根据经验一般设为50。该近似阶跃函数性能近似阶跃函数,但是可微分,如图Fig.4所示。因此,可以在训练网络中进行优化。
在这里插入图片描述
该可微的二值化过程不仅能够帮助找出背景中的文本区域,也能分割出紧密结合的文本实例,Fig.7列出了一些例子。
在这里插入图片描述
借助梯度反向传播来解释为什么DB模块可以提高检测性能。这里以二值交叉熵损失为例。这里DB函数定义为 f ( x ) = 1 1 + e − k x f(x)=\frac{1}{1+e^{-kx}} f(x)=1+e

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PAN和DBNet是两种常用的文字检测模型。它们可以用于检测图像或文档中的文字并提取出来。在文字检测后,还需要进行后处理来提高检测结果的准确性和可用性。 首先,文字检测模型(如PAN和DBNet)会将输入的图像或文档送入网络进行处理。这些模型通常包含多层卷积和池化层,以提取图像或文档中的文字特征。最终,模型会输出一个以文字边界框表示的检测结果。 然后,在得到检测结果后,需要对其进行后处理。后处理的过程主要包括以下几个步骤: 1. 去除重叠框:由于检测模型的输出可能会有一些重叠的文字边界框,需要对这些重叠的框进行处理。常用的方法是根据一定的阈值来判断两个框是否重叠,然后选择其中一个框作为最终结果。 2. 合并连接框:一些文字可能会被检测成多个连接起来的框,需要将这些框合并成一个整体。常用的方法是利用文字的拓扑结构进行合并,即根据文字边界框之间的相对位置关系来进行判断和调整。 3. 框的调整和修正:有时候检测模型可能会将文字的边界框检测得不够准确,需要对框进行一些调整和修正。比如,可以根据文字的几何信息来调整框的位置和大小,或者根据文本行的分布规律来修正框的倾斜角度。 4. 锚点生成:在某些情况下,文字检测可能会漏检或检测错误。为了解决这个问题,可以采用一些方法来生成针对漏检区域的额外锚点。这样,即便漏检了一些文字,也可以通过后续的处理来恢复或补充。 综上所述,PAN和DBNet的文字检测后处理过程包括去除重叠框、合并连接框、框的调整和修正以及锚点生成等环节。这些后处理步骤可以进一步提升文字检测的准确性和可用性,使得检测得到的文字结果更加省略具体。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值