目标检测模型测试的性能指标

模型训练主要有以下几个性能指标和术语,这边做下记录:

IOU(Intersection over Union):即交并比,看下面这张图就非常直观了~
目标检测模型测试的性能指标_第1张图片
三种特殊情况:
1、预测框 = 真实框,可得 IoU = 1,不难看出IoU值越高,预测越准
2、预测框 与 真实框 交集为0,即挨不着,IoU值为0
3、一般IoU = 0.5时,视为预测的框有效,并往上分IoU为0.6、0.7、0.8、0.9值时来讨论对应的召回率,下面会讲解召回率~

引用网上的一个例子,假设我们手上有60个正样本,40个负样本,我们要找出所有的正样本,算法查找出50个(正样本),其中只有40个是真正的正样本:
必须参考这张图:
目标检测模型测试的性能指标_第2张图片
那就是一道填空题:
目标检测模型测试的性能指标_第3张图片

True positives: 将正类预测为正类数 40
True negatives: 将负类预测为负类数 30
False positives: 将负类预测为正类数 10
False negatives: 将正类预测为负类数 20

标红是容易混淆的,记住True打头的就是预测对了~

引出recall(召回率、查全率)

召回率是针对我们原来的样本而言的,它表示的是样本中的正例有多少被预测正确了
两种可能:
1、一种是把原来的正类预测成正类(TP)
2、另一种就是把原来的正类预测为负类(FN)
目标检测模型测试的性能指标_第4张图片
继续看图,一目了然,就是:紫色/(紫色+黄色)
在这里插入图片描述

precision(精度、查准率):

精确率是针对我们预测结果而言的,它表示的是预测为正的样本中有多少是真正的正样本。那么预测为正就有两种可能了,一种就是把正类预测为正类(TP),另一种就是把负类预测为正类(FP),也就是:
目标检测模型测试的性能指标_第5张图片
黄/(黄+棕色)
在这里插入图片描述

其实就是分母不同,一个分母是预测为正的样本数,另一个是原来样本中所有的正样本数

ROC视频教程:
http://www.iqiyi.com/w_19rxnhzlnt.html#curid=16898978309_60b6ca8c563c86ce3aec489fffa14170
目标检测模型测试的性能指标_第6张图片
P-R曲线:
都知道P-R曲线就是横轴是Recall,纵轴是Percision,也知道Recall、Percision这两个怎么求,曲线长下面这样:
目标检测模型测试的性能指标_第7张图片
先来看下Recall 和 Percision 的关系吧~
引用西瓜书的说法:
P和R是一对矛盾的度量,一般来说,P高时,R往往偏低,而R高时,P往往偏低。
举个栗子:
若希望将好瓜尽可能多地选出来,则可通过增加选瓜的数量来实现,如果将所有西瓜都选上,那么所有的好瓜也必然都被选上了,但这样P就会较低;若希望选出的瓜中好瓜比例尽可能高,则可只挑选最有把握的瓜,但这样就难免会漏掉不少好瓜,使得R较低。通常只有在一些简单任务重,才可能使P和R都很高。(西瓜华语录)

再举个具体计算画P-R曲线的例子:
step1:模型训练好啦~
step2:那我们开始测试吧~

二分类问题(预测是car或不是):
描述:有20个测试样本,送入模型,得出的分数(中间列),真正的标签(右边列)
目标检测模型测试的性能指标_第8张图片
然后我们按score进行从高到低排序:
目标检测模型测试的性能指标_第9张图片
好,有了这张表格,就来计算所谓的top-1到top-N,这里我们就计算一下top-5,让大家明白啥叫top-5(其实很简单)

Top-5:
看到上面的表格没,取score最高的前5个,意思就是这前5个咱们的学习器都认为其label是1,即positive,如下:
目标检测模型测试的性能指标_第10张图片
我想TP、FP、FN、TN的计算应该都十分清楚啦~
那就开始计算吧,应该是能懂吧,对照表格数一数就知道了,把表格再放一下:
目标检测模型测试的性能指标_第11张图片
计算过程:
目标检测模型测试的性能指标_第12张图片
(R,P)对应在P-R曲线上:
目标检测模型测试的性能指标_第13张图片
那其他的什么top-3(n),啥的就是取前3个(n)得分高的,说他们的label是1(positive),然后计算相应R和P,又可得到一组(R,P)值。
目标检测模型测试的性能指标_第14张图片
mAP(mean Average Precision)
接下来说说AP的计算,此处参考的是PASCAL VOC CHALLENGE的2010年之前计算方法。首先设定一组阈值,[0, 0.1, 0.2, …, 1]。然后对于recall大于每一个阈值(比如recall>0.3),我们都会得到一个对应的最大precision。这样,我们就计算出了11个precision。AP即为这11个precision的平均值。这种方法英文叫做11-point interpolated average precision。​

当然PASCAL VOC CHALLENGE自2010年后就换了另一种计算方法。新的计算方法假设这N个样本中有M个正例,那么我们会得到M个recall值(1/M, 2/M, …, M/M),对于每个recall值r,我们可以计算出对应(r’ >= r)的最大precision,然后对这M个precision值取平均即得到最后的AP值。计算方法如下:
目标检测模型测试的性能指标_第15张图片
相应的Precision-Recall曲线(这条曲线是单调递减的)如下:
目标检测模型测试的性能指标_第16张图片
AP衡量的是学出来的模型在每个类别上的好坏,mAP衡量的是学出的模型在所有类别上的好坏,得到AP后mAP的计算就变得很简单了,就是取所有AP的平均值。
(摘自博客:https://blog.csdn.net/qq_41994006/article/details/81051150)

看懂了!很棒!!!

召回率与IoU曲线:
目标检测模型测试的性能指标_第17张图片
直观的想一下,IoU设定阈值越高,能够满足的样本是越少的,即TP小了,但是原样本的正样本数不变,故recal值变小,如上图所示。

你可能感兴趣的:(目标检测,卷积神经网络,深度学习)