环境
- windows 10 64bit
Precision和Recall
先看下面的示意图
其中,黄色部分是系统返回的结果,绿色部分是所有对用户有用的结果。两者的重叠部分,叫做TP
: True Positive
;而返回结果的剩余部分,叫做FP
: False Positive
,这部分对用户来说是没有用的;而绿色部分剩下的,叫做FN
: False Negative
,这部分本来是对用户有用的,但是系统却认为没用;最后剩下的灰色部分,叫做TN
: True Negative
,就是真的没用的结果。
可以很容易看出, TRUE/FALSE
是从结果是否分对的角度来看的,而 Positive/Negative
表示 我们认为的 "是"还是"不是"。
由上面可知,Precision
的计算公式应是
Precision
表明系统识别出的结果中,有多少是正确的。
而Recall
的计算公式为
Recall
表明在所有正确的结果中,系统到底能够检出多少。
需要注意的是,Precision
和Recall
是成对出现的,单独出现是没有意义的。比如一张图片中有10只猫,识别系统只检测出了一只猫,并且是正确的,那么Precision
就是100%,但是Recall
却很低,只有10%
下图就是我们经常会看到的P-R
图
当Recall
越来越大时,如果Precision
仍处在一个较高的位置,就说明这是一个好的系统。
F1-Score
F1-Score
或叫 F1-Measure
就是精确值和召回率的调和均值, 也就是
调整下,就是
IoU
交并比IoU(Intersection over Union)
衡量的是两个区域的重叠程度,是两个区域重叠部分面积占二者总面积(重叠部分只计算一次)的比例。如下图
需要注意的是,如果IoU
为0.5,并不意味着每个框刚好有50%与另外一个框是交叉的,这个比例还要更高。
mAP
先来看AP
,即Average Precision
,平均精度,是P-R
曲线下的面积,可以参考上面的P-R
图,AP
值越大,效果越好。
mAP
是mean Average Precision
的缩写,即每一类的AP
的平均值,mAP
取值范围是0~1,越大越好,它是目标检测算法中最重要的评估指标之一。
经常看到的mAP@0.5
,意思就是将IoU
设为0.5时,计算mAP
,而mAP@.5:.95
即表示在不同的IoU
阈值(从0.5到0.95,步长是0.05)上的mAP
。