YOLOV5 模型评价

一、概念解析

在训练yolo的时候,test.py会输出四个值,如下

       Class      Images     Targets           P           R      [email protected]  [email protected]:.95: 100%|██████████| 146/146 [00:07<00:00, 20.13it/s]
                 all         146           0           0           0           0           0

1.PR值

P R比较好理解,分别指准确率和召回率,P代表所预测出的框是gt框的比例,R代表全部gt框被预测出的比例。推测这里的PR值是在给定的置信度阈值和IOU阈值下得到的。

2.mAP

AP的意思是精度,综合了PR值的信息,

map参考如下

[email protected][email protected]:0.95 是什么意思,YOLOv5_K同学啊 -CSDN博客

[email protected]:即将IoU设为0.5时,计算每一类的所有图片的AP,然后所有类别求平均,即mAP

[email protected]:.95(mAP@[.5:.95]):表示在不同IoU阈值(从0.5到0.95,步长0.05)(0.5、0.55、0.6、0.65、0.7、0.75、0.8、0.85、0.9、0.95)上的平均mAP。

什么是AP呢?AP是不同Recall下Precision的均值,也就是对应PR曲线的面积。对于一个PR曲线来说,每一个阈值对应着一个P和R。当阈值从0到1走过,绘制出每个阈值对应的P和R值,得到的就是PR曲线。而m则代表各类别的平均。

这里一定要分清阈值和IOU阈值:IOU阈值是交并比的阈值,而阈值是来判断你有没有判断错。阈值指得是置信度,而置信度又包括前景概率和类别概率。

以AP0.5为例,就是认为只有重合度IOU高于0.5才算预测正确。我们先假设为IOU=0,也就是说只要某个框预测出了这个物体,不管他圈的准不准,我们都认为他预测对了。如果我们调高置信度阈值,会预测出的框就会比较少;而如果调低置信度阈值,则预测对的则会比较多,同时PR值也会发生相应变化。这样绘制出的PR曲线的面积就是AP0。

更进一步的,我们加入了AP0.5。本来可能只要重合上一点儿就算预测对了,但由于设置了IOU0.5,所以那些有一点儿重合的都被当成预测错的了。这样,假如有50个物体,原来在某个阈值下,预测出了80个框,预测对了40个。现在在IOU0.5情况下,还是预测出了这80个框,却只有20个预测对了。准确率从0.5降至0.25,召回率从0.8降至0.4。(准确率召回率双双下降,就算调整阈值也救不回来,整个曲线往原点缩小),自然AP值也下降了。

 

y

猜你喜欢

转载自blog.csdn.net/m0_58348465/article/details/122338107