声明:以下内容全是我的个人见解,如有问题,欢迎指正!

AP(Average Precision)即平均精度,是目标检测中的一个常用指标。

一、精确率和召回率

说道AP,那不得不提准确率和召回率。首先我们来看他们的计算公式

精确率:

召回率:

其中,TP,FP,FN出自一个混淆矩阵,这里我们不展示这个混淆矩阵的定义,我们直接说这些变量的定义。

TP:检测器输出的结果中正确的个数

FP:检测器输出的结果中错误的个数

FN:ground truth中未被找出的个数,FN = ground truth总数 - TP

可以看出,精确率的分母部分即检测器检测出该类别的框的总数;召回率的分母部分即ground truth给出的该类别的框总数。

那么通俗的说:精确率表示检测器找出的框有多少是对的,衡量误检程度。召回率表示检测器找出的正确框占ground truth的百分之多少,衡量漏检程度。

举个例子:

对于某一个类别,检测器输出有5个框,其中有3个框是正确的,有2个框是错误的。而这张图像中该类别共有10个框。

可得:TP = 3,FP = 2,FN = 7

准确率

召回率

我们可以试想一下以下两个极端情形:

当一个检测器给出了数量巨多的目标框,它将很容易找出所有的ground truth,即广撒网。那么它的召回率将是100%,而它的精确率将会非常低。

当一个检测器只检测出了一个目标,并且这个目标是正确的,但是ground truth有10个目标。那么它的精确率将是100%,而它的召回率将会很低。

通过这两个情形可以知道,精确率和召回率是有一定矛盾的存在。

那么有没有什么指标能够综合一下精确率和召回率呢,那么AP就登场啦~

二、PR曲线

很多AP的定义中都有说,AP是PR曲线的曲线下面积,那么PR曲线是什么呢?它是怎么绘制出来的呢?

PR曲线即精确率-召回率曲线,它的绘制过程我们用一个实例来说明会更简单些,这个例子来自(目标检测中的AP,mAP),下面例子相关的图片也来自这里,如有侵权,我删了自己画……
假设一张图像中有5个待检测目标,而我们的检测器给出了10个框,根据框的置信度由高到低进行排序,得到下表(图):

表中,Rank一列表示框按置信度由高到低排列后的序号,correct表示该框是否正确,Precision表示计算出的精确率,Recall表示计算出的召回率。

精确率和召回率的计算是一个不断累计的过程,而不是每个框独立的。

例如:

在第一个框时,精确率 = 1/1 =1.0,召回率 =1/5 = 0.2;

在第二个框时,精确率 = 2/2 = 1.0,召回率 = 2/5 = 0.4;

在第三个框时,精确率 = 2/3 = 0.67,召回率 = 2/5 = 0.4;

……

这时,我们根据精确率和召回率,就能绘制出PR曲线:

这时我们需要求精确率的平均值,就等于该曲线的曲线下面积取平均。

三、AP计算

通过上面的讲解,AP的计算应该就很简单了,求曲线下面积就类似积分。因为数据是离散的,所以一般会设定采样点,一般在横轴0~1范围内平均分为10或者100段,最后采样的值相加除以采样点数即可。在大多数标准中还会对曲线做平滑处理方便计算,可以免去插值的烦恼。

四、mAP

在多类别的目标检测任务中能看到mAP这个指标,m是mean平均值,它是指所有类别的AP的平均值。

一个超级好用个调试APP,前往应用市场

通俗地讲解目标检测中AP指标相关推荐

  1. 目标检测中的指标都是什么意思

    怎样才算检测正确? IOU大于指定阈值? 类别预测正确? confidence大于指定阈值? 三者都需要计入我们的考虑范围. 什么是mAP? TP(True Positive): IoU>0.5 ...

  2. 【通俗理解】目标检测中的评价指标查准率P和查全率R是什么意思?

    以猫咪检测例,假如一幅图中有 4 只猫,模型预测了 5 个框,其中 3 个是猫.2 个是背景. 查准率(精确率)P 找到的目标是确实是猫的概率, 总共 5 个预测框, 其中是猫的有 3 , P = 3 ...

  3. 目标检测中的Iou与map指标详细介绍(零基础)

    目标检测中的Iou与map指标详细介绍(零基础) 最近在算法岗实习,更新的频率会低一点,希望在实习过程中学到更多有用的视觉知识. IOU指标 下图中Ground truth为标记的正确框,Predic ...

  4. 一文讲清楚目标检测中mAP、AP、precison、recall、accuracy、TP、FP、FN、TN

    TP.FP.FN.TN 分类中TP.FP.FN.TN含义 目标检测中TP.FP.FN.TN的含义 precision .recall .accuracy precision recall accura ...

  5. 目标检测中NMS和mAP指标中的的IoU阈值和置信度阈值

    有时候路走的太远,会忘了为什么要出发. 学习亦如是 在目标检测中,经常看到置信度阈值和IoU阈值这两个关键参数,且NMS计算和mAP计算中都会有这两个,那它们的区别是什么?本文就这个问题做一次总结. ...

  6. 目标检测的评估指标mAP的那些事儿

    对于使用机器学习解决的大多数常见问题,通常有多种可用的模型.每个模型都有自己的独特之处,并随因素变化而表现不同. 每个模型在"验证/测试"数据集上来评估性能,性能衡量使用各种统计量 ...

  7. 目标检测中的性能提升方法综述

    文章目录 一.多尺度检测 1.什么是多尺度检测? 2.降低下采样率与空洞卷积 3.多尺度训练 4.优化Anchor尺寸训练 5.深层与浅层特征融合 6.SNIP,尺度归一化 7.TridentNet, ...

  8. OTA:目标检测中的最优传输分配

    该论文主要是关于目标检测中的标签分配问题,作者创新性地从全局的角度重新审视了该问题,并提出将标签分配问题看成是一个最优运输问题.要知道最优传输问题是当前最优化理论和GAN理论研究领域中的一个很火的研究 ...

  9. 【深度学习】什么是目标检测中的平均精度均值(mAP)?

    计算机视觉界已经集中在度量 mAP 上,来比较目标检测系统的性能.在这篇文章中,我们将深入了解平均精度均值 (mAP) 是如何计算的,以及为什么 mAP 已成为目标检测的首选指标. 目标检测的快速概述 ...

最新文章

  1. json数据格式 与 for in
  2. 可以伪装mysql子节点框架是啥_kingbus 架构设计之如何伪装成 MySQL Master 角色
  3. mysql连接被拒绝 密码也对_解决Mysql数据库拒绝远程连接和忘记密码的问题
  4. android 3gpp 播放,Android Market:MoboPlayer 最強悍的免費影片播放程式
  5. Docker破解AWVS和Nessus
  6. 计算机遥感毕设选题,遥感硕士毕业论文题目
  7. bootmgr快速修复win7_【win7共享软件下载】win7共享软件(局域网共享)下载 v7.2.8 免费版...
  8. 微信小程序 数据库获取字符串 在view中显示换行
  9. html 下拉框 value值,HTML Select value用法及代码示例
  10. c语言sdk,C/C++ SDK
  11. Acrobat Reader XI启动后自动关闭的分析
  12. 业内人员告诉你银行测试到底做什么,怎么进银行测试.....
  13. 使用POI 导出word模板文件
  14. chromebook刷机_如何自定义Chromebook的键盘和触摸板
  15. 如何在VMware里安装windows server 2003
  16. 有哪些科研人员看文献必用的软件?
  17. 软件工程-大学体育馆管理系统用例图
  18. Java开发环境配置图解
  19. linux环境下如何卸载一路赚钱(yilu/mservice)
  20. YYGH-2-排班管理

热门文章

  1. 一文看懂智慧城市,解码25万亿大市场的机遇与格局
  2. 设计模式03 行为型模式
  3. WhatsApp:硅谷屌丝现世逆袭
  4. Vivado安装找不到matlab,vivado安装System Generator不支持新版Matlab怎么办?
  5. MySQL忘记/无root密码,强制修改root密码
  6. 如何利用python准确预测双色球开奖结果
  7. threejs学习笔记:实现导入的动画gltf模型播放动画
  8. 基于ssm+jsp的大学生体能训练营管理系统毕业设计源码211633
  9. B站评论区抽奖[python]
  10. 【C语言】初识C语言(中篇)