mAP(mean Average Precision)应用(转)
1. precision 和 recall 的计算(没什么好说的,图片示例相当棒):

图1
图中上部分,左边一整个矩形中(false negative和true positive)的数表示ground truth之中为1的(即为正确的)数据,右边一整个矩形中的数表示ground truth之中为0的数据。
精度precision的计算是用 检测正确的数据个数/总的检测个数。
召回率recall的计算是用 检测正确的数据个数/ground truth之中所有正数据个数。
2. AP:average precision
假设我们有数据(原数据缺失并有错。根据个人理解进行补充,红色为出错部分,绿色为缺失部分):

图2
一共20个图像,20行,第一列是图像index, 第二列是检测confidence, 第三列是ground truth。根据confidence从大到小排列。
每检测一个图像时,无论是正例还是负例,计算当下的precision和recall。
假设检测样本中每N个样本中有M个正例,那么我们会得到M个recall值(1/M, 2/M, ..., M/M)(由于检测N'数量正样本时,precision有不同情况),对于每个recall值r,我们可以计算出对应(r' >= r)的最大precision,然后对这些max precision取平均即得到最后的AP值。具体计算如图,top-N是指根据confidence降级排列后样本的排位号(eg. 1为confidence最大的图像9):

图3
补充解释:
一共20个图像,GT为True的共6个图像,img_index分别是9, 16, 7(纠正),15, 20和2(补充)。
在图2中从上往下依次计算得图3结果:
排位号1:
精度=TP个数/已经选择的样本数=1/1;
召回率=TP个数/所有GT为True的样本数=1/6;
当召回率大于等于1/6时,最大精度=那就是1,也就是100%没有比100%更大的数值了
排位号2:
精度=TP个数/已经选择的样本数=2/2;
召回率=TP个数/所有GT为True的样本数=2/6;
当召回率大于等于2/6时,最大精度=仍然是1,也就是100%没有比100%更大的数值了
排位号6:
精度=TP个数/已经选择的样本数=3/6;
召回率=TP个数/所有GT为True的样本数=3/6;
当召回率大于等于3/6时,最大精度:先看召回率大于等于3/6时,所有精度有哪些,有精度:3/6, 4/7, 4/8, 4/9, 4/10, 5/11, 5/12, 5/13, 5/14, 5/15, 6/16, 6/17, 6/18, 6/19, 6/20。取最大 精度4/7
排位号7:
精度=TP个数/已经选择的样本数=4/7;
召回率=TP个数/所有GT为True的样本数=4/6;
当召回率大于等于4/6时,最大精度:先看召回率大于等于4/6时,所有精度有哪些,有精度:4/7, 4/8, 4/9, 4/10, 5/11, 5/12, 5/13, 5/14, 5/15, 6/16, 6/17, 6/18, 6/19, 6/20。取最大 精度4/7
排位号11:
精度=TP个数/已经选择的样本数=5/11;
召回率=TP个数/所有GT为True的样本数=5/6;
当召回率大于等于5/6时,最大精度:先看召回率大于等于5/6时,所有精度有哪些,有精度:5/11, 5/12, 5/13, 5/14, 5/15, 6/16, 6/17, 6/18, 6/19, 6/20。取最大 精度5/11
其余排位号不在列举。
AP = (1 +1+4/7+4/7+5/11+6/16)/6 = 0.6621
3. mAP: mean average precision
多类的检测中,取每个类AP的平均值,即为mAP。
mAP(mean Average Precision)应用(转)的更多相关文章
- 一个评测指标就是MAP(Mean Average Precision)平均精度均值。
一个评测指标就是MAP(Mean Average Precision)平均精度均值. 转载 2017年09月13日 10:07:12 标签: 深度学习 892 来源01:Mean Average Pr ...
- MAP(Mean Average Precision)平均精度均值
wrong 0 2 right 1 / 2 3 right 2 / 3 4 wrong 0 5 right 3 / 5 6 wrong 0 7 wrong 0 8 wrong 0 9 right 4 ...
- 目标检测模型的性能评估--MAP(Mean Average Precision)
目标检测模型中性能评估的几个重要参数有精确度,精确度和召回率.本文中我们将讨论一个常用的度量指标:均值平均精度,即MAP. 在二元分类中,精确度和召回率是一个简单直观的统计量,但是在目标检测中有所不同 ...
- Mean Average Precision(mAP),Precision,Recall,Accuracy,F1_score,PR曲线、ROC曲线,AUC值,决定系数R^2 的含义与计算
背景 之前在研究Object Detection的时候,只是知道Precision这个指标,但是mAP(mean Average Precision)具体是如何计算的,暂时还不知道.最近做OD的任 ...
- 目标检测评价标准(mAP, 精准度(Precision), 召回率(Recall), 准确率(Accuracy),交除并(IoU))
1. TP , FP , TN , FN定义 TP(True Positive)是正样本预测为正样本的数量,即与Ground truth区域的IoU>=threshold的预测框 FP(Fals ...
- Average Precision of VOC
转一篇文章,主要是关于VOC中Average Precision指标的 原文出处:https://sanchom.wordpress.com/tag/average-precision/ 还有一篇文章 ...
- 物体识别重要指标——平均准确率(Average Precision, AP )
师兄的截图,不知道出处,仅用于学习,多多包涵.
- 准确率(Accuracy), 精确率(Precision), 召回率(Recall)和F1-Measure
yu Code 15 Comments 机器学习(ML),自然语言处理(NLP),信息检索(IR)等领域,评估(Evaluation)是一个必要的 工作,而其评价指标往往有如下几点:准确率(Accu ...
- IR的评价指标-MAP,NDCG和MRR
IR的评价指标-MAP,NDCG和MRR MAP(Mean Average Precision): 单个主题的平均准确率是每篇相关文档检索出后的准确率的平均值.主集合的平均准确率(MAP)是每个主 ...
随机推荐
- 使用 ServiceStack 构建跨平台 Web 服务(转)
出处:http://www.cnblogs.com/shanyou/p/3348347.html 本文主要来自MSDN杂志<Building Cross-Platform Web Service ...
- [GO]go语言实现区块链工作证明(pow)原理
package main import ( "math/big" "bytes" "math" "crypto/sha256&qu ...
- QT学习之事件处理
Qt事件机制 Qt程序是事件驱动的, 程序的每个动作都是由幕后某个事件所触发.. Qt事件的发生和处理成为程序运行的主线,存在于程序整个生命周期. Qt事件的类型很多, 常见的qt的事件如下: 键盘事 ...
- SQL获取本周,上周,本月,上月第一天和最后一天[注:本周从周一到周天]
DECLARE @ThisWeekStartTime NVARCHAR(100),@ThisWeekEndTime NVARCHAR(100),--本周 @LastWeekStartTime NVAR ...
- DES加密与解密控制台c++代码
#include"stdafx.h" #include<stdio.h> #include<string.h> void main() { //声明变量 c ...
- 【小梅哥FPGA进阶教程】第十四章 TFT屏显示图片
十四.TFT屏显示图片 本文由杭电网友曾凯峰贡献,特此感谢 学习了小梅哥的TFT显示屏驱动设计后,想着在此基础上通过TFT屏显示一张图片,有了这个想法就开始动工了.首先想到是利用FPGA内部ROM存储 ...
- kafka搜索介绍
kafka详解 https://blog.csdn.net/liubenlong007/article/details/55211196##1 1.2 Kafka诞生 Kafka由 linked- ...
- jquery库与其他库冲突的问题解决-jquery.noConflict()
在使用jQuery开发的时候,可能还会使用到其他的JS库,比如Prototype,但多库共存时可能会发生冲突:若是发生冲突后,可以通过以下几种方案进行解决: 一. jQuery库在其他库之前导入,直接 ...
- PMBOK项目管理思维导图梳理
采用思维导图的形式来展示项目管理的五大过程组.九大知识领域,能更好的展示框架结构,便于理解.分析. 下图为思维导图化制的项目管理要素:灰色为启动过程组.白色为规划过程组.紫色为执行过程组.蓝色为监控过 ...
- 云课堂Android模块化实战--如何设计一个通用性的模块
本文来自 网易云社区 . 如何设计一个通用性的模块 前言 每个开发者都会知道,随着项目的开发,会发现业务在不断壮大,产品线越来越丰富,而留给开发的时间却一直有限,在有限的时间,尽快完成某个功能的迭代. ...