MonkeyOCR:开源OCR三元组文档解析新范式,轻量秒杀端到端大模型!

在这里插入图片描述

Paper
GitHub
Demo

简介

与传统的 OCR 或基本视觉识别任务不同,文档解析必须应对布局的多样性、分层的视觉层次结构以及多种模态的无缝集成。

在这里插入图片描述

而现代文档经常将密集的文本、复杂的表格、数学表达式、嵌入式图形和手写注释结合在一起,通常还混合了多种语言和格式。因此我们不仅必须在细粒度级别上检测和识别内容,还必须重建对下游应用至关重要的底层结构和语义关系。

在这里插入图片描述

传统 OCR 如上就像“拼图游戏”:先拆文字、再拼表格、最后猜关系,一步错步步错。如 MinerU、Marker 等工具采用模块化设计,将文档解析工作流程分解为一系列专门的、细粒度的子任务,包括布局分析、区域分割、文本识别、表格和公式检测以及结构。一些开源的 OCR 模型可查阅:5 款开源模型精准解析数字、文本、表格及公式等内容!

在这里插入图片描述

目前端到端的方法,尤其是像 GPT-4 o、Qwen 2.5-VL、Gemini-2.5 这类模型,直接从原始输入生成结构化表示,在处理 PDF 扫描件时表现亮眼,不仅能提取文字,还能做表格分析、图表解读,甚至回答复杂问题。但最大的问题是模型大、推理缓慢、资源消耗高,一张 A 4 纸可能就要跑好几秒。例如,Qwen 2.5-VL-7 B 的推理速度仅为 MinerU 的 18%。

有没有一种方法,能在精度与效率之间取得平衡?既能准确还原文档结构,又不占用太多算力资源?答案是肯定的!

MonkeyOCR 采用结构-识别-关联(SRR)三元组范式,简化了模块化方法的多工具流水线,同时避免了使用大型多模态模型进行整页文档处理的低效率。

  1. 与基于流水线的方法 MinerU 相比,我们的方法在九种类型的中英文文档中平均提高了 5.1%,其中公式提高了 15.0%,表格提高了 8.6%。
  2. 与端到端模型相比,我们的 3 B 参数模型在英文文档上的平均性能最好,超过了 Gemini 2.5 Pro 和 Qwen 2.5 VL-72 B 等模型。
  3. 在多页文档解析方面,我们的方法达到了每秒 0.84 页的处理速度,超过了 MinerU(0.65)和 Qwen 2.5 VL-7 B(0.12)。

在这里插入图片描述

MonkeyOCR 目前不支持已拍照的文档,但我们将在今后的更新中不断改进。敬请期待!目前,我们的模型部署在单个 GPU 上,因此如果太多用户同时上传文件,可能会出现 “此应用程序当前繁忙 ”之类的问题。我们正在积极努力支持 Ollama 和其他部署解决方案,以确保为更多用户提供更流畅的体验。此外,请注意演示页面上显示的处理时间并不能单独反映计算时间,它还包括结果上传和其他开销。在高流量期间,这个时间可能会更长。MonkeyOCR、MinerU 和 Qwen 2.5 VL-7 B 的推理速度是在 H 800 GPU 上测量的。

快速入门

本地安装

1. 安装 MonkeyOCR

查看安装指南设置您的环境。

2. 下载模型权重

从 Huggingface 下载我们的模型。

pip install huggingface_hub
python tools/download_model.py

您也可以从 ModelScope 下载我们的模型。

pip install modelscope
python tools/download_model.py -t modelscope

3. 推理

您可以使用以下命令解析 PDF 或图像文件或包含 PDF 或图像的目录:

# 确保您在MonkeyOCR目录中
# 将input_path替换为PDF或图像或目录的路径
# 端到端解析
python parse.py input_path
# 单任务识别(输出markdown)
python parse.py input_path -t text/formula/table
# 指定输出目录和模型配置文件
python parse.py input_path -o ./output -c config.yaml
💡 温馨提示

对于中文场景,或者文本、表格等被误认为是图像的情况,您可以尝试使用以下结构检测模型:layout_zh.pt
(如果在 model_weight/Structure/ 中找不到该模型,您可以手动下载。)
要使用此模型,请按如下方式更新配置文件:
model_configs.yaml 中,将:

Structure/doclayout_yolo_docstructbench_imgsz1280_2501.pt

替换为:

Structure/layout_zh.pt
输出结果

MonkeyOCR 生成三种类型的输出文件:

  1. 处理后的 Markdown 文件 (your.md):最终解析的文档内容,以 markdown 格式呈现,包含文本、公式、表格和其他结构元素。
  2. 布局结果 (your_layout.pdf):绘制在原 PDF 上的布局结果。
  3. 中间块结果 (your_middle.json):一个 JSON 文件,包含所有检测到的块的详细信息,包括:
    • 块的坐标和位置
    • 块的内容和类型信息
    • 块之间的关系信息
      这些文件提供了最终格式化的输出和详细的中间结果,用于进一步分析或处理。

4. Gradio 演示

# 启动演示
python demo/demo_gradio.py

Docker 部署

  1. 导航到 docker 目录:

    cd docker
    
  2. 前提条件: 确保 Docker 中启用了 NVIDIA GPU 支持(通过 nvidia-docker2)。
    如果未启用 GPU 支持,请运行以下命令设置环境:

    bash env.sh
    
  3. 构建 Docker 镜像:

    docker compose build monkeyocr
    

    注意: 如果您的 GPU 来自 30 系列、40 系列或其他类似系列,请构建修补过的镜像以兼容 LMDeploy:

    docker compose build monkeyocr-fix
    
  4. 运行容器并启动 Gradio 演示(可通过端口 7860 访问):

    docker compose up monkeyocr-demo
    

    或者,启动交互式开发环境:

    docker compose run --rm monkeyocr-dev
    
  5. 运行 FastAPI 服务(可通过端口 7861 访问):

    docker compose up monkeyocr-api
    

基准测试结果

以下是我们的模型在 OmniDocBench 上的评估结果。MonkeyOCR-3 B 使用 DocLayoutYOLO 作为结构检测模型,而 MonkeyOCR-3 B*使用我们训练的结构检测模型,提升了中文性能。

1. 不同任务的端到端评估结果。

模型类型方法总体编辑↓文本编辑↓公式编辑↓公式 CDM↑表格 TEDS↑表格编辑↓阅读顺序编辑↓
ENZHENZHENZHENZHENZHENZHENZH
管道工具MinerU0.1500.3570.0610.2150.2780.57757.342.978.662.10.1800.3440.0790.292
Marker0.3360.5560.0800.3150.5300.88317.611.767.649.20.6190.6850.1140.340
Mathpix0.1910.3650.1050.3840.3060.45462.762.177.067.10.2430.3200.1080.304
Docling0.5890.9090.4160.9870.9991--61.325.00.6270.8100.3130.837
Pix 2 Text0.3200.5280.1380.3560.2760.61178.439.673.666.20.5840.6450.2810.499
Unstructured0.5860.7160.1980.4810.9991--00.0610.9980.1450.387
OpenParse0.6460.8140.6810.9740.99610.11064.827.50.2840.6390.5950.641
专家 VLMsGOT-OCR0.2870.4110.1890.3150.3600.52874.345.353.247.20.4590.5200.1410.280
Nougat0.4520.9730.3650.9980.4880.94115.116.839.900.5721.0000.3820.954
Mistral OCR0.2680.4390.0720.3250.3180.49564.645.975.863.60.6000.6500.0830.284
OLMOCR-sglang0.3260.4690.0970.2930.4550.65574.343.268.161.30.6080.6520.1450.277
SmolDocling-256 M0.4930.8160.2620.8380.7530.99732.10.5544.916.50.7290.9070.2270.522
通用 VLMsGPT 4 o0.2330.3990.1440.4090.4250.60672.842.872.062.90.2340.3290.1280.251
Qwen 2.5-VL-7 B0.3120.4060.1570.2280.3510.57479.050.276.472.20.5880.6190.1490.203
InternVL 3-8 B0.3140.3830.1340.2180.4170.56378.349.366.173.10.5860.5640.1180.186
混合MonkeyOCR-3 B [Weight]0.1400.2970.0580.1850.2380.50678.751.480.277.70.1700.2530.0930.244
MonkeyOCR-3 B* [Weight]0.1540.2770.0730.1340.2550.52978.550.878.276.20.1820.2620.1050.183
### 2.9 种 PDF 页面类型的端到端文本识别性能。
模型类型模型书籍幻灯片财务报告教科书考试试卷杂志学术论文笔记报纸总体
管道工具MinerU0.0550.1240.0330.1020.1590.0720.0250.9840.1710.206
Marker0.0740.3400.0890.3190.4520.1530.0590.6510.1920.274
Mathpix0.1310.2200.2020.2160.2780.1470.0910.6340.6900.300
专家 VLMsGOT-OCR0.1110.2220.0670.1320.2040.1980.1790.3880.7710.267
Nougat0.7340.9581.0000.8200.9300.8300.2140.9910.8710.806
通用 VLMsGPT 4 o0.1570.1630.3480.1870.2810.1730.1460.6070.7510.316
Qwen 2.5-VL-7 B0.1480.0530.1110.1370.1890.1170.1340.2040.7060.205
InternVL 3-8 B0.1630.0560.1070.1090.1290.1000.1590.1500.6810.188
混合MonkeyOCR-3 B [Weight]0.0460.1200.0240.1000.1290.0860.0240.6430.1310.155
MonkeyOCR-3 B* [Weight]0.0540.2030.0380.1120.1380.1110.0320.1940.1360.120
### 3. 与闭源和超大开源 VLM 的比较。 7jQlj4.png ## 可视化演示

立即体验演示:http://vlrlabmonkey.xyz:7685

我们的演示简单易用:

  1. 上传 PDF 或图像。
  2. 点击“解析”按钮,让模型对输入文档执行结构检测、内容识别和关系预测。最终输出将是文档的 markdown 格式版本。
  3. 选择提示并点击“Test by prompt”,让模型根据所选提示对图像执行内容识别。

在这里插入图片描述

2. 支持多种中英文 PDF 类型

3. 公式文档示例

7jVLgB.jpg

4. 表格文档示例

7jcOaa.png

5. 报纸示例

7jcP5V.png ### 6. 财务报告示例 7jc10I.png 7jcRCL.png ## 引用 MonkeyOCR
@misc{li2025monkeyocrdocumentparsingstructurerecognitionrelation,
      title={MonkeyOCR: Document Parsing with a Structure-Recognition-Relation Triplet Paradigm}, 
      author={Zhang Li and Yuliang Liu and Qiang Liu and Zhiyin Ma and Ziyang Zhang and Shuo Zhang and Zidun Guo and Jiarui Zhang and Xinyu Wang and Xiang Bai},
      year={2025},
      eprint={2506.05218},
      archivePrefix={arXiv},
      primaryClass={cs.CV},
      url={https://arxiv.org/abs/2506.05218}, 
}

参考文章

https://mp.weixin.qq.com/s/DFcksDY4o5vVnTHmKuli3A
https://github.com/Yuliang-Liu/MonkeyOCR
https://mp.weixin.qq.com/s/DFcksDY4o5vVnTHmKuli3A

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

伪_装

您的支持,是我持续创作的光

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值