1. PaddleOCR
- 使用PPOCRLabel标注,完成自定义训练数据集的准备;
- 训练文本检测模型;
- 训练文本识别模型;
- 训练模型转换为inference模型;
- 基于python引擎的PP-OCR模型推理预测,串联检测+识别。
2. PPOCRLabel
PPOCRLabel是一款适用于OCR领域的半自动化图形标注工具,内置PP-OCR模型对数据自动标注和重新识别。使用Python3和PyQT5编写,支持矩形框标注和四点标注模式,导出格式可直接用于PaddleOCR检测和识别模型的训练。
使用步骤:
- cd ./PPOCRLabel
- python .\PPOCRLabel.py —lang ch
- 打开待标注文件夹,加载标注图像
- 勾选 文件/自动导出标记结果
- 标注
- 导出识别结果(切小图)
3. 训练文本检测模型
1 2 3 4 5 6 7 8 9 10 11 12
| python3 tools/train.py -c configs/det/det_mv3_db.yml \ -o Global.pretrained_model=./pretrain_models/MobileNetV3_large_x0_5_pretrained
python3 -m paddle.distributed.launch --gpus '0,1,2,3' tools/train.py -c configs/det/det_mv3_db.yml \ -o Global.pretrained_model=./pretrain_models/MobileNetV3_large_x0_5_pretrained
python3 -m paddle.distributed.launch --ips="xx.xx.xx.xx,xx.xx.xx.xx" --gpus '0,1,2,3' tools/train.py -c configs/det/det_mv3_db.yml \ -o Global.pretrained_model=./pretrain_models/MobileNetV3_large_x0_5_pretrained
|
4. 训练文本识别模型
1 2 3 4 5 6 7 8 9
|
python3 tools/train.py -c configs/rec/rec_icdar15_train.yml
python3 -m paddle.distributed.launch --gpus '0,1,2,3' tools/train.py -c configs/rec/rec_icdar15_train.yml
|
5. 转换为inference模型部署
1 2 3 4 5 6 7
| python tools/export_model.py -c configs/det/det_mv3_db.yml -o Global.pretrained_model="./output/sense_ocr_det/best_accuracy" Global.save_inference_dir="./sense_model/sense_det/"
python tools/export_model.py -c configs/rec/rec_icdar15_train.yml -o Global.pretrained_model=./output/sense_ocr_rec/best_accuracy Global.save_inference_dir=./sense_model/sense_rec/
|
6. 联合文本检测+文本识别测试
1 2
| python3 tools/infer/predict_system.py --image_dir="./doc/imgs/00018069.jpg" --det_model_dir="./sense_model/sense_det/" --rec_model_dir="./sense_model/sense_rec/" --use_angle_cls=false
|