百度飞浆Paddle OCR检测和识别【OCR数据收集、标注、数据集划分、检测识别模型训练、导出模型】

文章目录


前言

1、我的电脑没有GPU,如果不使用AI Studio训练的话,第一遍我是按照CPU进行环境配置和训练的,可以参考这篇文章,我按着弄了一遍,可以使用的。

2、使用AI Studio平台进行数据GPU训练,每天都可以领到可以使用的点数,作为零氪用户也可以使用A100训练,完全够用的。Ai Studio进行训练方便简单快捷,不需要配置复杂的环境,或者解决各种离谱的代码报错。本文使用Ai Studio进行训练的。


提示:Paddle OCR分为两部分:检测【det】和识别【rec】,需要分别进行训练,然后拿到训练结果还需要生成模型,Paddle版本最好2.5.2的,使用2.6.1的导出的模型没办法供后续开发使用

一、OCR数据集采集

图片大小不影响训练,将图片进行采集。

二、OCR数据标注

tools文件地址:提取码:umys

1、解压并安装tools文件下的miniconda,建议安装在D盘下的某个目录中,【C盘权限问题比较多后续会麻烦】

安装完成之后,检查 我的电脑-》属性-》高级系统变量-》path中是否有下框标红路径,没有的话需要加上【你自己的安装路径】,我的安装路径在D:\miniconda3,示例:

2、拿到tools文件夹下的.condarc 文件放在"C:\Users\XXX"下【XXX是你的本机用户名】,【我的用户名为29162】示例:

3、在最近安装找到anaconda prompt,【没找到可以在搜索框搜索】右键管理员身份打开。

①输入 conda create -n OCRTest python=3.8 【这个命令是创建了个环境,其中OCRTest是新取的环境名,这里取名以OCRTest为例】


输入"y"

显示到这里说明新环境创建成功

②把tools文件下的PaddleOCR-dygraph.zip解压,可以放到你自己的路径下,【我的路径是D:\BaiduNetdiskDownload\PaddleOCR-dygraph\PaddleOCR-dygraph,并以这个路径为例】

③在刚刚的Anaconda窗口中输入

conda activate OCRTest 【命令行前面的base变为OCRTest说明环境激活成功】

d:

cd D:\BaiduNetdiskDownload\PaddleOCR-dygraph\PaddleOCR-dygraph\PPOCRLabel 【注意,是进入到了PPOCRLabel路径下了】

④输入以下命令 【请按照截图中的步骤进行安装和运行,指令贴在下面了,方便粘贴使用】



此处贴上上面用到的指令,方便粘贴使用

c 复制代码
conda install paddlepaddle==2.6.1 --channel https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/win-64   
python PPOCRLabel.py
pip install xlrd
python PPOCRLabel.py
pip install PyQt5

如果遇到Proceed ([y]/n)?   直接输入y
如果遇到paddle报错,请输入:
conda install paddlepaddle==2.6.1 --channel https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/win-64  
如果遇到cv2报错,请输入
cd ..
pip install -r requirements.txt
如果报错OMP: Error #15: Initializing libiomp5md.dll
set KMP_DUPLICATE_LIB_OK=TRUE

⑤至此,标注软件成功安装并打开啦!!!

解压xunlianji,并在标注软件界面选择 文件-》打开目录-》①选择你刚刚解压完的图片所在文件夹路径,②文件-》自动导出标记结果,界面如下,快捷键信息如下【常用快捷键w是新建标注框,d是切换下一张】。


手动缩小识别框,确保数字全部被识别框包裹。

自动标注会有一些错误,我们需要的仅仅是正确的号码牌数字

以下是几类错误,需要手动修改,每次手动修改识别结果后需要按下回车键。

1、多了英文符号的,需要在右侧红色框框里去掉英文符号

全部标注完成后,依次点击"文件"下的导出Label,导出recLabel按钮。最后生成的文件如下:

还有生成了文件夹,用于rec识别:


三、划分数据集

把图片和标注数据按照Label.txt文件以8:1:1【6:2:2也行,具体按照实验要求来】划分,手动或者编码划分,划分后的结果如下:

四、数据训练

数据训练分为det检测训练和rec识别训练,paddle 2.5.2的环境,在Ai Studio训练。

1、det的训练:
det训练地址

算力点每日运行获取,使用GPU训练

依次点击pip安装,最后点击运行,启动环境成功



训练完成后在AIstudio查看推理效果,下载模型文件。

2、rec训练

训练网址:rec训练地址

依次pip后点击运行

上传数据集后开始训练和推理,步骤同det

注:rec的数据集是前面标注生成的检测数据集:

五、导出模型

从AI Studio下载下来的模型文件为


需要使用如下命令进行导出【按照自己的路径进行修改,第一个路径是你从AIStudio下载下来的需要进行模型转换的路径,model是文件名;第二个路径是你想导出到的路径】:

det生成模型:

c 复制代码
python tools/export_model.py -c configs/det/ch_PP-OCRv4/ch_PP-OCRv4_det_teacher.yml -o Global.checkpoints=./output/ch_PP-OCRv4/det_best_model/model Global.save_inference_dir=./output/db_lqq_infer/det_model

rec生成模型:

c 复制代码
python tools/export_model.py -c configs/rec/ch_PP-OCRv4/ch_PP-OCRv4_rec.yml -o Global.checkpoints=./output/ch_PP-OCRv4/det_best_model/model Global.save_inference_dir=./output/db_lqq_infer/rec_model

最后生成的模型文件det和rec格式均为:

相关推荐
IT闫15 小时前
使用微信小程序调用飞桨PaddleX平台自行训练的模型——微信小程序用训练的牡丹花模型Demo测试
人工智能·paddlepaddle
明湖起风了3 天前
springBoot整合 Tess4J实现OCR识别文字(图片+PDF)
spring boot·pdf·ocr
lrlianmengba4 天前
推荐一款功能强大的光学识别OCR软件:Readiris Dyslexic
ocr
FreeLikeTheWind.4 天前
OCRSpace申请free api流程
ocr
慕容复之巅4 天前
基于一种基于OCR图像识别技术的发票采集管理系统及方法
图像处理·matlab·ocr
紫郢剑侠5 天前
小试银河麒麟系统OCR软件
linux·windows·ocr·银河麒麟系统·文字提取
机器白学5 天前
【论文精读】GOT-OCR2.0源码论文——打破传统OCR流程的多模态视觉-语言大模型架构:预训练VitDet 视觉模型+ 阿里通义千问Qwen语言模型
ocr·论文精读
机器白学5 天前
从零开始使用GOT-OCR2.0——多模态通用型OCR(非常具有潜力的开源OCR项目):项目环境安装配置 + 测试使用
ocr·transformer·多模态·视觉语言大模型
算力魔方AIPC6 天前
在Ubuntu 24.04 LTS上安装飞桨PaddleX
linux·ubuntu·paddlepaddle
李楷杰7 天前
PaddlePaddle 开源产业级文档印章识别PaddleX-Pipeline “seal_recognition”模型 开箱即用篇(一)
人工智能·python·开源·ocr·paddlepaddle·印章识别