[开源]一个发票OCR识别服务,提取发票信息,支持图片和PDF识别

科技一飞开源 2024-12-14 20:36:34

一飞开源,介绍创意、新奇、有趣、实用的开源应用、系统、软件、硬件及技术,一个探索、发现、分享、使用与互动交流的开源技术社区平台。致力于打造活力开源社区,共建开源新生态!

一、开源项目简介myocr2-invoice

发票OCR识别,实现方式使用YOLOv10提取关键位置发票信息,PaddleOCR根据提取的位置进行文字识别。 支持图片和PDF识别,主要识别了发票标题、发票代码、发票号码、开票日期、购买方名称、购买方识别号、销售方名称、销售方识别号、含税金额、不含税金额、税费信息。

二、开源协议

使用Apache-2.0开源协议

三、界面展示测试截图

经测试GPU环境下平均三百多毫秒,CPU环境下一秒左右

四、功能概述

发票OCR识别,实现方式使用YOLOv10提取关键位置发票信息,PaddleOCR根据提取的位置进行文字识别。 支持图片和PDF识别,主要识别了发票标题、发票代码、发票号码、开票日期、购买方名称、购买方识别号、销售方名称、销售方识别号、含税金额、不含税金额、税费信息。

后续

目前训练数据种类比较少,后续逐步完善。

自己训练模型

训练YOLO检测模型可以使用auto_label.py进行半自动标注,标注完成后使用PPOCRLabel打开directory变量的目录进行微调即可,调整完成后转换为yolo格式数据就可以训练啦。

五、技术选型软件架构

YOLOv10+PaddleOCR+Flask

安装教程

Python3.9环境,建议使用Anaconda管理python环境

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple安装PaddleOCR所需内容,参考https://www.paddlepaddle.org.cn/install/quick?docurl=/documentation/docs/zh/install/pip/windows-pip.html例如:2.1 cpu环境python -m pip install paddlepaddle==2.6.2 -i https://www.paddlepaddle.org.cn/packages/stable/cpu/2.2 gpu环境以英伟达显卡CUDA11.7为例python -m pip install paddlepaddle-gpu==2.6.1.post117 -f https://www.paddlepaddle.org.cn/whl/windows/mkl/avx/stable.html -i https://pypi.tuna.tsinghua.edu.cn/simplepip install paddleocr -i https://pypi.tuna.tsinghua.edu.cn/simplepython main.py 启动成功发送地址测试http://127.0.0.1:5000/invoice_ocr注意注意注意

若要商用请注意YOLOv10开源协议以及PaddleOCR开源协议,项目地址如下YOLOv10:/THU-MIG/yolov10PaddleOCR:/PaddlePaddle/PaddleOCR

六、源码地址

访问一飞开源:https://code.exmay.com/

0 阅读:0