DBnet阅读笔记


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

一、Real-Time Scene Text Detection with Differentiable Binarization

Abstract

近年来,基于分割的方法在场景文本检测中非常流行,因为分割结果可以更准确地描述各种形状的场景文本,如曲线文本。然而,二值化的后处理对于基于分割的检测是必不可少的,它将分割方法产生的概率映射转换为文本的边界框/区域。在本文中,我们提出了一个可微二值化(DB)模块,它可以在分割网络中执行二值化过程。分割网络通过对DB模块进行优化,可以自适应地设置二值化的阈值,不仅简化了后处理,而且提高了文本检测的性能。基于一个简单的分割网络,我们在5个基准数据集上验证了数据库数据集的性能改进,在检测精度和速度方面都一致地取得了最先进的结果。特别是,对于一个轻量级的骨干,DB的性能改进是显著的,因此我们可以在检测精度和效率之间寻找一个理想的权衡。具体来说,通过ResNet-18的主干,我们的检测器在MSRA-TD500数据集上实现了82.8的f-测度值,以62FPS运行。代码可在:https://github.com/MhLiao/DB上获得。

Introduction

近年来,由于其在图像/视频理解、视觉搜索、自动驾驶和盲法辅助等领域具有广泛的实际应用,在场景图像中阅读文本已成为一个活跃的研究领域。场景文本检测作为场景文本阅读的关键组成部分,旨在定位每个文本实例的边界框或区域,仍然是一项具有挑战性的任务,因为场景文本通常具有不同的尺度和形状,包括水平、多方向和弯曲的文本。基于分割的场景文本检测在像素级的预测结果中,可以描述各种形状的文本,因此引起了人们的广泛关注。然而,目前大多数方法将像素级预测结果分组到检测到的文本实例中的后处理,导致在推理过程中造成相当大的时间成本。以最近两种最先进的场景文本检测方法为例:PSENet(Wangetal.2019a)提出了逐步尺度扩展的后处理,以提高检测精度;基于分割结果,使用像素嵌入方法(Tianetal.2019)对像素进行聚类,必须计算像素间的特征距离。现有的检测方法大多使用类似的后处理管道,如图2所示(蓝色箭头后):首先,将分割网络生成的概率图设置为二值图像转换阈值;然后,使用像素聚类等启发式技术将像素分组到文本实例中。另外,我们的管道(在图2中的红色箭头后面)旨在将二值化操作插入到一个分割网络中,以进行联合优化。这样,就可以自适应地预测图像的每个位置的阈值,从而将像素与前景和背景完全区分开来。
然而,标准的二值化函数是不可微的,我们提出了一个二值化的近似函数,称为可微分二值化(DB)它与分割网络的工作完全不同。
在这里插入图片描述
本文的主要贡献是提出了可微的DB模块,这使得二值化的过程可以在CNN中端到端进行训练。通过结合一个简单的语义分割网络和所提出的DB模块,我们提出了一个鲁棒和快速的场景文本检测器。从使用DB模块的性能评估中观察到,我们发现我们的检测器比以前最先进的基于分割的方法有几个突出的优势。

1.我们的方法在场景文本的五个基准数据集上取得了持续更好的性能,包括水平、多方向和弯曲文本。
2.我们的方法比以前的领先方法执行得要快得多,因为DB可以提供一个高度健壮的二值化映射,大大简化了后处理。
3.DB在使用轻量级骨干时工作得很好,这显著提高了使用ResNet-18骨干的检测性能。
4.由于数据库可以在推理阶段被删除而不牺牲性能,因此测试没有额外的内存/时间成本。

Related Work

最近的场景文本检测方法大致可以分为两类:基于回归的方法和基于分割的方法。
基于回归方法 是直接回归文本实例的边界框的一系列模型。文本框基于SSD,用于文本检测。++和DMPNet采用四边形回归检测多向文本。SSTD提出了一种粗略识别文本区域的注意机制。RRD通过使用旋转不变特征进行分类和回归,使用旋转敏感特征进行回归,以更好地影响多面向和长文本实例。EAST和DeepReg是无锚定方法,对多面向文本实例应用像素级回归。SegLink(Shi、Bai和白龙2017)回归了片段边界方框和预测他们的链接,以处理长文本实例。DeRPN(Xieetal.2019b)提出了一个维数分解区域建议网络来处理场景文本检测中的标度问题。基于回归的方法通常采用简单的后处理算法(例如,非最大抑制)。然而,它们中的大多数仅限于表示不规则形状的精确边界框,如曲线形状。
基于分割的方法通常结合像素级预测和后处理算法来得到边界框。(Zhangetal.2016)通过语义分割和基于MSER的算法检测多面向文本。文本边界在中用来分割文本实例,屏蔽文本标注基于MaskR-CNN以实例分割方式检测任意形状的文本实例。PSENet提出了通过分割不同尺度核的文本实例的渐进尺度扩展。在(Tianetal.2019)中提出了像素嵌入的方法,从分割结果中对像素进行聚类。PSENet和SAE对分割结果提出了新的后处理算法,从而降低了推理速度。相反,我们的方法侧重于通过将二值化过程纳入训练周期来提高分割结果,而不损失推理速度。
快速的场景文本检测方法同时关注准确性和推理速度。TextBoxes、TextBoxes++、SegLink、RRD通过遵循SSD的检测体系结构实现了快速文本检测。EAST提出应用PVANet来提高其速度。其中大多数都不能处理不规则形状的文本实例,如曲线形状。与之前的快速场景文本检测器相比,我们的方法不仅运行速度更快,而且可以检测到任意形状的文本实例。

Methodology

我们所提出的方法的体系结构如图3所示。首先,将输入的图像输入到一个特征金字塔的主干中。其次,将金字塔特征上采样到相同的尺度,并级联生成特征F,然后利用特征F对概率图§和阈值图(T)进行预测。然后,由P和f计算近似二进制映射(B)。在训练期间,对概率映射、阈值映射和近似二进制映射进行监督,其中概率映射和近似二进制映射共享相同的监督。在推理期间,通过一个盒子公式模块,可以很容易地从近似的二进制映射或概率映射中得到边界框。
在这里插入图片描述

Binarization

标准二值化给定一个由分割网络产生的概率映射 P ∈ R H × W P∈R^{H×W} PRH×W,其中H和W表示映射的高度和宽度,必须将其转换为二值映射 P ∈ R H × W P∈R^{H×W} PRH×W,其中像素为1被认为是有效的文本区域。通常,这种二值化过程可以描述如下:
在这里插入图片描述
其中t是预定义的阈值, ( i , j ) (i,j) (ij)表示图中的坐标点。

Differentiable binarization

在等式中描述的标准二值化等式是不可微的。因此,它不能在训练期间与分割网络一起进行优化。为了解决这个问题,我们提出用近似阶跃函数进行二值化:在这里插入图片描述
其中, B ^ \hat B B^为近似的二进制映射; T T T是从网络中学习到的自适应阈值图; k k k表示放大因子。根据经验设置为50。这个近似的二值化函数的行为与标准的二值化函数相似(见图4),但它是可微的,因此可以在训练期间与分割网络一起进行优化。具有自适应阈值的可微二值化不仅可以帮助区分文本区域和背景,而且还可以分离紧密连接的文本实例。

DB提高性能的原因可以用梯度的反向传播来解释。让我们以二值交叉熵损失为例。将 f ( x ) = 1 1 + e − k x f(x)=\frac {1}{1+e−kx} f(x)=1+ekx1定义为我们的DB函数,其中 x = P i , j − T i , j x=P_{i,j}−T_{i,j} x=PijTij。正标签的 l + l_+ l+和负标签的 l − l_− l为:
在这里插入图片描述
我们可以很容易地用链式规则计算损失的微分:
在这里插入图片描述
l + l_+ l+ l − l_- l的衍生物也如图4所示。从差异中可以看出,(1)梯度被放大因子k增加;(2)正标签和负标签的优化具有不同的尺度。当f(x)接近1时,梯度放大显著,有利于优化,有助于产生更独特的预测。此外,作为 x = P i , j − T i , j x=P_{i,j}−T_{i,j} x=PijTij的梯度受到T在前景和背景之间的影响和重新缩放。

Adaptive threshold

图1中的阈值图从外观上与(Xue、Lu,andZhan2018)中的文本边界图相似。然而,阈值映射的动机和使用与文本边界映射不同。图6显示了有/无监督的阈值图。即使没有对阈值映射的监督,阈值映射也会突出显示文本边界区域。这表明类似边框的阈值映射有利于最终的结果。因此,我们在阈值图上应用类似边界的监督,以获得更好的指导。在实验部分讨论了关于监督的消融研究。在使用方面,我们使用(Xue,Lu,andZhan2018)中的文本边界映射来分割文本实例,而我们的阈值映射作为二值化的阈值。

Label generation

在这里插入图片描述
概率图的标签生成是受到PSENet的启发(Wangetal.2019a)。给定一个文本图像,其文本区域的每个多边形由一组段来描述:

G = ( S k ) k = 1 n ( 5 ) G = {(S_k)}^n_{k=1} (5) G=(Sk)k=1n(5)

n是顶点的数量,在不同的数据集中可能会有所不同,例如,ICDAR2015数据集有4个,CTW1500数据集有16个。然后,通过使用Vatti剪切算法将多边形G缩小到Gs来生成正区域。

收缩的偏移D由原始多边形的周长L和面积A计算:

D = A ( 1 − r 2 ) L ( 6 ) D = \frac {A(1 − r^2)} {L} (6) D=LA(1r2)(6)

其中r是收缩比,根据经验设置为0.4。

通过类似的过程,我们可以为阈值映射生成标签。首先将文本多边形 G G G以相同的偏移 D D D G d G_d Gd。我们将 G s G_s Gs G d G_d Gd之间的间隙作为文本区域的边界,其中可以通过计算到 G G G中最近段的距离来生成阈值映射的标签。

Optimization

损失函数 L L L可以表示为概率映射 L s L_s Ls的损失、二进制映射 L b L_b Lb的损失和阈值映射 L t L_t Lt的损失的加权和:

L = L s + α × L b + β × L t ( 7 ) L = L_s + α × L_b + β × L_t (7) L=Ls+α×Lb+β×Lt(7)

其中, L s L_s Ls为概率映射的损失, L b L_b Lb为二进制映射的损失。根据损失的数值, α α α β β β分别设置为1.0和10。

我们对 L s L_s Ls L b L_b Lb都应用了一个二进制交叉熵(BCE)损失。为了克服正负数的不平衡,通过对hard negative mining进行采样,在BCE损失中使用了 hard negatives。

L s = L b = ∑ i ∈ S l n y i l o g x i + ( 1 − y i ) l o g ( 1 − x i ) ( 8 ) L_s = L_b = \displaystyle\sum\limits_{i∈S_l}^n y_i log x_i + (1 − y_i) log (1 − x_i) (8) Ls=Lb=iSlnyilogxi+(1yi)log(1xi)(8)

S l S_l Sl是正负之比为1:3的抽样集。

L t L_t Lt计算为扩展文本多边形 G d G_d Gd内的预测和标签之间的 L 1 L_1 L1距离之和:

L t = ∑ i ∈ R d ∣ y i ∗ − x i ∗ ∣ ( 9 ) L_t = \displaystyle\sum\limits_{i∈R_d} |y_i^*− x_i^* | (9) Lt=iRdyixi(9)

其中, R d R_d Rd是扩张多边形 G d G_d Gd内像素的一组索引; y ∗ y^∗ y是阈值映射的标签。

在推理期间,我们可以使用概率映射或近似的二进制映射来生成文本边界框,从而产生几乎相同的结果。为了提高效率,我们使用概率映射,以便可以删除阈值分支。盒子形成过程包括三个步骤:(1)首先对概率图/近似二值映射进行常数阈值(0.2)二值化,得到二值映射;(2)从二进制映射中获得连接区域(缩小文本区域);(3)收缩区域扩张与偏移Vatti裁剪算法(Vati1992)。

Experiments

Datasets SynthText(古普塔、维达尔迪和齐泽尔曼2016)是一个由80万张图像组成的合成数据集。这些图像是由8k个背景图像合成的。这个数据集只用于预训练我们的模型。
ICDAR2015数据集 由1000张训练图像和500张测试图像组成,由谷歌眼镜捕获,分辨率为720×1280。文本实例将在单词级别上进行标记。
MSRA-TD500数据集 是一个包括英语和中文的多语言数据集。有300张训练图像和200张测试图像。文本实例将在文本行级别中进行标记。按照之前的方法(Zhou等人2017;Lyu等人2018b;Long等人2018),我们加入了来自HUSTTR400的额外400张训练图像(姚、白和刘2014)。
CTW1500数据集 CTW1500(Liuetal.2019a)是一个专注于曲线文本的数据集。它包括1000张训练图像和500张测试图像。这些文本实例在文本行级别上进行了注释。
Total-Text数据集 是一个数据集,它包括各种形状的文本,包括水平、多方向和弯曲。它们是1255张训练图像和300张测试图像。文本实例将在单词级别上进行标记。

Implementation details

对于所有的模型,我们首先用SynthText数据集对它们进行100k次迭代的预训练。然后,我们在相应的1200个时代的真实数据集上对模型进行了微调。训练批的大小被设置为16。我们遵循一个多聚学习率策略,其中当前迭代的学习率等于初始学习率乘以 ( 1 − i t e r m a x − i t e r ) p o w e r (1 −\frac {iter}{max-iter} )^{power} (1maxiteriter)power,其中初始学习率设置为0.007,power为0.9。我们使用的权重衰减为0.0001,动量为0.9。最大iter表示最大迭代次数,这取决于最大周期。

训练数据的数据增强包括:(1)随机旋转,角度范围为 ( − 1 0 ◦ , 1 0 ◦ ) (−10^◦,10^◦) 1010;(2)随机裁剪;(3)随机翻转。所有处理后的图像都被调整为640×640,以提高训练效率。

Ablation study

我们对MSRA-TD500数据集和CTW1500数据集进行了消融研究,以显示我们提出的可微二值化、可变形卷积和不同主干的有效性。具体实验结果见表1。
在这里插入图片描述
Differentiable binarization。1,我们可以看到,我们提出的数据库显著提高了ResNet-18和ResNet-50在两个数据集上的性能。对于ResNet-18主干,DB在MSRA-TD500数据集和CTW1500数据集的f上分别实现了3.7%和4.9%的性能增益。对于ResNet-50主干,DB带来了3.2%(在MSRA-TD500数据集上)和4.6%(在CTW1500数据集上)的改进。此外,由于DB可以在推理周期内被删除,所以其速度与没有DB的速度相同。

Deformable convolution 1.可变形卷积也可以带来1.5−5.0的性能提高,因为它为主干提供了一个灵活的接受域,与小的额外时间成本。对于MSRA-TD500数据集,可变形卷积使f增加了1.5%(使用ResNet-18)和5.0%(使用ResNet-50)。对于CTW1500数据集,通过可变形卷积,可以实现了3.6%(使用ResNet-18)和4.9%(使用ResNet-50)的改进。

Supervision of threshold map 虽然有/没有监督的阈值图在外观上相似,但监督可以带来性能的提高。如标签页中所示。2、对MLT-2017数据集的监督效果分别提高了0.7%(ResNet-18)和2.6%(ResNet-50)。

Backbone 所提出的具有ResNet-50主干的检测器比ResNet-18具有更好的性能,但运行速度较慢。具体来说,最好的ResNet-50模型比最好的ResNet-18模型高出2.1%(在MSRA-TD500数据集上)和2.4%(在CTW1500数据集上),其时间成本大约是两倍。

与以前的方法进行比较 我们在五个标准基准上将我们提出的方法与以前的方法进行比较,包括两个弯曲文本基准,一个用于多面向文本的基准,以及两个用于长文本行的多语言基准。一些定性结果如图7所示。
在这里插入图片描述
弯曲文本检测我们在两个弯曲的文本基准测试(总文本和CTW1500)上证明了我们的方法的形状鲁棒性。如表3和表4所示,我们的方法在精度和速度上都达到了最先进的性能。具体来说,“DB-ResNet-50”在TotalText和CTW1500数据集上比之前最先进的方法高出1.1%和1.2%。“DB-ResNet-50”比以前所有方法都快,速度可以通过使用ResNet-18主干进一步提高,性能略有下降。与最近基于分割的检测器(Wangetal.2019a)在总文本上运行3.9FPS相比,“DB-ResNet-50(800)”快8.2倍,“DBResNet-18(800)”快12.8倍。

多面向文本检测 ICDAR2015数据集是一个多面向文本的文本数据集,它包含许多小的和低分辨率的文本实例。在选项卡中。5,我们可以看到“DB-ResNet-50(1152)”在精度上达到了最先进的性能。与之前最快的方法相比,“DB-ResNet-50(736)”在精度上比它高出7.2%,运行速度快两倍。对于“DBResNet-18(736)”,当ResNet-18应用于主干时,速度可以是48f每秒,f值为82.3。

在这里插入图片描述
Multi-language text detection 该方法对多语言文本检测具有良好的鲁棒性。如表6和表7所示DB-ResNet-50在准确性和速度上都优于以往的方法。在准确性方面,DB-ResNet-50在MSRA-TD-500和MLT-2017数据集上分别比之前最先进的方法高了1.9%和3.8%。在速度方面,DB-ResNet-50在MSRA-TD500数据集上比之前最快的方法(Liaoetal.2018)快3.2倍。DBResNet-18(736)与之前的最先进方法(Liu等人2018)(82.8和82.8比83.0),运行在62FPS,比之前的最快的方法(Liao等人2018)快6.2倍。通过减小输入大小,速度可以进一步加速到82FPS(“ResNet-18(512)”)。
在这里插入图片描述
在这里插入图片描述
检测任意形状的场景文本,其中包括在分割网络中提出的可微二值化过程(DB)。实验验证了我们的方法(ResNet-50)在5个标准场景文本基准测试方面始终优于最先进的方法。特别是,即使使用了一个轻量级的主干网(ResNet-18),我们的方法也可以在具有实时推理速度的所有测试数据集上实现具有竞争力的性能。在未来,我们有兴趣扩展我们的端到端文本定位方法。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值