当前位置: 首页 > news >正文

【目标检测基础篇】目标检测评价指标:mAP计算的超详细举例分析以及coco数据集标准详解(AP/AP50/APsmall.....))

学习视频:
霹雳吧啦Wz-目标检测mAP计算以及coco评价标准
【目标检测】指标介绍:mAP

1 TP/FP/FN

  • TP(True Positive) : IoU>0.5的检测框数量(同一Ground truth只计算一次)
  • FP(False Positive) : IoU<=0.5的检测框(或者是检测到同一个GT的多余检测框的数量),误检的个数
  • FN(False Negative) : 没有检测到的GT的数量,漏检的目标的个数

1.1 举例分析

在这里插入图片描述

上面的图中有两只小猫,绿色的是他们的标注框,可以看到模型对于蝴蝶结小猫这个目标预测了两个目标框,分别为红框和黄框

  • 红色预测框和标注框的IOU>0.5,所以红框为TP
  • 黄色预测框和标注框的IOU<0.5,所以红框为FP
  • 模型对于铃铛小猫是没有预测出任何框的,所以为FN

2 Presion和Recall

  • Precision(查准率): 模型预测的所有目标(TP+FP)中,预测正确的(TP)比例 P r e c i s i o n = T P / ( T P + F P ) Precision = TP / (TP +FP) Precision=TP/(TP+FP)

  • Recall(查全率): 所有真实目标(TP+FN)中,预测正确(TP)的比例 R e c a l l = T P / ( T P + F N ) Recall = TP / (TP + FN) Recall=TP/(TP+FN),其中TP+FN = GT的个数,即图片中出现的所有预测框的个数

2.1 举例

仅凭借其中一个指标无法说明模型的好坏。

2.1.1 precision

在这里插入图片描述
图片中有5个目标,但是模型只检测出一个目标(1个红色框),没有其他任何的检测框,所以TP=1,FP=0,故P = 1,因此P高并不能说明模型检测效果好。

2.1.2 recall

在这里插入图片描述
假设模型一次给出了50个预测框,包括了图中的5个目标,故TP=5,由于没有漏检目标,故FN=0,因此recall=1,故R高也不能说明模型预测的好。

3 Average Precision

平均精度(Average Precision, AP) 是目标检测算法的热门衡量指标。衡量了模型对正样本的预测准确性。

通过在不同的召回率下计算并平均精确率来得到,形成了一个曲线下的面积值。较高AP 值意味着模型具有更好的检测性能,而AP=1表示模型的检测是完美的。

  • AP: P-R曲线下面积
  • P-R曲线 : Precision-Recall曲线
  • mAP: mean Average Precision, 即各类别AP的平均值

3.1 举例分析

在这里插入图片描述
使用yolov5来进行预测,图片的标注为左图所示,yolov5预测的结果如右图所示,可以看到模型预测的有错误:没有预测到窗户里的人,错把一只小狗预测成了泰迪
在这里插入图片描述

原图中共有2+12+1+1=16个目标

在这里插入图片描述

在这里插入图片描述

由于平均精度(AP)是按照类别来计算的。那么下面先计算狗的平均精度。

步骤1: 首先列出狗类所有预测框的置信度并且判断是TP还是FP
在这里插入图片描述

步骤2:计算精确度和召回率

表格解释:Conf.置信度;Matches:是否为TP/FP;Cumulative TP:对TP数量进行累计;Cumulative FP:对FP数量进行累计;

其中GT的数量为16
在这里插入图片描述

步骤3:绘制PR曲线
在这里插入图片描述
在这里插入图片描述
(未完待续)

4 CoCo数据集评价指标

可以看到CoCo数据集给出了比较多的评价指标,下面分析他们的具体含义。
在这里插入图片描述

4.1 Average Precision(AP)

在这里插入图片描述
A P AP AP:当IoU从0.5-0.95范围内取10个值(间隔0.05),计算到的AP的均值,CoCo最主要的评价指标

A P I o U = 0.5 AP^{IoU=0.5} APIoU=0.5:当iou取0.5时计算出的AP值

A P I o U = 0.75 AP^{IoU=0.75} APIoU=0.75:当iou取0.75时计算出的AP值,要求更为严格

4.2 AP Across Scales

A P s m a l l AP^{small} APsmall:针对小目标,目标像素面积<32平方
A P m e d i u m AP^{medium} APmedium:中等目标,32<目标像素面积<96
A P l a r g e AP^{large} APlarge:大目标,目标像素面积>96

4.3 Average Recall(AR)

A R m a x = 1 AR^{max=1} ARmax=1:每张图片只给出一个检测目标
A R m a x = 10 AR^{max=10} ARmax=10:每张图片给出10个检测目标
A R m a x = 100 AR^{max=100} ARmax=100:每张图片给出100个检测目标

4.4 AR Across Scales

A R s m a l l AR^{small} ARsmall:针对小目标,目标像素面积<32平方
A R P m e d i u m ARP^{medium} ARPmedium:中等目标,32<目标像素面积<96
A R l a r g e AR^{large} ARlarge:大目标,目标像素面积>96

相关文章:

【目标检测基础篇】目标检测评价指标:mAP计算的超详细举例分析以及coco数据集标准详解(AP/AP50/APsmall.....))

学习视频&#xff1a; 霹雳吧啦Wz-目标检测mAP计算以及coco评价标准 【目标检测】指标介绍&#xff1a;mAP 1 TP/FP/FN TP(True Positive) : IoU>0.5的检测框数量(同一Ground truth只计算一次)FP(False Positive) : IoU<0.5的检测框(或者是检测到同一个GT的多余检测框的…...

服务器与普通电脑的区别,普通电脑是否可以作为服务器使用

服务器在我们日常应用中非常常见&#xff0c;手机APP、手机游戏、PC游戏、小程序、网站等等都需要部署在服务器上&#xff0c;为我们提供各种计算、应用服务。服务器也是计算机的一种&#xff0c;虽然内部结构相差不大&#xff0c;但是服务器的运行速度更快、负载更高、成本更高…...

长安链Docker Java智能合约引擎的架构、应用与规划

#功能发布 长安链3.0正式版发布了多个重点功能&#xff0c;包括共识算法切换、支持java智能合约引擎、支持后量子密码、web3生态兼容等。我们接下来为大家详细介绍新功能的设计、应用与规划。 在《2022年度长安链开源社区开发者调研报告》中&#xff0c;对Java合约语言支持是开…...

STM32 ESP8266模块的曲折探索

这是本文的配套资料&#xff0c;最终工程请参考 新_ESP8266资料\stm32f103成功移植的项目 【免费】stm32f103c8t6esp8266资料资源-CSDN文库 一、等到了ready 产品参数 我使用的是ai-thinker的esp8266-01s&#xff0c;以下为产品规格书 引脚定义&#xff1a; 依据引脚定义&…...

letcode::根据二叉树创建字符串

根据二叉树创建字符串 题目描述&#xff1a; 给你二叉树的根节点 root &#xff0c;请你采用前序遍历的方式&#xff0c;将二叉树转化为一个由括号和整数组成的字符串&#xff0c;返回构造出的字符串。 空节点使用一对空括号对 “()” 表示&#xff0c;转化后需要省略所有不影…...

6个免费的ChatGPT网站

AI 大模型的出现给时代带来了深远的影响&#xff1a; 改变了产业格局&#xff1a;AI 大模型的发展推动了人工智能技术在各行业的广泛应用&#xff0c;改变了传统产业的运作方式&#xff0c;促进了新兴产业的崛起&#xff0c;如智能驾驶、医疗健康、金融科技等。提升了科学研究…...

每天几道面试题|Kafka(一)基础概念

文章目录 什么是 Apache Kafka&#xff1f;它是用来解决什么问题的&#xff1f;Kafka 的主要组件有哪些&#xff1f;它们各自的作用是什么&#xff1f;Kafka 中的生产者和消费者是什么&#xff1f;它们之间的关系是怎样的&#xff1f;Kafka 中的分区是什么&#xff1f;为什么要…...

PLC与智能制造——蛋糕增大?谁来先行?

PLC的特点 图1 PLC的特点 PLC与智能制造 “中国制造2025”把智能制造作为自动化和信息化深度融合的主攻方向&#xff0c;其支撑在于强大的工业自动化系统&#xff0c;而PLC是工业自动化系统的“大脑”&#xff0c;它不仅可控制机械装备和生产线&#xff0c;还是信息的采集器和…...

基于spring boot框架的发艺美发店管理系统

摘 要 系统根据现有的管理模块进行开发和扩展&#xff0c;采用面向对象的开发的思想和结构化的开发方法对发艺美发店管理的现状进行系统调查。采用结构化的分析设计&#xff0c;该方法要求结合一定的图表&#xff0c;在模块化的基础上进行系统的开发工作。在设计中采用“自下而…...

Linux - IO

目录 四种典型IO方式阻塞IO非阻塞IO信号驱动异步IO 多路转接IOselect模型接口 四种典型IO方式 IO&#xff1a;输入输出–过程&#xff1a;等待IO就绪&#xff0c;进行数据拷贝 阻塞&#xff1a;为了完成某功能&#xff0c;发起一个调用&#xff0c;若完成功能条件不具备&#…...

Cmake和opencv环境安装

1 Cmake下载及安装 Download CMake 根据需要下载&#xff0c;历史版本下载方法如下 CMake 的版本号中的后缀 "rc1" 和 "rc2" 表示 Release Candidate 1 和 Release Candidate 2&#xff0c;它们都是候选版本&#xff0c;用于测试新功能和修复 bug。通常情…...

Redis是如何避免“数组+链表”的过长问题

目录 一、扩展和收缩 二、使用高质量的哈希函数 三、使用跳跃表&#xff08;skiplist&#xff09;或其他数据结构 四、哈希表分片 一、扩展和收缩 Redis通过动态调整哈希表的大小来解决“数组链表”的长度问题&#xff0c;这涉及到两个过程&#xff1a;扩展(Expand)和收缩(S…...

Grass手机注册使用教程,利用闲置手机WiFi带宽赚钱

文章目录 Grass是什么&#xff1f; 项目介绍Grasss手机使用步骤第一步&#xff1a;下载狐猴浏览器第二步&#xff1a;注册账户&#xff08;已注册直接跳过&#xff09;第三步&#xff1a;安装Grass Chrome插件1、推荐离线安装2、在线安装 第四步&#xff1a;登录第五步&#xf…...

java NIO群聊系统

demo要求&#xff1a; 1&#xff09;编写一个NIO群聊系统&#xff0c;实现服务器端和客户端之间的数据简单通讯&#xff08;非阻塞&#xff09; 2&#xff09;实现多人群聊 3&#xff09;服务器端&#xff1a;可以监测用户上线&#xff0c;离线&#xff0c;并实现消息转发功…...

ZCC5429 异步升压芯片

一、产品综述 ZCC5429 芯片是一款自动调频、最高 600KHz 工作频率、高效率、宽输入电压范围的电流模式异步升压&#xff08;BOOST&#xff09;芯片&#xff0c;且可调输入限流功能。用户可灵活地通过外部补偿建立动态环路&#xff0c;获得在所有条件下最优瞬态性能。 ZCC5429…...

复试专业前沿问题问答合集10-1——区块链与加密货币

复试专业前沿问题问答合集10-1——区块链与加密货币 区块链与加密货币安全以及6G通信的基础知识问答: 区块链以及加密货币相关的基础安全知识 包括区块链如何确保交易安全、共识机制的作用、加密货币钱包的保护措施、智能合约的工作原理以及如何防范潜在的网络攻击。这些知…...

redis【面试题】

目录 Java全技术栈面试题合集地址Redis篇1.Redis 的数据类型&#xff1f;2.Redis 是单进程单线程的&#xff1f;3.一个字符串类型的值能存储最大容量是多少&#xff1f;4.Redis 的持久化机制是什么&#xff1f;各自的优缺点&#xff1f;5.redis 过期键的删除策略&#xff1f;6.…...

linux下使用 tar 来压缩和解压 tar.gz 和 tar.xz 文件

linux下使用 tar 来压缩和解压 tar.gz 和 tar.xz 文件 文章目录 linux下使用 tar 来压缩和解压 tar.gz 和 tar.xz 文件1. 压缩 tar.gz 文件2. 解压 tar.gz 文件3. 压缩 tar.xz 文件4. 解压 tar.xz 文件 1. 压缩 tar.gz 文件 要创建 .tar.gz 文件&#xff08;即使用 gzip 压缩的…...

Python环境下基于1D-CNN的轴承故障诊断及TSNE特征可视化

1D CNN 处理一维信号具有显著优势&#xff0c;已在很多领域得到初步应用&#xff1a; 心电图监测&#xff1a;将1DCNN应用于心脏病监测&#xff0c;其方法是针对每一个心脏病人的&#xff0c;即对于每个心律失常患者使用该患者特有的训练数据&#xff0c;专门训练出一个紧凑的…...

进程的调度,原则,算法

进程调度 进行上下问切换的时候根据什么原则来切换进程呢 进程的什么周期什么时候进行调度 调度原则 评价指标&#xff0c;作为调度算法的参考 调度算法的实现的标准 响应时间越小越好&#xff0c;平均响应时间的波动越小越好&#xff0c;稳定 &#xff08;不能忽大忽小&am…...

多自由度冗余空间机械臂位姿一体化规划与控制【附代码】

✨ 长期致力于空间机械臂、对偶四元数、位姿一体化、路径规划、跟踪控制研究工作&#xff0c;擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流&#xff0c;点击《获取方式》 &#xff08;1&#xff09;基于对偶四元数的冗余机械臂运…...

Allegro等长设置翻车实录:拓扑模板法的3个坑与手工PinPair的救赎

Allegro等长设计避坑指南&#xff1a;从拓扑模板到精准PinPair的实战演进在高速PCB设计中&#xff0c;等长匹配如同精密钟表里的齿轮啮合&#xff0c;差之毫厘便可能导致整个系统时序崩塌。当设计从简单的点对点结构升级到多负载复杂拓扑时&#xff0c;Allegro用户常陷入两种典…...

【DeepSeek-R1代码相似度引擎解密】:3层语义比对机制、Token归一化偏差修正与Jaccard阈值黄金分割点

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;DeepSeek代码重复检测 DeepSeek-R1 模型在训练过程中引入了严格的代码去重机制&#xff0c;其核心目标是消除训练语料中语义等价或高度相似的代码片段&#xff0c;从而提升模型对真实编程模式的学习能力与泛化…...

为Alchitry Au FPGA开发板外接JTAG接口的完整指南

1. 项目概述与核心价值如果你正在使用基于Xilinx Artix-7 FPGA的Alchitry Au或Au开发板&#xff0c;并且已经厌倦了每次调试或烧录都要依赖板载的USB-JTAG桥接芯片&#xff0c;或者你的项目已经将板载USB接口挪作他用&#xff0c;那么为你的开发板外接一个独立的JTAG调试器&…...

从游戏引擎到仿真平台:手把手教你用AirSim+UE4搭建你的第一个无人机/自动驾驶仿真环境

从游戏引擎到仿真平台&#xff1a;构建AirSimUE4无人机与自动驾驶仿真环境实战指南当游戏引擎遇上机器人算法测试&#xff0c;会碰撞出怎样的火花&#xff1f;微软开源的AirSim项目将虚幻引擎&#xff08;Unreal Engine&#xff09;从游戏开发领域引入到自动驾驶和无人机研究的…...

当 AI Coding 进入复杂企业系统,为什么提效远没有宣传里那么美好 ?

以 Claude Code、Codex 为代表的自主编码智能体&#xff08;Coding Agents&#xff09;&#xff0c;正在以惊人的速度席卷软件开发者生态。与此同时&#xff0c;类似“10 倍开发效率”“普通人也能随手构建软件”“程序员即将失业”的说法&#xff0c;也随处可见。这种不分场景…...

PCL 基于强度的双边滤波【2026最新版】

目录 一、算法原理 1、计算步骤 2、算法源码 3、函数解析 4、参考文献 二、代码实现 三、结果展示 四、滤波后未发生变化的原因 五、解决办法 六、结果展示 七、相关链接 本文由CSDN点云侠原创,博客长期更新,本文最近一次更新时间为:2026年5月24日。 一、算法原理 1、计算…...

收藏干货|2026 版企业 AI 落地实操指南,程序员小白入门避坑必备

如今人工智能早已脱离概念炒作阶段&#xff0c;全面扎根企业实际业务场景&#xff0c;成为技术从业者与企业管理者无法回避的发展课题。各行各业都加速布局AI赛道&#xff0c;行业心态也从初期观望试探&#xff0c;彻底转变为实打实的落地攻坚。 不少企业高层主动牵头统筹AI规划…...

基于树莓派打造万能遥控器:从硬件选型到Web控制界面全解析

1. 项目概述&#xff1a;打造一个能“学习”的万能遥控器家里遥控器越来越多&#xff0c;电视、空调、风扇、灯带……每个设备都配一个&#xff0c;找起来麻烦&#xff0c;用起来也乱。市面上所谓的“万能遥控器”其实并不万能&#xff0c;它内置的码库有限&#xff0c;很多小众…...

NHSE终极教程:5分钟掌握动物森友会存档编辑技巧

NHSE终极教程&#xff1a;5分钟掌握动物森友会存档编辑技巧 【免费下载链接】NHSE Animal Crossing: New Horizons save editor 项目地址: https://gitcode.com/gh_mirrors/nh/NHSE 还在为《集合啦&#xff01;动物森友会》的收集烦恼吗&#xff1f;想快速打造梦想岛屿却…...