百度飞浆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格式均为:

相关推荐
VB.Net4 小时前
EmguCV学习笔记 VB.Net 12.3 OCR
opencv·计算机视觉·c#·ocr·图像·vb.net·emgucv
VB.Net5 小时前
EmguCV学习笔记 C# 12.3 OCR
opencv·计算机视觉·c#·ocr·vb.net·emgucv
翔云API1 天前
人证合一接口:智能化身份认证的最佳选择
大数据·开发语言·node.js·ocr·php
翔云API1 天前
身份证识别接口的应用场景和作用
运维·服务器·开发语言·自动化·ocr
豆浩宇1 天前
Halcon OCR检测 免训练版
c++·人工智能·opencv·算法·计算机视觉·ocr
转身之后才不会1 天前
OCR两篇革命之作
ocr
bjzhang751 天前
SpringBoot开发——集成Tess4j实现OCR图像文字识别
spring boot·ocr·tess4j
六个核桃Lu2 天前
图像处理与OCR识别的实践经验(2)
图像处理·人工智能·python·opencv·ocr
virtaitech3 天前
OrionX GPU算力池助力AI OCR场景应用
人工智能·ai·ocr·gpu算力·ai算力资源池化