近年来出现了基于神经网络的场景文本检测方法,并取得了良好的效果。以前使用刚性词级边界框训练的方法在以任意形状表示文本区域方面表现出局限性。本文提出了一种新的场景文本检测方法,通过挖掘每个字符和字符之间的亲和度来有效地检测文本区域。为了克服单个字符级标注的不足,我们提出的框架既利用了给定的合成图像的字符级标注,也利用了通过学习的临时模型获取的真实图像的估计的字符级地面事实。为了估计角色之间的亲和度,用新提出的亲和力表示对网络进行训练。在包括TotalText和CTW-1500数据集在内的六个基准测试上的广泛实验表明,我们的字符级文本检测的性能明显优于最先进的检测器。这些数据集在自然图像中包含高度弯曲的文本。结果表明,本文提出的方法在检测任意方向、弯曲或变形文本等复杂场景文本图像时具有很高的灵活性。
1 Introduction Character Region Awareness for Text Detection Abstract近年来出现了基于神经网络的场景文本检测方法,并取得了良好的效果。以前使用刚性词级边界框训练的方法在以任意形状表示文本区域方面表现出局限性。本文提出了一种新的场景文本检测方法,通过挖掘每个字符和字符之间的亲和度来有效地检测文本区域。为了克服单个字符级标注的不足,我们提出的框架既利用了给定的合成图像的字符级标注,也利用了通过学习的临时模型获取的真实图像的估计的字符级地面事实。为了估计角色之间的亲和度,用新提出的亲和力表示对网络进行训练。在包括TotalText和CTW-1500数据集在内的六个基准测试上的广泛实验表明,我们的字符级文本检测的性能明显优于最先进的检测器。这些数据集在自然图像中包含高度弯曲的文本。结果表明,本文提出的方法在检测任意方向、弯曲或变形文本等复杂场景文本图像时具有很高的灵活性。
1 Introduction
场景文本检测因其在即时翻译、图像检索、场景解析、地理定位、盲目导航等方面的众多应用而受到计算机视觉领域的广泛关注。近年来,基于深度学习的场景文本检测器表现出良好的性能[8,40,21,4,11,10,12,13,17,24,25,32,26]。这些方法主要训练它们的网络来定位词级边界框。但是,它们在困难的情况下可能会受到影响,例如弯曲、变形或极长的文本,这些文本很难用单个边界框检测到。或者,字符级感知在以自下而上的方式链接连续字符来处理具有挑战性的文本时具有许多优势。不幸的是,大多数现有的文本数据集都没有提供字符级注释,并且获取字符级基本事实所需的工作过于昂贵。
在本文中,我们提出了一种新的文本检测器,它定位单个字符区域,并将检测到的字符链接到一个文本实例。我们的框架,称为字符区域感知F或文本检测工艺,是用卷积神经网络设计的,产生字符区域得分和亲和度得分。区域分数用于定位图像中的单个字符,亲和度分数用于将每个字符分组为单个实例。为了弥补字符级标注的不足,我们提出了一种弱监督学习框架,用于估计现有真实单词级数据集中的字符级基本真理。
图1是CRAFT在各种形状的文本上的结果的可视化。 通过利用字符级区域意识,可以轻松呈现各种形状的文本。 我们在ICDAR数据集上演示了广泛的实验[15、14、28],以验证我们的方法,实验表明,该方法优于最新的文本检测器。 此外,在MSRA-TD500,CTW-1500和TotalText数据集上进行的实验[36、38、3]显示了该方法在复杂情况下(例如长,弯曲和/或任意形状的文本)的高度灵活性。
2 Related Work在深度学习出现之前,场景文本检测的主要趋势是自下而上,其中大多数使用手工特征-例如MSER[27]或SWT[5]-作为基本组件。最近,通过采用流行的对象检测/分割方法,如SSD[20]、较快的R-CNN[30]和FCN[23],已经提出了基于深度学习的文本检测器。
基于回归的文本检测器 从流行的对象检测器改编而来的使用盒回归的各种文本检测器已经被提出。与一般的对象不同,文本通常呈现为具有各种纵横比的不规则形状。为了处理这个问题,TextBoxs[18]修改了卷积内核和锚定框,以有效地捕获各种文本形状。DMPNet[22]试图通过合并四边形滑动窗口来进一步减少这个问题。最近,人们提出了旋转敏感回归检测器(RSDD)[19],它通过主动旋转卷积滤波器来充分利用旋转不变的特性。但是,在使用此方法时,捕获野外存在的所有可能的形状存在结构限制。
基于分割的文本检测器 另一种常见的方法是基于处理分割的工作,其目的是在像素级寻找文本区域。这些通过估计单词边界区域来检测文本的方法,如多尺度FCN[7]、整体预测[37]和PixelLink[4],也是以分割为基础提出的。SSTD[8]试图从回归和分割方法中获益,使用注意机制通过减少特征级别上的背景干扰来增强文本相关区域。最近,TextSnake[24]被提出通过结合几何属性预测文本区域和中心线来检测文本实例。
端到端文本检测器 端到端方法同时训练检测和识别模块,以便通过利用识别结果来提高检测精度。Fots[21]和EAA[10]串联了流行的检测和识别方法,并以端到端的方式训练它们。MASK TextSpotter[25]利用他们的统一模型将识别任务视为语义分割问题。显然,使用识别模块进行训练有助于文本检测器对类似文本的背景杂波具有更强的鲁棒性。
大多数方法以词为单位来检测文本,但是定义用于检测的词的范围并不容易,因为词可以通过各种标准来分隔,例如含义、空格或颜色。另外,分词的边界不能严格定义,因此分词本身没有明确的语义。单词注释中的这种歧义冲淡了回归和分割方法的基本事实的含义。
字符级文本检测器 Zhang等人。[39]提出了一种使用MSER[27]提取的候选文本块的字符级检测器。它使用MSER来识别单个字符的事实限制了其在某些情况下的检测鲁棒性,例如低对比度、曲率和光线反射的场景。姚等人。[37]使用字符的预测映射以及需要字符级注释的文本单词区域和链接方向的映射。与显式字符级预测不同,Seglink[32]搜索文本网格(部分文本段),并将这些段与附加链接预测相关联。尽管Mask TextSpotter[25]预测了字符级概率图,但它用于文本识别,而不是识别单个字符。
这项工作的灵感来自WordSup[12]的想法,该想法使用弱监督框架来训练字符级检测器。然而,Wordsup的一个缺点是,角色表示是在矩形锚点中形成的,这使得它容易受到摄像机视角变化引起的角色透视变形的影响。此外,它还受主干结构的性能限制(即使用SSD,并受锚盒的数量及其大小的限制)。
我们的主要目标是在自然图像中精确定位每个人物。为此,我们训练了一个深度神经网络来预测字符区域和字符之间的亲和度。由于没有可用的公共特征级别数据集,因此模型以弱监督的方式进行训练。
3.1. Architecture采用基于VGG-16[34]的批量归一化全卷积网络结构作为主干。我们的模型在解码部分有跳过连接,这与U-Net[31]的相似之处在于它聚合了低级特征。最终输出有两个通道作为分数映射:区域分数和亲和度分数。图2示意性地说明了网络体系结构。
3.2. Training 3.2.1 Ground Truth Label Generation对于每个训练图像,我们生成区域分数和带有特征级边界框的亲和度分数的地面真值标签。区域分数表示给定像素是字符中心的概率,亲和度分数表示相邻字符之间的空格的中心概率。
与离散标记每个像素的二进制分割图不同,我们使用高斯热图对字符中心的概率进行编码。这种热图表示已经在其他应用中使用,例如在姿势估计工作[1,29]中,因为它在处理非严格边界的地面真实区域时具有很高的灵活性。我们使用热图表示来学习区域得分和亲和度得分。
图3总结了合成图像的标签生成管道。直接为边界框内的每个像素计算高斯分布值非常耗时。由于图像上的字符边界框通常通过透视投影而失真,因此我们使用以下步骤来近似和生成区域得分和亲和度得分的地面真实:1)准备二维各向同性高斯映射;2)计算高斯映射区域与每个字符框之间的透视变换;3)将高斯映射扭曲到框区域。
对于亲和度得分的基本事实,使用相邻的字符框定义亲和度框,如图3所示。通过绘制对角线连接每个字符框的对角,我们可以生成两个三角形-我们将其称为上下字符三角形。然后,对于每个相邻的字符框对,通过将上三角形和下三角形的中心设置为框的角来生成亲和框。
所提出的基本事实定义使模型能够充分检测大型或长篇文本实例,尽管使用了较小的接受域。另一方面,以前的方法,如盒回归,在这种情况下需要很大的接受域。我们的字符级检测使得卷积过滤器可以只关注字符内和字符间,而不是整个文本实例。
3.2.2 Weakly-Supervised Learning
与合成数据集不同,数据集中的真实图像通常具有单词级注释。 在这里,我们以弱监督的方式从每个单词级注释生成字符框,如图4所示。当提供带有单词级注释的真实图像时,学习的过渡模型将预测裁剪后的字符区域得分 单词图像以生成字符级边界框。 为了反映临时模型预测的可靠性,每个单词框上的置信度图的值与检测到的字符数除以地面真实字符数成正比,用于在学习期间权重 训练。
图6显示了拆分字符的整个过程。首先,从原始图像中裁剪词级图像。其次,最新训练的模型预测区域得分。第三,使用分水岭算法[35]分割字符区域,使字符边界框覆盖区域。最后,使用来自裁剪步骤的逆变换将字符框的坐标转换回原始图像坐标。可以使用所获得的四边形字符级边界框通过图3中描述的步骤来生成区域分数和亲和度分数的伪地面真值(伪GT)。
当使用弱监督训练模型时,我们被迫使用不完全伪GT进行训练。如果用不准确的区域分数训练模型,则输出可能会在字符区域内变得模糊。为了防止这种情况,我们测量了模型生成的每个伪GT的质量。幸运的是,在文本注释中有一个非常强的提示,那就是单词长度。在大多数数据集中,提供了单词的转录,并且可以使用单词的长度来评估伪GT的置信度。
对于训练数据的词级注释样本w,设R(W)和l(W)分别是样本w的边界框区域和词长。通过字符拆分过程,我们可以获得估计的字符边界框及其相应的字符长度Lc(W)。则样本w的置信度分数sconf(W)被计算为,
sconf(w)=l(w)−min(l(w),∣l(w)−lc(w)∣)l(w)(1)
s_{c o n f}(w)=\frac{l(w)-\min \left(l(w),\left|l(w)-l^{c}(w)\right|\right)}{l(w)}(1)
sconf(w)=l(w)l(w)−min(l(w),∣l(w)−lc(w)∣)(1)
并且图像的像素方向置信度图Sc被计算为,
Sc(p)={sconf(w)p∈R(w)1 otherwise (2)
S_{c}(p)=\left\{\begin{array}{ll}
{s_{\operatorname{con} f}(w)} & {p \in R(w)} \\
{1} & {\text { otherwise }}
\end{array}\right.(2)
Sc(p)={sconf(w)1p∈R(w) otherwise (2)
其中p表示区域R(W)中的像素。目标L被定义为,
L=∑pSc(p)⋅(∥Sr(p)−Sr∗(p)∥22+∥Sa(p)−Sa∗(p)∥22)(3)
L=\sum_{p} S_{c}(p) \cdot\left(\left\|S_{r}(p)-S_{r}^{*}(p)\right\|_{2}^{2}+\left\|S_{a}(p)-S_{a}^{*}(p)\right\|_{2}^{2}\right)(3)
L=p∑Sc(p)⋅(∥Sr(p)−Sr∗(p)∥22+∥Sa(p)−Sa∗(p)∥22)(3)
其中,S∗r§和S∗a§分别表示伪地真值区域得分和亲和度图,Sr§和Sa§分别表示预测区域得分和亲和度得分。当使用合成数据进行训练时,我们可以获得真实的地面真实情况,因此将Sc§设为1。
随着训练的进行,CRAFT模型可以更准确地预测角色,并且置信度得分sconf(w)也逐渐增加。 图5示出了训练期间的人物区域得分图。 在训练的早期阶段,自然图像中不熟悉的文本的区域分数相对较低。 该模型学习新文本的外观,例如不规则字体和合成文本,这些文本的数据分布与SynthText数据集的数据分布不同。
如果置信度分数sconf(W)小于0.5,则应该忽略估计的字符边界框,因为它们在训练模型时会产生不利影响。在这种情况下,我们假设单个字符的宽度是恒定的,并通过简单地将单词区域R(W)除以字符数l(W)来计算字符级预测。然后,将sconf(W)设置为0.5以了解文本的不可见外观。
在推断阶段,最终输出可以各种形状传递,例如单词框或字符框,以及其他多边形。 对于ICDAR之类的数据集,评估协议是单词级联合(IoU),因此,我们在此介绍如何通过简单但有效的后处理步骤,从预测的Srand Sas中创建单词级边界框QuadBox。
查找边界框的后处理总结如下。首先,将覆盖图像的二值图M初始化为0。如果Sr§>τr或Sa§>τa,则M§被设置为1,其中τ是区域阈值,τa是亲和力阈值。其次,对M进行连通分支标记(CCL)。最后,通过寻找一个旋转矩形来获得QuadBox,该矩形包含与每个标签对应的连通组件的最小面积。OpenCV提供的connectedComponents和minAreaRect等函数可以用于此目的。
请注意,CREATE的一个优点是它不需要任何进一步的后处理方法,如非最大抑制(NMS)。因为我们有由CCL分隔的单词区域的图像斑点,所以单词的边界框简单地由单个封闭矩形来定义。另一方面,我们的字符链接过程是在像素级进行的,这与其他基于链接的方法[32,12]不同,它显式地依赖于搜索文本组件之间的关系。
此外,我们可以在整个字符区域周围生成一个多边形以有效处理弯曲的文本。多边形生成的过程如图7所示。第一步是沿扫描方向找到字符区域的局部最大值线,如下所示: 在图中以蓝色箭头显示。 将局部最大值线的长度均等地设置为其中的最大长度,以防止最终的多边形结果变得不均匀。 连接局部最大值的所有中心点的线称为中心线,以黄色显示。 然后,旋转局部最大值线以使其垂直于中心线,以反映字符的倾斜角,如红色箭头所示。 局部最大值线的端点是文本多边形控制点的候选项。 为了完全覆盖文本区域,我们将两条最外侧倾斜的局部最大值线沿局部最大值中心线向外移动,从而形成最终控制点(绿色点)。
ICDAR2013(IC13)是在ICDAR 2013年度聚焦场景文本检测稳健阅读比赛期间发布的,由高分辨率图像组成,其中229张用于训练,233张用于测试,其中包含英文文本。注释使用矩形框进行单词级别的注释。
ICDAR2015(IC15)是在ICDAR 2015年用于附带场景文本检测的稳健阅读比赛中引入的,包括1000个训练图像和500个测试图像,两个图像都有英文文本。注释位于单词级别,使用四边形方框。
ICDAR2017(IC17)包含7200张训练图像,1800张验证图像和9000张测试图像,其中包含9种语言的文本,用于多语言场景文本检测。 与IC15相似,IC17中的文本区域也由四边形的四个顶点注释。
MSRA-TD500(TD500)包含500个自然图像,分为300个训练图像和200个测试图像,使用袖珍相机在室内和室外采集。这些图像包含英文和中文文字。文本区域由旋转的矩形进行注释。最近在ICDAR 2017上展示的
TotalText(TotalText)包含1255个训练图像和300个测试图像。它特别提供弯曲的文本,这些文本由多边形和词级转录进行注释。
CTW-1500(CTW)由1000个训练图像和500个测试图像组成。每幅图像都有弯曲的文本实例,这些实例由具有14个顶点的多边形进行注释。
4.2. Training strategy训练过程包括两个步骤:首先使用SynthText数据集[6]训练网络50k次迭代,然后采用每个基准数据集对模型进行微调。通过将sconf(W)设置为0,在训练中忽略了ICDAR 2015和ICDAR 2017数据集中的一些“无关”文本区域。我们在所有培训过程中都使用ADAM[16]优化器。对于多GPU训练,将训练GPU和监督GPU分开,并将监督GPU生成的伪GT存储在存储器中。在微调期间,SynthText数据集也以1:5的比率使用,以确保字符区域确实被分隔。为了过滤掉自然场景中类似纹理的文本,以1:3的比例应用了在线硬否定挖掘[33]。此外,还应用了基本的数据增强技术,如裁剪、旋转和/或颜色变化。
弱监督训练需要两种类型的数据:用于裁剪单词图像的四边形注释和用于计算词长的转录。满足这些条件的数据集是IC13、IC15和IC17。其他数据集,如MSRA-TD500、TotalText和CTW-1500不符合要求。MSRA-TD500不提供转录,而TotalText和CTW-1500仅提供多边形注释。因此,我们只在ICDAR数据集上训练了CREATE,并在其他数据集上进行了测试,没有进行微调。用ICDAR数据集训练了两个不同的模型。第一个模型在IC15上进行训练,仅评估IC15。第二个模型同时在IC13和IC17上训练,用于评估其他五个数据集。没有额外的图像用于训练。微调的迭代次数设置为25k。
4.3. Experimental Results四边形类型的数据集(ICDAR和MSRATD500)所有实验都使用单一图像分辨率执行。IC13、IC15、IC17和MSRA-TD500中图像的较长一侧分别调整为960、2240、2560和1600。表1列出了各种方法在ICDAR和MSRA-TD500数据集上的h-平均分。为了与端到端方法进行公平的比较,我们通过参考原始论文来包含它们仅检测的结果。我们在所有数据集上实现了最先进的性能。此外,由于简单而有效的后处理,CREATE在IC13数据集上的运行速度为8.6FPS,这是相对较快的。
对于MSRA-TD500,在行级别提供注释,包括框中单词之间的空格。因此,应用用于组合词框的后处理步骤。如果一个长方体的右侧和另一个长方体的左侧足够近,则这两个长方体合并在一起。即使没有在TD500训练集上执行微调,CREATE的性能也优于所有其他方法,如表1所示。
多边形类型的数据集(TotalText,CTW-1500)直接在TotalText和CTW-1500上训练模型具有挑战性,因为它们的注释呈多边形形状,这使在弱监督训练中分割文本框的文本区域裁剪变得复杂。 因此,我们仅使用了来自IC13和IC17的训练图像,而没有进行微调来学习这些数据集提供的训练图像。 在推理步骤中,我们使用了从区域得分开始的多边形生成后处理,以应对提供的多边形类型注释。
针对这些数据集的实验也是在单一图像分辨率下进行的。TotalText和CTW-1500中图像的较长边分别调整为1280和1024。在多角型数据集上的实验结果如表2所示。与其他方法相比,CREATE的单个字符定位能力使我们在检测任意形状的文本时获得了更好的鲁棒性和更好的性能。具体地说,TotalText数据集具有各种变形,包括如图8所示的弯曲文本,对于这些变形,基于四边形的文本检测器的充分推断是不可行的。因此,可以在这些数据集上评估的方法数量非常有限。
在CTW-1500数据集的情况下,两个困难的特征共存,即在行级提供的注释和任意多边形的注释。为了在这种情况下帮助工艺,一个小的链接细化网络,我们称之为LinkRefiner,与工艺结合使用。LinkRefiner的输入是工艺的区域得分、亲和度得分和中间特征图的拼接,输出是针对长文本调整的精细化亲和度得分。为了组合字符,使用精化的亲和度分数而不是原始的亲和度分数,然后以与对TotalText执行多边形生成相同的方式执行多边形生成。冻结工艺时,只有LinkRefiner在CTW-1500数据集上接受培训。补充资料中介绍了LinkRefiner的详细实现。如表2所示,建议的方法实现了最先进的性能。
4.4. Discussions规模差异的稳健性即使文本大小差异很大,我们也只对所有数据集进行了单规模实验。 这不同于大多数其他方法,后者依靠多尺度测试来处理尺度方差问题。 此优势来自于我们对单个字符而不是整个文本进行本地化的方法的属性。 相对较小的接收场足以覆盖大图像中的单个字符,这使CRAFT在检测比例尺变体文本方面具有鲁棒性。
多语言问题 IC17数据集包含孟加拉和阿拉伯字符,这些字符不包括在合成文本数据集中。此外,这两种语言都很难单独分割成字符,因为每个字符都是草写的。因此,我们的模型不能像区分拉丁文、韩文、中文和日文那样区分孟加拉和阿拉伯字符。在东亚字符的情况下,它们可以很容易地以恒定的宽度分开,这有助于通过弱监督将模型训练到高性能。
与端到端方法相比,我们的方法只使用地面真值框进行检测训练,但它与其他端到端方法是可比较的,如表中所示。3.通过对失败案例的分析,我们希望我们的模型能从识别结果中获益,特别是当基本真实词是通过语义而不是视觉线索来分隔的时候。
泛化能力我们的方法在3个不同的数据集上获得了最先进的性能,而不需要额外的微调。这表明我们的模型能够捕获文本的一般特征,而不是过度适合特定的数据集。
5 Conclusion我们提出了一种新的文本检测器,称为CREATE,它可以在没有给出字符级注释的情况下检测单个字符。所提出的方法提供了字符区域得分和字符亲和度得分,它们一起以自下而上的方式完全覆盖各种文本形状。由于提供字符级注释的真实数据集很少,我们提出了一种从中间模型生成伪地面真实的弱监督学习方法。Craft在大多数公共数据集上显示了最先进的性能,并通过显示这些性能而不进行微调来展示泛化能力。作为我们未来的工作,我们希望以端到端的方式使用识别模型来训练我们的模型,以查看工艺的性能、健壮性和通用性是否转化为可以在更一般的设置中应用的更好的场景文本检测系统。