多模态文档理解:多任务通用OCR2.0模型

在这里插入图片描述

模型链接:https://modelscope.cn/models/stepfun-ai/GOT-OCR2_0
代码链接:https://github.com/Ucas-HaoranWei/GOT-OCR2.0/
论文链接:https://arxiv.org/abs/2409.01704

一. 模型信息

随着对光学字符智能处理需求的增长,传统的OCR系统(OCR-1.0)越来越难以满足现代应用的需求。 目前人们需要进行字符的识别不仅仅局限于普通文本,已经涉及到数学/分子公式、表格、图表、乐谱和几何形状等方面。

来自清华和旷视的研究团队提出了一个通用的OCR-2.0模型,其结构比OCR-1.0系统更简单,更专注于纯粹的OCR任务,并且具有更优越的性能。OCR-2.0将各种泛OCR任务集成到一个模型中,是模型设计、数据工程和应用场景中一个有价值的研究方向。

团队推出GOT(General OCR Theory)模型的特点如下:

  • 模型能力:模型能够处理各种OCR任务中的上述所有类型的“字符”。
  • 参数规模:拥有5.8亿参数。
  • 端到端设计:是一个统一且优雅的端到端模型,包含高压缩编码器和长上下文解码器。
  • 输入支持:支持处理常用的场景和文档风格的图像,包括幻灯片和整页样式。
  • 输出灵活:能够通过简单的提示生成纯文本或格式化结果(如markdown、tikz、smiles、kern)。
  • 交互式OCR:具备交互式OCR功能,支持通过坐标或颜色引导的区域级识别。
  • 适应性:为GOT适配了动态分辨率和多页OCR技术,增强了模型的实用性。
    在这里插入图片描述

二. 相关工作

2.1 传统OCR

光学字符识别(OCR) 通常使用由多个专家模块组成的框架。例如,为了处理多样化的光学字符,OCR系统通常通过集成多个领域专家网络来开发,包括布局分析、文本检测、区域提取和内容识别。采用这种流水线方案的原因是文本识别模块(OCR部分)未能成功扩展,只能处理小切片的图像格式,导致整个OCR过程变成先检测文本/裁剪区域,然后识别切片内的结果。然而,复杂程序的系统可能会遭受潜在的系统性错误和高昂的维护成本。尽管一些OCR-1.0模型,如Nougat,可以直接处理整页文档,但它们通常针对特定子任务设计和训练,导致泛化能力不佳。在OCR-1.0时代,一个不便之处是通常需要根据不同的OCR需求切换不同的模型。

2.2 由LVLM驱动的OCR

大型视觉语言模型(LVLMs) 的OCR能力来自于现成的CLIP,特别是那些冻结CLIP编码器以完成整个LVLM训练的模型。对于这些模型,原始CLIP主要包含英语场景文本知识,成为OCR性能在领域外任务(如其他语言或文档)的瓶颈。一些模型采用滑动窗口方式将输入图像分解成更小的补丁。虽然这种动态分辨率方法在处理高分辨率输入图像(例如PDF)方面非常有效,但它将导致过多的图像标记,并在一定程度上限制生成的OCR结果的最大长度。

三. 模型框架

3.1 GOT模型的构建

在这里插入图片描述

GOT采用了编码器-解码器结构,由三个核心组件构成:图像编码器、线性层和输出解码器。这三个部分协同工作,实现从图像到文本的高效转换。

  1. 图像编码器:首先,进行纯文本识别任务以预训练视觉编码器,使用小型OPT-125M预训练视觉编码器。将包含场景文本的图像和包含文档级字符的手动图像输入模型,使编码器能够收集两种最常用的字符编码能力。

  2. 线性层:通过将训练好的视觉编码器连接到一个新的更大的解码器Qwen-0.5B来形成GOT架构

  3. 输出解码器:作者准备了更多的通用OCR数据(例如,乐谱、数学/分子公式和几何形状),以扩展这一阶段的OCR-2.0知识。

提高泛化能力和适用性。为了进一步提高GOT的泛化能力和适用性,生成并添加了细粒度和多裁剪/页面合成数据,以支持GOT进行区域提示OCR大型图像OCR批量PDF OCR功能。

3.2 GOT模型训练过程

研究团队将整个训练过程分为三个步骤,每个步骤都针对特定的目标,以优化模型的性能和适用性。

第一阶段:高效预训练encoder

  • 在这一阶段,没有A100级别的卡,为了节省资源,该阶段使用小型OPT-125M作为decoder,为encoder提供优化方向。
  • 快速灌入大量数据,以高效预训练encoder。

第二阶段:联合训练encoder-decoder

  • GOT的基本结构搭建完成,为上一阶段预训练好的encoder,以及Qwen团队预训练好的Qwen0.5B
  • 研究团队稍稍加大了decoder的大小,因为该阶段需要喂入大量OCR-2.0的知识。
  • 一些数据(如化学式的OCR)其实也是带点reasoning的,不过更小的decoder他们未敢尝试。

第三阶段:锁住encoder,加强decoder

  • 在这一阶段,锁住encoder,加强decoder以适配更多的OCR应用场景。
  • 支持坐标或者颜色引导的细粒度OCR(点读笔可能会用到)。
  • 支持动态分辨率OCR技术(超大分辨率图可能会用到)。
  • 支持多页OCR技术

四. 数据引擎

在这里插入图片描述

面对整个GOT模型设计中最困难的数据工程环节,研究团队为了构造各种各样的数据,还学习了众多数据渲染工具,包括LatexMathpix-markdown-itMatplotlibTikzVerovioPyecharts等等。

在编码器预训练阶段,共使用了约500万张图像-文本对,涵盖300万场景文本OCR数据200万文档OCR数据。数据获取方法如下:

  1. 自然场景数据

    • 英文图像和中文图像分别从Laion-2BWukong数据集中采样获取。
    • 利用PaddleOCR工具,从这些多样化的真实场景中自动生成伪基准真值。
    • 最终,收集到200万条数据,中文和英文各占一半。
  2. 文档级数据

    • 通过Common Crawl收集开源PDF样式文件,并运用Fitz Python包从中提取密集文本内容。
    • 在此过程中,产生了120万全页PDF样式的图像-文本对以及80万图像切片数据
    • 这些切片数据,包括行级和段落级,是通过从PDF图像中按解析得到的边界框进行裁剪得到的。

五. 实验结果

对GOT模型在五个不同的OCR任务上的性能进行了验证,这些任务包括:

  1. 普通文档OCR;
  2. 场景文本OCR;
  3. 细粒度文档OCR;
  4. 格式化(Mathpix markdown)文档OCR;
  5. 更通用的角色OCR。

为确保测试数据未包含在训练数据中,每个基准的测试数据都经过了严格的文本相似性过滤。

5.1 普通文档OCR性能

使用开源的Fox基准测试了GOT在中文和英文PDF OCR上的性能。评估指标包括编辑距离、F1分数、精确度、召回率、BLEU和METEOR,这些是OCR任务中常用的指标。
在这里插入图片描述

5.2 场景文本OCR性能

收集了400张自然图像作为场景文本OCR的基准,其中中文和英文图像各占一半。所有基准真值均经过手动校正。由于场景图像中的文本相对较短,因此采用字符级分割来计算各项指标。
在这里插入图片描述

5.3 格式化文档OCR性能

将光学PDF图像转换为类似markdown的格式是OCR模型的一个重要特性。为了验证GOT在这方面的能力,精心准备了90页样本作为高质量基准。该基准包含中英文文档页面。如表所示,单尺度(1024×1024)的GOT能够产生令人满意的结果。采用多裁剪推理时,GOT的性能得到了进一步提升,特别是在处理公式和表格中的小文本方面。
在这里插入图片描述

5.4 细粒度OCR性能

报告了GOT在细粒度OCR任务中的性能指标。如表所示,GOT在基于边界框和基于颜色的参考性OCR任务上的整体性能均优于Fox基准,这表明模型具备出色的交互式OCR能力。
在这里插入图片描述
在这里插入图片描述

六. 效果展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值