目标检测中一些性能指标的含义

血红的双手。 提交于 2020-03-04 23:49:42

1. TP、FP、TN、FN的含义

对于一个二分类的预测来说,情况可以描述如下:

真实情况 预测结果
预测为正 预测为反
正例 TP(对正例) FN(错反例)
反例 FP(错正例) TN(对反例)

TP(True Positives):预测它是正样本,预测了;
TN(True Negatives):预测它是负样本,预测了;

FP(False Positives):预测它是正样本,预测了;
FN(False Negatives):预测它是负样本,预测了。

2. Precision(精度,查准率)和Recall(召回率,查全率)的概念

Precision=TPTP+FPPrecision=\frac {TP}{TP+FP} 理解为:在分类器预测的所有正例中,预测正确的占多少比例(找得准);

Recall=TPTP+FNRecall=\frac {TP}{TP+FN} 理解为:一共有这么多正例,分类器找出了其中的百分之多少(找得到);

由于所有情况组成的全集是TP+FN+FP+TNTP+FN+FP+TNPrecisionPrecisionRecallRecall这两个值很难同时都很高。

补充一下P-R曲线——
按照每个样本的置信度从高到低排序,排在前面的是学习器认为“最有可能”是正例的样本,反之是“最不可能”的,二分类的阈值作用就是给这个排列一个截断点,前一部分判作正例,后一部分判作反例,当我们依次把每一个样本的置信度作为阈值时,可以得到与样本总数相同的那么多组P-R值,此时以P为纵轴,R为横轴,画出这些点的连线就是P-R曲线,平衡点(Break-Even Point)是当P-R曲线上P=R时刻的点,用来综合考察精度和召回率来评价学习器性能。

3.ROC与AUC

ROC(Receiver Operating Characteristic)曲线——

纵轴:TPR=TPTP+FNTPR=\frac{TP}{TP+FN},预测对的正例在所有正例里占比;

横轴:FPR=FPTN+FPFPR=\frac{FP}{TN+FP},没预测出的反例在所有反例里的占比;

理想情况是希望TPR越高、FPR越低越好,因此(0,1)(0,1)点是理想模型在ROC上的取值,过原点对角线上的点就表示随机猜测模型。
实际工程中,样本是有限个,分类器对每一个样本预测之后给出一个置信度,将所有样本按照置信度从高到低重新排序,当我们把阈值设为第一个(置信度最高的)样本的置信度值时,分类器把所有样本都预测成反例,则TPR和FPR都为0,在ROC坐标系上(0,0)(0,0)点表示,然后把阈值设为第二个样本的置信度值…以此类推,这样每一个阈值都对应ROC上一个点,连线绘出ROC曲线图,AUC(Area Under ROC Curve)表示曲线包括的面积,AUC越大说明学习器性能越好。
图片源于西瓜书

4.举例说明目标检测中评价标准mAP的含义

https://blog.csdn.net/hsqyc/article/details/81702437#comments
这篇博客写的很通俗易懂,转来一用。

mAP源自于pascal voc 2012的评价标准。
AP (average Precision):平均精度,在不同recall下的最高precision的均值。
mAP (mean AP):平均精度的均值,各类别的AP的均值。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
例子说的是人脸检测模型对三张图片进行预测,首先通过IOU是否大于0.5来判断预测结果类型,可以看出,预测框1是TP,框2是FP,框3是TP。
然后把每一个预测框按照置信度从高到低排序,依次设置阈值为每个预测框的置信度,计算P-R值:
i.阈值为0.9,则TP是1,TP+FP是1,因此P=1,TP+FN是3,因此,R=1/3;
ii.阈值为0.8,则TP是1,TP+FP是2,P=1/2,R=1/3;
iii.阈值为0.7,则TP是2,TP+FP是3,P=2/3,R=2/3。
根据这三组P-R值可以绘成下图:
在这里插入图片描述
然后每个“峰值点”往左画一条线段直到与上一个峰值点的垂直线相交。这样画出来的红色线段与坐标轴围起来的面积就是“人脸”这个分类AP值:AP=11/3+2/31/3=5/9AP = 1*1/3 + 2/3*1/3=5/9mAP就是把所有类别的AP值求出取平均值。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!