目标检测评估指标

在这里插入图片描述

目录

  • 一、检测精度
    • 1、TP、FP、TN、FN概念
      • ==正样本和负样本==
      • ==TP(True Positive---正确的正向预测)==
      • ==FP(False Positive---错误的正向预测)==
      • ==FN(False Negative---错误的负向预测)==
      • ==TN(True Negative---正确的负向预测)==
    • 2、Precision(准确率)和Recall(召回率)
    • 3、P-R curve (Precison-Recall curve)
    • 4、F1 score指标
    • 5、IoU (Intersection over Union)
    • 6、AP (Average Precision)
    • 7、mAP (mean Average Precision)
    • 8、AP计算案例
    • 9、不同尺度下的AP值
  • 二、检测速度
    • 1、前传耗时
    • 2、FPS (Frames Per Second)
    • 3、浮点运算量(FLOPS)

一、检测精度

大家在看目标检测论文的时候,经常会遇到mAP@0.5或者mAP@[0.5:0.95]和精度等等评估指标,自己最开始在发论文的时候对这些品估指标也总是会产生惯性思维,导致很多概念会混淆,所以也是查阅很多文献和博客去理解,但是很多博主讲的其实也不够通俗,比较偏概念化,最后将自己的理解和查阅到的内容整理了一下并列举相关例子便于大家理解。

目标检测的评估指标主要分为两部分,一类是检测精度,一类是检测速度
在这里插入图片描述

1、TP、FP、TN、FN概念

正样本和负样本

要想理解上面4个概念,就需要先区分正样本和负样本,在目标检测中,正样本和负样本是指用于训练和评估模型的图像区域或图像片段。它们的概念与二分类问题中的正样本和负样本类似,但在目标检测中,正样本和负样本通常用于区分图像中是否存在目标物体。

  • 正样本:正样本是指包含要检测的目标物体的图像区域或图像片段。在目标检测任务中,正样本通常被标注为目标类别,并用于训练模型以识别和定位这些目标。例如,在车辆检测任务中,车辆图像的区域被标记为正样本。
  • 负样本:负样本是指不包含要检测的目标物体的图像区域或图像片段。这些图像区域通常被标注为背景或非目标类别,并用于模型训练中的负样本采样。负样本有助于模型学习如何区分目标物体和背景。例如,在车辆检测任务中,不包含车辆的图像区域被标记为负样本。

举例说明:
假设我们有一个目标检测任务,要求检测图像中的狗。在这种情况下,正样本将是图像中包含狗的区域,而负样本将是图像中不包含狗的区域。

  • 正样本示例:一张图像中有一只狗站在公园里。公园中的狗区域将被标记为正样本,因为它包含我们要检测的目标(狗)。
  • 负样本示例:另一张图像中是一幅风景画,没有狗。在这种情况下,整个图像或图像中不包含狗的区域都可以被标记为负样本。

通过使用正样本和负样本,模型可以学习从背景中准确地识别和定位目标物体,从而提高目标检测的性能。


在这里插入图片描述

TP(True Positive—正确的正向预测)

需要满足 3 个条件:

  1. 置信度(Confidence Score)大于阈值,实际上预测出的所有的框都要满足这个条件;
  2. 预测类型与标签类型匹配;
  3. 预测的 Bounding Box 与 Ground Truth 的交并比 (Intersection over Union,IoU,后续会详细介绍) 大于阈值 (e.g. 0.5) ,当有多个满足条件的预选框,则选择置信度最大的作为TP,其余的作为 FP。

总结:表示模型正确识别出的正样本数。即模型正确地将目标物体定位并识别出来的数量。

FP(False Positive—错误的正向预测)

负样本被检测为正样本的数量,也称误报,预测的 Bounding Box 与 Ground Truth 的 IoU 小于阈值的检测框(定位错误)或者预测的类型与标签类型不匹配(分类错误)。

总结:表示模型错误地将负样本错误识别为正样本的数量。即模型错误地将背景或非目标区域误认为是目标区域的数量。

FN(False Negative—错误的负向预测)

正样本没被检测为负样本的数量,也称漏报,指没有检测出的 Ground Truth 区域。

总结:表示模型错误地将正样本错误地识别为负样本的数量。即模型未能正确识别目标区域的数量。

TN(True Negative—正确的负向预测)

指的是被分配为负样本,而且分配对了的样本,代表的是被正确分类的负样本,在mAP评价指标中不会使用到。是负样本且被检测出的数量,无法计算,在目标检测中,通常也不关注 TN。

总结:表示模型正确识别出的负样本数。即模型正确地将背景或非目标区域排除在外的数量。

在这里插入图片描述


2、Precision(准确率)和Recall(召回率)

准确率(Precision):指模型正确识别出的正样本(TP)占所有模型预测为正样本的样本(TP + FP)的比例。它衡量了模型识别为正样本的样本中有多少是真正的正样本。
召回率(Recall):指模型正确识别出的正样本(TP)占所有真实正样本(TP + FN)的比例。它衡量了模型能够正确识别出多少正样本。

上面说了估计一大堆,可能还不明白,下面借用混淆矩阵来详细解释精度和召回率如何计算。

混淆矩阵(Confusion Matrix)常用来观察分类结果,其是一个N*N的方阵,N表示类别数。

混淆矩阵的行表示真实类别,列表示预测类别。例如,猫狗的二分类问题,有猫的图像10张,狗的图像30张,模型对这40张图片进行预测,得到的混淆矩阵为:

类别阿猫阿狗
阿猫73
阿狗1020

召回率计算:
从第一行中可知道,10张猫的图像中,7张预测为猫,3张预测为狗,猫的召回率(Recall)为7/10 = 70%,
从第二行中可知道,30张狗的图像中,10张预测为猫,20张预测为狗,狗的召回率为20/30 = 66.7%,

精确度计算:
从第一列中可知道,预测为猫的17张图像中,有7张是真正的猫,猫的精确度(Precision)为7 / 17 = 41.17%
从第二列中可知道,预测为狗的23张图像中,有20张是真正的狗,狗的精确度(Precision)为20 / 23 = 86.96%

模型的准确率(Accuracy)为:(猫预测正确样本数+狗预测正确样本数)/总样本数 ------> (7+20) / 40 = 67.5%

3、P-R curve (Precison-Recall curve)

在这里插入图片描述

它展示了在不同阈值下模型的准确率(Precision)和召回率(Recall)之间的权衡关系。

P-R 曲线的横轴是召回率(Recall),纵轴是准确率(Precision)。通过在不同的阈值下计算准确率和召回率,可以得到 P-R 曲线上的一系列点,这些点代表着不同的模型配置或不同的阈值选择。在理想情况下,我们希望模型的 P-R 曲线越靠近右上角,这意味着在较高的召回率下能够保持较高的准确率。

其实在实际训练过程,召回率和准确率是成反比的,召回率越高,检测出物体的框也就越多,那么识别错误的样本的概率也就越大,从而导致检测准确率的下降。

P-R 曲线的含义:

  • 最佳工作点(Best Operating Point):P-R 曲线上的每个点对应于模型在不同阈值下的性能。在某些应用中,可能需要根据具体需求选择最佳的工作点。通常情况下,可以通过牺牲一些准确率来获得更高的召回率,或者相反地通过增加阈值来提高准确率。

  • 评估模型性能:P-R 曲线提供了评估模型性能的一种方式,特别是在不平衡数据集中,其中正样本和负样本的数量差异较大。对于这种情况,准确率和召回率比仅仅使用准确率更具代表性。

  • 权衡准确率和召回率:P-R 曲线展示了准确率和召回率之间的权衡关系。例如,如果需要更高的召回率,则可以降低阈值以捕获更多的正样本,但这可能会导致准确率下降。相反,如果需要更高的准确率,则可以增加阈值以减少误报,但可能会牺牲一些召回率。

  • PR曲线有一个缺点就是会受到正负样本比例的影响。比如当负样本增加10倍后,在Racall不变的情况下,必然召回了更多的负样本,所以精度就会大幅下降,所以PR曲线对正负样本分布比较敏感。对于不同正负样本比例的测试集,PR曲线的变化就会非常大。

4、F1 score指标

在目标检测中,如果仅仅使用准确率和召回率作为评估指标,是不太严谨的,所以提出了F1score指标。
F1分数是一个结合了准确率(Precision)和召回率(Recall)的单一指标,旨在综合评估分类模型的性能。它被定义为准确率和召回率的调和平均数。F1分数的公式如下:
在这里插入图片描述

使用F1评估指标有以下优势:

  • 综合性能评估:F1分数综合考虑了准确率和召回率,因此它对模型在正负样本分类中的综合性能进行了评估。这是有益的,特别是在处理不平衡数据集(其中正负样本数量差异较大)时,因为在这种情况下,仅使用准确率可能会导致误导。

  • 权衡准确率和召回率:F1分数强调了准确率和召回率之间的平衡。在某些应用中,我们可能希望模型能够在保持较高准确率的同时,保持相对较高的召回率,或者相反。F1分数提供了一个单一的指标,可以帮助找到在这两者之间达到平衡的点。

  • 特别适用于不平衡数据:在不平衡数据集中,如果负样本远远多于正样本(或相反),那么一个简单的模型可以通过将所有样本都预测为多数类别来取得高准确率。但这并不是我们想要的,因为模型在正样本上的表现可能较差。F1分数有助于解决这个问题,因为它关注了分类器在两个类别上的整体性能。

  • 用于二分类问题:F1分数主要用于二分类问题,其中模型需要将样本分为正类和负类。对于多分类问题,可以考虑使用类别间的宏平均或微平均来扩展F1分数的概念。

5、IoU (Intersection over Union)

IoU的概念比较简单,就是预测框与真实框之间的"重叠率",当预测框和真实框无限接近的时候,此时预测的位置最理想,IOU约等于1.
在这里插入图片描述

在目标检测过程中可以设置不同的阈值,来提高对模型训练的要求,当IoU阈值设置的越大,此时要求预测框越接近真实框。下面是不同IOU阈值下P-R曲线的变化情况。
在这里插入图片描述

重点!!!

假设你将IoU设置为0.5:

  • 如果IoU≥为0.5,则将目标检测分类为True Positive(TP)
  • 如果IoU<为0.5,则为错误检测,并将其归类为 False Positive(FP)
  • 当图像中存在ground truth,且模型未能检测到该物体时,将其归类为False Negative(FN)
  • True Negative (TN):TN是图像中我们没有预测到一个物体的每个部分。这个度量值对对象检测无效,因此我们忽略了TN。

6、AP (Average Precision)

1、AP即Average Precision,称为平均准确率,是对不同召回率点上的准确率进行平均,在PR曲线图上表现为PR曲线下面的面积。AP的值越大,则说明模型的平均准确率越高。
2、AP(average precision 平均精度):虽然名为平均精度,但AP的计算方法并不是计算Precision的平均值,而是计算每个类别的PR曲线与坐标轴围成的面积,可以用积分的方法进行计算。如果一个模型的AP越大,也就是说PR曲线与坐标轴围成的面积越大,Precision与Recall在整体上也相对较高。
在这里插入图片描述

7、mAP (mean Average Precision)

1、mAP(mean of Average Precision) : 对所有类别的AP值求平均值。AP可以反映每个类别预测的准确率,mAP就是对所有类的AP求平均值,用于反映整个模型的准确率。

2、如果是多类别目标检测任务,就要使用mAP,mAP是多个类别AP的平均值。这个mean的意思是对每个类的AP再求平均,得到的就是mAP的值,mAP的大小一定在[0,1]区间,越大越好。该指标是目标检测算法中最重要的一个。

3、mAP@0.5
mAP@0.5,这种形式表示在IOU阈值为0.5的情况下,mAP的值为多少。当预测框与标注框的IOU大于0.5时,就认为这个对象预测正确,在这个前提下再去计算AP的均值mAP。

4、mAP@[0.5:0.95]
存在mAP@[0.5:0.95]这样一种表现形式,这形式是多个IOU阈值下的mAP,会在区间[0.5,0.95]内,以0.05为步长,取10个IOU阈值,分别计算这10个IOU阈值下的mAP,再取平均值。
在这里插入图片描述

对于发表论文图表的要求,可以看出,会计算出每个类别的AP以及所有类别AP的平均值,也就是mAP。
在这里插入图片描述

8、AP计算案例

用一个简单的例子来演示平均精度(AP)的计算。 假设数据集中总共有5个苹果。 我们收集模型为苹果作的所有预测,并根据预测的置信水平(从最高到最低)对其进行排名。 第二列表示预测是否正确。 如果它与ground truth匹配并且IoU≥0.5,则是正确的预测,否则是错误的预测。
在这里插入图片描述
第一行:预测为正样本,正样本苹果总数为5个,所以P=1/1=1,R=1/5=0.2;
第二行:预测为正样本,P=2/2=1,R=2/5=0.4;
第三行:预测为负样本,P=2/3=0.67,此时预测的正样本依旧为2个,所以R=2/5=0.4;
第四行:预测为负样本,P=2/4=0.5,此时预测的正样本依旧为2个,所以R=2/5=0.4;

Recall随着包含更多预测而增加,但Precision会上下波动。

求出每次的precision和recall就可以画出P-R曲线,并计算绘制出的曲线与PR轴所围成的面积,就可以得到该类别的AP值。
在这里插入图片描述

9、不同尺度下的AP值

在看在YOLO目标检测相关论文的时候,会经常见到APs、APm、APL等实验室数据,因为yolo会生成多尺度的特征图,用于检测小目标、中目标、大目标,所以一般都会加上不同尺度的检测AP,如下:AP50表示在阈值设置为0.5时的检测AP。
在这里插入图片描述
什么样的尺度为小目标和大目标,COCO AP给了一个定义如下:当物体的大小小于322 就是小物体,大于962 就是大物体。
在这里插入图片描述

二、检测速度

1、前传耗时

从输入一张图像到输出最终结果所消耗的时间,包括前处理耗时(如图像归一化)、网络前传耗时、后处理耗时(如非极大值抑制)

2、FPS (Frames Per Second)

FPS (Frames Per Second):每秒钟能处理的图像数量,FPS用来评估目标检测的速度,当然要对比FPS,你需要在同一硬件上进行。另外也可以使用处理一张图片所需时间来评估检测速度,时间越短,速度越快。

3、浮点运算量(FLOPS)

处理一张图像所需要的浮点运算数量, 跟具体软硬件没有关系,可以公平地比较不同算法之间的检测速度。越小越好

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++STL【list链表】

list 1. list介绍 list文档&#xff08;非官方&#xff09; 官方文档list是双向带头循环链表&#xff0c;它可以在常数范围内的任意位置进行插入和删除操作。list的迭代器是双向迭代器(bidirectional iterator)&#xff0c;它可以前后双向迭代。 由容器的底层结构决定&#xf…

SQOOP安装与使用

SQOOP安装及使用 文章目录 SQOOP安装及使用SQOOP安装1、上传并解压2、修改配置文件3、修改环境变量4、添加MySQL连接驱动5、测试 准备MySQL数据登录MySQL数据库创建student数据库切换数据库并导入数据另外一种导入数据的方式使用Navicat运行SQL文件导出MySQL数据库 importMySQL…

HarmonyOS应用开发-环境搭建(windows环境)

官网地址&#xff1a;链接 DevEco Studio 3.1.1 Release&#xff1a;下载地址 1、安装DevEco Studio 直接安装即可 2、配置开发环境 1.运行已安装的DevEco Studio&#xff0c;首次使用&#xff0c;请选择Do not import settings&#xff0c;单击OK。 2.安装Node.js与ohpm。注…

【MySQL】索引优化与关联查询优化

数据库调优的几个维度&#xff1a; 索引失效&#xff0c;没有充分用到索引——索引建立关联查询太多JOIN——SQL优化服务器调优以及各个参数设置——调整my.cnf数据过多——分库分表 SQL查询优化的几种方式&#xff1a; 物理查询优化&#xff1a;通过索引以及表连接方式进行…

微服务分布式中为什么要分库分表呢?

什么是分库分表&#xff1f; 概念&#xff1a; 分库分表是一种数据库水平扩展的方法&#xff0c;通过将数据分散存储在多个数据库实例或多张表中&#xff0c;以提高系统的性能和扩展性。在Java应用中&#xff0c;可以使用一些数据库中间件或框架来实现分库分表。 为什么要分…

2024-3-6-数据库作业

作业&#xff1a;数据库操作的增、删、改完成 源代码&#xff1a; #include <myhead.h> void do_add(sqlite3 *ppDb) {char *errmsg NULL;char sql[128] "insert into Worker values(1001,小张,15000);";// "insert into Worker values(1002,小刘,900…

实验一 将调试集成到vscode

先唤起终端&#xff0c;按照上一篇文章的步骤分别启动调试服务器和调试客户端&#xff0c;然后挂在后台 PS&#xff1a;同时挂两个终端可以开两个窗口&#xff0c;也可以使用多窗口分屏式终端terminator 注意是要图二的光标一直闪&#xff0c;如果熄灭了说明连接超时了&#xf…

Linux中systemv共享内存

目录 1.原理 2.接口 1.shmget(share_memory_get获得共享内存) 2.ftok 3.shmat(share_memory_attaintion挂接到物理内存上) 4.key和shmid的区别 5.ipc 指令 6.shmdt函数&#xff08;share_memory_detach取消挂接&#xff09; 7.shmctl函数&#xff08;share_memory_cont…

【你也能从零基础学会网站开发】Web建站之HTML+CSS入门篇 网站开发的基本概念与站点文件的管理

&#x1f680; 个人主页 极客小俊 ✍&#x1f3fb; 作者简介&#xff1a;web开发者、设计师、技术分享 &#x1f40b; 希望大家多多支持, 我们一起学习和进步&#xff01;&#x1f604; &#x1f3c5; 如果对你有帮助的话&#xff0c;欢迎评论 &#x1f4ac;点赞&#x1f44d;&…

笔记本上使用usb蓝牙适配器

注意 必须先禁用笔记本上原来的蓝牙功能 禁用笔记本原来的蓝牙功能 使用usb蓝牙适配器

matlab读取hdf5格式的全球火灾排放数据库Global Fire Emissions Database(GFED)数据

1.引言 火灾是大气中痕量气体和气溶胶的重要来源&#xff0c;并且是全球尺度上最重要的干扰因素。此外&#xff0c;森林砍伐和热带泥炭地火灾以及火灾频率增加的地区&#xff0c;都会增加大气中二氧化碳的积累。烧毁面积提供了生物质燃烧事件期间受火灾影响土地的估算&#xff…

实时智能应答数字人搭建

语音驱动口型的算法 先看效果&#xff1a; 你很快就可以帮得上我了 FACEGOOD 决定将语音驱动口型的算法技术正式开源&#xff0c;这是 AI 虚拟数字人的核心算法&#xff0c;技术开源后将大程度降低 AI 数字人的开发门槛。FACEGOOD是一家国际领先的3D基础软件开发商&#xff0c;…

分类算法(Classification algorithms)

逻辑回归(logical regression&#xff09;&#xff1a; 逻辑回归这个名字听上去好像应该是回归算法的&#xff0c;但其实这个名字只是在历史上取名有点区别&#xff0c;但实际上它是一个完全属于是分类算法的。 我们为什么要学习它呢&#xff1f;在用我们的线性回归时会遇到一…

Xss-labs-master 1-16关

第一关 <?php ini_set("display_errors", 0); $str $_GET["name"]; echo "<h2 aligncenter>欢迎用户".$str."</h2>"; ?> <center><img srclevel1.png></center> <?php echo "&l…

OpenAI-Sora学习手册

通过Sora看2024红利&#xff1a;文生视频&#xff0c;虽然AI不一定是风口&#xff0c;但一定是未来深入到生活工作&#xff0c;乃至思考的必备工具。 目录 Sora介绍 Sora基础介绍 Sora官方网址 Sora的价值 1.物理世界的交互 2.创意世界的绽放 3.多角色、更精准、更细节…

两天学会微服务网关Gateway-Gateway网关限流

锋哥原创的微服务网关Gateway视频教程&#xff1a; Gateway微服务网关视频教程&#xff08;无废话版&#xff09;_哔哩哔哩_bilibiliGateway微服务网关视频教程&#xff08;无废话版&#xff09;共计17条视频&#xff0c;包括&#xff1a;1_Gateway简介、2_Gateway工作原理、3…

shell脚本一键部署docker

Docker介绍 Docker 是一个开源的平台&#xff0c;用于开发、交付和运行应用程序。它利用容器化技术&#xff0c;可以帮助开发人员更轻松地打包应用程序及其依赖项&#xff0c;并将其部署到任何环境中&#xff0c;无论是开发工作站、数据中心还是云中。以下是 Docker 的一些关键…

ChatGPT提问技巧——控制温度和TOP-P样本

ChatGPT提问技巧——控制温度和TOP-P样本 “控制温度和Top-P抽样”在自然语言处理中&#xff0c;控制温度是指通过调整生成文本的随机性和多样性&#xff0c;而Top-P抽样是一种生成文本的策略&#xff0c;它选择概率最高的前P个词作为候选词汇。这两个技术常用于生成文本的质量…

ChatGPT在地学、GIS、气象、农业、生态、环境等领域中的应用

以ChatGPT、LLaMA、Gemini、DALLE、Midjourney、Stable Diffusion、星火大模型、文心一言、千问为代表AI大语言模型带来了新一波人工智能浪潮&#xff0c;可以面向科研选题、思维导图、数据清洗、统计分析、高级编程、代码调试、算法学习、论文检索、写作、翻译、润色、文献辅助…

DataFunSummit 2023:洞察现代数据栈技术的创新与发展(附大会核心PPT下载)

随着数字化浪潮的推进&#xff0c;数据已成为企业竞争的核心要素。为了应对日益增长的数据挑战&#xff0c;现代数据栈技术日益受到业界的关注。DataFunSummit 2023年现代数据栈技术峰会正是在这样的背景下应运而生&#xff0c;汇聚了全球数据领域的精英&#xff0c;共同探讨现…