全球计算机视觉三大顶会之一 ECCV 2018 (European Conference on Computer Vision)即将于9月8 -14日在德国慕尼黑拉开帷幕。届时,旷视首席科学家孙剑博士将带领团队远赴盛会,助力计算机视觉技术的交流与落地。而在此之前,旷视科技将陆续推出 ECCV 2018 接收论文系列解读。本文是第 3 篇解读:一个可以检测和识别任意形状文本的端到端可训练神经网络——Mask TextSpotter。
论文名称:Mask TextSpotter: An End-to-End Trainable Neural Network for Spotting Text with Arbitrary Shapes
论文链接:https://arxiv.org/abs/1807.02242
导语
场景文本是机器之眼的检测与识别矩阵的重要目标之一,是旷视科技的计算机视觉技术长久以来重点关照的四大目标对象(人、脸、车、字)之一,也是机器视觉技术彻底走向成熟和落地必须要攻克的问题之一,其重要性不言而喻,相关研究已有很多,但是场景文本的一些问题依然没有得到很好的解决,比如针对任意形状文本的检测和识别。为此,在 Mask R-CNN 的启发之下,旷视科技创新性提出一个可实现端到端训练的新型神经网络——Mask TextSpotter,通过分割文本区域检测文本,就任意形状文本的检测与识别给出了自己的解决方案,并把这一技术推进到全新的高度。这一底层技术的突破,为场景文本检测和识别的技术体系增加了一个新亮点,有利于优化技术体系,加速从技术到产品的转化,将在文娱、电商、社交网络、直播、地理定位、即时翻译、智能零售、无人超市甚至自动驾驶等相关应用领域实现更好更快的落地。
背景
近年来,在计算机视觉领域,场景文本检测与识别(scene text detection and recognition)研究越发引人注目;神经网络复兴与图像数据集大量出现之后,这种情况更甚。场景文字检测与识别是一种自动、快速获取自然场景之中文本信息的方法,支撑出大量实际应用,比如地理定位,即时翻译,盲人辅助等。
Scene Text Spotting(STS)旨在同时处理自然场景之中文本的检测与识别,这在之前已有大量相关工作,其中大部分是把文本的检测与识别分开处理(text detector 与 text recognizer)。这些做法简单而自然,却没能实现检测与识别各自最优的性能,充分发挥两者高度相关又互补的关系:一方面,检测的质量很大程度上决定了识别的精度;另一方面,识别的结果可以提供反馈,有助于降低检测阶段的误检率。
设计思想
最近出现了两个端到端可训练框架——Li et al. 与 Busta et al. ——用于解决 STS 问题,二者作为检测与识别互补的统一模型,性能显著优于之前方法,但是也存在两个缺陷:
1.两者无法完全以端到端的方式进行训练。原因有二:1)文本识别的训练需要精确的定位,而早期迭代中的定位往往不精确;2)相较于 CNN,LSTM 和 CTC loss 难优化。
2.现实世界中文本的形状多种多样,两者只适用于水平(horizontal)或多方向(oriented)文本上,却未涵盖曲形(curved)文本。
有鉴于此,本文提出一种新型架构——Mask TextSpotter,可以检测和识别任意形状的文本实例。任意形状是指涵盖现实世界中多种多样的文本形式。受到可为物体生成分割 mask 的 Mask R-CNN 的启发,本文通过分割文本区域检测文本,从而可以做到检测任意形状的文本;不同于Mask R-CNN,本文方法在分割文本区域之外,还预测出字符概率图,能同时完成任意形状的场景文本检测和识别。
另外,不同于先前的一维序列识别方法,本文可在二维空间中借助语义分割识别文本,解决不规则文本的识别问题。该方法还有一个优势,即其识别无需精确的定位,因此检测任务和识别任务可彻底实现端到端训练,以享有特征共享和联合优化的好处。
本文在包含水平、多方向、曲形文本的数据集上对该模型进行了有效性评估,结果表明,它在文本检测任务和端到端文本识别任务上有很大优势。在 ICDAR2015 数据集单尺度输入的情况下,该方法在检测任务上 F-Measure 值为 0.86,在端到端识别任务上,超出当前最优 13.2% − 25.3%。
本论文的贡献主要有以下 4 个方面:
1)本文提出一种用于 STS 的端到端可训练模型,可实现简单而流畅的训练;
2)该方法可以检测和识别任意形状的文本,包括水平、多方向和曲形文本在内;
3)相较于先前方法,本方法可借助语义分割实现精确的文本检测和识别;
4)该方法在多个数据集的文本检测和 STS 任务中实现了当前最优。
方法
框架
该方法的整体框架如图 2 所示,其包含 4 个组件:1)特征金字塔网络(FPN)用作 backbone,2)RPN 网络生成文本 proposals,3)Fast R-CNN 回归边界框,4)Mask Branch 用于文本实例分割和字符分割。
在训练阶段,RPN 首先生成大量的文本 proposals,接着其 RoI 特征馈送至 Fast R-CNN 和 Mask Branch 以生成精确的文本候选框,文本实例分割图和字符分割图。
图 2:Mask TextSpotter 图示。
本文的创新点在于 Mask Branch,它有 2 个任务:全局文本实例分割和字符分割。如图 3 所示,给定一个输入的 RoI,大小为 16 * 64,经过 4 个卷积层和 1 个反卷积层之后,Mask Branch 共预测 38 个图(大小为 32 * 128),其中包括 1 个全局文本实例图,36 个字符图(0-9,a-z)和 1 个字符背景图。
全局文本实例图可以给出文本区域的精确定位,而不受实例形状的影响。字符图共有 36 个通道,代表着有 26 个字母和 10 个阿拉伯数字。字符背景图包含着字符位置信息,可以为字符识别提供帮助。
图 3:Mask Branch 图示。
优化
该模型使用多任务的损失函数优化:L = L_rpn + α1 L_rcnn + α2 L_mask,其中 L_mask = L_global + β L_char。α1,α2,β 默认为 1.0。
文本实例分割任务的输出是 1 张图,其损失函数 L_global 是一个平均二值交叉熵函数,可表示为:
字符分割任务的输出是 37 张图,并对应于 37 个类别,其损失函数 L_char 是一个加权空间 softmax 函数,可表示为:
其中权重 W 被用来均衡正(字符类)负(背景)样本。
测试
在训练阶段,Mask Branch 的输入 RoI 来自 RPN;在测试阶段,由于 Fast R-CNN 的输出更为精准,因此使用 Fast R-CNN 的输出作为 proposals 以生成预测的全局图和字符图。
具体而言,测试过程如下:首先,输入一张测试图像,获得 Fast R-CNN 输出,并由 NMS 过滤掉多余的候选框;接着,把保留的 proposals 输入至 Mask Branch 生成全局图和字符图;最后,通过在全局图上计算文本区域的轮廓直接获取预测的多边形,字符序列可在字符图上由本文提出的 pixel voting 算法生成。
图 5:pixle voting 算法图示。左:已预测的字符图;右:对于每个连通区域的区域,通过平均每个相邻区域的概率值计算每个字符的分值。
实验
为评估本文方法的有效性,进行了一系列实验,并在公开数据集上与当前最优方法作了对比,主要有:水平文本数据集 ICDAR2013;多方向文本数据集 ICDAR2015 ;曲形文本数据集 Total-Text。
图 7: ICDAR2013(左)ICDAR2015(中)Total-Text(右)结果的可视化。
水平文本
本文在 ICDAR2013 上评估了 Mask TextSpotter 在检测和识别水平文本方面的有效性。本文把所有图像的较短边重设为 1000,并在线评估结果。
表 1:ICDAR2013 STS 结果。“S”, “W” 和 “G” 分别表示使用对应的不同规模的字典。
多方向文本
本文在 ICDAR2015 上评估了 Mask TextSpotter 在检测和识别多方向文本方面的有效性。
表 2:ICDAR2015 STS 结果。“S”, “W” 和 “G” 分别表示使用对应的不同规模的字典。
表 3:ICDAR2013 和 ICDAR2015 检测结果。
曲形文本
相比其他方法,具备检测和识别曲形文本的能力是本文方法的一个巨大优势,Total-Text 实验证实了该方法的鲁棒性。
表 4:Total-Text 结果。“None” 表示没有字典的识别。“Full” 表示包含字典的识别。
结论
本文提出了 Mask TextSpotter,以统一网络的形式检测和识别场景文本,并实现了彻底的端到端训练。相较于先前方法,Mask TextSpotter 易于训练,还可以检测和识别不规则文本(比如,曲形文本)。在多个类型(水平、多方向、曲形)的数据集上的优异表现证实了该方法在文本检测和端到端文本识别方面的有效性和鲁棒性。
参考文献
[1] Jaderberg M, Simonyan K, Vedaldi A, et al. Reading text in the wild with convolutional neural networks[J]. International Journal of Computer Vision, 2016, 116(1): 1-20.
[2] Liao M, Shi B, Bai X, et al. TextBoxes: A Fast Text Detector with a Single Deep Neural Network[C]//AAAI. 2017: 4161-4167.
[3] Liao M, Shi B, Bai X. Textboxes++: A single-shot oriented scene text detector[J]. IEEE Transactions on Image Processing, 2018, 27(8): 3676-3690.
[4] He K, Gkioxari G, Dollár P, et al. Mask r-cnn[C]//Computer Vision (ICCV), 2017 IEEE International Conference on. IEEE, 2017: 2980-2988.
[5] Li, H., Wang, P., Shen, C.: Towards end-to-end text spotting with convolutional recurrent neural networks. In: Proc. ICCV. (2017) 5248–5256
[6] Busta, M., Neumann, L., Matas, J.: Deep textspotter: An end-to-end trainable scene text localization and recognition framework. In: Proc. ICCV. (2017) 2223–2231