PaddleOCR 手写识别模型:标注到训练

本文记录一下自己标注的数据,到训练后模型转换的流程;本文只训练识别模型。

版本数据

Python == 3.8
Paddlepaddle >=2.0
PaddleOCR >= 2.0

这里数据使用的是中科院手写数据集及网上开数据;整合后处理尺寸最大为640*32;训练24w,测试1.7w;可直接用于paddleOCR的训练。

数据下载链接:
https://aistudio.baidu.com/aistudio/datasetdetail/102884

流程

  1. 首先使用PPOCRLabel工具标注。
  2. 数据合成工具Style-Text(看需求使用)。
  3. 编写脚本变更训练所需要的数据格式。
  4. 修改训练cfg,下载预训练模型,开始训练。
  5. 模型转换,推理测试。

标注

  • 这里需要先安装PyQt5等其他依赖项
cd ./PPOCRLabel
python PPOCRLabel.py --lang ch

在这里插入图片描述

  • 标注后会在图片路径下保存一个label.txt,格式如图:

在这里插入图片描述

  • 实际train.txt需要将以上格式转化为SimpleDataSet格式(并且对应需要将图片切出 320*32 大小):
  • 注意路径与标签的分隔需要使用 \t 分割

在这里插入图片描述

  • 最终目录格式如下

在这里插入图片描述

训练

  1. 下载预训练模型
  2. 修改配置文件cfg,附:配置文件参数表
  3. 主要修改数据路径,添加预训练模型,epoch,batch等
  4. 所有路径的 ‘:’ 后面需要先加一个空格,否则会报错。
  5. 开始训练:
python tools/train.py -c ./configs/rec/ch_ppocr_v2.0/rec_chinese_lite_train_v2.0.yml 2>&1 | tee train_rec.log

转换

  • 训练好的模型文件不能直接使用,需要经过转换
python ./tools/export_model.py 
-c ./configs/rec/ch_ppocr_v2.0/rec_chinese_lite_train_v2.0.yml 
-o Global.pretrained_model=./ch/best_accuracy 
Global.load_static_weights=False 
Global.save_inference_dir=./out/

推理

python tools/infer/predict_system.py --image_dir="./doc/imgs/11.jpg" --det_model_dir="./inference/ch_ppocr_mobile_v2.0_det_infer/"  --rec_model_dir="./inference/ch_ppocr_mobile_v2.0_rec_infer/" --cls_model_dir="./inference/ch_ppocr_mobile_v2.0_cls_infer/" --use_angle_cls=True --use_space_char=True

我这里训练的手写体数据,原来的打印体精度变差很多。。。
在这里插入图片描述

遇到报错

  1. win10下报错 OMP: Error****************** ;需在代码前加上一下代码:
import os
os.environ['KMP_DUPLICATE_LIB_OK'] = 'TRUE'
  1. 配置文件下,所有路径的 ‘:’ 后面需要先加一个空格,否则会报错。

参考

https://github.com/PaddlePaddle/PaddleOCR
http://www.nlpr.ia.ac.cn/databases/handwriting/Download.html

  • 5
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值