端到端–多语言场景文字检测识别(E2E-MLT)
MichalBušta¹,YashPatel²,JiriMatas¹¹
捷克技术大学,捷克布拉格²机器人研究所,卡内基梅隆大学
摘要:
提出了一种用于多语言场景文本定位和识别的端到端可训练(完全可微)方法。 该方法基于单个完全卷积网络(FCN),具有用于所有任务的共享层。
E2E-MLT是首次发布的用于场景文本的多语言OCR。虽然在多语言设置方面受过训练,但E2E-MLT与其他仅针对英语场景文本训练的方法相比,表现出了竞争性能。
1介绍—2相关工作—3本文方法—4实验评估—5总结
1介绍:
现有方法的不足:
(1)评估仅限于英语文本,并且方法没有在多语言设置中训练,
(2)它们解决文本定位和识别是两个独立的问题或利用多个网络来解决个别问题,
(3)现有的OCR方法缺乏处理旋转或垂直文本实例的能力。
具体的挑战:
1)目前公开可用于非英语场景文本识别的数据不足以培养深层架构。
2)个人语言具有特定的挑战,例如中文和日文具有大量字符,并且存在大量实例文本是垂直的。 孟加拉的场景文字大多是手写的。
E2E-MLT使用单个完全卷积网络处理多语言场景文本定位、识别和脚本识别。
该方法已经经过以下语言的培训:阿拉伯语,孟加拉语,汉语,日语,韩语,拉丁语,能够识别7,500个字符(相比于英语中的不到100)并且不使用任何固定字词的字典。
本文贡献:
1)识别多语言文本不需要脚本识别。E2E-MLT使用简单的多数表决机制对OCR输出执行脚本识别。
2)E2E-MLT能够识别高度旋转和垂直的文本实例,这是通过使用角度的cos(x) - sin(x)表示来实现的。
3)我们验证基于FCN的架构能够处理多语言文本检测和识别.E2E-MLT是第一个发布的多语言OCR,可以很好地适用于六种语言。
4)我们在ICDAR RRC-MLT 2017 [33]数据集上提供图像级别和单词级别的共现语言统计数据。 这些统计数据表明,来自不同语言的字符不仅可以在同一图像*同出现,而且可以在同一个单词*同出现。
5)我们公开发布了大规模综合生成的数据集,用于培训多语言场景文本检测,识别和脚本识别方法。
2 相关工作
2.1 文本定位
目标是获得精确的单词级边界框或分割图。
传统方法依赖于手动设计的特征来捕获场景文本的属性。 通常,这些方法通过极值区域提取或边缘检测来寻找候选字符。
利用CNN对图像补丁(通过滑动窗口获得)来预测文本/无文本分数,字符和二元类。
一种多阶段以字为中心的方法,其中通过聚合边缘框和聚合信道特征的输出来获得水平边界框提议。 使用随机森林分类器过滤提议。 作为后处理,使用CNN回归器来获得细粒度的边界框。
从YOLO物体探测器中汲取灵感,并提出了一种完全卷积回归网络,该网络在合成数据上训练,用于在图像中以多种尺度进行检测和回归;
田等人使用CNN-RNN联合模型来预测文本/无文本分数,y轴坐标和锚边精化。
类似的方法使SSD对象检测器适应于检测水平边界框。
Maet al通过调整Faster-RCNN 架构并添加6个手工旋转和3个方面来检测不同方向的文本
Zhou等人提出了一种两阶段的词或线级定位方法,遵循U-Shape(具有来自不同层的逐渐合并的特征的完全卷积网络)的架构设计原理。 然后使用NMS处理获得的文本提议以进行最终输出
SCUT-DLVClab分别训练两个模型,第一个模型预测边界框检测,第二个模型将检测到的边界框分类为一个脚本类或背景。
TH-DL使用具有剩余连接的修改的FCN来生成文本提议和用于检测的Fast-RCNN 及 GoogleLeNet架构用于脚本识别。
如前所述,所有这些方法仅涉及英文文本。
2.2文本识别
目的是获取裁剪后的单词图像并生成单词的转录。
Jaderberg等在900万合成图像上训练基于VGG-16的CNN,将裁剪后的单词图像分类为字典中的单词之一。 该词典包含大约90000个英语单词以及训练和测试集的单词。 字典外的任何单词都会被忽略。
施等人通过使用(CTC)训练具有双向LSTM的完全卷积网络,为每个图像生成一个字符序列。 与提出的E2E-MLT的OCR不同,将源裁剪的单词图像调整为100×32像素的固定大小的矩阵,而不管存在的字符数或原始宽高比。
Leeet al提出了一种具有软注意机制的递归网络,用于无词典场景文本识别。该方法利用具有权重共享的递归CNN来减少参数的数量。 在卷积特征之上使用RNN来自动学习字符级语言模型。
上述方法仅处理英文文本,其中字符的数量是有限的。 从字典的角度处理问题,其中忽略字典之外的任何单词。 在多语言场景中,这种设置是不可行的,其中字符的数量和可能的单词集非常高。 E2E-MLT中的文本识别是开放字典(就单词集而言)并且不需要任何语言特定信息。
2.3 端到端的场景文本方法
目标是预测精确的单词级边界框和相应的文本转录。
李等人利用卷积循环网络同时生成文本边界框和相应的转录。
Busta等人提出了类似的方法。其中旋转是连续参数,并且使用训练集上的聚类找到最佳锚箱尺寸。 从预测的边界框获得的图像使用另一个完全卷积网络转录。
刘等人引入ROI旋转以从共享卷积层中提取高级特征,并将其馈送到两个单独的分支以执行定位和识别。 文本本地化分支利用来自较低层和较高层的特征来合并小文本区域。 文本识别分支由多个卷积层和双向LSTM组成。基础网络和两个分支共同优化。
我们的场景文本检测和识别方法的想法受到了Busta等人的启发。即采用现有技术的对象检测器对其进行修改以处理场景文本的细节,并使用单个管道解决定位和识别问题。 E2E-MLT不使用多个网络,端到端可训练,为两个任务共享卷积功能,并在六种语言的多语言设置中进行训练。
3 方法
给定包含多语言文本实例的场景图像,E2E-MLT获得文本定位,为每个检测到的区域生成文本转录和脚本类。 E2E-MLT的结构如图3所示。该模型以端到端的方式进行优化:
E2E-MLT概述:密集文本提议由E2E-MLT的文本定位分支生成和过滤。 在边界框级别保留纵横比,提取共享图层中的特征。 E2EMLT的OCR分支采用这些池化特征并生成字符序列或将边界框丢弃为无文本。
3.1 多语言合成数据的生成
现有的多语言场景文本数据集不能为深度网络训练提供足够的数据。
最大的此类数据集在ICDAR RRC-MLT 2017中介绍。 该数据集包括7,200种训练和1,800种验证图像关于六种语言。 为了克服训练数据有限的问题,我们在自然场景数据集中生成合成多语言文本。
我们采用了Gupta等人提出的多语言设置。 该框架通过在现有自然背景图像上叠加合成文本来生成逼真的图像,并且它解释了3D场景几何。 Guptaet等提出了以下用于场景文本图像合成的方法:
–现实世界中的文本通常出现在明确定义的区域中,其可以通过均匀的颜色和纹理来表征。 这是通过使用有效的图切割实现对gPb-UCM轮廓层次进行阈值处理来实现的。 这为渲染文本提供了预期的分段区域。
–然后使用[28]获得分割区域的深度图的密集估计,然后使用RANSAC [9]将平面小平面拟合到地图上。 这种方式估计了用于文本渲染的预期区域的法线。
– 最后,文本与预期图像区域对齐以进行渲染。 这是通过使用估计的区域法线将图像区域扭曲到正面平行视图来实现的,然后将矩形拟合到该区域,最后,文本对齐到该矩形的较大边。
生成的数据集包含与ICDAR RRC-MLT2017相同的语言类集:阿拉伯语,孟加拉语,中文,日语,韩语,拉丁语。 自然场景数据集中的合成多语言包含在由[14]收集的8,000个背景图像集合中选择的自然场景图像上呈现的文本。 注释包括单词级和字符级文本边界框以及相应的转录和语言/脚本类。 该数据集有245,000张图像,每种语言有数千张图像。 样品实例如图2所示。
注意:[14]中提供的管道以字符方式呈现文本,这打破了阿拉伯语和孟加拉语单词的连字。 我们对管道进行了适当的更改,以处理这些语言特定的情况。 此外,为了合并高度旋转和垂直文本实例的真实世界样本,我们在单词级别保留阅读方向。
3.2 整体架构
E2E-MLT模型的概述如图3所示。我们利用FPN目标检测器(特征金字塔)[27]和ResNet-34 [15]作为E2E-MLT的骨干。 与整个图像尺寸相比,自然场景图像中的文本通常相对较小,因此我们用一组3x3卷积替换第一层ResNet-34,步长为2. 与[27]类似,由于其高内存消耗,所提出的检测器在原始图像的1/4比例上工作。
表1中详述了不同层之后的激活图的体系结构以及维度图.W和H分别是输入图像的宽度和高度。 ResN-B代表ResNet块[15],IN代表实例标准化[6]。| A | 是可以识别的字符数(所有语言中的字符数,7500是我们的设置)。 初始卷积层在本地化和识别任务之间共享。
3.3 文本定位
将自然场景图像输入到E2E-MLT架构中,并生成多个单像素文本分数和几何的级别。预测输出由七个通道组成:每个特征文本/无文本置信度得分rp,到包含此像素的边界框的顶部,左侧,底部和右侧的距离以及方向角度参数为rθ。 为了克服角度预测的不连续性,我们用sin(rθ)和cos(rθ)来表示它。 真实边界框的缩小版本被视为正文本区域。
在E2E-MLT中用于定位和识别的联合损失函数是多个损失函数的线性组合:[44]中提出的IoU损失,[32]中提出的骰子损失,[13]中提出的CTC损失函数和均方法学习轮换的基于错误的损失(由Langle代表)。 端到端培训的总体损失函数由下式给出:
Lgeo是IoU损失函数,对不同尺度的文本区域不变。 由Lctc表示的CTC损失项用于字级文本识别(详见3.4节)。 Langle是通过sin(rθ)和cos(rθ)旋转角度表示获得的均方损失的总和。 我们通过实际观察,利用两个独立的通道来预测边界框旋转角度的sin和cos有助于高度旋转和垂直文本实例的定位。 生成的边界框输出的示例如表2所示,
由于文本区域与整个图像大小相比相对较小,因此前景(文本区域)和背景类之间存在高级别的不平衡。骰子丢失项有助于网络克服这种类别的不平衡。骰子损失定义如下:
方程 2遍历最后一个卷积层中的所有特征点。 gi∈{0,1}是具有索引i的给定特征点的真实标签,并且pi∈(0,1)是对应于网络中的标签。 对于我们所有的实验设置,我们在等式1中保持λ1=λ2=λ3= 1。
只考虑文本置信度rp> 0.9的提案进行进一步处理。 最后,对过滤的提议执行位置感知NMS [44]以生成最终的边界框预测。
3.3 文本检测
E2E-MLT的OCR分支是用于多语言文本识别的FCN模块。 预测单词级别边界框(如第3.3节所述)与真实边界框进行比较。 IoU高于0.9的预测用于训练E2E-MLT的OCR分支。
然后使用这些选定的预测来估计空间变换器层的扭曲参数[17]。 请注意,空间变换器操作应用于输入图像而不是特征表示。 文本识别高度依赖于旋转。 我们在单独的步骤中处理旋转并利用空间变换器来标准化图像以进行缩放和旋转,从而使学习任务更容易。 与[20]类似,我们利用双线性插值来计算输出值,因为它避免了未对准并使OCR模块的输入固定高度和可变宽度,同时保持字级的纵横比。
完全卷积OCR模块采用可变宽度特征张量W×40×C作为输入并输出矩阵W/ 4×| A |,其中A是字母表 - 所有语言的字符的并集(= 7500 log-Softmax输出),W = wH’/h(其中w,h分别是文本区域的宽度和高度,我们修复 H’= 40)。 Tab1中提供了完整的网络定义。E2E-MLT架构中文本识别的损失是时序类分类算法(CTC)计算的。
在所有实验中,我们使用贪婪的网络输出解码。 替代方案可以是使用,任务和语言特定技术例如前缀解码或使用语言模型解码(用于单词定位任务)。 但是,我们的OCR是通用的,开放字典和语言无关的。
3.5 训练细节
E2E-MLT的文本定位和OCR分支都以端到端的方式一起训练。
**数据集:**联合使用ICDAR RRC-MLT 2017 [33]训练数据集,ICDAR RCTW 2017 [40]训练数据集,ICDAR 2015 [21]训练数据集和自己生成的数据集Synthetic Multi-Language ;
我们利用Adam [22]((base learning rate = 0.0001,β1= 0.9,β2= 0.999,权重衰减= 0)来优化文本定位和识别(方程1并训练直到验证误差收敛。
4 实验
在整个实验分析中,我们评估了在多语言设置中训练的单个模型。在报告结果时,我们不会针对特定数据集或任务微调模型。 与[30]不同,我们使用单一尺度评估性能。 此外,文本识别结果以无约束设置报告,即不使用任何预定义词典(词集)。
4.1 多语言场景文本识别
首先,我们对单个图像中的脚本共现(表3),以及在单词中的脚本共现(表4)进行分析。
字符的脚本由Unicode表[1]定义,每个字符都有其唯一的名称(例如字符’A’具有unicode名称’Latin Capital Letter A’,因此其脚本为拉丁文)。 在ICDAR MLT 2017数据集[33]中出现的脚本是拉丁语(Lat),阿拉伯语(Ara),孟加拉语(Beng),韩文(Hang),CJK,Hiragana (Hir), Katakana (Kat) 和数字(Dig),其余字符被认为是符号(Sym)。 缩写CKH标志着CJK,H,K组。图4示出了即使在单词级别上脚本同现也是非平凡的。 实际应用中的OCR模块应该令人满意地处理非拉丁文脚本和拉丁文,数字和符号脚本的常用脚本组合。
图5显示了E2E-MLT裁剪词的OCR准确度。图6为单个脚本的混淆矩阵。 在此评估中,单词的ground truth被定义为最常见的脚本。 图6显示E2E-MLT由于令人困惑的脚本混淆而没有犯很多错误
4.2 ICDAR 2015数据集上端到端场景文字
此数据集由城市中行走的人佩戴Google Glass设备而获取的500个图像组成。 请注意,此数据集并未考虑文本,因此可以充分捕获真实世界场景文本场景。 数据集称为附带文本,与整个图像大小相比,文本实例较小。 与ICDAR RRC-MLT [33]不同,此数据集中的图像仅包含英文文本
标有星号的方法仅针对英语场景文本进行训练。 E2E-MLT为具有六种语言(7,500个字符)的单一无约束(无字典)模型。
4.3 ICDAR MLT数据集上的端到端多语言场景文本
我们评估了E2E-MLT在ICDAR MLT 2017 [33]数据集上的表现。 数据集[33]包括7,200训练样本,1,800验证样本和9,000自然场景测试图像。 真实注释包括边界框坐标,脚本类和文本转录。 该数据集涉及以下6种语言:阿拉伯语,拉丁语,中文,日语,韩语,孟加拉语。 此外,标点符号和一些数学符号有时会显示为单独的单词,并被分配一个名为Symbols的特殊脚本类,因此会考虑7个脚本类。 端到端识别(定位和识别)的定量评估见表10。定性结果见表11
4.4 在 ICDAR RRC-MLT 2017 上的联合多语言文本定位和脚本识别
这个任务的目标是预测每个单词的精确单词级别边界框和相应的脚本类。现有的文本识别算法[18,19,39]是依赖于语言的,这使得脚本识别成为其他方法的先决条件。 第4.3节,我们通过实验证明,多语言文本识别不需要脚本识别。 在E2EMLT中,一旦我们转录了文本,我们就会使用每个字符的简单多数投票来预测最终的脚本类
我们对ICDARMLT2017的联合文本定位和脚本识别任务进行了定量评估[33]。注意与Tab中的其他方法不同,我们不将脚本识别作为单独的任务。 相反,我们使用E2E-MLT的转录文本输出
5总结
E2E-MLT是一种用于多语言场景文本定位和识别的端到端可训练无约束方法。 它是第一个发布的用于场景文本的多语言OCR,能够识别高度旋转和垂直的文本实例。 在实验上,我们证明了单个基于FCN的模型能够共同解决多语言场景文本定位和识别任务。 尽管E2E-MLT经过多种语言的培训,但它在ICDAR 2015 [21]数据集上仅进行英语数据训练方法相比具有一定竞争力。 通过本文,我们将**发布一个大规模的综合生成数据集,**用于训练多语言场景文本检测,识别和脚本识别方法。 代码和训练有素的模型将被发布。
代码和模型正在研究学习中。