计算机视觉目标检测性能指标

目录

精确率(Precision)和召回率(Recall)

F1分数(F1 Score)

IoU(Intersection over Union)

P-R曲线(Precision-Recall Curve)和 AP

mAP(mean Average Precision)


目标检测是计算机视觉领域中的一个重要任务,其目标是在图像或视频中识别出物体的位置和类别。为了评估目标检测算法的性能,需要使用一系列指标来量化模型的准确性、召回率、精确率以及对不同类别的处理能力。本文将详细介绍常见的目标检测性能指标,包括精确率、召回率、F1分数、IoU、AP、mAP、P-R曲线等,同时提供相关公式和案例。

精确率(Precision)和召回率(Recall)

精确率和召回率是评估目标检测模型性能的重要指标,它们通常在二分类任务中使用。在目标检测中,精确率表示模型正确识别出的目标数与所有被模型预测为目标的框的数量之间的比例。召回率表示模型正确识别出的目标数与总目标数之间的比例。

 

公式如下:

准确率(Accuracy):Acc = ( TP + TN ) / ( P +N )

精确率( precision ):TP / ( TP+FP ) = TP / P  

召回率(recall)):TP / (TP + FN ) = TP / T

案例: 假设我们有一个目标检测模型在一组图像上进行测试,其中涉及10个目标物体。模型识别出了8个目标,其中6个是真实目标(真阳性),2个是错误识别的(假阳性),而实际上还有2个目标未被识别(假阴性)。那么,精确率为6 / (6 + 2) = 0.75,召回率为6 / (6 + 2) = 0.75。

F1分数(F1 Score)

F1分数是精确率和召回率的调和平均,用于综合考虑模型的准确率和召回率。F1分数对于处理不平衡数据集或需要权衡精确率和召回率的情况非常有用。

公式如下:

 

案例: 假设一个目标检测模型的精确率为0.8,召回率为0.7。那么,F1分数为2 * (0.8 * 0.7) / (0.8 + 0.7) = 0.7619。

IoU(Intersection over Union)

IoU是衡量预测边界框和真实边界框之间重叠程度的指标,常用于评估目标检测框的质量。IoU通过计算预测框和真实框的交集面积除以它们的并集面积来衡量。

公式如下:

通常,如果IoU大于某个阈值(例如0.5),则将预测框视为正确预测。

案例: 考虑一个目标检测任务,真实框的位置为[20, 30, 100, 150],预测框的位置为[25, 35, 95, 145]。交集面积为(95 - 25) * (145 - 35) = 6000,真实框面积为(100 - 20) * (150 - 30) = 9000,预测框面积为(95 - 25) * (145 - 35) = 6000。并集面积为9000 + 6000 - 6000 = 9000。因此,IoU为6000 / 9000 = 0.6667。

P-R曲线(Precision-Recall Curve)和 AP

PR 曲线是用于衡量模型在不同召回率下的准确性的一种图形化表示方式。在目标检测中,召回率是指正确检测出的正样本数量与所有实际正样本数量的比率,而精确率是指正确检测出的正样本数量与所有被模型预测为正样本的样本数量的比率。

用一个简单的例子来演示平均精度(AP)的计算。假设数据集中总共有5个苹果。我们收集模型为苹果作的所有预测,并根据预测的置信水平(从最高到最低)对其进行排名。第二列表示预测是否正确。如果它与ground truth匹配并且loU≥0.5,则是正确的。

 

表中,Rank一列表示框按置信度由高到低排列后的序号,correct表示该框是否正确,Precision表示计算出的精确率,Recall表示计算出的召回率。

精确率和召回率的计算是一个不断累计的过程,而不是每个框独立的。

例如:

在第一个框时,精确率 = 1/1 =1.0,召回率 =1/5 = 0.2;

在第二个框时,精确率 = 2/2 = 1.0,召回率 = 2/5 = 0.4;

在第三个框时,精确率 = 2/3 = 0.67,召回率 = 2/5 = 0.4;

……
这时,我们根据精确率和召回率,就能绘制出PR曲线:

 

AP是PR曲线下的面积,会设定采样点,一般在横轴0~1范围内平均分为10或者100段,最后采样的值相加除以采样点数。当然还有别的方法。

mAP(mean Average Precision)

mAP是所有类别AP的平均值,通常用于衡量多类别目标检测任务的整体性能。它对模型在各个类别上的性能进行综合评估,能够准确反映模型在不同类别上的表现。

案例: 假设我们有一个多类别目标检测模型,对于每个类别计算得到的AP如下:

类别AP
0.85
0.75
车辆0.90
行人0.70

则mAP为(0.85 + 0.75 + 0.90 + 0.70) / 4 = 0.80。

目标检测性能指标在评估模型在不同数据集和任务上的性能时起着重要作用。精确率、召回率、F1分数、IoU、AP、mAP以及P-R曲线等指标能够综合考虑模型在不同方面的表现,帮助我们更好地理解模型的优势和局限性。在实际应用中,根据任务的特点和需求,选择适合的指标来评估模型的性能是至关重要的。

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

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

相关文章

Leetcode-每日一题【剑指 Offer 30. 包含min函数的栈】

题目 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。 示例: MinStack minStack new MinStack(); minStack.push(-2); minStack.push(0); minStack.push(-3); minStack…

【mysql】事务的四种特性的理解

🌇个人主页:平凡的小苏 📚学习格言:命运给你一个低的起点,是想看你精彩的翻盘,而不是让你自甘堕落,脚下的路虽然难走,但我还能走,比起向阳而生,我更想尝试逆风…

TOMCAT基础

tomcat是一个基于Java开发的,开放源代码的web应用服务器。它可以解析html页面中的java代码,执行动态请求,实现动态页面。核心功能是将收到的http请求处理并转发给适当的servlet来处理,然后将响应返回给客户端。 优点 1&#xff0c…

Django实现音乐网站 ⑼

使用Python Django框架制作一个音乐网站, 本篇主要是后台对专辑、首页轮播图原有功能的基础上进行部分功能实现和显示优化。 目录 专辑功能优化 新增编辑 专辑语种改为下拉选项 添加单曲优化显示 新增单曲多选 更新歌手专辑数、专辑单曲数 获取歌手专辑数 保…

【并发编程】自研数据同步工具的优化:创建线程池多线程异步去分页调用其他服务接口获取海量数据

文章目录 场景:解决方案 场景: 前段时间在做一个数据同步工具,其中一个服务的任务是调用A服务的接口,将数据库中指定数据请求过来,交给kafka去判断哪些数据是需要新增,哪些数据是需要修改的。 刚开始的设…

Character Animation With Direct3D 读书笔记

角色动画简介 2D动画:循环播放多张图片 3D动画: 骨骼动画、变形动画 DirectX入门 Win32 应用程序 Application类:处理主程序循环,图形设备的初始化 Init:加载资源并创建图形设备Update:更新游戏世界&am…

Vue中子组件修改父组件传来的Prop值

vue中子组件不能直接修改父组件传来的prop值,Prop 是一种传递数据的机制,父组件通过 Prop 向子组件传递数据,子组件通过 Props 接收父组件传递过来的数据,这些数据被封装成一个个解构体形式的对象,不能直接进行修改。这…

React 18 更新 state 中的对象

参考文章 更新 state 中的对象 state 中可以保存任意类型的 JavaScript 值,包括对象。但是,不应该直接修改存放在 React state 中的对象。相反,当想要更新一个对象时,需要创建一个新的对象(或者将其拷贝一份&#xf…

图像去雨、去雪、去雾论文学习记录

All_in_One_Bad_Weather_Removal_Using_Architectural_Search 这篇论文发表于CVPR2020,提出一种可以应对多种恶劣天气的去噪模型,可以同时进行去雨、去雪、去雾操作。但该部分代码似乎没有开源。 提出的问题: 当下的模型只能针对一种恶劣天气…

【ARM 嵌入式 编译系列 4.1 -- GCC 编译属性 likely与unlikely 学习】

文章目录 GCC likely与unlikely 介绍linux 内核中的 likely/unlikely上篇文章:ARM 嵌入式 编译系列 4 – GCC 编译属性 __read_mostly 介绍 下篇文章: ARM 嵌入式 编译系列 4.2 – GCC 链接规范 extern “C“ 介绍 GCC likely与unlikely 介绍 likely 和 unlikely 是GCC编译器…

JDBC连接数据库(mysql)

准备jar包 官网下载即可,这里提供两个我下载过的jar包,供使用 链接:https://pan.baidu.com/s/1snikBD1kEBaaJnVktLvMdQ?pwdrwwq 提取码:rwwq eclipse导 jar包: 导入成功会有如下所示: ---------------------------…

个人开发中常见单词拼错错误纠正

个人开发中常见单词拼错错误纠正 前置说明参考地址后端开发相关前端开发相关客户端开发相关大数据/云计算相关工具或软件相关 前置说明 单词太多啦, 我这里只列表我个人见得比较多的, 我没见过就不列举了. 有错误或想补充的可以提交在原仓库提交Pull Request. 😁 …

JavaScript面试题(二)

31、http 的理解 ? HTTP 协议是超文本传输协议,是客户端浏览器或其他程序“请求”与 Web 服务器响应之间的应用层通信协议。HTTPS主要是由HTTPSSL构建的可进行加密传输、身份认证的一种安全通信通道。 32、http 和 https 的区别 ? 1、https协议需要到ca申请证书…

基于DEM tif影像的插值平滑和tif纹理贴图构建方法

文章目录 基于CDT的无缝融合基于拓扑纠正的地上-地表的Bool运算融合 基于CDT的无缝融合 准备数据是一个10米分辨率的Tif影像,直接用于生成DEM会十分的不平滑。如下图所示,平滑前后的对比效果图差异: 基于ArcGIS的DEM平滑插值 等值线生成&…

Oracle增加列

在Oracle数据库中,使用ALTER TABLE语句可以很方便地为表增加新列。在进行操作时,需要谨慎考虑新列的数据类型、名称、默认值、约束等因素,以确保操作的安全性和可靠性。同时,也需要注意备份数据、避免在高峰期进行操作等注意事项 …

GPT内功心法:搜索思维到GPT思维的转换

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…

Linux6.38 Kubernetes 集群存储

文章目录 计算机系统5G云计算第三章 LINUX Kubernetes 集群存储一、emptyDir存储卷2.hostPath存储卷3.nfs共享存储卷4.PVC 和 PV 计算机系统 5G云计算 第三章 LINUX Kubernetes 集群存储 容器磁盘上的文件的生命周期是短暂的,这就使得在容器中运行重要应用时会出…

编写 loading、加密解密 发布NPM依赖包,并实施落地使用

你的 Loading 开箱即可用的 loading, 说明:vue3-loading 是一个方便在 Vue 3 项目中使用的加载指示器组件的 npm 插件。它允许您轻松地在项目中添加加载动画,提升用户体验。 目录 你的 Loading🌍 安装🛹 演示地址&…

C# WPF 无焦点自动获取USB 二维码扫码枪内容,包含中文

C# WPF 无焦点自动获取USB 二维码扫码枪内容,包含中文 前言项目背景 需要预知的知识实现方案第一步 安装键盘钩子第二步 获取输入的值第3 步 解决中文乱码问题分析解决思路工具函数 结束 前言 USB接口的扫码枪基本就相当于一个电脑外设,等同于一个快速输…

Oracle Data Redaction与Data Pump

如果表定义了Redaction Policy,导出时数据会脱敏吗?本文解答这个问题。 按照Oracle文档Advanced Security Guide第13章,13.6.5的Tutorial,假设表HR.jobs定义了Redaction Policy。 假设HR用户被授予了访问目录对象的权限&#xf…