通用 OCR 理论:通过统一的端到端模型实现 OCR-2.0
Abstract
随着人们对人工光学字符的智能处理需求日益增长,传统的OCR系统(OCR-1.0)已越来越不能满足人们的使用需求。本文,我们将所有人工光学信号(例如纯文本、数学/分子式、表格、图表、乐谱甚至几何图形)统称为“字符”,并提出了通用OCR理论以及一个优秀的模型GOT,以推动OCR-2.0的到来。GOT拥有580M参数,是一个统一、优雅、端到端的模型,由高压缩编码器和长上下文解码器组成。作为OCR-2.0模型,GOT可以在各种OCR任务下处理上述所有“字符”。在输入端,该模型支持切片和整页样式的常用场景和文档样式图像。在输出端,GOT可以通过简单的提示生成纯文本或格式化结果(markdown/tikz/smiles/kern)。此外,该模型还具有交互式OCR功能,即通过坐标或颜色引导的区域级识别。此外,我们还将动态分辨率和多页OCR技术应用于GOT,以提高实用性。在实验中,我们提供了足够的结果来证明我们模型的优越性。
1 Introduction
OCR 是一种广泛使用的技术,可将光学图像中嵌入的字符提取为可编辑格式。OCR-1.0 时代的典型 OCR 系统 [10]主要基于多模块流水线风格设计,通常包括元素检测、区域裁剪和字符识别部分。每个模块都容易陷入局部最优,导致整个系统的维护成本很高。此外,传统的 OCR 方法缺乏通用能力,表现为不同的 OCR-1.0 网络通常针对不同的子任务进行设计。然而,从众多 OCR 模型中选择适合某一特定任务的模型对用户来说总是不方便的。在过去的一年里,大型视觉语言模型 (LVLM) [5,9,24,27,36,46,49] 发展迅速,表现出色。作为一项备受期待的能力,当前 LVLM 的 OCR 性能正在不断提高。基于 CLIP [37],LLaVA [24] 在指令调整阶段后自然获得了英文 OCR 能力。为了提高 OCR 准确率并支持中文等其他语言,Qwen-VL[5]解冻了其图像编码器(CLIP-G)并在其第二阶段训练中使用了大量 OCR 数据。创新的是,Vary[46] 生成了一个与 CLIP 分支并行的新高分辨率 OCR 视觉词汇表,以处理文档级密集 OCR。相比之下,InternVL-1.5 [9] 和其他模型 [27, 50] 利用滑动窗口的方式将整个图像裁剪成多个子块,以实现高分辨率 OCR。因此,人们一致认为光学字符感知和识别是文本驱动图像理解的基础,这吸引了许多研究人员更加关注 LVLM 的 OCR 助推器。
然而,现存的 LVLM 流行架构难以适合不同的 OCR 任务,原因如下:1)感知和推理之间的冲突。LVLM 主要关注视觉推理性能,例如 VQA [33, 42],因为这是 LLM 所擅长的。为了快速从 LLM 中获得 QA 增益,大多数 LVLM [15, 24, 19] 将图像token与文本token对齐。然而,对于纯感知 OCR 任务(尤其是高密度文本场景)这样做是不合理的,因为每个对齐的视觉token(偏向文本token)无法压缩足够的字符。想象一下,使用数千个图像token(例如图像裁剪方式 [9, 23] 来编码等量的光学字符(例如,仅在 A4-PDF 页面内的文本)是多么浪费。2)高迭代和部署成本。 LVLM 通常拥有数十亿个参数,导致后期训练和部署成本过高。一般来说,对于 LVLM 来说,一旦我们想要添加新的 OCR 模式(例如,一种新的语言),微调是不够的,而没有足够的 GPU 资源进行预训练。然而,重新运行具有数十亿个参数的预训练只是为了引入一个新的 OCR 特征,这也是一种浪费。
因此,我们提出了通用的OCR理论,即OCR-2.0,以突破传统方法和LVLM方法在OCR任务上的瓶颈。我们认为OCR 2.0模型应具备以下基本特征:
- 端到端。相较于流程复杂的OCR-1.0模型,OCR-2.0模型应具有统一的端��端架构,以确保更低的维护成本。在2.0时代,能够初学者快速掌握整个OCR系统是一件很酷的事。
- 低成本训练和推理。OCR-2.0 模型不应该像 LVLM 那样专注于推理任务的聊天机器人。它的重点应该是对光学字符的强大感知和识别,因此它需要合理数量的模型参数来换取较低的训练和推理成本。
- 通用性。OCR-2.0模型的另一个重点是通用性,包括识别更通用的人工光学“字符”,例如乐谱、图表、几何图形等。此外,模型还应支持可读性更强的输出格式,例如公式和表格的LATEX/Markdown格式。
基于提出的通用 OCR 理论,我们提出了一个主要的 OCR-2.0 模型(GOT),以弥合 OCR-1.0 模型与人们更高的光学字符处理需求之间的差距。在架构上,我们为模型采用了简单的编码器-解码器范式。具体来说,GOT 拥有一个高压缩率编码器将光学图像转换为token,以及一个长上下文长度解码器以输出相应的 OCR 结果。编码器具有大约 80M 个参数,输入大小为 1024×1024,足以处理常用的照片/文档输入样式。每个输入图像将被压缩为 256×1024 尺寸的token。GOT 的解码器具有 0.5B 参数,支持最大长度 8K 的token,以确保它能够处理长上下文场景。我们为 GOT 设计了一种有效且高效的训练策略,该策略可分为三个过程,即编码器的解耦预训练、编码器与新解码器的联合训练以及解码器的进一步后训练。此外,为了进一步提升 GOT 的实用性,我们还采用了细粒度 OCR 功能以获得更好的交互性、针对超高分辨率图像(例如超过 2K)的动态分辨率策略以及多页 OCR 技术来缓解 PDF 图像-文本对中分页困难的问题(例如,.tex 文件中的分页符)。为了支持每个训练阶段,我们为合成数据生产做了许多数据引擎,这是 GOT 成功的关键,将在本文中详细描述。我们的模型支持的主要输入数据格式可以在 Figure 1 中看到。
作为 OCR-2.0 的设想模型,GOT 在我们各种 OCR 任务的实验中表现出了良好的性能。我们希望提出的简洁优雅的 GOT 能够吸引更多研究人员投入到 OCR-2.0 的研究。当然,通往 OCR-2.0 的道路仍然很长,GOT 还有很大的改进空间,例如支持更多语言、更通用的人工信号和更复杂的几何图形。在这个由 LVLM 引领的新时代,我们坚信纯 OCR 模型并没有结束,甚至可能是一个新的开始。
2 Related Work
2.1 Traditional OCR
光学字符识别 (OCR) 是一个经典的研究课题,旨在将图像的光学内容转换为可编辑格式,以便进一步进行下游处理。传统的 OCR 系统称为 OCR-1.0,通常使用由多个专家模块组装而成的框架。例如,为了处理不同的光学字符,OCR 系统[10] 通常通过集成多个领域专家网络来开发,例如布局分析 [54]、文本检测 [18, 19, 26, 30, 43, 45, 52, 55]、区域提取和内容识别 [11, 14, 16]。使用这种流水线方案的原因是文本识别模块(OCR 部分)无法成功扩展,只能处理小切片的图像格式,导致整个 OCR 流程为先检测文本/裁剪区域,然后识别切片内的结果。然而,程序复杂的系统可能会遭受潜在的系统错误和高昂的维护成本。虽然有些 OCR-1.0 模型,例如 Nougat [6] 可以直接在整页级别处理文档,但它们往往是针对某个特定的子任务进行设计和训练的,导致通用能力不尽如人意。在 OCR-1.0 时代,一个不方便的地方是我们通常需要根据不同的 OCR 需求切换不同的模型。
2.2 LVLM-driven OCR
大型视觉语言模型 (LVLM) [5, 9, 20, 24, 27, 46, 49] 因其强大的泛化能力而引起了人工智能社区的广泛关注。对于目前具有感知推理综合能力的 LVLM,随着对文本驱动的视觉理解的需求不断增长,OCR 能力已成为热点。大多数 LVLM 的 OCR 能力来自现成的 CLIP [37],尤其是那些冻结 CLIP 编码器 [24] 来完成整个 LVLM 训练的模型。对于此类模型,主要包含英语场景文本知识的 vanilla CLIP(指不做任何更改的 CLIP) 是 OCR 对域外任务(例如其他语言或文档)性能的瓶颈。其他一些 LVLM [5, 49] 选择解冻编码器并冻结 LLM 进行训练,以增强 CLIP 编码器并将图像token与文本token对齐。这些模型将面临光学字符压缩率低的问题,因为冻结的 LLM 很难从对齐的图像token中解码过多的文本。为了缓解这个问题,一些模型 [9, 27, 50] 采用滑动窗口方式将输入图像分解为较小的块。虽然这种动态分辨率方法在处理高分辨率输入图像(例如 PDF)时非常有效,但它会导致过多的图像token并在一定程度上限制生成的 OCR 结果的最大长度。
General OCR Theory
在本文中,我们提出了通用的 OCR 理论,即 OCR-2.0(如第 1 节所述),以促进 OCR 领域的发展。基于提出的新理论,我们提出了一种新颖的 OCR 模型(GOT)。在本节中,我们将介绍我们模型的技术细节,包括框架、多阶段训练策略和相应的数据引擎。
3.1 Framework
如 Figure 2 所示,GOT 包含三个模块,即图像编码器、线性层和输出解码器。线性层充当连接器,用于映射视觉编码器和语言解码器之间的通道维度。我们利用三个主要步骤来优化整个 GOT 模型。首先,我们进行纯文本识别任务来预训练视觉编码器。为了提高训练效率并节省 GPU 资源,我们选择一个微型解码器将梯度传递给编码器。 在此阶段,我们将包含场景文本的图像和包含文档级字符的手册图像输入模型,以允许编码器收集两个最常用字符的编码能力。在下一个阶段,我们通过将训练好的视觉编码器连接到新的更大的解码器来形成 GOT 的架构。我们准备了大量更通用的 OCR 数据(例如,乐谱、数学/分子式和几何形状)来扩展此阶段的 OCR-2.0 知识。在最后阶段,我们打算进一步提高 GOT 的泛化和适用性。具体来说,生成并添加细粒度和多裁剪/页面合成数据,以用于 GOT,以支持区域提示 OCR [20]、大图像 OCR 和批量 PDF OCR 功能。

最低0.47元/天 解锁文章

740

被折叠的 条评论
为什么被折叠?



