当前位置:   article > 正文

PaddlePaddle飞桨OCR文本检测——检测模型测试与评估(平均准确率、平均召回率、修改交并比IOU)(四)_mobilenetv3_large_x0_5_pretrained

mobilenetv3_large_x0_5_pretrained

接上一篇:检测模型训练(二)
PaddlePaddle环境的构建详见专栏内其他文章。

本文使用MobileNetV3_large_x0_5_pretrained预训练检测模型,评估该检测模型在icdar2015上的检测效果。

在这里插入图片描述
icdar2015检测数据集如上图所示。

首先修改配置文件,文件路径如下图所示
在这里插入图片描述
这是MobileNetV3_large_x0_5_pretrained模型的配置文件,如果用的是其他模型,请使用其他的.yml配置文件。
在这里插入图片描述
打开.yml配置文件,在Architecture标签下可以看到该配置文件适用的模型是MobileNetV3,算法是DB,其他算法模型效果列表:
在这里插入图片描述
在Global标签下,写上模型的路径。注意断点路径checkpoints是优先使用的。在这里插入图片描述
下一步直奔eval标签下的测试集路径:
在这里插入图片描述
快速评估,在G:\python_OCR\PaddleOCR-dygraph路径下打开cmd(不管放在哪里,一定要在PaddleOCR-dygraph路径下)
运行下面这行代码:

python tools/eval.py -c configs/det/det_mv3_db.yml PostProcess.box_thresh=0.5 PostProcess.unclip_ratio=1.5
  • 1

其中-c后面是刚刚修改的参数文件路径。

PostProcess.box_thresh=0.5是算法内置的一个阈值,大于这个阈值会认为检测到,小于这个阈值就不会认为检测到。设置这个值小于0.5,检测到的框数量会增加。当发现模型在实际应用中很难检测出图片中的文本时,可以适当调低该值。

PostProcess.unclip_ratio=1.5表示检测框的大小,值越大检测框越大。

在paddleorc.py中,默认值如下所示:
在这里插入图片描述
下面两个图可以生动反映出调整PostProcess.unclip_ratio的结果:
上方的图PostProcess.unclip_ratio=2.0,下放的图PostProcess.unclip_ratio=0.5

在这里插入图片描述
1.5
可以看到当PostProcess.unclip_ratio减小时,框更小了,更贴近于文字了。

哦对,忘了放检测单张图片的代码了:

python tools/infer_det.py -c configs/det/det_mv3_db.yml -o Global.infer_img="./doc/imgs_en/img_12.jpg" Global.load_static_weights=false PostProcess.unclip_ratio=0.5
  • 1

Global.infer_img可以是任意图片,paddle很贴心的给你内置了几张在doc文件夹里,注意icdar是英文数据集只能识别出英文。

言归正传,看eval的效果:

在这里插入图片描述
precision是平均准确度,recall是平均召回率,hmean是这两项的调和平均。
看起来效果很差……不过没关系,这只是一个预训练模型。

降低交并比IOU可以有效提高准确率(掩耳盗铃)
交并比定义参考https://blog.csdn.net/ybdesire/article/details/82056485
在这里插入图片描述

修改IOU的方法如下:
在这里插入图片描述
默认是0.5

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/352478?site
推荐阅读
相关标签
  

闽ICP备14008679号