Real-Time Scene Text Detection with Differentiable Binarization and Adaptive Scale Fusion


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

Real-Time Scene Text Detection with Differentiable Binarization and Adaptive Scale Fusion

Abstract

近年来,基于分割的场景文本检测方法由于在检测任意形状和极端长宽比方面具有优势,利用像素级描述,在场景文本检测领域引起了广泛的关注。然而,绝大多数现有的基于分割的方法局限于复杂的后处理算法和分割模型的规模鲁棒性,后处理算法不仅是孤立的模型优化也耗时和规模鲁棒性通常是直接通过融合多尺度特征图。在本文中,我们提出了一个可微二值化(DB)模块,该模块将二值化过程集成到一个分割网络中,这是后处理过程中最重要的步骤之一。分割网络与所提出的DB模块一起进行优化,可以产生更准确的结果,通过一个简单的管道提高了文本检测的准确性。此外,还提出了一种有效的自适应尺度融合(ASF)模块,通过自适应融合不同尺度的特征来提高尺度的鲁棒性。通过将所提出的DB和ASF与分割网络结合起来,我们所提出的场景文本检测器在五个标准基准上,在检测精度和速度方面,始终取得了最先进的结果。

1 INTRODUCTION

场景文本检测是场景文本阅读的重要组成部分,其目的是实现图像中文本实例的定位。虽然近年来取得了巨大的进展,但由于文本实例的不同尺度、不规则的形状和极端的纵横比,场景文本检测仍然具有挑战性。

基于分割的场景文本检测器由于其像素级表示和局部预测,在处理不规则形状和极高宽比的文本实例方面具有优势。然而,大多数算法依赖于复杂的后处理算法将像素分组到文本区域,从而在推理期间造成了相当大的时间成本。

例如,PSENet采用渐进尺度扩展算法对多尺度结果进行集成,Tian等采用像素嵌入的方法,通过计算像素间的特征距离对像素进行分组。此外,他们主要通过应用特征金字塔或U-Net结构融合不同尺度的特征图来提高分割网络的尺度鲁棒性,而对没有明确的不同尺度的文本实例自适应地融合多尺度特征。

在这里插入图片描述
图2描述了一个基本的后处理管道(蓝色箭头后):首先,应用恒定阈值的阶跃函数将分割网络生成的概率图转换为二值图像;然后,使用像素聚类等启发式技术将像素分组到文本区域。上述两个过程都是独立的,没有参与分割网络的训练过程,这可能会导致检测精度较低。为了在保持效率的同时进行更有效的后处理过程,我们建议将二值化操作插入到分割网络中进行联合优化(图2中红色箭头所示)。第一,可以自适应的预测阈值图其中的阈值在不同的区域可能是不同的。这种设计的灵感来自于观察到文本实例的边界区域可能在分割结果中低于可信区域的中心区域。然后,我们引入了一个近似的二值化函数,称为可微二值化(DB),它使用阈值映射对分割映射进行二值化。通过这种方式,将分割网络与二值化过程进行联合优化,从而得到更好的检测结果。

在这里插入图片描述
与以往直接融合多尺度特征图来提高分割网络的尺度鲁棒性的方法不同,我们提出了一种自适应尺度融合(ASF)模块来自适应融合多尺度特征图。ASF将一个空间注意模块集成到一个阶段性的注意模块中。阶段性注意模块学习不同尺度的特征图的权重,空间注意模块学习跨空间维度的注意,导致尺度鲁棒特征融合。

本文是其会议版本DBNet[26]的扩展。它从两个方面扩展了会议版本。首先,它提出了一个ASF模块,以进一步提高分割模型的规模鲁棒性,而没有明显的效率损失。所提出的ASF所带来的改进与场景文本基准测试的尺度分布呈正相关。其次,我们对所提出的DB模块进行了更全面的理论分析。

通过将所提出的DB模块和ASF模块集成到一个分割网络中,创建了一个精确、鲁棒、高效的场景文本检测器DBNet++。利用与分割网络的联合优化,DB不仅提高了分割结果的质量,而且形成了一种更简单的后处理算法。通过将ASF应用于分割网络,明显增强了其检测不同尺度文本实例的能力。DBNet++的突出优点如下:

(1)与所提出的DB模块联合优化,我们的分割网络可以产生高度鲁棒的分割结果,显著提高文本检测结果。
(2)由于DB可以在推理期间被删除而不牺牲准确性,因此推理没有额外的内存/时间成本。
(3)所提出的ASF模块可以有效地提高分割模型的尺度鲁棒性。
(4)DBNet++在五个场景文本检测基准测试上实现了一致的最先进的精度,包括水平、多方向和弯曲文本。

2 RELATED WORK

2.1 Text Detection

早期的场景文本检测方法通常检测单个字符或组件,然后将它们分组成单词。Neumann和Matas提出通过对极值区域(ERs)进行分类来定位性状。他们提出了字符检测问题作为一个从极值区域集的有效序列选择。然后,将检测到的ERs分为单词。贾德伯格等人首先使用一个提案生成器生成候选词。然后,用随机森林分类器对候选词进行过滤。最后,利用回归网络对剩余的候选词进行了细化。近年来,深度学习在场景文本检测领域占据了主导地位。基于深度学习的场景文本检测方法可以根据预测目标的粒度大致分为三类:基于回归的方法、基于部分的方法和基于分割的方法。

基于回归方法是直接回归文本实例的边界框的一系列模型。TextBoxes修改了基于SSD的卷积内核的锚点和规模,用于文本检测。TextBoxes++和DMPNet应用四边形回归检测多方向文本。SSTD提出了一种粗略识别文本区域的注意机制。 RRD利用旋转不变特征进行分类和回归,以更好地影响多面向和长文本实例。EAST和DeepReg是一种无锚定的方法,它对多面向文本实例应用像素级回归。 DeRPN提出了一种能够处理场景文本检测中的尺度问题的维度分解区域建议网络。基于回归的方法通常采用简单的后处理算法(例如,非最大抑制)。然而,它们中的大多数仅限于表示不规则形状的精确边界框,如曲线形状。

基于部分的方法首先检测文本实例中的小部分,然后将它们组合到文本行边界框中。SegLink回归文本段的边界框并预测它们的链接,以处理长文本实例。SegLink++进一步提出了一种基于实例感知的单词分组算法来更有效地分离封闭的文本实例,并改进了链接算法来拟合任意形状的文本实例。这些方法通常擅长于检测长文本行。然而,链接算法是相当复杂的,这使得它们很难调整。

基于分割的方法通常结合像素级预测和后处理算法来得到边界框。Zhang等人,通过语义分割和基于MSER的算法检测多向文本。在Xue等人的中使用了文本边框来分割文本实例。Mask TextSpotter基于MaskR-CNN,以实例分割的方式检测到任意形状的文本实例。PSENet提出了通过分割不同尺度内核的文本实例的渐进尺度扩展。Tian等人的提出了像素嵌入的方法,根据分割结果对像素进行聚类。PSENet和SAE对分割结果提出了新的后处理算法,从而降低了推理速度。相反,我们的方法侧重于通过将二值化过程纳入训练周期来改进分割结果,而不损失推理速度。

快速场景文本检测方法关注的准确性和推理速度。TextBoxes , TextBoxes++ , SegLink 和 RRD通过SSD检测架构实现快速文本检测。EAST建议使用无锚点设计,以实现精度和速度之间的良好权衡。其中大多数不能处理不规则形状的文本实例,如曲线形状。与之前的快速场景文本检测器相比,我们的方法不仅运行速度更快,而且可以检测到任意形状的文本实例。PAN 提出采用一种低计算成本低的分割头和可学习的后处理方法进行场景文本检测,得到一种高效、准确的任意形状文本检测器。由于具有简单、高效的可微二值化算法,我们提出DBNet++执行得更准确、更高效。

2.2 Attention Mechanisms for Image Classification

以往的一些图像分类方法都是利用通道注意和空间注意来提高图像分类的准确性。Wang等人提出了用于图像分类的残差注意网络。采用通道注意和空间注意相结合的方法,为特征产生软掩模。Hu等人提出了一个““Squeeze-and-Excitation”块,通过显式地建模通道之间的相互依赖关系来重新校准通道级的特征响应。Woo提出采用通道注意模块和空间注意模块对其特征进行细化。这些方法主要通过不同类型的注意力来细化独立的特征。我们提出的自适应尺度融合侧重于融合不同尺度的特征。

2.3 Multi-Scale Feature Fusion and Context Enhancement for Semantic Segmentation

上下文是语义分割方法的关键。上下文和尺度是两个高度相关的概念,其中上下文可以帮助感知大尺度的对象/场景,而多尺度的融合策略通常可以提供更多的上下文。因此,多尺度特征融合是语义分割方法中常用的一种方法。

多尺度特征融合 FCN首先提出了全卷积网络来融合多尺度特征和上采样层。U-net采用了跳过连接,直接连接了底层特征和高层特征,同时继承了FCN的结构。PSPNet和Deeplabv3分别提出了金字塔池模块(PPM)和相邻空间金字塔池模块(ASPP)进行多尺度特征融合。RefineNet, Deeplabv3+, DFN, and SPGNet 采用融合高级和低级特征的编解码器结构,获得更多的鉴别特征。与这些多尺度特征融合方法相比,我们提出的ASF学习了多尺度特征的权重,以及跨尺度和空间维度的注意力。

语义增强与关注机制 注意机制在语义分割方法中很流行。ANN、CCNet、GCNet、DANet和ACFNet都使用自我关注来融合不同的上下文信息特征。Choi等人利用高度驱动的注意力从多尺度特征中获取高度维度信息。与这些将注意机制应用于空间维度来增强背景的方法相比,我们提出的ASF关注的是多尺度特征的注意融合。

3 METHODOLOGY

我们所提出的方法的体系结构如图3所示。首先,将输入的图像输入到一个特征金字塔的主干中。其次,将金字塔特征上采样到相同的尺度,并将其传递给自适应尺度融合(ASF)模块,生成上下文特征F,然后利用特征F对概率图§和阈值图(T)进行预测。然后,由P和F计算近似二进制映射(B)。在训练期间,对概率映射、阈值映射和近似二进制映射进行监督,其中概率映射和近似二进制映射共享相同的监督。在推理期间,通过回归框形成过程从近似二进制映射或概率映射中得到边界框。

3.1 Adaptive Scale Fusion

在这里插入图片描述
在这里插入图片描述

不同量表的特征具有不同的感知和接受域,因此它们侧重于描述不同量表的文本实例。例如,浅尺寸或大尺寸特征可以感知小文本实例的细节,但不能捕获大文本实例的全局视图,而深尺寸或小尺寸特征则相反。为了充分利用不同尺度的特征,语义分割方法通常采用特征金字塔或U-Net结构。与大多数通过简单的级联或总结来融合不同尺度特征的语义分割方法不同,我们提出的自适应尺度融合是为了动态地融合不同尺度的特征。

如图4所示,不同尺度的特征在进入ASF模块之前具有相同的分辨率,假设输入特征图由N个特征图组成 X ∈ R N × C × H × W = X i i = 0 N − 1 X∈R^{N×C×H×W}={X_i}^{N-1}_{i=0} XRN×C×H×W=Xii=0N1,其中N设置为4。
首先,我们将缩放后的输入特征X连接起来,然后遵循一个3×3的卷积层,得到一个中间特征 S ∈ R C × H × W S∈R^{C×H×W} SRC×H×W。其次,通过对特征S应用空间注意模块,可以计算出注意权重 A ∈ R N × H × W A∈R^{N×H×W} ARN×H×W。第三,将注意权值A沿信道维度分割成N个部分,并与相应的尺度特征进行加权相乘,得到融合特征 F ∈ R N × C × H × W F∈R^{N×C×H×W} FRN×C×H×W。这样,注意力机制的定义为:
在这里插入图片描述
其中contat表示连接操作符;Conv表示3×3卷积运算子;空间注意表示一个空间注意模块,如图4所示。ASF中的空间注意机制使得注意权重在整个空间维度上更加灵活。

3.2 Binarization

Standard Binarization 给定一个概率地图 P ∈ R H × W P∈R^{H×W} PRH×W由分割网络产生,其中H和W表示地图的高度和宽度,必须将其转换为二进制图 B ∈ R H × W B∈R^{H×W} BRH×W,其中值为1的像素被认为是有效的文本区域。通常,这个二值化过程可以描述如下:
在这里插入图片描述
其中t是预定义的阈值,(i,j)表示图中的坐标点。
Differentiable Binarization 在等式中描述的标准二值化方法2是不可微分的。因此,它不能在训练期间与分割网络一起进行优化。为了解决这个问题,我们提出用近似阶跃函数进行二值化。
B i , j = 1 1 + e − k ( P i , j − T i , j ) B_{i,j} = \frac{1}{1 + e^{−k(P_{i,j}−T_{i,j} )}} Bi,j=1+ek(Pi,jTi,j)1
其中,B为近似的二进制映射;T是从网络中学习到的自适应阈值图;K为放大因子,根据经验设置为50。这个近似的二值化函数的行为与标准的二值化行为相似,但由于是可微的,因此可以在训练期间随着分割网络一起进行优化,具有自适应阈值的可微二值化不仅可以帮助区分文本区域和背景,而且还可以分离紧密连接的文本实例。
在这里插入图片描述

3.3 Analysis of Differentiable Binarization

DB提高性能的原因可以用反向传播中的梯度来解释。让我们以二值交叉熵损失为例。二元交叉熵损失可以表示为:
L b c e = − 1 N ∑ i = 1 H ∑ j = 1 W y i , j → l o g ( y i , j ) + ( 1 − y i , j → ) l o g ( 1 − y i , j ) ( 4 ) L_{bce} = − \frac{1}{N} \sum ^{H}_{i=1}\sum ^{W}_{j=1}y_{i,j}^\rightarrow log(y_{i,j} ) + (1− y_{i,j}^\rightarrow )log(1−y_{i,j} ) (4) Lbce=N1i=1Hj=1Wyi,jlog(yi,j)+(1yi,j)log(1yi,j)(4)
y i , j → y_{i,j}^\rightarrow yi,j取值为0或1,表示的是目标的像素,y_{i,j}取值为0到1,表示的是取值的概率,在分割任务中,正标签的损失l+和负标签的损失l−为:
l + = − l o g ( y i , j ) l^+ = − log(y_{i,j} ) l+=log(yi,j) l − = − l o g ( 1 − y i , j ) l^− = − log(1 − y_{i,j} ) l=log(1yi,j)
Without Considering Activation Function

分割损失的微分可以用链式规则计算出来:
在这里插入图片描述
x i , j = P i , j − T i , j x_{i,j} = P_{i,j} − T_{i,j} xi,j=Pi,jTi,j,DB函数可以表示为: B i , j = 1 1 + e − k x i , j B_{i,j} = \frac{1}{1 + e^{−kx_{i,j}}} Bi,j=1+ekxi,j1,同样,正标签的损失 l b + l_b^+ lb+和负标签的损失 l b − l_b^− lb为:
l b + = − l o g 1 1 + e − k x i , j l_b^+ = − log \frac{1}{1 + e^{−kx_{i,j}}} lb+=log1+ekxi,j1
l b − = − l o g ( 1 − 1 1 + e − k x i , j ) l_b^−=− log(1− \frac {1}{1+e^{−kx_{i,j}}}) lb=log(11+ekxi,j1)

与DB函数的损失差异如下:
在这里插入图片描述
等式中损失导数的数值等式6和等式8也分别显示在图5b和图5c中,从中我们可以感知到:
(1) 在边缘周围的微分的大小,对于标准的二进制交叉熵损失(顶部),DB函数的损失在正值和负值的边界值(0.5)之间差距较小,因此,当预测值不明确时,如0.4或0.6时,反向传播或反馈可能不显著;对于具有可微二值化的二值交叉熵(底部),DB函数的损失在正值和负值的边界值(0)之间差距较大,是因为其中增加了放大因子k。因此,所提出的可微二值化有助于围绕边界值产生更独特的预测。
(2) 最小上界和最大下界,对于顶部的标准二进制交叉熵损失,没有最大的下限和最小的上限。对于具有可微二值化的二值交叉熵,最大下界和最小上界由k决定。

Considering Activation Function

在实际应用中,激活函数(Sigmoid)应用于两个公式,可以约束导数,缓解“最小上界和最大下界”的问题:
在这里插入图片描述
其中, − v i , j −v_{i,j} vi,j v i , j d b v^{db}_{i,j} vijdb表示sigmoid激活前的输出值; T i , j T_{i,j} Tij表示自适应阈值,这样,损失的差分就可以通过进行更新:
在这里插入图片描述
在这里插入图片描述
如图6所示,当错误的预测值接近边值时,初始化放大了反向传播的反馈。因此,所提出的可微二值化方法使模型侧重于优化模糊区域的预测。此外,sigmoid函数缓解了“最小上界和最大下界”的问题,而DB进一步降低了对极小/大值的惩罚。

3.4 Adaptive Threshold

图1中的阈值图从外观上看与[56]中的文本边框图相似,然而,阈值映射的动机和使用与文本边界映射不同。图7中显示了有/没有监督的阈值图,即使没有对阈值映射的监督,阈值映射也会突出显示文本边界区域。这表明类似边界的阈值映射有利于最终的结果。因此,我们在阈值图上应用类似边界的监督,以获得更好的指导。在实验部分讨论了关于自适应阈值监督的消融研究。对于使用,[56]中的文本边框映射用于分割文本实例,而我们的阈值映射则用作二值化的阈值。
在这里插入图片描述

3.5 Deformable Convolution

可变形卷积,可以为模型提供一个灵活的接受域,这尤其有利于极端纵横比的文本实例。在[66]之后,在ResNet-18或ResNet-50主干的所有3×3、4和5阶段卷积层中应用调制可变形卷积。

3.6 Label Generation

概率映射的标签生成的灵感来自于PSENet。给定一个文本图像,其文本区域的每个多边形由一组段来描述:
G = S k k = 1 n G = {S_k}^n_{k=1} G=Skk=1n
N是顶点的数量,它在不同的数据集中可能是不同的,4用于ICDAR2015数据集,16用于CTW1500数据集。然后利用Vatti剪切算法将多边形G缩小到Gs,生成正区域。收缩的偏移量D由原始多边形的周长L和面积A计算得出:
D = A ( 1 − r 2 ) L D =\frac{ A(1 − r^2)}{ L} D=LA(1r2)
通过类似的过程,我们可以为阈值映射生成标签。首先将文本多边形G以相同的偏移D到 G d G_d Gd。我们认为 G g G_g Gg G d G_d Gd之间的差距是文本区域的边界,阈值映射可以通过计算到G中最近段的距离来生成。

3.7 Optimization

损失函数L可以表示为概率映射 L s L_s Ls的损失、二值映射 L b L_b Lb的损失和阈值映射 L t L_t Lt的损失的加权和。
L = L s + α × L b + β × L t L = L_s + α × L_b + β × L_t L=Ls+α×Lb+β×Lt
根据损失的数值,α和β分别设置为1.0和10。
我们对Ls和Lb都应用了一个二进制交叉熵(BCE)损失。为了克服正负数量的不平衡,通过对硬负进行采样,在BCE损失中使用硬负挖掘。
L s = L b = ∑ i ∈ S l y i l o g x i + ( 1 − y i ) l o g ( 1 − x i ) L_s = L_b = \sum_{i∈S_l} y_i log x_i + (1 − y_i) log (1 − x_i) Ls=Lb=iSlyilogxi+(1yi)log(1xi)
S l S_l Sl是正负之比为1:3的采样集。它由所有的正数和前k个负数组成(按预测概率的值排序),其中k是正数的3倍。
L t = ∑ i ∈ R d ∣ y i ∗ − x i ∗ ∣ L_t = \sum_{i∈R_d} |y_i^∗ − x_i^* | Lt=iRdyixi
L t L_t Lt计算为扩展文本多边形 G d G_d Gd内的预测和标签之间的 L 1 L_1 L1距离之和,其中, R d R_d Rd是扩张多边形 G d G_d Gd内像素的一组索引; y ∗ y^∗ y是阈值映射的标签。

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

4 EXPERIMENTS

4.1 Datasets

实验中使用的场景文本数据集描述如下。
SynthText: 是一个由800k张图像组成的合成数据集。这些图像是由8k个背景图像合成的。这个数据集只用于预训练我们的模型。
MLT-2017 dataset :是一个多语言数据集。它包括9种语言,代表6种不同的脚本。在这个数据集中有7200张训练图像,1800张验证图像和9000张的测试图像。我们在微调期间同时使用训练集和验证集。
MLT-2019 dataset: 是一个多语言数据集。这是MLT-2017的延伸。它包括7种代表不同脚本的10种语言。这些语言包括汉语、日语、韩语、英语、法语、阿拉伯语、意大利语、德语、孟加拉语和印地语(梵语)。在这个数据集中有10000张训练图像,2000张验证图像和10000张测试图像。我们在微调期间使用训练集。
ICDAR 2015 dataset:由1000张训练图像和500张测试图像组成,由谷歌眼镜捕获,分辨率为720×1280。文本实例将在单词级别上进行标记。
MSRA-TD500 dataset:是一个包括英语和中文的多语言数据集。有300张训练图像和200张测试图像。这些文本实例将在文本行级别上进行标记。按照之前的方法,我们包括了来自HUST-TR400的额外的400张训练图像。
CTW1500:主要关注曲线文本。它包括1000张训练图像和500张测试图像。这些文本实例在文本行级别上进行了注释。
Total-Text dataset:包括各种形状的文本,包括水平、多方向和弯曲。它们是1255张训练图像和300张测试图像。文本实例将在单词级别上进行标记。

4.2 Implementation Details

对于所有的模型,我们首先用SynthText数据集对它们进行100k次的迭代预训练。然后,我们在相应的1200个时代的真实数据集上对模型进行了微调。培训批的大小设置为16。我们遵循一个“多聚”学习率策略,其中初始学习率设置为0.007,幂为0.9,最大周期是指最大的迭代次数,这取决于最大周期。

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

在推理期间,我们保持测试图像的长宽比,并通过为每个数据集设置一个合适的高度来重新调整输入图像的大小。推理速度测试与批量大小为1,使用一个GTX1080Ti GPU。推理时间成本由模型转发时间成本和后处理时间成本组成。后处理时间成本约为推理时间的30%。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值