EAST: An Efficient and Accurate Scene Text Detector
KeyWords Plus: CVPR2017 Multi-Oriented Text
paper:http://openaccess.thecvf.com/content_cvpr_2017/papers/Zhou_EAST_An_Efficient_CVPR_2017_paper.pdf
reference: 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.
Github: https://github.com/argman/EAST
Abstract
先前的场景文本检测方法已经在各种基准测试中取得了很好的效果。然而,在处理具有挑战性的情况时,即使配备了深度神经网络模型,它们通常也会达不到,因为整体性能取决于方法中多个阶段和组件的相互作用。在这项工作中,我们提出了一个简单而强大的方法,可以在自然场景中快速而准确地进行文本检测。这个方法直接预测完整图像中任意方向和四边形形状的单词或文本行,消除了使用单个神经网络的不必要的中间步骤(例如,候选聚合和字分区)。我们的方法简单,可以集中精力设计损失函数和神经网络架构。对标准数据集(包括ICDAR 2015,COCO-Text和MSRA-TD500)的实验表明,所提出的算法在准确性和效率方面明显优于最先进的方法。在ICDAR 2015数据集上,所提出的算法在720p分辨率下以13.2fps达到0.7820的F分数。
Introduction
最近,提取和理解自然场景中包含的文本信息变得越来越重要和受欢迎,ICDAR系列竞赛的前所未有的大量参与者以及NIST对TRAIT 2016评估的启动证明了这一点。
文本检测作为后续过程的先决条件,在文本信息提取和理解的整个过程中起着至关重要的作用。先前的文本检测方法已经在该领域的各种基准上获得了不错的表现。文本检测的核心是区分文本和背景的函数设计。传统上,函数是手动设计来捕捉场景文本的属性,而基于深度学习的方法有效的函数直接从训练数据中学习。
然而,现有的方法,无论是传统的还是基于深度神经网络的,主要由几个阶段和组件组成,这些阶段和组件可能是次优的和耗时的。因此,这些方法的准确性和效率仍远远不能令人满意。
在本文中,我们提出了一个快速准确的场景文本检测方法,它只有两个阶段。该方法使用完全卷积网络(FCN)模型,该模型直接生成单词或文本行级别预测,不包括冗余和慢速中间步骤。生成的文本预测(可以是旋转的矩形或四边形)直接进行非最大值抑制以产生最终结果。根据标准基准的定性和定量实验,与现有方法相比,该算法实现了显著提高的性能,同时运行速度更快。
具体而言,所提出的算法在ICDAR 2015(在多尺度下测试时为0.8072),在MSRA-TD500上为0.7608,在COCO-Text上为0.3945时达到了0.7820的F分数,优于以前的结果:性能最先进的算法,平均花费的时间少得多(在Titan-X GPU上,我们最佳性能模型的分辨率为720p,分辨率为13.2fps,最快模型为16.8fps)。
这项工作的贡献分为三方面:
- 我们提出了一种场景文本检测方法,包括两个阶段:完全卷积网络和NMS合并阶段。FCN直接生成文本区域,不包括冗余和耗时的中间步骤。
- 这个方法可以灵活地生成字级或线级预测,其几何形状可以是旋转框或四边形,具体取决于具体应用。
- 所提出的算法在精度和速度方面明显优于最先进的方法。
Related Work
场景文本的检测和识别已经成为计算机视觉领域长期积极的研究课题。众多鼓舞人心的思想和有效的方法已经进行过调查。综合评论和详细分析可以在调查论文中找到。本节将重点介绍与所提算法最相关的工作。
传统方法依赖于手动设计的特征。基于笔画宽度变换(SWT)和最大稳定极值区域(MSER)的方法通常通过边缘检测或极值区域提取来寻找候选字符。张等人,利用文本的局部对称性,并为文本区域检测设计了各种特征。FASText是一个快速文本检测系统,适应和修改了众所周知的用于笔画提取的快速关键点检测器。然而,就精度和适应性而言,这些方法落后于基于深度神经网络的方法,尤其是在处理具有挑战性的场景时,例如低分辨率和几何失真。
最近,场景文本检测领域进入了一个新的时代,基于深度神经网络的算法逐渐成为主流。黄等人,首先找到使用MSER的候选框,然后使用深度卷积网络作为强分类器来修剪误报。Jaderberg等人的方法,以滑动窗口的方式扫描图像,并使用卷积神经网络模型为每个尺度生成密集的热图。后来,Jaderberg等人,同时使用CNN和ACF来搜索候选词,并使用回归进一步细化它们。田等人,开发了垂直锚点,并构建了CNN-RNN联合模型来检测水平文本行。与这些方法不同,张等人,建议利用FCN进行热图生成,并使用分量投影进行方位估计。这些方法在标准基准测试中获得了优异的性能。然而,如图2(a-d)所示,它们主要由多个阶段和组件组成,例如通过后置滤波的假阳性去除、候选聚合、线形成和字分区。多个阶段和组件可能需要进行详尽的调整,从而导致次优性能,并增加整个流水线的处理时间。
在本文中,我们设计了一个基于FCN的深层方法,直接针对文本检测的最终目标:单词或文本行级别检测。如图2(e)所示,该模型放弃了不必要的中间组件和步骤,并允许端到端的训练和优化。 由此产生的系统配备了单个轻量级神经网络,在性能和速度方面都明显优于所有以前的方法。
Methodology
所提出的算法的关键组成部分是神经网络模型,其被训练以从完整图像直接预测文本实例及其几何形状的存在。该模型是一个完全卷积的神经网络,适用于文本检测,输出密集的逐像素单词或文本行预测。这消除了候选建议、文本区域生成和文字分区等中间步骤。后处理步骤仅包括预测几何形状的阈值和NMS。检测器被命名为EAST,因为它是一个高效精确的场景文本检测方法。
Pipeline
我们的方法的高级概述如图2(e)所示。该算法遵循DenseBox的一般设计,其中图像被馈送到FCN,并且生成多个像素级文本得分图和几何通道。
预测通道之一是得分图,其像素值在[0;1]。其余通道表示从每个像素的视图中包围该单词的几何。分数代表在相同位置预测的几何形状的置信度。
我们已经为文本区域,旋转框(RBOX)和四边形(QUAD)实验了两种几何形状,并为每个几何设计了不同的损失函数。然后将阈值应用于每个预测区域,其中分数超过预定义阈值的几何形状被认为是有效的并保存用于以后的非极大值抑制。NMS之后的结果被认为是方法的最终输出。
Network Design
在设计用于文本检测的神经网络时必须考虑几个因素。由于字区域的大小(如图5所示)变化很大,因此确定大字的存在需要来自神经网络后期的特征,而预测包含小字区域的精确几何需要早期阶段的低级信息。因此,网络必须使用不同等级的函数来满足这些要求。 HyperNet在特征映射上满足这些条件,但在大特征映射上合并大量通道会显著增加后续阶段的计算开销。
为了解决这个问题,我们采用U形的思想逐步合并特征图,同时保持上采样分支小。我们结合最终得到的网络既可以利用不同级别的函数,又可以保持较低的计算成本。
我们模型的示意图如图3所示。该模型可以分解为三个部分:特征提取器主干、特征合并分支和输出层。主干可以是在ImageNet数据集上预先训练的卷积网络,具有交叉卷积和池化层。从主干中提取四个级别的特征图,表示为fi,其大小分别为输入图像的1/32,1/16,1/8和1/4。在图3中,描绘了PVANet。在我们的实验中,我们还采用了众所周知的VGG16模型,其中提取了pooling-2到pooling-5之后的特征映射。在特征合并分支中,我们逐渐合并它们:
其中gi是合并基础,hi是合并的特征映射,运算符[·;·]表示沿通道轴的连接。在每个合并阶段,来自最后一个阶段的特征映射首先被馈送到反池化层以使其大小加倍,然后与当前特征映射连接。接下来,conv1×1的瓶颈减少了通道的数量并减少了计算量,接着是融合信息的conv3×3,最终产生该合并阶段的输出。在最后一个合并阶段之后,conv3×3层产生合并分支的最终特征图并将其馈送到输出层。
每个卷积的输出通道数量如图3所示。我们将分支中的卷积通道数保持较小,这样只增加了一小部分计算开销,使网络计算效率更高。最终输出层包含几个conv1×1操作,以将32个通道的特征映射投影到1通道的得分图Fs和多通道几何图Fg中。几何输出可以是RBOX或QUAD之一,在表1中。
对于RBOX,几何形状由4个通道的轴对齐边界框(AABB)R和1个通道旋转角θ表示。R的公式与下文中的公式相同,其中4个通道分别表示从像素位置到矩形的顶部、右侧,底部、左侧边界的4个距离。
对于QUAD Q,我们使用8个数字来表示从四边形的四个角点{pi|i属于{1,2,3,4}}到像素位置的坐标偏移。由于每个距离偏移包含两个数字(Δxi;Δyi),因此几何输出包含8个通道。
Label Generation
Score Map Generation for Quadrangle
不失一般性,我们只考虑几何是四边形的情况。 分数图上的四边形的正面积被设计为大致缩小的原始面积,如图4(a)所示。
对于四边形Q = {pi|i属于{1,2,3,4}},其中pi = {xi; yi}是四边形上的顶点,顺时针顺序。为了缩小Q,我们首先计算每个顶点pi的参考长度ri为:
其中D(pi; pj)是pi和pj之间的L2距离。
我们首先缩小四边形的两个较长边,然后缩小两个较短边。 对于每对两个相对的边,我们通过比较它们的长度的平均值来确定“更长”的对。 对于每个边缘<pi; p(i mod 4)+ 1>,我们通过将两个端点沿边缘向内移动0.3ri和0.3r(i mod 4)+1来缩小它。
Geometry Map Generation
如第二节所述。3.2,几何图可以是RBOX或QUAD之一。RBOX的生成过程如图4(c-e)所示。
对于那些文本区域以QUAD样式注释的数据集(例如,ICDAR 2015),我们首先生成一个旋转的矩形,覆盖区域最小的区域。然后对于每个具有正分数的像素,我们计算它到文本框的4个边界的距离,并将它们放到RBOX真值的4个通道中。对于QUAD真值,8通道几何图中具有正分数的每个像素的值是其从四边形的4个顶点的坐标偏移。
Loss Functions
损失可以表述为:
其中Ls和Lg分别代表得分图和几何的损失,λg衡量两次损失之间的重要性。在我们的实验中,我们将λg设置为1。
Loss for Score Map
在大多数最先进的检测方法中,通过平衡采样和硬负采样精心处理训练图像,以解决目标物体的不平衡分布。这样做可能会提高网络性能。然而,使用这些技术不可避免地引入了不可微分的阶段和更多的参数来调谐和更复杂的方法,这与我们的设计原理相矛盾。
为了便于更简单的训练过程,我们使用文中引入的class-balanced交叉熵,由下式给出:
其中Y ^ = Fs是得分图的预测,Y* 是真值。参数β是正样本和负样本之间的平衡因子,由下式给出:
这种平衡的交叉熵损失首先在Yao等人的文本检测中被采用。下文作为得分图预测的目标函数。我们发现它在实践中表现良好。
Loss for Geometries
文本检测的一个挑战是自然场景图像中文本的大小差别很大。直接使用L1或L2损失进行回归将导致较大和较长文本区域的损失偏差。由于我们需要为大文本区域和小文本区域生成准确的文本几何预测,因此回归损失应该是规模不变的。因此,我们采用RBOX回归的AABB部分中的IoU损失,以及规模归一化的平滑L1损失用于QUAD回归。
RBOX
对于AABB部分,我们采用文中的IoU损失,因为它对不同尺度的物体是不变的。
其中R^表示预测的AABB几何,R* 是其对应的真值。很容易看出相交矩形的宽度和高度为|R^ 交 R*|:
其中d1、d2、d3和d4分别表示从像素到其对应矩形的顶部、右侧、底部和左侧边界的距离。并集区域由下式给出:
因此,可以容易地计算交集/并集区域。接下来,计算旋转角度的损失:
其中θ^是对旋转角度的预测,θ* 表示真值。最后,整体几何损失是AABB损失和角度损失的加权和,由下式给出:
在我们的实验中λθ设置为10。
请注意,无论旋转角度如何,我们都会计算LAABB。当角度被完美预测时,这可以看作是四边形IoU的近似值。虽然在训练期间不是这种情况,但它仍然可以为网络施加正确的梯度以学习预测R^。
QUAD
我们通过添加为单词四边形设计的额外归一化项来扩展文中提出的平滑L1损失,这通常在一个方向上更长。设Q的所有坐标值都是有序集:
其中归一化项 NQ* 是四边形的短边长度,由下式给出:
和 PQ 是 Q* 的所有等效四边形的集合,具有不同的顶点排序。由于公共训练数据集中的四边形标注不一致,因此需要这种排序排列。
Training
使用ADAM优化器对网络进行端到端的训练。为了加快学习速度,我们从图像中均匀地采集512x512大小,形成24小时的小批量。ADAM的学习率从1e-3开始,每27300个小批量衰减到十分之一,停在1e-5。训练网络直到性能停止改善。
Locality-Aware NMS
为了形成最终结果,在阈值处理之后存在的几何结构应该由NMS合并。一个简单的NMS算法在O(n2)中运行,其中n是候选几何的数量,这是不可接受的,因为我们正面临来自密集预测的数万个几何形状。
假设来自附近像素的几何图形往往高度相关,我们建议逐行合并几何图形,同时在同一行中合并几何图形时,我们将迭代地合并当前遇到的几何图形和最后合并的几何图形。这种改进的技术在最佳场景下以O(n)运行。即使最坏的情况与天真的情况相同,只要位置假设成立,算法在实践中运行得足够快。该过程总结在算法1中。
值得一提的是,在WEIGHTEDMERGE(g; p)中,合并四边形的坐标通过两个给定四边形的分数进行加权平均。具体而言,如果a = WEIGHTEDMERGE(g; p),则ai = V(g)gi + V(p)pi和V(a)= V(g)+ V(p),其中ai是其中之一i的下标坐标,V(a)是几何a的得分。
实际上,我们正在“平均”而不是“选择”几何形状存在一个微妙的差异,就像在标准的NMS程序中那样,作为一种投票机制,这反过来又会在播放视频时引入稳定效果。但是,我们仍然采用“NMS”这个词进行功能描述。
Experiments
为了将提出的算法与现有方法进行比较,我们对三个公共基准集进行了定性和定量实验:ICDAR2015,COCO-Text和MSRA-TD500。
Benchmark Datasets
ICDAR 2015用于ICDAR 2015鲁棒阅读比赛的挑战4。它包括总共1500张图片,其中1000张用于训练,其余用于测试。文本区域由四边形的4个顶点标注,对应于本文中的QUAD几何。我们还通过拟合具有最小面积的旋转矩形来生成RBOX输出。这些图像由Google Glass以随机的方式拍摄。因此,场景中的文本可以处于任意方向,或者遭受模糊和低分辨率。我们还使用了ICDAR 2013的229张训练图像。
COCO-Text是迄今为止最大的文本检测数据集。它重用了MS-COCO数据集中的图像。共标注了63686张图像,其中选择了43486作为训练集,其余20000作为测试。字区域以轴对齐边界框(AABB)的形式标注,这是RBOX的特例。对于此数据集,我们将角度θ设置为零。我们使用与ICDAR 2015中相同的数据处理和测试方法。
MSRA-TD500是一个包含300个训练图像和200个测试图像的数据集。文本区域具有任意方向,并在句子级别注释。与其他数据集不同,它包含英文和中文文本。文本区域以RBOX格式标注。由于训练图像的数量太少而无法学习深层模型,因此我们还利用来自HUSTTR400数据集中的400幅图像作为训练数据。
Base Networks
除了COCO-Text之外,与一般物体检测的数据集相比,所有文本检测数据集相对较小,因此如果所有基准都采用单一网络,则可能会出现过拟合或欠拟合的情况。我们在所有数据集上尝试了三种不同的基本网络,具有不同的输出几何,以评估所提出的框架。表2中总结了这些网络。
VGG16在许多任务中被广泛用作基础网络,以支持随后的任务特定的微调,包括文本检测。这个网络有两个缺点:(1)该网络的接收领域很小。conv5_3的输出中的每个像素仅具有196的感受域。(2)这是一个相当大的网络。
PVANET是文中引入的轻量级网络,旨在替代Faster-RCNN框架中的特征提取器。由于GPU太小而无法充分利用计算并行性,我们还采用PVANET2x,使原始PVANET的通道加倍,利用更多的计算并行性,同时运行速度比PVANET稍慢。这在4.5中详述。最后一个卷积层输出的感受域是809,比VGG16大得多。
模型在ImageNet数据集上进行了预训练。
Qualitative Results
图5描绘了所提出的算法的几个检测示例。 它能够处理各种具有挑战性的场景,例如非均匀照明、低分辨率、方向多变和透视失真。此外,由于NMS程序中的投票机制,所提出的方法对具有各种形式的文本实例的视频表现出高度的稳定性。
所提出的方法的中间结果在图6中示出。可以看出,训练的模型产生高度精确的几何图和分数图,其中容易形成不同方向的文本实例的检测结果。
Quantitative Results
如表3和表4所示。我们的方法在ICDAR 2015和COCO-Text上大大优于以前最先进的方法。
在ICDAR 2015 Challenge 4中,当图像以其原始比例进给时,所提出的方法实现了0.7820的Fscore。当使用相同网络在多个尺度进行测试时,我们的方法在F分数中达到0.8072,在绝对值(0.8072对0.6477)方面比最佳方法高近0.16。
使用VGG16网络比较结果,当使用QUAD输出时,所提出的方法也优于之前的最佳工作0.0924,使用RBOX输出时优于0.116。同时,这些网络非常有效,如第4.5节所示。
在COCO-Text中,所提出的算法的所有三个设置都比先前的最佳性能者具有更高的准确度。具体而言,Fscore中的提升为0.0614,而召回时的提升为0.053,这证实了所提算法的优势,因为COCO-Text是迄今为止最大和最具挑战性的基准数据集。请注意,我们还将文中的结果作为参考包含在内,但这些结果实际上不是有效的基准方法,因为方法(A,B和C)用于数据标注。
与先前方法相比,所提算法的提升证明,直接针对最终目标并消除冗余过程的简单文本检测方法可以击败精心设计的方法,甚至是那些与大型神经网络模型集成的方法。
如表5所示,在MSRA-TD500上我们所有的三种设置方法都取得了优异的效果。表现最佳的Fscore(Ours + PVANET2x)略高于其他方法。与Zhang等人的方法相比,先前发表的最先进的系统,表现最佳的(Ours + PVANET2x)F分数提高了0.0208,精度提高了0.0428。
请注意,在MSRA-TD500上,加上VGG16的算法比使用PVANET和PVANET2x(0.7023与0.7445和0.7608)相比差得多,主要原因是VGG16的有效感受野小于PVANET和PVANET2x,而MSRA-TD500的评估协议要求文本检测算法输出行级而不是字级预测框。
此外,我们还根据ICDAR 2013基准评估了Ours + PVANET2x。它在召回率,精度和F值方面达到0.8267,0.9264和0.8737,与之前的最新方法相当,后者在召回率,精度和F值方面分别获得0.8298,0.9298和0.8769。
Speed Comparison
表6中展示了整体速度比较。
我们报告的数字是使用我们表现最佳的网络,通过ICDAR 2015数据集以原始分辨率(1280x720)运行500个测试图像的平均值。这些实验是在服务器上使用具有Maxwell架构和Intel E5-2670 v3 @ 2.30GHz CPU的单个NVIDIA Titan X图形卡进行的。对于所提出的方法,后处理包括阈值处理和NMS,而其他的应该参考他们的原始论文。
虽然所提出的方法明显优于最先进的方法,但计算成本保持很低,归因于简单而有效的流水线。从Tab可以看出。 6,我们方法的最快设置以16.8 FPS的速度运行,而最慢设置以6.52 FPS运行。即使是性能最佳的型号Ours + PVANET2x也能以13.2 FPS的速度运行。这证实了我们的方法是最有效的文本检测器之一,可以在基准测试中实现最先进的性能。
Limitations
检测器可以处理的文本实例的最大大小与网络的感受野成比例。这限制了网络预测更长文本区域的能力,例如跨越图像的文本行。
此外,该算法可能会漏掉或给出垂直文本实例的不精确预测,因为它们仅占ICDAR 2015训练集中的一小部分文本区域。
Conclusion and Future Work
我们已经提出了一个场景文本检测器,它使用单个神经网络直接从完整图像生成单词或行级预测。通过结合适当的损失函数,检测器可以根据具体应用预测文本区域的旋转矩形或四边形。在标准基准测试上的实验证实,所提出的算法在准确性和效率方面基本上优于先前的方法。
未来研究的可能方向包括:(1)调整几何公式以允许直接检测弯曲文本;(2)将检测器与文本识别器集成;(3)将思想扩展到一般物体检测。