安装
安装paddle,pip install paddlepaddle、paddlepaddle-gpu(gpu版本) 安装ocr,pip install paddleocr,gitee上的源码https://gitee.com/paddlepaddle/PaddleOCR.git
原理
使用mobilev3、resnet骨干网络训练实现以下功能:
- 目标检测,检测文字(文字使用的预训练好的分类器数据,类似yolo使用darknet分类)
- 方向分类器,最小外接矩形
- 识别,识别文字
使用
代码语言:javascript复制ocr = PaddleOCR()
result = ocr.ocr("test1.bmp", cls=True)
for line in result:
print(line)
自己训练训练模型,构造如下
代码语言:javascript复制det_model_dir='model/det', rec_model_dir='model/rec',
rec_char_dict_path='model/ppocr_keys_v1.txt', cls_model_dir='model/cls', use_angle_cls=True
训练
cd PaddleOCR/ wget -P ./train_data/ https://paddleocr.bj.bcebos.com/dataset/train_icdar2015_label.txt wget -P ./train_data/ https://paddleocr.bj.bcebos.com/dataset/test_icdar2015_label.txt
标签格式如下:
训练数据文件结构
启动训练
python3 tools/train.py -c configs/det/det_mv3_db.yml -o Global.pretrain_weights=./pretrain_models/MobileNetV3_large_x0_5_pretrained/
参考:https://gitee.com/paddlepaddle/PaddleOCR/blob/release/2.1/doc/doc_ch/detection.md