处理 PDF 的团队都踩过这个坑:OCR 把文字提取出来了,但标题层级全乱了、表格被拆成碎片、图片和它的说明对不上。文档看起来像是被机器扫了一遍,人根本没法直接用。
现在有个新工具,专门解决这个。叫 MinerU-Popo,来自上海 AI 实验室 OpenDataLab(就是那个做了 MinerU 的团队)。它不是去替换 OCR,而是给 OCR 的输出做「后处理」,把乱糟糟的页面级解析结果变成一棵有结构的文档树。
是什么
MinerU-Popo 是一个通用的 OCR 输出后处理框架,核心是一个 4B 参数的后处理模型。它做的不是重新识别文字,而是在已有 OCR 输出的基础上,完成四个子任务:
● 表格截断分析 — 跨页表格合并,识别表头重复
● 文本截断分析 — 判断段落是否跨页,合并连续内容
● 标题层级分析 — 识别文档中的章节标题,建立层级关系
● 图文关联分析 — 把图片和它的说明文字对应起来
最终的输出是一棵结构化的文档树,有标题层级,有章节顺序,表格和图片都在它该在的位置。
核心优势
1. 精度吊打通用 VL 模型
这是最让人意外的地方。MinerU-Popo 只有 4B 参数,但在文档结构识别任务上超越了 Qwen3-VL 全系列:
● MinerU-Popo(4B):TEDS 90.6
● Qwen3-VL-32B:TEDS 78.0
● Qwen3-VL-8B:TEDS 65.9
● Qwen3-VL-4B:TEDS 56.5
4B 打赢 32B,靠的是任务专精——它专门为文档后处理训练,不浪费算力在图像理解的多余能力上。
2. 对主流 OCR 引擎都有效
不挑食。目前支持的后处理基座:
● MinerU → TEDS 53.7 → 90.6(+69%)
● MonkeyOCR → 48.9 → 87.4(+79%)
● Dolphin → 60.4 → 83.5(+38%)
● PaddleOCR → 59.3 → 82.6(+39%)
● GLM-OCR → 53.5 → 81.8(+53%)
无论你用哪个 OCR 引擎做初处理,接上 MinerU-Popo 都能再提一截。
3. 直接提升下游 RAG 效果
在 ViDoRe V3 检索基准上,加了 MinerU-Popo 结构化处理后,RAG 准确率明显提升:综合场景 82.3→84.4,金融 48.7→49.5,健康 63.2→66.8,工业 60.4→58.7,制药 64.4→71.6。有几个场景提升超过 7 个点。
4. 三步完成流水线
官方给出的使用流程只有三步:
① 准备好 OCR/Layout 输出(支持 MinerU、MonkeyOCR、Dolphin、PaddleOCR、GLM-OCR)
② 归一化标签格式(一行脚本)
③ 跑推理 → 构建文档树
不需要调模型,不需要标注数据,接上就能用。
安装使用
# 1. 创建环境
conda create -n popo python=3.10
conda activate popo
pip install -r requirements.txt
# 2. 下载模型
hf download DreamEternal/MinerU-Popo --local-dir models/MinerU-Popo
# 3. 配置环境变量(在 post_processing/model_utils.py 中修改)
export POPO_MODEL_PATH=./models/MinerU-Popo
# 4. 放入 OCR 输出 → 归一化 → 推理 → 构建文档树
bash scripts/run_label_normalization.sh
bash scripts/run_inference.sh
bash scripts/build_tree.sh
不是没有槽点
1. 依赖上游 OCR 的质量。 MinerU-Popo 是后处理,不是重新识别。如果 OCR 把文字认错了(比如把「0」认成「O」),后处理没有能力纠正。输入质量决定输出上限。
2. 长文档处理有挑战。 虽然有 Dynamic Chunking 机制处理长文档,但 1000 页以上的超长文档如何保持全局一致性,官方也没有给出具体数据。
3. 4B 模型推理还是需要 GPU。 不是纯 CPU 友好的工具。没有显卡的话,跑起来会比较吃力。
4. 目前没有开箱即用的 Demo 页面。 GitHub 没有在线 Demo,需要本地部署。对于想先体验再决定要不要装的用户来说,门槛稍高。
跟同类怎么比
如果你的需求是「PDF 转 markdown」,直接用 MinerU 就够了——它已经内置了结构化处理能力。但如果你已经在用某个 OCR 引擎(比如 PaddleOCR 或者 GLM-OCR),又不想换掉它,那 MinerU-Popo 是目前性价比最高的后处理方案:不用换 OCR,不用训模型,接上就能用。
如果你想的是「我能不能用一个通用 VL 模型直接搞定文档理解」,Qwen3-VL-32B 的数据也摆在上面了——4B 的 MinerU-Popo 精度比它高 12 个点,参数量只有它的 1/8。这个对比值得想一下。
一句话总结:如果你在搭 RAG 流水线、处理大量学术 PDF 或者企业文档,MinerU-Popo 是一个值得一试的「焊死在后处理环节」的组件。
GitHub:https://github.com/opendatalab/MinerU-Popo
HuggingFace:https://huggingface.co/DreamEternal/MinerU-Popo
论文:arXiv:2605.24973
标签:#MinerU-Popo #PDF解析 #文档结构化 #OCR后处理 #RAG #OpenDataLab #AI文档处理
关注我,每期分享一个帮你省事的强大工具 🛠️