目标检测评价指标总结

如题所述

第1个回答  2022-06-02
今天我们从交并比,准确率,精度,召回率, FPR , F1-Score , PR 曲线, ROC 曲线, AP 的值, AUC 的值以及很重要的 mAP 指标,模型的检测速度和非极大值抑制的相关方面来学习下目标检测中的评价指标。

交并比 IoU 是英文 intersection over union 的简写,意思是检测结果的矩形框与样本标注的矩形框的交集与并集的比值。如下图:

上图中假设 A 为模型的检测结果, B 为 Ground Truth 即样本的标注结果,那么 A 与 B 相交的区域即为 A∩B ,而 A 与 B 的并集即为 AB 共有的区域 A∪B ,那么 IoU 的计算公式即为: IoU = (A∩B) / (A∪B)

这个还是很简单就能理解的,反应到样本图上就如下图:

其中上图蓝色框框为检测结果,红色框框为真实标注。

一般情况下对于检测框的判定都会存在一个阈值,也就是 IoU 的阈值,一般可以设置当 IoU 的值大于 0.5 的时候,则可认为检测到目标物体。

不管是看论文,博客啥的,都会经常看到一堆简写, TP , TN , FP , FN ,这些简写经常见到,怎么能够很好的记住呢?其实是这样的:

那么从上面可以知道:

这样记起来是不是就好记了呢?知道了这几个定义,下面就好理解了。

准确率 accuracy 是我们最常见的评价指标,这个很容易理解,就是被分对的样本数除以所有的样本数,通常来说,正确率越高,分类器越好,如下:

上公式中的 TP+TN 即为所有的正确预测为正样本的数据与正确预测为负样本的数据的总和, TP+TN+FP+FN 即为总样本的个数。

精度 precision 是从预测结果的角度来统计的,是说预测为正样本的数据中,有多少个是真正的正样本,即“找的对”的比例,如下:

上公式中的 TP+FP 即为所有的预测为正样本的数据, TP 即为预测正确的正样本个数。

召回率 recall 和 TPR (灵敏度( true positive rate ))是一个概念,都是从真实的样本集来统计的,是说在总的正样本中,模型找回了多少个正样本,即“找的全”的比例,如下:

上公式中的 TP+FN 即为所有真正为正样本的数据,而 TP 为预测正确的正样本个数。

FPR(false positive rate) ,它是指实际负例中,错误的判断为正例的比例,这个值往往越小越好,如下:

其中, FP+TN 即为实际样本中所有负样本的总和,而 FP 则是指判断为正样本的负样本。

F1 分数( F1-score )是分类问题的一个衡量指标。 F1 分数认为召回率和精度同等重要, 一些多分类问题的机器学习竞赛,常常将 F1-score 作为最终测评的方法。它是精确率和召回率的调和平均数,最大为1,最小为0。计算公式如下:

此外还有 F2 分数和 F0.5 分数。 F2 分数认为召回率的重要程度是精度的2倍,而 F0.5 分数认为召回率的重要程度是精度的一半。计算公式为:
更一般地,我们可以定义 Fβ ( precision 和 recall 权重可调的 F1 score ):

常用的如 F2 和 F0.5 。

上面学习了关于精度,召回率, FPR ,和 F1-Score 的知识,但是通常,只有那些往往不能够直观的反应模型性能,所以就有了 PR 曲线, ROC 曲线, AUC 值。

PR 曲线,就是 precision 和 recall 的曲线, PR 曲线中 precision 为纵坐标, recall 为横坐标,如下图:

那么 PR 曲线如何评估模型的性能呢?从图上理解,如果模型的精度越高,召回率越高,那么模型的性能越好。也就是说 PR 曲线下面的面积越大,模型的性能越好。绘制的时候也是设定不同的分类阈值来获得对应的坐标,从而画出曲线。

PR 曲线反映了分类器对正例的识别准确程度和对正例的覆盖能力之间的权衡。

PR 曲线有一个缺点就是会受到正负样本比例的影响。比如当负样本增加10倍后,在 racall 不变的情况下,必然召回了更多的负样本,所以精度就会大幅下降,所以 PR 曲线对正负样本分布比较敏感。对于不同正负样本比例的测试集, PR 曲线的变化就会非常大。

AP 即 Average Precision ,称为平均准确率,是对不同召回率点上的准确率进行平均,在 PR 曲线图上表现为 PR 曲线下面的面积。 AP 的值越大,则说明模型的平均准确率越高。

ROC 的全称是 Receiver Operating Characteristic Curve ,中文名字叫“受试者工作特征曲线”,对于 ROC 来说,横坐标就是 FPR ,而纵坐标就是 TPR ,因此可以想见,当 TPR 越大,而 FPR 越小时,说明分类结果是较好的。如下图:

ROC 曲线有个很好的特性,当测试集中的正负样本的分布变换的时候, ROC 曲线能够保持不变。
ROC 曲线可以反映二分类器的总体分类性能,但是无法直接从图中识别出分类最好的阈值,事实上最好的阈值也是视具体的场景所定。 ROC 曲线一定在 y=x 之上,否则就是一个不好的分类器。

AUC 是 Area under curve 的首字母缩写,即 ROC 曲线下的面积,介于0和1之间。计算方式即为 ROC 曲线的微积分值,其物理意义可以表示为:随机给定一正一负两个样本,将正样本排在负样本之前的概率,因此 AUC 越大,说明正样本越有可能被排在负样本之前,即正样本分类结果越好。

mAP 是英文 mean average precision 的缩写,意思是平均精度均值,这个词听起来有些拗口,我们来仔细捋一捋。上面我们知道了什么是 AP , AP 就是 PR 曲线下面的面积(如下图),是指不同召回率下的精度的平均值。
然而,在目标检测中,一个模型通常会检测很多种物体,那么每一类都能绘制一个 PR 曲线,进而计算出一个 AP 值。那么多个类别的 AP 值的平均就是 mAP .

mAP 衡量的是学出的模型在所有类别上的好坏,是目标检测中一个最为重要的指标,一般看论文或者评估一个目标检测模型,都会看这个值,这个值是在 0-1 直接,越大越好。

一般来说 mAP 针对整个数据集而言的, AP 针对数据集中某一个类别而言的,而 percision 和 recall 针对单张图片某一类别的。

检测速度,这个很好理解,简单的说就是一秒钟能够检测多少张图片。不同的目标检测技术往往会有不同的 mAP 和检测速度,如下图(后面我们将逐一学习):

目标检测技术的很多实际应用在准确度和速度上都有很高的要求,如果不计速度性能指标,只注重准确度表现的突破,但其代价是更高的计算复杂度和更多内存需求,对于全面行业部署而言,可扩展性仍是一个悬而未决的问题。

在实际问题中,通常需要综合考虑 mAP 和检测速度等因素。

非极大值抑制虽然一般不作评价指标,但是也是目标检测中一个很重要的步骤,因为下期就要步入经典模型的介绍了,所以这里随着评价指标简单介绍下。

NMS 的英文为 Non-Maximum Suppression ,就是在预测的结果框和相应的置信度中找到置信度比较高的 bounding box 。对于有重叠在一起的预测框,如果和当前最高分的候选框重叠面积 IoU 大于一定的阈值的时候,就将其删除,而只保留得分最高的那个。如下图:

1). NMS 计算出每一个 bounding box 的面积,然后根据置信度进行排序,把置信度最大的 bounding box 作为队列中首个要比较的对象;
2). 计算其余 bounding box 与当前最大 score 的 IoU ,去除 IoU 大于设定的阈值的 bounding box ,保留小的 IoU 预测框;
3). 然后重复上面的过程,直至候选 bounding box 为空。

当存在多目标预测时,如下图,先选取置信度最大的候选框 B1 ,然后根据 IoU 阈值来去除 B1 候选框周围的框。然后再选取置信度第二大的候选框 B2 ,再根据 IoU 阈值去掉 B2 候选框周围的框。

至此,我们已经学习了交并比,准确率,精度,召回率, FPR , F1-Score , PR 曲线, ROC 曲线, AP 的值, AUC 的值以及很重要的 mAP 指标,模型的检测速度和非极大值抑制的相关知识,希望大家有所收获。
相似回答