yolo模型评估指标相关概念

        mAP(mean Average Precision 平均精度),是一个经常被用来衡量目标 检测模型是否具有较好性能的指标。

        计算mAP需要先计算每一类物体的AP,然后取平均值,所以下面介绍的 TP,FP,FN,TN都是针对某一类物体(目标)的检测结果来讲的。

        GT:Ground Truth,也就是标签,对应了真实框的大小位置以及分类。

        IoU:两个框的交并比。

        score或confidence:每个预测框的置信度,表示这个预测框包含某个目 标的可能性,score或者confidence越高,表示模型认为其包含某种目标的可能 性越大。

        IoU threshold:人工设定的IoU阈值。如果预测框与GT框的IoU大于此阈 值,则认为预测框与GT框非常相似,否则就认为预测框与GT差别很大。针对不 同数据集,这个取值会不一样,因为针对不同数据集有不同的评价标准,比如 说Pascal VOC数据集的设定是0.5,而COCO数据集设定了多个标准,从而会参 考在多个IoU threshold下的mAP来评判模型的好坏。

        score threshold:人工设定的score或confidence的阈值,对于某一类来 讲,预测框的分类置信度大于此阈值则认为这个框检测到了这类物体,保留预 测框,小于这个值则认为这个框中没有检测到这类物体,舍弃预测框。针对这 一步筛选出的预测框,通常会再进行一次NMS,消除冗余的框,然后将剩下的 边界框参与TP、FP、FN、TN的计算。

        TP: True Positive,一个正确的检测结果,被模型检测为正的正样本。我 们这步针对所有经过score threshold筛选出的预测框,针对一个预测框来讲, 如果边界框位置大小与某个GT非常相似(检测框与GT的IoU ≥ IoU threshold),那么我们就认为这个框就是一个正确的检测结果,并将其与该GT 配对,TP即为这类检测框的数量。注意,在实际预测中,经常出现多个预测框 和同一个GT的IoU都大于阈值,这时通常只将这些预测框中score最大的算作 TP,其它算作FP。

        FP: False Positive,一个错误的检测结果,被模型检测为正的负样本。即 边界框位置大小不达标(检测框与GT的IoU < IoU threshold)又或者这个预测 框是多余的预测框(即这个框对应的GT的已经存在一个TP与之对应)的数量。 在计算的时候,一般将检测出的所有边界框数量减去所有预测正确边界框的数 量,也就是所有经过score threshold筛选出的预测框除去TP,剩下的边界框的 数量就是FP。

        FN: False Negative,没有被检测到的GT的数量。即对于所有GT,除去所 有被预测正确的边界框(也就是TP)对应的GT,剩下的没有被检测到的GT的数 量。又称为被模型检测为负的正样本。

        TN: True Negative,被模型预测为负的负样本。但在目标检测mAP的计 算过程中没有用到这类,通常在分类任务中会用到。

         Precision(准确率): TP / (TP + FP),准确率是模型给出的所有预测结果 中,正确预测的结果所占的比例。其中TP+FP就是根据score threshold筛选出 来的候选框的数量。

        Recall(召回率): TP / (TP + FN),召回率是模型预测的正确结果最多能覆 盖多少GT。这也解释了为什么在计算TP时,同一个GT只对应一个正确的检测框 TP,如果允许一个GT对应多个正确的预测框,假如对于每个GT都存在大于一个 的正确预测框数,那么最终得到的召回率很明显会大于1,这是不符合常理的。 其中TP+FN就是GT的数量。

        对于多分类的目标检测任务来讲,会分别计算一张图片中每个类别的TP、 FP、FN的数量,进一步计算出每个类别的Precision和Recall。

        所以对于 precision和recall的含义,可以这样理解: preicision是在模型得 出的正样本中, 有多大比例真的是正样本, recall则是在真正的正样本中, 有 多少被你找到了。

        PR曲线: Precision-Recall曲线,将所有precision-recall点连成的曲线(一 般会为每个类别的预测框建立各自的PR曲线)。

        AP: Average Precision ,平均精度,根据PR曲线计算得出。 

        mAP: mean Average Precision, 各类别AP的平均值。

        首先来看,yolo算法是一个one-stage的算法,即一步直达,所以速度非常 快,适合做实时检测。缺点就是没有那么精确。

       有一个概念MAP:这个指标是为了去衡量综合的检测效果。

        这里牵扯到另一个概念就是召回率

关于预测结果我们可以分为四类:

        TP(真阳性) 预测为真的样本中确实为真的数量。

        FP(假阳性) 预测为真的样本中确实为假的数量。

        FN(假阴性) 预测为假的样本中确实为真的数量。

        TN(真阴性) 预测为假的样本中确实为假的数量。 

举个例子来说明:

        预测某些病人有没有得癌症。

        假设有100个样本,真实情况是有10个得癌症的,通过预测函数遇到到了有 12个得了癌症,其中有8个是真实得癌症的。

        这种情况下:

        TP=8

        FP=12-8=4

        FN=10-8=2

        TN=(100-12)-2=86

所以准确率:

        准确率 Accuracy

        正确预测为1,正确预测为0的样本比率,公式为:(TP+TN)/ALL

        上例中准确率为

        查准率 Precision

        查准率是指在所有预测为1的样本中预测正确的比率,公式为: TP/(TP+FP)

        上例中查准率为

        召回率 Recall

        召回率是指在所有真正为1的样本中预测正确的比率,公式为:TP/(TP+FN)

        上例中召回率为

        查准率和召回率的关系

    

        换句话说,召回率recall就是看每一个物体是不是都检测到了,查准率(也 就是精度)就是说对于每一个我们需要检测的东西,检测的好不好

        我们经常会看到一个叫做PR曲线图的概念

        其实pr图就是精度Precision和召回率Recall之间关系变化的图像 

        一般来说精度和召回率呈反相关关系。同时还会受置信度(阈值)的影 响。而MAP就是在所有阈值条件下的一个平均情况。 

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

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

相关文章

Java课程设计:基于Javaweb的超市商品管理系统

文章目录 一、项目介绍二、项目展示三、源码展示四、源码获取 一、项目介绍 管理员用户&#xff1a;需要能够添加商品类型以及商品&#xff0c;能够对商品进行管理&#xff0c;能够查询用户信息&#xff0c;能够查询出售记录&#xff1b;普通用户&#xff1a;需要能够搜索商品…

搜维尔科技:【应用】人形机器人将成为引领产业新浪潮的尖兵

特斯拉纷纷发表人形机器人计划&#xff0c;预示这项先进科技将成为下一个颠覆性的殖民地。人形机器人被视为继电脑、智能手机和电车之后,又一个将改变世界的创新产品。 全球人口结构正在快速老化&#xff0c;至2050年60岁以上人口将达22%,是现今的两倍。劳动人口短缺迫在眉睫&…

NewspaceAi之GPT使用新体验

GPT功能 使用地址&#xff1a;https://newspace.ai0.cn/ 上车 挂挡 踩油门&#xff0c;一脚到底&#xff0c;开始你的表演 问题1&#xff1a;你能做什么详细告诉我&#xff1f; 下面内容是GPT的回答 当然&#xff01;作为一个基于GPT-4架构的AI&#xff0c;我能够在许多方面为…

关于FPGA对 DDR4 (MT40A256M16)的读写控制 2

关于FPGA对 DDR4 &#xff08;MT40A256M16&#xff09;的读写控制 2 语言 &#xff1a;Verilg HDL EDA工具&#xff1a;ISE、Vivado、Quartus II 关于FPGA对 DDR4 &#xff08;MT40A256M16&#xff09;的读写控制 2一、引言二、DDR4的简介四、DDR4 SDRAM状态框图 关键词&#x…

【Hachker News】如果你不需要钱,你会干什么?

Hachker News上的一个问题&#xff0c;标题是“如果你不需要钱&#xff0c;你会做什么&#xff1f;” 回答摘要 问题链接&#xff1a;What would you spend your time working on if you didn’t need money? A1&#xff1a; 我会把时间投入到城市周围的农村地区&#xff0c…

Matlab使用Simulink仿真实现AM和BPSK信号的解调

前言 本篇实现了基于AM和BPSK调制的通信系统&#xff0c;采用Bernoulli Binary Generator生成随机二元序列&#xff0c;码元速率为0.5秒/个。AM调制使用Sine Wave模块生成载波&#xff0c;频率40Hz&#xff0c;相位π/2。BPSK调制通过Switch模块切换相位0和π的载波。信号传输…

【java计算机专业毕设】房屋租赁系统代码源码MySQL springboot vue html maven送文档ppt

1项目功能 【java计算机专业毕设】房屋租赁系统javaweb MySQL springboot vue html maven 送报告 2项目介绍 系统功能&#xff1a; 房屋租赁系统包括管理员和用户和房东三种角色。 该系统包含多个功能模块&#xff0c;分别为管理员、用户和房东提供服务。管理员功能包括个人中…

20.2 JSON-JSON解码、映射数据类型、处理JSON响应

1. JSON解码 JSON解码&#xff0c;即将JSON格式在字符串转换为Go语言数据类型的变量。 函数Unmarshal接受一个JSON字节切片和一个指定目标格式的接口。而这个借口即与JSON字符串中的结果相匹配的结构体类型的变量。 定义结构体类型 type Person struct { ... }创建结构体变量…

聚鼎科技:现在的装饰画做起来难吗

在当代&#xff0c;装饰画作为一种体现个人品味和审美情趣的方式&#xff0c;已经广泛应用于各种室内空间。不少人会产生这样的疑问&#xff1a;在现代化技术和材料的支持下&#xff0c;制作一幅装饰画是变得容易了&#xff0c;还是依旧充满挑战? 现代科技的确为装饰画的制作带…

微信小程序查分易如何使用?

期末马上到了&#xff0c;老师们又开始为发放成绩而头疼了&#xff0c;堆积如山的试卷&#xff0c;密密麻麻的分数&#xff0c;还有那些不断响起的家长电话&#xff0c;真是让人心烦。别担心&#xff0c;今天就让我来介绍一个让老师“偷懒”神器——查分易微信小程序 第一步&am…

ROS中Twist消息类型

Twist消息类型在Robot Operating System (ROS)中是一个常见的数据结构&#xff0c;主要用于描述物体的线性速度和角速度。这种消息类型在ROS的geometry_msgs包中定义&#xff0c;常用于机器人运动控制&#xff0c;尤其是当需要向机器人发布速度指令时。 Twist消息由两个Vector…

6月14日 Qtday2

#include "widget.h" #include "ui_widget.h" #include <QTimer> using namespace std; Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget), lab1(new QLabel(this)) //初始化一个标签显示登录状态 {//设置华清远见的标签图…

再谈 dijkstra 算法和最短路径问题

前置文章&#xff1a; dijkstra 算法为什么高效 有向图的负权值边与建模 求单源最短路径的新方法 前天晚上实现了一个基于 dijkstra 算法的求单源最短路径的新算法&#xff0c;整理了一篇文章。我非常不愿意把一些直观的问题太过于技术化&#xff0c;但多年的职业经历偏偏让一…

C#——静态成员和非静态成员详情

静态成员和非静态成员 调用: 静态属性(static) : 类名.属性名调用 非静态属性(没static) : 1.先创建对象 2.对象.属性 特点: 静态方法里面只能访问静态成员 非经态方法中可以访问所有的属性 static数据成员在类的内部声明&#xff0c;但只能在类的外部定义&#xff0c;…

【软件安装9】OpenCV多版本安装Ubuntu18.04

文章目录 一、查看已安装的Opencv版本二、安装新版本三、多版本OpenCV切换 OpenCV 官网 在此 一、查看已安装的Opencv版本 查看已安装opencv的版本 pkg-config opencv --modversion官网下载对应的版本&#xff0c;并解压 opencv3.4.3 二、安装新版本 进入前置准备里下载…

24年法考报名照片千万别乱拍,否则卡审

法考报名照片每年都有很多被卡审&#x1f62d; 常见的问题是 ①照片比例不对&#xff0c;无法上传&#xff0c;人像比例要求非常严格 ②照片像素错误&#xff0c;不能直接拿大图压缩图片&#xff0c;需要做出413*626像素的法考证件照 ③照片文件偏大&#xff0c;照片要求40-100…

单触控单输出触摸开关芯片PT2052A

1.产品概述 PT2052封装和丝印 PT2052A 是一款单通道触摸检测芯片。该芯片内建稳压电路&#xff0c;提供稳定电压给触摸感应电路使用&#xff0c;同时内部集成高效完善的触摸检测算法&#xff0c;使得芯片具有稳定的触摸检测效果。该芯片专为取代传统按键而设计&#xff0c;具有…

【精品方案】离散型制造行业智能工厂标准解决方案(49页 PPT)

引言&#xff1a;随着科技的不断进步和制造业的转型升级&#xff0c;离散型制造行业正面临着从传统制造向智能制造转型的迫切需求。离散型制造行业涉及的产品种类繁多&#xff0c;生产流程复杂&#xff0c;对生产效率、产品质量和成本控制有着极高的要求。因此&#xff0c;开发…

SQL中的UPDATE语句:别让你的数据“离家出走”

sql的update操作正式环境用的很少&#xff0c;但是在测试环境还是用的挺多的。 想象一下&#xff0c;你正在管理一个学校的数据库&#xff0c;其中有一个students表&#xff0c;记录着每个学生的信息。有一天&#xff0c;你接到通知说某个学生的年龄或成绩需要更新。这时&…

【Java并发编程之美 | 第一篇】并发编程线程基础

文章目录 1.并发编程线程基础1.1什么是线程和进程&#xff1f;1.2线程创建与运行1.2.1继承Thread类1.2.2实现Runnable接口1.2.3实现Callable接口&#xff08;与线程池搭配使用&#xff09;1.2.4小结 1.3线程常用方法1.3.1线程等待与通知1.3.2线程睡眠1.3.3让出CPU执行权1.3.4线…