AI开发平台MODELARTS-使用算法套件快速完成水表读数识别:Step3 水表读数识别
Step3 水表读数识别
- 执行如下命令安装mmocr套件。
python manage.py install algorithm mmocr==0.2.1
- 安装mmocr套件后,“./algorithms/mmocr/config/textrecog”文件夹中包括config.py(算法外壳配置)和robustscanner_r31_academic.py(模型结构),需要根据所需算法和数据集路径修改配置文件。以下以robust_scanner算法为例。
图15 进入textrecog文件夹
修改“robustscanner_r31_academic.py”,如下所示:
... train_prefix = 'data/raw/water_meter_crop/' # 修改数据集路径改为水表ocr识别数据集路径 train_img_prefix1 = train_prefix + 'train' train_ann_file1 = train_prefix + 'train.txt' ... test_prefix = 'data/raw/water_meter_crop/' test_img_prefix1 = test_prefix + 'val/' test_ann_file1 = test_prefix + 'val.txt'
- 执行如下命令安装robust_scanner预训练模型。
python manage.py install model mmocr:textrecog/robust_scanner/robustscanner_r31_academic
图16 安装robust_scanner模型
- 训练OCR模型。
初次使用mmcv时需要编译mmcv-full,该过程较慢,可以直接使用官方预编译的依赖包。
预编译包URL: https://download.openmmlab.com/mmcv/dist/cu102/torch1.6.0/index.html
pip uninstall mmcv -y
pip install https://download.openmmlab.com/mmcv/dist/cu102/torch1.6.0/mmcv_full-1.3.9-cp37-cp37m-manylinux1_x86_64.whl
pip install rapidfuzz==2.15.1
pip install numpy -U
修改“./algorithms/mmocr/config/textrecog/config.py”,将EPOCHS(迭代数量)改为2。
图17 修改textrecog文件夹下的config.py文件
图18 迭代数量修改为2
执行如下命令训练OCR模型。(仅使用GPU进行训练,大概需要几分钟)python manage.py run --cfg algorithms/mmocr/config/textrecog/config.py
图19 OCR模型训练结果
训练好的模型会保存在指定位置中,默认为output/robustscanner_r31_academic/文件夹中。
- 验证模型效果。
模型训练完成后,可以在验证集上计算模型的指标,首先修改配置文件的模型位置。
修改“./algorithms/mmocr/config/textrecog/config.py”
#config.py
... model_path = './output/robustscanner_r31_academic/latest.pth' ...
执行如下命令验证模型。
python manage.py run --cfg algorithms/mmocr/config/textrecog/config.py --pipeline evaluate
图20 计算模型的指标
- 可选:模型推理。
模型推理能够指定某一张图片,并且推理出图片的分割区域,并进行可视化。首先需要指定待推理的图片路径,修改“./algorithms/mmocr/config/textrecog/config.py”,具体如下。
... infer_img_file='./data/raw/water_meter_crop/val/train_10.jpg' # 指定需要推理的图片路径 ...
执行如下命令推理。
python manage.py run --cfg algorithms/mmocr/config/textrecog/config.py --pipeline infer
图21 模型推理结果
推理输出的图片路径在“output/robustscanner_r31_academic/vis”文件夹下。
图22 表盘读数识别结果图
- 执行如下命令导出算法SDK。
python manage.py export --cfg algorithms/mmocr/config/textrecog/config.py