PaddleOCR PP-Structure 系列模型全览:版面分析、表格识别与关键信息抽取模型选型指南
【免费下载链接】PaddleOCRTurn any PDF or image document into structured data for your AI. A powerful, lightweight OCR toolkit that bridges the gap between images/PDFs and LLMs. Supports 100+ languages.项目地址: https://gitcode.com/GitHub_Trending/pa/PaddleOCR
PP-Structure 是 PaddleOCR 团队自研的智能文档分析系统,覆盖版面分析、表格结构化识别、关键信息抽取(KIE)与版面恢复等文档理解任务。本文基于docs/version2.x/ppstructure/models_list.en.md整理的官方模型清单,逐类介绍 PP-Structure 系列模型的能力边界、推理模型体积、下载方式与配套字典路径,并结合仓库源码说明各模型的底层实现与调用方式,帮助开发者在实际文档解析场景中快速完成模型选型与部署。
1. 版面分析(Layout Analysis)模型
版面分析是 PP-Structure 文档解析流程的第一步:将文档图像划分为文字、标题、表格、图片等不同区域,为后续按区域执行 OCR、表格识别等子任务划定边界。官方模型清单共列出 6 个版面分析模型,分为 PicoDet 轻量系列与 PP-YOLOv2 高精度系列两类。
| 模型名称 | 说明 | 推理模型大小 | 字典路径 |
|---|---|---|---|
| picodet_lcnet_x1_0_fgd_layout | 基于 PicoDet LCNet_x1_0 骨干与 FGD 蒸馏,在 PubLayNet 数据集上训练的英文版面分析模型,可识别Text、Title、Table、Picture、List5 类区域 | 9.7M | layout_publaynet_dict.txt |
| ppyolov2_r50vd_dcn_365e_publaynet | 基于 PP-YOLOv2 在 PubLayNet 数据集上训练的英文版面分析模型 | 221.0M | 同上 |
| picodet_lcnet_x1_0_fgd_layout_cdla | 基于 CDLA 数据集训练的中文版面分析模型,可识别表格、图片、图片标题、表格标题、页眉、页脚、引用、公式等 10 类区域 | 9.7M | layout_cdla_dict.txt |
| picodet_lcnet_x1_0_fgd_layout_table | 表格数据集训练的版面分析模型,支持中英文文档中表格区域的检测 | 9.7M | layout_table_dict.txt |
| ppyolov2_r50vd_dcn_365e_tableBank_word | 基于 PP-YOLOv2 在 TableBank Word 数据集训练的版面分析模型,检测英文文档表格区域 | 221.0M | 同上 |
| ppyolov2_r50vd_dcn_365e_tableBank_latex | 基于 PP-YOLOv2 在 TableBank Latex 数据集训练的版面分析模型,检测英文文档表格区域 | 221.0M | 同上 |
1.1 轻量级首选:PicoDet LCNet_x1_0 + FGD 系列
picodet_lcnet_x1_0_fgd_layout系列是官方推荐的轻量版面分析方案。三个模型(PubLayNet 英文、CDLA 中文、Table 表格专用)推理体积均仅约9.7M,适合 CPU 推理与端侧部署。名称中的 FGD 指 Focal and Global Distillation,即以大规模模型为教师、以 PicoDet 为学生的特征蒸馏训练策略,使轻量模型在极小体积下获得接近大模型的版面分类精度。
三个模型分别对应仓库中 ppocr/utils/dict/layout_dict 下的三个字典文件:
- PubLayNet 英文 5 类(layout_publaynet_dict.txt):
text / title / list / table / figure; - CDLA 中文 10 类(layout_cdla_dict.txt):
text / title / figure / figure_caption / table / table_caption / header / footer / reference / equation,其中 equation(公式)区域在后续版面恢复流程中可用于触发公式识别; - 表格专用 1 类(layout_table_dict.txt):仅
table一个类别,聚焦中英文文档中的表格检测。
1.2 高精度备选:PP-YOLOv2 系列
当对版面区域定位精度要求更高且算力充足时,可选择ppyolov2_r50vd_dcn_365e_publaynet以及基于 TableBank 数据集的tableBank_word/tableBank_latex两个表格检测模型。该系列基于 PP-YOLOv2(ResNet50-vd + DCN 骨干),推理体积约221.0M,适用于服务端 GPU 部署场景。TableBank 数据集的 Word 与 Latex 两个版本分别面向不同类型来源的英文表格文档。
1.3 版面分析模型的底层调用方式
在仓库源码中,版面分析模型的预测入口位于 ppstructure/layout/predict_layout.py,其通过layout_model_dir、layout_dict_path、layout_score_threshold(默认 0.5)与layout_nms_threshold(默认 0.5)等参数完成模型加载、推理与后处理。命令行动态使用方式可参考 quick_start.md 中的版面分析示例:
paddleocr --image_dir=ppstructure/docs/table/1.png --type=structure --table=false --ocr=false--type=structure表示启用 PP-Structure 流水线,--table=false --ocr=false则只保留版面分析环节。
2. OCR 与表格识别模型
部分 PP-Structure 任务需要同时使用结构化分析模型与 OCR 模型。例如表格识别既需要表格结构模型做结构化解析,也需要 OCR 模型识别表格内的文字,因此官方模型清单将 OCR 与表格识别模型单列一节,便于按需求组合选型。
2.1 表格场景专用 OCR 模型
| 模型名称 | 说明 | 推理模型大小 | 下载 |
|---|---|---|---|
| en_ppocr_mobile_v2.0_table_det | 基于 PubTabNet 数据集训练的英文表格场景文字检测模型 | 4.7M | inference model / trained model |
| en_ppocr_mobile_v2.0_table_rec | 基于 PubTabNet 数据集训练的英文表格场景文字识别模型 | 6.9M | inference model / trained model |
这两个模型分别承担表格区域内文字的检测与识别。如果任务需要其他通用 OCR 模型,官方文档明确给出两条路径:
- 在 PP-OCR 模型列表 中下载所需模型;
- 使用自己训练的模型,将其配置到
det_model_dir、rec_model_dir两个字段即可无缝替换。
2.2 表格结构化识别模型
| 模型 | 说明 | 推理模型大小 | 下载 |
|---|---|---|---|
| en_ppocr_mobile_v2.0_table_structure | 基于 TableRec-RARE 在 PubTabNet 数据集上训练的英文表格识别模型 | 6.8M | inference model / trained model |
| en_ppstructure_mobile_v2.0_SLANet | 基于 SLANet 在 PubTabNet 数据集上训练的英文表格识别模型 | 9.2M | inference model / trained model |
| ch_ppstructure_mobile_v2.0_SLANet | 基于 SLANet 的中文表格识别模型 | 9.3M | inference model / trained model |
SLANet 是 PP-Structure 当前主推的表格识别模型,相比早期基于 TableRec-RARE 的方案在结构与体积上都有明显优化,中文、英文各有一个版本,输出结果为可直接还原为 Excel 的 HTML 表格结构。
表格结构模型的推理实现位于 ppstructure/table/predict_structure.py。该文件中的build_pre_process_list展示了表格模型的前处理链路:图像先按table_max_len(默认 488)缩放,再执行 PaddingTableImage 补齐到[488, 488],随后归一化(mean/std 依算法在[0.485,0.456,0.406]与 TableMaster 的[0.5,0.5,0.5]之间切换);后处理阶段根据table_char_dict_path与merge_no_span_structure参数构建TableLabelDecode或TableMasterLabelDecode解码器,将网络输出解析为<td>、<tr>等 HTML 标签序列。命令行单独执行表格识别的方式为:
paddleocr --image_dir=ppstructure/docs/table/table.jpg --type=structure --layout=false3. 关键信息抽取(KIE)模型
KIE(Key Information Extraction)用于从文档中抽取语义实体及其关系,分为**语义实体识别(SER)与关系抽取(RE)**两类子任务。官方模型清单分别给出了 XFUND_zh 数据集与 wildreceipt 数据集上的评测结果。
3.1 XFUND_zh 数据集上的 SER / RE 模型对比
在 XFUND_zh 数据集上,各模型的 Hmean 精度与 V100 GPU 上的推理耗时(仅统计 inference 阶段,不含前后处理)如下:
| 模型 | Backbone | 任务 | 配置 | Hmean | 耗时(ms) |
|---|---|---|---|---|---|
| VI-LayoutXLM | VI-LayoutXLM-base | SER | ser_vi_layoutxlm_xfund_zh_udml.yml | 93.19% | 15.49 |
| LayoutXLM | LayoutXLM-base | SER | ser_layoutxlm_xfund_zh.yml | 90.38% | 19.49 |
| LayoutLM | LayoutLM-base | SER | ser_layoutlm_xfund_zh.yml | 77.31% | - |
| LayoutLMv2 | LayoutLMv2-base | SER | ser_layoutlmv2_xfund_zh.yml | 85.44% | 31.46 |
| VI-LayoutXLM | VI-LayoutXLM-base | RE | re_vi_layoutxlm_xfund_zh_udml.yml | 83.92% | 15.49 |
| LayoutXLM | LayoutXLM-base | RE | re_layoutxlm_xfund_zh.yml | 74.83% | 19.49 |
| LayoutLMv2 | LayoutLMv2-base | RE | re_layoutlmv2_xfund_zh.yml | 67.77% | 31.46 |
注:上表耗时仅包含 inference 模型的推理时间,未统计预处理与后处理;测试环境为
V100 GPU + CUDA 10.2 + CUDNN 8.1.1 + TRT 7.2.3.4。
选型结论:VI-LayoutXLM 在 SER(93.19%)与 RE(83.92%)两项指标上均为最佳,且推理耗时(15.49ms)为全表最低,是中文关键信息抽取的默认首选;LayoutLMv2 精度与速度居中;LayoutLM 精度最低且未给出耗时数据,仅作基线参考。
上述配置文件的仓库路径为 configs/kie/vi_layoutxlm 与 configs/kie/layoutlm_series。以 ser_vi_layoutxlm_xfund_zh_udml.yml 为例,可以看出其"UDML"(UDML 蒸馏)训练方案的技术细节:Architecture 采用DistillationModel,包含 Teacher 与 Student 两个LayoutXLMForSer(mode 为vi)分支,Loss 组合了DistillationVQASerTokenLayoutLMLoss、DistillationSERDMLLoss(softmax + log)与两个分别作用于hidden_states_5、hidden_states_8的DistillationVQADistanceLoss(L2),输出指标由VQASerTokenMetric的hmean衡量。
3.2 wildreceipt 数据集上的 SDMGR 模型
在 wildreceipt 数据集上,官方给出了基于视觉与文本联合建模的 SDMGR(Spatial Dual-Modality Graph Reasoning)模型结果:
| 模型 | Backbone | 配置 | Hmean | 下载 |
|---|---|---|---|---|
| SDMGR | VGG6 | kie_unet_sdmgr.yml | 86.70% | trained model |
SDMGR 的训练配置位于 configs/kie/sdmgr/kie_unet_sdmgr.yml。该配置采用SDMGRHead作为 Head、SDMGRLoss作为损失函数,训练数据经KieLabelEncode、KieResize等算子预处理,Eval 阶段 batch_size 必须为 1,度量指标同为KIEMetric的hmean。
3.3 KIE 模型的使用方式
官方文档特别说明:关键信息抽取暂不支持通过 whl 包直接调用,需使用独立的推理脚本。SER/RE 推理可参考 predict_kie_token_ser.py 与 predict_kie_token_ser_re.py,详细教程见 python_infer.md。也可参考 KIE 实战教程 how_to_do_kie.md 完成数据准备、模型训练与全流程串联。
4. 模型选型与组合建议
结合 overview.md 中 PP-StructureV2 的系统流程(图像矫正 → 版面分析 → 按区域 OCR / 表格识别 → 版面恢复,或 OCR → SER → RE 的 KIE 链路),给出如下组合建议:
- 通用文档版面解析(中文/英文):首选
picodet_lcnet_x1_0_fgd_layout(9.7M)+ch_ppstructure_mobile_v2.0_SLANet(9.3M)+ PP-OCR 系列检测识别模型,整条链路均可轻量部署; - 中文公式、复杂排版文档:使用
picodet_lcnet_x1_0_fgd_layout_cdla以获得 equation、header、footer 等 10 类细分区域; - 表格密集的金融、论文文档:优先
picodet_lcnet_x1_0_fgd_layout_table或 PP-YOLOv2 TableBank 系列进行表格定位,再配合 SLANet 输出结构化 Excel; - 票据/证照关键信息抽取:直接选用
VI-LayoutXLM的 SER + RE 组合(Hmean 分别 93.19% / 83.92%),票据类数据可参考 SDMGR 方案(86.70%)。
所有模型的推理模型均可直接下载解压后,通过配置layout_model_dir、table_model_dir、det_model_dir、rec_model_dir、ser_model_dir等字段接入 predict_system.py 推理入口;如需训练或微调,可分别参考 train_layout.md、train_table.md 与 train_kie.md。完整参数说明见 quick_start.md 的"参数说明"一节(含layout_score_threshold、layout_nms_threshold、table_max_len、merge_no_span_structure等默认值)。
【免费下载链接】PaddleOCRTurn any PDF or image document into structured data for your AI. A powerful, lightweight OCR toolkit that bridges the gap between images/PDFs and LLMs. Supports 100+ languages.项目地址: https://gitcode.com/GitHub_Trending/pa/PaddleOCR
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考