目标检测网络的常见评价指标

声明:原视频链接https://www.bilibili.com/video/BV13k4y1m7DY?spm_id_from=333.880.my_history.page.click

下面是我的笔记,截图均来自原视频。

举例说明:单类物体检测时,以人脸检测为例。如图

目标检测网络的常见评价指标_第1张图片

绿色实线和虚线框:人脸的真实标注

红色的实线框和虚线框:算法的检测结果

框左上角的红色数字:结果为人脸的概率

从图中我们可以得到以下信息:

算法检测出的人脸个数为:5个(红框)

人脸的真实标注个数为:5个(绿框)

算法检测正确的人脸个数:4个(红绿框重合)

算法虚检:1个(红虚框)

算法漏检:1个(绿虚框)

以上是评价指标的准备工作,下面正式开始。

1.召回率(recall rate)又名查全率

查全率 =    算法检测正确的个数\frac{}{}\div真实标注的个数 = 4 \div5 = 80%

#真实值有5个,算法查了一遍找出来4个,故查全率为80%。

2.精度(precision) 又名查准率

查准率 = 算法检测正确的个数 \div算法检测出的个数(不论对错)= 4\div5 = 80%

#算法查了一遍,给出5个结果,其中4个正确,故查准率80%。

 3.平均精度均值(mAP)

在训练模型时,我们可以人为的设定阈值(如YOLO中的置信度)来调整输出的结果

就是图中红框左上角数字。置信度就是算法给自己打分,分越高表示它越自信(:

比如现在我们设定的置信度为0.8,那么大于0.8的红框会输出:

目标检测网络的常见评价指标_第2张图片

然后我们提高置信度到0.85 ,那么大于0.85的红框就会输出:

目标检测网络的常见评价指标_第3张图片

 提高置信度到0.9,0.925,0.95,那么大于阈值的红框就会输出:

目标检测网络的常见评价指标_第4张图片  目标检测网络的常见评价指标_第5张图片

 目标检测网络的常见评价指标_第6张图片

这个过程中,精度和召回率随阈值提高不断变化。我们把它画到坐标轴上:

目标检测网络的常见评价指标_第7张图片

 #为什么以召回率为横坐标?我以为召回率和置信度是等价的,从上面的过程也可以看出来,随着阈值(置信度)的收窄,红框不断减少,召回率不断下降。

得到精度—召回率曲线,曲线下面的面积就是精度均值(AP)

如果不是单目标检测,如我们检测人脸的同时还检测狗脸猫脸,那么就分别求出人脸的AP,狗脸的AP,猫脸的AP,三种AP相加再除以三。便得到算法的mAP。(平均精度均值)

#如何理解AP,或者说曲线下面的面积代表什么? 首先召回率从0到100的过程,其实是阈值(置信度)不断放松的过程。 我们想要了解一个算法它究竟检测能力如何,可以给它设定一个标准,在这个标准的前提下看它的表现,然后不断提高标准,再看它的表现。看了足够多次数后,我们将它的表现平均一下,就是AP了。

 视频中还有漏检率,每张图平均虚检个数,平均对数漏检率等其他内容。

4. F1  

F1precision(P)recall(R)的调和均值,将精度和召回率糅合在一起,方便对网络性能的评估。

  F1=\frac{2\left ( P\times R \right )}{P+R}      

调和平均是怎样糅合P和R呢?

首先,调和平均的公式:H = \frac{m1+m2+...mn}{\frac{m1}{x1}+\frac{m2}{x2}+...\frac{mn}{Xn}}

这里只有P和R两个需要调和的量,

故下标取到2,则有:H = \frac{m1+m2}{\frac{m1}{P}+\frac{m2}{R}}

 

m1,m2的意义是参数的权重,也就是P和R的权重,在评价一个网络时我们默认P和R起着同样的作用,那么就是1:1的权重,让m1=m2便可,随便取个m1=m2=1。

就可以的到:H=\frac{2}{\frac{1}{P}+\frac{1}{R}} \rightarrow F1=\frac{2(P\times R)}{P+R}

这样就可以看出调和平均的意义了,在网络的实际应用中我们可能更看重P,那么就可以让m1大些,更看重R,就可以让m2大些,方便找出更符合我们要求的网络。

为什么要用F1呢,有P和R还不够吗?

不够。假设现在有5种模型

mode                    P                    R
1                  80%                 90%
2                  95%                 75%
3                  85%                 85%
4                  90%                 85%
5                  80%                 95%

请问哪种模型效果更好呢。 通过一段时间的分析你可能会得到4更好的结论。但如果这是一个检测口罩佩戴的模型,更看重R,那么哪种模型效果更好呢。

所以F1的实际意义就在于“调和”,我们可以通过单一的指标,快速的确定一个模型是否更加优秀,或者更加符合我们的预期要求。

你可能感兴趣的:(目标检测,人工智能,计算机视觉)