关于ocr:TrOCR基于Transformer的新一代光学字符识别

73次阅读

共计 4497 个字符,预计需要花费 12 分钟才能阅读完成。

编者按:很长一段时间以来,文本辨认始终都是一个重要的对于文档数字化的研究课题。现有的文本识别方法通常采纳 CNN 网络进行图像了解,采纳 RNN 网络进行字符级别的文本生成。然而该办法须要额定附加语言模型来作为后处理步骤,以进步辨认的准确率。
为此,微软亚洲研究院的研究员们开展了深入研究,提出了首个利用预训练模型的端到端基于 Transformer 的文本辨认 OCR 模型:TrOCR。该模型简略无效,能够应用大规模合成数据进行预训练,并且可能在人工标注的数据上进行微调。试验证实,TrOCR 在打印数据和手写数据上均超过了以后最先进的模型。训练代码和模型现已开源。心愿感兴趣的读者能够浏览全文,理解 TrOCR 的劣势所在!

光学字符识别(OCR)是将手写或印刷文本的图像转换成机器编码的文本,可利用于扫描文档、照片或叠加在图像上的字幕文本。个别的光学字符识别蕴含两个局部:文本检测和文本辨认

  • 文本检测 用于在文本图像中定位文本块,粒度能够是单词级别或是文本行级别。目前的解决方案大多是将该工作视为物体检测问题,并采纳了如 YoLOv5 和 DBNet 的传统物体检测模型。
  • 文本辨认 致力于了解文本图像并将视觉信号转换为自然语言符号。该工作通常应用编码器 - 解码器架构,现有办法采纳了基于 CNN 网络的编码器进行图像了解,以及基于 RNN 网络的解码器进行文本生成。

在文本辨认畛域中,Transformer 模型被频繁采纳,其构造的劣势带来了显著的效率晋升 。然而,现有办法仍次要采纳 CNN 网络作为骨干网络,并在此基础上配合自注意力机制来了解文本图像;另外,现有办法还仍旧采纳 CTC 作为解码器,配合额定的字符级别的语言模型来进步整体的准确率。这种混合模型尽管获得了微小的胜利,但 依然有很大的晋升空间

  1. 现有模型的参数是在合成或人工标注的数据上从零开始训练的,没有摸索大规模预训练模型的利用。
  2. 图像 Transformer 模型变得愈发风行,特地是最近提出的自监督图像预训练。当初该当开始摸索预训练的图像 Transformer 是否能够代替 CNN 骨干网络,以及预训练的图像 Transformer 是否能够在繁多网络中配合预训练文本 Transformer 进行文本辨认工作。

因而,微软亚洲研究院的研究员们聚焦文本辨认工作开展了多项钻研,并 提出了首个利用预训练模型的端到端基于 Transformer 的文本辨认 OCR 模型:TrOCR,模型构造如图 1。

图 1:TrOCR 模型构造示意图

与现有办法不同,TrOCR 简略、高效 ,没有将 CNN 作为骨干网络,而是把 输出的文本图像切分成图像切片,而后输出到图像 Transformer 中。TrOCR 的编码器和解码器则均应用了规范的 Transformer 构造以及自注意力机制,解码器生成 wordpiece 作为输出图像的辨认文本。为了更无效的训练 TrOCR 模型,研究员们应用了 ViT 模式的预训练模型和 BERT 模式的预训练模型,来别离初始化编码器和解码器。

论文:https://arxiv.org/abs/2109.10282
代码 / 模型:https://aka.ms/trocr

TrOCR 的劣势 有三个方面:

  1. TrOCR 应用预训练的图像和文本模型,利用大规模无标注数据的劣势来进行图像了解和建模语言模型,不须要额定的语言模型染指。
  2. TrOCR 不须要任何简单的卷积网络来作为骨干网络,更加易于实现和保护。试验证实,TrOCR 在打印体和手写体文本辨认工作的基准数据集上均超过了以后最先进的办法,不须要任何简单的预 / 后处理步骤。
  3. TrOCR 能够很容易地扩大为多语言模型,只须要在解码器端应用多语种预训练模型即可。此外,通过简略调整预训练模型的参数量配置,使云 / 端部署变得极为简便。

实现办法

模型构造

TrOCR 采纳了 Transformer 构造,包含 图像 Transformer 和文本 Transformer,别离用于提取视觉特色和建模语言模型,并且采纳了规范的 Transformer 编码器 - 解码器模式。编码器用于获取图像切片的特色;解码器用于生成 wordpiece 序列,同时关注编码器的输入和之前生成的 wordpiece。

对于编码器,TrOCR 采纳了 ViT 模式的模型构造 ,即扭转输出图像的尺寸,并切片成固定大小的正方形图像块,以造成模型的输出序列。模型保留预训练模型中的非凡标记“[CLS]”代表整张图片的特色,对于 DeiT 的预训练模型,同样保留了对应的蒸馏 token,代表来自于老师模型的蒸馏常识。而 对于解码器,则采纳原始的 Transformer 解码器构造

模型初始化

编码器和解码器均利用在通过大规模标注 / 无标注数据预训练过的公开模型上,从而进行初始化。编码器采纳 DeiT 和 BEiT 模型进行初始化,而解码器采纳 RoBERTa 模型进行初始化。因为 RoBERTa 的模型构造和规范的 Transformer 解码器不齐全匹配,例如不足编码器 - 解码器注意力层,因而研究员们将随机初始化这些在 RoBERTa 模型中不存在的层。

工作流程

TrOCR 的文本辨认工作过程是:给定待检测的文本行图像,模型提取其视觉特色,并且给予图像以及曾经生成的上文来预测对应的 wordpiece。实在文本以“[EOS]”符号结尾,代表句子的完结。在训练过程中,研究员们向后旋转实在文本的 wordpiece 序列,并把“[EOS]”符号挪到首位,输出到解码器中,并应用穿插熵损失函数来监督解码器的输入。在推断时,解码器从“[EOS]”符号开始迭代预测之后的 wordpiece,并把预测出的 wordpiece 作为下一次的输出。

预训练

研究员们应用文本辨认工作作为预训练任务,因为它能够使模型同时学习到视觉特征提取和语言模型两者的常识。预训练过程分为两个阶段:第一个阶段,研究员们合成了一个蕴含上亿张打印体文本行的图像以及对应文本标注的数据集,并在其上预训练 TrOCR 模型;第二个阶段,研究员们构建了两个绝对较小的数据集,别离对应打印体文本辨认工作和手写体文本辨认工作,均蕴含上百万的文本行图像,并在打印体数据和手写体数据上预训练了两个独立的模型,且都由第一阶段的预训练模型初始化。

微调

研究员们在打印体文本辨认工作和手写体文本辨认工作上微调了预训练的 TrOCR 模型。模型的输入基于 BPE(字节对编码)并且不依赖于任何工作相干的词典。

数据加强

为了减少预训练数据和微调数据的变动,研究员们应用了数据加强技术,共计 七种图像转换方法(包含放弃原有输出图像不变)。对于每个样例,研究员们在随机旋转、高斯含糊、图像收缩、图像侵蚀、下采样、增加下划线、放弃原样中会机会均等地随机选取一个办法对图像进行变换。

预训练数据

为了构建一个大规模高质量的数据集,研究员们从互联网上公开的 PDF 文档中随机选取了两百万张文档页面。因为这些 PDF 是数字生成的,因而通过把 PDF 文档转换为页面图像,而后提取文本行和裁切图像就能够失去高质量的打印体文本行图像。第一阶段的预训练数据一共蕴含 6 亿 8 千万文本行数据。

对于预训练的第二阶段,研究员们应用 5427 个手写字体和 TRDG 开源文本辨认数据生成工具,合成了大量的手写文本行图像,并随机从维基百科的页面中选取文本。该阶段预训练的手写数据集蕴含合成数据和 IIIT-HWS 数据集,共计 1800 万的文本行。此外,研究员们还收集了事实世界中的 5 万 3 千张收据照片,并通过商业 OCR 引擎辨认了下面的文本,对照片进行了修改和裁剪。同样,研究员们也应用 TRDG 合成了 100 万打印体的文本行图像,并应用了两种收据字体和其内置的打印体字体。第二阶段预训练的打印体数据集蕴含 330 万的文本行。表 1 统计了合成数据的规模。


表 1:两阶段预训练的合成数据规模

预训练后果

首先,研究员们比拟了不同编码器和解码器的组合,来寻找最佳的模型设定。研究员们比拟了 DeiT,BEiT 和 ResNet50 网络作为编码器的选项。在比拟中,DeiT 和 BEiT 均应用了论文中 base 的模型设定。对于解码器而言,研究员们则比拟应用了 RoBERTa-base 初始化的 base 解码器和应用 RoBERTa-large 初始化的 large 解码器。作为对照,研究员们对随机初始化的模型、CRNN 基线模型以及 Tesseract 开源 OCR 引擎也进行了试验。

表 2 给出了组合失去的模型后果。BEiT 编码器和 RoBERTa-large 解码器体现出了最好的后果。与此同时,结果表明预训练模型的确进步了文本辨认模型的性能,纯 Transformer 模型的性能要优于 CRNN 模型和 Tesseract。依据这个后果,研究员们选取了后续试验的两个模型设定:TrOCR-base,蕴含 334M 个参数,由 BEiT-base 编码器和 RoBERTa-large 解码器组成;TrOCR-large,蕴含 558M 个参数,由 BEiT-large 编码器和 RoBERTa-large 解码器组成。

表 2:在 SROIE 数据集上进行的融化试验后果

表 3 给出了 TrOCR 模型和 SROIE 数据集排行榜上以后最先进模型的后果。能够看出,TrOCR 模型凭借纯 Transformer 模型超过了以后最先进模型的性能,同时也证实了其不须要任何简单的预 / 后处理步骤。基于 Transformer 的文本辨认模型在视觉特征提取上能够与基于 CNN 的模型有近似性能,在语言模型上可与 RNN 相媲美。

表 3:大规模预训练的 TrOCR 模型在 SROIE 印刷体数据集的试验后果

表 4 给出了 TrOCR 模型和 IAM 数据集上现有办法的后果。结果显示现有办法中 CTC 解码器和额定的语言模型能够带来显著的成果晋升。通过与 (Bluche and Messina, 2017) 比拟,TrOCR-large 有着更好的后果,这阐明 Transformer 解码器相比于 CTC 解码器在文本辨认工作中更具竞争力,同时曾经具备足够的建模语言模型的能力,而不须要依赖于额定的语言模型

表 4:大规模预训练的 TrOCR 模型在 IAM 手写体数据集的试验后果

TrOCR 应用了来自于图像切片的信息,取得了与 CNN 网络类似甚至更好的后果,阐明通过预训练的 Transformer 构造能够胜任提取视觉特色的工作。从后果来看 TrOCR 模型应用纯 Transformer 构造超过了所有仅应用合成 +IAM 数据的办法,同时在没有应用额定人工标注数据的状况下,获得了和应用人工标注数据的办法相近的后果。

总结

在本文中,研究员们提出了 首个利用预训练模型的端到端基于 Transformer 的文本辨认 OCR 模型:TrOCR。不同于现有办法,TrOCR 不依赖于传统的 CNN 模型进行图像了解,而是利用了图像 Transformer 作为视觉编码器,利用文本 Transformer 作为文本编码器。此外,与基于字符的办法不同,研究员们应用 wordpiece 作为辨认输入的根本单元,节俭了在额定的语言模型中额定的计算开销。试验证实,在没有任何后处理步骤,且仅应用一个简略的编码器 - 解码器模型的状况下,TrOCR 在打印文本和手写文本辨认中均获得了目前最先进的准确率。


这里有更多微软官网学习材料和技术文档,扫码获取免费版!
内容将会不定期更新哦!

正文完
 0