(三十一)论文阅读 | 文本检测之EAST


简介

在这里插入图片描述

图1:论文原文

本文介绍的是发表在 C V P R   2017 {\rm CVPR\ 2017} CVPR 2017的一篇关于文本检测的文章。 E A S T {\rm EAST} EAST是两阶段的文本检测模型,具有简单高效等的特点,是当前主流的文本检测模型之一。 E A S T {\rm EAST} EAST在同期的 I C D A R   2015 {\rm ICDAR\ 2015} ICDAR 2015 C O C O {\rm COCO} COCO- T e x t {\rm Text} Text M S R A {\rm MSRA} MSRA- T D 500 {\rm TD500} TD500数据集上达到了 S O T A {\rm SOTA} SOTA论文原文 源码


0. Abstract

当前,基于深度学习的文本检测算法获得了巨大的进展。但是,在面对具有挑战性的场景时仍不能表现出令人满意的结果,这是因为当前大多数模型的性能受到多个阶段的共同作用。论文提出一种简单高效的自然场景文本识别算法,它能够应对任意朝向和形状的文本,且不需要候选聚合和单词分区等操作。 E A S T {\rm EAST} EAST在多项公开数据集上获得了 S O T A {\rm SOTA} SOTA

论文贡献:(一)提出一个简单高效的两阶段文本检测模型;(二) E A S T {\rm EAST} EAST可以实现字符级和文本级的检测。


1. Introduction

近年来,提取和理解自然场景中的文本信息成为了研究的热点。文本检测在文本信息提取和理解中扮演了重要的角色,它是后续操作的先决条件。文本检测算法的核心是基于文本特征从背景图像中提取出文本区域,发展过程从传统手工提取特征到基于深度学习的特征提取。但是,当前大多数的文本检测算法由多个阶段组成,这会带来计算量的增加和陷入次优解。论文提出一种简单高效的文本检测算法,算法整体仅含有两个步骤,直接通过 F C N {\rm FCN} FCN产生单词和文本级的预测结果。预测结果可以包含旋转矩形框或任意四边形,然后通过非极大值抑制得到最终的预测结果。相比于当前的文本检测算法, E A S T {\rm EAST} EAST的速度更快、精度更高。


2. Related Work

传统的文本检测和文本识别方法依赖于手工提取特征。 S W T {\rm SWT} SWT M S E R {\rm MSER} MSER基于边缘检测和极值区域检测得到候选区域。 F A S T e x t {\rm FASText} FASText基于笔画提取的快速关键点检测器,构建一个快速的文本检测系统。但是,传统方法在处理低分辨率、几何形变等场景时均落后于深度学习。当前,基于深度学习的文本检测算法成为研究主流。相关文章可以从论文的相关工作部分找到。但是,当前基于深度学习的文本检测模型的一大共性是由多个阶段组成,当某个阶段出现假阳性的检测结果时会影响最终的检测结果。同时,引入多个阶段会带来计算量的增加。论文基于 F C N {\rm FCN} FCN涉及了一个两阶段的文本检测算法,可以实现端到端的训练。模型结构对比如下图:
在这里插入图片描述

图2:Pipeline对比


3. Methodology

3.1 Pipeline

在这里插入图片描述

图3:EAST

如上图,最左边部分是轻量级骨干网络 P V A N e t {\rm PVANet} PVANet;中间是特征融合分支;最右边部分是 E A S T {\rm EAST} EAST的输出。输出共包含三个部分:得分图, R B O X {\rm RBOX} RBOX用于处理文本区域的几何形变和 Q U A D {\rm QUAD} QUAD用于预测四边形文本区域的四个顶点。其中, R B O X {\rm RBOX} RBOX主要用于处理旋转的四边形; Q U A D {\rm QUAD} QUAD用于处理透视变换后的四边形。

3.2 Network Design

在设计网络时,必须考虑以下因素:使用浅层特征预测小文本区域,使用深层特征预测大文本区域。因此,预测所用的特征图必须包含上下文信息。如上图,依次将 32 、 16 、 8 、 4 {\rm 32、16、8、4} 321684倍下采样的特征图表示为 f i f_i fi。然后,采用以下规则合并特征图。 g i = { u p p o o l ( h i )    i f     i ≤ 3 c o n v 3 × 3 ( h i )    i f     i = 4 (1) g_i=\begin{cases} {\rm uppool}(h_i)& \ \ {\rm if}\ \ \ i\le3\\ {\rm conv}_{3×3}(h_i)& \ \ {\rm if}\ \ \ i=4 \end{cases}\tag{1} gi={uppool(hi)conv3×3(hi)  if   i3  if   i=4(1)

h i = { f i    i f     i = 1 c o n v 3 × 3 ( c o n v 1 × 1 ( [ g i − 1 ; f i ] ) )    o t h e r w i s e (2) h_i=\begin{cases} f_i& \ \ {\rm if}\ \ \ i=1\\ {\rm conv}_{3×3}({\rm conv}_{1×1}([g_{i-1};f_i]))& \ \ {\rm otherwise} \end{cases}\tag{2} hi={ficonv3×3(conv1×1([gi1;fi]))  if   i=1  otherwise(2)

在输出部分,得分图的通道数为 1 1 1,表示当前文本区域的置信度; R B O X {\rm RBOX} RBOX的通道数为 5 5 5,分别表示旋转角度和轴对齐的边界框(来自于 A A B B {\rm AABB} AABB); Q U A D {\rm QUAD} QUAD的通道数为 8 8 8,表示对于四边形四个顶点的水平坐标偏移。

3.3 Label Generation

3.3.1 Score Map Generation for Quadrangle

不失一般性,论文只针对四边形区域计算损失。这里并不是针对整个四边形区域计算损失,而是使用原四边形的缩小版本,这里主要考虑减小标注时的误差,也减少了文本区域边缘的背景信息的干扰。其中缩小规则如下。对于四边形 Q = { p i ∣ i ∈ { 1 , 2 , 3 , 4 } } {\bold Q}=\{p_i|i\in\{1,2,3,4\}\} Q={pii{1,2,3,4}},其中 p i p_i pi为四边形顺时针方向的四个顶点。然后计算每个点 p i p_i pi的参考长度: r i = min ⁡ ( D ( p i , p ( i   m o d   4 ) + 1 ) , D ( p i , p ( ( i + 3 )   m o d   4 ) + 1 ) ) (3) r_i=\min({\rm D}(p_i,p_{(i\ {\rm mod}\ 4)+1}),{\rm D}(p_i,p_{((i+3)\ {\rm mod}\ 4)+1}))\tag{3} ri=min(D(pi,p(i mod 4)+1),D(pi,p((i+3) mod 4)+1))(3)

其中, D ( p i , p j ) {\rm D}(p_i,p_j) D(pi,pj)表示 p i p_i pi p j p_j pj之间的 L 2 L_2 L2距离。具体地,首先缩小四边形较长的两条边,然后再缩放较短的两条边。长短边的定义是根据相对边长度的平均值而定。对于每条边 ⟨ p i , p ( i   m o d   4 ) + 1 ⟩ \langle p_i,p_{(i\ {\rm mod}\ 4)+1} \rangle pi,p(i mod 4)+1,将它的两个端点分别向内移动 0.3 r i 0.3r_i 0.3ri 0.3 r ( i   m o d   4 ) + 1 0.3r_{(i\ {\rm mod}\ 4)+1} 0.3r(i mod 4)+1。即下图中的将黄色虚线的标注框缩小为绿色框,同时生成后一幅图中的掩膜作为训练标签。
在这里插入图片描述

图4:score map

3.3.2 Geometry Map Generation

在这里插入图片描述

图5:RBOX

前面提到, R B O X {\rm RBOX} RBOX的输出有 5 5 5个通道,分别表示几何位置和旋转角度。如上图首先生成一个最小的外接矩形框包围文本区域,即上图中的粉色框。输出的四个通道的值分别表示正得分像素到框边界的距离,一个通道的值表示相对于水平的旋转角度。对于 Q U A D {\rm QUAD} QUAD,直接计算相对于真实框的顶点偏移。

3.4 Loss Functions

L = L s + λ g L g (4) L=L_s+\lambda_gL_g\tag{4} L=Ls+λgLg(4)

其中, L s L_s Ls L g L_g Lg分别表示得分图和几何位置的损失, λ g \lambda_g λg是平衡系数。

3.4.1 Loss for Score Map

论文引入类平衡交叉熵损失函数: L s = b a l a n c e d   x e n t ( Y ^ , Y ∗ ) = β Y ∗ log ⁡ ( Y ^ ) − ( 1 − β ) ( 1 − Y ∗ ) log ⁡ ( 1 − Y ^ ) (5) \begin{aligned}L_s & ={\rm balanced\ xent({\hat{\bold Y}},{\bold Y}^*)} \\& =\beta{\bold Y}^*\log({\hat{\bold Y}})-(1-\beta)(1-{\bold Y}^*)\log(1-{{\hat{\bold Y}}}) \end{aligned}\tag{5} Ls=balanced xent(Y^,Y)=βYlog(Y^)(1β)(1Y)log(1Y^)(5)

其中, Y ^ = F s {\hat{\bold Y}=F_s} Y^=Fs表示预测的得分图, Y ∗ {\bold Y}^* Y表示真实图, β \beta β是平衡因子,其计算如下。 β = 1 − ∑ y ∗ ∈ Y ∗ y ∗ ∣ Y ∗ ∣ (6) \beta=1-\frac{\sum_{y^*\in{\bold Y}^*}y^*}{|{\bold Y}^*|}\tag{6} β=1YyYy(6)

3.4.2 Loss for Geometries

文本检测的一大挑战是自然场景图片的尺寸变化大,直接使用 L 1 L_1 L1 L 2 L_2 L2作为损失函数将会使模型倾向于处理长文本区域。 R C N N {\rm RCNN} RCNN提出使用偏移作为回归目标解决了目标尺寸多变的问题。而论文在 R B O X {\rm RBOX} RBOX处基于 A A B B {\rm AABB} AABB I o U {\rm IoU} IoU损失和在 Q U A D {\rm QUAD} QUAD处基于标准化 S m o o t h L 1 {\rm SmoothL1} SmoothL1损失。

RBOX

L A A B B = − log ⁡   I o U ( R ^ , R ∗ ) = − log ⁡ ∣ R ^ ∩ R ∗ ∣ ∣ R ^ ∪ R ∗ ∣ (7) L_{AABB}=-\log\ {\rm IoU}({\hat{\bold R}},{\bold R}^*)=-\log\frac{|{\hat{\bold R}}\cap{\bold R}^*|}{|{\hat{\bold R}}\cup{\bold R}^*|}\tag{7} LAABB=log IoU(R^,R)=logR^RR^R(7)

其中, R ^ {\hat{\bold R}} R^ R ∗ {\bold R}^* R分别是 A A B B {\rm AABB} AABB中的预测值和真实值。显然, ∣ R ^ ∩ R ∗ ∣ |{\hat{\bold R}}\cap{\bold R}^*| R^R的宽和高为: w i = min ⁡ ( d ^ 2 , d 2 ∗ ) + min ⁡ ( d ^ 4 , d 4 ∗ ) h i = min ⁡ ( d ^ 1 , d 1 ∗ ) + min ⁡ ( d ^ 3 , d 3 ∗ ) (8) w_i=\min(\hat{d}_2,d^*_2)+\min(\hat{d}_4,d^*_4)\\ h_i=\min(\hat{d}_1,d^*_1)+\min(\hat{d}_3,d^*_3)\tag{8} wi=min(d^2,d2)+min(d^4,d4)hi=min(d^1,d1)+min(d^3,d3)(8)

其中, d ∗ d_* d表示像素点到框边界的距离。 ∣ R ^ ∪ R ∗ ∣ = ∣ R ^ ∣ + ∣ R ∗ ∣ − ∣ R ^ ∩ R ∗ ∣ (9) |{\hat{\bold R}}\cup{\bold R}^*|=|\hat{\bold R}|+|{\bold R}^*|-|{\hat{\bold R}}\cap{\bold R}^*|\tag{9} R^R=R^+RR^R(9)

关于旋转角度的损失: L θ ( θ ^ , θ ∗ ) = 1 − cos ⁡ ( θ ^ − θ ∗ ) (10) L_{\theta}(\hat{\theta},\theta^*)=1-\cos(\hat{\theta}-\theta^*)\tag{10} Lθ(θ^,θ)=1cos(θ^θ)(10)

其中, θ ^ \hat{\theta} θ^ θ ∗ \theta^* θ分别表示预测值和真实值。最后, R B O X {\rm RBOX} RBOX的总损失为: L g = L A A B B + λ θ L θ (11) L_g=L_{AABB}+\lambda_{\theta}L_{\theta}\tag{11} Lg=LAABB+λθLθ(11)

QUAD

四个顶点的集合: C Q = { x 1 , y 1 , x 2 , y 2 , . . . , x 4 , y 4 } (12) {\rm C}_{\bold Q}=\{x_1,y_1,x_2,y_2,...,x_4,y_4\}\tag{12} CQ={x1,y1,x2,y2,...,x4,y4}(12)

则损失函数定义为: L g = L Q U A D ( Q ^ , Q ∗ ) = min ⁡ Q ~ ∈ P Q ∗ ∑ c i ∈ C Q , c ~ i ∈ C Q ~ s m o o t h e d L 1 ( c i − c ~ i ) 8 × N Q ∗ (13) \begin{aligned}L_g&=L_{QUAD}(\hat{\bold Q},{\bold Q}^*)\\ &=\min_{\bold {\tilde Q}\in P_{\bold Q}^*}\sum_{c_i\in{\rm C}_{\bold Q}, {\tilde c}_i\in{\rm C}_{\bold {\tilde Q}}} \end{aligned}\frac{{\rm smoothed}_{L1}(c_i-{\tilde c}_i)}{8×N_{\bold Q}^*}\tag{13} Lg=LQUAD(Q^,Q)=Q~PQminciCQ,c~iCQ~8×NQsmoothedL1(cic~i)(13)

其中,正则化因子 N Q ∗ {\rm N_{\bold Q^*}} NQ是四边形的最短边长度。 N Q ∗ = min ⁡ i = 1 4 D ( p i , p ( i   m o d   4 ) + 1 ) (14) N_{\bold Q^*}=\min_{i=1}^4D({p_i,p_{(i\ {\rm mod}\ 4)+1})}\tag{14} NQ=i=1min4D(pi,p(i mod 4)+1)(14)

3.5 Locality-Aware NMS

在后处理阶段,通常会使用 N M S {\rm NMS} NMS,而原始的 N M S {\rm NMS} NMS的算法时间复杂度为 O ( n 2 ) O(n^2) O(n2)。为了提高模型的运行速度,论文根据文本检测任务的特点,提出位置感知 N M S {\rm NMS} NMS。具体地,鉴于邻近像素的几何性高度相关,论文提出的做法是逐行合并几何体同时合并同一行的几何体,即迭代地从第一行合并至最后一行。对于图像中的某一行文本来说,算法的时间复杂度为 O ( n ) O(n) O(n)。算法整体流程如下:
在这里插入图片描述

图6:Locality-Aware NMS


4. Experiments

在这里插入图片描述

图7:ICDAR 2015

在这里插入图片描述

图8:COCO-Text

在这里插入图片描述

图9:MSRA-TD500


5. Conclusion

由前面的介绍可知, E A S T {\rm EAST} EAST类似于一个一阶段目标检测算法。在结构设计时,考虑了各种角度的文本区域,并通过不同的输出分支处理不同的情境。但是,由于 E A S T {\rm EAST} EAST没有使用 R N N {\rm RNN} RNN判断检测区域是否具有上下文信息。举个极端的例子,加入待检测图中的文本区域很宽,占据整幅图的宽度。这样,在 E A S T {\rm EAST} EAST中由于感受野大小的限制,并不能很精确地检测出整个长文本。所以,后面有对 E A S T {\rm EAST} EAST的改进工作 A d v a n c e d E A S T {\rm AdvancedEAST} AdvancedEAST。它改变输出分支,以预测文本区域的头尾来得到最后的检测结果。


参考

  1. Zhou X, Yao C, Wen H, et al. East: an efficient and accurate scene text detector[C]//Proceedings of the IEEE conference on Computer Vision and Pattern Recognition. 2017: 5551-5560.


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值