目标检测mAP计算以及coco评价标准

这篇是我对哔哩哔哩up主 @霹雳吧啦Wz 的视频的文字版学习笔记 感谢他对知识的分享

讲一下目标检测中的一些常见的指标

在我们使用目标检测网络训练时

最后在验证集上会得到一个coco的评价列表

就像我们图中给的这一系列参数列表一样

我们再进一步引入两个概念

第一个叫做precision

第二叫做recall

我们的precision呢就是说在我们模型预测的所有目标当中

预测正确的比例

那么它有个名称叫做查准率

接下来再看看它的公式

它的公式就等于tp除以tp加上fp

那么仅仅通过precision这个指标

能不能够展现出我们网络的一个检测能力呢

我们来假设这样一种情况

比如说我们有一个图片

它里面有五个目标

但是我们网络只检测出了其中一个目标

那么这里的tp是等于一的

除了检测出正确的一个目标之外呢

没有检测到其他的任何边界框

那么这个时候呢fp是等于零的

所以呢此时的precision它是等于一的

也就是百分之百

那么很明显他还漏捡了好几个目标

所以说仅通过precision这个参数是无法评判我们检测网络的一个好坏的

所以呢我们这里有另外一个指标叫做recall

也可以叫做召回率

那么它的含义就是说在所有的真实目标当中

模型预测正确的目标比例

它有一个通俗的叫法叫做查全率

它的公式呢就等于tp除以tp加上fn

那么我们能仅仅通过record来判定一个模型的好坏吗

那么我们再举另外一个例子

同样假设我们一张图片中有五个目标

然后呢我们的网络总共预测出了个50目标

然后这个目标当中呢就包括了所有我们需要检测的那五个目标

那么对于我们的record计算公式而言呢

它就是应该等于百分之百了

因为我们的tp就是等于我们真实目标的个数

而fn它是等于零的

因为它没有漏见

所以我们recall等于一的

也就是百分之百

那么很明显这种情况也不是我们所希望看见的

所以仅通过recall也是无法评判我们模型的好坏的

右边表格从1到7表示逐渐降低置信程度得到的结果

同样我们可以通过这两个公式可以计算得到相应的precision和recall

那么后面就依次类推

全部计算完之后呢

我们就能得到一系列的precision和recall

那么我们就以recall为横坐标

 precision为纵坐标

就能得到一个pr曲线

首先我要讲一个需要注意的点

对我们的recall也是我们的横坐标呢

我们是需要列出一些重复的信息了

就比如说当我们record等于0.57的时候

这里有三个值

此时呢我们只需要保留我们precision值最大的这个情况就可以了

然后另外两个给删掉

那么在右边那个图中呢

就对应着我们用方框框住的这个坐标

有对应的我们这里的这五个点

那么这个图中用阴影部分框柱的面积呢就是我们的AP了

那么下面呢也给出了我们这个AP的计算公式

首先在我们第一个点的位置呢

它的计算公式是等于0.14减去零

然后再乘以我们所选取的这个点

包括他这个点本身以后的所有部分中

 precision最大的值

那么很明显我们第一个点的位置及其以下

我们可以看到最大值是等于一的

所以这里就是乘以一

然后对于我们第二个点呢

同样在我们第二个点的位置及其以下中寻找precision最大的值

那么也是一点

所以呢这里它也是乘以一点

那么对于我们第三个点呢

同样去寻找包括了这个点及其以下所有情况

 precision最大的值

那么同样是一点

所以我们这里依旧是乘以一点

然后第四个点同样我们寻找包括它本身及其以后的所有情况中

precision选最大的情况

那么同样还是一点

所以这里我们还是乘以一点

那么对于我们第五个点

依然寻找包括他自己之后的所有情况中

 precision最大的情况

那么第五点他这里所能够找到的最大precision

那么只有0.71

那么最后得到的

就是我们对应这个目标的ap的值了

那么使用同样的方法呢

你可以计算其他类别的ap值

最后呢我们再将所有类别的ap取一个均值

就得到了我们的map

接下来是coco评价指标当中的每一条数据它的一个含义

那么相关的其他的信息呢

大家可以自己去coco的官网进行一个了解

首先呢我们来讲一下这个average precision

这里一共有三个值

首先我们来说中间这个值也就是iou取0.5的时候

在我们刚刚讲的那个事例当中

其实就是以iou的阈值取0.5的时候计算的ap的一个数值

例如:

GT ID为3的两行表示预测结果,其中OB是True还是False取决于IOU是否超过0.5

那么这个数值呢也就是我们pascal voc数据集所提供的评价指标

那么在我们coco的评价指标当中

它主要的评价指标其实就是这个AP

也就是第一个这个值

这个ap呢他写的是iou从0.5~0.95

间隔为0.05

一共十个iou上mAP的一个均值

大家注意啊

这里虽然说的是AP

其实它就是我们刚刚所计算的map

因为这里结合上下文可以很明确的知道这里的ap就是map

所以呢这里就直接标注是ap

也就是说它取一共十个值

分别去计算每一个iou所对应的map

然后呢再将这十个map取均值就得到我们coco数据中的ap

那么这个app呢也是我们coco数据当中的一个最主要的一个

评价的一个指标

我们iou的阈值设置的越大

就要求我们目标检测的边界框

与我们的gt box重合度越来越高

那么也就是说目标的定位越来越准

接下来呢我们再来讲下一组参数

也就是ap across scales

在这组参数里面呢

我们能看到有一个ap针对小面积的

 ap针对中等面积的

还有ap针对大面积的

通过这么一组参数啊

其实可以了解到我们目标检测网络

它对不同尺度的目标的检测效果

比如说如果你的应用场景都是一些相对较小的目标

那么你很可能就会更加关注于ap small的这个值

接下来我们再来看下一组参数

average recall

那么我们每张图片限定检测目标个数

我们就能够得到相应的一个record值

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/208832.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

P1 Qt的认识及环境配置

目录 前言 01 下载Qt Creator windows下载安装包拷贝到Linux Linux直接下载 02 Linux 安装Qt 前言 🎬 个人主页:ChenPi 🐻推荐专栏1: 《C_ChenPi的博客-CSDN博客》✨✨✨ 🔥 推荐专栏2: 《Linux C应用编程(概念类…

地址栏不安全提示

在使用浏览器时访问网站的时候,我们可能会遇到地址栏提示不安全的情况。这种情况通常都是是由于未安装有效SSL证书或者网站SSL证书过期等原因导致的。本文将介绍如何处理地址栏提示不安全的问题,以确保我们的上网安全。 1,缺少SSL证书&#x…

基于单片机音乐盒仿真仿真系统设计

**单片机设计介绍,基于单片机音乐盒仿真仿真系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的音乐盒仿真仿真系统是一种基于嵌入式系统技术的设计方案,用于模拟传统的音乐盒功能。它通…

002 self-attention自注意力

目录 一、环境 二、self-attention原理 三、完整代码 一、环境 本文使用环境为: Windows10Python 3.9.17torch 1.13.1cu117torchvision 0.14.1cu117 二、self-attention原理 自注意力(Self-Attention)操作是基于 Transformer 的机器翻…

华清远见嵌入式学习——QT——作业2

作业要求&#xff1a; 代码运行效果图&#xff1a; 登录失败 和 最小化 和 取消登录 登录成功 和 X号退出 代码&#xff1a; ①&#xff1a;头文件 #ifndef LOGIN_H #define LOGIN_H#include <QMainWindow> #include <QLineEdit> //行编辑器类 #include…

Java Spring + SpringMVC + MyBatis(SSM)期末作业项目

本系统是一个图书管理系统&#xff0c;比较适合当作期末作业主要技术栈如下&#xff1a; - 数据库&#xff1a;MySQL - 开发工具&#xff1a;IDEA - 数据连接池&#xff1a;Druid - Web容器&#xff1a;Apache Tomcat - 项目管理工具&#xff1a;Maven - 版本控制工具&#xf…

探索人工智能领域——每日20个名词详解【day12】

目录 前言 正文 总结 &#x1f308;嗨&#xff01;我是Filotimo__&#x1f308;。很高兴与大家相识&#xff0c;希望我的博客能对你有所帮助。 &#x1f4a1;本文由Filotimo__✍️原创&#xff0c;首发于CSDN&#x1f4da;。 &#x1f4e3;如需转载&#xff0c;请事先与我联系以…

进程、线程、线程池状态

线程几种状态和状态转换 进程主要写明三种基本状态&#xff1a; 线程池的几种状态&#xff1a;

STM32的BKP与RTC简介

芯片的供电引脚 引脚表橙色的是芯片的供电引脚&#xff0c;其中VSS/VDD是芯片内部数字部分的供电&#xff0c;VSSA/VDDA是芯片内部模拟部分的供电&#xff0c;这4组以VDD开头的供电都是系统的主电源&#xff0c;正常使用时&#xff0c;全部都要接3.3V的电源上&#xff0c;VBAT是…

Leetcode2477. 到达首都的最少油耗

Every day a Leetcode 题目来源&#xff1a;2477. 到达首都的最少油耗 解法1&#xff1a;贪心 深度优先搜索 题目等价于给出了一棵以节点 0 为根结点的树&#xff0c;并且初始树上的每一个节点上都有一个人&#xff0c;现在所有人都需要通过「车子」向结点 0 移动。 对于…

从阻抗匹配看拥塞控制

先来理解阻抗匹配&#xff0c;但我不按传统方式解释&#xff0c;因为传统方案你要先理解如何定义阻抗&#xff0c;然后再学习什么是输入阻抗和输出阻抗&#xff0c;最后再看如何让它们匹配&#xff0c;而让它们匹配的目标仅仅是信号不反射&#xff0c;以最大能效被负载接收。 …

Amazon CodeWhisperer 开箱初体验

文章作者&#xff1a;Coder9527 科技的进步日新月异&#xff0c;正当人工智能发展如火如荼的时候&#xff0c;各大厂商在“解放”码农的道路上不断创造出各种 Coding 利器&#xff0c;今天在下就带大家开箱体验一个 Coding 利器&#xff1a; Amazon CodeWhisperer。 亚马逊云科…

99基于matlab的小波分解和小波能量熵函数

基于matlab的小波分解和小波能量熵函数&#xff0c;通过GUI界面导入西储大学轴承故障数据&#xff0c;以可视化的图对结果进行展现。数据可更换自己的&#xff0c;程序已调通&#xff0c;可直接运行。 99小波分解和小波能量熵函数 (xiaohongshu.com)https://www.xiaohongshu.co…

【LeetCode每日一题合集】2023.11.27-2023.12.3 (⭐)

文章目录 907. 子数组的最小值之和&#xff08;单调栈贡献法&#xff09;1670. 设计前中后队列⭐&#xff08;设计数据结构&#xff09;解法1——双向链表解法2——两个双端队列 2336. 无限集中的最小数字解法1——维护最小变量mn 和 哈希表维护已经去掉的数字解法2——维护原本…

二分查找|前缀和|滑动窗口|2302:统计得分小于 K 的子数组数目

作者推荐 贪心算法LeetCode2071:你可以安排的最多任务数目 本文涉及的基础知识点 二分查找算法合集 题目 一个数组的 分数 定义为数组之和 乘以 数组的长度。 比方说&#xff0c;[1, 2, 3, 4, 5] 的分数为 (1 2 3 4 5) * 5 75 。 给你一个正整数数组 nums 和一个整数…

response应用及重定向和request转发

请求和转发&#xff1a; response说明一、response文件下载二、response验证码实现1.前置知识&#xff1a;2.具体实现&#xff1a;3.知识总结 三、response重定向四、request转发五、重定向和转发的区别 response说明 response是指HttpServletResponse,该响应有很多的应用&…

Kafka在微服务架构中的应用:实现高效通信与数据流动

微服务架构的兴起带来了分布式系统的复杂性&#xff0c;而Kafka作为一款强大的分布式消息系统&#xff0c;为微服务之间的通信和数据流动提供了理想的解决方案。本文将深入探讨Kafka在微服务架构中的应用&#xff0c;并通过丰富的示例代码&#xff0c;帮助大家更全面地理解和应…

PaddleClas学习3——使用PPLCNet模型对车辆朝向进行识别(c++)

使用PPLCNet模型对车辆朝向进行识别 1 准备环境2 准备模型2.1 模型导出2.2 修改配置文件3 编译3.1 使用CMake生成项目文件3.2 编译3.3 执行3.4 添加后处理程序3.4.1 postprocess.h3.4.2 postprocess.cpp3.4.3 在cls.h中添加函数声明3.4.4 在cls.cpp中添加函数定义3.4.5 在main.…

时间序列预测 — VMD-LSTM实现单变量多步光伏预测(Tensorflow):单变量转为多变量

目录 1 数据处理 1.1 导入库文件 1.2 导入数据集 1.3 缺失值分析 2 VMD经验模态分解 3 构造训练数据 4 LSTM模型训练 5 预测 1 数据处理 1.1 导入库文件 import time import datetime import pandas as pd import numpy as np import matplotlib.pyplot as plt f…

优化算法 学习记录

文章目录 相关资料 优化算法梯度下降学习率牛顿法 随机梯度下降小批量随机梯度下降动量法动量法解决上述问题 AdaGrad 算法RMSProp算法Adam学习率调度器余弦学习率调度预热 相关资料 李沐 动手学深度学习 优化算法 优化算法使我们能够继续更新模型参数&#xff0c;并使损失函…