GOT-OCR2: 通用OCR理论:通过统一端到端模型迈向OCR-2.0时代
摘要
传统的OCR系统(OCR-1.0)由于人工光学字符处理的需求不断增加,逐渐无法满足用户需求。本文中,我们将所有人工光学信号(例如:普通文本、数学/分子公式、表格、图表、乐谱,甚至几何形状)统称为“字符”,并提出了通用OCR理论(General OCR Theory)以及一个优秀的模型,命名为GOT,以推动OCR-2.0的到来。GOT模型拥有580M的参数,是一个统一的、优雅的端到端模型,包含一个高压缩编码器和一个长上下文解码器。作为OCR-2.0模型,GOT可以处理上述所有“字符”,并适用于各种OCR任务。在输入端,模型支持常用的场景风格和文档风格的图像,支持切片和整页风格。在输出端,GOT可以通过简单的提示生成纯文本或格式化结果。此外,该模型还享有交互式OCR功能,即通过坐标或颜色指导的区域级识别。进一步地,我们还将动态分辨率和多页OCR技术适配到了GOT,以提高其实用性。在实验中,我们提供了充分的结果,证明了该模型的优越性。
1. 引言
光学字符识别(OCR)是一种广泛应用的技术,可以将光学图像中的字符提取为可编辑格式。典型的OCR系统[10]通常基于多模块管道风格设计,通常包括元素检测、区域裁剪和字符识别部分。每个模块容易陷入局部最优,导致整个系统的维护成本较高。此外,传统的OCR方法具有不足的通用能力,表现为不同的OCR-1.0网络通常是为不同子任务设计的。然而,从多样化的OCR模型中选择一个合适的模型来完成特定任务,往往对用户不太方便。
在过去的一年中,大型视觉语言模型(LVLMs)快速发展,并展示了令人印象深刻的性能。作为一种备受期待的能力,目前LVLMs的OCR性能正在不断提高。基于CLIP[37],LLaVA[24]在指令调优阶段自然获得了英语OCR能力。为了提高OCR精度并支持其他语言,例如中文,Qwen-VL[5]解冻了其图像编码器(CLIP-G),并在第二阶段训练中使用了大量OCR数据。创新地,Vary[46]生成了一个新的高分辨率OCR视觉词汇,并与CLIP分支并行,以处理文档级密集OCR。相比之下,InternVL-1.5[9]和其他模型[27, 50]使用滑动窗口的方式将整张图像裁剪成多个子块进行高分辨率OCR。因此,光学字符感知和识别被认为是文本驱动的图像理解的基础,吸引了许多研究人员将更多注意力集中在LVLMs的OCR提升器上。
然而,当前LVLM的流行设计可能不适用于多样化的OCR任务,原因如下:
- 感知与推理之间的冲突。LVLM主要专注于视觉推理性能,例如VQA[33, 42],因为这是LLM擅长的领域。为了快速从LLM中获得问答增益,许多LVLM[15, 24, 49]将图像tokens与文本tokens对齐。然而,对于纯粹的感知型OCR任务,特别是在高密度文本场景中,进行这种对齐是不合理的,因为每个对齐的视觉token(偏向文本token)无法有效压缩足够的字符。试想一下,使用成千上万的图像tokens(例如,图像裁剪方式[9, 23])来编码相同数量的光学字符(例如,仅在A4-PDF页面内的文本)是多么浪费。
- 高迭代和部署成本。LVLM通常拥有数十亿的参数,导致后期训练和部署的成本过高。一般而言,对于LVLM,微调不足以应对添加新的OCR模式(例如,新的语言),需要足够的GPU资源进行预训练。然而,仅为了引入一个新的OCR特性而重新进行预训练,浪费了大量资源。
因此,我们提出了通用OCR理论,即OCR-2.0,以突破传统和LVLM方法在OCR任务上的瓶颈。我们认为OCR-2.0模型应具备以下几个基本特征:
- 端到端。与OCR-1.0模型的复杂流程相比,OCR-2.0模型应具有统一的端到端架构,以确保较低的维护成本。令人欣慰的是,在OCR-2.0时代,初学者也能快速掌握整个OCR系统。
- 低训练和推理成本。OCR-2.0模型不应是一个像LVLM那样专注于推理任务的聊天机器人。它的重点应放在强大的感知和光学字符识别上,因此需要合理数量的模型参数,以降低训练和推理成本。
- 多功能性。OCR-2.0模型的另一个重要特性是多功能性,包括识别更多通用的人工光学“字符”,例如乐谱、图表、几何形状等。此外,模型应支持更强可读性的输出格式,例如,公式和表格的LATEX/Markdown格式。
基于所提出的通用OCR理论,我们展示了一个初步的OCR-2.0模型(GOT),旨在弥合OCR-1.0模型与人们更高光学字符处理需求之间的差距。在架构上,我们采用了简单的编码器-解码器范式。具体而言,GOT具有高压缩率的编码器,将光学图像转化为tokens,同时配有长上下文长度的解码器,以输出相应的OCR结果。编码器大约有80M参数,支持1024×1024的输入尺寸,足以处理常用的照片/文档输入风格。每张输入图像将被压缩为256×1024尺寸的tokens。GOT的解码器拥有0.5B参数,支持8K最大长度的tokens,以确保它能够处理长上下文场景。我们为GOT设计了一种高效的训练策略,分为三个步骤:编码器的解耦预训练、编码器与新解码器的联合训练,以及解码器的进一步后期训练。此外,为了进一步提升GOT的实用性,我们还针对更强交互性适配了精细的OCR特征,针对超高分辨率图像(例如超过2K)采用了动态分辨率策略,并使用多页OCR技术缓解了PDF图像-文本对中的页面分隔难题(例如.tex文件中的分页问题)。为了支持每个训练阶段,我们进行大量的合成数据生产,这对于GOT的成功至关重要,相关细节将在本文中详细描述。我们的模型支持的主要输入数据格式如图1所示。
作为一个展望OCR-2.0的模型,GOT在我们实验中展现出了在多种OCR任务中的优秀性能。我们希望,所提出的简洁优雅的GOT能吸引更多研究人员投入到OCR-2.0的研究中。当然,OCR-2.0之路仍然漫长,GOT仍有很多提升空间