标注好数据集后
分为训练集、测试集
数据集格式需要与配置文件一致,为了方便,我直接使用以下格式。
PaddleOCR主目录下,自己新建文件夹:car_plate_images/images_det
train、test、里面是图片
det_label_test、det_label_train、是标签文件
注意:标注好的标签文件,txt文件内的图片名称前面是不需要路径的,删除多余路径,我才能正常训练。
配置文件:
在PaddleOCR主目录下:configs/det/ch_ppocr_v2.0
打开配置文件,修改以下4个内容:
1.训练后模型存储目录;
2.是否训练可视化;
3.训练数据集图片和标注位置;
4.测试数据集图片和标注位置;
其他参数如pretrained_model等可以在训练时在命令行中指定.其它的看官方文档
ch_det_mv3_db_v2.0.yml_car_plate.yml文件内修改
#训练后模型存储目录
Global:
use_gpu: true
epoch_num: 1200
log_smooth_window: 20
print_batch_step: 2
save_model_dir: ./output/ch_ppocr_mobile_v2.0_det/ # 训练后模型存储目录
use_visualdl: true # 训练可视化是否开启
#修改训练数据集图片和标注位置
Train:
dataset:
name: SimpleDataSet
data_dir: ./car_plate_images/images_det/train # 修改训练数据集图片位置
label_file_list:
- ./car_plate_images/images_det/det_label_train.txt # 修改训练数据集标注位置
#测试数据集图片和标注位置
Eval:
dataset:
name: SimpleDataSet
data_dir: ./car_plate_images/images_det/test # 修改测试数据集图片位置
label_file_list:
- ./car_plate_images/images_det/det_label_test.txt # 修改测试数据集标注
配置文件修改完毕后。
训练后保存位置–新建文件夹:./output/ch_ppocr_mobile_v2.0_det/
先使用官方的权重文件进行预测一下。
下载地址:https://github.com/PaddlePaddle/PaddleOCR
新建文件夹:mode/det
先预测一下:
预测命令:
python tools/eval.py -c "./configs/det/ch_ppocr_v2.0/ch_det_mv3_db_v2.0.yml_car_plate.yml" -o Global.checkpoints="./mode/det/ch_ppocr_server_v2.0_det_train/best_accuracy"
训练命令:
python tools/train.py -c "./configs/det/ch_ppocr_v2.0/ch_det_mv3_db_v2.0.yml_car_plate.yml" -o Global.pretrained_model="./mode/det/ch_ppocr_server_v2.0_det_train/best_accuracy"
参数解释:
-c 是配置文件的路径
-o 是权重文件的路径
预测 -o Global.checkpoints=
训练 -o Global.pretrained_model=
注意这两个不一样。
正在训练:
训练中产生的模型文件如下:
断点续训:
-o Global.checkpoints:保存的文件路径
python tools/train.py -c "./configs/det/ch_ppocr_v2.0/ch_det_mv3_db_v2.0.yml_car_plate.yml" -o Global.pretrained_model="./mode/det/ch_ppocr_server_v2.0_det_train/best_accuracy" -o Global.checkpoints="./output/ch_db_mv3/latest"
使用训练模型–测试1张图
-o Global.infer_img:文件位置
python tools/infer_det.py -c "./configs/det/ch_ppocr_v2.0/ch_det_mv3_db_v2.0.yml_car_plate.yml" -o Global.infer_img="./imgs/test_0.jpg" Global.pretrained_model="./output/ch_db_mv3/latest"
使用训练模型–测试文件夹内所有图片
新建文件夹imgs 放测试的图片
-o Global.infer_img:文件夹位置
python tools/infer_det.py -c "./configs/det/ch_ppocr_v2.0/ch_det_mv3_db_v2.0.yml_car_plate.yml" -o Global.infer_img="./imgs/" Global.pretrained_model="./output/ch_db_mv3/latest"
训练模型保存为用于部署的推理模型
保存路径:output文件夹内
python tools/export_model.py -c "./configs/det/ch_ppocr_v2.0/ch_det_mv3_db_v2.0.yml_car_plate.yml" -o Global.pretrained_model="./output/ch_db_mv3/latest" Global.save_inference_dir="./output/"
使用推理模型–预测命令:
#det_algorithm 检测使用的算法
#det_model_dir 检测模型位置
#image_dir 测试图片路径
#use_gpu 是否使用GPU
python tools/infer/predict_det.py --det_algorithm="DB" --det_model_dir="./output/" --image_dir="./car_plate_images/images_det/test/" --use_gpu=True