使用PaddleOCR训练属于自己的模型
一、软件和包安装
PaddleOCR 介绍 & 下载
PaddleOCR是一个基于百度飞桨开发的OCR系统。包括文字检测、文字识别、文本方向分类等模块。以下是其优点:
🕐 高精度:PaddleOCR采用深度学习算法进行训练,可以在不同场景下实现高精度的文字检测和文字识别。
🕑 多语种支持:PaddleOCR支持多种语言的文字识别,包括中文、英文、日语、韩语等。同时,它还支持多种不同文字类型的识别,如手写字、印刷体、表格等。
🕒 高效性:PaddleOCR的训练和推理过程都采用了高效的并行计算方法,可大幅提高处理速度。同时,其轻量化设计也使得PaddleOCR能够在移动设备上进行部署,适用于各种场景的应用。
🍀 易用性:PaddleOCR提供了丰富的API接口和文档说明,用户可以快速进行模型集成和部署,实现自定义的OCR功能。同时,其开源代码也为用户提供了更好的灵活性和可扩展性。
🈚 鲁棒性:PaddleOCR采用了多种数据增强技术和模型融合策略,能够有效地应对图像噪声、光照变化等干扰因素,并提高模型的鲁棒性和稳定性。
地址:PaddleOCR/doc/doc_ch/models_list.md at release/2.0 · PaddlePaddle/PaddleOCR · GitHub
在PaddleOCR-realase-2.6根目录下新建文件夹,并下载推理模型
- 执行命令
进入到PaddleOCR-releas-2.6目录下
python tools/infer/predict_system.py --image_dir="C:\Users\User\Desktop\test.jpg" --det_model_dir="./inference_model/ch_PP-OCRv3_det_infer/" --rec_model_dir="./inference_model/ch_PP-OCRv3_rec_infer"
根据报错,安装各种库函数
- 结果
说明 PaddleOCR的环境已经成功搭建好了
二、制作数据集
- 制作自己的数据集
进入paddleOCR-release-2.6根目录下
打开打标软件:python PPOCRLabel.py --lang ch
开始给数据打标签
全部打标完成之后,点击文件选择导出标记结果,再点击文件选择导出识别结果,完成后再文件夹多出四个文件fileState,Label,rec_gt, crop_img。其中crop_img中的图片用来训练文字识别模型,fileState记录图片的打标完成与否,Label为训练文字检测模型的标签,rec_gt为训练文字识别模型的标签。
- 数据集的划分
打标签告一段落。下面进行数据集的制作。在PaddleOCR根目录下建立train_data文件夹,并且将打标签生成的文件和图片放在该文件夹下。
# 进入PPOCRLabel的文件夹下
python gen_ocr_train_val_test.py --trainValTestRatio 6:2:2 --datasetRootPath ../train_data/text_trafficSignImages/
数据集已经标注成功
三、文字检测模型
下载模型
# 下载训练模型,det是检测模型,rec是识别模型
- 设置模型配置文件
打开模型配置文件,可以使用ch_det_res18_db_v2.0.yml这个配置文件。
按照需要修改配置文件
- 开始训练
到PaddleOCR-releas-2.6根目录下
训练结果
- 测试训练模型
使用best_accuracy.pdparams进行模型测试,其中Global.pretrained_model是我们训练好并且需要测试的模型,Global.infer_img为所要检测的图片路径。=》这里训练次数少,用的是iter_epoch_100.pdparams
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/iter_epoch_100.pdparams Global.infer_img="./train_data/det/test/img3.png"
四、文字检测模型
下载模型
# 下载训练模型,det是检测模型,rec是识别模型
- 设置模型配置文件
文字识别可以使用ch_PP-OCRv3_rec.yml
- 开始训练
到PaddleOCR-releas-2.6根目录下
python tools/train.py -c configs/rec/PP-OCRv3/ch_PP-OCRv3_rec.yml
毁灭吧,内存要爆了
- 测试训练模型
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/xiaoxiao_00001/article/details/148119161
- 在PaddleOCR-realase-2.6根目录下新建文件夹,并下载推理模型
- 进入到PaddleOCR-releas-2.6目录下
- 进入paddleOCR-release-2.6根目录下
- 打开打标软件:python PPOCRLabel.py --lang ch
- 全部打标完成之后,点击文件选择导出标记结果,再点击文件选择导出识别结果,完成后再文件夹多出四个文件fileState,Label,rec_gt, crop_img。其中crop_img中的图片用来训练文字识别模型,fileState记录图片的打标完成与否,Label为训练文字检测模型的标签,rec_gt为训练文字识别模型的标签。
- 打标签告一段落。下面进行数据集的制作。在PaddleOCR根目录下建立train_data文件夹,并且将打标签生成的文件和图片放在该文件夹下。
- 打开模型配置文件,可以使用ch_det_res18_db_v2.0.yml这个配置文件。
- 到PaddleOCR-releas-2.6根目录下
- 训练结果
- 使用best_accuracy.pdparams进行模型测试,其中Global.pretrained_model是我们训练好并且需要测试的模型,Global.infer_img为所要检测的图片路径。=》这里训练次数少,用的是iter_epoch_100.pdparams
- 文字识别可以使用ch_PP-OCRv3_rec.yml
- 到PaddleOCR-releas-2.6根目录下
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。