paddle的版面分析的环境搭建及使用

2024-03-12 08:20

本文主要是介绍paddle的版面分析的环境搭建及使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、什么是版面分析

版面分析技术,主要是对图片形式的文档进行版面分析,将文档划分为文字、标题、表格、图片以及列表5类区域,如下图所示:

二、应用场景

2.1 合同比对

2.2 文本类型划分

2.3 通用文档的还原

版面分析技术可将以word、pdf、图片等非结构化文档存储的信息还原为半结构化的电子数据,是非结构化文档信息利用首要任务。

三、paddle的版面分析 

3.1 快速体验 

 参考网址链接

https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.7/ppstructure/docs/quickstart.md

环境搭建:

1)安装paddlepaddle

python3 -m pip install paddlepaddle-gpu -i https://mirror.baidu.com/pypi/simple【GPU版本】

python3 -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple【CPU版本】

2) 安装 paddleocr,推荐使用2.6版本
pip3 install "paddleocr>=2.6.0.3"

# 安装 图像方向分类依赖包paddleclas(如不需要图像方向分类功能,可跳过)
pip3 install paddleclas>=2.4.3

 运行命令:

1)图像方向分类+版面分析+表格识别

paddleocr --image_dir=ppstructure/docs/table/1.png --type=structure --image_orientation=true

2) 版面分析+表格识别

paddleocr --image_dir=ppstructure/docs/table/1.png --type=structure

3)版面分析

paddleocr --image_dir=ppstructure/docs/table/1.png --type=structure --table=false --ocr=false

4)表格识别

paddleocr --image_dir=ppstructure/docs/table/table.jpg --type=structure --layout=false

5)版面恢复(作用将PDF的文档转换成通用(word)文档)

仅仅处理pdf文档

paddleocr --image_dir=ppstructure/recovery/UnrealText.pdf --type=structure --recovery=true --use_pdf2docx_api=true

3.2 源码程序实现

1) 安装PaddlePaddle

环境搭建

python3 -m pip install --upgrade pip

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

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

2)安装PaddleDetection

git clone https://github.com/PaddlePaddle/PaddleDetection.git

cd PaddleDetection
python3 -m pip install -r requirements.txt

需要自己训练数据集的,可以参考链接的攻略:

PaddleOCR/ppstructure/layout/README_ch.md at release/2.7 · PaddlePaddle/PaddleOCR · GitHub

预训练模型或者预测模型下载的官方网址为:

 PaddleOCR/ppstructure/docs/models_list.md at release/2.7 · PaddlePaddle/PaddleOCR · GitHub 

 

使用源码测试的命令,更换weights模型路径:

python3 tools/infer.py \-c configs/picodet/legacy_model/application/layout_analysis/picodet_lcnet_x1_0_layout.yml \--slim_config configs/picodet/legacy_model/application/layout_analysis/picodet_lcnet_x2_5_layout.yml \-o weights='output/picodet_lcnet_x2_5_layout/best_model.pdparams' \--infer_img='docs/images/layout.jpg' \--output_dir=output_dir/ \--draw_threshold=0.5

直接使用推理模型进行预测:

python3 deploy/python/infer.py \--model_dir=output_inference/picodet_lcnet_x1_0_layout/ \--image_file=docs/images/layout.jpg \--device=GPU

 备注:一些推理模型下载后,没有对应的yaml文件,会导致执行上面的指令出错,所以在运行上面的命令的时候,将下载的模型看看是否有对应的yaml文件。

这篇关于paddle的版面分析的环境搭建及使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/800667

相关文章

Java使用ANTLR4对Lua脚本语法校验详解

《Java使用ANTLR4对Lua脚本语法校验详解》ANTLR是一个强大的解析器生成器,用于读取、处理、执行或翻译结构化文本或二进制文件,下面就跟随小编一起看看Java如何使用ANTLR4对Lua脚本... 目录什么是ANTLR?第一个例子ANTLR4 的工作流程Lua脚本语法校验准备一个Lua Gramm

Java字符串操作技巧之语法、示例与应用场景分析

《Java字符串操作技巧之语法、示例与应用场景分析》在Java算法题和日常开发中,字符串处理是必备的核心技能,本文全面梳理Java中字符串的常用操作语法,结合代码示例、应用场景和避坑指南,可快速掌握字... 目录引言1. 基础操作1.1 创建字符串1.2 获取长度1.3 访问字符2. 字符串处理2.1 子字

Java Optional的使用技巧与最佳实践

《JavaOptional的使用技巧与最佳实践》在Java中,Optional是用于优雅处理null的容器类,其核心目标是显式提醒开发者处理空值场景,避免NullPointerExce... 目录一、Optional 的核心用途二、使用技巧与最佳实践三、常见误区与反模式四、替代方案与扩展五、总结在 Java

使用Java将DOCX文档解析为Markdown文档的代码实现

《使用Java将DOCX文档解析为Markdown文档的代码实现》在现代文档处理中,Markdown(MD)因其简洁的语法和良好的可读性,逐渐成为开发者、技术写作者和内容创作者的首选格式,然而,许多文... 目录引言1. 工具和库介绍2. 安装依赖库3. 使用Apache POI解析DOCX文档4. 将解析

Qt中QUndoView控件的具体使用

《Qt中QUndoView控件的具体使用》QUndoView是Qt框架中用于可视化显示QUndoStack内容的控件,本文主要介绍了Qt中QUndoView控件的具体使用,具有一定的参考价值,感兴趣的... 目录引言一、QUndoView 的用途二、工作原理三、 如何与 QUnDOStack 配合使用四、自

C++使用printf语句实现进制转换的示例代码

《C++使用printf语句实现进制转换的示例代码》在C语言中,printf函数可以直接实现部分进制转换功能,通过格式说明符(formatspecifier)快速输出不同进制的数值,下面给大家分享C+... 目录一、printf 原生支持的进制转换1. 十进制、八进制、十六进制转换2. 显示进制前缀3. 指

使用Python构建一个Hexo博客发布工具

《使用Python构建一个Hexo博客发布工具》虽然Hexo的命令行工具非常强大,但对于日常的博客撰写和发布过程,我总觉得缺少一个直观的图形界面来简化操作,下面我们就来看看如何使用Python构建一个... 目录引言Hexo博客系统简介设计需求技术选择代码实现主框架界面设计核心功能实现1. 发布文章2. 加

Python如何自动生成环境依赖包requirements

《Python如何自动生成环境依赖包requirements》:本文主要介绍Python如何自动生成环境依赖包requirements问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录生成当前 python 环境 安装的所有依赖包1、命令2、常见问题只生成当前 项目 的所有依赖包1、

shell编程之函数与数组的使用详解

《shell编程之函数与数组的使用详解》:本文主要介绍shell编程之函数与数组的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录shell函数函数的用法俩个数求和系统资源监控并报警函数函数变量的作用范围函数的参数递归函数shell数组获取数组的长度读取某下的

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t