深度学习目标检测之评价指标

Posted florrie Giu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深度学习目标检测之评价指标相关的知识,希望对你有一定的参考价值。

评价指标

时隔一年,又重新开始了学习之路。哈哈哈废话不多说,开始我最近整理的一些内容叭。今天要整理的知识点是目标检测领域常用的几个评价指标,准确率Precision,召回率Recall,交并比IoU,平均精度AP,多个类别AP的平均值即mAP等等。

混淆矩阵

目标检测模型通常会输出很多个检测框,我们是通过统计并计算每个检测框是否能检测到目标的各种占比来衡量模型的检测效果,因此,我们会把检测框分成如下四种情况,判断的依据主要是通过计算交并比(IoU,这个下面会讲到)。

  • TP (True Positive) ,真的正样本 = 正样本 被分类为 正样本;
  • TN (True Negative) ,真的负样本 = 负样本 被分类为 负样本;
  • FP (False Positive) ,假的正样本 = 负样本 被分类为 正样本;
  • FN (False Negative) ,假的负样本 = 正样本 被分类为 负样本(通常为漏检);

按照检测框的检测情况,我们写成一个4x4的矩阵形式(称为混淆矩阵):

分类情况预测为正类预测为负类
真实正样本TPFN
真实负样本FPTN

对于一张图像而言,预测的情况和真实样本的情况如下(记住这个,后面计算不会混乱)

Precision 精确率(精度)

Precision:指的是在模型预测的结果中,其中正确的有多少个。看上面的图,预测结果有TP+FP。

P r e c i s i o n = T P T P + F P Precision = \\fracTPTP+FP Precision=TP+FPTP

Recall 召回率

Recall:指的是在所有的真实目标中,其中正确的有多少个。看上面的图,真实目标有TP+FN。

R e c a l l = T P T P + F N Recall= \\fracTPTP+FN Recall=TP+FNTP

IoU 交并比

IoU:指的是检测框与样本标注的矩形框的交集与并集的比值。

平均精度 AP

AP(Average Precision)指的是Precision-Recall曲线下的面积。

先从单个类别(猫)开始计算,假设一共有3张图片,绿色框是GT(7个),红色框是预测框(7个)并带有置信度。现在假设IOU=50%,按照置信度排序得到下表


得到统计表后,根据confidence取不同的阈值,可以计算Precision和Recall


这样我们就可以根据表计算种类猫的AP值了

猫 A P = ∑ i = 1 R a n k ( R e c a l l i − R e c a l l i − 1 ) × P r e c i s i o n i 猫AP=\\sum_i=1^Rank(Recall_i - Recall_i-1)\\times Precision_i AP=i=1Rank(RecalliRecalli1)×Precisioni

即:猫AP=(0.14-0)x1.0 + (0.28-0.14)x1.0 + (0.42-0.28)x1.0 + (0.57-0.42)x1.0 + (0.71-0.57)x0.71=0.6694

mAP

mAP (means Average Precision) 即各类别的AP值的均值

m A P = ∑ j c l a s s _ n u m b e r C l a s s _ A P j mAP = \\sum_j^class\\_number Class\\_AP_j mAP=jclass_numberClass_APj

总结

完结。谢谢,觉得有帮助的可以点个赞~

以上是关于深度学习目标检测之评价指标的主要内容,如果未能解决你的问题,请参考以下文章

Python 深度学习目标检测评价指标

分类和目标检测的性能评价指标

深度学习目标检测概述

如何快速入门深度学习目标检测?

如何快速入门深度学习目标检测?

目标检测算法之常见评价指标(mAP)的详细计算方法及代码解析