PaddleOCR完成自己的文字模型训练(二)

目录

一、使用Pycharm

一、环境配置

二、数据准备

二、PaddleLabel

 三、准备训练


一、使用Pycharm

首先建议大家下载Pycharm软件来运行下载到本地的PaddleOCR代码

https://www.jetbrains.com/zh-cn/pycharm/

一、环境配置

如图:配置一下你安装的虚拟环境

缺什么包去指定位置下载一下就OK

比如:我想安装个PaddleLabel

等待它自己安装完成就OK,比起手动install方便很多! 

二、数据准备

metal_images:这是用来测试和训练的数据集

如图:

pretranin_models :根据自己的需要修改的预训练模型

继续修改

修改文件代码

C:\Users\PaddleOCR\tools\infer\utility.py

 根据自己的需求,做出修改如下:

初步判断:我要识别的字体更接近于 telugu.ttf

大胆的替换一下:font_path="./doc/fonts/telugu.ttf"

二、PaddleLabel

在终端输入:

 PPOCRLabel --lang ch

 如果环境配置正确就会弹出PaddleLabel界面

 引入准备好的数据集文件

 选择自动标注:

 标注完成 

 手动修改错误值并保存,这个过程有点繁琐,需要一些耐心

 

导出识别和标结果 

 

 下载需要的训练模型:我需要的轻量英文识别模型

 放到pretrain_models

 三、准备训练文字检测模型

 新建train_data,把刚才生成的图片集放里

在终端 或者虚拟环境下:

 输入训练命令:python tools/train.py -c configs/det/ch_ppocr_v2.0/ch_det_res18_db_v2.0.yml

出现问题

报错一:

解决方法:

 pip install numpy==1.23  -i https://pypi.tuna.tsinghua.edu.cn/simple

少啥就装啥 把 -i https://pypi.tuna.tsinghua.edu.cn/simple 加上

报错二:

解决方法:

进入PPOCRLabel文件目录下的PPOCRLabel.py文件中,添加

import os
os.environ["KMP_DUPLICATE_LIB_OK"]="TRUE"

看一下结果 

 输入可视化命令:

 visualdl --logdir "./output/ch_db_res18"

打开浏览器,输入http://localhost:8040/

设置了60次的训练

模型导出:

python tools/export_model.py -c configs/det/ch_ppocr_v2.0/ch_det_res18_db_v2.0.yml  -o Global.pretrained_model=./output/ch_db_res18/latest  Global.save_inference_dir=./inference/det_db

 

测试一下结果:

python tools/infer_det.py -c configs/det/ch_ppocr_v2.0/ch_det_res18_db_v2.0.yml -o Global.pretrained_model=output/ch_db_res18/latest.pdparams Global.infer_img="C:\Users\Administrator\PaddleOCR\doc\imgs\c1.jpg"

 

 如果想测试一下多张图片,图片路径换一下就可以

python tools/infer_det.py -c configs/det/ch_ppocr_v2.0/ch_det_res18_db_v2.0.yml -o Global.pretrained_model=output/ch_db_res18/latest.pdparams Global.infer_img="C:\Users\Administrator\PaddleOCR\doc\imgs"

检测的模型告一段落!

四、训练识别模型

修改以下配置文件

 

开始训练: 

python tools/train.py -c configs/rec/PP-OCRv3/en_PP-OCRv3_rec.yml

 等待中。。。。。。loss的值一直在降低

测试图片:

 测试命令:

 python tools/infer_rec.py -c configs/rec/PP-OCRv3/en_PP-OCRv3_rec.yml -o Global.checkpoints=./output/v3_en_mobile/latest  Global.infer_img="C:\Users\Administrator\PaddleOCR\metal_images\image_rec\train\c10_crop_2.jpg"

测试结果:当 acc: 0.250000   27个字符中有两个没识别出来

即将完成,给自己鼓掌

 

  • 7
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
paddleocrPaddleOCR)是一个开源的OCR(Optical Character Recognition,光学字符识别)框架,可用于进行文本检测、文本识别和文本方向检测。下面是有关paddleocr模型训练的介绍: paddleocr采用了端到端(End-to-End)的训练方式,意味着整个OCR系统的训练可以一次性完成训练过程主要分为两个阶段:文本检测和文本识别。 文本检测是指检测图像中的文字区域,确定文字的位置和边界框。训练过程需要提供大量的带有文字标注框的训练数据集,并通过数据增强的技术对数据进行增强。数据增强可以包括旋转、缩放、裁剪和反转等操作,以增加模型的鲁棒性。使用数据集和数据增强后,可以选择合适的检测模型(如DB、EAST和PSENet等)进行训练。 文本识别是指在文本检测的基础上,进一步识别文字内容。在训练文本识别模型之前,需要对文字进行字符级别的标注,以便模型能够学习识别每个字符。在训练过程中,同样需要提供大量的带有标注的训练数据集,并进行数据增强操作。然后,可以使用类似CRNN、Rosetta和STARNet等模型进行训练。 在整个训练过程中,使用的损失函数包括定位损失(即文字区域的位置损失)和识别损失(即文字内容的识别损失)。这些损失函数用于指导模型的学习和优化过程。 总之,paddleocr模型训练是一个复杂的过程,需要提供大量带标注的训练数据集,并进行数据增强和选择合适的模型进行训练。通过这样的训练过程,可以得到高质量的OCR模型,用于文字区域检测和识别任务。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值