一、Det模型推理:
(1)上一篇文章只讲了推理的实现方法,没有展示结果,这里顺带展示一下结果。
因为训练定位模型的时候是整图训练,所以推理的时候也是整图推理。
(2)在推理的时候可以通过修改这个值来定义推理结果的保存路径
二、Rec模型推理
(1)在训练Rec的时候是只对文字部分进行训练的,推理的时候如果输入整图,推理时间可能会增加,效果可能也会下降(没测试过) infer_rec.py的输出结果是一个TXT文件,一行对应每一张图的输出结果
三、模型导出
(1)在实际工作中,推理的时候定位和识别模型一般都是同时进行的。图片先经过定位模型进行检测,然后将定位出文字的区域送进识别模型进行识别。所以我们需要将模型导出,使得这两个模型可以串联处理。
(2)det导出参数:打开export_model.py文件,然后配置运行参数。yml文件对应自己训练的yml
-c
../configs/det/ch_PP-OCRv4/ch_PP-OCRv4_det_cml.yml
-o
Global.pretrained_model=../output/ch_PP-OCRv4/best_accuracy.pdparams
Global.save_inference_dir=../inference_model/det/
(3)rec导出参数:打开export_model.py文件,然后配置运行参数。
-c
../configs/rec/PP-OCRv4/ch_PP-OCRv4_rec.yml
-o
Global.pretrained_model=..output/rec_ppocr_v4/best_accuracy.pdparams
Global.save_inference_dir=../inference_model/rec/
四、最终推理
(1)打开predict_system.py文件
(2)配置运行参数,这个py文件在代码里面的rec_char_dict_path参数默认是./ppocr/utils/ppocr_keys_v1.txt,用cmd窗口跑的话可能没问题,但是用pycharm来跑的话会报错找不到这个文件。这是相对路径的原因,所以在参数里面修改rec_char_dict_path。
--image_dir=../../train_data/det/test
--det_model_dir=../../inference_model/det/Student
--rec_model_dir=../../inference_model/rec
--rec_char_dict_path=../../ppocr/utils/ppocr_keys_v1.txt
配置完运行参数就可以运行代码了,输出结果如下(左边是定位的结果,右边是文字识别的结果,识别模型训练的效果不好):
五、小技巧
由于使用pycharm运行,所以经常需要修改对应py文件的配置参数。所以可以把配置参数copy下来,这样就不用经常找路径了。这也是使用pycharm运行比较麻烦的一点。