IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> Python 利用飞桨OCR、layoutparser、TensorFlow对票据进行表格检测和识别 -> 正文阅读

[人工智能]Python 利用飞桨OCR、layoutparser、TensorFlow对票据进行表格检测和识别

draft-detect

运行环境:

Windows10 系统 6核6线程 16G内存

基于 Python3.8 版本 vitualenv 虚拟环境

1、安装依赖

先创建虚拟环境,基于Python3.8,然后激活虚拟环境。

安装 requirements 中的依赖项

pip install -r requirements.txt

安装版面分析的特定库,注意:只能安装这个库,其他版本的库会有问题

pip install -U https://paddleocr.bj.bcebos.com/whl/layoutparser-0.0.0-py3-none-any.whl

2、解析流程

1、相关服务

? api_server 接口服务,用于外部上传票面进行票据识别,并返回识别内容。

? slice_table 用于将票据进行分类,将表格数据和票号等数据分隔开来。

? table_ceil 用于将表格识别并解析为Excel,此时可以根据表格解析为结构化数据。

? ocr_dect 用于识别图像中的文本,并输出文字到指定位置。主要是识别票号数据和表格中的数据。

? focus_draft 票据数据聚合服务,用于将所有的到的数据聚合成一个整体的票据结构化数据。

2、识别流程

? 1、由 web 服务接收图像。

? 2、使用 slice_table 做版面分析,拆出表格部分、票号部分。

? 3、分别识别票号部分和表格部分,最后做合并,尝试了多线程和多进程分开异步识别,由于是计算密集型反而识别时间增加了。

? 4、使用聚合服务将数据聚合成一个整体的票据结构化数据。

? 5、由 web 接口返回结果。

3、相关模型

inference/ch_PP-OCRv2_det_infer 飞桨OCR文本识别模型

inference/ch_PP-OCRv2_rec_infer 飞桨OCR文本检测模型

inference/ch_ppocr_mobile_v2.0_cls_infer 飞桨OCR文本方向分类模型

models/table-line-fine-last.h5 基于 TensorFlow 的表格检测模型

slice_table.py 中的 lp://TableBank/ppyolov2_r50vd_dcn_365e_tableBank_latex/config 基于 layoutparser 的版面分析模型

3、启动服务

python api_server.py

4、测试服务

接口地址:http://127.0.0.1:8080/table/predict

请求方式:POST

请求参数:form-data 传参

  • file 要识别的票据图像
  • isToExcel 是否输出识别后的 Excel,1 表示 是,否则为 否。保存位置为 ceil-result
  • isToCeil 是否输出识别后的表格框图片,1 表示 是,否则为 否。保存位置为 excel-result

请求示例:
在这里插入图片描述

传入的图像:

在这里插入图片描述

识别的框:

在这里插入图片描述

识别的表格:

在这里插入图片描述

5、表格如何打标

表格打标使用 labelme 工具,官方地址:https://github.com/wkentaro/labelme

1、安装labelme

pip install labelme==5.0.1

安装完成后还需要修改源码保证工具可以打标png类型的图像

修改如下:

在这里插入图片描述

2、使用labelme进行打标

使用命令启动 labelme,打开终端,输入 labelme 按下回车键即可。

在这里插入图片描述

打完一张标注后,点击完成即可保存为可训练标注文件。

3、如何训练

将所有标注好的文件放入到 ./train/dataset-line/0/ 中

然后执行训练脚本,等待训练完成后,会将新的模型保存为 ./models/table-line-fine.h5

python train/train.py

4、使用新的模型进行预测

将配置文件 config.py 中的 tableModeLinePath 修改为新的模型路径即可。

启动服务后进行测试即可

python api_server.py
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-05-05 11:19:11  更:2022-05-05 11:24:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 7:49:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码