前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >机器视觉基础之PP-Structure入门

机器视觉基础之PP-Structure入门

作者头像
Zeal
发布2023-01-11 13:55:34
2.3K0
发布2023-01-11 13:55:34
举报
文章被收录于专栏:Hyperledger实践Hyperledger实践

PaddleOCR下的PP-Structure一般用于文档图片的版面分析、表格识别等理解工作, 通俗些说就是自动帮助识别图片哪些部分是图片分组, 哪些是文字, 哪些是表格等, 且提取出里面的文字和图片内容。

表格内容识别在不少业务场景,例如表格形态的机打单据,证件都有较好的识别率和应用场景。这里我们着重关注于表格内容识别,图片关键信息提取后续补充。

1.依赖安装

代码语言:javascript
复制
pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple
pip install "paddleocr>=2.6.0.3" -i https://mirror.baidu.com/pypi/simple
pip install paddleclas>=2.4.3 -i https://mirror.baidu.com/pypi/simple

2.官方例子

具体的图片素材可以在 https://gitee.com/paddlepaddle/PaddleOCR/tree/release/2.6/ppstructure 下载

代码语言:javascript
复制
import os
import cv2
from paddleocr import PPStructure, draw_structure_result, save_structure_res

table_engine = PPStructure(show_log=True)
save_folder = './output'
img_path = './doc/table/table.jpg'
img = cv2.imread(img_path)
# result = table_engine(img, True)
result = table_engine(img)
save_structure_res(result, save_folder, os.path.basename(img_path).split('.')[0])

for line in result:
    line.pop('img')
    print(line)

table.jpg原始内容:

当前目录输出./output/table/[6, 0, 365, 289]_0.xlsx和日志res_0.txt, 合适的表格图片识别率还是高的。

解析API就简单一个PPStructure, 我们从日志文件可以对应到返回的result字典数据结构。

字段

说明

type

图片区域的类型

bbox

图片区域的在原图的坐标,分别[左上角x,左上角y,右下角x,右下角y]

res

图片区域的OCR或表格识别结果。表格: 一个dict,字段说明如下html: 表格的HTML字符串,在代码使用模式下,前向传入return_ocr_result_in_table=True可以拿到表格中每个文本的检测识别结果,对应为如下字段:boxes: 文本检测坐标 rec_res: 文本识别结果。OCR: 一个包含各个单行文字的检测坐标和识别结果的元组

result里面的结果默认只有html, 不大实用,一般是建议直接解析对应的type=table的excel文件, 虽然可以支持设置return_ocr_result_in_table=True返回解析内容到rec_res, 但rec_res结构化是数组, 难对应表格内容, 并且经过测试有bug.

代码语言:javascript
复制
result = table_engine(img, True)

即设置return_ocr_result_in_table=True, 就不能调用save_structure_res, 有个JSON DUMP的错误, 具体的issue已提交到 https://github.com/PaddlePaddle/PaddleOCR/issues/8611 效率很高一早就修复了。

3.总结

最后还有不少的可调参数, 可定制化需要多去摸索。

字段

说明

默认值

output

结果保存地址

./output/table

table_max_len

表格结构模型预测时,图像的长边resize尺度

488

table_model_dir

表格结构模型 inference 模型地址

None

table_char_dict_path

表格结构模型所用字典地址

../ppocr/utils/dict/table_structure_dict.txt

merge_no_span_structure

表格识别模型中,是否对’‘和’’ 进行合并

False

layout_model_dir

版面分析模型 inference 模型地址

None

layout_dict_path

版面分析模型字典

../ppocr/utils/dict/layout_publaynet_dict.txt

layout_score_threshold

版面分析模型检测框阈值

0.5

layout_nms_threshold

版面分析模型nms阈值

0.5

kie_algorithm

kie模型算法

LayoutXLM

ser_model_dir

ser模型 inference 模型地址

None

ser_dict_path

ser模型字典

../train_data/XFUND/class_list_xfun.txt

mode

structure or kie

structure

image_orientation

前向中是否执行图像方向分类

False

layout

前向中是否执行版面分析

True

table

前向中是否执行表格识别

True

ocr

对于版面分析中的非表格区域,是否执行ocr。当layout为False时会被自动设置为False

True

recovery

前向中是否执行版面恢复

False

save_pdf

版面恢复导出docx文件的同时,是否导出pdf文件

False

structure_version

模型版本,可选 PP-structure和PP-structurev2

PP-structure

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-12-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Hyperledger实践 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.依赖安装
  • 2.官方例子
  • 3.总结
相关产品与服务
内容识别
内容识别(Content Recognition,CR)是腾讯云数据万象推出的对图片内容进行识别、理解的服务,集成腾讯云 AI 的多种强大功能,对存储在腾讯云对象存储 COS 的数据提供图片标签、图片修复、二维码识别、语音识别、质量评估等增值服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档