【深度学习小常识】什么是mAP?

2023-05-16

目录

一、mAP相关概念

1、正例与负例

2、P(精确率)

3、R(召回率)

4、ACC(准确率)

5、AP(平均精确度)

6、示例

二、mAP

1、mAP简介

2、P—R曲线


学习深度学习,总会有各种各样的概念,对于刚入门的小白来说,真的是越看越迷糊。比如我们今天要说的,什么是mAP?于是我问了一下度娘…

看完这个之后,我的表情是这样的

我们看相关论文的时候,很明显啊,这个东东和地图有什么关系? 所以到底什么是我们在深度学习论文中所说的mAP呢?

一、mAP相关概念

首先要给大家介绍几个常见的模型评价术语,

1、正例与负例

现在假设我们的分类目标只有两类,计为正例(positive)和负例(negtive),然后我们就能得到如下的四种情况:

(1)True positives(TP): 被正确地划分为正例的个数,即实际为正例且被分类器划分为正例的实例数(样本数);

(2)False positives(FP): 被错误地划分为正例的个数,即实际为负例但被分类器划分为正例的实例数;

(3)**False negatives(FN)😗*被错误地划分为负例的个数,即实际为正例但被分类器划分为负例的实例数;

(4)True negatives(TN): 被正确地划分为负例的个数,即实际为负例且被分类器划分为负例的实例数。

2、P(精确率)

P 代表 precision,即精确率,精确率表示预测样本中实际正样本数占所有正样本数的比例,计算公式为:

精确率 = 正确预测样本中实际正样本数 / 所有的正样本数

precision = TP/(TP+FP)

3、R(召回率)

R 代表 recall ,即召回率,召回率表示预测样本中实际正样本数占所有预测的样本的比例,计算公式为:

召回率 = 正确预测样本中实际正样本数 /实际的正样本数

Recall = TP/(TP+FN)

一般来说,召回率越高,准确率越低

4、ACC(准确率)

ACC 代表 Accuracy,即准确率,准确率表示预测样本中预测正确数占所有样本数的比例,计算公式为:

准确率 = 预测样本中所有被正确分类的样本数 / 所有的样本数

ACC = (TP+TN)/(TP+FP+TN+FN)

5、AP(平均精确度)

AP 代表 Average Precision,即平均精确度。

6、示例

有朋友反映解释的概念太专业话,大家听不懂,在这里,通过一个示例来给大家说明一下。

狼吃羊的故事大家都听说过。懒羊羊这个小孩,心眼不坏,就是有时不靠谱。灰太狼继承了祖先的优良传统,带狼族来进攻羊村了,懒羊羊在门口,通报狼族进攻情况,这时候就会有如下四种情况:

在这个示例中:

预测正样本就是懒羊羊提醒了,预测负样本就是懒羊羊没有提醒。

实际正样本数就是狼族进攻了,实际负样本数就是狼族没有进攻。

真就是提醒和狼族进攻是相辅相成的,进攻就提醒,没进攻就没有提醒;假就是提醒错误,人家进攻了,没提醒,人家不进攻,乱提醒。

对于上面几个定义:

精确率:即正确提醒狼族进攻次数/所有提醒狼族的次数。

召回率:即正确提醒狼族进攻次数/所有真正狼族的次数。

准确率:所有的真/所有的情况。

二、mAP

1、mAP简介

mAP 是 Mean Average Precision 的缩写,即 均值平均精度。作为 object dection 中衡量检测精度的指标。计算公式为:

mAP = 所有类别的平均精度求和除以所有类别

2、P—R曲线

P-R曲线,顾名思义,就是P-R的关系曲线图,表示了召回率和准确率之间的关系;我们可以在坐标系上做以 precisionrecall 作为 纵、横轴坐标 的二维曲线。

上图就是一个P-R曲线的例子,通过这几个例子,我们能够发现一个规律:精度越高,召回率越低,当召回达到1时,对应概率分数最低的正样本,这个时候正样本数量除以所有大于等于该阈值的样本数量就是最低的精度值。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【深度学习小常识】什么是mAP? 的相关文章

  • TreeMap 排序

    一 TreeMap TreeMap 默认排序规则 按照key的字典顺序来排序 升序 当然 也可以自定义排序规则 要实现Comparator接口 用法简单 先看下下面的demo public class SortDemo public sta
  • echarts地图map

    在vue中使用echarts绘制图表 npm install echarts save 全局安装echarts 具体代码及注释如下
  • Scala中的映射map

    1 定义 映射是一系列 键值对的容器 map中的Key是唯一的 分为可变map和 不可变map 可变集合 scala collection mutable map 不可变集合 scala collection immutable map 默
  • Map和Set详解

    一 二叉搜索树搜索树 1 二叉搜索树的概念 二叉搜索树又称二叉排序树 它或者是一棵空树 或者是具有以下性质的二叉树 若它的左子树不为空 则左子树上所有节点的值都小于根节点的值 若它的右子树不为空 则右子树上所有节点的值都大于根节点的值 它的
  • Java集合(Collection、Iterator、Map、Collections)概述——Java第十三讲

    前言 本讲我们将继续来讲解Java的其他重要知识点 Java集合 Java集合框架是Java编程语言中一个重要的部分 它提供了一套预定义的类和接口 供程序员使用数据结构来存储和操作一组对象 Java集合框架主要包括两种类型 一种是集合 Co
  • Java:Map转List (用stream实现)

    例子 Map
  • 【深度学习】——如何提高map值

    目录 代码获取 map原理 map提高技巧 技巧总结 实战 1 效果不佳map55 55 1 单独调整get dr txt py中的self iou 0 3 2 单独调整get map py中的minoverlap 3 同时调整minove
  • java 遍历map 方法 集合 五种的方法

    package com jackey topic import java util ArrayList import java util HashMap import java util Iterator import java util
  • 7-52 两个有序链表序列的交集 (20 分)(思路加详解尾插法)come Boby!

    一 题目 已知两个非降序链表序列S1与S2 设计函数构造出S1与S2的交集新链表S3 输入格式 输入分两行 分别在每行给出由若干个正整数构成的非降序序列 用 1表示序列的结尾 1不属于这个序列 数字用空格间隔 输出格式 在一行中输出两个输入
  • Python 的 map、列表推导、循环效率比较

    话不多说 直接上代码 1 准备数据 三个列表 import time x x1 x2 for i in range 1000000 x append i x1 append i x2 append i 2 开始表演 2 1 for循环 st
  • 【 C++ 】map、multimap的介绍和使用

    目录 1 map map的介绍 map的定义 insert插入函数 map的迭代器 运算符重载 find查找函数 erase删除函数 其它函数 总结 2 multimap multimap的介绍 multimap的使用 1 map map的
  • map的常用用法详解

    头文件 include
  • 获取List中的数据的实现方法

    大家都知道List是很好的存储数据的集合类 但是获取读取list中数据的方法你知道几种呢 一下是我知道的方法分享给大家 List
  • LinkedHashMap和LinkedHashSet 转来记录

    LinkedHashMap和LinkedHashSet是JDK 1 4中引入的两个新的集合类 虽然已经过去 年了 但我敢打赌并不是很多人都用过 因为我就没有用过 但这两个类在某些情况下还是非常有用的 过去没有用 现在没有用 都没有关系 但还
  • java 根据地址返回经纬度

    根据地址返回经纬度 param addr return 返回经纬度数据 latLng 0 经度 latLng 1 维度 public static String getCoordinate String addr String latLng
  • 理解目标检测当中的mAP

    我们在评价一个目标检测算法的 好坏 程度的时候 往往采用的是pascal voc 2012的评价标准mAP 网上一些资料博客参差不齐 缺乏直观易懂的正确说明 希望这篇博文能够给大家一点帮助 mAP历史 目标检测的mAP计算方式在2010年的
  • 使用cesium给地图实例添加精灵图图标

    前置条件 1 将精灵图存放在本地文件中 2 拿到对应的声明文件 该文件中存放了每一个类型的地图实例对应的图标在精灵图中的位置 我这里是json文件 这是某一个实例模型对应的数据 我的做法是 系统登录之后 就掉接口获取到该json文件 并存储
  • Dart中常用的集合类型List、Set、Map、Queue

    Dart中常用的集合类型 List 列表 有序集合 可以修改数据 Dart中List对应数组 可以通过索引访问元素 Set 集合 无序 不可重复 常用于过滤重复数据 Map 映射 键值对集合 键必须唯一 值可以重复 常用于存储关联数据 Qu
  • Babelfish【map函数】

    题目链接 这道题用哈希可以做 但是这道题的输入要求太过于繁琐 所以我直接上map稍微好弄些 这道题讲真更多的考察的是字符串的输入问题 看下代码就会明白的 完整代码 include
  • Java实体类转Map、Map转实体类

    1 创建entity User java package com jeff entity public class User private String userName private String password private I

随机推荐

  • 姿态解算进阶:互补滤波(陀螺仪、加速度计、地磁计数据融合)

    互补滤波原理 xff1a 在四轴入门理论知识那节我们说 xff0c 加速度计和磁传感器都是极易受外部干扰的传感器 xff0c 都只能得到2维的角度关系 xff0c 但是测量值随时间的变化相对较小 xff0c 结合加速度计和磁传感器可以得到3
  • C++实现线程池

    本文转载自 xff1a https blog csdn net caoshangpa article details 80374651 1 为什么需要线程池技术 目前的大多数网络服务器 xff0c 包括Web服务器 Email服务器以及数据
  • 详解coredump

    1 什么是coredump xff1a 2 开启或关闭core文件的生成 xff1a 3 core文件的存储位置和文件名 xff1a 4 造成程序core的原因 xff08 参考 xff09 xff1a 5 用GDB调试coredump x
  • C++中二进制、字符串、十六进制、十进制之间的转换

    1 十进制和二进制相互转换 2 字符串和二进制相互转换 3 字符串和十进制相互转换 4 十进制和十六进制相互转换 5 二进制和十六进制 1 十进制和二进制相互转换 xff08 1 xff09 十进制转二进制 int a 61 10 bits
  • 解决 docker: Invalid containerPort: 5000 .

    复制粘贴的命令报这个错误 xff0c 结果手敲了一下就好了 可能就是 v 那里字符有点问题 xff0c 或者多个空格之类的 看了下其他人说的解决办法 xff0c 说也有可能是大写字母的问题 学习不要图省事 xff0c 真的 xff01
  • linux输入yum后提示: -bash: /usr/bin/yum: No such file or directory的解决方法

    一 首先了解Linux系统下这两个命令的区别 yum xff1a 属于 xff1a RedHat系列 常见系统有 xff1a Redhat Centos Fedora等 apt get xff1a 属于 xff1a Debian系列 常见系
  • OpenCV矩形检测

    点击我爱计算机视觉标星 xff0c 更快获取CVML新技术 今天在52CV交流群里有朋友问到矩形检测的问题 xff0c 恰好前几天做了一个与此相关的项目 xff0c 调研了一下相关的算法 xff08 期间被某带bug的开源代码坑了很久 xf
  • 修改树莓派系统的虚拟内存大小(SWAP)

    树莓派默认的虚拟内存大小才100M xff0c 有时候我们需要扩大它 xff0c 树莓派的虚拟内存配置文件和debian默认的位置不一样 xff0c 所以这里我们修改的是 etc dphys swapfile sudo nano etc d
  • Python爬虫—request模块与验证码识别

    相关文章链接 xff1a Python爬虫 爬虫基础简介 Python爬虫 数据解析及案例 xff08 4K图片爬取 xff09 一 request模块 1 1 概念 python中原生的一种基于网络请求的模块 xff0c 功能非常强大 x
  • 学习 ROS 机器人没有前途?!

    点击蓝字 关注我们 本文转载自蓝桥云课合作作者 xff1a 机器马 xff0c 文末有小惊喜哦 01 ROS 是什么 机器人操作系统 xff08 ROS xff09 是一种用于编写机器人软件的灵活框架 它是工具 xff0c 库和协议的集合
  • 运维必学的监控系统——Prometheus,大牛免费直播带你入门~

    关注 实验楼 xff0c 每天分享一个项目教程 实验1小时 明晚开启 xff0c 腾讯大牛天火老师带你入门Promentheus xff08 普罗米修斯 xff09 这一当下超火的监控系统 提到监控系统 xff0c 人们往往会想到Zabbi
  • VINS-Mono代码阅读笔记(十一):进入pose_graph节点代码分析

    本篇笔记紧接着上一篇VINS Mono代码阅读笔记 xff08 十 xff09 xff1a vins estimator中的非线性优化 xff0c 来接着学习VINS Mono系统中重定位和全局优化部部分的代码 这部分代码在pose gra
  • ROS中插件plugin的简单使用方法

    插件 xff0c 如同其名字一样 xff0c 第一次接触的时候让我想到了U盘或者USB线这类东西 xff0c 它们和电脑没有关系 xff0c 但是插入 xff08 挂载 xff09 电脑USB口后却可以正常使用 xff0c 仿佛扩展了电脑的
  • ROS中的roslaunch命令和launch文件(ROS入门学习笔记四)

    ROS中的基本对象和概念学习笔记 ROS入门学习笔记一 ROS中创建工作区和包 ROS入门学习笔记二 ROS功能包中CMakeLists txt的说明 ROS入门学习笔记三 1 roslaunch命令 我们知道 xff0c rosrun命令
  • 嵌入式软件面试题整理

    基础试题 1 用预处理指令 define 声明一个常数 xff0c 用以表明1年中有多少秒 xff08 忽略闰年问 define SECONDS PER YEAR 60 60 24 365 UL 说明 xff1a define 语法的基本知
  • 硬件在环仿真(HiL)测试介绍

    一 HiL是什么 xff1f 硬件在环仿真 xff08 Hardware in the Loop xff0c 简称HIL xff09 是真 的控制器连接假 的被控对象 xff0c 以一种高效低成本的方式对控制器进行全面测试 它是一种用于复杂
  • Docker Dockerfile详解

    dockerfike快速创建自定义的Docker镜像 一 目录 1 docker典型结构 2 指令介绍 3 创建docker镜像 二 结构 DockerFile分为四部分组成 xff1a 基础镜像信 维护者信息 镜像操作指令和容器启动时执行
  • 树莓派3B+(Raspberry Pi 3 Model B+)安装Ubuntu MATE 18.04及简单配置

    树莓派3B 43 安装Ubuntu MATE 18 04及简单配置 安装Ubuntu18 04 MATE下载Ubuntu 18 04 MATE准备Raspberry Pi Imager镜像烧录工具开机启动 简单配置设置root密码更新列表配
  • OpenCV之getOptimalNewCameraMatrix

    去畸变后的图像四周会出现黑色区域 xff0c 如果畸变较大 xff0c 如鱼眼镜头 xff0c 四周黑色区域将会更大 opencv中给我们提供了一个函数getOptimalNewCameraMatrix xff0c 用于去除畸变矫正后图像四
  • 【深度学习小常识】什么是mAP?

    目录 一 mAP相关概念 1 正例与负例 2 P xff08 精确率 xff09 3 R xff08 召回率 xff09 4 ACC xff08 准确率 xff09 5 AP xff08 平均精确度 xff09 6 示例 二 mAP 1 m