睿智的目标检测2——mAP的概念

学习前言

在Github上我们可以看到许多模型,他们都有mAP值的评价指标,如下图所示:
在这里插入图片描述
这到底是个啥呢?我查了好久的资料……
在这里插入图片描述

什么是TP、TN、FP、FN

TP的英文全称为True Positives,其指的是被分配为正样本,而且分配对了的样本,代表的是被正确分类的正样本,。
TN的英文全称为True Negatives,其指的是被分配为负样本,而且分配对了的样本,代表的是被正确分类的负样本
FP的英文全称为False Positives,其指的是被分配为正样本,但分配错了的样本,代表的是被错误分类的负样本
FP的英文全称为False Negatives,其指的是被分配为负样本,但分配错了的样本,代表的是被错误分类的正样本
True Negatives

什么是Precision和Recall

Precision指的是精度;
Recall指的是召回率。
两个分别代表什么意思呢?
在这里插入图片描述
Precision的具体含义是:分类器认为是正类并且确实是正类的部分分类器认为是正类的比例
在这里插入图片描述
Recall的具体含义是:分类器认为是正类并且确实是正类的部分所有确实是正类的比例。

什么是mAP

说到mAP,也要说到,AP是什么。

说到AP,就要联系到上一部分所说的Precision和Recall。

对于目标检测而言任务,每一个类都可以计算出其Precision和Recall,通过合理的计算,每个类都可以得到一条P-R曲线曲线下的面积就是AP的值。

假设存在M张图片,对于其中一张图片而言,其具有N个检测目标,其具有K个检测类,使用检测器得到了S个Bounding Box(BB),每个BB里包含BB所在的位置以及对于K个类的得分C
利用BB所在的位置可以得到与其对应的GroundTruth的IOU值。

1、步骤1:
对于每一个类I而言,我们执行以下步骤:

对所有的BB,计算BB所在的位置与其最对应的GroundTruth的IOU值,,记为MaxIOU,此时再设置一个门限threshold,一般设置为0.5
MaxIOU<threshold,认为该预测框无真实框与其对应
此时可以记录其属于False Positive,使其FPi = 1,并记录其属于类I的分数C

MaxIOU>threshold,认为该预测框与该真实框最对应
此时再分两类:
当该框的类别属于类型I时,此时可以记录其属于True Positive,使其TPi = 1,并记录其属于类I的分数C
当该框的类别不属于类型I时,此时可以记录其属于False Positive,使其FPi = 1,并记录其属于类I的分数C

2、步骤2:
由步骤1我们可以得到K * S分数C 和 TP 和 FP的元祖,在python中,我们可以将其构成形如(C,TP, FP)的元组,对这K * S个元祖按照得分C进行排序。

3、步骤3
将得分从大到小排序后进行截取,截取得分最大的S个,通过该步骤可以获得每个框是否成功对应了自己所属的类,计算每次截取所获得的recall和precision。
在这里插入图片描述
在这里插入图片描述
(此处Recall所用的TP+FN = N(一张图片所具有的N的目标,所有确实是正类的数量))
这样得到S个recall和precision点,便画出PR曲线了。

通过PR曲线便可以得到AP值。

而mAP就是对所有的AP值进行求平均即可。

有不懂的朋友可以评论询问噢。

  • 79
    点赞
  • 248
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 39
    评论
评论 39
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bubbliiiing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值