首页 > 分享 > paddleocr学习笔记(四)评估、推理

paddleocr学习笔记(四)评估、推理

继续前面的内容:paddleocr学习笔记(三)训练代码分析

1、评估

当训练完成时需要查看评估结果可以执行下面代码评估:

执行最佳模型评估

python tools/eval.py -c configs/det/det_mv3_db.yml -o Global.checkpoints=./output/db_mv3/best_accuracy PostProcess.box_thresh=0.5 PostProcess.unclip_ratio=1.5

评估结果如下:

[2021/02/25 21:02:25] root INFO: metric eval ***************

[2021/02/25 21:02:25] root INFO: precision:0.7014787430683919

[2021/02/25 21:02:25] root INFO: recall:0.7308618199325951

[2021/02/25 21:02:25] root INFO: hmean:0.7158688988446121

[2021/02/25 21:02:25] root INFO: fps:24.812927987548104

执行最后一次模型评估

python tools/eval.py -c configs/det/det_mv3_db.yml -o Global.checkpoints=./output/db_mv3/iter_epoch_1200 PostProcess.box_thresh=0.5 PostProcess.unclip_ratio=1.5

评估结果如下:

[2021/02/25 21:07:35] root INFO: metric eval ***************

[2021/02/25 21:07:35] root INFO: precision:0.6869009584664537

[2021/02/25 21:07:35] root INFO: recall:0.724602792489167

[2021/02/25 21:07:35] root INFO: hmean:0.7052483598875351

[2021/02/25 21:07:35] root INFO: fps:24.93030511399997

从上面的结果可以看出,最佳模型比最后一轮迭代的模型无论在精度还是在回调上性能都更好。

hmean是一个综合指标,从下面的表达式可以看出其值介于精度和回调之间,其表达式为:

hmean=2×precision×recallprecision+recall" role="presentation">hmean=2×precision×recallprecision+recall

2、单张图片推理

终端执行如下代码:

python tools/infer_det.py -c configs/det/det_mv3_db.yml -o Global.infer_img="./doc/imgs_en/img_10.jpg" Global.pretrained_model="./output/db_mv3/best_accuracy" Global.load_static_weights=false

推理结果如下:一共生成两个文件,一个是推理后标注的图片,一个是生成的标注txt文件

predicts_db.txt内容如下:可以看到格式与训练样本的标注格式一致。

./doc/imgs_en/img_10.jpg[{"transcription": "", "points": [[40, 86], [146, 80], [147, 104], [41, 110]]}, {"transcription": "", "points": [[149, 78], [202, 74], [204, 99], [151, 103]]}, {"transcription": "", "points": [[35, 52], [103, 52], [103, 80], [35, 80]]}, {"transcription": "", "points": [[98, 49], [210, 49], [210, 79], [98, 79]]}, {"transcription": "", "points": [[200, 22], [255, 25], [254, 50], [199, 48]]}, {"transcription": "", "points": [[162, 25], [201, 25], [201, 49], [162, 49]]}, {"transcription": "", "points": [[110, 20], [162, 23], [161, 49], [109, 47]]}, {"transcription": "", "points": [[15, 14], [108, 18], [107, 50], [14, 47]]}]

测试DB模型时,调整后处理阈值。对于上面这张图结果并没有太大不同,此处只是为了说明推理时可以配置不同的后处理参数,通过调整后处理参数可以调整最终的效果。

python tools/infer_det.py -c configs/det/det_mv3_db.yml -o Global.infer_img="./doc/imgs_en/img_10.jpg" Global.pretrained_model="./output/db_mv3/best_accuracy" Global.load_static_weights=false PostProcess.box_thresh=0.6 PostProcess.unclip_ratio=1.5

测试文件夹下所有图像的检测效果

python tools/infer_det.py -c configs/det/det_mv3_db.yml -o Global.infer_img="./doc/imgs_en/" Global.pretrained_model="./output/db_mv3/best_accuracy" Global.load_static_weights=false

3、代码执行

需要看具体是怎样执行的,需要调试infer_det.py,具体调试可参考上一个笔记的设置。

相关知识

模型训练、评估与推理
学习障碍儿童教育鉴别与评估课件.ppt
小动物医学诊疗思路推理:以问题为导向的体格检查和临床病理学评估
JavaScript基础笔记(四)
学习障碍概述
认识特殊学习障碍
学习障碍儿童教育鉴别与评估详解.ppt
SIGIR 2022 | 从Prompt的角度考量强化学习推荐系统
儿童学习能力障碍的症状
清除高中女生数学学习心理障碍实验中总结

网址: paddleocr学习笔记(四)评估、推理 https://m.mcbbbk.com/newsview294028.html

所属分类:萌宠日常
上一篇: 机器学习训练集、验证集、测试集,
下一篇: MMSegmentation笔记