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

news2024/12/23 10:17:28

这篇是我对哔哩哔哩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.coloradmin.cn/o/1312642.html

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

相关文章

[已解决]HttpMessageNotReadableException: JSON parse error: Unexpected character:解析JSON时出现异常的问题分析与解决方案

🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~&#x1f33…

标书明标的含义与制作要求

一、什么是标书明标? 在招投标过程中,标书明标是一种常见的招标方式,它是指招标人将招标文件公开进行公示,以吸引投标人参与竞标。在标书明标中,招标文件会明确列出项目的具体要求、投标人的资格条件、技术标准等&…

docker核心原理——unionfs、namespace、cgroup

docker 核心原理 docker的核心原理其实就是cgroupnamespaceunionfs 组合实现的隔离机制,资源控制等。 隔离机制 在容器进程启动之前重新挂载它的整个根⽬录“/”,⽤来为容器提供隔离后的执⾏环境⽂件系统通过Linux Namespace 创建隔离,决…

16--常用类和基础API--06

1、包装类 1.1 包装类概述 Java提供了两个类型系统,基本类型与引用类型,使用基本类型在于效率,然而很多情况,会创建对象使用,因为对象可以做更多的功能,如果想要我们的基本类型像对象一样操作&#xff0c…

海思平台isp之ccm标定

文章目录 1、raw图采集2、ccm标定2.1、标定参数配置2.2、标定效果优化2.2.1、优化方式一2.2.2、优化方式二2.2.3、优化方式三1、raw图采集 raw图采集步骤及标准,请参考文章 《海思平台isp之ccm标定》。2、ccm标定 2.1、标定参数配置 (1)图像基本参数 (2)黑电平设置 (…

商业印刷市场分析:预计2029年将达到53004亿元

商业印刷技术显示了强大的生命力。电子商务的扩张性发展,传统的商务印刷行业也在逐渐的转型。中国印刷业已深度融入全球印刷加工产业链,为国际社会超过50个国家提供印刷包装服务。数据显示,中国印刷业对外加工贸易额已达842亿元。 商业印刷是…

Axure动态面板的使用

一. 动态面板 Axure动态面板是Axure RP软件中的一个功能模块,用于创建交互式原型和模拟应用程序的动态效果。它可以模拟用户在应用程序中的操作流程,并展示不同状态之间的变化,提供更真实的用户体验。通过创建不同的状态和添加交互效果&…

高分辨率台阶仪,精准掌控细节测量

什么是台阶仪? 台阶仪是一款超精密接触式微观轮廓测量仪,可以对微米和纳米结构进行膜厚和薄膜高度、表面形貌、表面波纹和表面粗糙度等的测量。 什么是台阶仪分辨率? 台阶仪分辨率是指在台阶仪的测量范围内,仪器能够精确分辨出的…

【Docker五】使用Harbor搭建Docker私有仓库

目录 一、harbor概述 1、harbor概念: 2、harbor的特性 3、harbor的组件: 二、harbor实验: 1、搭建harbor 2、远程主机使用docker-harbor: 3、镜像同步: 一、harbor概述 1、harbor概念: harbor&…

Linux 非阻塞网络IO模式

非阻塞网络IO模式介绍 当用户线程发起一个 read 操作后,并不需要等待,而是马上就得到了一个结果。如果结果是一个 error 时,它就知道数据还没有准备好,于是它可以再次发送 read 操作。一旦内核中的数据准备好了,并且又…

Tita集成无代码API:电商客服与营销系统的升级

API的力量:优化电商与客服系统的无代码集成解决方案 在数字化转型的时代,电商与客服系统的高效运作对于企业的成功至关重要。无代码API平台Tita为此提供了一站式解决方案,使企业在无需深入的代码开发工作的前提下,便能实现各种系…

安装2023最新版Java SE 21.0.1来开发Java应用程序

安装2023最新版Java SE 21.0.1来开发Java应用程序 Install the latest version of Java SE 21.01 to Develop Java Applications By JacksonML 本文简要介绍如何下载和安装2023年最新版Java Development Kit (简称JDK,即Java开发工具包标准版)21.0.1&…

互联网加竞赛 python 爬虫与协同过滤的新闻推荐系统

1 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 python 爬虫与协同过滤的新闻推荐系统 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分工作量:3分创新点:4分 该项目较为新颖&…

编程性能调优方案

微信公众号转载,关注微信公众号掌握更多技术动态 --------------------------------------------------------------- 一、字符串与集合性能优化 1.String 对象的实现 在 Java 语言中,Sun 公司的工程师们对 String 对象做了大量的优化,来节…

力扣 | 437. 路径总和 III

437. 路径总和 III mport java.util.ArrayList; import java.util.List;/*** int的取值范围&#xff1a;* -2^31 ~ 2^31-1* <p>* -2147483648 ~ 2147483647&#xff08;约等于10的9次方&#xff09;* <p>* long long的取值范围&#xff1a;* -2^63 ~ (2^63-1&…

gitee创建一个新仓库和提交代码到码云

gitee创建一个新的项目并提交到码云 新建一个仓库 填写创建基本信息 以这个新创建的仓库保存项目所有的代码 在IDEA中克隆这个项目 从版本控制中新建一个git项目 从码云成功克隆项目 创建微服务模块 创建第商品模块 以以上同样的步骤完成下面几个模块的创建 聚合总…

软考科目如何选择?

软考科目繁多&#xff0c;让许多学弟学妹感到困惑&#xff0c;不知道该选择哪个科目。以下是一些建议&#xff0c;可以根据个人实际需求选择备考的科目。 1、初级是可选的 软考初级非常简单&#xff0c;适合刚刚入门学习的朋友报考。对于一些有基础的朋友&#xff0c;建议直接…

基于JAVA的校园电子商城系统论文

摘 要 网络技术和计算机技术发展至今&#xff0c;已经拥有了深厚的理论基础&#xff0c;并在现实中进行了充分运用&#xff0c;尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代&#xff0c;所以对于信息的宣传和管理就很关键。因此校园购物信息的…

智慧工地源码:为施工企业提供专业落地的解决方案

智慧工地利用物联网、大数据、AI等核心技术&#xff0c;实时采集现场数据&#xff0c;自动分析&#xff0c;精准分析、智能决策、科学评价&#xff0c;形成一套数据驱动的新型管理模式。为施工企业提供生产提效、安全可控、成本节约的项目管理解决方案&#xff0c;提升项目部管…

AI猫图片展示

AI猫展示 文章目录 AI猫展示