MonkeyOCR
#12
by
Perhaps0
- opened
- LICENSE +0 -52
- README.md +554 -1093
- Recognition/config.json +1 -1
LICENSE
DELETED
|
@@ -1,52 +0,0 @@
|
|
| 1 |
-
Qwen RESEARCH LICENSE AGREEMENT
|
| 2 |
-
|
| 3 |
-
Qwen RESEARCH LICENSE AGREEMENT Release Date: September 19, 2024
|
| 4 |
-
|
| 5 |
-
By clicking to agree or by using or distributing any portion or element of the Qwen Materials, you will be deemed to have recognized and accepted the content of this Agreement, which is effective immediately.
|
| 6 |
-
|
| 7 |
-
1. Definitions
|
| 8 |
-
a. This Qwen RESEARCH LICENSE AGREEMENT (this "Agreement") shall mean the terms and conditions for use, reproduction, distribution and modification of the Materials as defined by this Agreement.
|
| 9 |
-
b. "We" (or "Us") shall mean Alibaba Cloud.
|
| 10 |
-
c. "You" (or "Your") shall mean a natural person or legal entity exercising the rights granted by this Agreement and/or using the Materials for any purpose and in any field of use.
|
| 11 |
-
d. "Third Parties" shall mean individuals or legal entities that are not under common control with us or you.
|
| 12 |
-
e. "Qwen" shall mean the large language models, and software and algorithms, consisting of trained model weights, parameters (including optimizer states), machine-learning model code, inference-enabling code, training-enabling code, fine-tuning enabling code and other elements of the foregoing distributed by us.
|
| 13 |
-
f. "Materials" shall mean, collectively, Alibaba Cloud's proprietary Qwen and Documentation (and any portion thereof) made available under this Agreement.
|
| 14 |
-
g. "Source" form shall mean the preferred form for making modifications, including but not limited to model source code, documentation source, and configuration files.
|
| 15 |
-
h. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
|
| 16 |
-
i. "Non-Commercial" shall mean for research or evaluation purposes only.
|
| 17 |
-
|
| 18 |
-
2. Grant of Rights
|
| 19 |
-
a. You are granted a non-exclusive, worldwide, non-transferable and royalty-free limited license under Alibaba Cloud's intellectual property or other rights owned by us embodied in the Materials to use, reproduce, distribute, copy, create derivative works of, and make modifications to the Materials FOR NON-COMMERCIAL PURPOSES ONLY.
|
| 20 |
-
b. If you are commercially using the Materials, you shall request a license from us.
|
| 21 |
-
|
| 22 |
-
3. Redistribution
|
| 23 |
-
You may distribute copies or make the Materials, or derivative works thereof, available as part of a product or service that contains any of them, with or without modifications, and in Source or Object form, provided that you meet the following conditions:
|
| 24 |
-
a. You shall give any other recipients of the Materials or derivative works a copy of this Agreement;
|
| 25 |
-
b. You shall cause any modified files to carry prominent notices stating that you changed the files;
|
| 26 |
-
c. You shall retain in all copies of the Materials that you distribute the following attribution notices within a "Notice" text file distributed as a part of such copies: "Qwen is licensed under the Qwen RESEARCH LICENSE AGREEMENT, Copyright (c) Alibaba Cloud. All Rights Reserved."; and
|
| 27 |
-
d. You may add your own copyright statement to your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of your modifications, or for any such derivative works as a whole, provided your use, reproduction, and distribution of the work otherwise complies with the terms and conditions of this Agreement.
|
| 28 |
-
|
| 29 |
-
4. Rules of use
|
| 30 |
-
a. The Materials may be subject to export controls or restrictions in China, the United States or other countries or regions. You shall comply with applicable laws and regulations in your use of the Materials.
|
| 31 |
-
b. If you use the Materials or any outputs or results therefrom to create, train, fine-tune, or improve an AI model that is distributed or made available, you shall prominently display “Built with Qwen” or “Improved using Qwen” in the related product documentation.
|
| 32 |
-
|
| 33 |
-
5. Intellectual Property
|
| 34 |
-
a. We retain ownership of all intellectual property rights in and to the Materials and derivatives made by or for us. Conditioned upon compliance with the terms and conditions of this Agreement, with respect to any derivative works and modifications of the Materials that are made by you, you are and will be the owner of such derivative works and modifications.
|
| 35 |
-
b. No trademark license is granted to use the trade names, trademarks, service marks, or product names of us, except as required to fulfill notice requirements under this Agreement or as required for reasonable and customary use in describing and redistributing the Materials.
|
| 36 |
-
c. If you commence a lawsuit or other proceedings (including a cross-claim or counterclaim in a lawsuit) against us or any entity alleging that the Materials or any output therefrom, or any part of the foregoing, infringe any intellectual property or other right owned or licensable by you, then all licenses granted to you under this Agreement shall terminate as of the date such lawsuit or other proceeding is commenced or brought.
|
| 37 |
-
6. Disclaimer of Warranty and Limitation of Liability
|
| 38 |
-
a. We are not obligated to support, update, provide training for, or develop any further version of the Qwen Materials or to grant any license thereto.
|
| 39 |
-
b. THE MATERIALS ARE PROVIDED "AS IS" WITHOUT ANY EXPRESS OR IMPLIED WARRANTY OF ANY KIND INCLUDING WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT, OR FITNESS FOR A PARTICULAR PURPOSE. WE MAKE NO WARRANTY AND ASSUME NO RESPONSIBILITY FOR THE SAFETY OR STABILITY OF THE MATERIALS AND ANY OUTPUT THEREFROM.
|
| 40 |
-
c. IN NO EVENT SHALL WE BE LIABLE TO YOU FOR ANY DAMAGES, INCLUDING, BUT NOT LIMITED TO ANY DIRECT, OR INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING FROM YOUR USE OR INABILITY TO USE THE MATERIALS OR ANY OUTPUT OF IT, NO MATTER HOW IT’S CAUSED.
|
| 41 |
-
d. You will defend, indemnify and hold harmless us from and against any claim by any third party arising out of or related to your use or distribution of the Materials.
|
| 42 |
-
|
| 43 |
-
7. Survival and Termination.
|
| 44 |
-
a. The term of this Agreement shall commence upon your acceptance of this Agreement or access to the Materials and will continue in full force and effect until terminated in accordance with the terms and conditions herein.
|
| 45 |
-
b. We may terminate this Agreement if you breach any of the terms or conditions of this Agreement. Upon termination of this Agreement, you must delete and cease use of the Materials. Sections 6 and 8 shall survive the termination of this Agreement.
|
| 46 |
-
|
| 47 |
-
8. Governing Law and Jurisdiction.
|
| 48 |
-
a. This Agreement and any dispute arising out of or relating to it will be governed by the laws of China, without regard to conflict of law principles, and the UN Convention on Contracts for the International Sale of Goods does not apply to this Agreement.
|
| 49 |
-
b. The People's Courts in Hangzhou City shall have exclusive jurisdiction over any dispute arising out of this Agreement.
|
| 50 |
-
9. Other Terms and Conditions.
|
| 51 |
-
a. Any arrangements, understandings, or agreements regarding the Material not stated herein are separate from and independent of the terms and conditions of this Agreement. You shall request a separate license from us, if you use the Materials in ways not expressly agreed to in this Agreement.
|
| 52 |
-
b. We shall not be bound by any additional or different terms or conditions communicated by you unless expressly agreed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
README.md
CHANGED
|
@@ -1,11 +1,10 @@
|
|
| 1 |
---
|
|
|
|
| 2 |
pipeline_tag: image-text-to-text
|
| 3 |
library_name: monkeyocr
|
| 4 |
language:
|
| 5 |
- zh
|
| 6 |
- en
|
| 7 |
-
tags:
|
| 8 |
-
- OCR
|
| 9 |
---
|
| 10 |
<div align="center" xmlns="http://www.w3.org/1999/html">
|
| 11 |
<h1 align="center">
|
|
@@ -16,7 +15,6 @@ MonkeyOCR: Document Parsing with a Structure-Recognition-Relation Triplet Paradi
|
|
| 16 |
[](https://huggingface.co/echo840/MonkeyOCR)
|
| 17 |
[](https://github.com/Yuliang-Liu/MonkeyOCR/issues?q=is%3Aopen+is%3Aissue)
|
| 18 |
[](https://github.com/Yuliang-Liu/MonkeyOCR/issues?q=is%3Aissue+is%3Aclosed)
|
| 19 |
-
[](https://github.com/Yuliang-Liu/MonkeyOCR/blob/main/LICENSE.txt)
|
| 20 |
[](https://github.com/Yuliang-Liu/MonkeyOCR)
|
| 21 |
</div>
|
| 22 |
|
|
@@ -24,10 +22,9 @@ MonkeyOCR: Document Parsing with a Structure-Recognition-Relation Triplet Paradi
|
|
| 24 |
> **MonkeyOCR: Document Parsing with a Structure-Recognition-Relation Triplet Paradigm**<br>
|
| 25 |
> Zhang Li, Yuliang Liu, Qiang Liu, Zhiyin Ma, Ziyang Zhang, Shuo Zhang, Zidun Guo, Jiarui Zhang, Xinyu Wang, Xiang Bai <br>
|
| 26 |
[](https://arxiv.org/abs/2506.05218)
|
| 27 |
-
[](
|
| 28 |
[](https://huggingface.co/echo840/MonkeyOCR)
|
| 29 |
[](https://modelscope.cn/models/l1731396519/MonkeyOCR)
|
| 30 |
-
[](https://openbayes.com/console/public/tutorials/91ESrGvEvBq)
|
| 31 |
[](http://vlrlabmonkey.xyz:7685/)
|
| 32 |
|
| 33 |
|
|
@@ -35,273 +32,59 @@ MonkeyOCR: Document Parsing with a Structure-Recognition-Relation Triplet Paradi
|
|
| 35 |
## Introduction
|
| 36 |
MonkeyOCR adopts a Structure-Recognition-Relation (SRR) triplet paradigm, which simplifies the multi-tool pipeline of modular approaches while avoiding the inefficiency of using large multimodal models for full-page document processing.
|
| 37 |
|
| 38 |
-
1.
|
| 39 |
-
2.
|
| 40 |
-
3.
|
| 41 |
-
4. On OmniDocBench, MonkeyOCR-pro-3B achieves the best overall performance on both English and Chinese documents, outperforming even closed-source and extra-large open-source VLMs such as Gemini 2.0-Flash, Gemini 2.5-Pro, Qwen2.5-VL-72B, GPT-4o, and InternVL3-78B.
|
| 42 |
-
|
| 43 |
-
See detailed results below.
|
| 44 |
-
|
| 45 |
-
### Comparing MonkeyOCR with closed-source and extra large open-source VLMs.
|
| 46 |
-
<a href="https://zimgs.com/i/EKhkhY"><img src="https://v1.ax1x.com/2025/07/15/EKhkhY.png" alt="EKhkhY.png" border="0" /></a>
|
| 47 |
-
|
| 48 |
-
## Inference Speed (Pages/s) on Different GPUs and [PDF](https://drive.google.com/drive/folders/1geumlJmVY7UUKdr8324sYZ0FHSAElh7m?usp=sharing) Page Counts
|
| 49 |
-
|
| 50 |
-
<table>
|
| 51 |
-
<thead>
|
| 52 |
-
<tr align='center'>
|
| 53 |
-
<th>Model</th>
|
| 54 |
-
<th>GPU</th>
|
| 55 |
-
<th>50 Pages</th>
|
| 56 |
-
<th>100 Pages</th>
|
| 57 |
-
<th>300 Pages</th>
|
| 58 |
-
<th>500 Pages</th>
|
| 59 |
-
<th>1000 Pages</th>
|
| 60 |
-
</tr>
|
| 61 |
-
</thead>
|
| 62 |
-
<tbody>
|
| 63 |
-
<tr align='center'>
|
| 64 |
-
<td rowspan='4'>MonkeyOCR-pro-3B</td>
|
| 65 |
-
<td>3090</td>
|
| 66 |
-
<td>0.492</td>
|
| 67 |
-
<td>0.484</td>
|
| 68 |
-
<td>0.497</td>
|
| 69 |
-
<td>0.492</td>
|
| 70 |
-
<td>0.496</td>
|
| 71 |
-
</tr>
|
| 72 |
-
<tr align='center'>
|
| 73 |
-
<td>A6000</td>
|
| 74 |
-
<td>0.585</td>
|
| 75 |
-
<td>0.587</td>
|
| 76 |
-
<td>0.609</td>
|
| 77 |
-
<td>0.598</td>
|
| 78 |
-
<td>0.608</td>
|
| 79 |
-
</tr>
|
| 80 |
-
<tr align='center'>
|
| 81 |
-
<td>H800</td>
|
| 82 |
-
<td>0.923</td>
|
| 83 |
-
<td>0.768</td>
|
| 84 |
-
<td>0.897</td>
|
| 85 |
-
<td>0.930</td>
|
| 86 |
-
<td>0.891</td>
|
| 87 |
-
</tr>
|
| 88 |
-
<tr align='center'>
|
| 89 |
-
<td>4090</td>
|
| 90 |
-
<td>0.972</td>
|
| 91 |
-
<td>0.969</td>
|
| 92 |
-
<td>1.006</td>
|
| 93 |
-
<td>0.986</td>
|
| 94 |
-
<td>1.006</td>
|
| 95 |
-
</tr>
|
| 96 |
-
<tr align='center'>
|
| 97 |
-
<td rowspan='4'>MonkeyOCR-pro-1.2B</td>
|
| 98 |
-
<td>3090</td>
|
| 99 |
-
<td>0.615</td>
|
| 100 |
-
<td>0.660</td>
|
| 101 |
-
<td>0.677</td>
|
| 102 |
-
<td>0.687</td>
|
| 103 |
-
<td>0.683</td>
|
| 104 |
-
</tr>
|
| 105 |
-
<tr align='center'>
|
| 106 |
-
<td>A6000</td>
|
| 107 |
-
<td>0.709</td>
|
| 108 |
-
<td>0.786</td>
|
| 109 |
-
<td>0.825</td>
|
| 110 |
-
<td>0.829</td>
|
| 111 |
-
<td>0.825</td>
|
| 112 |
-
</tr>
|
| 113 |
-
<tr align='center'>
|
| 114 |
-
<td>H800</td>
|
| 115 |
-
<td>0.965</td>
|
| 116 |
-
<td>1.082</td>
|
| 117 |
-
<td>1.101</td>
|
| 118 |
-
<td>1.145</td>
|
| 119 |
-
<td>1.015</td>
|
| 120 |
-
</tr>
|
| 121 |
-
<tr align='center'>
|
| 122 |
-
<td>4090</td>
|
| 123 |
-
<td>1.194</td>
|
| 124 |
-
<td>1.314</td>
|
| 125 |
-
<td>1.436</td>
|
| 126 |
-
<td>1.442</td>
|
| 127 |
-
<td>1.434</td>
|
| 128 |
-
</tr>
|
| 129 |
-
</tbody>
|
| 130 |
-
</table>
|
| 131 |
-
|
| 132 |
-
## VLM OCR Speed (Pages/s) on Different GPUs and [PDF](https://drive.google.com/drive/folders/1geumlJmVY7UUKdr8324sYZ0FHSAElh7m?usp=sharing) Page Counts
|
| 133 |
-
|
| 134 |
-
<table>
|
| 135 |
-
<thead>
|
| 136 |
-
<tr align='center'>
|
| 137 |
-
<th>Model</th>
|
| 138 |
-
<th>GPU</th>
|
| 139 |
-
<th>50 Pages</th>
|
| 140 |
-
<th>100 Pages</th>
|
| 141 |
-
<th>300 Pages</th>
|
| 142 |
-
<th>500 Pages</th>
|
| 143 |
-
<th>1000 Pages</th>
|
| 144 |
-
</tr>
|
| 145 |
-
</thead>
|
| 146 |
-
<tbody>
|
| 147 |
-
<tr align='center'>
|
| 148 |
-
<td rowspan='4'>MonkeyOCR-pro-3B</td>
|
| 149 |
-
<td>3090</td>
|
| 150 |
-
<td>0.705</td>
|
| 151 |
-
<td>0.680</td>
|
| 152 |
-
<td>0.711</td>
|
| 153 |
-
<td>0.700</td>
|
| 154 |
-
<td>0.724</td>
|
| 155 |
-
</tr>
|
| 156 |
-
<tr align='center'>
|
| 157 |
-
<td>A6000</td>
|
| 158 |
-
<td>0.885</td>
|
| 159 |
-
<td>0.860</td>
|
| 160 |
-
<td>0.915</td>
|
| 161 |
-
<td>0.892</td>
|
| 162 |
-
<td>0.934</td>
|
| 163 |
-
</tr>
|
| 164 |
-
<tr align='center'>
|
| 165 |
-
<td>H800</td>
|
| 166 |
-
<td>1.371</td>
|
| 167 |
-
<td>1.135</td>
|
| 168 |
-
<td>1.339</td>
|
| 169 |
-
<td>1.433</td>
|
| 170 |
-
<td>1.509</td>
|
| 171 |
-
</tr>
|
| 172 |
-
<tr align='center'>
|
| 173 |
-
<td>4090</td>
|
| 174 |
-
<td>1.321</td>
|
| 175 |
-
<td>1.300</td>
|
| 176 |
-
<td>1.384</td>
|
| 177 |
-
<td>1.343</td>
|
| 178 |
-
<td>1.410</td>
|
| 179 |
-
</tr>
|
| 180 |
-
<tr align='center'>
|
| 181 |
-
<td rowspan='4'>MonkeyOCR-pro-1.2B</td>
|
| 182 |
-
<td>3090</td>
|
| 183 |
-
<td>0.919</td>
|
| 184 |
-
<td>1.086</td>
|
| 185 |
-
<td>1.166</td>
|
| 186 |
-
<td>1.182</td>
|
| 187 |
-
<td>1.199</td>
|
| 188 |
-
</tr>
|
| 189 |
-
<tr align='center'>
|
| 190 |
-
<td>A6000</td>
|
| 191 |
-
<td>1.177</td>
|
| 192 |
-
<td>1.361</td>
|
| 193 |
-
<td>1.506</td>
|
| 194 |
-
<td>1.525</td>
|
| 195 |
-
<td>1.569</td>
|
| 196 |
-
</tr>
|
| 197 |
-
<tr align='center'>
|
| 198 |
-
<td>H800</td>
|
| 199 |
-
<td>1.466</td>
|
| 200 |
-
<td>1.719</td>
|
| 201 |
-
<td>1.763</td>
|
| 202 |
-
<td>1.875</td>
|
| 203 |
-
<td>1.650</td>
|
| 204 |
-
</tr>
|
| 205 |
-
<tr align='center'>
|
| 206 |
-
<td>4090</td>
|
| 207 |
-
<td>1.759</td>
|
| 208 |
-
<td>1.987</td>
|
| 209 |
-
<td>2.260</td>
|
| 210 |
-
<td>2.345</td>
|
| 211 |
-
<td>2.415</td>
|
| 212 |
-
</tr>
|
| 213 |
-
</tbody>
|
| 214 |
-
</table>
|
| 215 |
-
|
| 216 |
|
| 217 |
-
|
| 218 |
-
Due to the limited types of GPUs available to us, we may not be able to provide highly accurate hardware specifications. We've tested the model on GPUs such as the 3090, 4090, A6000, H800, A100, and even the 4060 with 8GB of VRAM (suitable for deploying quantized 3B model and 1.2B model). We are very grateful for the feedback and contributions from the open-source community, who have also successfully run the model on [50-series GPUs](https://github.com/Yuliang-Liu/MonkeyOCR/issues/90), [H200](https://github.com/Yuliang-Liu/MonkeyOCR/issues/151), [L20](https://github.com/Yuliang-Liu/MonkeyOCR/issues/133), [V100](https://github.com/Yuliang-Liu/MonkeyOCR/issues/144), [2080 Ti](https://github.com/Yuliang-Liu/MonkeyOCR/pull/1) and [npu](https://github.com/Yuliang-Liu/MonkeyOCR/pull/226/files).
|
| 219 |
|
|
|
|
|
|
|
| 220 |
|
| 221 |
## News
|
| 222 |
-
* ```2025.
|
| 223 |
-
* ```2025.06.12 ``` 🚀 The model’s trending on [Hugging Face](https://huggingface.co/models?sort=trending). Thanks for the love!
|
| 224 |
-
* ```2025.06.05 ``` 🚀 We release [MonkeyOCR](https://huggingface.co/echo840/MonkeyOCR), an English and Chinese documents parsing model.
|
| 225 |
|
| 226 |
|
| 227 |
-
|
| 228 |
-
|
| 229 |
### 1. Install MonkeyOCR
|
| 230 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 231 |
### 2. Download Model Weights
|
| 232 |
Download our model from Huggingface.
|
| 233 |
```python
|
| 234 |
pip install huggingface_hub
|
| 235 |
|
| 236 |
-
python tools/download_model.py
|
| 237 |
```
|
| 238 |
You can also download our model from ModelScope.
|
| 239 |
|
| 240 |
```python
|
| 241 |
pip install modelscope
|
| 242 |
|
| 243 |
-
python tools/download_model.py -t modelscope
|
| 244 |
```
|
| 245 |
### 3. Inference
|
| 246 |
-
You can parse a file or a directory containing PDFs or images using the following commands:
|
| 247 |
-
```bash
|
| 248 |
-
# Replace input_path with the path to a PDF or image or directory
|
| 249 |
-
|
| 250 |
-
# End-to-end parsing
|
| 251 |
-
python parse.py input_path
|
| 252 |
-
|
| 253 |
-
# Parse files in a dir with specific group page num
|
| 254 |
-
python parse.py input_path -g 20
|
| 255 |
-
|
| 256 |
-
# Single-task recognition (outputs markdown only)
|
| 257 |
-
python parse.py input_path -t text/formula/table
|
| 258 |
-
|
| 259 |
-
# Parse PDFs in input_path and split results by pages
|
| 260 |
-
python parse.py input_path -s
|
| 261 |
-
|
| 262 |
-
# Specify output directory and model config file
|
| 263 |
-
python parse.py input_path -o ./output -c config.yaml
|
| 264 |
-
```
|
| 265 |
-
|
| 266 |
-
<details>
|
| 267 |
-
<summary><b>More usage examples</b></summary>
|
| 268 |
-
|
| 269 |
```bash
|
| 270 |
-
#
|
| 271 |
-
python parse.py
|
| 272 |
-
|
| 273 |
-
|
| 274 |
-
|
| 275 |
-
|
| 276 |
-
# Single task recognition
|
| 277 |
-
python parse.py image.jpg -t text # Text recognition from image
|
| 278 |
-
python parse.py image.jpg -t formula # Formula recognition from image
|
| 279 |
-
python parse.py image.jpg -t table # Table recognition from image
|
| 280 |
-
python parse.py document.pdf -t text # Text recognition from all PDF pages
|
| 281 |
-
|
| 282 |
-
# Folder processing (all files individually)
|
| 283 |
-
python parse.py /path/to/folder # Parse all files in folder
|
| 284 |
-
python parse.py /path/to/folder -s # Parse with page splitting
|
| 285 |
-
python parse.py /path/to/folder -t text # Single task recognition for all files
|
| 286 |
-
|
| 287 |
-
# Multi-file grouping (batch processing by page count)
|
| 288 |
-
python parse.py /path/to/folder -g 5 # Group files with max 5 total pages
|
| 289 |
-
python parse.py /path/to/folder -g 10 -s # Group files with page splitting
|
| 290 |
-
python parse.py /path/to/folder -g 8 -t text # Group files for single task recognition
|
| 291 |
-
|
| 292 |
-
# Advanced configurations
|
| 293 |
-
python parse.py input.pdf -c model_configs.yaml # Custom model configuration
|
| 294 |
-
python parse.py /path/to/folder -g 15 -s -o ./out # Group files, split pages, custom output
|
| 295 |
-
python parse.py input.pdf --pred-abandon # Enable predicting abandon elements
|
| 296 |
-
python parse.py /path/to/folder -g 10 -m # Group files and merge text blocks in output
|
| 297 |
```
|
| 298 |
|
| 299 |
-
|
| 300 |
-
|
| 301 |
-
<details>
|
| 302 |
-
<summary><b>Output Results</b></summary>
|
| 303 |
-
|
| 304 |
-
MonkeyOCR mainly generates three types of output files:
|
| 305 |
|
| 306 |
1. **Processed Markdown File** (`your.md`): The final parsed document content in markdown format, containing text, formulas, tables, and other structured elements.
|
| 307 |
2. **Layout Results** (`your_layout.pdf`): The layout results drawed on origin PDF.
|
|
@@ -312,882 +95,562 @@ MonkeyOCR mainly generates three types of output files:
|
|
| 312 |
|
| 313 |
These files provide both the final formatted output and detailed intermediate results for further analysis or processing.
|
| 314 |
|
| 315 |
-
</details>
|
| 316 |
-
|
| 317 |
### 4. Gradio Demo
|
| 318 |
```bash
|
| 319 |
-
|
|
|
|
|
|
|
| 320 |
```
|
| 321 |
-
Once the demo is running, you can access it at http://localhost:7860.
|
| 322 |
-
|
| 323 |
-
### 5. Fast API
|
| 324 |
-
You can start the MonkeyOCR FastAPI service with the following command:
|
| 325 |
```bash
|
| 326 |
-
|
|
|
|
| 327 |
```
|
| 328 |
-
|
| 329 |
-
> [!TIP]
|
| 330 |
-
> To improve API concurrency performance, consider configuring the inference backend as `lmdeploy_queue` or `vllm_queue`.
|
| 331 |
-
|
| 332 |
-
## Docker Deployment
|
| 333 |
|
| 334 |
-
|
| 335 |
-
|
| 336 |
-
```bash
|
| 337 |
-
cd docker
|
| 338 |
-
```
|
| 339 |
|
| 340 |
-
|
| 341 |
-
|
|
|
|
| 342 |
|
| 343 |
-
|
| 344 |
-
bash env.sh
|
| 345 |
-
```
|
| 346 |
|
| 347 |
-
|
|
|
|
|
|
|
| 348 |
|
| 349 |
-
|
| 350 |
-
|
| 351 |
-
```
|
| 352 |
|
| 353 |
-
|
| 354 |
-
|
| 355 |
-
|
| 356 |
-
>
|
| 357 |
-
> ```bash
|
| 358 |
-
> docker compose build monkeyocr-fix
|
| 359 |
-
> ```
|
| 360 |
-
>
|
| 361 |
-
> Otherwise, you may encounter the following error: `triton.runtime.errors.OutOfResources: out of resource: shared memory`
|
| 362 |
|
| 363 |
-
|
| 364 |
|
| 365 |
-
|
| 366 |
-
docker compose up monkeyocr-demo
|
| 367 |
-
```
|
| 368 |
-
|
| 369 |
-
Alternatively, start an interactive development environment:
|
| 370 |
|
| 371 |
-
|
| 372 |
-
docker compose run --rm monkeyocr-dev
|
| 373 |
-
```
|
| 374 |
|
| 375 |
-
|
| 376 |
```bash
|
| 377 |
-
|
|
|
|
| 378 |
```
|
| 379 |
-
|
|
|
|
|
|
|
| 380 |
|
| 381 |
-
|
| 382 |
|
| 383 |
-
|
| 384 |
-
|
| 385 |
-
|
|
|
|
|
|
|
| 386 |
|
| 387 |
-
This model can be quantized using AWQ. Follow the instructions in the [quantization guide](docs/Quantization.md).
|
| 388 |
|
| 389 |
## Benchmark Results
|
| 390 |
|
|
|
|
| 391 |
Here are the evaluation results of our model on OmniDocBench. MonkeyOCR-3B uses DocLayoutYOLO as the structure detection model, while MonkeyOCR-3B* uses our trained structure detection model with improved Chinese performance.
|
| 392 |
|
|
|
|
| 393 |
### 1. The end-to-end evaluation results of different tasks.
|
| 394 |
|
| 395 |
-
<table>
|
| 396 |
-
<thead>
|
| 397 |
-
<tr>
|
| 398 |
-
<th rowspan="2"
|
| 399 |
-
<th rowspan="2"
|
| 400 |
-
<th colspan="2"
|
| 401 |
-
<th colspan="2"
|
| 402 |
-
<th colspan="2"
|
| 403 |
-
<th colspan="2"
|
| 404 |
-
<th colspan="2"
|
| 405 |
-
<th colspan="2"
|
| 406 |
-
|
| 407 |
-
|
| 408 |
-
<
|
| 409 |
-
<th
|
| 410 |
-
<th
|
| 411 |
-
<th
|
| 412 |
-
<th
|
| 413 |
-
<th
|
| 414 |
-
<th
|
| 415 |
-
<th
|
| 416 |
-
<th
|
| 417 |
-
<th
|
| 418 |
-
<th
|
| 419 |
-
<th
|
| 420 |
-
</
|
| 421 |
-
</
|
| 422 |
-
<
|
| 423 |
-
|
| 424 |
-
|
| 425 |
-
<
|
| 426 |
-
<
|
| 427 |
-
<td>
|
| 428 |
-
<td>
|
| 429 |
-
<td>0.
|
| 430 |
-
<td>0.
|
| 431 |
-
<td>0.
|
| 432 |
-
<td>
|
| 433 |
-
<td>
|
| 434 |
-
<td>0.
|
| 435 |
-
<td>
|
| 436 |
-
<td>
|
| 437 |
-
<td>
|
| 438 |
-
</
|
| 439 |
-
<
|
| 440 |
-
<td>
|
| 441 |
-
<td>0.
|
| 442 |
-
<td>0.
|
| 443 |
-
|
| 444 |
-
<
|
| 445 |
-
<td>
|
| 446 |
-
<td>0.
|
| 447 |
-
<td>
|
| 448 |
-
<td>
|
| 449 |
-
<td>0.
|
| 450 |
-
<td>0.
|
| 451 |
-
<td>0.
|
| 452 |
-
<td>
|
| 453 |
-
</
|
| 454 |
-
<
|
| 455 |
-
<td>
|
| 456 |
-
<td>0.
|
| 457 |
-
<td>0.
|
| 458 |
-
<td>0.
|
| 459 |
-
<td>0.
|
| 460 |
-
|
| 461 |
-
<
|
| 462 |
-
<td>
|
| 463 |
-
<td>
|
| 464 |
-
<td>0.
|
| 465 |
-
<td>0.
|
| 466 |
-
<td>0.
|
| 467 |
-
<td>0.
|
| 468 |
-
</
|
| 469 |
-
<
|
| 470 |
-
<td>
|
| 471 |
-
<td>0
|
| 472 |
-
<td>
|
| 473 |
-
<td>0.
|
| 474 |
-
<td>0.
|
| 475 |
-
<td>0.
|
| 476 |
-
<td>
|
| 477 |
-
|
| 478 |
-
<
|
| 479 |
-
<td>
|
| 480 |
-
<td>0.
|
| 481 |
-
<td>0.
|
| 482 |
-
<td>0.
|
| 483 |
-
</
|
| 484 |
-
<
|
| 485 |
-
<td>
|
| 486 |
-
<td
|
| 487 |
-
<td
|
| 488 |
-
<td>
|
| 489 |
-
<td>0
|
| 490 |
-
<td>0.
|
| 491 |
-
<td>0.
|
| 492 |
-
<td>
|
| 493 |
-
<td>
|
| 494 |
-
|
| 495 |
-
<
|
| 496 |
-
<td>
|
| 497 |
-
<td>0.
|
| 498 |
-
</
|
| 499 |
-
<
|
| 500 |
-
<td>
|
| 501 |
-
<td>0.
|
| 502 |
-
<td>0.
|
| 503 |
-
<td>
|
| 504 |
-
<td>
|
| 505 |
-
<td>
|
| 506 |
-
<td>
|
| 507 |
-
<td>0</td>
|
| 508 |
-
<td>0.
|
| 509 |
-
<td>
|
| 510 |
-
<td>0.
|
| 511 |
-
|
| 512 |
-
<
|
| 513 |
-
</
|
| 514 |
-
<
|
| 515 |
-
<td>
|
| 516 |
-
<td>0.
|
| 517 |
-
<td>0.
|
| 518 |
-
<td>0.
|
| 519 |
-
<td>
|
| 520 |
-
<td
|
| 521 |
-
<td
|
| 522 |
-
<td>
|
| 523 |
-
<td>
|
| 524 |
-
<td>
|
| 525 |
-
<td>0.
|
| 526 |
-
<td>0.
|
| 527 |
-
<td>0.
|
| 528 |
-
</tr>
|
| 529 |
-
<tr>
|
| 530 |
-
<td>
|
| 531 |
-
<td>0.
|
| 532 |
-
<td
|
| 533 |
-
<td>0.
|
| 534 |
-
<td
|
| 535 |
-
<td>0.
|
| 536 |
-
<td>
|
| 537 |
-
<td
|
| 538 |
-
<td
|
| 539 |
-
<td>
|
| 540 |
-
<td
|
| 541 |
-
<td
|
| 542 |
-
<td
|
| 543 |
-
</
|
| 544 |
-
<
|
| 545 |
-
|
| 546 |
-
<
|
| 547 |
-
<td>
|
| 548 |
-
<td>
|
| 549 |
-
<td>0.
|
| 550 |
-
<td>0.
|
| 551 |
-
<td>0.
|
| 552 |
-
<td>0.
|
| 553 |
-
<td>
|
| 554 |
-
<td>
|
| 555 |
-
<td>
|
| 556 |
-
<td>
|
| 557 |
-
<td>
|
| 558 |
-
<td>
|
| 559 |
-
</
|
| 560 |
-
<
|
| 561 |
-
<td>
|
| 562 |
-
<td>0.
|
| 563 |
-
|
| 564 |
-
<
|
| 565 |
-
<td>
|
| 566 |
-
<td>0.
|
| 567 |
-
<td>0.
|
| 568 |
-
<td>
|
| 569 |
-
<td>0</td>
|
| 570 |
-
<td>0.
|
| 571 |
-
<td>
|
| 572 |
-
<td>
|
| 573 |
-
<td>
|
| 574 |
-
</
|
| 575 |
-
<
|
| 576 |
-
<td>
|
| 577 |
-
<td>
|
| 578 |
-
<td>0.
|
| 579 |
-
<td>0.
|
| 580 |
-
|
| 581 |
-
<
|
| 582 |
-
<td>
|
| 583 |
-
<td>
|
| 584 |
-
<td>
|
| 585 |
-
<td>0.
|
| 586 |
-
<td>0.
|
| 587 |
-
<td>0.
|
| 588 |
-
<td>0.
|
| 589 |
-
</
|
| 590 |
-
<
|
| 591 |
-
<td>
|
| 592 |
-
<td>
|
| 593 |
-
<td>0.
|
| 594 |
-
<td>0.
|
| 595 |
-
<td>0.
|
| 596 |
-
<td>0.
|
| 597 |
-
|
| 598 |
-
<
|
| 599 |
-
<td>
|
| 600 |
-
<td>0.
|
| 601 |
-
<td>0.
|
| 602 |
-
<td>0.
|
| 603 |
-
</
|
| 604 |
-
<
|
| 605 |
-
<td>
|
| 606 |
-
<td>
|
| 607 |
-
<td>
|
| 608 |
-
<td>
|
| 609 |
-
<td>
|
| 610 |
-
<td>0.
|
| 611 |
-
<td>0.
|
| 612 |
-
<td>
|
| 613 |
-
<td>
|
| 614 |
-
|
| 615 |
-
<
|
| 616 |
-
<td>
|
| 617 |
-
<td>0.
|
| 618 |
-
</
|
| 619 |
-
<
|
| 620 |
-
<td>
|
| 621 |
-
<td>0.
|
| 622 |
-
<td>0.
|
| 623 |
-
<td>
|
| 624 |
-
<td>0.
|
| 625 |
-
<td>
|
| 626 |
-
<td>
|
| 627 |
-
<td>
|
| 628 |
-
<td>
|
| 629 |
-
<td>0.
|
| 630 |
-
<td>0.
|
| 631 |
-
|
| 632 |
-
<
|
| 633 |
-
</
|
| 634 |
-
<
|
| 635 |
-
<td>
|
| 636 |
-
<td>0.
|
| 637 |
-
<td>0.
|
| 638 |
-
<td
|
| 639 |
-
<td>0.
|
| 640 |
-
<td>0.
|
| 641 |
-
<td>
|
| 642 |
-
<td
|
| 643 |
-
<td>
|
| 644 |
-
<td>
|
| 645 |
-
<td>0.
|
| 646 |
-
<td
|
| 647 |
-
<td>0.
|
| 648 |
-
</
|
| 649 |
-
|
| 650 |
-
<
|
| 651 |
-
|
| 652 |
-
<td>0.
|
| 653 |
-
<td>0.
|
| 654 |
-
<td>0.
|
| 655 |
-
<td>0.
|
| 656 |
-
<td>0.
|
| 657 |
-
<td>0.
|
| 658 |
-
<td>
|
| 659 |
-
<td>
|
| 660 |
-
<td>
|
| 661 |
-
<td>
|
| 662 |
-
<td>0.
|
| 663 |
-
<td>0.
|
| 664 |
-
|
| 665 |
-
|
| 666 |
-
</tr>
|
| 667 |
-
<tr>
|
| 668 |
-
<td
|
| 669 |
-
<td>
|
| 670 |
-
<td>0.
|
| 671 |
-
<td>0.
|
| 672 |
-
<td>0.
|
| 673 |
-
<td>0.
|
| 674 |
-
<td>0.
|
| 675 |
-
<td>
|
| 676 |
-
<td>
|
| 677 |
-
<td>
|
| 678 |
-
<td>
|
| 679 |
-
<td>0.
|
| 680 |
-
<td>0.
|
| 681 |
-
<td>0.
|
| 682 |
-
</
|
| 683 |
-
|
| 684 |
-
<
|
| 685 |
-
<td>
|
| 686 |
-
<td>
|
| 687 |
-
<td>0.
|
| 688 |
-
<td>0.
|
| 689 |
-
<td>0.
|
| 690 |
-
<td>0.
|
| 691 |
-
<td>
|
| 692 |
-
<td>
|
| 693 |
-
<td>
|
| 694 |
-
<td>
|
| 695 |
-
<td>
|
| 696 |
-
<td>
|
| 697 |
-
</
|
| 698 |
-
<
|
| 699 |
-
<td>
|
| 700 |
-
<td>0.
|
| 701 |
-
|
| 702 |
-
<
|
| 703 |
-
<td>
|
| 704 |
-
<td>0.
|
| 705 |
-
<td>0.
|
| 706 |
-
<td>
|
| 707 |
-
<td>
|
| 708 |
-
<td>0.
|
| 709 |
-
<td>0.
|
| 710 |
-
<td>
|
| 711 |
-
<td>
|
| 712 |
-
</
|
| 713 |
-
<
|
| 714 |
-
<td
|
| 715 |
-
<td
|
| 716 |
-
<td>0.
|
| 717 |
-
<td>0.
|
| 718 |
-
|
| 719 |
-
|
| 720 |
-
<td>0.238</td>
|
| 721 |
-
<td>0.506</td>
|
| 722 |
-
<td>80.2</td>
|
| 723 |
-
<td>77.7</td>
|
| 724 |
-
<td>0.170</td>
|
| 725 |
-
<td>0.253</td>
|
| 726 |
-
<td>0.093</td>
|
| 727 |
-
<td>0.244</td>
|
| 728 |
-
</tr>
|
| 729 |
-
<tr>
|
| 730 |
-
<td><strong>MonkeyOCR-3B* <a href="https://huggingface.co/echo840/MonkeyOCR/blob/main/Structure/layout_zh.pt">[Weight]</a></strong></td>
|
| 731 |
-
<td>0.154</td>
|
| 732 |
-
<td>0.277</td>
|
| 733 |
-
<td>0.073</td>
|
| 734 |
-
<td>0.134</td>
|
| 735 |
-
<td>0.255</td>
|
| 736 |
-
<td>0.529</td>
|
| 737 |
-
<td>78.2</td>
|
| 738 |
-
<td>76.2</td>
|
| 739 |
-
<td>0.182</td>
|
| 740 |
-
<td>0.262</td>
|
| 741 |
-
<td>0.105</td>
|
| 742 |
-
<td>0.183</td>
|
| 743 |
-
</tr>
|
| 744 |
-
<tr>
|
| 745 |
-
<td><strong>MonkeyOCR-pro-3B <a href="https://huggingface.co/echo840/MonkeyOCR-pro-3B">[Weight]</a></strong></td>
|
| 746 |
-
<td><strong>0.138</strong></td>
|
| 747 |
-
<td><strong>0.206</strong></td>
|
| 748 |
-
<td>0.067</td>
|
| 749 |
-
<td>0.107</td>
|
| 750 |
-
<td><strong>0.246</strong></td>
|
| 751 |
-
<td><strong>0.421</strong></td>
|
| 752 |
-
<td>81.5</td>
|
| 753 |
-
<td><strong>87.5</strong></td>
|
| 754 |
-
<td><strong>0.139</strong></td>
|
| 755 |
-
<td>0.111</td>
|
| 756 |
-
<td>0.100</td>
|
| 757 |
-
<td>0.185</td>
|
| 758 |
-
</tr>
|
| 759 |
-
<tr>
|
| 760 |
-
<td><strong>MonkeyOCR-pro-1.2B <a href="https://huggingface.co/echo840/MonkeyOCR-pro-1.2B">[Weight]</a></strong></td>
|
| 761 |
-
<td>0.153</td>
|
| 762 |
-
<td>0.223</td>
|
| 763 |
-
<td>0.066</td>
|
| 764 |
-
<td>0.123</td>
|
| 765 |
-
<td>0.272</td>
|
| 766 |
-
<td>0.449</td>
|
| 767 |
-
<td>76.5</td>
|
| 768 |
-
<td>83.7</td>
|
| 769 |
-
<td>0.176</td>
|
| 770 |
-
<td>0.131</td>
|
| 771 |
-
<td>0.097</td>
|
| 772 |
-
<td>0.187</td>
|
| 773 |
-
</tr>
|
| 774 |
-
</tbody>
|
| 775 |
</table>
|
| 776 |
|
| 777 |
|
| 778 |
-
### 2. The end-to-end text recognition performance across 9 PDF page types.
|
| 779 |
|
| 780 |
-
<table>
|
| 781 |
-
<thead>
|
| 782 |
-
<tr>
|
| 783 |
-
<th><strong>Model<br>Type</strong></th>
|
| 784 |
-
<th><strong>Models</strong></th>
|
| 785 |
-
<th><strong>Book</strong></th>
|
| 786 |
-
<th><strong>Slides</strong></th>
|
| 787 |
-
<th><strong>Financial<br>Report</strong></th>
|
| 788 |
-
<th><strong>Textbook</strong></th>
|
| 789 |
-
<th><strong>Exam<br>Paper</strong></th>
|
| 790 |
-
<th><strong>Magazine</strong></th>
|
| 791 |
-
<th><strong>Academic<br>Papers</strong></th>
|
| 792 |
-
<th><strong>Notes</strong></th>
|
| 793 |
-
<th><strong>Newspaper</strong></th>
|
| 794 |
-
<th><strong>Overall</strong></th>
|
| 795 |
-
</tr>
|
| 796 |
-
</thead>
|
| 797 |
-
<tbody>
|
| 798 |
-
<tr>
|
| 799 |
-
<td rowspan="3"><strong>Pipeline<br>Tools</strong></td>
|
| 800 |
-
<td>MinerU</td>
|
| 801 |
-
<td>0.055</td>
|
| 802 |
-
<td>0.124</td>
|
| 803 |
-
<td><u>0.033</u></td>
|
| 804 |
-
<td>0.102</td>
|
| 805 |
-
<td>0.159</td>
|
| 806 |
-
<td><strong>0.072</strong></td>
|
| 807 |
-
<td><u>0.025</u></td>
|
| 808 |
-
<td>0.984</td>
|
| 809 |
-
<td>0.171</td>
|
| 810 |
-
<td>0.206</td>
|
| 811 |
-
</tr>
|
| 812 |
-
<tr>
|
| 813 |
-
<td>Marker</td>
|
| 814 |
-
<td>0.074</td>
|
| 815 |
-
<td>0.340</td>
|
| 816 |
-
<td>0.089</td>
|
| 817 |
-
<td>0.319</td>
|
| 818 |
-
<td>0.452</td>
|
| 819 |
-
<td>0.153</td>
|
| 820 |
-
<td>0.059</td>
|
| 821 |
-
<td>0.651</td>
|
| 822 |
-
<td>0.192</td>
|
| 823 |
-
<td>0.274</td>
|
| 824 |
-
</tr>
|
| 825 |
-
<tr>
|
| 826 |
-
<td>Mathpix</td>
|
| 827 |
-
<td>0.131</td>
|
| 828 |
-
<td>0.220</td>
|
| 829 |
-
<td>0.202</td>
|
| 830 |
-
<td>0.216</td>
|
| 831 |
-
<td>0.278</td>
|
| 832 |
-
<td>0.147</td>
|
| 833 |
-
<td>0.091</td>
|
| 834 |
-
<td>0.634</td>
|
| 835 |
-
<td>0.690</td>
|
| 836 |
-
<td>0.300</td>
|
| 837 |
-
</tr>
|
| 838 |
-
<tr>
|
| 839 |
-
<td rowspan="4"><strong>Expert<br>VLMs</strong></td>
|
| 840 |
-
<td>GOT-OCR</td>
|
| 841 |
-
<td>0.111</td>
|
| 842 |
-
<td>0.222</td>
|
| 843 |
-
<td>0.067</td>
|
| 844 |
-
<td>0.132</td>
|
| 845 |
-
<td>0.204</td>
|
| 846 |
-
<td>0.198</td>
|
| 847 |
-
<td>0.179</td>
|
| 848 |
-
<td>0.388</td>
|
| 849 |
-
<td>0.771</td>
|
| 850 |
-
<td>0.267</td>
|
| 851 |
-
</tr>
|
| 852 |
-
<tr>
|
| 853 |
-
<td>Nougat</td>
|
| 854 |
-
<td>0.734</td>
|
| 855 |
-
<td>0.958</td>
|
| 856 |
-
<td>1.000</td>
|
| 857 |
-
<td>0.820</td>
|
| 858 |
-
<td>0.930</td>
|
| 859 |
-
<td>0.830</td>
|
| 860 |
-
<td>0.214</td>
|
| 861 |
-
<td>0.991</td>
|
| 862 |
-
<td>0.871</td>
|
| 863 |
-
<td>0.806</td>
|
| 864 |
-
</tr>
|
| 865 |
-
<tr>
|
| 866 |
-
<td>Dolphin</td>
|
| 867 |
-
<td>0.091</td>
|
| 868 |
-
<td>0.131</td>
|
| 869 |
-
<td>0.057</td>
|
| 870 |
-
<td>0.146</td>
|
| 871 |
-
<td>0.231</td>
|
| 872 |
-
<td>0.121</td>
|
| 873 |
-
<td>0.074</td>
|
| 874 |
-
<td>0.363</td>
|
| 875 |
-
<td>0.307</td>
|
| 876 |
-
<td>0.177</td>
|
| 877 |
-
</tr>
|
| 878 |
-
<tr>
|
| 879 |
-
<td>OCRFlux</td>
|
| 880 |
-
<td>0.068</td>
|
| 881 |
-
<td>0.125</td>
|
| 882 |
-
<td>0.092</td>
|
| 883 |
-
<td>0.102</td>
|
| 884 |
-
<td>0.119</td>
|
| 885 |
-
<td>0.083</td>
|
| 886 |
-
<td>0.047</td>
|
| 887 |
-
<td>0.223</td>
|
| 888 |
-
<td>0.536</td>
|
| 889 |
-
<td>0.149</td>
|
| 890 |
-
</tr>
|
| 891 |
-
<tr>
|
| 892 |
-
<td rowspan="3"><strong>General<br>VLMs</strong></td>
|
| 893 |
-
<td>GPT4o</td>
|
| 894 |
-
<td>0.157</td>
|
| 895 |
-
<td>0.163</td>
|
| 896 |
-
<td>0.348</td>
|
| 897 |
-
<td>0.187</td>
|
| 898 |
-
<td>0.281</td>
|
| 899 |
-
<td>0.173</td>
|
| 900 |
-
<td>0.146</td>
|
| 901 |
-
<td>0.607</td>
|
| 902 |
-
<td>0.751</td>
|
| 903 |
-
<td>0.316</td>
|
| 904 |
-
</tr>
|
| 905 |
-
<tr>
|
| 906 |
-
<td>Qwen2.5-VL-7B</td>
|
| 907 |
-
<td>0.148</td>
|
| 908 |
-
<td><strong>0.053</strong></td>
|
| 909 |
-
<td>0.111</td>
|
| 910 |
-
<td>0.137</td>
|
| 911 |
-
<td>0.189</td>
|
| 912 |
-
<td>0.117</td>
|
| 913 |
-
<td>0.134</td>
|
| 914 |
-
<td>0.204</td>
|
| 915 |
-
<td>0.706</td>
|
| 916 |
-
<td>0.205</td>
|
| 917 |
-
</tr>
|
| 918 |
-
<tr>
|
| 919 |
-
<td>InternVL3-8B</td>
|
| 920 |
-
<td>0.163</td>
|
| 921 |
-
<td><u>0.056</u></td>
|
| 922 |
-
<td>0.107</td>
|
| 923 |
-
<td>0.109</td>
|
| 924 |
-
<td>0.129</td>
|
| 925 |
-
<td>0.100</td>
|
| 926 |
-
<td>0.159</td>
|
| 927 |
-
<td><strong>0.150</strong></td>
|
| 928 |
-
<td>0.681</td>
|
| 929 |
-
<td>0.188</td>
|
| 930 |
-
</tr>
|
| 931 |
-
<tr>
|
| 932 |
-
<td rowspan="4"><strong>Mix</strong></td>
|
| 933 |
-
<td><strong>MonkeyOCR-3B <a href="https://huggingface.co/echo840/MonkeyOCR/blob/main/Structure/doclayout_yolo_docstructbench_imgsz1280_2501.pt">[Weight]</a></strong></td>
|
| 934 |
-
<td><strong>0.046</strong></td>
|
| 935 |
-
<td>0.120</td>
|
| 936 |
-
<td><strong>0.024</strong></td>
|
| 937 |
-
<td>0.100</td>
|
| 938 |
-
<td>0.129</td>
|
| 939 |
-
<td>0.086</td>
|
| 940 |
-
<td><strong>0.024</strong></td>
|
| 941 |
-
<td>0.643</td>
|
| 942 |
-
<td><u>0.131</u></td>
|
| 943 |
-
<td>0.155</td>
|
| 944 |
-
</tr>
|
| 945 |
-
<tr>
|
| 946 |
-
<td><strong>MonkeyOCR-3B* <a href="https://huggingface.co/echo840/MonkeyOCR/blob/main/Structure/layout_zh.pt">[Weight]</a></strong></td>
|
| 947 |
-
<td><u>0.054</u></td>
|
| 948 |
-
<td>0.203</td>
|
| 949 |
-
<td>0.038</td>
|
| 950 |
-
<td>0.112</td>
|
| 951 |
-
<td>0.138</td>
|
| 952 |
-
<td>0.111</td>
|
| 953 |
-
<td>0.032</td>
|
| 954 |
-
<td>0.194</td>
|
| 955 |
-
<td>0.136</td>
|
| 956 |
-
<td>0.120</td>
|
| 957 |
-
</tr>
|
| 958 |
-
<tr>
|
| 959 |
-
<td><strong>MonkeyOCR-pro-3B <a href="https://huggingface.co/echo840/MonkeyOCR-pro-3B">[Weight]</a></strong></td>
|
| 960 |
-
<td>0.084</td>
|
| 961 |
-
<td>0.129</td>
|
| 962 |
-
<td>0.060</td>
|
| 963 |
-
<td><strong>0.090</strong></td>
|
| 964 |
-
<td><strong>0.107</strong></td>
|
| 965 |
-
<td><u>0.073</u></td>
|
| 966 |
-
<td>0.050</td>
|
| 967 |
-
<td><u>0.171</u></td>
|
| 968 |
-
<td><strong>0.107</strong></td>
|
| 969 |
-
<td><strong>0.100</strong></td>
|
| 970 |
-
</tr>
|
| 971 |
-
<tr>
|
| 972 |
-
<td><strong>MonkeyOCR-pro-1.2B <a href="https://huggingface.co/echo840/MonkeyOCR-pro-1.2B">[Weight]</a></strong></td>
|
| 973 |
-
<td>0.087</td>
|
| 974 |
-
<td>0.142</td>
|
| 975 |
-
<td>0.059</td>
|
| 976 |
-
<td><u>0.093</u></td>
|
| 977 |
-
<td><u>0.115</u></td>
|
| 978 |
-
<td>0.085</td>
|
| 979 |
-
<td>0.045</td>
|
| 980 |
-
<td>0.226</td>
|
| 981 |
-
<td>0.122</td>
|
| 982 |
-
<td><u>0.112</u></td>
|
| 983 |
-
</tr>
|
| 984 |
-
</tbody>
|
| 985 |
-
</table>
|
| 986 |
|
| 987 |
-
###
|
| 988 |
-
|
| 989 |
-
<
|
| 990 |
-
<
|
| 991 |
-
<
|
| 992 |
-
<th>
|
| 993 |
-
<th>
|
| 994 |
-
<th>
|
| 995 |
-
<th>
|
| 996 |
-
<th>
|
| 997 |
-
<th>
|
| 998 |
-
<th>
|
| 999 |
-
<th>
|
| 1000 |
-
<th>
|
| 1001 |
-
<th>
|
| 1002 |
-
</
|
| 1003 |
-
</
|
| 1004 |
-
|
| 1005 |
-
<
|
| 1006 |
-
<
|
| 1007 |
-
<td>
|
| 1008 |
-
<td>
|
| 1009 |
-
<td>0.
|
| 1010 |
-
<td>
|
| 1011 |
-
<td>
|
| 1012 |
-
<td>
|
| 1013 |
-
<td>
|
| 1014 |
-
<td>
|
| 1015 |
-
<td>
|
| 1016 |
-
</
|
| 1017 |
-
<
|
| 1018 |
-
<td>
|
| 1019 |
-
|
| 1020 |
-
<
|
| 1021 |
-
<td>
|
| 1022 |
-
<td>
|
| 1023 |
-
<td>
|
| 1024 |
-
<td>
|
| 1025 |
-
<td>
|
| 1026 |
-
<td
|
| 1027 |
-
<td>
|
| 1028 |
-
</
|
| 1029 |
-
<
|
| 1030 |
-
<td>
|
| 1031 |
-
<td>
|
| 1032 |
-
|
| 1033 |
-
<
|
| 1034 |
-
<td>
|
| 1035 |
-
<td
|
| 1036 |
-
<td>
|
| 1037 |
-
<td>
|
| 1038 |
-
<td>
|
| 1039 |
-
<td>
|
| 1040 |
-
</
|
| 1041 |
-
<
|
| 1042 |
-
<td>
|
| 1043 |
-
<td>
|
| 1044 |
-
<td>
|
| 1045 |
-
|
| 1046 |
-
<
|
| 1047 |
-
<td>
|
| 1048 |
-
<td>
|
| 1049 |
-
<td>
|
| 1050 |
-
<td>
|
| 1051 |
-
<td>
|
| 1052 |
-
</
|
| 1053 |
-
<
|
| 1054 |
-
<td>
|
| 1055 |
-
<td>
|
| 1056 |
-
<td>
|
| 1057 |
-
<td
|
| 1058 |
-
<td>
|
| 1059 |
-
|
| 1060 |
-
<
|
| 1061 |
-
<td>
|
| 1062 |
-
<td>
|
| 1063 |
-
<td>
|
| 1064 |
-
</
|
| 1065 |
-
<
|
| 1066 |
-
<td>
|
| 1067 |
-
<td>
|
| 1068 |
-
<td
|
| 1069 |
-
<td>
|
| 1070 |
-
<td>
|
| 1071 |
-
<td>
|
| 1072 |
-
|
| 1073 |
-
<
|
| 1074 |
-
<td>
|
| 1075 |
-
<td>
|
| 1076 |
-
</
|
| 1077 |
-
<
|
| 1078 |
-
<td>
|
| 1079 |
-
<td>
|
| 1080 |
-
<td>
|
| 1081 |
-
<td>
|
| 1082 |
-
<td>
|
| 1083 |
-
<td>
|
| 1084 |
-
<td>
|
| 1085 |
-
<td>
|
| 1086 |
-
|
| 1087 |
-
<
|
| 1088 |
-
</
|
| 1089 |
-
<
|
| 1090 |
-
<td>
|
| 1091 |
-
<td>
|
| 1092 |
-
<td>
|
| 1093 |
-
<td>
|
| 1094 |
-
<td>
|
| 1095 |
-
<td>
|
| 1096 |
-
<td>
|
| 1097 |
-
<td
|
| 1098 |
-
<td>
|
| 1099 |
-
|
| 1100 |
-
|
| 1101 |
-
<
|
| 1102 |
-
<td>
|
| 1103 |
-
<td>
|
| 1104 |
-
<td>
|
| 1105 |
-
<td>
|
| 1106 |
-
<td>
|
| 1107 |
-
<td>
|
| 1108 |
-
<td>
|
| 1109 |
-
<td>
|
| 1110 |
-
<td>
|
| 1111 |
-
<td>
|
| 1112 |
-
</tr>
|
| 1113 |
-
<tr>
|
| 1114 |
-
<td
|
| 1115 |
-
<td>
|
| 1116 |
-
<td>
|
| 1117 |
-
<td>
|
| 1118 |
-
<td>
|
| 1119 |
-
<td>
|
| 1120 |
-
<td>
|
| 1121 |
-
<td>
|
| 1122 |
-
<td>
|
| 1123 |
-
<td>
|
| 1124 |
-
</
|
| 1125 |
-
<
|
| 1126 |
-
|
| 1127 |
-
<
|
| 1128 |
-
<td>
|
| 1129 |
-
<td>
|
| 1130 |
-
<td>
|
| 1131 |
-
<td>
|
| 1132 |
-
<td>
|
| 1133 |
-
<td>
|
| 1134 |
-
<td>
|
| 1135 |
-
<td>
|
| 1136 |
-
</
|
| 1137 |
-
<
|
| 1138 |
-
<td>
|
| 1139 |
-
|
| 1140 |
-
|
| 1141 |
-
<td>71.4</td>
|
| 1142 |
-
<td><strong>42.8</strong></td>
|
| 1143 |
-
<td>94.1</td>
|
| 1144 |
-
<td>77.7</td>
|
| 1145 |
-
<td>71.0</td>
|
| 1146 |
-
<td>97.8</td>
|
| 1147 |
-
<td>74.7 ± 1.1</td>
|
| 1148 |
-
</tr>
|
| 1149 |
-
<tr>
|
| 1150 |
-
<td>olmOCR v0.1.75<br>(Anchored)</td>
|
| 1151 |
-
<td>74.9</td>
|
| 1152 |
-
<td>71.2</td>
|
| 1153 |
-
<td>71.0</td>
|
| 1154 |
-
<td>42.2</td>
|
| 1155 |
-
<td>94.5</td>
|
| 1156 |
-
<td><strong>78.3</strong></td>
|
| 1157 |
-
<td>73.3</td>
|
| 1158 |
-
<td>98.3</td>
|
| 1159 |
-
<td>75.5 ± 1.0</td>
|
| 1160 |
-
</tr>
|
| 1161 |
-
<tr>
|
| 1162 |
-
<td>MonkeyOCR-pro-3B <a href="https://huggingface.co/echo840/MonkeyOCR-pro-3B">[Weight]</a></td>
|
| 1163 |
-
<td><strong>83.8</strong></td>
|
| 1164 |
-
<td>68.8</td>
|
| 1165 |
-
<td>74.6</td>
|
| 1166 |
-
<td>36.1</td>
|
| 1167 |
-
<td>91.2</td>
|
| 1168 |
-
<td>76.6</td>
|
| 1169 |
-
<td>80.1</td>
|
| 1170 |
-
<td>95.3</td>
|
| 1171 |
-
<td><strong>75.8 ± 1.0</strong></td>
|
| 1172 |
-
</tr>
|
| 1173 |
-
<tr>
|
| 1174 |
-
<td>MonkeyOCR-pro-1.2B <a href="https://huggingface.co/echo840/MonkeyOCR-pro-1.2B">[Weight]</a></td>
|
| 1175 |
-
<td>80.5</td>
|
| 1176 |
-
<td>62.9</td>
|
| 1177 |
-
<td>71.1</td>
|
| 1178 |
-
<td>32.9</td>
|
| 1179 |
-
<td>92.2</td>
|
| 1180 |
-
<td>68.3</td>
|
| 1181 |
-
<td>74.0</td>
|
| 1182 |
-
<td>92.6</td>
|
| 1183 |
-
<td>71.8 ± 1.1</td>
|
| 1184 |
-
</tr>
|
| 1185 |
-
</tbody>
|
| 1186 |
</table>
|
| 1187 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1188 |
## Visualization Demo
|
| 1189 |
|
| 1190 |
-
Get a Quick Hands-On Experience with Our Demo: http://vlrlabmonkey.xyz:7685
|
| 1191 |
|
| 1192 |
> Our demo is simple and easy to use:
|
| 1193 |
>
|
|
@@ -1230,10 +693,8 @@ If you wish to refer to the baseline results published here, please use the foll
|
|
| 1230 |
|
| 1231 |
|
| 1232 |
## Acknowledgments
|
| 1233 |
-
We would like to thank [MinerU](https://github.com/opendatalab/MinerU), [DocLayout-YOLO](https://github.com/opendatalab/DocLayout-YOLO), [PyMuPDF](https://github.com/pymupdf/PyMuPDF), [layoutreader](https://github.com/ppaanngggg/layoutreader), [Qwen2.5-VL](https://github.com/QwenLM/Qwen2.5-VL), [LMDeploy](https://github.com/InternLM/lmdeploy),
|
| 1234 |
|
| 1235 |
-
## Limitation
|
| 1236 |
-
Currently, MonkeyOCR do not yet fully support for photographed text, handwritten content, Traditional Chinese characters, or multilingual text. We plan to consider adding support for these features in future public releases. Additionally, our model is deployed on a single GPU, so if too many users upload files at the same time, issues like “This application is currently busy” may occur. The processing time shown on the demo page does not reflect computation time alone—it also includes result uploading and other overhead. During periods of high traffic, this time may be longer. The inference speeds of MonkeyOCR, MinerU, and Qwen2.5 VL-7B were measured on an H800 GPU.
|
| 1237 |
|
| 1238 |
## Copyright
|
| 1239 |
-
Please don’t hesitate to share your valuable feedback — it’s a key motivation that drives us to continuously improve our framework.
|
|
|
|
| 1 |
---
|
| 2 |
+
license: apache-2.0
|
| 3 |
pipeline_tag: image-text-to-text
|
| 4 |
library_name: monkeyocr
|
| 5 |
language:
|
| 6 |
- zh
|
| 7 |
- en
|
|
|
|
|
|
|
| 8 |
---
|
| 9 |
<div align="center" xmlns="http://www.w3.org/1999/html">
|
| 10 |
<h1 align="center">
|
|
|
|
| 15 |
[](https://huggingface.co/echo840/MonkeyOCR)
|
| 16 |
[](https://github.com/Yuliang-Liu/MonkeyOCR/issues?q=is%3Aopen+is%3Aissue)
|
| 17 |
[](https://github.com/Yuliang-Liu/MonkeyOCR/issues?q=is%3Aissue+is%3Aclosed)
|
|
|
|
| 18 |
[](https://github.com/Yuliang-Liu/MonkeyOCR)
|
| 19 |
</div>
|
| 20 |
|
|
|
|
| 22 |
> **MonkeyOCR: Document Parsing with a Structure-Recognition-Relation Triplet Paradigm**<br>
|
| 23 |
> Zhang Li, Yuliang Liu, Qiang Liu, Zhiyin Ma, Ziyang Zhang, Shuo Zhang, Zidun Guo, Jiarui Zhang, Xinyu Wang, Xiang Bai <br>
|
| 24 |
[](https://arxiv.org/abs/2506.05218)
|
| 25 |
+
[](https://github.com/Yuliang-Liu/MonkeyOCR)
|
| 26 |
[](https://huggingface.co/echo840/MonkeyOCR)
|
| 27 |
[](https://modelscope.cn/models/l1731396519/MonkeyOCR)
|
|
|
|
| 28 |
[](http://vlrlabmonkey.xyz:7685/)
|
| 29 |
|
| 30 |
|
|
|
|
| 32 |
## Introduction
|
| 33 |
MonkeyOCR adopts a Structure-Recognition-Relation (SRR) triplet paradigm, which simplifies the multi-tool pipeline of modular approaches while avoiding the inefficiency of using large multimodal models for full-page document processing.
|
| 34 |
|
| 35 |
+
1. Compared with the pipeline-based method MinerU, our approach achieves an average improvement of 5.1% across nine types of Chinese and English documents, including a 15.0% gain on formulas and an 8.6% gain on tables.
|
| 36 |
+
2. Compared to end-to-end models, our 3B-parameter model achieves the best average performance on English documents, outperforming models such as Gemini 2.5 Pro and Qwen2.5 VL-72B.
|
| 37 |
+
3. For multi-page document parsing, our method reaches a processing speed of 0.84 pages per second, surpassing MinerU (0.65) and Qwen2.5 VL-7B (0.12).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 38 |
|
| 39 |
+
<img src="https://v1.ax1x.com/2025/06/05/7jQ3cm.png" alt="7jQ3cm.png" border="0" />
|
|
|
|
| 40 |
|
| 41 |
+
MonkeyOCR currently does not support photographed documents, but we will continue to improve it in future updates. Stay tuned!
|
| 42 |
+
Currently, our model is deployed on a single GPU, so if too many users upload files at the same time, issues like “This application is currently busy” may occur. We're actively working on supporting Ollama and other deployment solutions to ensure a smoother experience for more users. Additionally, please note that the processing time shown on the demo page does not reflect computation time alone—it also includes result uploading and other overhead. During periods of high traffic, this time may be longer. The inference speeds of MonkeyOCR, MinerU, and Qwen2.5 VL-7B were measured on an H800 GPU.
|
| 43 |
|
| 44 |
## News
|
| 45 |
+
* ```2025.06.05 ``` 🚀 We release MonkeyOCR, which supports the parsing of various types of Chinese and English documents.
|
|
|
|
|
|
|
| 46 |
|
| 47 |
|
| 48 |
+
## Quick Start
|
| 49 |
+
|
| 50 |
### 1. Install MonkeyOCR
|
| 51 |
+
```bash
|
| 52 |
+
conda create -n MonkeyOCR python=3.10
|
| 53 |
+
conda activate MonkeyOCR
|
| 54 |
+
|
| 55 |
+
git clone https://github.com/Yuliang-Liu/MonkeyOCR.git
|
| 56 |
+
cd MonkeyOCR
|
| 57 |
+
|
| 58 |
+
# Install pytorch, see https://pytorch.org/get-started/previous-versions/ for your cuda version
|
| 59 |
+
pip install torch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 --index-url https://download.pytorch.org/whl/cu124
|
| 60 |
+
pip install -e .
|
| 61 |
+
```
|
| 62 |
### 2. Download Model Weights
|
| 63 |
Download our model from Huggingface.
|
| 64 |
```python
|
| 65 |
pip install huggingface_hub
|
| 66 |
|
| 67 |
+
python tools/download_model.py
|
| 68 |
```
|
| 69 |
You can also download our model from ModelScope.
|
| 70 |
|
| 71 |
```python
|
| 72 |
pip install modelscope
|
| 73 |
|
| 74 |
+
python tools/download_model.py -t modelscope
|
| 75 |
```
|
| 76 |
### 3. Inference
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 77 |
```bash
|
| 78 |
+
# Make sure in MonkeyOCR directory
|
| 79 |
+
python parse.py path/to/your.pdf
|
| 80 |
+
# or with image as input
|
| 81 |
+
pyhton parse.py path/to/your/image
|
| 82 |
+
# Specify output path and model configs path
|
| 83 |
+
python parse.py path/to/your.pdf -o ./output -c config.yaml
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 84 |
```
|
| 85 |
|
| 86 |
+
#### Output Results
|
| 87 |
+
MonkeyOCR generates three types of output files:
|
|
|
|
|
|
|
|
|
|
|
|
|
| 88 |
|
| 89 |
1. **Processed Markdown File** (`your.md`): The final parsed document content in markdown format, containing text, formulas, tables, and other structured elements.
|
| 90 |
2. **Layout Results** (`your_layout.pdf`): The layout results drawed on origin PDF.
|
|
|
|
| 95 |
|
| 96 |
These files provide both the final formatted output and detailed intermediate results for further analysis or processing.
|
| 97 |
|
|
|
|
|
|
|
| 98 |
### 4. Gradio Demo
|
| 99 |
```bash
|
| 100 |
+
# Prepare your env for gradio
|
| 101 |
+
pip install gradio==5.23.3
|
| 102 |
+
pip install pdf2image==1.17.0
|
| 103 |
```
|
|
|
|
|
|
|
|
|
|
|
|
|
| 104 |
```bash
|
| 105 |
+
# Start demo
|
| 106 |
+
python demo/demo_gradio.py
|
| 107 |
```
|
| 108 |
+
### Fix **shared memory error** on **RTX 3090 / 4090 / ...** GPUs (Optional)
|
|
|
|
|
|
|
|
|
|
|
|
|
| 109 |
|
| 110 |
+
Our 3B model runs efficiently on NVIDIA RTX 3090. However, when using **LMDeploy** as the inference backend, you may encounter compatibility issues on **RTX 3090 / 4090** GPUs — particularly the following error:
|
|
|
|
|
|
|
|
|
|
|
|
|
| 111 |
|
| 112 |
+
```
|
| 113 |
+
triton.runtime.errors.OutOfResources: out of resource: shared memory
|
| 114 |
+
```
|
| 115 |
|
| 116 |
+
To work around this issue, you can apply the patch below:
|
|
|
|
|
|
|
| 117 |
|
| 118 |
+
```bash
|
| 119 |
+
python tools/lmdeploy_patcher.py patch
|
| 120 |
+
```
|
| 121 |
|
| 122 |
+
> ⚠️ **Note:** This command will modify LMDeploy's source code in your environment.
|
| 123 |
+
> To revert the changes, simply run:
|
|
|
|
| 124 |
|
| 125 |
+
```bash
|
| 126 |
+
python tools/lmdeploy_patcher.py restore
|
| 127 |
+
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 128 |
|
| 129 |
+
**Special thanks to [@pineking](https://github.com/pineking) for the solution!**
|
| 130 |
|
| 131 |
+
### Switch inference backend (Optional)
|
|
|
|
|
|
|
|
|
|
|
|
|
| 132 |
|
| 133 |
+
You can switch inference backend to `transformers` following the steps below:
|
|
|
|
|
|
|
| 134 |
|
| 135 |
+
1. Install required dependency (if not already installed):
|
| 136 |
```bash
|
| 137 |
+
# install flash attention 2, you can download the corresponding version from https://github.com/Dao-AILab/flash-attention/releases/
|
| 138 |
+
pip install flash-attn==2.7.4.post1 --no-build-isolation
|
| 139 |
```
|
| 140 |
+
2. Open the `model_configs.yaml` file
|
| 141 |
+
3. Set `chat_config.backend` to `transformers`
|
| 142 |
+
4. Adjust the `batch_size` according to your GPU's memory capacity to ensure stable performance
|
| 143 |
|
| 144 |
+
Example configuration:
|
| 145 |
|
| 146 |
+
```yaml
|
| 147 |
+
chat_config:
|
| 148 |
+
backend: transformers
|
| 149 |
+
batch_size: 10 # Adjust based on your available GPU memory
|
| 150 |
+
```
|
| 151 |
|
|
|
|
| 152 |
|
| 153 |
## Benchmark Results
|
| 154 |
|
| 155 |
+
|
| 156 |
Here are the evaluation results of our model on OmniDocBench. MonkeyOCR-3B uses DocLayoutYOLO as the structure detection model, while MonkeyOCR-3B* uses our trained structure detection model with improved Chinese performance.
|
| 157 |
|
| 158 |
+
|
| 159 |
### 1. The end-to-end evaluation results of different tasks.
|
| 160 |
|
| 161 |
+
<table style="width:100%; border-collapse:collapse; text-align:center;" border="0">
|
| 162 |
+
<thead>
|
| 163 |
+
<tr>
|
| 164 |
+
<th rowspan="2">Model Type</th>
|
| 165 |
+
<th rowspan="2">Methods</th>
|
| 166 |
+
<th colspan="2">Overall Edit↓</th>
|
| 167 |
+
<th colspan="2">Text Edit↓</th>
|
| 168 |
+
<th colspan="2">Formula Edit↓</th>
|
| 169 |
+
<th colspan="2">Formula CDM↑</th>
|
| 170 |
+
<th colspan="2">Table TEDS↑</th>
|
| 171 |
+
<th colspan="2">Table Edit↓</th>
|
| 172 |
+
<th colspan="2">Read Order Edit↓</th>
|
| 173 |
+
</tr>
|
| 174 |
+
<tr>
|
| 175 |
+
<th>EN</th>
|
| 176 |
+
<th>ZH</th>
|
| 177 |
+
<th>EN</th>
|
| 178 |
+
<th>ZH</th>
|
| 179 |
+
<th>EN</th>
|
| 180 |
+
<th>ZH</th>
|
| 181 |
+
<th>EN</th>
|
| 182 |
+
<th>ZH</th>
|
| 183 |
+
<th>EN</th>
|
| 184 |
+
<th>ZH</th>
|
| 185 |
+
<th>EN</th>
|
| 186 |
+
<th>ZH</th>
|
| 187 |
+
<th>EN</th>
|
| 188 |
+
<th>ZH</th>
|
| 189 |
+
</tr>
|
| 190 |
+
</thead>
|
| 191 |
+
<tbody>
|
| 192 |
+
<tr>
|
| 193 |
+
<td rowspan="7">Pipeline Tools</td>
|
| 194 |
+
<td>MinerU</td>
|
| 195 |
+
<td>0.150</td>
|
| 196 |
+
<td>0.357</td>
|
| 197 |
+
<td>0.061</td>
|
| 198 |
+
<td>0.215</td>
|
| 199 |
+
<td>0.278</td>
|
| 200 |
+
<td>0.577</td>
|
| 201 |
+
<td>57.3</td>
|
| 202 |
+
<td>42.9</td>
|
| 203 |
+
<td>78.6</td>
|
| 204 |
+
<td>62.1</td>
|
| 205 |
+
<td>0.180</td>
|
| 206 |
+
<td>0.344</td>
|
| 207 |
+
<td><strong>0.079</strong></td>
|
| 208 |
+
<td>0.292</td>
|
| 209 |
+
</tr>
|
| 210 |
+
<tr>
|
| 211 |
+
<td>Marker</td>
|
| 212 |
+
<td>0.336</td>
|
| 213 |
+
<td>0.556</td>
|
| 214 |
+
<td>0.080</td>
|
| 215 |
+
<td>0.315</td>
|
| 216 |
+
<td>0.530</td>
|
| 217 |
+
<td>0.883</td>
|
| 218 |
+
<td>17.6</td>
|
| 219 |
+
<td>11.7</td>
|
| 220 |
+
<td>67.6</td>
|
| 221 |
+
<td>49.2</td>
|
| 222 |
+
<td>0.619</td>
|
| 223 |
+
<td>0.685</td>
|
| 224 |
+
<td>0.114</td>
|
| 225 |
+
<td>0.340</td>
|
| 226 |
+
</tr>
|
| 227 |
+
<tr>
|
| 228 |
+
<td>Mathpix</td>
|
| 229 |
+
<td>0.191</td>
|
| 230 |
+
<td>0.365</td>
|
| 231 |
+
<td>0.105</td>
|
| 232 |
+
<td>0.384</td>
|
| 233 |
+
<td>0.306</td>
|
| 234 |
+
<td><strong>0.454</strong></td>
|
| 235 |
+
<td>62.7</td>
|
| 236 |
+
<td><strong>62.1</strong></td>
|
| 237 |
+
<td>77.0</td>
|
| 238 |
+
<td>67.1</td>
|
| 239 |
+
<td>0.243</td>
|
| 240 |
+
<td>0.320</td>
|
| 241 |
+
<td>0.108</td>
|
| 242 |
+
<td>0.304</td>
|
| 243 |
+
</tr>
|
| 244 |
+
<tr>
|
| 245 |
+
<td>Docling</td>
|
| 246 |
+
<td>0.589</td>
|
| 247 |
+
<td>0.909</td>
|
| 248 |
+
<td>0.416</td>
|
| 249 |
+
<td>0.987</td>
|
| 250 |
+
<td>0.999</td>
|
| 251 |
+
<td>1</td>
|
| 252 |
+
<td>-</td>
|
| 253 |
+
<td>-</td>
|
| 254 |
+
<td>61.3</td>
|
| 255 |
+
<td>25.0</td>
|
| 256 |
+
<td>0.627</td>
|
| 257 |
+
<td>0.810</td>
|
| 258 |
+
<td>0.313</td>
|
| 259 |
+
<td>0.837</td>
|
| 260 |
+
</tr>
|
| 261 |
+
<tr>
|
| 262 |
+
<td>Pix2Text</td>
|
| 263 |
+
<td>0.320</td>
|
| 264 |
+
<td>0.528</td>
|
| 265 |
+
<td>0.138</td>
|
| 266 |
+
<td>0.356</td>
|
| 267 |
+
<td>0.276</td>
|
| 268 |
+
<td>0.611</td>
|
| 269 |
+
<td>78.4</td>
|
| 270 |
+
<td>39.6</td>
|
| 271 |
+
<td>73.6</td>
|
| 272 |
+
<td>66.2</td>
|
| 273 |
+
<td>0.584</td>
|
| 274 |
+
<td>0.645</td>
|
| 275 |
+
<td>0.281</td>
|
| 276 |
+
<td>0.499</td>
|
| 277 |
+
</tr>
|
| 278 |
+
<tr>
|
| 279 |
+
<td>Unstructured</td>
|
| 280 |
+
<td>0.586</td>
|
| 281 |
+
<td>0.716</td>
|
| 282 |
+
<td>0.198</td>
|
| 283 |
+
<td>0.481</td>
|
| 284 |
+
<td>0.999</td>
|
| 285 |
+
<td>1</td>
|
| 286 |
+
<td>-</td>
|
| 287 |
+
<td>-</td>
|
| 288 |
+
<td>0</td>
|
| 289 |
+
<td>0.06</td>
|
| 290 |
+
<td>1</td>
|
| 291 |
+
<td>0.998</td>
|
| 292 |
+
<td>0.145</td>
|
| 293 |
+
<td>0.387</td>
|
| 294 |
+
</tr>
|
| 295 |
+
<tr>
|
| 296 |
+
<td>OpenParse</td>
|
| 297 |
+
<td>0.646</td>
|
| 298 |
+
<td>0.814</td>
|
| 299 |
+
<td>0.681</td>
|
| 300 |
+
<td>0.974</td>
|
| 301 |
+
<td>0.996</td>
|
| 302 |
+
<td>1</td>
|
| 303 |
+
<td>0.11</td>
|
| 304 |
+
<td>0</td>
|
| 305 |
+
<td>64.8</td>
|
| 306 |
+
<td>27.5</td>
|
| 307 |
+
<td>0.284</td>
|
| 308 |
+
<td>0.639</td>
|
| 309 |
+
<td>0.595</td>
|
| 310 |
+
<td>0.641</td>
|
| 311 |
+
</tr>
|
| 312 |
+
<tr>
|
| 313 |
+
<td rowspan="5">Expert VLMs</td>
|
| 314 |
+
<td>GOT-OCR</td>
|
| 315 |
+
<td>0.287</td>
|
| 316 |
+
<td>0.411</td>
|
| 317 |
+
<td>0.189</td>
|
| 318 |
+
<td>0.315</td>
|
| 319 |
+
<td>0.360</td>
|
| 320 |
+
<td>0.528</td>
|
| 321 |
+
<td>74.3</td>
|
| 322 |
+
<td>45.3</td>
|
| 323 |
+
<td>53.2</td>
|
| 324 |
+
<td>47.2</td>
|
| 325 |
+
<td>0.459</td>
|
| 326 |
+
<td>0.520</td>
|
| 327 |
+
<td>0.141</td>
|
| 328 |
+
<td>0.280</td>
|
| 329 |
+
</tr>
|
| 330 |
+
<tr>
|
| 331 |
+
<td>Nougat</td>
|
| 332 |
+
<td>0.452</td>
|
| 333 |
+
<td>0.973</td>
|
| 334 |
+
<td>0.365</td>
|
| 335 |
+
<td>0.998</td>
|
| 336 |
+
<td>0.488</td>
|
| 337 |
+
<td>0.941</td>
|
| 338 |
+
<td>15.1</td>
|
| 339 |
+
<td>16.8</td>
|
| 340 |
+
<td>39.9</td>
|
| 341 |
+
<td>0</td>
|
| 342 |
+
<td>0.572</td>
|
| 343 |
+
<td>1.000</td>
|
| 344 |
+
<td>0.382</td>
|
| 345 |
+
<td>0.954</td>
|
| 346 |
+
</tr>
|
| 347 |
+
<tr>
|
| 348 |
+
<td>Mistral OCR</td>
|
| 349 |
+
<td>0.268</td>
|
| 350 |
+
<td>0.439</td>
|
| 351 |
+
<td>0.072</td>
|
| 352 |
+
<td>0.325</td>
|
| 353 |
+
<td>0.318</td>
|
| 354 |
+
<td>0.495</td>
|
| 355 |
+
<td>64.6</td>
|
| 356 |
+
<td>45.9</td>
|
| 357 |
+
<td>75.8</td>
|
| 358 |
+
<td>63.6</td>
|
| 359 |
+
<td>0.600</td>
|
| 360 |
+
<td>0.650</td>
|
| 361 |
+
<td>0.083</td>
|
| 362 |
+
<td>0.284</td>
|
| 363 |
+
</tr>
|
| 364 |
+
<tr>
|
| 365 |
+
<td>OLMOCR-sglang</td>
|
| 366 |
+
<td>0.326</td>
|
| 367 |
+
<td>0.469</td>
|
| 368 |
+
<td>0.097</td>
|
| 369 |
+
<td>0.293</td>
|
| 370 |
+
<td>0.455</td>
|
| 371 |
+
<td>0.655</td>
|
| 372 |
+
<td>74.3</td>
|
| 373 |
+
<td>43.2</td>
|
| 374 |
+
<td>68.1</td>
|
| 375 |
+
<td>61.3</td>
|
| 376 |
+
<td>0.608</td>
|
| 377 |
+
<td>0.652</td>
|
| 378 |
+
<td>0.145</td>
|
| 379 |
+
<td>0.277</td>
|
| 380 |
+
</tr>
|
| 381 |
+
<tr>
|
| 382 |
+
<td>SmolDocling-256M</td>
|
| 383 |
+
<td>0.493</td>
|
| 384 |
+
<td>0.816</td>
|
| 385 |
+
<td>0.262</td>
|
| 386 |
+
<td>0.838</td>
|
| 387 |
+
<td>0.753</td>
|
| 388 |
+
<td>0.997</td>
|
| 389 |
+
<td>32.1</td>
|
| 390 |
+
<td>0.55</td>
|
| 391 |
+
<td>44.9</td>
|
| 392 |
+
<td>16.5</td>
|
| 393 |
+
<td>0.729</td>
|
| 394 |
+
<td>0.907</td>
|
| 395 |
+
<td>0.227</td>
|
| 396 |
+
<td>0.522</td>
|
| 397 |
+
</tr>
|
| 398 |
+
<tr>
|
| 399 |
+
<td rowspan="3">General VLMs</td>
|
| 400 |
+
<td>GPT4o</td>
|
| 401 |
+
<td>0.233</td>
|
| 402 |
+
<td>0.399</td>
|
| 403 |
+
<td>0.144</td>
|
| 404 |
+
<td>0.409</td>
|
| 405 |
+
<td>0.425</td>
|
| 406 |
+
<td>0.606</td>
|
| 407 |
+
<td>72.8</td>
|
| 408 |
+
<td>42.8</td>
|
| 409 |
+
<td>72.0</td>
|
| 410 |
+
<td>62.9</td>
|
| 411 |
+
<td>0.234</td>
|
| 412 |
+
<td>0.329</td>
|
| 413 |
+
<td>0.128</td>
|
| 414 |
+
<td>0.251</td>
|
| 415 |
+
</tr>
|
| 416 |
+
<tr>
|
| 417 |
+
<td>Qwen2.5-VL-7B</td>
|
| 418 |
+
<td>0.312</td>
|
| 419 |
+
<td>0.406</td>
|
| 420 |
+
<td>0.157</td>
|
| 421 |
+
<td>0.228</td>
|
| 422 |
+
<td>0.351</td>
|
| 423 |
+
<td>0.574</td>
|
| 424 |
+
<td><strong>79.0</strong></td>
|
| 425 |
+
<td>50.2</td>
|
| 426 |
+
<td>76.4</td>
|
| 427 |
+
<td>72.2</td>
|
| 428 |
+
<td>0.588</td>
|
| 429 |
+
<td>0.619</td>
|
| 430 |
+
<td>0.149</td>
|
| 431 |
+
<td>0.203</td>
|
| 432 |
+
</tr>
|
| 433 |
+
<tr>
|
| 434 |
+
<td>InternVL3-8B</td>
|
| 435 |
+
<td>0.314</td>
|
| 436 |
+
<td>0.383</td>
|
| 437 |
+
<td>0.134</td>
|
| 438 |
+
<td>0.218</td>
|
| 439 |
+
<td>0.417</td>
|
| 440 |
+
<td>0.563</td>
|
| 441 |
+
<td>78.3</td>
|
| 442 |
+
<td>49.3</td>
|
| 443 |
+
<td>66.1</td>
|
| 444 |
+
<td>73.1</td>
|
| 445 |
+
<td>0.586</td>
|
| 446 |
+
<td>0.564</td>
|
| 447 |
+
<td>0.118</td>
|
| 448 |
+
<td>0.186</td>
|
| 449 |
+
</tr>
|
| 450 |
+
<tr>
|
| 451 |
+
<td rowspan="2">Mix</td>
|
| 452 |
+
<td>MonkeyOCR-3B <a href="https://huggingface.co/echo840/MonkeyOCR/blob/main/Structure/doclayout_yolo_docstructbench_imgsz1280_2501.pt">[Weight]</a></td>
|
| 453 |
+
<td><strong>0.140</strong></td>
|
| 454 |
+
<td>0.297</td>
|
| 455 |
+
<td><strong>0.058</strong></td>
|
| 456 |
+
<td>0.185</td>
|
| 457 |
+
<td><strong>0.238</strong></td>
|
| 458 |
+
<td>0.506</td>
|
| 459 |
+
<td>78.7</td>
|
| 460 |
+
<td>51.4</td>
|
| 461 |
+
<td><strong>80.2</strong></td>
|
| 462 |
+
<td><strong>77.7</strong></td>
|
| 463 |
+
<td><strong>0.170</strong></td>
|
| 464 |
+
<td><strong>0.253</strong></td>
|
| 465 |
+
<td>0.093</td>
|
| 466 |
+
<td>0.244</td>
|
| 467 |
+
</tr>
|
| 468 |
+
<tr>
|
| 469 |
+
<td>MonkeyOCR-3B* <a href="https://huggingface.co/echo840/MonkeyOCR/blob/main/Structure/layout_zh.pt">[Weight]</a></td>
|
| 470 |
+
<td>0.154</td>
|
| 471 |
+
<td><strong>0.277</strong></td>
|
| 472 |
+
<td>0.073</td>
|
| 473 |
+
<td><strong>0.134</strong></td>
|
| 474 |
+
<td>0.255</td>
|
| 475 |
+
<td>0.529</td>
|
| 476 |
+
<td>78.5</td>
|
| 477 |
+
<td>50.8</td>
|
| 478 |
+
<td>78.2</td>
|
| 479 |
+
<td>76.2</td>
|
| 480 |
+
<td>0.182</td>
|
| 481 |
+
<td>0.262</td>
|
| 482 |
+
<td>0.105</td>
|
| 483 |
+
<td><strong>0.183</strong></td>
|
| 484 |
+
</tr>
|
| 485 |
+
</tbody>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 486 |
</table>
|
| 487 |
|
| 488 |
|
|
|
|
| 489 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 490 |
|
| 491 |
+
### 2. The end-to-end text recognition performance across 9 PDF page types.
|
| 492 |
+
<table style="width: 100%; border-collapse: collapse; text-align: center;">
|
| 493 |
+
<thead>
|
| 494 |
+
<tr style="border-bottom: 2px solid #000;">
|
| 495 |
+
<th><b>Model Type</b></th>
|
| 496 |
+
<th><b>Models</b></th>
|
| 497 |
+
<th><b>Book</b></th>
|
| 498 |
+
<th><b>Slides</b></th>
|
| 499 |
+
<th><b>Financial Report</b></th>
|
| 500 |
+
<th><b>Textbook</b></th>
|
| 501 |
+
<th><b>Exam Paper</b></th>
|
| 502 |
+
<th><b>Magazine</b></th>
|
| 503 |
+
<th><b>Academic Papers</b></th>
|
| 504 |
+
<th><b>Notes</b></th>
|
| 505 |
+
<th><b>Newspaper</b></th>
|
| 506 |
+
<th><b>Overall</b></th>
|
| 507 |
+
</tr>
|
| 508 |
+
</thead>
|
| 509 |
+
<tbody>
|
| 510 |
+
<tr>
|
| 511 |
+
<td rowspan="3"><b>Pipeline Tools</b></td>
|
| 512 |
+
<td>MinerU</td>
|
| 513 |
+
<td><u>0.055</u></td>
|
| 514 |
+
<td>0.124</td>
|
| 515 |
+
<td><u>0.033</u></td>
|
| 516 |
+
<td><u>0.102</u></td>
|
| 517 |
+
<td><u>0.159</u></td>
|
| 518 |
+
<td><b>0.072</b></td>
|
| 519 |
+
<td><u>0.025</u></td>
|
| 520 |
+
<td>0.984</td>
|
| 521 |
+
<td>0.171</td>
|
| 522 |
+
<td>0.206</td>
|
| 523 |
+
</tr>
|
| 524 |
+
<tr>
|
| 525 |
+
<td>Marker</td>
|
| 526 |
+
<td>0.074</td>
|
| 527 |
+
<td>0.340</td>
|
| 528 |
+
<td>0.089</td>
|
| 529 |
+
<td>0.319</td>
|
| 530 |
+
<td>0.452</td>
|
| 531 |
+
<td>0.153</td>
|
| 532 |
+
<td>0.059</td>
|
| 533 |
+
<td>0.651</td>
|
| 534 |
+
<td>0.192</td>
|
| 535 |
+
<td>0.274</td>
|
| 536 |
+
</tr>
|
| 537 |
+
<tr>
|
| 538 |
+
<td>Mathpix</td>
|
| 539 |
+
<td>0.131</td>
|
| 540 |
+
<td>0.220</td>
|
| 541 |
+
<td>0.202</td>
|
| 542 |
+
<td>0.216</td>
|
| 543 |
+
<td>0.278</td>
|
| 544 |
+
<td>0.147</td>
|
| 545 |
+
<td>0.091</td>
|
| 546 |
+
<td>0.634</td>
|
| 547 |
+
<td>0.690</td>
|
| 548 |
+
<td>0.300</td>
|
| 549 |
+
</tr>
|
| 550 |
+
<tr>
|
| 551 |
+
<td rowspan="2"><b>Expert VLMs</b></td>
|
| 552 |
+
<td>GOT-OCR</td>
|
| 553 |
+
<td>0.111</td>
|
| 554 |
+
<td>0.222</td>
|
| 555 |
+
<td>0.067</td>
|
| 556 |
+
<td>0.132</td>
|
| 557 |
+
<td>0.204</td>
|
| 558 |
+
<td>0.198</td>
|
| 559 |
+
<td>0.179</td>
|
| 560 |
+
<td>0.388</td>
|
| 561 |
+
<td>0.771</td>
|
| 562 |
+
<td>0.267</td>
|
| 563 |
+
</tr>
|
| 564 |
+
<tr>
|
| 565 |
+
<td>Nougat</td>
|
| 566 |
+
<td>0.734</td>
|
| 567 |
+
<td>0.958</td>
|
| 568 |
+
<td>1.000</td>
|
| 569 |
+
<td>0.820</td>
|
| 570 |
+
<td>0.930</td>
|
| 571 |
+
<td>0.830</td>
|
| 572 |
+
<td>0.214</td>
|
| 573 |
+
<td>0.991</td>
|
| 574 |
+
<td>0.871</td>
|
| 575 |
+
<td>0.806</td>
|
| 576 |
+
</tr>
|
| 577 |
+
<tr>
|
| 578 |
+
<td rowspan="3"><b>General VLMs</b></td>
|
| 579 |
+
<td>GPT4o</td>
|
| 580 |
+
<td>0.157</td>
|
| 581 |
+
<td>0.163</td>
|
| 582 |
+
<td>0.348</td>
|
| 583 |
+
<td>0.187</td>
|
| 584 |
+
<td>0.281</td>
|
| 585 |
+
<td>0.173</td>
|
| 586 |
+
<td>0.146</td>
|
| 587 |
+
<td>0.607</td>
|
| 588 |
+
<td>0.751</td>
|
| 589 |
+
<td>0.316</td>
|
| 590 |
+
</tr>
|
| 591 |
+
<tr>
|
| 592 |
+
<td>Qwen2.5-VL-7B</td>
|
| 593 |
+
<td>0.148</td>
|
| 594 |
+
<td><b>0.053</b></td>
|
| 595 |
+
<td>0.111</td>
|
| 596 |
+
<td>0.137</td>
|
| 597 |
+
<td>0.189</td>
|
| 598 |
+
<td>0.117</td>
|
| 599 |
+
<td>0.134</td>
|
| 600 |
+
<td>0.204</td>
|
| 601 |
+
<td>0.706</td>
|
| 602 |
+
<td>0.205</td>
|
| 603 |
+
</tr>
|
| 604 |
+
<tr>
|
| 605 |
+
<td>InternVL3-8B</td>
|
| 606 |
+
<td>0.163</td>
|
| 607 |
+
<td><u>0.056</u></td>
|
| 608 |
+
<td>0.107</td>
|
| 609 |
+
<td>0.109</td>
|
| 610 |
+
<td><b>0.129</b></td>
|
| 611 |
+
<td>0.100</td>
|
| 612 |
+
<td>0.159</td>
|
| 613 |
+
<td><b>0.150</b></td>
|
| 614 |
+
<td>0.681</td>
|
| 615 |
+
<td>0.188</td>
|
| 616 |
+
</tr>
|
| 617 |
+
<tr>
|
| 618 |
+
<td rowspan="2"><b>Mix</b></td>
|
| 619 |
+
<td>MonkeyOCR-3B <a href="https://huggingface.co/echo840/MonkeyOCR/blob/main/Structure/doclayout_yolo_docstructbench_imgsz1280_2501.pt">[Weight]</a></td>
|
| 620 |
+
<td><b>0.046</b></td>
|
| 621 |
+
<td>0.120</td>
|
| 622 |
+
<td><b>0.024</b></td>
|
| 623 |
+
<td><b>0.100</b></td>
|
| 624 |
+
<td><b>0.129</b></td>
|
| 625 |
+
<td><u>0.086</u></td>
|
| 626 |
+
<td><b>0.024</b></td>
|
| 627 |
+
<td>0.643</td>
|
| 628 |
+
<td><b>0.131</b></td>
|
| 629 |
+
<td><u>0.155</u></td>
|
| 630 |
+
</tr>
|
| 631 |
+
<tr>
|
| 632 |
+
<td>MonkeyOCR-3B* <a href="https://huggingface.co/echo840/MonkeyOCR/blob/main/Structure/layout_zh.pt">[Weight]</a></td>
|
| 633 |
+
<td>0.054</td>
|
| 634 |
+
<td>0.203</td>
|
| 635 |
+
<td>0.038</td>
|
| 636 |
+
<td>0.112</td>
|
| 637 |
+
<td>0.138</td>
|
| 638 |
+
<td>0.111</td>
|
| 639 |
+
<td>0.032</td>
|
| 640 |
+
<td><u>0.194</u></td>
|
| 641 |
+
<td><u>0.136</u></td>
|
| 642 |
+
<td><b>0.120</b></td>
|
| 643 |
+
</tr>
|
| 644 |
+
</tbody>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 645 |
</table>
|
| 646 |
|
| 647 |
+
### 3. Comparing MonkeyOCR with closed-source and extra large open-source VLMs.
|
| 648 |
+
<img src="https://v1.ax1x.com/2025/06/05/7jQlj4.png" alt="7jQlj4.png" border="0" />
|
| 649 |
+
|
| 650 |
+
|
| 651 |
## Visualization Demo
|
| 652 |
|
| 653 |
+
Get a Quick Hands-On Experience with Our Demo: http://vlrlabmonkey.xyz:7685
|
| 654 |
|
| 655 |
> Our demo is simple and easy to use:
|
| 656 |
>
|
|
|
|
| 693 |
|
| 694 |
|
| 695 |
## Acknowledgments
|
| 696 |
+
We would like to thank [MinerU](https://github.com/opendatalab/MinerU), [DocLayout-YOLO](https://github.com/opendatalab/DocLayout-YOLO), [PyMuPDF](https://github.com/pymupdf/PyMuPDF), [layoutreader](https://github.com/ppaanngggg/layoutreader), [Qwen2.5-VL](https://github.com/QwenLM/Qwen2.5-VL), [LMDeploy](https://github.com/InternLM/lmdeploy), and [InternVL3](https://github.com/OpenGVLab/InternVL) for providing base code and models, as well as their contributions to this field. We also thank [M6Doc](https://github.com/HCIILAB/M6Doc), [DocLayNet](https://github.com/DS4SD/DocLayNet), [CDLA](https://github.com/buptlihang/CDLA), [D4LA](https://github.com/AlibabaResearch/AdvancedLiterateMachinery), [DocGenome](https://github.com/Alpha-Innovator/DocGenome), [PubTabNet](https://github.com/ibm-aur-nlp/PubTabNet), and [UniMER-1M](https://github.com/opendatalab/UniMERNet) for providing valuable datasets.
|
| 697 |
|
|
|
|
|
|
|
| 698 |
|
| 699 |
## Copyright
|
| 700 |
+
Please don’t hesitate to share your valuable feedback — it’s a key motivation that drives us to continuously improve our framework. The current technical report only presents the results of the 3B model. Our model is intended for non-commercial use. If you are interested in larger one, please contact us at xbai@hust.edu.cn or ylliu@hust.edu.cn.
|
Recognition/config.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
| 1 |
{
|
| 2 |
-
"_name_or_path": "
|
| 3 |
"architectures": [
|
| 4 |
"Qwen2_5_VLForConditionalGeneration"
|
| 5 |
],
|
|
|
|
| 1 |
{
|
| 2 |
+
"_name_or_path": "/home/kas/train_data_all/models/qwen2_5vl_3b/Qwen2.5-VL",
|
| 3 |
"architectures": [
|
| 4 |
"Qwen2_5_VLForConditionalGeneration"
|
| 5 |
],
|