深度学习评价指标(1):目标检测的评价指标

1. 简述

        在计算机视觉/深度学习领域,每一个方向都有属于自己的评价指标。通常在评估一个模型时,只需要计算出相应的评价指标,便可以评估算法的性能。同时,所谓SOTA,皆是基于某一评价指标进行的评估。

        接下来,我们将对目标检测领域的评价指标做一个大体的说明,其中涉及Precision,AP,mAP,Accuracy等指标。

2. IOU

        交并比,表示实际识别框与目标标注框的重合程度,如下绿色框为数据标注框,红色为实际识别框(预测框),两者做交集面积与并集面积比,衡量识别性能;

3. Precision(查准率)

        针对特定类别α,衡量识别出的目标中,识别正确的数量占比。

        假设识别出的类别α有P个目标,其中识别正确的为TP个,错误的为FP个,有关系P = TP+FP,识别精准率Precision计算如下:

Precision=\frac{TP}{TP+FP}

        更进一步,识别正确的判定可依据IOU为50%,75%或95%来认定,对应的有Precision@0.5,Precision@0.75和Precision@0.95。

Precision表示所有被检测为正例的情况下,实际为正例的比例。

4. Recall, 召回率(查全率)

        假设当前样本中共有M个类别为α的目标,识别出的目标数量为TP个,未被识别的有FN个,及M = TP + FN,则有如下关系:

Recall=\frac{TP}{TP+FN}

        Recall表示所有应该被检测为正例的情况是,实际被检测为正例的情况。

特别注意:

        查准率和查全率往往是一个互相矛盾的优化方向。如果我们想要提高查准率,那么我们可以通过提高阈值,这样可以检测出实际更可靠的正例,提高(TP)的数量,那些被错误检测为正例(TP)的数量相应会减小。这样一来,Precision就会变大。

但是这个时候,一些实际为正例,但没有被检测到的目标(FN)的数量就会增加,这个时候Recall会变小。

5. AP(平均精度)

        平均精度是针对单个类来讲的,首先计算单个类的PR曲线,AP则是PR曲线下的面积。

        选取IOU取[0.5 : 0.95 : 0.05]([start:stop:step]),测得每一个IOU下的Precision和Recall,计算PR曲线下的面积。

        如下图所示,为PR曲线样例,其中横轴一般为Recall,纵轴一般为Precision。

6. mAP,平均精度均值

        AP是针对单个类的评价参数,而mAP则是针对多个类的一个综合评价参数。如果有多个类别,我们分别计算每一个类别的AP,然后取平均,得到mAP(mean Average Precision)。

mAP=\frac{\sum_{i=1}^{N}AP_{i}}{N}

        其中,AP_{i}为类别i的平均精度,N为类别数。

6. Accuracy

        以上查准率和查全率以及对应的综合评价参数都是针对正例而言的。而准确率则是针对所有的正负例,是一个综合的评价指标。

Accuracy=\frac{TP+TN}{TP+TN+FP+FN}

        预测的所有目标中,预测正确的占比。准确率提供了模型对所有类别预测准确性的总体评估,它是一个直观的性能指标,表明模型在所有预测中有多少是正确的。

        准确率提供了模型对所有类别预测的整体准确度,但它可能受到类别不平衡的影响。例如,如果负类样本远多于正类样本,那么即使模型只是简单地将所有样本预测为负类,准确率也可能会很高,但这并不意味着模型具有良好的预测性能。

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

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

相关文章

【JavaWeb】Day29.SpringBootWeb请求响应——请求(二)

请求响应 4.数组集合参数 数组集合参数的使用场景:在HTML的表单中,有一个表单项是支持多选的(复选框),可以提交选择的多个值。 4.1 数组 数组参数:请求参数名与形参数组名称相同且请求参数为多个,定义数组类型形参即…

IO流c++

IO流类库 输入输出流 #include <iostream> using namespace std;class InCount { public:InCount(int a 0, int b 0){c1 a;c2 b;}void show(void){cout << "c1" << c1 << "\t" << "c2" << c2 << …

Springboot Thymeleaf 实现数据添加、修改、查询、删除

1、引言 在Spring Boot中使用Thymeleaf模板引擎实现数据的添加、修改、查询和删除功能&#xff0c;通常步骤如下&#xff1a; 在Controller类中&#xff0c;定义处理HTTP请求的方法。创建Thymeleaf模板来处理表单的显示和数据的绑定。 2、用户数据添加 1、 在Controller类中…

华为鲲鹏认证考试内容有哪些

华为鲲鹏认证考试的内容主要包括理论考核和实践考核两大部分。 在理论考核部分&#xff0c;主要考察考生对云计算、大数据、人工智能等相关领域的理论知识掌握情况&#xff0c;具体涉及体系结构、技术原理、应用场景等方面的内容。考生需要深入了解鲲鹏计算的特点&#xff0c;…

Pytorch 下载失败原因

错误信息&#xff1a; ERROR: Could not find a version that satisfies the requirement torch (from versions: none) ERROR: No matching distribution found for torch 解决方案&#xff1a; 在官网看到&#xff0c;它需要python3.8-3.11的环境。过高和过低的版本都不…

JAVA面试大全之分布式篇

目录 1、一致性算法 1.1、什么是分布式系统的副本一致性?有哪些? 1.2、在分布式系统中有哪些常见的一致性算法?

Linux 学习之路 -- 工具篇 -- gcc / g++

在 Linux 系统中&#xff0c;gcc 和 g 是两个常用的编译工具&#xff0c;分别用于编译 C 和 C 代码。下面我将介绍gcc、g的一些基本用法 目录 一、简单的认识 二、简单了解一下编译的过程 <1> 预处理阶段 <2>编译 <3>汇编 <4>链接…

ssm012医院住院管理系统+vue

医院住院管理关系 摘 要 随着时代的发展&#xff0c;医疗设备愈来愈完善&#xff0c;医院也变成人们生活中必不可少的场所。如今&#xff0c;已经2021年了&#xff0c;虽然医院的数量和设备愈加完善&#xff0c;但是老龄人口也越来越多。在如此大的人口压力下&#xff0c;医院…

JavaAgent 技术原理及实战

JavaAgent 技术原理及实战 1、引子2、JavaAgent 简单示例&#xff1a;方法开始和结束时打印日志2.1 创建 Agent2.2 编写验证 agent 功能的测试类2.2.1 使用JavaAgent 静态加载方式2.2.2 使用 JavaAgent 动态加载方式 2.3、小结 3、JavaAgent3.1 JavaAgent是什么&#xff1f;3.2…

linux 软中断入门

在 linux 中&#xff0c;任务执行的载体有很多&#xff0c;包括线程&#xff0c;中断&#xff0c;软中断&#xff0c;tasklet&#xff0c;定时器等。但是从本质上来划分的话&#xff0c;任务执行的载体只有两个&#xff1a;线程和中断。软中断和 tasklet 的执行可能在中断中&am…

DevSecOps安全工具链介绍

目录 一、概述 二、安全工具链在平台中的定位 2.1 概述 2.2 分层定位 2.2.1 不同阶段的安全工具 2.2.2 安全工具金字塔 2.3 安全流水线集成概览 2.3.1 概述 2.3.2 标准流水线集成安全工具链概览图 三、安全工具链分类 3.1 概述 3.2 威胁建模类 3.2.1 威胁建模的概念…

Vue企业级项目开发axios

axios二次封装 import axios from axios 导入element-plus的信息弹窗 imort {elMessage} from element-plus//利用axios的create方法创建实例&#xff0c;配置默认请求头和请求超时时间 const request axios.create({url:/api,可以使用已经配置好的环境变量import.meta.env.V…

计算机网络:数据链路层 - 封装成帧 透明传输 差错检测

计算机网络&#xff1a;数据链路层 - 封装成帧 & 透明传输 & 差错检测 数据链路层概述封装成帧透明传输差错检测 数据链路层概述 从数据链路层来看&#xff0c;主机 H1 到 H2 的通信可以看成是在四段不同的链路上的通信组成的&#xff0c;所谓链路就是从一个节点到相邻…

Android设备无线连接电脑及QXDM、QACT等工具的方法

首先样机和笔记本电脑连接同一wifi网络 adb root adb shell ifconfig复制inet addr地址 ping inet addr地址 adb tcpip 5555 adb connect (inet addr地址):5555 此时adb和机器使用wifi连接好了&#xff0c;可以拔出usb线 ipconfig查询电脑的IP地址 ipconfig使用adb在主机上…

2024系统架构师---解释器架构风格的概念与应用

解释器架构风格是一种软件架构模式&#xff0c;用于构建那些能够读取、解析并执行用户定义的命令或程序代码的系统。这种架构风格的关键在于提供一个运行时环境&#xff0c;它能够理解和执行预定义或用户定义的语言或指令集。通过这种方式&#xff0c;解释器模式能够为特定领域…

设计模式学习笔记 - 设计模式与范式 -行为型:1.观察者模式(上)

概述 前面已经学习了创建型和结构性设计模式&#xff0c;从本章开始开始学习行为型设计模式。创建型设计模式主要解决 “对象的创建” 问题&#xff0c;结构性设计模式主要解决 “类或对象的组合或组装” 问题&#xff0c;行为型设计模式主要解决 “类或对象之间的交互” 问题…

canvas+javascript 实现贪吃蛇游戏

引言 在当今数字化时代&#xff0c;编程已经成为一种极具创造力和趣味性的活动。通过编写代码&#xff0c;我们可以创造出各种各样的应用程序和游戏&#xff0c;其中包括经典的贪吃蛇游戏。本文将向您介绍如何使用 JavaScript 编程语言制作一个简单而有趣的贪吃蛇游戏&#xf…

Kafka(十一)管理Kafka

目录 管理Kafka1 命令行操作1.1 Topic操作1.1.1 创建主题1.1.2 列出集群所有主题1.1.3 列出主题详情1.1.4 增加主题分区数1.1.5 减少主题分区数1.1.6 删除主题 1.2 生产和消费1.2.1 控制台生产者1.2.2 控制台消费者 1.3 消费者群组1.3.1 列出并描述群组1.3.2 删除消费者群组1.3…

动态内存管理-错题合集讲解

空指针的解应用操作&#xff08;错误信息合集&#xff09; 越界访问 首先我们上一个代码&#xff0c;看看这个的代码的问题 这个代码的问题显而易见 &#xff0c;就是在循环里面&#xff0c;产生了越界访问的问题&#xff0c;这里你开辟了10个整形空间&#xff0c;但是从0-1…

【javaWeb 第九篇】功能接口开发流程以及常用注解

常用注解 准备-环境搭建开发规范开发流程 注解补充 准备-环境搭建 准备数据库表&#xff08;dept,emp&#xff09;准备后端SpringBoot环境 需要依赖&#xff1a; Web起步依赖&#xff0c;数据库驱动依赖&#xff0c;Mybatis依赖&#xff0c;lombok依赖配置文件application.pr…