Update README.md
Browse files
README.md
CHANGED
@@ -1,3 +1,613 @@
|
|
1 |
-
---
|
2 |
-
license: apache-2.0
|
3 |
-
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
license: apache-2.0
|
3 |
+
---
|
4 |
+
<div align="center" xmlns="http://www.w3.org/1999/html">
|
5 |
+
<h1 align="center">
|
6 |
+
MonkeyOCR: Document Parsing with a Structure-Recognition-Relation Triplet Paradigm
|
7 |
+
</h1>
|
8 |
+
|
9 |
+
[](https://arxiv.org/abs/2506.05218)
|
10 |
+
[](https://huggingface.co/echo840/MonkeyOCR)
|
11 |
+
[](https://github.com/Yuliang-Liu/MonkeyOCR/issues?q=is%3Aopen+is%3Aissue)
|
12 |
+
[](https://github.com/Yuliang-Liu/MonkeyOCR/issues?q=is%3Aissue+is%3Aclosed)
|
13 |
+
[](https://github.com/Yuliang-Liu/MonkeyOCR)
|
14 |
+
</div>
|
15 |
+
|
16 |
+
|
17 |
+
> **MonkeyOCR: Document Parsing with a Structure-Recognition-Relation Triplet Paradigm**<br>
|
18 |
+
> Zhang Li, Yuliang Liu, Qiang Liu, Zhiyin Ma, Ziyang Zhang, Shuo Zhang, Zidun Guo, Jiarui Zhang, Xinyu Wang, Xiang Bai <br>
|
19 |
+
[](https://arxiv.org/abs/2506.05218)
|
20 |
+
[](README.md)
|
21 |
+
[](https://huggingface.co/echo840/MonkeyOCR)
|
22 |
+
[](http://vlrlabmonkey.xyz:7685/)
|
23 |
+
|
24 |
+
|
25 |
+
|
26 |
+
## Introduction
|
27 |
+
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.
|
28 |
+
|
29 |
+
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.
|
30 |
+
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.
|
31 |
+
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).
|
32 |
+
|
33 |
+
|
34 |
+
<img src="https://v1.ax1x.com/2025/06/05/7jQ3cm.png" alt="7jQ3cm.png" border="0" />
|
35 |
+
|
36 |
+
## News
|
37 |
+
* ```2025.06.05 ``` 🚀 We release MonkeyOCR, which supports the parsing of various types of Chinese and English documents.
|
38 |
+
|
39 |
+
|
40 |
+
## Quick Start
|
41 |
+
|
42 |
+
### 1. Install MonkeyOCR
|
43 |
+
```bash
|
44 |
+
conda create -n MonkeyOCR python=3.10
|
45 |
+
conda activate MonkeyOCR
|
46 |
+
|
47 |
+
git clone https://github.com/Yuliang-Liu/MonkeyOCR.git
|
48 |
+
cd MonkeyOCR
|
49 |
+
|
50 |
+
# Install pytorch, see https://pytorch.org/get-started/previous-versions/ for your cuda version
|
51 |
+
pip install torch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 --index-url https://download.pytorch.org/whl/cu124
|
52 |
+
pip install .
|
53 |
+
```
|
54 |
+
### 2. Download Model Weights
|
55 |
+
```python
|
56 |
+
pip install huggingface_hub
|
57 |
+
|
58 |
+
python download_model.py
|
59 |
+
|
60 |
+
```
|
61 |
+
### 3. Inference
|
62 |
+
```bash
|
63 |
+
# Make sure in MonkeyOCR directory
|
64 |
+
python parse.py path/to/your.pdf
|
65 |
+
# Specify MonkeyChat path and model configs path
|
66 |
+
python parse.py path/to/your.pdf -m model_weight/Recognition -c config.yaml
|
67 |
+
```
|
68 |
+
### 4. Gradio demo
|
69 |
+
```bash
|
70 |
+
# Prepare your env for gradio
|
71 |
+
pip install gradio==5.23.3
|
72 |
+
pip install pdf2image==1.17.0
|
73 |
+
```
|
74 |
+
```bash
|
75 |
+
# Start demo
|
76 |
+
python demo/demo_gradio.py
|
77 |
+
```
|
78 |
+
|
79 |
+
Using the [LMDeploy](https://github.com/InternLM/lmdeploy), our model can run efficiently on an NVIDIA 3090 GPU.
|
80 |
+
|
81 |
+
|
82 |
+
## Benchmark Results
|
83 |
+
|
84 |
+
|
85 |
+
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.
|
86 |
+
|
87 |
+
|
88 |
+
### 1. The end-to-end evaluation results of different tasks.
|
89 |
+
|
90 |
+
<table style="width:100%; border-collapse:collapse; text-align:center;" border="0">
|
91 |
+
<thead>
|
92 |
+
<tr>
|
93 |
+
<th rowspan="2">Model Type</th>
|
94 |
+
<th rowspan="2">Methods</th>
|
95 |
+
<th colspan="2">Overall Edit↓</th>
|
96 |
+
<th colspan="2">Text Edit↓</th>
|
97 |
+
<th colspan="2">Formula Edit↓</th>
|
98 |
+
<th colspan="2">Formula CDM↑</th>
|
99 |
+
<th colspan="2">Table TEDS↑</th>
|
100 |
+
<th colspan="2">Table Edit↓</th>
|
101 |
+
<th colspan="2">Read Order Edit↓</th>
|
102 |
+
</tr>
|
103 |
+
<tr>
|
104 |
+
<th>EN</th>
|
105 |
+
<th>ZH</th>
|
106 |
+
<th>EN</th>
|
107 |
+
<th>ZH</th>
|
108 |
+
<th>EN</th>
|
109 |
+
<th>ZH</th>
|
110 |
+
<th>EN</th>
|
111 |
+
<th>ZH</th>
|
112 |
+
<th>EN</th>
|
113 |
+
<th>ZH</th>
|
114 |
+
<th>EN</th>
|
115 |
+
<th>ZH</th>
|
116 |
+
<th>EN</th>
|
117 |
+
<th>ZH</th>
|
118 |
+
</tr>
|
119 |
+
</thead>
|
120 |
+
<tbody>
|
121 |
+
<tr>
|
122 |
+
<td rowspan="7">Pipeline Tools</td>
|
123 |
+
<td>MinerU</td>
|
124 |
+
<td>0.150</td>
|
125 |
+
<td>0.357</td>
|
126 |
+
<td>0.061</td>
|
127 |
+
<td>0.215</td>
|
128 |
+
<td>0.278</td>
|
129 |
+
<td>0.577</td>
|
130 |
+
<td>57.3</td>
|
131 |
+
<td>42.9</td>
|
132 |
+
<td>78.6</td>
|
133 |
+
<td>62.1</td>
|
134 |
+
<td>0.180</td>
|
135 |
+
<td>0.344</td>
|
136 |
+
<td><strong>0.079</strong></td>
|
137 |
+
<td>0.292</td>
|
138 |
+
</tr>
|
139 |
+
<tr>
|
140 |
+
<td>Marker</td>
|
141 |
+
<td>0.336</td>
|
142 |
+
<td>0.556</td>
|
143 |
+
<td>0.080</td>
|
144 |
+
<td>0.315</td>
|
145 |
+
<td>0.530</td>
|
146 |
+
<td>0.883</td>
|
147 |
+
<td>17.6</td>
|
148 |
+
<td>11.7</td>
|
149 |
+
<td>67.6</td>
|
150 |
+
<td>49.2</td>
|
151 |
+
<td>0.619</td>
|
152 |
+
<td>0.685</td>
|
153 |
+
<td>0.114</td>
|
154 |
+
<td>0.340</td>
|
155 |
+
</tr>
|
156 |
+
<tr>
|
157 |
+
<td>Mathpix</td>
|
158 |
+
<td>0.191</td>
|
159 |
+
<td>0.365</td>
|
160 |
+
<td>0.105</td>
|
161 |
+
<td>0.384</td>
|
162 |
+
<td>0.306</td>
|
163 |
+
<td><strong>0.454</strong></td>
|
164 |
+
<td>62.7</td>
|
165 |
+
<td><strong>62.1</strong></td>
|
166 |
+
<td>77.0</td>
|
167 |
+
<td>67.1</td>
|
168 |
+
<td>0.243</td>
|
169 |
+
<td>0.320</td>
|
170 |
+
<td>0.108</td>
|
171 |
+
<td>0.304</td>
|
172 |
+
</tr>
|
173 |
+
<tr>
|
174 |
+
<td>Docling</td>
|
175 |
+
<td>0.589</td>
|
176 |
+
<td>0.909</td>
|
177 |
+
<td>0.416</td>
|
178 |
+
<td>0.987</td>
|
179 |
+
<td>0.999</td>
|
180 |
+
<td>1</td>
|
181 |
+
<td>-</td>
|
182 |
+
<td>-</td>
|
183 |
+
<td>61.3</td>
|
184 |
+
<td>25.0</td>
|
185 |
+
<td>0.627</td>
|
186 |
+
<td>0.810</td>
|
187 |
+
<td>0.313</td>
|
188 |
+
<td>0.837</td>
|
189 |
+
</tr>
|
190 |
+
<tr>
|
191 |
+
<td>Pix2Text</td>
|
192 |
+
<td>0.320</td>
|
193 |
+
<td>0.528</td>
|
194 |
+
<td>0.138</td>
|
195 |
+
<td>0.356</td>
|
196 |
+
<td>0.276</td>
|
197 |
+
<td>0.611</td>
|
198 |
+
<td>78.4</td>
|
199 |
+
<td>39.6</td>
|
200 |
+
<td>73.6</td>
|
201 |
+
<td>66.2</td>
|
202 |
+
<td>0.584</td>
|
203 |
+
<td>0.645</td>
|
204 |
+
<td>0.281</td>
|
205 |
+
<td>0.499</td>
|
206 |
+
</tr>
|
207 |
+
<tr>
|
208 |
+
<td>Unstructured</td>
|
209 |
+
<td>0.586</td>
|
210 |
+
<td>0.716</td>
|
211 |
+
<td>0.198</td>
|
212 |
+
<td>0.481</td>
|
213 |
+
<td>0.999</td>
|
214 |
+
<td>1</td>
|
215 |
+
<td>-</td>
|
216 |
+
<td>-</td>
|
217 |
+
<td>0</td>
|
218 |
+
<td>0.06</td>
|
219 |
+
<td>1</td>
|
220 |
+
<td>0.998</td>
|
221 |
+
<td>0.145</td>
|
222 |
+
<td>0.387</td>
|
223 |
+
</tr>
|
224 |
+
<tr>
|
225 |
+
<td>OpenParse</td>
|
226 |
+
<td>0.646</td>
|
227 |
+
<td>0.814</td>
|
228 |
+
<td>0.681</td>
|
229 |
+
<td>0.974</td>
|
230 |
+
<td>0.996</td>
|
231 |
+
<td>1</td>
|
232 |
+
<td>0.11</td>
|
233 |
+
<td>0</td>
|
234 |
+
<td>64.8</td>
|
235 |
+
<td>27.5</td>
|
236 |
+
<td>0.284</td>
|
237 |
+
<td>0.639</td>
|
238 |
+
<td>0.595</td>
|
239 |
+
<td>0.641</td>
|
240 |
+
</tr>
|
241 |
+
<tr>
|
242 |
+
<td rowspan="5">Expert VLMs</td>
|
243 |
+
<td>GOT-OCR</td>
|
244 |
+
<td>0.287</td>
|
245 |
+
<td>0.411</td>
|
246 |
+
<td>0.189</td>
|
247 |
+
<td>0.315</td>
|
248 |
+
<td>0.360</td>
|
249 |
+
<td>0.528</td>
|
250 |
+
<td>74.3</td>
|
251 |
+
<td>45.3</td>
|
252 |
+
<td>53.2</td>
|
253 |
+
<td>47.2</td>
|
254 |
+
<td>0.459</td>
|
255 |
+
<td>0.520</td>
|
256 |
+
<td>0.141</td>
|
257 |
+
<td>0.280</td>
|
258 |
+
</tr>
|
259 |
+
<tr>
|
260 |
+
<td>Nougat</td>
|
261 |
+
<td>0.452</td>
|
262 |
+
<td>0.973</td>
|
263 |
+
<td>0.365</td>
|
264 |
+
<td>0.998</td>
|
265 |
+
<td>0.488</td>
|
266 |
+
<td>0.941</td>
|
267 |
+
<td>15.1</td>
|
268 |
+
<td>16.8</td>
|
269 |
+
<td>39.9</td>
|
270 |
+
<td>0</td>
|
271 |
+
<td>0.572</td>
|
272 |
+
<td>1.000</td>
|
273 |
+
<td>0.382</td>
|
274 |
+
<td>0.954</td>
|
275 |
+
</tr>
|
276 |
+
<tr>
|
277 |
+
<td>Mistral OCR</td>
|
278 |
+
<td>0.268</td>
|
279 |
+
<td>0.439</td>
|
280 |
+
<td>0.072</td>
|
281 |
+
<td>0.325</td>
|
282 |
+
<td>0.318</td>
|
283 |
+
<td>0.495</td>
|
284 |
+
<td>64.6</td>
|
285 |
+
<td>45.9</td>
|
286 |
+
<td>75.8</td>
|
287 |
+
<td>63.6</td>
|
288 |
+
<td>0.600</td>
|
289 |
+
<td>0.650</td>
|
290 |
+
<td>0.083</td>
|
291 |
+
<td>0.284</td>
|
292 |
+
</tr>
|
293 |
+
<tr>
|
294 |
+
<td>OLMOCR-sglang</td>
|
295 |
+
<td>0.326</td>
|
296 |
+
<td>0.469</td>
|
297 |
+
<td>0.097</td>
|
298 |
+
<td>0.293</td>
|
299 |
+
<td>0.455</td>
|
300 |
+
<td>0.655</td>
|
301 |
+
<td>74.3</td>
|
302 |
+
<td>43.2</td>
|
303 |
+
<td>68.1</td>
|
304 |
+
<td>61.3</td>
|
305 |
+
<td>0.608</td>
|
306 |
+
<td>0.652</td>
|
307 |
+
<td>0.145</td>
|
308 |
+
<td>0.277</td>
|
309 |
+
</tr>
|
310 |
+
<tr>
|
311 |
+
<td>SmolDocling-256M</td>
|
312 |
+
<td>0.493</td>
|
313 |
+
<td>0.816</td>
|
314 |
+
<td>0.262</td>
|
315 |
+
<td>0.838</td>
|
316 |
+
<td>0.753</td>
|
317 |
+
<td>0.997</td>
|
318 |
+
<td>32.1</td>
|
319 |
+
<td>0.55</td>
|
320 |
+
<td>44.9</td>
|
321 |
+
<td>16.5</td>
|
322 |
+
<td>0.729</td>
|
323 |
+
<td>0.907</td>
|
324 |
+
<td>0.227</td>
|
325 |
+
<td>0.522</td>
|
326 |
+
</tr>
|
327 |
+
<tr>
|
328 |
+
<td rowspan="3">General VLMs</td>
|
329 |
+
<td>GPT4o</td>
|
330 |
+
<td>0.233</td>
|
331 |
+
<td>0.399</td>
|
332 |
+
<td>0.144</td>
|
333 |
+
<td>0.409</td>
|
334 |
+
<td>0.425</td>
|
335 |
+
<td>0.606</td>
|
336 |
+
<td>72.8</td>
|
337 |
+
<td>42.8</td>
|
338 |
+
<td>72.0</td>
|
339 |
+
<td>62.9</td>
|
340 |
+
<td>0.234</td>
|
341 |
+
<td>0.329</td>
|
342 |
+
<td>0.128</td>
|
343 |
+
<td>0.251</td>
|
344 |
+
</tr>
|
345 |
+
<tr>
|
346 |
+
<td>Qwen2.5-VL-7B</td>
|
347 |
+
<td>0.312</td>
|
348 |
+
<td>0.406</td>
|
349 |
+
<td>0.157</td>
|
350 |
+
<td>0.228</td>
|
351 |
+
<td>0.351</td>
|
352 |
+
<td>0.574</td>
|
353 |
+
<td><strong>79.0</strong></td>
|
354 |
+
<td>50.2</td>
|
355 |
+
<td>76.4</td>
|
356 |
+
<td>72.2</td>
|
357 |
+
<td>0.588</td>
|
358 |
+
<td>0.619</td>
|
359 |
+
<td>0.149</td>
|
360 |
+
<td>0.203</td>
|
361 |
+
</tr>
|
362 |
+
<tr>
|
363 |
+
<td>InternVL3-8B</td>
|
364 |
+
<td>0.314</td>
|
365 |
+
<td>0.383</td>
|
366 |
+
<td>0.134</td>
|
367 |
+
<td>0.218</td>
|
368 |
+
<td>0.417</td>
|
369 |
+
<td>0.563</td>
|
370 |
+
<td>78.3</td>
|
371 |
+
<td>49.3</td>
|
372 |
+
<td>66.1</td>
|
373 |
+
<td>73.1</td>
|
374 |
+
<td>0.586</td>
|
375 |
+
<td>0.564</td>
|
376 |
+
<td>0.118</td>
|
377 |
+
<td>0.186</td>
|
378 |
+
</tr>
|
379 |
+
<tr>
|
380 |
+
<td rowspan="2">Mix</td>
|
381 |
+
<td>MonkeyOCR-3B <a href="https://huggingface.co/echo840/MonkeyOCR/blob/main/Structure/doclayout_yolo_docstructbench_imgsz1280_2501.pt">[Weight]</a></td>
|
382 |
+
<td><strong>0.140</strong></td>
|
383 |
+
<td>0.297</td>
|
384 |
+
<td><strong>0.058</strong></td>
|
385 |
+
<td>0.185</td>
|
386 |
+
<td><strong>0.238</strong></td>
|
387 |
+
<td>0.506</td>
|
388 |
+
<td>78.7</td>
|
389 |
+
<td>51.4</td>
|
390 |
+
<td><strong>80.2</strong></td>
|
391 |
+
<td><strong>77.7</strong></td>
|
392 |
+
<td><strong>0.170</strong></td>
|
393 |
+
<td><strong>0.253</strong></td>
|
394 |
+
<td>0.093</td>
|
395 |
+
<td>0.244</td>
|
396 |
+
</tr>
|
397 |
+
<tr>
|
398 |
+
<td>MonkeyOCR-3B* <a href="https://huggingface.co/echo840/MonkeyOCR/blob/main/Structure/layout_zh.pt">[Weight]</a></td>
|
399 |
+
<td>0.154</td>
|
400 |
+
<td><strong>0.277</strong></td>
|
401 |
+
<td>0.073</td>
|
402 |
+
<td><strong>0.134</strong></td>
|
403 |
+
<td>0.255</td>
|
404 |
+
<td>0.529</td>
|
405 |
+
<td>78.5</td>
|
406 |
+
<td>50.8</td>
|
407 |
+
<td>78.2</td>
|
408 |
+
<td>76.2</td>
|
409 |
+
<td>0.182</td>
|
410 |
+
<td>0.262</td>
|
411 |
+
<td>0.105</td>
|
412 |
+
<td><strong>0.183</strong></td>
|
413 |
+
</tr>
|
414 |
+
</tbody>
|
415 |
+
</table>
|
416 |
+
|
417 |
+
|
418 |
+
|
419 |
+
|
420 |
+
### 2. The end-to-end text recognition performance across 9 PDF page types.
|
421 |
+
<table style="width: 100%; border-collapse: collapse; text-align: center;">
|
422 |
+
<thead>
|
423 |
+
<tr style="border-bottom: 2px solid #000;">
|
424 |
+
<th><b>Model Type</b></th>
|
425 |
+
<th><b>Models</b></th>
|
426 |
+
<th><b>Book</b></th>
|
427 |
+
<th><b>Slides</b></th>
|
428 |
+
<th><b>Financial Report</b></th>
|
429 |
+
<th><b>Textbook</b></th>
|
430 |
+
<th><b>Exam Paper</b></th>
|
431 |
+
<th><b>Magazine</b></th>
|
432 |
+
<th><b>Academic Papers</b></th>
|
433 |
+
<th><b>Notes</b></th>
|
434 |
+
<th><b>Newspaper</b></th>
|
435 |
+
<th><b>Overall</b></th>
|
436 |
+
</tr>
|
437 |
+
</thead>
|
438 |
+
<tbody>
|
439 |
+
<tr>
|
440 |
+
<td rowspan="3"><b>Pipeline Tools</b></td>
|
441 |
+
<td>MinerU</td>
|
442 |
+
<td><u>0.055</u></td>
|
443 |
+
<td>0.124</td>
|
444 |
+
<td><u>0.033</u></td>
|
445 |
+
<td><u>0.102</u></td>
|
446 |
+
<td><u>0.159</u></td>
|
447 |
+
<td><b>0.072</b></td>
|
448 |
+
<td><u>0.025</u></td>
|
449 |
+
<td>0.984</td>
|
450 |
+
<td>0.171</td>
|
451 |
+
<td>0.206</td>
|
452 |
+
</tr>
|
453 |
+
<tr>
|
454 |
+
<td>Marker</td>
|
455 |
+
<td>0.074</td>
|
456 |
+
<td>0.340</td>
|
457 |
+
<td>0.089</td>
|
458 |
+
<td>0.319</td>
|
459 |
+
<td>0.452</td>
|
460 |
+
<td>0.153</td>
|
461 |
+
<td>0.059</td>
|
462 |
+
<td>0.651</td>
|
463 |
+
<td>0.192</td>
|
464 |
+
<td>0.274</td>
|
465 |
+
</tr>
|
466 |
+
<tr>
|
467 |
+
<td>Mathpix</td>
|
468 |
+
<td>0.131</td>
|
469 |
+
<td>0.220</td>
|
470 |
+
<td>0.202</td>
|
471 |
+
<td>0.216</td>
|
472 |
+
<td>0.278</td>
|
473 |
+
<td>0.147</td>
|
474 |
+
<td>0.091</td>
|
475 |
+
<td>0.634</td>
|
476 |
+
<td>0.690</td>
|
477 |
+
<td>0.300</td>
|
478 |
+
</tr>
|
479 |
+
<tr>
|
480 |
+
<td rowspan="2"><b>Expert VLMs</b></td>
|
481 |
+
<td>GOT-OCR</td>
|
482 |
+
<td>0.111</td>
|
483 |
+
<td>0.222</td>
|
484 |
+
<td>0.067</td>
|
485 |
+
<td>0.132</td>
|
486 |
+
<td>0.204</td>
|
487 |
+
<td>0.198</td>
|
488 |
+
<td>0.179</td>
|
489 |
+
<td>0.388</td>
|
490 |
+
<td>0.771</td>
|
491 |
+
<td>0.267</td>
|
492 |
+
</tr>
|
493 |
+
<tr>
|
494 |
+
<td>Nougat</td>
|
495 |
+
<td>0.734</td>
|
496 |
+
<td>0.958</td>
|
497 |
+
<td>1.000</td>
|
498 |
+
<td>0.820</td>
|
499 |
+
<td>0.930</td>
|
500 |
+
<td>0.830</td>
|
501 |
+
<td>0.214</td>
|
502 |
+
<td>0.991</td>
|
503 |
+
<td>0.871</td>
|
504 |
+
<td>0.806</td>
|
505 |
+
</tr>
|
506 |
+
<tr>
|
507 |
+
<td rowspan="3"><b>General VLMs</b></td>
|
508 |
+
<td>GPT4o</td>
|
509 |
+
<td>0.157</td>
|
510 |
+
<td>0.163</td>
|
511 |
+
<td>0.348</td>
|
512 |
+
<td>0.187</td>
|
513 |
+
<td>0.281</td>
|
514 |
+
<td>0.173</td>
|
515 |
+
<td>0.146</td>
|
516 |
+
<td>0.607</td>
|
517 |
+
<td>0.751</td>
|
518 |
+
<td>0.316</td>
|
519 |
+
</tr>
|
520 |
+
<tr>
|
521 |
+
<td>Qwen2.5-VL-7B</td>
|
522 |
+
<td>0.148</td>
|
523 |
+
<td><b>0.053</b></td>
|
524 |
+
<td>0.111</td>
|
525 |
+
<td>0.137</td>
|
526 |
+
<td>0.189</td>
|
527 |
+
<td>0.117</td>
|
528 |
+
<td>0.134</td>
|
529 |
+
<td>0.204</td>
|
530 |
+
<td>0.706</td>
|
531 |
+
<td>0.205</td>
|
532 |
+
</tr>
|
533 |
+
<tr>
|
534 |
+
<td>InternVL3-8B</td>
|
535 |
+
<td>0.163</td>
|
536 |
+
<td><u>0.056</u></td>
|
537 |
+
<td>0.107</td>
|
538 |
+
<td>0.109</td>
|
539 |
+
<td><b>0.129</b></td>
|
540 |
+
<td>0.100</td>
|
541 |
+
<td>0.159</td>
|
542 |
+
<td><b>0.150</b></td>
|
543 |
+
<td>0.681</td>
|
544 |
+
<td>0.188</td>
|
545 |
+
</tr>
|
546 |
+
<tr>
|
547 |
+
<td rowspan="2"><b>Mix</b></td>
|
548 |
+
<td>MonkeyOCR-3B <a href="https://huggingface.co/echo840/MonkeyOCR/blob/main/Structure/doclayout_yolo_docstructbench_imgsz1280_2501.pt">[Weight]</a></td>
|
549 |
+
<td><b>0.046</b></td>
|
550 |
+
<td>0.120</td>
|
551 |
+
<td><b>0.024</b></td>
|
552 |
+
<td><b>0.100</b></td>
|
553 |
+
<td><b>0.129</b></td>
|
554 |
+
<td><u>0.086</u></td>
|
555 |
+
<td><b>0.024</b></td>
|
556 |
+
<td>0.643</td>
|
557 |
+
<td><b>0.131</b></td>
|
558 |
+
<td><u>0.155</u></td>
|
559 |
+
</tr>
|
560 |
+
<tr>
|
561 |
+
<td>MonkeyOCR-3B* <a href="https://huggingface.co/echo840/MonkeyOCR/blob/main/Structure/layout_zh.pt">[Weight]</a></td>
|
562 |
+
<td>0.054</td>
|
563 |
+
<td>0.203</td>
|
564 |
+
<td>0.038</td>
|
565 |
+
<td>0.112</td>
|
566 |
+
<td>0.138</td>
|
567 |
+
<td>0.111</td>
|
568 |
+
<td>0.032</td>
|
569 |
+
<td><u>0.194</u></td>
|
570 |
+
<td><u>0.136</u></td>
|
571 |
+
<td><b>0.120</b></td>
|
572 |
+
</tr>
|
573 |
+
</tbody>
|
574 |
+
</table>
|
575 |
+
|
576 |
+
### 3. Comparing MonkeyOCR with closed-source and extra large open-source VLMs.
|
577 |
+
<img src="https://v1.ax1x.com/2025/06/05/7jQlj4.png" alt="7jQlj4.png" border="0" />
|
578 |
+
|
579 |
+
|
580 |
+
## Visualization Demo
|
581 |
+
|
582 |
+
> Our demo is simple and easy to use:
|
583 |
+
>
|
584 |
+
> 1. Upload a PDF or image.
|
585 |
+
> 2. Click “Parse (解析)” to let the model perform structure detection, content recognition, and relationship prediction on the input document. The final output will be a markdown-formatted version of the document.
|
586 |
+
> 3. Select a prompt and click “Chat (对话)” to let the model perform content recognition on the image based on the selected prompt.
|
587 |
+
|
588 |
+
|
589 |
+
|
590 |
+
## Citing MonkeyOCR
|
591 |
+
|
592 |
+
If you wish to refer to the baseline results published here, please use the following BibTeX entries:
|
593 |
+
|
594 |
+
```BibTeX
|
595 |
+
@misc{li2025monkeyocrdocumentparsingstructurerecognitionrelation,
|
596 |
+
title={MonkeyOCR: Document Parsing with a Structure-Recognition-Relation Triplet Paradigm},
|
597 |
+
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},
|
598 |
+
year={2025},
|
599 |
+
eprint={2506.05218},
|
600 |
+
archivePrefix={arXiv},
|
601 |
+
primaryClass={cs.CV},
|
602 |
+
url={https://arxiv.org/abs/2506.05218},
|
603 |
+
}
|
604 |
+
```
|
605 |
+
|
606 |
+
|
607 |
+
|
608 |
+
## Acknowledgments
|
609 |
+
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.
|
610 |
+
|
611 |
+
|
612 |
+
## Copyright
|
613 |
+
MonkeyDoc dataset was collected from public datasets, crawled from the internet, and obtained through our own photography. We plan to make this portion publicly available in the future. The current technical report only presents the results of the 3B model. If you are interested in larger one, please contact Prof. Yuliang Liu at [email protected].
|