目标检测常用评估指标(metrics)

news2024/12/24 8:38:40
  • 1、基本概念
    • 真正例(TP):样本的实际类别为正类,并且模型将其预测为正类。
    • 假正例(FP):样本的实际类别为负类,并且模型将其预测为正类。
    • 真负例(TN):样本的实际类别为负类,并且模型将其预测为负类。
    • 假负例(FN):样本的实际类别为正类,并且模型将其预测为负类。
      T和F可以是看做模型的预测结果(P和N)的定语。
实际\预测预测为正类预测为负类
实际正类真正例(TP)假负例(FN)
实际负类假正例(FP)真负例(TN)
  • 2、精准率

    • 定义:预测为正类的数据中,实际为正类的样本占比。
    • 计算公式: P r e c i s i o n = T P T P + F P Precision=\frac{TP}{TP+FP} Precision=TP+FPTP
  • 3、召回率

    • 定义:实际为正类的样本数据中,预测为正类的样本占比。
    • 计算公式: R e c a l l = T P T P + F N Recall=\frac{TP}{TP+FN} Recall=TP+FNTP
    • 分母为真正例+假负例的样本数量相加。为什么加假负,因为模型的预测结果为假的负样本,那实际上就是真的正样本。
  • 4、目标检测任务的真正例、假正例、假负例如何划分

    • 1) T P TP TP:真正例,模型预测出一个框,与标注框的IOU大于阈值且分类正确。
    • 2) F P FP FP:假正例(误报),模型预测出一个框,与标注框的IOU小于阈值或者预测类别为背景或者分类错误。FP是相对于预测框。
    • 3) F N FN FN:假负例(漏报),图片中有一个标注框,但是没有任何一个预测框能匹配上,要么IOU低于阈值 ,要么类别对不上。FN是相对于标注框(Ground Truth来说的)。
    • 4) T N TN TN:真负例。在目标检测领域不考虑,因为真负例可以被理解为所有未预测且不含目标的区域,而这样的框是有连续且无穷多的。
  • 5、论文是如何计算相关指标的
    Faster R-CNN、SSD、YOLO等算法在训练阶段的正负样本的划分有各自的细节,但在最终测试和验证阶段评估精准率和召回率时,流程和算法本质上是一致的:对网络输出的所有预测框做阈值过滤和NMS,然后与标注框做IOU比较。统计TP、FP和FN。

    • 计算离散 R-P曲线
      对于单一类别C、固定的IOU:
      • 1)收集并保留模型对"类别C"做出的所有预测框(即模型输出标签 = C 的那些框)
      • 2)按置信度对预测框从大到小排序
      • 2)将这些框与"类别C"的标注框进行IOU匹配,判断那些是TP和FP。
      • 3)从i=1到i=N,一次只加入一个预测框,检查它是否与某个标注框是否匹配成功(IOU大于阈值),如果成功就是TP,否则就是FP。
      • 4)同时累计到目前为止的TP数、FP数。
      • 5)计算截止到当前预测框为止的精准率和召回率
        P r e c i s i o n i = T P i T P i + F P i Precision_{i}=\frac{TP_{i}}{TP_{i}+FP_{i}} Precisioni=TPi+FPiTPi
        R e c a l l i = T P i T P i + F N i Recall_{i}=\frac{TP_{i}}{TP_{i}+FN_{i}} Recalli=TPi+FNiTPi
    • AP计算
      • 通过插值或积分,对离散的PR曲线计算面积,得到该类别的AP
      • 计算所有类别AP的均值,得到mAP.
  • 6、目标检测的3个阈值

    • IOU阈值:用于判定一个预测框是否与某个标注框"匹配成功",从而记为TP。
    • 置信度阈值:用于筛选预测框(比如只保留置信度 > 0.5 >0.5 >0.5的预测框),绘制PR曲线就是取的不同的置信度阈值。
    • NMS中的IOU阈值:用于在预测框之间进行去重,比如只要两个预测框的IOU超过0.5,救认为他们检测到的目标高度重合,去掉置信度分数低的那个。

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

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

相关文章

ChatGPT生成接口文档实践案例(二)

不难发现,两个方案都出色地完成了接口文档的生成,但笔者更喜欢Response 2的表达,因为其描述更加全面。 还可以让ChatGPT生成符合OpenAPI 3.0规范的接口文档,以便于项目相关成员阅读,如图5-13所示。 为什么要生成OpenAP…

【解决】Linux更新系统内核后Nvidia-smi has failed...

问题概述 由于服务器(操作系统为 RedHat 9)宕机,重启后,系统内核自动更新了,然后输入 nvidia-smi 发现报了下面的异常: NVIDIA-SMI has failed because it couldnt communicate with the NVIDIA driver. Make sure that the late…

Docker Compose 安装 Harbor

我使用的系统是rocky Linux 9 1. 准备环境 确保你的系统已经安装了以下工具: DockerDocker ComposeOpenSSL(用于生成证书)#如果不需要通过https连接的可以不设置 1.1 安装 Docker 如果尚未安装 Docker,可以参考以下命令安装&…

PCIe_Host驱动分析_设备枚举

往期内容 本文章相关专栏往期内容,PCI/PCIe子系统专栏: 嵌入式系统的内存访问和总线通信机制解析、PCI/PCIe引入 深入解析非桥PCI设备的访问和配置方法 PCI桥设备的访问方法、软件角度讲解PCIe设备的硬件结构 深入解析PCIe设备事务层与配置过程 PCIe的三…

【CVE-2024-53375】TP-Link Archer系列路由器认证操作系统命令注入(内附远离和代码利用)

CVE-2024-53375 TP-Link Archer系列路由器认证操作系统命令注入 受影响的设备 使用 HomeShield 功能的 TP-Link 设备容易受到此漏洞的影响。这包括 TP-Link Archer 系列的多款路由器。 经过测试 Archer AXE75(EU)_V1_1.2.2 Build 20240827(发布日期 2024 年 11 月 4 日)…

SpringBoot 自动装配原理及源码解析

目录 一、引言 二、什么是 Spring Boot 的自动装配 三、自动装配的核心注解解析 3.1 SpringBootApplication 注解 (1)SpringBootConfiguration: (2)EnableAutoConfiguration: (3&#xf…

2025系统架构师(一考就过):案例题之一:嵌入式架构、大数据架构、ISA

一、嵌入式系统架构 软件脆弱性是软件中存在的弱点(或缺陷),利用它可以危害系统安全策略,导致信息丢失、系统价值和可用性降低。嵌入式系统软件架构通常采用分层架构,它可以将问题分解为一系列相对独立的子问题,局部化在每一层中…

单片机上电后程序不运行怎么排查问题?

1.电源检查。使用电压表测量单片机的电源电压是否正常,确保电压在规定的范围内,如常见的5V。 2.复位检查。检查复位引脚的电压是否正常,在单片机接通电源时,复位引脚通常会有一个高电平,按下复位按钮时,复位…

初学stm32 --- 外部中断

目录 STM32 IO 口中断基础知识 相关库函数: 使用 IO 口外部中断的一般步骤 STM32 IO 口中断基础知识 STM32 的每个 IO 都可以作为外部中断的中断输入口。STM32F103 的中断控制器支持 19 个外部中断/事件请求。每个中断设有状态位,每个中断/事件都有独立…

c++------------------函数

函数定义 语法格式 函数定义包括函数头和函数体。函数头包含返回类型、函数名和参数列表。函数体是用花括号{}括起来的代码块,用于实现函数的功能。例如,定义一个计算两个整数之和的函数: int add(int a, int b) {return a b; }这里int是返回…

【java基础系列】实现一个简单的猜数字小游戏

主要是用的java中的键盘录入和随机数两个api,实现这种人机交互的小游戏,可以用来锻炼基础算法思维 实现效果 实现代码 package com.gaofeng.day10;import java.util.Random; import java.util.Scanner;/*** author gaofeng* date 2024-12-22 - 9:21*/ …

helm的介绍和安装

1 helm概述 1.1 资源对象难以管理的问题 helm是k8s资源清单的管理工具,它就像Linux下的包管理器,比如centos的yum,ubuntu的apt helm:命令行工具,主要用于k8s的chart的创建,打包,发布和管理。…

AI,cursor快速上手思维导图

https://cursor101.com/zh/tutorial/learn-cursor-tab

ESP32S3 使用LVGL驱动LCD屏(ST7789主控)

ESP32S3 使用LVGL驱动LCD屏(ST7789主控) 目录 1 分析原理图 2 驱动、点亮LCD(ST7789) 2.1 在工程中添加目录、文件 2.2 添加esp_lvgl_port组件 2.3 对工程进行必要的配置 2.4 编写必要代码 3 烧录、验证 1 分析原理图 要使用SOC驱动LCD屏&#…

【hackmyvm】Zday靶机wp

HMVrbash绕过no_root_squash静态编译fogproject 1. 基本信息^toc 这里写目录标题 1. 基本信息^toc2. 信息收集2.1. 端口扫描2.2. 目录扫描 3. fog project Rce3.1. ssh绕过限制 4. NFS no_root_squash5. bash运行不了怎么办 靶机链接 https://hackmyvm.eu/machines/machine.ph…

neo4j console 报错

项目场景: neo4j 开启失败 问题描述 在终端打开 neo4j 失败打开cmd, 输入: neo4j console 报错 原因分析: 1 可能是没有配置环境变量2 当前脚本的执行策略有问题 解决方案: 解决没有配置环境变量 添加环境变量 在path路径中将变量添加进去…

范德蒙矩阵(Vandermonde 矩阵)简介:意义、用途及编程应用

参考: Introduction to Applied Linear Algebra – Vectors, Matrices, and Least Squares Stephen Boyd and Lieven Vandenberghe 书的网站: https://web.stanford.edu/~boyd/vmls/ Vandermonde 矩阵简介:意义、用途及编程应用 在数学和计算科学中&a…

编译原理复习---正则表达式+有穷自动机

适用于电子科技大学编译原理期末考试复习。 1. 正则表达式 正则表达式(Regular Expression,简称regex或regexp)是一种用于描述、匹配和操作文本模式的强大工具。它由一系列字符和特殊符号组成,这些字符和符号定义了一种搜索模式…

CAD跨图纸复制与粘贴怎么操作?教程来了

在过去,图纸的复制粘贴工作大多依赖于电脑完成,手机则因运行内存等硬件限制,难以像电脑那样轻松实现多图同开,以及图纸内容的跨图复制粘贴。为解决这一痛点,CAD看图王手机端推出了跨图复制与粘贴功能,为用户…

算法训练第二十三天|93. 复原 IP 地址 78. 子集 90. 子集 II

93. 复原 IP 地址--分割 题目 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 . 分隔。 例如:"0.1.2.201" 和 "192.168.1.1" 是 有效 IP 地址&…