第1篇 目标检测概述 —(4)目标检测评价指标

前言:Hello大家好,我是小哥谈。目标检测评价指标是用来衡量目标检测算法性能的指标,可以分为两类,包括框级别评价指标和像素级别评价指标。本节课就给大家重点介绍下目标检测中的相关评价指标及其含义,希望大家学习之后能够有所收获!🌈 

前期回顾:

            第1篇 目标检测概述 —(1)目标检测基础知识

            第1篇 目标检测概述 —(2)目标检测算法介绍

            第1篇 目标检测概述 —(3)YOLO系列算法

             目录

🚀1.目标检测有哪些评价指标?

🚀2.目标检测评价指标详解

💥💥2.1 Precision(精确率)

💥💥2.2 Recall(召回率 )

💥💥2.3 Average Precision(平均精确率)

💥💥2.4 Mean Average Precision (mAP)(平均精确率均值)

💥💥2.5 mAP@0.5

💥💥2.6 mAP@0.5:0.95

💥💥2.7 ROC曲线

💥💥2.8 P-R曲线

💥💥2.9 IoU(交并比)

💥💥2.10 mIoU(平均交并比)

💥💥2.11 FPS(每秒传输帧数)

💥💥2.12 FLOPS(每秒浮点运算次数)

🚀1.目标检测有哪些评价指标?

目标检测评价指标是用来衡量目标检测算法性能的指标,可以分为两类:框级别评价指标和像素级别评价指标。

框级别评价指标主要用于评估检测框的准确性和召回率,常见的包括:

  1. Precision(精确率):表示模型预测的正样本中真实正样本的比例,计算公式为:Precision = TP / (TP + FP),其中 TP 表示真正例(模型正确检测的正样本数),FP 表示假正例(模型错误检测的正样本数)。
  2. Recall(召回率):表示模型正确检测的正样本数占所有真实正样本的比例,计算公式为:Recall = TP / (TP + FN),其中 FN 表示假负例(模型未能检测到的正样本数)。
  3. Average Precision(平均精确率):结合了不同置信度下的 Precision 和 Recall,通过计算 Precision-Recall 曲线下的面积来衡量模型的性能。
  4. Mean Average Precision (mAP)(平均精确率均值):计算不同类别的 Average Precision 的平均值,是目标检测中常用的评价指标之一。
  5. ROC曲线(Receiver Operating Characteristic curve):ROC曲线是以假阳性率(False Positive Rate)为横轴,真阳性率(True Positive Rate)为纵轴绘制的曲线,用于衡量模型在不同阈值下的性能。
  6. P-R曲线(Precision-Recall curve):P-R曲线是以查准率为横轴,查全率为纵轴绘制的曲线,用于衡量模型在不同阈值下的性能。

等等......🍉 🍓 🍑 🍈 🍌 🍐

像素级别评价指标主要用于评估目标检测模型在像素级别上的准确性,常见的包括:

  1. Intersection over Union (IoU)(交并比):计算检测框和真实框之间的重叠程度,常用于衡量目标检测的准确性。IoU 的计算公式为:IoU = (Detection ∩ Ground Truth) / (Detection ∪ Ground Truth)。
  2. Mean IoU (mIoU)(平均交并比):计算不同类别的 IoU 的平均值,是像素级别评价中常用的指标之一。

等等......🍉 🍓 🍑 🍈 🍌 🍐


🚀2.目标检测评价指标详解

在目标检测相关博客或论文中,经常看到一堆简写:TPTNFPFN,这些是什么含义呢?它们的含义具体如下:👇

  • 预测值为正例,记为P(Positive)
  • 预测值为反例,记为N(Negative)
  • 预测值与真实值相同,记为T(True)
  • 预测值与真实值相反,记为F(False)

那么从上面可以知道:

  • TP:真实为正样本,预测也为正样本,又称(真阳性)。
  • FN:真实为正样本,预测为负样本,又称(假阴性)。
  • FP:真实为负样本,预测为正样本,又称(假阳性)。
  • TN:真实为负样本,预测为负样本,又称(真阴性)。

知道了这几个定义,下面就好理解了。

💥💥2.1 Precision(精确率)

Precision(精确率)又叫查准率,表示模型预测的正样本中真实正样本的比例。在目标检测中,精确率用于衡量模型预测的准确性,精确率越高,表示模型预测的结果中真正为正例的比例越高。

式中,num_{pred}代表一共识别出的物体数量。举例说明:对于口罩人脸检测的一个效果图,图中9个检测框,7个正确检测出口罩,则TP = 7,2 个未正确检测出口罩,则FP = 2 ,参照公式准确率为0.78。

💥💥2.2 Recall(召回率 )

召回率 (Recall)又叫查全率,是正确识别出的物体占总物体数的比率。

num_{sample}表示一共有多少个需要检测的物体。举例说明:如果一共有8个带着口罩的目标,其中7个正确检测出口罩,则TP = 7 ,1个未检测出口罩,则FN = 1 ,根据计算公式,得到召回率为0.875。

💥💥2.3 Average Precision(平均精确率)

Average Precision(平均精确率)是一种用于衡量物体检测算法准确性的指标。它结合了查准率(precision)和召回率(recall)来评估模型在不同阈值下的性能。平均精确率通过计算不同阈值下的查准率,并对其进行平均来得到。它可以反映出模型在不同阈值下的性能变化情况。

PR曲线图上表现为PR曲线下面的面积。AP的值越大,则说明模型的平均准确率越高。

💥💥2.4 Mean Average Precision (mAP)(平均精确率均值)

Mean Average Precision (mAP)(平均精确率均值)是一种用于评估目标检测算法性能的指标。它是计算每个类别下的 Average Precision (AP) 的平均值。AP 是通过计算在不同召回率水平下的最大精确率来衡量算法在不同目标类别上的准确性。mAP 提供了一个综合性的度量,可以比较和评估不同算法的性能。

💥💥2.5 mAP@0.5

mAP@0.5是指在计算平均精度(mAP)时,使用IoU阈值为0.5。具体而言,mAP@0.5是计算每个类别下所有图片的平均精度,其中IoU阈值设定为0.5。通常情况下,mAP@0.5是用来评估目标检测算法的性能的指标之一。较高的mAP@0.5值表示算法在检测目标时具有更高的准确性。

💥💥2.6 mAP@0.5:0.95

mAP@0.5:0.95是指在IoU阈值从0.5到0.95的范围内,以步长为0.05进行计算的平均mAP。这意味着对于不同的IoU阈值(0.5、0.55、0.6、0.65、0.7、0.75、0.8、0.85、0.9、0.95),计算每个阈值下每个类别的所有图片的AP,并求平均得到的mAP值。

说明:♨️♨️♨️

在目标检测任务中,mAP(mean Average Precision)是一个广泛使用的指标,用于衡量检测模型的性能。其中,mAP@0.5,即在IoU(Intersection over Union)阈值为0.5时的mAP,是最常用的mAP值,也是PASCAL VOC竞赛中使用的标准评价指标。这是因为IoU阈值为0.5是一个相对较宽松的标准,既能够检测出较大的目标,也能检测出较小的目标,因此更能全面评估检测模型的性能。但是,mAP@0.5并不能完全反映出检测模型在不同IoU阈值下的表现。因此,mAP@0.5:0.95这个指标被提出,它是在IoU阈值从0.5到0.95变化时的平均mAP值。这个指标能够更全面地评估模型的性能,因为它考虑了不同IoU阈值下的检测结果。而且,在某些应用场景下,如自动驾驶、安防等,对目标检测的精度要求较高,因此mAP@0.5:0.95更能反映模型的性能。综上所述,mAP@0.5是最常用的mAP指标,但是mAP@0.5:0.95对于某些应用场景更为重要,因为它能够更全面、更准确地评估模型的性能。

💥💥2.7 ROC曲线

ROC曲线是一种常用的分类模型性能评估方法。它通过绘制真正例率(True Positive Rate,TPR)和假正例率(False Positive Rate,FPR)之间的关系曲线来展示分类器在不同阈值下的表现。TPR表示被正确分类为正例的样本占所有实际正例样本的比例,而FPR则表示被错误分类为正例的样本占所有实际负例样本的比例。ROC曲线的横坐标为FPR,纵坐标为TPR,曲线越靠近左上角,说明分类器的性能越好。

💥💥2.8 P-R曲线

P-R曲线是指Precision-Recall曲线,用于评估分类模型的性能。横坐标为Recall(召回率),纵坐标为Precision(精确率)。P-R曲线反映了在不同召回率下模型的精确率变化情况。通常情况下,P-R曲线越靠近右上角,模型的性能越好。

💥💥2.9 IoU(交并比)

IoU是指交并比(Intersection over Union),即预测框(prediction)和实际目标(ground truth)的交集和并集的比值,用以确定预测目标的置信度。当一个预测框的IoU大于某个阈值时才认定其为正分类(一般为0.5或0.3)。最理想情况下,完全重叠时,IoU的值为1。

上图中假设A为模型的检测结果,BGround Truth即样本的标注结果,那么AB相交的区域即为A∩B,而AB的并集即为AB共有的区域A∪B,那么IoU的计算公式即为:  IoU = (A∩B) / (A∪B) 

这个还是很简单就能理解的,反应到样本图上就如下图:

其中上图蓝色框框为检测结果,红色框框为真实标注。一般情况下对于检测框的判定都会存在一个阈值,也就是IoU的阈值,一般可以设置当IoU的值大于0.5的时候,则可认为检测到目标物体。

💥💥2.10 mIoU(平均交并比)

mIoU,即平均交并比(Mean Intersection over Union),是一种用于评估语义分割任务中预测结果与真实标签相似度的常用指标。它通过计算每个类别的交并比(IoU),并对所有类别的IoU取平均值得到。

💥💥2.11 FPS(每秒传输帧数)

FPS是指每秒传输的帧数,用于衡量动画或视频画面的流畅程度。较高的FPS意味着画面更新更频繁,动作更加流畅。一般来说,30帧每秒是为了避免动作不流畅的最低要求。一些计算机视频格式每秒只能提供15帧。此外,FPS也可以理解为刷新率,即屏幕每秒刷新的次数,常用单位为Hz。较高的刷新率可以提供更好的图像显示效果和视觉感观。

💥💥2.12 FLOPS(每秒浮点运算次数)

FLOPS,FLoating point Operations Per Second的缩写,即每秒浮点运算次数,或表示为计算速度,是一个衡量硬件性能的指标。

说明:♨️♨️♨️

FLOPS,浮点数运算,指计算量,越小越好。通俗点讲,指显卡算力,对应英伟达官网的那些:CUDA GPUs - Compute Capability | NVIDIA Developer


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

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

相关文章

FPGA project : rom_vga_jump

只有vga_pix 模块代码与rom_vga不同,所以只上传了这个模块的代码与仿真代码。 // #define BLACK 0x0000 // 黑色 // #define NAVY 0x000F // 深蓝色 // #define DGREEN 0x03E0 // 深绿色 // #define DCYAN …

Java集合处理Stream流使用解析

Stream Stream是Java 8引入的一个新的API,用于处理集合数据的流式操作。它提供了一种更简洁、更灵活的方式来处理集合数据,可以实现更高效的数据处理和转换。 使用Stream,可以通过一系列的操作来对集合数据进行筛选、映射、排序、聚合等操作…

在Qt中,怎么获取到在mainwindow.ui文件中添加的控件

2023年9月30日,周六晚上 假设我在mainwindow.ui中添加了一个名为textEdit的QTextEdit对象 在mainwindow.cpp中,可以通过ui对象来获取到这个控件

让大脑自由

前言 作者写这本书的目的是什么? 教会我们如何让大脑更好地为自己工作。 1 大脑的运行机制是怎样的? 大脑的基本运行机制是神经元之间通过突触传递信息,神经元的兴奋和抑制状态决定了神经网络的运行和信息处理,神经网络可以通过…

【图像分割】图像检测(分割、特征提取)、各种特征(面积等)的测量和过滤(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

系统集成|第二十一章(笔记)

目录 第二十一章 知识产权与法律法规21.1 知识产权21.2 法律法规 上篇:第二十章、收尾管理 第二十一章 知识产权与法律法规 21.1 知识产权 概述:狭义的知识产权就是传统意义上的知识产权,包括著作权(含邻接权)&#x…

iOS自动化测试方案(二):Xcode开发者工具构建WDA应用到iphone

文章目录 一、环境准备1.1、软件环境1.2、硬件环境1.3、查看版本 二、安装WDA过程2.7、构建失败,这类错误有很多,比如在选择开发者账号后,就会提示:Failed to register bundle identifier表示应用唯一注册失败2.9、第二个错误,完全…

嵌入式Linux应用开发-第十四章查询方式的按键驱动程序

嵌入式Linux应用开发-第十四章查询方式的按键驱动程序 第十四章 查询方式的按键驱动程序_编写框架14.1 LED驱动回顾14.2 按键驱动编写思路14.3 编程:先写框架14.3.1 把按键的操作抽象出一个button_operations结构体14.3.2 驱动程序的上层:file_operation…

Oracle的递归公共表表达式

查询节点id为2的所有子节点的数据,包括向下级联 WITH T1 (id, parent_id, data) AS (SELECT id, parent_id, dataFROM nodesWHERE id 2UNION ALLSELECT t.id, t.parent_id, t.dataFROM nodes tJOIN T1 n ON t.parent_id n.id ) SELECT * FROM T1; --建表语句 C…

layui 树状控件tree优化

先上效果图: 我选的组件是这个: 动态渲染完后,分别在窗体加载完成,节点点击事件分别加入js: //侧边栏图标替换//layui-icon-subtraction$(function () {$(".layui-icon-file").addClass("backs&quo…

【HTML】表格行和列的合并

概述 当我们需要在 HTML 表格中展示复杂的数据时,行和列的合并可以帮助我们实现更灵活的布局和结构。通过合并行和列,我们可以创建具有更多层次和结构的表格,使数据更易于理解和分析。 在 HTML 表格中,我们可以使用 rowspan 和 …

普通用户在Linux下免密执行sudo命令,真的可以吗?

主旨 在linux的日常运维中,我们会发现,使用root用户的权限太大了,很多时候一不小心就删错了,而且恢复不回来,我们应该怎么避免呢? 我们可以使用普通用户进行服务器的登录,如果有权限不够的情况&…

C/C++跨平台构建工具CMake-----在C++源码中读取CMakeLists.txt配置文件中的内容

文章目录 1.需求描述2.需求准备2.1 创建项目2.2 编辑CMakeLists.txt文件2.3 编写C文件2.4 编译构建项目 3.需求实现3.1 在CMakeLists.txt中输出日志信息3.2 增加配置生成C头文件3.3在C 源码中访问配置的值3.4 C文件中读取CMakeLists.txt中的字符串 总结 1.需求描述 当我们开发…

HTML之如何下载网页中的音频(二)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

Kafka(一)使用Docker Compose安装单机Kafka以及Kafka UI

文章目录 Kafka中涉及到的术语Kafka镜像选择Kafka UI镜像选择Docker Compose文件Kafka配置项说明KRaft vs Zookeeper和KRaft有关的配置关于Controller和Broker的概念解释Listener的各种配置 Kafka UI配置项说明 测试Kafka集群Docker Compose示例配置 Kafka中涉及到的术语 对于…

Linux—进程间通信之System V共享内存

目录 简介System V共享内存特点及用法 共享内存的创建共享内存的关联与去关联共享内存的删除共享内存通信代码实现总结 简介 System V共享内存是一种在Unix-like系统中广泛使用的共享内存机制。它是基于System V IPC(Inter-Process Communication,进程间…

SpringBoot整合阿里云OSS文件存储解决方案

🧑‍💻作者名称:DaenCode 🎤作者简介:啥技术都喜欢捣鼓捣鼓,喜欢分享技术、经验、生活。 😎人生感悟:尝尽人生百味,方知世间冷暖。 📖所属专栏:Sp…

毛玻璃态登录表单

效果展示 页面结构组成 通过上述的效果展示可以看出如下几个效果 底部背景有三个色块并且效果是毛玻璃效果登录表单是毛玻璃效果登录表单的周围的小方块也是有毛玻璃效果并且与登录表单有层次效果 CSS3 知识点 filter 属性backdrop-filter 属性绝对定位属性动画属性 底部背…