最易懂的解释:目标检测中的评估指标(IoU,AP,mAP)

一,IoU的计算:

IoU是用来衡量两个box的重合度的,值越大重合度越高,求法简单来说就是交集/并集。

二, TP,FP,FN,TN的解释:

原本的解释是:T/F表示模型预测的对错,P/N表示模型认为是正样本还是负样本。这样说不好理解。下面通俗的解释:

模型预测出来的所有box都是P,模型没有预测出来的box都是N.

TP:预测框和GT(GroundTruth)的IoU, 大于阈值threshold

FP:预测框和GT的IoU,小于阈值threshold 

目标检测中不区分FN,TN。因为N没有预测出来,所以不存在TN,FN的区分

三,Precision和Recall的解释:

precision = \frac{TP}{TP+FP}=\frac{TP}{All Pred}前一个等号是公式,后一个等号是实际表达的意思。

precision: 准确率(也叫查准率,反映查得准不准)

这个公式表达的意思是:模型预测出来的所有box中,预测正确(IoU大于阈值)的所占的比例。

recall = \frac{TP}{TP+FN} = \frac{TP}{GT}同上。

公式表达的意思是: 所有GT中,预测正确所占的比例。

recall: 召回率(也叫查全率,反映查得全不全)

四,AP,mAP的求法:

AP(Average Precision)是用来评价一个模型的综合性能的.

AP的计算针对某一个类(label)来说的,一般来说,我们模型预测box的时,会有物体分类的置信度。例如:预测的物体有5类,box的坐标 [ x1,y1,x2,y2 ],置信度为 [0.1,0.15,0.5,0.15,0.3]。针对第1类计算AP,那么取置信度为0.1,说白了计算哪一类就取哪一类的置信度

这里我就不画图了,直接上别人的图。下面的讲解是针对每一类来说的

这个数据集有7张图,所有GT(绿色的box)有15个,预测的所有box(红色的box,从A到Y)有24个。如下图:

 对每一个预测的box置信度由大到小排,求与GT的IoU,大于threshold为TP,否则为FP。

下图就是置信度从大到小排序后的结果,每一张图像的precision和recall都是上面累加下来的结果。求法就是按照precison和recal的公式,只不过TP,FP都是依次累加的。

例如,第一行:precision=\frac{1}{1} ,recall = \frac{1}{15}。第二行:precision = \frac{1}{1+1}recall = \frac{1}{15},第四行:presion = \frac{1+1}{4},  recall = \frac{2}{15}.其他的以此类推。

 得到precision和recall序列后,就要求这一类的AP。

1.  11点插值法计算AP:

横轴为recall,纵轴为precision,画图。

采样11个recall值[0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1],不是平均插值,而是取recall大于等于r时最大的precision,有点像外包络。得到对应的11个precision值,取这11个precision的平均值:

如下表所示:

recall大于0的结果中,最大的precision,recall大于0.1的所有结果中,最大的precision,以此类推。

 如下图所示:通过相加取平均值的方法得到这一类的AP。

 2.  所有点插值法计算AP:

按照横轴recall的值划分,取每一个recall区间内,precision的最大值

 求每一个recall区间上小长方形的面积,底为:区间的长度,高为:区间的最大precision,最后把每一个长方形的面积相加就是这一类的AP。两种求法结果是一样的。

 前面的AP是求的一类的AP,最后把所有类别的AP加起来处以分类就是mAP。

mAP = \frac{AP1+AP2+....+APn}{n},n表示label有n类。

至于代码部分网上都有,大家可以自行参考,但是思想就是这么个思想。这一篇讲的是目标检测中的mAP的求法,下一篇我会介绍动作检测中的v-mAP的求法,它们有相同点,也有不同点。但我查了一圈好像网上没有关于V-mAP的参考,所以自己阅读了相关的论文,以及看别人的代码,自己很有感悟,下一篇分享出来!!!

参考链接:

https://blog.csdn.net/qq_35916487/article/details/89076570?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-89076570-blog-108469465.235%5Ev38%5Epc_relevant_default_base&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-89076570-blog-108469465.235%5Ev38%5Epc_relevant_default_base&utm_relevant_index=1

https://www.zhihu.com/question/67546783

猜你喜欢

转载自blog.csdn.net/qq_58484580/article/details/131515656