当前位置:   article > 正文

目标检测常用指标_置信度阈值

置信度阈值

#c 引入 为什么要有指标
评价一个模型,有很多指标。模型往往不能同时兼顾准确率和推理速度。这些指标从不同方面衡量了模型好坏,我们便可根据这些指标来合理选择模型,对模型性能取舍。

1)基础概念

在定义模型性能的指标前,需要定义几个基本概念。
#d TP (True positives)
正类判定为正类
#d FP (False positives)
负类判定为正类
#d FN (False negatives)
正类判定为负类
#d TN (True negatives)
负类判定为负类

#e FP、FP、FN、TN的例子(分类)
有10个人,前6个人是中国人,后4个是日本人。
1、2、3、4、5、6、7(日)、8(日)、9(日)、10(日)
目标:找出所有的日本人;
结果:模型找出的人是 1号、3号、7号、8号、9号;
分析:
此时的positives是
1号、3号、7号(日)、8号(日)、9号(日)(模型认为是日本人)
此时的negatives是
2号、4号、5号、6号、10号(日)(模型认为不是日本人)
我们根据真实标签可知
TP=3 对应positives的7号、8号、9号
FP=2 对应positives的1号、3号
TN=4 对应negatives的2号、4号、5号、6号
FN=1 对应negatives的10号

这几个概念不仅仅在目标检测任务中有,在机器学习任务中都有,不限于视觉任务。
从英文名称可以看出,后面Positives和negatibes对应着预测值。

2)性能指标

#d 精度的定义 精度
P r e c i s i o n = T P T P + F P Precision=\frac{TP}{TP+FP} Precision=TP+FPTP

#e 精度的例子(分类) 精度
在上面的例子中:
P r e c i s i o n = 3 3 + 2 Precision=\frac{3}{3+2} Precision=3+23
#d 精度的意义 精度
TP+FP,可以看出,就是所有的Positives,即模型认为是正确的。但其中只有TP是真正正确的。也就是预测的正例(模型认为是日本人)中,有多少个是真正的正例(真正的日本人)。

#d 召回率的定义 召回率
R e c a l l = T P T P + F N Recall=\frac{TP}{TP+FN} Recall=TP+FNTP
#e 召回率的例子(分类) 召回率
R e c a l l = 3 3 + 1 Recall=\frac{3}{3+1} Recall=3+13
#d 召回率的意义 召回率
TP+FN,对应着所有的真正例。TP也就是,模型拿从所有真正例中选出了几个。也就是所有日本人中,有多少个人本人被选了出去。所以又叫查全率。

以上例子都是分类中的。可以看到,要计算召回率和精度,我们需要TP、FP、FN三个量。在目标检测中,TP、FP、FN又有了新的形式,但本质是不变的。
#e TP、FP、FN的例子(目标检测)
我们需要定义两个阈值,置信度阈值和IOU阈值。
参考资料:阈值参考资料
此时,我们有1个动物检测模型。当模型性能足够好时,图片中所有的动物,图片中所有动物,都会被预测出。(!!!简单起见,模型不会区分是哪种动物。比如狗、马、人、羊都会被模型认为是动物。但我们的模型不care是哪种动物。虽然正常情况都有)
我们有一个图片:
请添加图片描述
随后,我们拿模型进行了一次预测,结果是这样:
请添加图片描述
其中,红色框是我们的标签,绿色框是我们的预测框。每个框都有一个变量,叫做置信度。简单来说,就是模型对这个框可靠程度的一种估计。我们设置了一个值,不要置信度0.3以下的框,或者说置信度阈值为0.3。这样,最终的预测框就成了这样:
在这里插入图片描述
此时,又有1个值,叫做IOU,也就是真实框和预测框的交并比(不过多解释了)。可以明显看到,人的框IOU还不错,但马的框IOU很小。经过计算 IOU人=0.7 IOU马=0.3
我们设置了另一个阈值,也就是IOU阈值。
(1)设IOU阈值为0.5。
现在,我们可以定义,此次检测结果
TP=1 (人身上的预测框)
FP=1 (马身上的预测框)
FN=2 (马和狗的框,并没有正确给出)
P r e c i s i o n = 1 1 + 1 Precision=\frac{1}{1+1} Precision=1+11

R e c a l l = 1 1 + 2 Recall=\frac{1}{1+2} Recall=1+21
(2)设IOU阈值为0.2
TP=2(人和马)
FP=0(无)
FN=1(狗)
P r e c i s i o n = 2 2 + 0 Precision=\frac{2}{2+0} Precision=2+02

R e c a l l = 2 1 + 2 Recall=\frac{2}{1+2} Recall=1+22

可以看出,我们更改IOU阈值,会有不同的精度和召回率。

而且,两者是反向的。一个越高,另一个就会越低。
我们取11个阈值,绘制点于图中,可得到这样的曲线。
请添加图片描述
图片来源:一个知乎大佬的回答

#d AP
AP为既是RP曲线下的面积
#d mAP
mAP就是每所有目标类别AP的均值。
我们之前讨论的例子,是一个特例,也就是动物这个类别。如果继续细分的话,每一个类别都会有自己的RP曲线,进而得出map值。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号