【目标检测】目标检测的评价指标(七个)

news2025/1/16 4:56:38

目录:目标检测的评价指标

  • 一、正样本与负样本
  • 二、真正(TP)、假正(FP)、真负(TN)、假负(FN)
    • (1)正确的正向预测(True Positive,TP):正样本被正确检测的数量
    • (2)错误的正向预测(False Positive,FP):
    • (3)错误的负向预测(False Negative,FN):
    • (4)正确的负向预测(True Negative,TN):
  • 三、交并比(IoU)
  • 四、准确率(Precision)
  • 五、召回率 (Recall)
  • 六、几何平均分(F Score)
  • 七、单类平均准确率(Average-Precision)

一、正样本与负样本

样本在计算机视觉的评价中是非常重要的概念,正样本比较好理解,是要检测的物体,负样本是不要检测的目标。这里负样本会有一些问题,首先负样本定义比较主观,其次负样本和正样本的量纲不在一个级别,那么实际算法中会把检测出的待选区域中的一部分作为正样本,一部分作为负样本,例如 Faster-RCNN 及 SSD 等。

比如检测人脸时,人脸是正样本,非人脸则是负样本,比如旁边的窗户呀红绿灯呀之类的其他东西。

二、真正(TP)、假正(FP)、真负(TN)、假负(FN)

(1)正确的正向预测(True Positive,TP):正样本被正确检测的数量

需要满足 3 个条件:

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

(2)错误的正向预测(False Positive,FP):

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

(3)错误的负向预测(False Negative,FN):

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

(4)正确的负向预测(True Negative,TN):

是负样本且被检测出的数量,无法计算,在目标检测中,通常也不关注 TN。

三、交并比(IoU)

交并比 (Intersection over Union,IoU) 又称交并比,计算 2 个区域的重叠比,用 2 个区域的交集除以其并集,公式如下,DR 表示检测结果,GT 表示 Ground Truth。

I o U = D R 与 G T 的 交 集 D R 与 G T 的 并 集 IoU=\frac{DR与GT的交集}{DR与GT的并集} IoU=DRGTDRGT
以下是 IoU 的示意图:

在这里插入图片描述

目标检测中的 IoU 是矩形框计算,计算并集部分通过 2 个计算区域的面积减去交集部分即可,重叠情况如下图所示:

在这里插入图片描述
在计算重叠区域面积是在找其中计算区域的 min、max 关系。用 W u n i o n W_{union} Wunion表示重叠区域宽度,用 H u n i o n H_{union} Hunion表示重叠区域高度, m i n ( ) min() min()选择传入参数中较小值, m a x ( ) max() max()选择传入参数中较大值,通过计算得到重叠区域的宽与高,关系如下:
在这里插入图片描述

四、准确率(Precision)

准确度 (Percision) 也叫查准率,是在识别出的物体中,正确的正向预测 (True Positive,TP) 所占的比率。
在这里插入图片描述
n u m p r e d num_{pred} numpred代表一共识别出的物体数量,例如下图 3 所示口罩人脸检测的一个效果图,图中 9 个检测框,7 个正确检测出口罩, T P = 7 TP=7 TP=7,2 个未正确检测出口罩, F P = 2 FP=2 FP=2,参照公式准确率为0.78。

在这里插入图片描述

五、召回率 (Recall)

召回率 (Recall),是正确识别出的物体占总物体数的比率。
在这里插入图片描述
n u m s a m p l e num_{sample} numsample表示一共有多少个需要检测的物体,继续参照图 3,图中一共 8 个带着口罩的目标,其中 7 个正确检测出口罩, T P = 7 TP=7 TP=7,1个未检测出口罩, F N = 1 FN=1 FN=1,根据计算公式,得到召回率为0.875。

六、几何平均分(F Score)

Precision 与 Recall 看起来很相似,实际上这两个是“冤家”。为什么这么说呢?因为在大多数情况下,这两者有一定的互斥性。

理想状态下,模型可以检测出所有要检测的物体,并且没有误报,两个指标都是 100%,实际中不太可能出现。

模型检测出的检测框有一个分类类别和相应的置信度,在稍微复杂的场景下,并不是所有要检测的物体的置信度都很高,或者都能检测出来,也不是所有检测出的全部物体是我们所想要的目标。图 4 展示了 Precision 与 Recall 的关系,随着 Recall 的提高,Precision 值降低了。

在这里插入图片描述
接下来用一个例子说明 Precision 与 Recall 的关系,有一个物体检测结果,一个图里的检测出的物体按照置信度倒叙排列进行编号。

按照顺序逐个计算 Precision 及 Recall 值,相当于逐渐在降低阈值(threshold),其结果如下方表格所示。

在这里插入图片描述

Precision 与 Recall 单独拿出来作为评价标准都太过片面,可以设置一个较大的阈值来获取高 Precision 或者通过设置个较低的阈值来获得较高的 Recall 值。我们还是希望有一个数能够衡量性能,所以综合 Precision 和 Recall,可以得到一个 F Score,计算公式如下:

在这里插入图片描述
F Score 是 Precision 和 Recall 的调和平均数 (harmonic mean),B 的作用是个权重,调整 P 与 R 的比重关系。平均数很好理解,加权平均也不复杂,那“调和”是什么意思呢?调和平均数(harmonic mean)有个特点,Precision 与 Recall 其中有一个值较小,那么整体就会很小,也就是对两个数中如果有特别小的数的惩罚(penalty)比较大。

在论文中,经常可以看到用 F1 值作为评价标准之一,将 B 设置成 1,这就是 F1 Score。

七、单类平均准确率(Average-Precision)

平均准确度 (Average Precision,AP) 是非常流行的目标检测器 (目标检测算法模型) 的度量指标,从字面上来看 AP 是平均精准度,对于单独的追求 Precision 的数值并不能很好的衡量模型的效果,所以 AP 的计算方式并不是简单的求平均的过程。

在下图中的 Precision 呈现 ”Z“ 形状,随着 TP 增加,FP 减少。
在这里插入图片描述
一般定义 AP 为 PR 曲线之下的面积,公式如下:
在这里插入图片描述
Precision 与 Recall 的值域在 0 到 1 之间,所以 AP 的值域也是在 [0, 1] 这个范围。知道了 AP 的值域还有定义,在计算前还有个棘手的问题,这里的 P® 并不是一个具体的函数,而是根据样本进行计算,是一个数值,在图中是一个点,可以描绘成折线图。

请看图 6 中,在 Recall = 0.7 的时候,Precision 的值是多少?这样的一个问题我们是没办法简单的用插值的形式来进行求解的,同样的我们也没法用函数计算的方式去解决,所以前人就提出一种差值方法:给任意一个 Recall 值,它对应的 Precision 值就等于它最近的右侧的哪个“有值” Precision 中最大的值。

举个例子,以图 6 中的 PR 曲线,Recall = 0.7 的点, Precision 取值为 0.67,求 AP 的过程中,在计算之前,我们需要对图像中的 “Z” 部分做个“平滑”处理,如图所示:

在这里插入图片描述
我们将每个 Precision 值替换为该 Recall 值右侧的 Precision 值,这么说比较拗口,看图中红线部分,Precision-Recall 曲线变成了单调减小,不再是之前的 “Z” 形变化。这时候计算出的 AP 值将不太容易受到排名的微小变化的影响。公式变成如下:

在这里插入图片描述
Pascal VOC 2008 中设置 IoU 的阈值为0.5,在平滑处理的 PR 曲线上,图 7 中取横轴 0.2-1 的 9 等分点(0.2、0.3、0.4、0.5、0.6、0.7、0.8、0.9、1.0)的 Precision 的值,计算其平均值为最终 AP 的值。
在这里插入图片描述
上述计算有两个问题,第一个是使用 9 个采样点在精度方面会有损失。第二个是,在比较两个 AP 值较小的模型时,很难体现出两者的差别。

所以这种方法在 2009 年的 Pascal VOC 之后便不再采用了。在 Pascal VOC 2010 之后,便开始采用这种精度更高的方式。绘制出平滑后的 PR 曲线后,用积分的方式计算平滑曲线下方的面积作为最终的 AP 值,理解为经过插值的 PR 曲线与 X 轴包围的面积,这种方式也称为:AUC (Area under curve)。

在这里插入图片描述
上图可知,AP = A1 + A2 + A3,具体计算如下:
在这里插入图片描述
mAP (mean Average Precision) 是在每一个类别都计算出 AP 后再计算 AP 的平均值。

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

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

相关文章

国际海运详解:国际海运的发货方式有哪些?区别是什么?

在跨境物流运输中,海运是一个种常用的运输方式,下面来重点介绍国际海运的几种发货方式和区别: 一、电放提单 是电报放货的缩写。提单信息以电子报纸或电子信息的形式发送给目的港船公司,收货人可以更换加盖电子印章的提单和电子保…

LeetCode-775-全局倒置与局部倒置

1、数学方法 根据题意,显然全局倒置的值大于等于局部倒置的值。因此我们不必求出具体的全局倒置的值和局部倒置的值,我们只需要证明全局倒置的值大于局部倒置的值即可。 因此我们可以从后往前进行查询,只要我们能够证明区间[i1,n−1][i1,n-…

小啊呜产品读书笔记001:《邱岳的产品手记-02》开篇词010203讲

小啊呜产品读书笔记001:《邱岳的产品手记-02》 开篇词&01&02&03讲一、今日阅读计划二、泛读&知识摘录1、开篇词 产品经理的世界没有对错2、01讲 验证码是个好设计吗?3、02讲 产品经理工具指南4、03讲 产品案例分析Trigraphy的设计哲学三…

VS2019编码修改为UTF-8的方法

1.修改windows系统配置 设置 时区和语言 语言 》 管理语言设置 2. 修改VS2019 在扩展里安装Force UTF-8(No BOM) 和 Fix File Encoding 插件 解决控制台中文乱码问题 1.按下winr,输出regedit,打开注册表编辑器 2.在注册表编辑器中打开路径HKE…

VBA调用宏的方式总结大全

文章目录背景方式一 : Excel菜单执行宏方式二 : 按钮绑定宏1. 插入按钮2. 绑定宏方式三 : 窗体绑定宏1. 插入窗体2. 拖入按钮3. 绑定按钮点击事件触发宏(写代码)方式四 : 事件绑定宏背景 很多小伙伴在拿到模型之后, 看着满屏的代码, 却不知道如何下手使用这些代码. 这篇文章就…

【DOTS学习笔记】面向数据设计DOD

目录前言程序设计方法ODD->DODCache的3C与3R面向数据设计需要思考的问题AOSSOADOTS面向数据设计原则前言 本文是Metaverse大衍神君的《DOTS之路》系列课程的学习笔记 程序设计方法 Instructional Programming 指令化编程 脱离指令打孔输入后,伴随着机器汇编语言…

操作系统4小时速成:进程同步,临界资源,互斥,信号量的作用,死锁产生的四个条件,安全状态,银行家算法

操作系统4小时速成:进程同步,临界资源,互斥,信号量的作用,死锁产生的四个条件,安全状态,银行家算法 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人&am…

vhost dpdk 共享内存

struct kvm_memory_slot http://tinylab.org/kvm-intro-part1 https://www.cnblogs.com/LoyenWang/p/13943005.html (免费订阅,永久学习)学习地址: Dpdk/网络协议栈/vpp/OvS/DDos/NFV/虚拟化/高性能专家-学习视频教程-腾讯课堂 更多DPDK相关学习资料有…

Mybatis-Plus——分页+模糊查询

建表: create table pms_brand (brand_id bigint not null auto_increment comment 品牌id,name char(50) comment 品牌名,logo varchar(2000) comment 品牌logo地址,descript longtext comment 介绍,sh…

使用ReentrantLock中的条件变量让多个线程顺序执行

一. 前言 近日壹哥的一个学生在参加某公司校招面试时,遇到一个多个线程顺序执行的面试题,特意记录下来和大家分享一下,这个题目的具体要求是这样的: 假设有3个线程 a,b,c,要求三个线程一起进入到就绪态,执…

【LeetCode】775. 全局倒置与局部倒置

题目描述 给你一个长度为 n 的整数数组 nums &#xff0c;表示由范围 [0, n - 1] 内所有整数组成的一个排列。 全局倒置 的数目等于满足下述条件不同下标对 (i, j) 的数目&#xff1a; 0 < i < j < n nums[i] > nums[j] 局部倒置 的数目等于满足下述条件的下标 i 的…

01-Linux

1 初识Linux 在前面的课程中&#xff0c;我们无论是开发、测试。部署、存储都在Windwos操作系统的环境中&#xff0c;从今天开始我们一起学习下Linux,Linux系统和Windows系统最大的区别就是图形化界面操作和用途上有所差异&#xff0c;除了这两点&#xff0c;两者有异曲同工之…

跑通官方的yolov7-tiny实验记录(yolov7-tiny可作为yolov5s的对比实验网络)

目录1. 一些可用的参考链接2. 开始训练yolov72.1 --weights2.2 --cfg2.3 --data2.4 --hyp2.5 --epochs2.6 --batch-size2.7 --workers2.8 --name1. 一些可用的参考链接 官方YOLOv7 项目地址&#xff1a;https://github.com/WongKinYiu/yolov7如果想设置早停机制&#xff0c;可…

2022年TI杯模拟电⼦系统设计专题邀请赛——李萨如图形演示装置

任务 设计并实现李萨如&#xff08;Lissajous&#xff09;图形演示装置&#xff0c;如图 1 所示。输入正弦信号作为 x 轴信号&#xff0c;其峰峰值 2V&#xff0c;频率 1.5kHz~2kHz&#xff1b;对输入的正弦信号进行幅度和频率变换后产生 y 轴信号&#xff1b;装置显示器上显示…

CentOS7 离线安装 Python

目录1.前言2.下载Python及依赖环境&#xff08;1&#xff09;下载Python源码&#xff08;2&#xff09;下载Python依赖文件&#xff08;3&#xff09;下载gcc环境文件&#xff08;备用&#xff09;3.上传至离线服务器&#xff08;1&#xff09;核对已下载离线文件&#xff08;2…

基于PSO粒子群优化的汽车刹车稳定性数据matlab仿真与分析

欢迎订阅《FPGA学习入门100例教程》、《MATLAB学习入门100例教程》 目录 一、理论基础 二、核心程序 三、测试结果 一、理论基础 刹车类别A 温度1 测试1 测试2 ....... 测试n 温度3 测试1 测试2 ....... 测试n ....... ....... 温度N 测试1 …

Java语言的过滤数据流

过滤数据流 为了解决不同数据流之间速度、数据格式差异的问题&#xff0c;以便提高输入/输出操作的效率&#xff08;特别是当需要大量的输入、输出操作的程序时&#xff09;&#xff0c;因此&#xff0c;Java贴心的提供了过滤流。 在已存在的数据流的基础上&#xff0c;过滤数…

IntelliJ IDEA

特色功能 IDEA所提倡的是智能编码&#xff0c;是减少程序员的工作&#xff0c;IDEA的特色功能有以下22点[1] &#xff1a; ● 智能的选取 在很多时候我们要选取某个方法&#xff0c;或某个循环或想一步一步从一个变量到整个类慢慢扩充着选取&#xff0c;IDEA就提供这种基于…

数据治理:数据标准的6大建设步骤及实施分享

“车同轨、书同文”&#xff0c;数字化时代&#xff0c;数据标准化是企业进行数字化转型的根基。数据标准与企业数据管理的每个域都相关&#xff0c;是数据治理工作的最基础内容。 元数据管理中&#xff0c;需要从业务属性、技术属性、管理属性三个方面定义数据标准&#xff1b…

第54篇-某网易易盾滑块请求data参数分析【2022-11-16】

声明:该专栏涉及的所有案例均为学习使用,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!如有侵权,请私信联系本人删帖! 文章目录 一、前言二、流程分析三、data参数1.d值2.p值3.ext值一、前言 在很久以前我们使用selenium+OpenCV模拟过一次易盾盾滑块…