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

相关推荐
满怀冰雪14 小时前
18-训练可视化:日志、指标记录与 VisualDL 入门
人工智能·深度学习·机器学习·paddlepaddle
满怀冰雪2 天前
17-正则化方法:Dropout、权重衰减与过拟合控制
人工智能·python·深度学习·机器学习·paddlepaddle
zyplayer-doc2 天前
同一份制度别复制到多个知识库:用zyplayer-doc引用文档解决重复维护
javascript·人工智能·智能手机·开源·ocr
zyplayer-doc3 天前
核心制度不该被随手修改:用zyplayer-doc锁定文档和全部子文档
大数据·数据库·人工智能·笔记·pdf·ocr
一个王同学3 天前
从零到一 | CV转多模态大模型 | week21 | 实战项目-DocuMind-VL:基于 OCR 与 Qwen-VL 的文档多模态问答系统(一)
人工智能·深度学习·计算机视觉·ocr·vllm
Sinosecu-OCR4 天前
文通OCR技术深度解析:自研算法如何搞定复杂场景识别?
算法·ocr·ocr识别系统
AI人工智能+4 天前
一种高效、精准的不动产权证书智能识别技术,打通了物理世界与数字世界的信息壁垒
深度学习·计算机视觉·自然语言处理·ocr·不动产权证书识别
oradh4 天前
Oracle RAC OCR维护操作总结
数据库·oracle·ocr·rac ocr维护·ocr维护·vote disk
TunerT_TQ4 天前
Valhalla 静态工程审阅 #022|百度PaddlePaddle 源码证据驱动评测【大厂开源基础设施特辑】
人工智能·百度·开源·paddlepaddle·#深度学习·#飞桨
诸葛大钢铁5 天前
PDF无法复制文字怎么办?3种方法解除PDF复制限制并提取文字
pdf·ocr·pdf教程·pdf解除限制·pdf无法复制·pdf文字识别