AI人工智能:PaddleOCR CPU方式识别图片票据

NO.1
PaddleOCR简介

github地址

https://github.com/PaddlePaddle/PaddleOCR

基于PaddlePaddle的超棒多语言OCR工具包(实用的超轻量级OCR系统,支持80多种语言识别,提供数据标注和合成工具,支持在服务器、移动、嵌入式和物联网设备之间训练和部署)

最近更新版本

🔥2023.8.7 发布 PaddleOCR版本/2.7

发布PP-OCRv4,提供移动端和服务器端两种模型

PP-OCRv4-mobile:速度可比情况下,中文场景效果较PP-OCRv3再提升4.5%,中文场景提升10%,80语种多语言模型平均识别准确率提升8%以上

PP-OCRv4-server:发布了目前精度的OCR模型,中英文场景上检测模型精度提升4.9%,识别模型精度提升2%可参考快速开始一行命令快速使用,同时也可在飞桨AI套件( PaddleX)中的通用OCR产业方案中低代码完成模型训练、推理、高性能部署全流程

发布PP-ChatOCR,利用融合PP-OCR模型和文心大模型的通用场景关键信息抽取全新方案

img

参考文章

HomeLab迷你小主机(x86):Docker部署开源无纸化电子文档paperless-ngx

参考文章

<<AI人工智能:开源PaddleOCR(OCR图像识别)>>

首先部署开源电子文档,但是它内置的ocr功能不支持简体中文

然后对比了三种开源ocr效果,PaddleOCR效果最好且符合需求

本文主要是尝试PaddleOCR的搭建和使用

NO.2
PaddleOCR安装

首先建议搭建运行环境,使用Anaconda以及python3.7环境

https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.7/doc/doc_ch/environment.md#1.3

img

创建环境

conda create -n paddle_ocr_env python=3.7

进入环境

conda activate paddle_ocr_env

环境搭建好后,参考文档

https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.7/doc/doc_ch/quickstart.md

img

如果是GPU,尝试一键安装

python3 -m pip install paddlepaddle-gpu -i https://mirror.baidu.com/pypi/simple

img

安装PaddleOCR whl包

pip install "paddleocr>=2.0.1"

img

输入,验证是否安装成功

paddleocr -h

看到一堆关于paddleocr的信息,说明安装成功

img

NO.3
PaddleOCR使用

便捷使用文档

https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.7/doc/doc_ch/quickstart.md#2

下载测试图片

img

解压后的测试图片

img

本文还是把之前的深圳国际车展票据用来试一试

img

没有加其他参数,执行命令

会下载依赖,但是识别报错

paddleocr --image_dir ./images/test.png

img

错误提示

RuntimeError: (PreconditionNotMet) Cannot load cudnn shared library. Cannot invoke method cudnnGetVersion.
[Hint: cudnn_dso_handle should not be null.] (at ../paddle/phi/backends/dynload/cudnn.cc:64)

这个错误是因为PaddlePaddle在运行时无法加载cudnn共享库。这可能是因为cudnn库没有被正确地安装,或者它的路径没有被添加到环境变量中

检查cudnn是否已经安装:你可以在终端运行nvcc -V和nvidia-smi来检查CUDA和显卡驱动是否已经正确安装

两个命令都检测了

但是是CUDA Version: 12.2

img

检测cuDNN是否被正确安装

终端运行

如果cuDNN已经被正确安装,那么这个命令会输出 libcudnn is installed

function lib_installed () {
/sbin/ldconfig -N -v $(sed 's/:/ /' <<< $LD_LIBRARY_PATH) 2>/dev/null | grep $1;
}
function check () {
lib_installed $1 && echo "$1 is installed" || echo "ERROR: $1 is NOT installed";
}
check libcudnn

验证已安装成功

img

本文的CUDA12.2和CUDNN 8.9.4

和文档上的对不上,所以放弃GPU

img

NO.4
cpu

安装cpu版本

python3 -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple

加上参数,不使用GPU

paddleocr --image_dir ./images/test.png --use_angle_cls true --use_gpu false

可以看到已正常解析了数据

速度还行

img

放一张效果图

img

官方也提供了python脚本识别

https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.7/doc/doc_ch/quickstart.md#22

img

意味着可以开发为程序提供API或者自动化

img

NO.5
Tips

这意味着可以把对应的ocr结合paperless-ngx电子文档使用

且离线可用,免费自部署

后期再酌情尝试放在树莓派上更轻量的设备看看运行支持和速度等

END.

觉得本文还行,不妨顺手点赞收藏,下期见。

​推荐阅读

<<HomeLab迷你小主机(x86):Docker部署开源个人财务记账应用firefly-iii>>

<<HomeLab迷你小主机(x86):Docker部署开源Chrome浏览器(在容器中)chrome-novnc>>

<<HomeLab迷你小主机(x86):Docker部署开源机器翻译LibreTranslate>>

☕ 朋友,都看到这了,确定不关注一下么? 👇