目标检测模型评估指标

一:准确率、错误率

准确率:分类正确的样本除以总样本数。

公式:准确率 = 正确预测的正反例数 / 样本总数

错误率:与正确率相反,分类错误的样本除以总样本数。

公式:错误率 = 错误预测的正反例 / 样本总数 = 1 - 准确率

准确率一般用来评估模型的全局准确程度。

二:混淆矩阵

真实值是positive,模型认为是positive的数量(True Positive=TP)
真实值是positive,模型认为是negative的数量(False Negative=FN):这就是统计学上的第二类错误(Type II Error)
真实值是negative,模型认为是positive的数量(False Positive=FP):这就是统计学上的第一类错误(Type I Error)
真实值是negative,模型认为是negative的数量(True Negative=TN)
将这四个指标一起呈现在表格中,就能得到如下这样一个矩阵,我们称它为混淆矩阵(Confusion Matrix):

在这里插入图片描述
混淆矩阵的指标
预测性分类模型,肯定是希望越准越好。那么,对应到混淆矩阵中,那肯定是希望TP与TN的数量大,而FP与FN的数量小。

三: 召回率、精确率

召回率:

又被称为查全率,预测为正例(positive)的样本中正确的数量除以真正的Positive的数量,即:(召回率是针对样本的,表示样本中的正例有多少被预测正确了。)
Recall=TP/(TP+FN)=TP/P

精确率:

又被称为查准率,被分为正例的示例中实际为正例的比例,即:(精确率是针对预测结果的,表示预测为正的样本中,有多少确实为正样本)
Precision=TP/(TP+FP)

在这里插入图片描述
在这里插入图片描述

四:P-R曲线、平均精度(AP)、F指标

P-R曲线

选取不同阈值时对应的精度和召回画出来
在这里插入图片描述
总体趋势,精度越高,召回越低(假设将所有样本预测为正,召回率很高,精准率很低),当召回达到1时,对应概率分数最低的正样本,这个时候正样本数量除以所有大于等于该阈值的样本数量就是最低的精度值。

平均精度(AP)

P-R曲线围起来的面积,通常来说一个越好的分类器,AP值越高。
AP是计算单个类别的平均精度。AP=
在这里插入图片描述
也与曲线下面积相等。在实践中,该积分的值近似于在每个可能的阈值处的精确度乘以召回率的变化值之和:
在这里插入图片描述
例如:
用训练好的模型得到所有测试样本的confidence score,每一类(如car)的confidence score保存到一个文件中(如comp1_cls_test_car.txt)。ground truth label通过预测的bbox与ground truth的iou确定为正样本或负样本。
假设共有20个测试样本,每个的id,confidence score和ground truth label如下:​​(排序后)
在这里插入图片描述

我们得到top-5的结果,前score最高的前5个样本,预测label为1,即:
在这里插入图片描述
即:此处选择阈值为0.45,小于此阈值的样本就预测为假。
其中,false negatives是指第9,16,7,20张图片,true negatives是指第1,18,5,15,10,17,12,14,8,11,3张图片。

那么,这个例子中Precision=2/5=40%,意思是对于car这一类别,我们选定了5个样本,其中正确的有2个,即准确率为40%;Recall=2/6=30%,意思是在所有测试样本中,共有6个car,但是因为我们只召回了2个,所以召回率为30%。此时为下图中第5个样本点。同理图中第一个样本点:P=1,R=1/6,第二个样本点,考虑前两个样本,P=1,R=2/6=1/3。
这个例子的precision-recall曲线如下:
在这里插入图片描述
实际多类别分类任务中,我们通常不满足只通过top-5来衡量一个模型的好坏,而是需要知道从top-1到top-N(N是所有测试样本个数,本文中为20)对应的precision和recall。显然随着我们选定的样本越来也多,recall一定会越来越高,而precision整体上会呈下降趋势。把recall当成横坐标,precision当成纵坐标,即可得到常用的precision-recall曲线。

AP计算(近似计算):假设这N个样本中有M个正例,那么我们会得到M个recall值(1/M, 2/M, …, M/M),对于每个recall值r,我们可以计算出对应(r’ >= r)的最大precision,然后对这M个precision值取平均即得到最后的AP值。

F指标(F-MeasureF-Measure)

实际应用到分类时,需要综合考虑精度,召回。选取一个阈值,F-Measure是选取这个阈值的常用手段:
在这里插入图片描述
\beta 是关与召回的权重,大于1说明更看重召回的影响,小于1则更看重精度,等于1相当于两者的调和平均,这里得到一个常用的指标F1-Measure。

F1指标(F1-Measure)

在这里插入图片描述
如果一个学习器的P-R曲线被另一个学习器的P-R曲线完全包住,则可断言后者的性能优于前者,否则不好判断优劣。应此我们可以使用F1指标来判断,(即召回率等于精确率时)

五:受试者工作特征曲线(Receiver Operating Characteristic,ROC)、AUC(Area Under Curve)、EER(Equal Error Rate)

通过选取不同的阈值还可以得到另外一种常见的受试者工作特征曲线,简称ROC曲线,方法类似P-R曲线,根据不同的阈值,横轴为FPR,纵轴为TPR的曲线。
在这里插入图片描述
ROC关注两个指标:
1) True Positive Rate ( TPR ) = TP / [ TP + FN] = TP / P ,TPR代表能将正例分对的概率
2)False Positive Rate( FPR ) = FP / [ FP + TN] = FP / N,FPR代表将负例错分为正例的概率
在这里插入图片描述
通过选取不同的阈值可以画出上图所示的ROC曲线,FPR和TPR是呈正比关系的,我们希望FPR越小,TPR越大。理想的分类器对应的ROC曲线和(0,0)、(0,1)、(1,1)所在折线重合。

AUC(Area Under Curve):
AUC表示的意思为,随机从样本中抽出一个正样本和一个负样本,分类器预测正样本为正的概率为p1,预测负样本为正的概率为p2,AUC则表示了p1 > p2的概率。
AUC即ROC曲线下的面积,而ROC曲线的横轴是FPRate,纵轴是TPRate,当二者相等时,即y=x,如下图:
在这里插入图片描述
它所表示的意义为无论是样本是正样本还是负样本,分类器预测两者为正样本的概率是一样的,换句话说,分类器对于正例和负例毫无区分能力,和抛硬币没什么区别。这是最差的情况,此时分类器的AUC值为0.5。

而我们希望分类器达到的效果是:对于真实类别为正类的样本,分类器预测为正类的概率(即TPRate),要大于真实类别为负类而预测类别为正类的概率(即FPRate),即y>x,因此大部分的ROC曲线长成下面这个样子:
在这里插入图片描述

P-R曲线和ROC曲线有什么区别,如何选择呢?

在这里插入图片描述
说明:图a和b是原始样本的ROC曲线和PR曲线,图c和d是将负样本增加10倍后的ROC曲线和PR曲线。
1)从a和c可以看出,负样本增加10倍后,ROC曲线变化不大。分析一下为什么变化不大,其Y轴是TPR,x轴是FPR,当固定一个threshold来计算TPR和FPR的时候,虽然负样本增加了10倍,也就是FPR的分母虽然变大了,但是正常概率来讲,这个时候超过threshold的负样本量也会随之增加,也就是分子也会随之增加,所以总体FPR变化不大,从这个角度来看的话正负样本稍微不均衡的话,对KS影响也不大,因为KS=max(TPR-FPR),这个前提是正负样本的量都比较大的情况下,因为只有样本量比较大的情况下,根据大数定律,计算出来的频率才非常接近于真实的概率值,有资料显示正负样本都超过6000的量,计算的频率就比较接近概率。所以在样本量都不是很大的情况下,如果样本还极端不均衡的话,就会有一些影响。由此可见,ROC曲线能够尽量降低不同测试集带来的干扰,更加客观地衡量模型本身的性能。

2)从b和d图可以看出,负样本增加10倍后,PR曲线变化比较大。也分析一下为什们变化大,其Y轴是precision,x轴是recall,当负样本增加10倍后,在racall不变的情况下,必然召回了更多的负样本,所以精确度会大幅下降,b和d图示也非常明显的反映了这一状况,所以PR曲线变化很大,所以PR曲线对正负样本分布比较敏感。

如何选择呢?
在很多实际问题中,正负样本数量往往很不均衡。比如,计算广告领域经常涉及转化率模型,正样本的数量往往是负样本数量的1/1000,甚至1/10000。若选择不同的测试集,P-R曲线的变化就会非常大,而ROC曲线则能够更加稳定地反映模型本身的好坏。所以,ROC曲线的适用场景更多,被广泛用于排序、推荐、广告等领域。
但需要注意的是,选择P-R曲线还是ROC曲线是因实际问题而异的,如果研究者希望更多地看到模型在特定数据集上的表现,P-R曲线则能够更直观地反映其性能。
PR曲线比ROC曲线更加关注正样本,而ROC则兼顾了两者。
AUC越大,反映出正样本的预测结果更加靠前。(推荐的样本更能符合用户的喜好)
当正负样本比例失调时,比如正样本1个,负样本100个,则ROC曲线变化不大,此时用PR曲线更加能反映出分类器性能的好坏。这个时候指的是两个分类器,因为只有一个正样本,所以在画auc的时候变化可能不太大;但是在画PR曲线的时候,因为要召回这一个正样本,看哪个分类器同时召回了更少的负样本,差的分类器就会召回更多的负样本,这样precision必然大幅下降,这样分类器性能对比就出来了。

六:平均精度均值(Mean Average Precision,mAP)、IOU(Intersection Over Union)

评价一个检测算法时,主要看两个指标,即是否正确的预测了框内物体的类别;预测的框和人工标注框的重合程度。

平均精度均值(Mean Average Precision,mAP):
mAP即是把每个类别的AP都单独拿出来,然后计算所有类别AP的平均值,代表着对检测到的目标平均精度的一个综合度量。
在这里插入图片描述
IOU(Intersection Over Union):
IOU用来衡量预测的物体框和真实框的重合程度,即:
在这里插入图片描述
在这里插入图片描述
蓝色的框是:GroundTruth
黄色的框是:DetectionResult
绿色的框是:DetectionResult ⋂GroundTruth
红色的框是:DetectionResult ⋃GroundTruth

即两个框的交并比,评价一个算法的时候,一种常见的方法是先设置一个IOU的阈值,只要算法找到的IOU大于这个阈值,就是一个有效的检测,把记过拿出来计算mAP作为最终的评价指标。

参考:https://blog.csdn.net/zdh2010xyz/article/details/54293298
参考:https://www.jianshu.com/p/0734d1592c4b
参考:https://www.cnblogs.com/gczr/p/10137063.html

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值