paddle ocr 训练 验证码

本文详细介绍了如何通过PPOCRLabel工具进行图片标注,包括安装PyQt5、配置模型、数据准备及使用步骤,涵盖了自动标注、手动标注、模型训练等关键环节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.PPOCRLabel 标注工具

官方文档:
https://gitee.com/paddlepaddle/PaddleOCR/blob/release/2.3/PPOCRLabel/README_ch.md

1.1.安装pyqt5
本地whl下载路径 https://pypi.tuna.tsinghua.edu.cn/simple/pyqt5/

1.2.安装本地文件
pip install E:\PaddleOcr\whl\PyQt5-5.15.6-cp36-abi3-win_amd64.whl

1.3.执行命令
切换到Paddle ocr 的PPOCRLabel目录 cd PPOCRLabel
python PPOCRLabel.py --lang ch 打开工具

1.4.工具执行步骤
1.安装与运行:使用上述命令安装与运行程序。
2.打开文件夹:在菜单栏点击 “文件” - “打开目录” 选择待标记图片的文件夹[1].
3.自动标注:点击 ”自动标注“,使用PPOCR超轻量模型对图片文件名前图片状态[2]为 “X” 的图片进行自动标注。
4.手动标注:点击 “矩形标注”(推荐直接在英文模式下点击键盘中的 “W”),用户可对当前图片中模型未检出的部分进行手动绘制标记框。点击键盘Q,则使用四点标注模式(或点击“编辑” - “四点标注”),用户依次点击4个点后,双击左键表示标注完成。
5.标记框绘制完成后,用户点击 “确认”,检测框会先被预分配一个 “待识别” 标签。
6.重新识别:将图片中的所有检测画绘制/调整完成后,点击 “重新识别”,PPOCR模型会对当前图片中的所有检测框重新识别[3]。
7.内容更改:双击识别结果,对不准确的识别结果进行手动更改。
8.确认标记:点击 “确认”,图片状态切换为 “√”,跳转至下一张(此时不会直接将结果写入文件)。
9.删除:点击 “删除图像”,图片将会被删除至回收站。
10.保存结果:用户可以通过菜单中“文件-保存标记结果”手动保存,同时程序也会在用户每确认5张图片后自动保存一次。手动确认过的标记将会被存放在所打开图片文件夹下的Label.txt中。在菜单栏点击 “文件” - "保存识别结果"后,会将此类图片的识别训练数据保存在crop_img文件夹下,识别标签保存在rec_gt.txt中[4]。

1.5.工具保存结果

在这里插入图片描述

1.6.工具快捷键
快捷键 说明
Ctrl + shift + R 对当前图片的所有标记重新识别
W 新建矩形框
Q 新建四点框
Ctrl + E 编辑所选框标签
Ctrl + R 重新识别所选标记
Ctrl + C 复制并粘贴选中的标记框
Ctrl + 鼠标左键 多选标记框
Backspace 删除所选框
Ctrl + V 确认本张图片标记
Ctrl + Shift + d 删除本张图片
D 下一张图片
A 上一张图片
Ctrl++ 缩小
Ctrl-- 放大
↑→↓← 移动标记框

2.准备数据字典

ppocr/utils/ppocr_keys_v1.txt 是一个包含6623个字符的中文字典

ppocr/utils/ic15_dict.txt 是一个包含36个字符的英文字典

ppocr/utils/dict/french_dict.txt 是一个包含118个字符的法文字典

ppocr/utils/dict/japan_dict.txt 是一个包含4399个字符的日文字典

ppocr/utils/dict/korean_dict.txt 是一个包含3636个字符的韩文字典

ppocr/utils/dict/german_dict.txt 是一个包含131个字符的德文字典

ppocr/utils/en_dict.txt 是一个包含96个字符的英文字典

用系统的字典或者自己写字典,配置在后面的配置文件的character_dict_path字段

3.下载训练模型

模型下载地址 :
https://gitee.com/paddlepaddle/PaddleOCR/blob/v2.1.1/doc/doc_ch/models_list.md

在这里插入图片描述

这里我选取 rec_chinese_lite_train_v2.0的预训练模型,
下载解压到pretrain_modles 目录下
Windows 下解压如果没有三个文件,需要把解压后的文件重新命名为zip再解压
像这种文件

在这里插入图片描述

4.修改配置

修改配置文件,ch_ppocr_mobile_v2.0_rec_pre.yml 在configs\rec\ch_ppocr_v2.0 下
use_gpu: False //True 代表使用gpu False 代表不使用gpu
character_dict_path: ./ppocr/utils/ppocr_keys_v1.txt //选取数据字典路径
use_space_char: True//空格
Train - data_dir : data_dir: ./train_data/ //训练集路径
Train : label_file_list: ["./train_data/rec_gt_train.txt"] 训练集标签文件路径
Eval : data_dir: ./train_data/ //测试集文件路径
EVal : label_file_list: ["./train_data/rec_gt_test.txt"] //测试集标签文件路

配置详解

https://gitee.com/paddlepaddle/PaddleOCR/blob/release/2.0/doc/doc_ch/config.md

5.开始训练

python tools/train.py -c configs/rec/ch_ppocr_v2.0/rec_chinese_lite_train_v2.0.yml -o Global.pretrained_model=./pretrain_models/ch_ppocr_mobile_v2.0_rec_pre/best_accuracy

6.预测结果

python tools/infer_rec.py -c configs/rec/ch_ppocr_v2.0/rec_chinese_lite_train_v2.0.yml -o Global.checkpoints=output/rec_chinese_lite_v2.0/best_accuracy Global.load_static_weights=false Global.infer_img=train_data/

注:如果没有best_accuracy 用 latest
在这里插入图片描述

预测效果:
在这里插入图片描述

7.转化为推理模型

python tools/export_model.py -c configs/rec/ch_ppocr_v2.0/rec_chinese_lite_train_v2.0.yml -o Global.checkpoints=output/rec_chinese_lite_v2.0/best_accuracy Global.save_inference_dir=output/inference

最终文件:
在这里插入图片描述

8.代码调用

安装部署文档

9.遇到问题

9.1.Config use_gpu cannot be set as true while you are using paddlepaddle cpu version !
在这里插入图片描述

解决方案:修改rec_chinese_lite_train_v2.0.yml 的use_gpu 字段为false

9.2.No Images in train dataset, please ensure

在这里插入图片描述

解决方案:1.标注工具识别结果没有内容, 2.修改batch_size_per_card字段

<think>好的,用户想了解如何使用PaddleOCR训练自己的模型。我需要一步步引导他们完成整个过程,确保结构清晰,并且符合他们提供的格式要求。首先,我应该回忆PaddleOCR的基本情况,确认训练流程的关键步骤。 首先,用户可能需要知道训练前的准备工作,比如数据准备。需要提到数据格式,目录结构,以及标注文件的格式。可能需要详细说明如何组织图像和标签文件,特别是txt文件的命名和内容格式。这里要注意是否需要区分训练集和验证集,还有测试集,但可能用户主要关注训练和验证。 然后,环境配置。需要指导用户安装PaddlePaddlePaddleOCR,包括pip安装命令。要区分CPU和GPU版本,提醒用户根据硬件选择。还要提到代码库的克隆,可能涉及git命令,但用户可能已经安装了git,所以需要给出克隆仓库的命令。 接下来是配置文件的选择和修改。这里可能有点复杂,用户需要选择合适的预训练模型,比如文本检测、识别或者方向分类。每个任务有不同的配置文件,需要指导用户如何找到对应的yml文件,并修改其中的数据路径、类别数等参数。可能需要举例说明,比如检测模型的配置,修改训练和验证数据路径,调整epochs和batch_size等参数。 然后是启动训练的命令,需要给出具体的命令行示例,比如使用tools/train.py指定配置文件和使用预训练模型。同时,可能需要提醒用户如果中断训练后如何恢复,使用-resume参数。 评估模型的部分需要说明如何用验证集评估,给出评估命令,并解释指标的含义,比如检测模型的hmean,识别模型的准确率。 导出模型为推理模型也是必要的一步,用户可能需要在训练完成后将模型导出以便后续使用,这里要给出导出命令,并说明输入和输出路径。 最后,模型部署部分,简要介绍如何使用导出的模型进行推理,给出Python代码示例,包括初始化预测系统和执行预测的步骤。 需要注意用户可能的疑问点,比如数据标注的具体格式,如何处理数据增强,调整超参数的注意事项,以及如何解决常见错误,比如路径错误或依赖缺失。不过用户的问题主要集中在训练流程,所以可能不需要深入每个细节,但需要确保步骤完整。 另外,需要提醒用户参考官方文档和社区支持,特别是如果遇到问题可以去GitHub提issue。可能还需要提到数据量不足时可以使用数据增强,或者使用公开数据集进行预训练。 最后检查是否符合格式要求:使用中文,行内公式用$...$,独立公式用$$...$$。不过在这个问题中可能涉及数学公式较少,但如果有的话需要正确应用。同时结构要清晰,分步骤说明,使用列表和代码块,但用户要求避免使用Markdown,所以可能需要用文字描述代码部分,比如用引号或者缩进表示命令行和代码。 总结下来,回答的结构应该是:简介PaddleOCR训练步骤分点说明,每个步骤详细说明,注意事项和常见问题,最后参考资源和社区支持。确保语言简洁,步骤明确,用户能够跟随操作。</think>以下是使用PaddleOCR训练自定义模型的步骤详解: ----- ### 一、PaddleOCR简介 PaddleOCR是基于飞桨(PaddlePaddle)的OCR工具库,支持: - 文本检测(定位文字区域) - 文本识别(识别文字内容) - 方向分类(调整文字方向) ----- ### 二、训练自定义模型流程 #### 1. 数据准备 **格式要求**: ``` 数据集目录/ ├── train/ │ ├── img_1.jpg │ ├── img_1.txt # 标注文件 │ ├── img_2.jpg │ └── img_2.txt └── val/ ├── img_101.jpg └── img_101.txt ``` **标注文件示例**: - 检测任务(坐标标注): ```txt x1,y1,x2,y2,x3,y3,x4,y4,文本内容 100,200,300,200,300,400,100,400,"Hello World" ``` - 识别任务(单行文本): ```txt img_1.jpg "文本内容" ``` #### 2. 环境配置 ```bash # 安装PaddlePaddle(GPU版本需额外配置CUDA) pip install paddlepaddle # 安装PaddleOCR pip install paddleocr # 下载训练代码 git clone https://github.com/PaddlePaddle/PaddleOCR ``` #### 3. 配置文件修改 选择预训练模型对应配置文件(以`det_mv3_db.yml`检测模型为例): ```yml Train: dataset: name: SimpleDataSet data_dir: ./train_data/ # 数据集根目录 label_file_list: [./train_data/train.txt] # 训练集路径 Eval: dataset: name: SimpleDataSet data_dir: ./train_data/ label_file_list: [./train_data/val.txt] # 验证集路径 ``` #### 4. 启动训练 ```bash # 文本检测模型训练 python tools/train.py -c configs/det/det_mv3_db.yml \ -o Global.pretrained_model=./pretrain_models/det_mv3_db_v2.0_train/ # 文本识别模型训练 python tools/train.py -c configs/rec/rec_icdar15_train.yml \ -o Global.pretrained_model=./pretrain_models/rec_mv3_none_bilstm_ctc_v2.0_train/ ``` #### 5. 模型评估 ```bash python tools/eval.py -c configs/det/det_mv3_db.yml \ -o Global.checkpoints=./output/det_db/best_accuracy ``` #### 6. 模型导出 ```bash python tools/export_model.py -c configs/det/det_mv3_db.yml \ -o Global.save_inference_dir=./inference/det_db \ Global.pretrained_model=./output/det_db/best_accuracy ``` ----- ### 三、关键注意事项 1. **数据量要求**: - 检测任务:建议至少500张标注图像 - 识别任务:建议至少3000张单行文本图像 2. **配置文件调参**: ```yml Optimizer: learning_rate: # 初始学习率设置示例 value: 0.001 decay: step: 1200 gamma: 0.1 ``` 3. **常见问题处理**: - 显存不足:减小`batch_size` - 过拟合:增加数据量或添加正则化 - 训练震荡:降低学习率 ----- ### 四、推荐资源 1. 官方文档:https://github.com/PaddlePaddle/PaddleOCR 2. 预训练模型库:https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ 3. 数据合成工具:https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.6/doc/doc_en/data_synthesis_en.md 建议从官方提供的预训练模型开始微调,可显著提升小数据集训练效果。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值