PaddleOCR/ppstructure/recovery/README_ch.md

5.0 KiB
Raw Blame History

English | 简体中文

版面恢复使用说明

1. 简介

版面恢复就是在OCR识别后内容仍然像原文档图片那样排列着段落不变、顺序不变的输出到word文档中等。

版面恢复结合了版面分析表格识别技术从而更好地恢复图片、表格、标题等内容支持pdf文档、文档图片格式的输入文件下图展示了版面恢复的结果

2. 安装

2.1 安装依赖

  • 1) 安装PaddlePaddle
python3 -m pip install --upgrade pip

# GPU安装
python3 -m pip install "paddlepaddle-gpu" -i https://mirror.baidu.com/pypi/simple

# CPU安装
python3 -m pip install "paddlepaddle" -i https://mirror.baidu.com/pypi/simple

更多需求,请参照安装文档中的说明进行操作。

2.2 安装PaddleOCR

  • 1下载版面恢复源码
【推荐】git clone https://github.com/PaddlePaddle/PaddleOCR

# 如果因为网络问题无法pull成功也可选择使用码云上的托管
git clone https://gitee.com/paddlepaddle/PaddleOCR

# 注码云托管代码可能无法实时同步本github项目更新存在3~5天延时请优先使用推荐方式。
  • 2安装recovery的requirements
python3 -m pip install -r ppstructure/recovery/requirements.txt

3. 使用

3.1 下载模型

如果输入为英文文档类型,下载英文模型

cd PaddleOCR/ppstructure

# 下载模型
mkdir inference && cd inference
# 下载英文超轻量PP-OCRv3检测模型并解压
wget https://paddleocr.bj.bcebos.com/PP-OCRv3/english/en_PP-OCRv3_det_infer.tar && tar xf en_PP-OCRv3_det_infer.tar
# 下载英文超轻量PP-OCRv3识别模型并解压
wget https://paddleocr.bj.bcebos.com/PP-OCRv3/english/en_PP-OCRv3_rec_infer.tar && tar xf en_PP-OCRv3_rec_infer.tar
# 下载英文表格识别模型并解压
wget https://paddleocr.bj.bcebos.com/ppstructure/models/slanet/en_ppstructure_mobile_v2.0_SLANet_infer.tar && tar xf en_ppstructure_mobile_v2.0_SLANet_infer.tar
# 下载英文版面分析模型
wget https://paddleocr.bj.bcebos.com/ppstructure/models/layout/picodet_lcnet_x1_0_fgd_layout_infer.tar && tar xf picodet_lcnet_x1_0_fgd_layout_infer.tar
cd ..

如果输入为中文文档类型,在下述链接中下载中文模型即可:

PP-OCRv3中英文超轻量文本检测和识别模型表格识别模型版面分析模型

3.2 版面恢复

使用下载的模型恢复给定文档的版面,以英文模型为例,执行如下命令:

python3 predict_system.py \
    --image_dir=./docs/table/1.png \
    --det_model_dir=inference/en_PP-OCRv3_det_infer \
    --rec_model_dir=inference/en_PP-OCRv3_rec_infer \
    --rec_char_dict_path=../ppocr/utils/en_dict.txt \
    --table_model_dir=inference/en_ppstructure_mobile_v2.0_SLANet_infer \
    --table_char_dict_path=../ppocr/utils/dict/table_structure_dict.txt \
    --layout_model_dir=inference/picodet_lcnet_x1_0_fgd_layout_infer \
    --layout_dict_path=../ppocr/utils/dict/layout_dict/layout_publaynet_dict.txt \
    --vis_font_path=../doc/fonts/simfang.ttf \
    --recovery=True \
    --save_pdf=False \
    --output=../output/

运行完成后恢复版面的docx文档会保存到output字段指定的目录下

字段含义:

  • image_dir测试文件可以是图片、图片目录、pdf文件、pdf文件目录
  • det_model_dirOCR检测模型路径
  • rec_model_dirOCR识别模型路径
  • rec_char_dict_pathOCR识别字典如果更换为中文模型需要更改为"../ppocr/utils/ppocr_keys_v1.txt",如果您在自己的数据集上训练的模型,则更改为训练的字典的文件
  • table_model_dir表格识别模型路径
  • table_char_dict_path表格识别字典如果更换为中文模型不需要更换字典
  • layout_model_dir版面分析模型路径
  • layout_dict_path版面分析字典如果更换为中文模型需要更改为"../ppocr/utils/dict/layout_dict/layout_cdla_dict.txt"
  • recovery是否进行版面恢复默认False
  • save_pdf进行版面恢复导出docx文档的同时是否保存为pdf文件默认为False
  • output版面恢复结果保存路径