Yolov3训练模型没有框(理论上一定有用的解决方案)

问题描述

不知道有多少人遇到过和我一样的情况,这个问题困扰了我很长时间,这里特别做一下笔记。

本人在Windows10环境下,使用Pycharm进行模型训练。训练的时候一切正常,loss值也有明显下降,但是在使用模型的时候发现与预料结果截然不同。

训练结果如下图:
在这里插入图片描述
图片中并没有出现锚框。

解决方案

既然是Yolo模型,那么你的代码中肯定有一部分是用来描述产生锚框的条件的。

在这里插入图片描述
每个人的代码不同,但是一定有一部分类似的代码。

其中score表示生成锚框的阈值,只有当预测的可信度高于你设定的阈值时,才会显示锚框。

iou表示预测的矩形框和真实目标的交集与并集之比。

换句话说,你只要把这两个参数的值改小后,原本不会显示出来的锚框就会显示了。

修改后的效果:
在这里插入图片描述

总结

这种方案在理论上一定是可行的,但是这种做法治标不治本。

问题的本质是,你训练模型的可行度太低。就算你把锚框显示出来了,本质问题也没有得到丝毫改善。

举个例子:
在这里插入图片描述
在这张图片中,你确实可以把这些锚框都显示出来,但是这样的显示方式实在是没有任何意义。

所以,调整这些参数只是为了让大家对Yolov3的显示机制有进一步的体会,关于解决没有锚框问题的核心方法请参照我的另一篇文章:Yolov3模型没有框的解决方案之——提高训练模型的置信度
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Nire_Yeyu/article/details/105385043