目标检测评测简介

基本概念

真实情况预测结果
正例负例
正例TP(真正例)FN(假负例)
负例FP(假正例)TN(真负例)

其中,
样本总数(GT) = TP + FP + TN + FN
正例的总数 = TP + FN
预测正例的总数 = TP + FP
从TP、FP、TN、FN和GT,我们可以延伸,继续定义
查准率(Precision):反映模型对于某个类别分类结果的准确程度;即预测为正例的样本中,确实是正例的比例,计算公式为Precision = TP /(TP + FP)
召回率(Recall):反映模型对于某个类别真值的召回程度;即真值的正例中,被正确判断为正例的比例,计算公式为Recall = TP / (TP + TN)

举个栗子

真实情况预测结果
绿色黄色红色
绿色101412
负例2924
红色511797
如果GT为绿色,黄色和红色就是负例 查准率:Precision = 1014 /(1014 + 2 + 5) = 99.31% 召回率:Recall = 1014 / (1014 + 1 + 2) = 99.71%

Average Precision(AP)

一般情况下,模型都会有一个类似置信度的值(score)来判断分类结果的预测概率,对于单个类别,通常会把高于某个置信度阈值(score_threshold)的分类结果当作预测的正例,低于阈值的结果当作分类预测的负例。
这样,得到的某个类别的Precison和Recall,实际上是关于score的一个函数:P(score)、R(score);我们可以把P(score)和R(score)分别作为y和x的坐标,按照score从大到小的排序方式,绘制一条折线,这条折线被称为P-R曲线,P-R曲线上的每个点代表了模型在某个Recall下的Precision。
在这里插入图片描述
而P-R曲线与x,y轴所包围的面积,被称为Average Precision,简称AP。它代表的是不同Recall下的平均Precision。AP比某个置信度阈值下的Precision或Recall更能反映模型的综合表现,适合比较不同置信度发布的模型结果,因为AP与score无关。此外,mAP表示多个物体类别的平均AP
注:实际计算AP的不同方式,在细节上略有不同,具体请参考评测代码。

检测模型常用指标

检测模型,这里特指框(bounding box)的检测模型,比如车辆检测,行人检测等。在检测场景中,对于TP的定义,除了分类要正确,还要求预测的检测框和GT的检测框满足一定的要求。对于2D检测而言,这个要求一般指面积交并比(Intersection over Union, IoU)大于某个阈值(常见的有0.5,0.7);对于3D检测而言,这个要求一般指体积交并比大于某个阈值。
交并比,指的是两个目标的交集和并集之比,计算的可以是长度,面积或者体积,下面以面积为例,介绍一下。
在这里插入图片描述
如上图所示,这里有两个框,分别为蓝色的GT框和黄色的预测框,两者的交集为图中深蓝色的部分,此时有:

当预测框预测的类别与GT框的类别相同,并且A,B之间的IoU大于某个阈值时,预测框称为TP。反之,类别错误或者检测框不满足IoU的条件,称为FP。哪些没有匹配到正确预测框的GT框被称为FN,与分类场景不同的是,检测场景下并没有TN的说法。
基于检测的TP、FP、FN定义,可以使用Precision、Recall、AP、P-R曲线等指标来进行评价。此外,为了进一步评价检测模型的检测框的精度,还可以参考关于检测框精度的误差评价指标:

2D框:中心点,框的左上右下四条边和框的宽高的L1误差
3D框:中心点、长宽高和角度误差

延伸阅读

道理都懂,那么如何绘制P-R曲线呢?这里举一个小例子,假设有一个目标检测数据集,这个数据集中有7张图片,下面是对于某一个类别的检测结果,其中,红色的框是预测框,绿色的框是GT框,数字则是该预测框对应的置信度score:
在这里插入图片描述
对于上面的预测结果,按照置信度进行排序(IoU > 0.5则判定为正样本),可以统计出下面这个表格:

ImagesDetectionsscoresTPFPACC TPACC FPPrecisionRecall
Image 5R95%101010.0666
Image 7Y95%01110.50.0666
Image 3J91%10210.66660.1333
Image 1A88%01220.50.1333
Image 6U84%01230.40.1333
...........................

第三列表示预测框的置信度(scores)排名,第四列表示当前目标框预测正确与否,倒数第一,第二列实际上是TopK的Precision和Recall。前文说过,Precision表示预测出来的正样本正确的比例有多少。那么Top1时,预测了一个正样本,且预测正确,所以Precision=1.0。同理可以算出Recall=0.0666,即总共15个正样本,却只预测出来1个,召回比例就是0.0666。同理TopK的Precision和Recall均可以计算。
上述例子中,随着K的增大,Recall和Precision会一增一减。那么以Recall为横轴,Precision为纵轴,就可以画出一条P-R曲线如下(实际计算时,当Precision下降到一定程度时,后面就直接默认为0,不算了。
在这里插入图片描述

上图P-R曲线下的面积就定义为AP。

参考文献

https://www.cnblogs.com/ywheunji/p/13376090.html
https://zhuanlan.zhihu.com/p/60834912

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值