究极全面炼丹教程,使用PaddleOCR并自己训练模型,太上老君看了都说好

筅森魡賤 提交于 2021-01-25 11:05:29


ps:为方便读者文章中需要用到的文件均使用我的网盘分享下载,同时也会给出官网下载地址

前言______PaddleOcr的安装与准备工作

1.PaddleOcr相关组件安装我在上一个博客中已经介绍完毕→ PaddleOcr安装与使用全程指南 ←点击跳转
2.下载PaddleOcr官方文件包,
https://kyc592.lanzous.com/i5C7Gkojm7c 密码:kyc

或官网下载地址:https://gitee.com/paddlepaddle/PaddleOCR
paddleocr

然后解压到项目文件夹的根目录下。
完成准备工作
一定确保按照前一篇博客操作完毕,Paddleocr可以正常运行,尽量减少待会出现的极 其 繁 重的debug工作。
至此完成准备工作。


资料准备

训练自己的模型,需要的资料有:
①训练用的图片集 ②测试用的图片集 ③前面两个图片集配套的标注文件 ④预训练模型

1. 下载icdar2015图片集

演示采用的 ①训练用的图片集 ②测试用的图片集 ③前面两个图片集配套的标注文件 采用的均是来自现成的 icdar2015数据集,若有意自己搜集图片集和生成配套标注文件 点击跳转至→ * 如何制作自己的数据集?

先进行一下两个图片集的下载,
ch4_training_images.zip 是icdar2015数据集的训练图片集,共1000张
https://kyc592.lanzous.com/iKdkQkpytcf 密码:kyc
ch4 _test_images.zip 是icdar2015数据集的测试图片集,共500张
https://kyc592.lanzous.com/isNpFkpzb5g 密码:kyc



注意两个图片集千万不要用错了


或 官网下载地址:https://rrc.cvc.uab.es/?ch=4&com=downloads,需要先进行注册登录才可下载。
2015数据集

2. 下载icdar2015数据集配套的标注文件

train_icdar2015_label.txt 是训练集的配套标注文件:
https://kyc592.lanzous.com/i9aPSkpzp1g 密码:kyc
test_icdar2015_label.txt 是测试集的配套标注文件:
https://kyc592.lanzous.com/i72mHkpzp0f 密码:kyc


注意两个标注文件千万不要用错了


或 官方下载地址:
训练集的配套标注文件:https://paddleocr.bj.bcebos.com/dataset/train_icdar2015_label.txt
测试集的配套标注文件:
https://paddleocr.bj.bcebos.com/dataset/test_icdar2015_label.txt



3.组织数据集路径

【建议以下所有的路径均写绝对路径】

将第一步中下载的两个图片集解压出来,与第二步中下载的配套标注文件
按照图片中的方式存放到train_data文件夹中。(共两个文件夹,两个文档)路径

4.下载预训练模型

PaddleOCR的检测模型当前支持3个主干,即MobileNetV3,ResNet18_vd和ResNet50_vd,可以根据需要使用PaddleClas中的模型替换主干。

相关资料:
MobileNet
针对亟需在移动端应用深度学习技术的需求,MobileNet在存储空间和能耗低的地方表现优秀,在损失精度很小的情况下,计算量,存储空间,准确率方面都有明显提升。

ResNet 系列模型
ResNet创新性的提出了残差结构,一举在ILSVRC2015比赛中取得冠军,top5错误率为3.57%。斯坦福大学的Joyce
Xu将ResNet称为「真正重新定义了我们看待神经网络的方式」的三大架构之一。

官方下载地址:

MobileNetV3预训练模型:
https://paddle-imagenet-models-name.bj.bcebos.com/MobileNetV3_large_x0_5_pretrained.tar

ResNet18_vd预训练模型:
https://paddle-imagenet-models-name.bj.bcebos.com/ResNet18_vd_pretrained.tar

ResNet50_vd预训练模型:
https://paddle-imagenet-models-name.bj.bcebos.com/ResNet50_vd_ssld_pretrained.tar

打开链接即弹出下载请求。
这里演示使用的是ResNet50_vd预训练模型。

5.组织预训练模型路径

新建一个pretain_models文件夹,将下载的预训练模型解压进来。路径
在config/det文件夹下找到det_mv3_db_v1.1.yml文件,只需要将“pretrain
_weights”指定为前面获取的预训练模型路径。
原
我的为 D:\PO\pretain_models\ResNet50_vd_ssld_pretrained
修改后




6.修改配置文件

①在tools文件夹中找到program.py脚本打开,找到class ArgsParser构造函数
修改参数
然后将图中箭头指向的那一行,光标处添加一句代码

default = "D:\PO\configs\det\det_mv3_db_v1.1.yml",

修改为
修改代码
注意文件路径根据自己的电脑填写正确。

注意相对路径填写规则
“./ ”表示同级目录,
“../”表示上级目录,
“../../”表示上上级目录,
(以运行的.py文件为当前路径)

② 在config/det文件夹下找到det_db_icdar15_reader.yml文件打开,(pycharm或者Typora之类的软件都可以打开)yml文件
修改
将这四行根据自己的电脑修改正确。
四行依次为 训练图片集的路径、训练图片集配套的标注文件路径、测试图片集的路径、测试图片集配套的标注文件路径。
修改完成



修改完毕。

设置完成,开始训练

到了紧张刺激的DEBUG环节才对

运行tools文件夹中的train.py脚本。
Q1:无法附加测试报告到测试框架
无法附加测试报告到测试框架

A1:不使用pytest打开,使用普通方式打开
选择右上角这个地方,点击编辑配置 / Edit configurations…编辑配置
点击减号移除当前配置移除
然后点击加号点击Python添加
修改为文件名和文件所在路径,确定保存计即可正常运行。修改
Q2:提示缺少文件FileNotFoundError: [Errno 2] No such file or directory: ‘./configs/det/det_db_icdar15_reader.yml’缺少文件
A2:是因为 ./ 是在同级文件夹下寻找该文件,索性直接把全部configs文件夹复制到此脚本所在的tools文件夹里一份,他们俩就是同级路径了复制
类似问题同样采取此方法,将缺少的文件夹复制到tools文件夹。






Q3:提示无gpu。ERROR: Config use_gpu cannot be set as true while you are using paddlepaddle cpu version ! 无gpu
A3:使用cpu训练模型的话,则索性将tools/configs文件夹中所有文件有use_gpu: 这一行代码的语句的,全部修改为false,根目录中的configs文件夹同样操作。修改完成
Q4:提示训练图片集不存在 2021-01-23 14:10:54,107-INFO: D:\PO\train_data\ch4_training_imagesicdar_c4_train_imgs/img_999.jpg does not exist!不存在
A5:很容易发现是因为存放图片的文件夹名不一致,修改一下即可。
1
2
Q6:突然cpu与内存占用比最近某圈的瓜还爆炸
1
运行结果是这个样子
2








A6:学习炼丹基本成功。关掉程序换个好电脑跑。

如何制作自己的数据集?

使用PPOCRLabel文件夹中的PPOCRLabel.py脚本(先确保安装了pyqt5)
PPOCRLabel官网:https://gitee.com/computer-vision/PaddleOCR/blob/develop/PPOCRLabel/README.md脚本
运行后弹出这个窗口窗口
在菜单栏点击 “文件file” - “打开目录open dir” 选择待标记图片的文件夹
打开文件夹
菜单栏中的PaddleOCR ,点击 ”自动标注auto recognition“,使用PPOCR超轻量模型对图片文件名前图片状态为 “✖” 的图片进行自动标注。
自动标注
等待标注完成。
ing
然后点击右下角的Check,图片前面的 X 就会变成 √ (借助鼠标宏或者连点器)
保存
此时再点击file,点击save label,即可在弹出的提示的路径中找到自己的标注文件标注
1











模型评估与模型检查

等等再更新…


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!