admin管理员组

文章数量:1565825

问题描述:

最近使用yolo识别表格,之后使用PP-structure进行表格的文本识别,并且通过save_structure_res来保存表格识别的excel信息,但是发现有些表格没有保存成excel,只生成了res_0.txt,打开res_0.txt发现type='figure'。

原因:

因为PP-Structure会进行版面分析,PP-Structure默认的版面分析模型会识别多种类型,人类所认为的表格机器不一定会识别成表格。

解决办法:

1、替换PP-Structure的版面分析模型为表格识别模型。

table_name = file.split(".")[0]
save_folder = table_folder_path
img = cv2.imread(table_path)
result = table_engine(img)
# 保存 OCR 结果
save_structure_res(result, save_folder, table_name)
table_engine = PPStructure(
    use_gpu=False,
    show_log=True,
    lang='ch',
    layout_model_dir='new_model/layout/picodet_lcnet_x1_0_fgd_layout_table_infer',
    layout_url='new_model/layout/layout_table_dict.txt',
)

替换layout_model_dir为picodet_lcnet_x1_0_fgd_layout_table_infer模型,下载路径为:

https://gitee/paddlepaddle/PaddleOCR/blob/release/2.7/ppstructure/docs/models_list.md

layout_url为layout_table_dict.txt,下载路径为:

https://gitee/paddlepaddle/PaddleOCR/blob/release/2.7/ppocr/utils/dict/layout_dict/layout_table_dict.txt
2、进行完上述步骤后发现所有表格都没有保存excel,还需要修改predict_system.py,我的是在以下路径:

修改第127行table为text

修改第201行table为text

这样就会发现所有的表格都保存了excel。我猜测可能会有些表格识别不出来,暂时未遇到(这是因为我提前使用了yolo进行了表格识别)

本文标签: 表格StructurePPsavestructureresExcel