上一篇安装https://blog.csdn.net/weixin_42845306/article/details/112688405
飞桨的OCR模型分为检测、识别和分类,先看检测。
检测就是将(可能的)文本标定好坐标,简单说就是给图中的文本画框。

数据集制作及图片标注

首先制作训练集,找很多带文字的图片,放在一个文件夹里(这里叫img_50),注意图片的名字。
虽说可以任意,但最好还是得有规律。
然后是标定标签,方法有很多,这里用自带的PPOCRLabel,用法这里有详细介绍:
https://github.com/PaddlePaddle/PaddleOCR/blob/dygraph/PPOCRLabel/README_ch.md
大概用法就是安装pyqt(一个python中的可视化库),打开软件,载入放图片的文件夹,先半自动标注,然后手动调整,保存标记结果可以保存出一个label.txt里面密密麻麻放着坐标,保存识别结果可以把图片里面所有的文字全抠出来单独放进一个文件夹crop_img,作为识别训练集,还有对应的识别标签rec_gt.txt(识别这步下次再讲)。

注:原先的打开方式较为麻烦,每次都要输入代码,可以在PPOCRLabel文件夹下新建一个txt,输入python PPOCRLabel.py --lang ch然后保存成open.bat文件,以后每次打开就点这个文件就行了,


测试集的制作方法一模一样。

数据集安置

在PaddleOCR-dygraph根目录下建立一个文件夹"train_data",再新建一个文件夹"img_50"作为自定义数据集的位置,在img_50里放入训练集和测试集的label.txt和对应的两个文件夹的图片(只放图片)。
我偷了个懒,不弄测试集了,直接把训练集当测试集

预训练模型安置

从网上下载预训练模型,比如https://paddle-imagenet-models-name.bj.bcebos.com/MobileNetV3_large_x0_5_pretrained.tar

解压一定要用这个命令:

tar -xf ./pretrain_models/MobileNetV3_large_x0_5_pretrained.tar

这样解压出来的才是很多个权值文件,右键解压会直接解压出一个大文件,无法使用。
将解压后的MobileNetV3_large_x0_5_pretrained模型文件夹放在PaddleOCR-dygraph下新建的pretrain_models文件夹中:

调参


找到det_mv3_db.yml,这是检测模型MobileNetV3的参数训练设置,记事本打开。
里面的参数看着改,主要是这几点:
pretrained_model: ./pretrain_models/MobileNetV3_large_x0_5_pretrained/
data_dir: ./train_data/img_50/
label_file_list:
- ./train_data/img_50/Label.txt
注意测试集和训练集的路径都要调整。

训练开始

在PaddleOCR-dygraph根目录打开cmd,输入以下其中之一命令即可测试

# 单机单卡训练 mv3_db 模型
python tools/train.py -c configs/det/det_mv3_db.yml \-o Global.pretrain_weights=./pretrain_models/MobileNetV3_large_x0_5_pretrained/
# 单机多卡训练,通过 --gpus 参数设置使用的GPU ID;如果使用的paddle版本小于2.0rc1,请使用'--select_gpus'参数选择要使用的GPU
python -m paddle.distributed.launch --gpus '0,1,2,3' tools/train.py -c configs/det/det_mv3_db.yml \-o Global.pretrain_weights=./pretrain_models/MobileNetV3_large_x0_5_pretrained/

其实调整了.yml文件后,-o参数可以不写

训练进行中:

站在巨人的肩膀上

其实我们可以在别人已经训练好的模型上接着我们的训练对吧?
也可以训练一段时候后,断点续……训。
我们训练的模型,默认会保存在./output文件夹下,三个主要文件:
latest.pdopt
latest.pdparams
latest.states
不管后缀名的话,这个训练的模型称之为latest

如果要接着训练的话,在刚刚设置参数的.yml文件中找到checkpoints参数,写入路径

注意后面要写上模型的名字。
然后再调用命令训练,可以看到resume from

如果使用飞桨已经训练好的模型,可以在GitHub上找到,也可以在上一篇博客中找到网盘链接,这里放上各个模型对应的类型:

一切都可以从手册学到https://github.com/PaddlePaddle/PaddleOCR/blob/dygraph/doc/doc_ch/detection.md

下一篇识别模型训练:https://blog.csdn.net/weixin_42845306/article/details/112726615
或者直接跳到:检测模型测试与评估(平均准确率、平均召回率、修改交并比IOU)

PaddlePaddle飞桨OCR文本检测——检测模型训练(二)相关推荐

  1. PaddlePaddle飞桨OCR文本检测——识别模型训练(三)

    上一篇检测模型训练https://blog.csdn.net/weixin_42845306/article/details/112689152 飞桨的OCR模型分为检测.识别和分类,今天讨论识别. ...

  2. PaddlePaddle飞桨OCR文本检测——更改模型保存间隔(六)

    先看配置文件中关于保存的参数 epoch_num: 总的训练轮数 print_batch_step: 每隔多少个batch打印一回信息 save_model_dir: 模型保存路径 save_epoc ...

  3. PaddlePaddle飞桨OCR文本检测——入门安装GPU版(一)

    首先放上github上的开源代码网址,里面的帮助文档说的非常详细: https://github.com/PaddlePaddle/PaddleOCR/ 环境安装 python中环境使用pip安装: ...

  4. PaddlePaddle飞桨OCR文本检测——识别图片文字结果并保存为txt(五)

    此部分只考虑rec识别部分,不考虑检测和方向分类. 举个栗子,要识别的图片如下所示: 打码了,第一次发布的时候csdn说我打广告-- 这是paddle自带的图片,也是det检测后的框出来的图片,可以看 ...

  5. Python 利用飞桨OCR、layoutparser、TensorFlow对票据进行表格检测和识别

    draft-detect 运行环境: Windows10 系统 6核6线程 16G内存 基于 Python3.8 版本 vitualenv 虚拟环境 1.安装依赖 先创建虚拟环境,基于Python3. ...

  6. 飞桨OCR打标、训练、预测、部署全流程

    注:本文档全部在Windows10环境下操作 注:本文档使用的飞桨OCR全景项目代码版本为 release/2.4 查询文档列表: 飞桨OCR官方中文文档:https://github.com/Pad ...

  7. 入门指南目录页 -PaddlePaddle 飞桨 入门指南 FAQ合集-深度学习问题

    入门指南目录页 -PaddlePaddle 飞桨 入门指南 FAQ合集 GT_Zhang关注 0.1012019.08.01 18:43:34字数 1,874阅读 795 Hi,欢迎各位来自Paddl ...

  8. 人工智能 - paddlepaddle飞桨 - 入门之安装教程

    人工智能 - paddlepaddle飞桨 - 入门之安装教程 快速安装 PaddlePaddle支持使用pip快速安装, 执行下面的命令完成CPU版本的快速安装: pip install -U pa ...

  9. DL之paddlepaddle:百度深度学习框架paddlepaddle飞桨的简介、安装、使用方法之详细攻略

    DL之paddlepaddle:百度深度学习框架paddlepaddle飞桨的简介.安装.使用方法之详细攻略 目录 paddlepaddle百度深度学习框架的简介 1.飞桨全景图与四大领先技术 2.丰 ...

最新文章

  1. 通过Ajax来简单的实现局部刷新(主要为C#中使用的UpdatePanel控件和ScriptManager控件)...
  2. optee系统服务/service的实现方式
  3. qa 芯片测试_智能硬件产品的测试经验总结
  4. centos7安装docker并配置阿里云镜像
  5. html5中 save方法,如何HTML5画布另存为窗口8 Metro应用中的图像文件?(How to save html5 c...
  6. 在读博士生 2 年实现 Nature、Science 双发,他来自这所高校!
  7. Atitit.http连接合并组件   ConnReducerV3 新特性
  8. 一篇报告了解国内首个针对加密流量的检测引擎
  9. rfc5766-turn-server NAT
  10. 【精华】多目标跟踪MOT
  11. 2003年GCT考试真题
  12. java 用户拒绝对代码授予权限_java – @Secured函数获取授权用户的拒绝访问权限...
  13. 拍摄完的图片怎么添加水印?这两个方法简单又有效
  14. 计算机存储单位试题,计算机存储试题及答案
  15. php投票系统中各个文件的作用说明,简述一些php对文件的操作,投票活动的实现...
  16. 经典编程书籍大全-python
  17. Android 图片压缩技术
  18. 电脑主机上的COM1的接口在哪里啊?
  19. requests模拟登陆 + 验证码
  20. bash 和 sh 的一点儿区别

热门文章

  1. django学习第一天
  2. 源码解析——消息机制
  3. freeSWITCH 视频通话
  4. 支持多序列化的RPC框架avro-rpc
  5. 【Spark亚太研究院系列丛书】Spark实战高手之-构建Spark集群-安装Ubuntu系统(3)
  6. sqlserver不太常见的,可能常见但又疑问的tsql语句
  7. Linux下启动、停止J2SE程序(脚本)
  8. linux忘记管理员密码,如何登陆?
  9. 9-3 数据分布概论
  10. oracle 故障 linux,從硬盤安裝Oracle Linux 6.3之軟驅故障