PP-StructureV3 在V1的基础上,强化了版面区域检测、表格识别、公式识别的能力,增加了图表理解和多栏阅读顺序的恢复能力、结果转换 Markdown 文件的能力,在多种文档数据中,表现优异,可以处理较复杂的文档数据。

PP-StructureV3的整体pipeline如下,![[Pasted image 20250625110637.png]]

涉及的模型较多,有

  • 文档图像方向分类模块
  • 文本图像矫正模块
  • 版面区域检测模块
  • 表格结构识别模块
  • 文本检测模块
  • 文本识别模块
  • 文本行方向分类模块
  • 公式识别模块
  • 印章文本检测模块
  • 图表解析模块

项目链接:
https://paddlepaddle.github.io/PaddleOCR/v3.0.1/version3.x/pipeline_usage/PP-StructureV3.html
代码链接:https://github.com/PaddlePaddle/PaddleOCR


PDF解析效果评测

在OmniDocBench评测集上,PP-StructureV3在各个指标下,实现了基于pipeline算法中最好的效果,同时,不难看出,在开源模型中,也是效果最佳。

Method TypeMethodsOverallEditTextEditFormulaEditTableEditRead OrderEdit
ENZHENZHENZHENZHENZH
Pipeline ToolsPP-structureV30.1470.2120.0590.090.2950.5350.1590.1090.0750.114
MinerU-0.9.30.150.3570.0610.2150.2780.5770.180.3440.0790.292
MinerU-1.3.110.1660.3100.08260.20000.33680.62360.16130.18330.08340.2316
Marker-1.2.30.3360.5560.080.3150.530.8830.6190.6850.1140.34
Mathpix0.1910.3650.1050.3840.3060.4540.2430.320.1080.304
Docling-2.14.00.5890.9090.4160.9870.99910.6270.810.3130.837
Pix2Text-1.1.2.30.320.5280.1380.3560.2760.6110.5840.6450.2810.499
Unstructured-0.17.20.5860.7160.1980.4810.999110.9980.1450.387
OpenParse-0.7.00.6460.8140.6810.9740.99610.2840.6390.5950.641
Expert VLMsGOT-OCR0.2870.4110.1890.3150.360.5280.4590.520.1410.28
Nougat0.4520.9730.3650.9980.4880.9410.57210.3820.954
Mistral OCR0.2680.4390.0720.3250.3180.4950.60.650.0830.284
OLMOCR-sglang0.3260.4690.0970.2930.4550.6550.6080.6520.1450.277
SmolDocling-256M_transformer0.4930.8160.2620.8380.7530.9970.7290.9070.2270.522
General VLMsGemini2.0-flash0.1910.2640.0910.1390.3890.5840.1930.2060.0920.128
Gemini2.5-Pro0.1480.2120.0550.1680.3560.4390.130.1190.0490.121
GPT4o0.2330.3990.1440.4090.4250.6060.2340.3290.1280.251
Qwen2-VL-72B0.2520.3270.0960.2180.4040.4870.3870.4080.1190.193
Qwen2.5-VL-72B0.2140.2610.0920.180.3150.4340.3410.2620.1060.168
InternVL2-76B0.440.4430.3530.290.5430.7010.5470.5550.3170.228

安装使用

第一步,安装PaddlePaddle
详见开始使用_飞桨-源于产业实践的开源深度学习平台
笔者是linux环境,CUDA版本是12.6,执行以下命令安装

python -m pip install paddlepaddle-gpu==3.0.0 -i https://www.paddlepaddle.org.cn/packages/stable/cu126/

PaddlePaddle安装的坑比较多,尽量保证环境和安装网页提及的一致,不然,有的受了
第二步,安装PaddleOCR

python -m pip install paddleocr

第三步,体验PP-StructureV3效果

paddleocr pp_structurev3 -i https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/pp_structure_v3_demo.png

会有运行结果输出
第四步,批量处理PDF文件

from pathlib import Path
from paddleocr import PPStructureV3

input_file = "./your_pdf_file.pdf"
output_path = Path("./output")

pipeline = PPStructureV3()
output = pipeline.predict(input=input_file)

markdown_list = []
markdown_images = []

for res in output:
    md_info = res.markdown
    markdown_list.append(md_info)
    markdown_images.append(md_info.get("markdown_images", {}))

markdown_texts = pipeline.concatenate_markdown_pages(markdown_list)

mkd_file_path = output_path / f"{Path(input_file).stem}.md"
mkd_file_path.parent.mkdir(parents=True, exist_ok=True)

with open(mkd_file_path, "w", encoding="utf-8") as f:
    f.write(markdown_texts)

for item in markdown_images:
    if item:
        for path, image in item.items():
            file_path = output_path / path
            file_path.parent.mkdir(parents=True, exist_ok=True)
            image.save(file_path)

效果评测

输入PDF
类型
输入PDF
图示
PP-StructureV3
解析结果
Doc2X
解析结果
多栏![[Pasted image 20250629163030.png]]![[Pasted image 20250629164400.png]]![[Pasted image 20250629162956.png]]
公式![[Pasted image 20250629163129.png]]![[Pasted image 20250629164435.png]]![[Pasted image 20250629163343.png]]
表格![[Pasted image 20250629163437.png]]![[Pasted image 20250629164531.png]]![[Pasted image 20250629163530.png]]
代码![[Pasted image 20250629163622.png]]![[Pasted image 20250629164634.png]]![[Pasted image 20250629163657.png]]

对多栏类数据,PP-StructureV3能够解析出版面结构,但OCR能力一般,论文标题、作者识别错误;
对公式类数据,PP-StructureV3和Doc2X解析结果相差不大;
对表格类数据,PP-StructureV3较难处理单元格内有换行的数据,容易识别错误;
对代码类数据,PP-StructureV3基本不能用。

综上,即使最强的PDF开源解析模型——PP-StructureV3,也无法和闭源的Doc2X比较。Doc2X具备很强的技术护城河,想实现PDF解析,无脑接入Doc2X就行了。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐