Generic Text Recognition using Long Short-Term Memory Networks
光学字符识别(OCR)的研究是模式识别(PR)中的一个老问题。 开发一台能够以与人类相同的阅读方式阅读文本的机器灵感来自于人类阅读的过程。 其实,OCR的早期系统旨在帮助盲人阅读。 几十年的研究已经产生了许多实用的系统,从后期[RH89]中的帖子分类到自动识别银行支票[GAA + 99],从手持扫描仪到阅读自然场景中文本的复杂系统[Mat15]。
将纸质文档转换为数字文档的过程通常称为文档图像分析(DIA)。 典型DIA系统的流水线如图1.1所示。 DIA中的OCR模块识别文本; 但是,由于图形,图像,页面方向和倾斜问题的存在,它不能轻易这样做。 因此,有必要将文本与给定文档图像中的非文本区域分开,并将其带到可以应用OCR模块的表单中。
许多DIA系统的第一步是对输入图像进行二值化。 这基本上将文档图像分割为前景像素和背景像素[Gat14]。 这不仅降低了存储要求并简化了进一步处理,还清除了文档中不需要的细节,例如噪音,渗色或光泽。 DIA系统中的布局分析任务是从任何给定的扫描页面中提取文本行,单词或字符。 以高精度进行布局分析步骤非常重要; 否则,识别步骤的效率会受到影响。
许多DIA系统的核心是OCR模块。 该模块将文档从图像形式转换为相应的文本形式,适用于信息提取,检索和索引。 在OCR的数十年研究中,已经提出了各种方法来执行文本识别任务。 随着技术变得高效和经济,OCR算法已经开始用于越来越复杂的语言和脚本。 这些新脚本为表格带来了特定的挑战,从而产生了新的和改进的方法。
在过去的十年中,隐马尔可夫模型(HMM)受到了很多关注,主要是在语音和手写识别领域。 他们已用于各种打印脚本的OCR(参见[MSLB98 EM08,HHK08])。 尽管HMM产生了良好的结果,但它们来自(已知)的生成模型属性,即关于每个单独状态的概率的假设是独立于它之前的状态。
为了克服纯HMM识别方法的这些缺点,研究人员提出了HMM / ANN混合方法[Ras14]。 在这些方法中,人工神经网络(ANN)用作判别特征提取器,而HMM用作文本识别引擎。 虽然这些混合方法的表现优于单独的基于HMM的方法; 它们仍然受到HMM不良特性的影响[Gra12]
递归神经网络(RNN)基本上是前馈神经网络的扩展。 差异在于隐藏层中神经元的连接方式。 在任何给定时间,隐藏层中的神经元不仅从外部输入状态接收输入,而且还从先前隐藏状态接收输入。 RNN被认为擅长于上下文感知处理和识别时间序列中出现的模式[Sen94]。 然而,传统的RNN在OCR和语音识别等大规模任务中没有表现出竞争性,可能是由于梯度消失[HBFS01,BSF94]。
长短期记忆(LSTM)[HS97]架构旨在克服这一问题。 它是一种高度非线性的递归神经网络,具有乘法“门”和附加反馈。 格雷夫斯等人。 [GLF + 08]引入了双向LSTM(BLSTM)架构,用于在前向和后向方向上访问上下文。 两个层都连接到单个输出层。 为了避免分割训练数据的要求,格雷夫斯等人。 [GFGS06]使用了前向后向算法(称为文献中的连接主义时间分类(CTC))将副本与神经网络的输出对齐。
基于LSTM的线识别器的一个重要特征是它们能够在不使用任何复杂,手工或专用功能的情况下实现非常高的识别精度,并且无需使用任何类型的后处理步骤,例如语言建模,字典校正或 任何其他适应。 这使整个过程非常易于使用,并适用于各种脚本和语言。
尽管OCR系统的技术进步,但这种系统的实际使用往往不能令人满意。 捕获技术的变化直接影响这些自动化系统的最终识别。 扫描伪像会导致许多降级,例如连接的字符,墨水扩散,渗色和闪光。 数字化历史文件的情况引起了其他一些挑战,例如撕裂的页面,古老的拼字法和古代文字的使用。 要识别的脚本的复杂性不仅在历史脚本中,而且在许多现代脚本中都是一个限制因素,在这些脚本中,复杂的字形结构和难以形容的拼写规则挑战现代识别系统的能力。
近年来更频繁报道的另一个问题是全球化导致多语言文件的情况。 操作手册,多语言书籍和翻译是多语言文档的一些主要来源。 处理各种脚本的多个字形结构对于OCR系统来说是一个挑战,OCR系统是为单脚本文档设计的。 图1.2概述了这些多重挑战,并通过代表性图像来阐明问题。
针对上述许多挑战的OCR研究仍处于起步阶段。 许多复杂的现代脚本,如梵文和类似阿拉伯语的脚本,缺乏可靠的OCR系统。 历史文件的情况也是如此,其中不可用 Ground-Truth(GT)数据是开发自动识别系统的主要限制。
本文旨在通过一方面应用最先进的RNN,另一方面开发新技术来解决有限转录数据的问题,从而解决其中的一些问题。 基于RNN的方法产生了优异的OCR结果。 使用自动学习功能和简单使用的附加优势允许相同的体系结构用于各种脚本的出色结果。
这项研究工作的主要假设是基于RNN非常接近地模仿生物神经网络[GEBS04]的功能的主张。 因此,他们应该能够在很大程度上复制人类的阅读能力。 它们处理上下文信息的能力使他们能够学习序列到序列映射,使它们成为文本识别任务的合适选择。 在这种情况下,上下文在可靠地预测角色方面起着不可或缺的作用。 而且,他们的能力
自动从文本行图像中学习区别特征,使其能够处理各种脚本和语言。
下面是该论文的章节的描述:
传统上,识别文本的过程涉及将页面分割成文本区域(段落),然后分成文本行,然后是单词,最后是单个字符。 字符识别器将逐个识别分段字符。 该技术在文献中被称为“基于分割的”OCR,第2.1节描述了多年来为这种类型的OCR开发的各种方法。
第二种更新的技术是整体OCR。 在这种方法中,识别是在单词或文本行级别完成的。 这避免了从文本行中提取字符的艰巨任务。 第2.2节详细讨论了该类别的研究现状。
在基于分割的OCR方法中,主要步骤是识别适合于最终识别(OCR)步骤的各个组件。 这种方法在很大程度上取决于从文本中提取单个字符。 在最终让位于无分割方法之前,这种方法在很长一段时间内仍然是最先进的。 Tesseract [Tes14] - 一种流行的开源OCR系统 - 是基于分割的OCR系统的一个例子。 在这个范例中,有许多用于打印和手写字符分割的方法,并且在文献[CL96,Lu95,SSR10]中已经报道了用于这些方法的各种调查论文。
基于分段的OCR可大致分为两大类。 第一类基于模板匹配,其中提取连接的组件(字符)并随后与可能的模板进行匹配。 基于某个相似性标准实现识别。 第2.1.1节描述了该技术用于OCR的各种方法。第二类分割基于过分割技术。 在该技术中,不是找到两个字符之间的精确分割点,而是找到近似分割点(切割)。 然后在稍后阶段校正过分割。 更多细节可以在第2.1.2节中找到。
Template Matching for OCR
随着计算机技术的出现,模板匹配算法开始作为基于软件的解决方案出现。 在基于软件的OCR模板匹配过程中,提取单个字符,然后将其与字符的所有可能模板进行匹配(有关此过程的说明,请参见图2.1)。 这些模板是每个角色类的代表性原型。 实际匹配是逐个像素地完成的,并且当匹配的比特(像素)的数量高于特定阈值时找到匹配。 在实践中确实使用的基本相似性意味着互相关函数,由下式给出。
相似性计算的公式如下所示:
除了直接匹配图像之外,基于特征的模板匹配也是众所周知的。 在这种方法中,首先存储模板(原型)的特征而不是图像本身。 对于查询图像,提取相同的特征,然后将其与代表性原型的特征进行匹配。
在实践中,基于模板匹配的方法的使用非常有限,因为这种方法极大地受到图像噪声,字体变化,触摸字符等的影响。因此,已经设计了更复杂的方法来更有效地分割字符,或者使用集成分割和识别的方法,例如具有HMM类输入 - 输出对齐方法的HMM或RNN。
Over Segmentation Methods
过分割方法适用于无法进行正确字符分割的情况。这可能是由于文档中存在触摸字符而发生的。通过不完美的分割找到候选字符,而不是完美地分割字符(参见图2.2)。然后通过标准模式识别方法识别这些候选字符,包括最近邻分类器,决策树,贝叶斯分类器或神经网络。使用简单的启发式方法来丢弃那些分类符的得分低于某个阈值的候选者。但是,使用启发式算法来找到合适的候选人物在实践中并不是很有用。如破碎的字符,字体等,可能会导致过度分割某些字符,例如,'m’可以被分割成’nn’或’rn’或’d’可以与’cl’混淆”。识别这些候选字符的更好方法是使用语言模型来确定所有可能的候选字符中的正确假设。在语言建模阶段,出现在某些字符组合中的成本用于确定正确的选择。
有许多方法用于确定两个字符之间的近似边界[MWW13]。 两个相邻字符之间的分割点可以通过(i)基于投影的方法找到,其中分割点由垂直投影找到,(ii)基于特征的方法,其中某些特征用于识别角色的近似边界。或(iii)基于骨架分析的方法,其中字符的细化版本用于确定分割点。
纳吉在他的着名作品[Nag92]中敦促文献分析界从孤立的角色识别转向更全面的方法,这些方法可以在识别过程中提供有针对性的背景信息。结果,出现了无分割的OCR方法,除了其自身的特征之外,还基于其周围的上下文识别单个字符。 OCR的无分割方法,与布局分析步骤所需的分割级别的基于分割的方法不同。传统上,这种方法需要提取给定文本行的单词或部分词。然后识别引擎识别整个单词或词的部分。在整体方法中,从整个单词,部分单词或连字中提取区分特征。然后,这些特征用于训练分类器(HMM或ANN)以识别整个单词或完整的连字。无分割方法在文献中也称为集成分割/识别或隐式识别方法。这些方法在文本行级别执行字符定位和识别;从而避免了明确的单词或字符分割的需要。
一种非常著名的无分割方法基于HMM,其长期以来一直是最流行的OCR方法。 使用HMM的OCR方法在2.2.1节中进一步描述。 最近的无分割方法主要是将RNN与CTC方法结合使用。 有关此方法的更多详细信息,请参见第2.2.2节。
2.2.1 HMM-Based OCR Approach
隐马尔可夫模型(HMM)是随机模型,其中基础过程假定由马尔可夫属性2控制。 对于无分割的OCR,每个字符,字或连字都由固定数量的状态建模,如图2.3所示。 一个固定大小的窗口遍历文本行。 从该窗口提取特征,并且它们的矢量通过单独的概率(称为发射概率)与状态相关联。 在训练期间,针对文本行中的每个字符,单词或连字学习状态转移概率,并且表示为转移矩阵。 前向后向算法[Rab89]将输出标签与地面实况数据对齐。
HMM工具包[YY94]是研究人员在将HMM应用于各种任务时的一种流行选择。 关于HMM方法背后的数学和各种基础算法的更多细节可以在[Rab89]中找到。 基于HMM的无分段方法仍然是十多年来语音处理和手写识别的主导方法。 它们也被用于印刷OCR,其中一些例子可以在[MSLB98,EM08,HHK08]中看到。
2.2.2 Sequence Learning Approach
在序列学习(或[Gra12]中表示的序列标记)中,监督学习是在完整序列而不是单个组分上进行的。输入和目标都是序列的形式,分类的工作是进行序列到序列的映射。 RNN在当代序列学习任务中用作核心分类器。这种网络中隐藏层的神经元之间的反馈连接允许它们记住序列的上下文;从而使他们学习长期的背景信息。然而,在实践中,他们没有表现出记住很长时间背景的力量。在使用基于梯度下降的学习时,误差信号(实际输出和目标输出之间的差异)被传播回来以更新内部重量连接。已经证明[HS97,BSF94],一阶梯度值的值呈指数增长,爆炸梯度问题,或者它们以指数方式消失为零,消失梯度问题。这些问题使得RNN学习非常缓慢且不切实际。 Hochreiter和Schmidhuber [HS97]通过用一个称为长短期记忆(LSTM)的存储单元取代隐藏层的传统激活单元,解决了训练RNN的问题,能够保留梯度值更长的时间。
但是,神经网络需要分段输入,以便他们可以学习该输入与目标类的关联。 输入分割的这种要求使得它们不适合学习完整的序列。 在基于LSTM的序列学习任务中,在文献中描述的与HMM的前向后向算法类似的连接主义时间分类(CTC)的专用算法用于将神经网络的输出激活与目标标签对齐。 这种学习算法的输出是一系列离散标签。 对于文本识别任务,这些标签是给定的脚本系列的字符。 图2.4显示了使用序列学习范例的示例。
Baird和Tambore在[BT14]中概述了图像识别的许多顽固障碍,这些障碍阻碍了强大的OCR系统的实现。 本章重点介绍其中的两个具体挑战:1)由于脚本性质而发生的挑战,以及2)由于GroundTruth(GT)数据不可用而产生的挑战。 脚本的性质需要其字形以及加入它们所需的相关印刷规则。 字形结构,也被一些研究人员称为脚本形态[BR14],直接影响了OCR系统的性能。 因此,对于OCR算法,复杂脚本本质上更成问题。 同样,某些脚本中的排版规则会导致连字和复合形状的形成,这进一步加剧了对此类脚本的可靠识别。
此外,历史文件给现代脚本带来了额外的问题。 文档的老化会以多种方式严重影响文本,例如文本行的变形,低对比度,由于页面撕裂导致的信息丢失,页面变薄,渗透,透过和墨水扩散。 此外,由于存在多个拼字法和脚本,多语言文档(现代和旧的)也会引起复杂性。
开发可靠的OCR的第二个挑战是地面真相(GT)或转录数据的不可用性。 受监督的机器学习(ML)训练OCR模型需要大量数据。 文档的多样性使得很难在训练OCR模型中捕获完整的数据表示[BT14]。 因此缺乏GT会严重妨碍许多语言和脚本的OCR系统的开发。
3.1.1 Challenges for OCR in Printed English
形状的相似性:现代英语排版中有许多类似形状的字符。 这些字符或部分字符使得OCR引擎难以可靠地识别它们。 其中一些字符是Some of these characters are ‘l’ and ‘1’ or ‘i’ and ‘l’, ‘cl’ and ‘d’, ‘rn’ and ‘m’ 这些问题在基于分段的OCR系统中尤为突出(参见第2.1节)。
类似的大、小写字符:一些字符在它们的大写和小形式中具有相同的形状,例如’o / O’,‘s / S’,‘x / X’和’v / V’。 这些字符对混淆了形状匹配算法以进行正确识别,从而导致识别准确性差。
文件中的降级:在扫描文件中引入噪声是一种常见现象[NS14]。 它可以将字符扭曲到OCR算法不再可识别的水平。 许多DIA系统的通常过程是在进一步处理之前扫描页面并应用二值化。 在捕获过程中,文档中会出现大量伪影,例如墨水扩散,渗透(文本的一部分出现在页面的另一侧),歪斜和椒盐噪声。 在二值化阶段校正这些降级中的一些,其使用各种启发法来去除这些伪像。 这个过程的一个缺点是许多角色变得更加扭曲,而其他角色则被连接在一起。 这导致差的分割和增加的识别错误。
摄像头捕获的文档:由于非常便宜的捕获设备的可用性,使用手持摄像头捕获的文档有所增加。 这些文档带来了几个独特的挑战,例如带有卷曲文本行的文本图像,运动模糊和离焦文本图像。 OCR的标准算法在这些文档上不能很好地工作。
自然场景和视频中的文本识别:可靠文本识别中的另一个相关问题是自然场景和视频中的文本。 在这种情况下识别文本需要文本定位(文本位于图像中)和文本分割(将文本与背景分离)。
3.1.2 OCR Databases for modern English
有许多数据库可用于打印英文脚本,以检查OCR算法,这是对这个领域持续研究数十年的结果。 下面描述了在本论文中使用的两个非常流行的数据集:
华盛顿大学(UW3)文本图像数据库:文本图像数据库,UW3 [LRHP97],包含1600个文档图像,其中包含用于文档布局和文本识别任务的GT信息。 除普通文本外,GT还可用于方程式,表格和标题。 出于我们研究的目的,仅考虑了正常的文本行。 一些文本行来自此数据库如图3.1所示。
UNLV-ISRI数据库:UNLV-ISRI数据库[TNBC00]由1056份文件和46,586页组成。 与UW3数据库类似,此数据库中仅使用了普通文本行。
许多字符识别算法需要相当大的地面实体(Ground Truth)数据进行培训和基准测试。 训练数据的数量和质量直接影响可训练OCR模型的泛化精度。 然而,手动开发GT数据非常费力,因为它需要大量的工作来生成一个涵盖语言所有可能单词的合理数据库。 抄写历史文件更加艰苦,因为除了手动标注之外,它还需要语言专业知识。 增加的人力资源会产生开发此类数据集的财务方面,并可能限制用于OCR目的的大规模注释数据库的开发。 在前一章中已经指出,训练数据的稀缺性是为许多历史脚本和一些现代脚本开发可靠的OCR系统的限制因素之一。
本论文的以下贡献克服了有限训练数据的挑战:
•已经提出了一种半连接方法,用于在连字级别为草书脚本生成GT数据库。 该方法同样可以应用于生成字符级GT数据。 第4.2节报告了草书Nabataean脚本的此方法的特定方法。
•已开发出合成生成的文本行数据库,以加强OCR研究。 这些数据集包括Devanagari脚本(Deva-DB)的数据库,印刷的Polytonic Greek脚本(Polytonic-DB)的子集,以及用于多语言OCR(MOCR)任务的三个数据集。 第4.3节详述了这个过程,并描述了这些数据集的关键点。
在文献中已经提出了基本上两种类型的方法。 第一个是从文档图像中提取可识别的符号,并应用一些聚类方法来创建代表性的原型。 然后为这些原型分配文本标签。 第二种方法是从文本数据合成文档图像。 使用各种图像缺陷模型降低这些图像以反映扫描伪像。 这些降级模型[Bai92]包括分辨率,模糊,阈值,灵敏度,抖动,偏斜,大小,基线和字距调整。 其中一些工件在4.3节中讨论,它们用于从文本生成文本行图像。
合成训练数据的使用正在增加,并且文献中报道了许多数据集使用了这种方法。 在这些类型中突出的一个数据集是阿拉伯语印刷文本图像(APTI)数据库,其由Slimane等人提出。[SIK+09]。 该数据库是综合生成的,涵盖十种不同的阿拉伯字体和多种字体大小(范围从6到24)。 它由各种阿拉伯语来源生成,包含超过100万个单词。 使用十种字体,四种样式和十种字体大小渲染时,数字增加到超过4500万字。
合成文本行图像数据库的另一个例子是由Sabbour和Shafait [SS13]出版的乌尔都语印刷文本图像(UPTI)数据库。 该数据集包含从各种来源中选择的超过1万个独特的文本行。 每个文本行都使用各种降级参数进行综合渲染。 因此,数据库的实际大小非常大。 数据库包含文本行和连字级别的GT信息。
使扫描文档图像生成OCR数据库的过程自动化的第二种方法是使文本行的转录与文档图像对齐。 Kanungo等。 [KH99]提出了一种为扫描文档自动生成字符GT的方法。 首先使用任何排版系统以电子方式创建文档。 然后将其打印出来并进行扫描。 接下来,找到来自同一文档的两个版本的相应特征点,并估计变换的参数。 使用这些估计相应地转换理想的GT信息。 Kim和Kanungo [KK02]通过使用属性分支和绑定算法提出了该方法的改进。
4.2.1 Preprocessing
二值化是所提方法中唯一的预处理步骤; 然而,可以包括偏斜检测和校正作为进一步的预处理步骤。 局部阈值技术[SP00]用于二值化目的。 Shafait等人提出的这种算法的快速实现。 [SKB08]已被用于加速这一过程。 需要根据文档凭经验设置两个参数,即局部窗口大小和k参数。 局部窗口大小为70×70,k参数设置为0.3。
4.2.2 Ligature Extraction
可以通过两种方式进行连字提取:一种是直接在二值化图像上应用连字提取算法,另一种是在应用连字提取之前提取文本行。 前者适用于文档清晰且文本行间距清晰的情况(见图4.1-(a)),后者适用于文本行在文档中没有很好分离的情况(图4.1-(b)) ,如出现退化的历史文件。
窄线分离导致连通成分分析不良; 因此,来自上下文本行的许多连字合并在一起。 应用文本行分割的决定是基于特定文档中的行间距。 通过应用连通分量分析开始连接提取。 连接组件列表首先分为两部分,基本组件和变音符号(包括点)。 这种划分基于连通组件的高度,宽度和两者的比例。 在本章的上下文中,不考虑字体变体,主要关注的是乌尔都语书籍和杂志中常用的字体。 因此,分离主连字和变音符号的阈值是根据主要字体的大小凭经验设置的,并且对于我们数据集中的所有文档图像它们保持相同。
4.2.3 Clustering
正如已经提到的那样,由于草书中存在大量的连字,单个连字的标记变得非常不切实际。 因此,建议根据相似的形状对提取的连字进行聚类。 出于聚类的目的,采用epsilon-net聚类技术。 通过简单地改变epsilon的值,我们可以控制簇的数量。 根据经验设置epsilon的值以获得适量的集群,以便可以在验证的手动步骤中轻松管理它们。 用于epsilon聚类的特征是连字的位图。 而且,该方法比k均值聚类相对快。
4.2.4 Ligature Labeling
下一步是验证类簇并在需要时手动修改它们。 OCRopus框架提供了一个高效的图形用户界面,可以毫不费力地完成这项工作。 聚类也可能在一个以上的聚类中划分单个连字(参见图4.2-(a)),因此需要合并不同的聚类以在标记的后期节省时间。 此外,还可以修改以仅保留有效成员(与代表的标签相同的标签)的方式划分集群的步骤,将空类分配给不正确的成员,然后在空类上应用进一步的集群迭代。 在当前的工作中,在手动标记之前合并相同的连字簇,并且仅使用单个簇迭代。 在此验证步骤之后,单独检查每个群集以识别无效群集,然后将其丢弃。 OCRopus框架再次用于此目的(见图4.2-(b))。
在此标记过程结束时,我们有一个数据库,其条目表明有关连字的以下信息:
•图像文件名称,从最初提取此连字的位置开始。
•有关文档图像中连字位置的边界框信息
•与形成此连字的字符对应的Unicode字符串。
印刷现代脚本的OCR
近来,基于机器学习(ML)的算法已经能够在许多模式识别任务上实现非常有希望的结果,例如语音,手写,活动和手势识别。 但是,它们尚未经过全面评估以识别印刷文本。 印刷OCR类似于其他序列学习任务,如语音和手写识别,因此它也可以获得高性能ML算法的好处。
第3章已经讨论了妨碍完成强大的OCR系统的各种挑战。仔细研究这些挑战后,人们可以意识到人类读者在阅读特定脚本时不会面临许多这些问题。 人类阅读功能强大,因为它能够处理任何文本的上下文。 类似地,长短期记忆(LSTM)网络的内部反馈机制使他们能够有效地处理上下文; 从而使它们非常适合于文本识别任务。
本章讨论在三个现代脚本上使用LSTM网络进行OCR。 本章的第一部分,第5.1节,概述了基于LSTM的OCR系统的完整设计。 第二部分,从第5.2节到第5.4节,报告了对现代英语,Devanagari和Urdu Nastaleeq脚本的实验评估。
5.1 Design of LSTM-Based OCR System
本节提供了有关基于LSTM的OCR方法的必要详细信息,该方法已用于现代英语(第5.2节),梵文(第5.3节)和乌尔都达纳斯塔克(第5.4节)的实验报告。 LSTM网络已在附录A中详细描述。对于本章报告的实验,仅使用了1D-LSTM网络。 MDLSTM架构在印刷英语和Fraktur [BUHAAS13]的初步实验中产生较低的结果,因此不予考虑。 使用分层次采样LSTM(HSLSTM)网络对Urdu Nastaleeq脚本进行的一些初步实验产生了有希望的结果; 但是,这些网络尚未针对其他脚本进行测试。
使用基于LSTM的OCR系统的完整过程如图5.1所示。 要使用1D-LSTM网络,文本行图像规范化是唯一重要的预处理步骤。 这是因为这些网络在垂直维度上不是平移不变的,因此在使用这些网络之前必须对这个维度进行固定。 本论文中使用的各种归一化方法在附录B中描述。
5.1.1 Network Parameters Selection
有四个参数,需要在使用1D-LSTM网络时进行调整:文本行图像的高度,隐藏层大小,学习速率和动量。 输入图像高度标准化取决于数据。 这些的具体值可以在相关章节中找到。 然而,对于所有实验,动量值保持在0.9。 对于剩余的两个参数(隐藏层大小和学习速率),根据经验找到合适的值。
已经进行了分析以找出Urdu Nastaleeq脚本的最佳隐藏层大小和学习速率。 总之,隐藏层大小和学习率的最佳参数分别为100和0.0001。 这些值也与其他研究人员[Gra12,GLF + 08]报道的值相匹配,并且它们也被发现与本论文报道的其他实验一致。 因此,对于本章中的所有实验以及论文其余部分中报告的那些,这些值保持固定。
为了得到最佳隐藏层数,学习率和动量分别保持在0.0001和0.9。 已经用隐藏层训练了各种LSTM网络,该隐藏层包括20,40,60,80,100,120,140和160个LSTM单元。 测试集上各个识别错误与隐藏层大小的函数的比较如图5.2所示。 作为隐藏层大小函数的训练时间如图5.3所示。 从图5.2和图5.3中,我们可以推断出,首先,增加隐藏层大小的数量会降低识别误差,但同时,对具有大尺寸隐藏层的网络进行训练需要更多时间。 其次,训练时间的增加几乎是线性的,而当隐藏层大小从100增加到160时,隐藏层大小的增加不会使识别精度提高5%以上。因此决定选择100作为 当前工作的最佳隐藏层大小。
在下一步中,将隐藏层大小设置为100,学习率在0.001,0.0001和0.00001之间变化。 测试集上各个识别错误的比较如图5.4所示。 从图中可以明显看出,学习率为0.0001是最合适的选择。
5.1.2 Features
与其他现代机器学习方法一样,LSTM网络已经显示出对原始像素值产生非常好的结果。 因此,不需要手工制作的特征,并且基于LSTM的线识别器从输入图像本身学习区分特征。 Yousef等。 [YSBS15]证明具有自动特征学习的1D-LSTM网络可以胜过MDLSTM网络和具有手工制作功能的1D-LSTM网络。 除了基线的隐含特征和单个字符的x高度之外,本论文中报告的任何工作都没有提取其他特征。
5.1.3 Performance Metric
根据Levenshtein距离(或更常见的编辑距离),识别准确度测量为“字符错误率(CER)(%)”,这是插入,删除和替换错误与字符总数之间的比率。
印刷英语几十年来一直是OCR研究的主要焦点,现代OCR算法声称识别错误非常低。 然而,在实践中,将这种系统概括为新类型的现实世界文档是非常不令人满意的。 这主要是因为OCR数据的性质,这意味着应用OCR系统的新文本通常与OCR系统在培训期间看到的所有训练样本明显不同。 目前,文档分析社区中没有标准测试程序或广泛使用的数据集来解决此问题。
5.2.1 Related Work
人工神经网络用于文本识别始于20世纪70年代。 福岛[Fuk80]提出了一种自组织神经网络架构来识别模拟人物。 该网络由两个隐藏层组成,并以无人监督的方式进行训练。 该网络的结构与Hubel和Wiesel [HW65]提出的用于视觉神经系统的结构非常相似。
LeCun [LC89]引入了卷积神经网络(CNN)用于孤立的手写数字识别。 在这种类型的神经网络中,称为特征图的专用层在不同位置扫描输入图像以提取特征。 使用多个特征图从图像中提取不同的特征。
杰克尔等人。 [JBB + 95]使用上述CNN“LeNet”进行手写字符识别。 该系统基于基于分割的哲学,其中从给定的字符串开始提取单个候选字符。 然后应用LeNet来查看它是否能够以高可信度识别它。 然后,一个简单的阈值识别出以更高概率识别的候选者。 其他的被丢弃为不正确的分割。
Marinai等人。 [MGS05]介绍了人工神经网络在文档分析的各种任务中的使用情况,包括预处理,布局分析,字符分割,单词识别和签名验证。 对于OCR任务,他们将技术分为单个字符识别或单词识别。
隐马尔可夫模型(HMM)由Rabiner [Rab89]于1989年提出,它们在连续语音识别领域变得非常流行。 施瓦茨等人。 [SLMZ96]为语言无关的OCR系统改编了语音识别系统,称为“BBN BYBLOS”。 在多字母阿拉伯语OCR语料库中,他们报告的字符错误率为1.9%。 El-Mahallaway [EM08]使用HMM方法提出了一种用于阿拉伯语脚本的Omni-Font OCR系统。 然而,基于HMM的系统主要用于类似于自动语音识别的手写文本识别。
已经进行了各种尝试来开发混合ANN / HMM方法以克服基于HMM的方法的缺点。 这种系统的ANN部分提取判别特征,HMM部分用作无分割识别器。 Rashid [Ras14]报道了一种使用这种混合方法的印刷OCR系统。 在该方法中,使用多层感知器(MLP)从给定的文本行中提取特征。 为此,使用[Bre01]中报告的字符分割方法提取单个字符。 使用30×20窗口扫描在字符分割的文本行上提取特征。 为字符和非字符类提取这些功能。 AutoMLP [BS08]用于从包含非字符(垃圾)的95个类中学习它们。 然后使用标准Baum-Welch算法对HMM进行这些特征的训练。 他们报告印刷英语标准数据集的准确率为98.41%。
针对这些混合系统报道的大多数文献将MLP与HMM结合起来; 然而,Graves [GS05]描述了使用RNN / HMM混合进行音素识别。 他们报告说,使用RNN / HMM杂交产生的结果比ANN / HMM杂交或基于简单HMM的方法报告的结果更好。
在这些实验的上下文中,在预处理步骤中将文本行标准化为32的高度。 从左到右和从右到左的LSTM层都包含100个LSTM内存块。 学习率设定为1e-4,动量为0.9。 训练进行了一百万步(根据训练集的大小,大致相当于100个时期)。 每10,000个训练步骤报告测试集错误并绘制。 受过训练的LSTM网络的配置如图5.5所示。 两个隐藏层对应于LSTM网络的双向模式。
LSTM线识别器的训练步骤的说明。 顶行显示输入文本行和GT。 第二行显示来自LSTM网络的图像形式的帧输出,以及解码的转录。 使用CTC步骤后,LSTM网络的逐帧输出显示在第三行。 第四行显示空格(绿色),顶级(蓝色)和拒绝类(黄色)的后验概率图。 最后一行提供了反向传播步骤中使用的总误差信号的图表。 这个错误
信号具有非高斯分布,偶尔有高峰值。 这些尖峰似乎对应于LSTM模型使用的状态空间的内部识别。
5.2.4 Error Analysis
代表性的输入和输出如图5.8所示。 LSTM网络能够识别各种字体大小,样式和降级(触摸字符,部分字符)的文本。 当缺少某个字符的重要部分或在大写字符的情况下出现错误。
5.2.5 Conclusions
本节中的结果表明,文本行标准化和1D-LSTM的组合可以为英语OCR提供出色的结果。 0.3%-0.6%误差的改进似乎很小,但它们在OCR系统和实际应用之间的差异方面都非常显着,大大减少了对手动后处理的需求。 这些结果表明,没有任何语言模型的基于LSTM的OCR的错误率远低于基于分割的方法,基于HMM的方法或商业系统所获得的错误率,即使使用语言模型也是如此。 像一系列“帧”一样处理输入文本行与基于HMM的方法[LSN + 99]和文档图像解码[KC94]有关,但LSTM方法只有三个参数,输入大小,数量 记忆单位和学习率。
5.3 Printed Devanagari OCR(梵文-印度)
Shaw等人。 [SPS08]和Bhattacharya等人。 [BPSB06]使用HMM进行手写的梵文字符识别。 当使用HMM进行OCR时,统计特征起着重要作用。 HMM还需要大量训练集来估计可靠识别的参数[Pal04]。
Jawahar等。 [JKK03]使用支持向量机(SVM)识别多语言OCR引擎的打印梵文字符。 主成分分析(PCA)用于减少特征空间的尺寸。 尽管SVM对于训练数据有限的情况是一个很好的选择,但使用SVM方法的主要障碍是选择适当的内核[Pal04]。
Bhattacharya等。 [BC09]使用MLP对梵文数字进行分类。 每个图像经受对应于特定分辨率的三个MLP分类器。 辛格等人。 [SYVY10]使用具有平均距离,基于像素位置的投影直方图及其值等特征的ANN。 该ANN由以下内容组成 使用传统的反向传播算法训练两个隐藏层。 人工神经网络更容易实现,除了分类之外,还为分类[JDM00]提供了一个可信赖的值。 然而,前馈人工神经网络的一个主要缺点是他们无法记住上下文。
最近,LSTM也出现在梵文OCR研究中。 Sankaran等人。 [SJ12]在打印的梵文文档中使用双向LSTM进行单词分类,结果良好(字符错误率(CER)= 5.65%)。
由于1D-LSTM网络在垂直维度上不是平移不变的,因此有必要将输入图像归一化到特定高度,使得1D帧的深度在所有文本线图像上是一致的。 目前,没有报告Nastaleeq-specificc规范化方法。 在当前的工作中,每个文本行图像被重新调整为固定高度。 原始像素值用作要素,不提取其他复杂要素。 在文本行图像上遍历30×1窗口,并将得到的1D序列(帧)馈送到LSTM网络进行训练。
隐藏层的大小,学习速率和动量是其他可调参数。 为了训练目的,从左到右扫描标准化的灰度输入文本行图像以提取特征。 相应的转录被反转以使其与输入图像一致(从右到左读取乌尔都语)。 图5.12显示了完整的培训管道。
归一化的文本行图像连同它们的转录被馈送到网络,该网络首先执行前向传播步骤。 输出与相关转录的对齐在下一步骤中完成,然后执行最后向后传播步骤。 在每个时期之后,计算训练和验证错误并保存最佳结果。 当预设数量的历元的训练和验证错误没有显着变化时,停止训练。 记录训练和验证错误,并在测试集上评估网络。
参数调整将在5.1.1节中详细讨论。 简而言之,隐藏层大小和学习率的最佳值分别为100和0.0001。 对于具有最佳参数的网络,作为时期数的函数的训练和验证错误如图5.13所示。 这个网络需要77个时代汇聚。 但是,可以看出,在41个时期之后验证误差最小(在图5.13中标记为虚线)。 此网络作为最佳网络返回。
6.2 OCRoRACT: A Sequence Learning OCR System Trained on
Isolated Characters
如前所述,当代ML方法需要大量转录的训练数据才能获得满意的结果。 手动转录文档是一项费力且昂贵的任务,需要许多人工时间和语言专业知识。 本节介绍了一个通用的迭代训练框架,名为OCRoRACT3,以解决这个问题。 拟议的框架不仅适用于历史文件,而且适用于当前文件,其中手动转录的培训数据不可用。 从可用的最小信息开始,所提出的方法迭代地校正训练和泛化错误。
具体地,基于分割的OCR方法已经针对各个符号进行了训练,并用于OCR文档的子集。 然后将这些半校正的文本行用作GT数据,以训练无学习的OCR系统,该系统学习到通过合并上下文信息来纠正错误。 被提出的框架在15世纪拉丁文件的集合上进行了测试,取得了巨大的成功。 使用无分段OCR的迭代过程能够在少数迭代中将约23%的初始字符误差(从基于分段的OCR获得)减少到小于7%。
OCR文档可能有多种方法,可以是历史的也可以是现代的,因为训练数据不可用。 处理数据不可用的第一个直观想法是使用基于分割的OCR方法,该方法依赖于来自扫描图像的字符分割,并且不需要太多训练数据。 这种方法的唯一要求是从整个文档中提取独特的字符并训练基于形状的分类[AHN + 14,Whi13]。 下一个可能的方法是手动转录需要识别的数据的一部分,以基于无分割OCR方法(更好地进行上下文感知识别)训练分类器,然后使用此模型对其余部分进行OCR语料库。
然而,上述两种解决方案都有其自身的缺点。 实际上,第一种方法并不适用于新文档,如第6.1.4节中Polyton-DB的Polytonic Greek的Tesseract默认模型的性能所示。 第二种方法需要为要数字化的每种类型的文档提供大量转录数据。 人工数据的使用也越来越受欢迎; 但是,生成这样的数据库需要一些已经转录的数据。
我们的假设是基于分割的方法可以与OCR文档的无分段方法一起使用,其中没有或非常有限的训练数据可用。 具体而言,所提出的方法是针对15世纪印刷的拉丁文件而设计的,其中可获得非常少量训练数据。 但是,提出的框架同样适用于没有可用训练数据的其他情况。
提出的框架成功地结合了两种方法的好处。 使用无分割方法的第一个问题是具有手动转录的数据。 通过使用基于分割的方法来生成半校正的GT数据来解决该问题。 使用基于分段的方法的第二个问题是对新数据的不良概括。 LSTM网络恰当地解决了这个问题,因为它们已经在看不见的数据上展示了出色的结果[BUHAAS13]。
使用所提出的设计,每次训练迭代都会降低识别误差。 在三次迭代中,CER从23.64%降至6.569%。 第6.2.2节描述了该框架的细节。
6.2.2 Methodology
所提出的想法的新颖性是同时使用基于分段和无分段的OCR方法来为没有或非常有限的GT数据的文档设计高性能OCR系统。 OCRoRACT框架的完整流程如图6.5所示。
我们的想法是使用基于分割的OCR开始对单个符号进行训练,因为这类系统通常不需要太多的训练数据。 获得的OCR模型可用于获得半校正文本,其可随后用于训练无分割的OCR系统。
7.3 Machine Learning Based Approaches
当代机器学习(ML)技术,如深度信念网络(DBN)和深度卷积神经网络(CNN),在计算机视觉(CV)和模式识别(PR)的领域越来越受欢迎,这也是他们的原因之一。 该领域的广泛应用是它们不依赖于复杂的手工制作功能。 相反,他们从给定数据本身学习特征,并且仍然比基于手工特征的方法表现更好。 同样,最近有一些应用这些技术进行脚本识别的方法。
本章介绍的方案将脚本标识建模为多类分类问题。 单个目标类标签被分配给特定脚本的所有字符,LSTM网络在监督分类范例中学习。 文本行不会分割成单个字符; 相反,LSTM网络以序列到序列的映射方式学习脚本的形状。 换句话说,我们正在训练LSTM网络,以便为给定语言/脚本中的所有字母表学习特定的目标类标签。
图7.1显示了建议的脚本标识过程。开源OCRopus文档分析系统[OCR15]用于实验评估。 OCRopus线识别器基本上是为OCR任务设计的,其目标是转录给定的文本行;因此,所提出的想法基本上使该OCR系统适应于执行脚本识别任务。在当前设计中进行的修改以适应OCR系统非常简单。 不是在文本行中提供有关各个字符的GroundTruth(GT)信息,而是在训练阶段提供一系列类标签作为GT。为了在实践中实现这一点,修改了GT信息,使其代表了两类分类问题(见图7.1)。 修改的GT信息在训练期间用作给定文本行图像的目标序列。LSTM网络根据自己的形状以及周围形状的上下文信息来学习每个字符的类关联。 在测试阶段,训练的网络产生与文本行中的个体字符相对应的脚本标签。 它会生成一个与每个字符对应的标签字符串,如图7.2所示。网络还预测单个字符的大致位置,而这些字符又用于分离脚本。