目录

  • 一、定义
    • 1.1、TP
    • 1.2、FP
    • 1.3、FN
    • 1.4、Precision
    • 1.5、Recall
    • 1.6、AP
    • 1.7、mAP
  • 二、mAP计算过程(实例)
  • 三、YoLo输出结果的理解
  • Reference

一、定义

1.1、TP

TP(True Positive):IoU>0.5的检测框数量;检测成正样本,且检测对了(本质是正样本)

1.2、FP

FP(False Positive):IoU<=0.5的检测框数量(误检);检测成正样本,但检测错了(本质是负样本)

1.3、FN

FN(False Negative):没有检测到的GT的数量(漏检);检测成负样本,但是检测错了(本质是正样本)

1.4、Precision

Precision:也叫查准率:指模型预测的所有目标中,预测正确的比例。
公式:

P r e c i s i o n = T P T P + F P Precision=\frac{TP}{TP+FP} Precision=TP+FPTP​

1.5、Recall

Recall:也叫查全率:指所有真实目标中,模型预测正确的目标比例。
公式:

R e c a l l = T P T P + F N Recall=\frac{TP}{TP+FN} Recall=TP+FNTP​

1.6、AP

AP:指PR曲线(Precision-Recall曲线)下的面积

1.7、mAP

mAP(mean Average Precision):即每个类别AP的平均值。

二、mAP计算过程(实例)

以猫为例 步骤:

  1. 如下图1,绿色框是我们人工标注好的GT Box, 红色框是我们网络预测的bounding box。先累加我们训练集中目标的个数,图1有两个目标,所以num_ob = 2;再用一个列表来统计我们网络中所检测到的目标信息(按Confidence降序排列),表头GT ID=预测框对应的GT id (并不是每个GT id都会出现在表格中,有可能预测框根本就没有检测到某个GT,如图1的GT id=2),Confidence=预测目标的一个概率,OB=这个预测框是否是TP(用IOU>0.5来判断,而不是用Confidence)。

  2. 第二张图,第三张图…以此类推,将数据集中所有的猫的预测框信息加入这个表格中,假设得到如图2的表格

  3. 用图2的预测框信息表格,以Confidence=0.98, 计算对应的Precision和Recall,输入Precision-Recall表格
    理解:
    TP=当前满足Confidence的预测框中OB=True的个数;
    FP=当前满足Confidence的预测框中OB=False的个数
    FN:总目标个数为7,但这里只检测到了1个(1),所有他这里漏检了6个,所以FN=6

  4. 再以Confidence= 0.89, 0.88, 0.78, 0.66…计算每一步的Precision和Recall,得到如下图3右边的Precision-Recall表格。

  5. 将Recall相同的信息只保留Precision最大的,删除多余的信息。再以Recall为横坐标,Precision为纵坐标生成对应的Precision-Recall图:

  6. 计算猫的 A P = ( 0.14 − 0 ) ∗ 1.0 + ( 0.28 − 0.14 ) ∗ 1.0 + ( 0.42 − 0.28 ) ∗ 1.0 + ( 0.57 − 0.42 ) ∗ 1.0 + ( 0.71 − 0.57 ) ∗ 0.71 = 0.6694 AP = (0.14-0)*1.0 + (0.28-0.14)*1.0 + (0.42-0.28)*1.0 +(0.57-0.42)*1.0 + (0.71-0.57)*0.71=0.6694 AP=(0.14−0)∗1.0+(0.28−0.14)∗1.0+(0.42−0.28)∗1.0+(0.57−0.42)∗1.0+(0.71−0.57)∗0.71=0.6694

  7. 同理计算出其他种类的AP, 再对所有AP取和求平均得到最终mAP.

三、YoLo输出结果的理解


  1. AP(这里其实就是mAP):
    第一行表示coco评价指标(最常用的一个指标),即IoU = [0.5, 0.95],每间隔0.05取一个IoU,算出每个IoU对应的mAP,再取所有mAP的平均值,即AP;
    第二行表示voc评价指标,就是IoU = 0.5,算出其对应的mAP,即 A P I o U = . 50 AP^{IoU=.50} APIoU=.50
    第三行表示更加严格的一个指标(如果对定位要求比较高就用这个),就是IoU=0.75对应的mAP, 即 A P I o U = . 75 AP^{IoU=.75} APIoU=.75
  2. AP Across Scales(针对不同尺度的mAP, 到具体的项目具体分析要不要用下面的mAP):
    A P s m a l l AP^{small} APsmall: 对小目标 ( a r e a < 3 2 2 area < 32^2 area<322) 计算得到的mAP
    A P m e d i u m AP^{medium} APmedium: 对中目标 ( 3 2 2 < a r e a < 9 6 2 32^2 < area < 96^2 322<area<962) 计算得到的mAP
    A P l a r g e AP^{large} APlarge: 对大目标 ( a r e a > 9 6 2 area > 96^2 area>962) 计算得到的mAP
  3. AR (召回率 可以用于分析数据集的目标框情况):
    A R s m a l l AR^{small} ARsmall: 设置每张图片最多1个目标框情况下得到的AR
    A R m e d i u m AR^{medium} ARmedium: 设置每张图片最多10个目标框情况下得到的AR
    A R l a r g e AR^{large} ARlarge: 设置每张图片最多100个目标框情况下得到的AR

Reference

  1. https://www.bilibili.com/video/BV1ez4y1X7g2
  2. 链接: 代码.
  3. https://blog.csdn.net/Gentleman_Qin/article/details/84800188

【目标检测】目标检测中常见的评价指标相关推荐

  1. 机器学习中常见的评价指标总结

    文章目录 1. 评价指标的种类 2. 分类任务的评价指标 2.1 分类任务的一些概念 (1) 交并率(IoU, Intersection over Union) (2)NMS (3)TP.FP.FN. ...

  2. 信息检索IR评价中常见的评价指标-MAP\NDCG\ERR\P@10等

    信息检索评价是对信息检索系统性能(主要满足用户信息需求的能力)进行评估的活动.通过评估可以评价不同技术的优劣,不同因素对系统的影响,从而促进本领域研究水平的不断提高.信息检索系统的目标是较少消耗情况下 ...

  3. 深度学习、目标检测情景中常见的模型评测指标

    作者:RayChiu_Labloy 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 二分类混淆矩阵: 图: 贴心的给出中文图: 四种情况的解释 假设我们现在要做从有狗有猫 ...

  4. 红外弱小目标检测:常见的评价指标

    本文总结红外弱小目标检测领域论文中经常出现的算法评价指标,并对部分评价指标用MATLAB实现. 目前总结的评价指标最为常见,像检测率.ROC曲线这些都要基于大量的实验才能得到数据,进而绘制表格或曲线对 ...

  5. 【目标检测基础积累】常用的评价指标

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! [导读]目标检测(Object Detection)是计算机视觉中四大基础任务之一 ...

  6. [目标检测]目标检测的评价指标MAP(上)

    目录 1. IOU 2. TP.FP.FN.TN 3. Precision.Recall 4. 评价指标 4.1 Precision-Recall曲线 4.2 AP平均精度 4.2.1 11点插值法 ...

  7. 3D目标检测深度学习方法中voxel-represetnation内容综述(三)

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 前言 前两篇文章:3D目标检测深度学习方法中voxel-represetnation内容综述(一).3 ...

  8. 目标检测和分割中Backbone技术总结

    目标检测和分割中Backbone技术总结 VGG (2014) ResNet系列 ResNet (2015) ResNeXt ResNeSt Inception系列 Inception v1 Ince ...

  9. 如何在超大分辨率的图片中检测目标?

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 文章导读 本文通过一篇YOLT的文章引出超大分辨率的图片遇到目标检 ...

最新文章

  1. 利用 %20 替换 空格
  2. 前端学习(983):jquery概念
  3. Linux:chmod命令-修改文件或目录的权限
  4. linux查看网卡的驱动命令行,Linux下查看网卡驱动和版本信息
  5. C语言:替换字符串中某一段子字符串
  6. 项目小记: IFRAME引起内存泄露的解决方法
  7. 如何快速进入一个陌生的领域,高手通常用这三步
  8. java认证考试 难度_Java认证考试技巧心得是什么?
  9. 二分查找递归解法(java)
  10. mysql数据库面试题学生表_SQL笔试题:下面是学生表(student)的结构说明
  11. 【流量池】裂变营销:10种人脉裂变技能,6个裂变核心,8个吸粉人性本能怎样玩粉丝裂变?
  12. c 语言if函数嵌套使用方法,if函数的嵌套怎么用?
  13. 近五年计算机考研国家线、自划线汇总!
  14. ilo看服务器信息,使用iLO监视HP服务器硬件
  15. matlab分组形式条形图,Matplotlib带标签的分组条形图
  16. 完全掌握Python: 在一门课程中使用 Python 编程所需的一切 | Complete Python Mastery
  17. 银行、券商们的下一代App该往哪里走?
  18. Win10 不支持 Miracast 无法投影解决方案
  19. 苹果 WWDC 2019 全记录:iPadOS独立、SwiftUI、Project Catalyst
  20. 中年刘强东背后,是已婚男性的集体挣扎

热门文章

  1. DAO:可及性与问责制、分权与效率 、开放与控制的三大权衡
  2. spring 配置相关
  3. python将英文单词表示的数字转换成阿拉伯数字的代码
  4. 执FPGA异构计算之耳
  5. h5 实现一键复制到粘贴板 兼容iOS
  6. 软件测试行业的优缺点
  7. 鲸鱼算法优化PID参数优化附matlab代码
  8. 无影云电脑Linux如何修改密码
  9. 数据标准化的原因及方法
  10. IE8 设置图片大小,没有效果