1. TP TN FP FN

​ GroundTruth 预测结果

TP(True Positives): 真的正样本 = 【正样本 被正确分为 正样本】

TN(True Negatives): 真的负样本 = 【负样本 被正确分为 负样本】

FP(False Positives): 假的正样本 = 【负样本 被错误分为 正样本】

FN(False Negatives):假的负样本 = 【正样本 被错误分为 负样本】

2. Precision(精度)和 Recall(召回率)

\(Precision=\frac {TP} {TP+FP} \text{ }\) 即 预测正确的部分预测结果 的比例

\(Recall=\frac {TP} {TP+FN} \text{ }\) 即 预测正确的部分GroundTruth 的比例

3. IoU(Intersection over Union)

\[IoU=\frac {TP} {TP+FP+FN}
\]

4. AP

(1) 找出 预测结果 中 TP(正确的正样本) 和 FP(误分为正样本) 的检测框

设置IoU的阈值,如IoU=0.5

IoU值大于0.5 预测结果 正确;否则, 预测结果 错误,如下图所示

  • \(IoU=\frac {TP} {TP+FP+FN} \gt 0.5\) 预测结果:TP
  • \(IoU=\frac {TP} {TP+FP+FN} \lt 0.5\) 预测结果:FP

注意:这里的TP、FP与图示中的TP、FP在理解上略有不同

(2) 计算 不同置信度阈值 的 Precision、Recall

a. 设置不同的置信度阈值,会得到不同数量的检测框:

​ 阈值高,得到检测框数量少;

​ 阈值低,得到检测框数量多。

b. 对于 步骤a 中不同的置信度阈值得到 检测框(数量)=TP(数量)+FP(数量)

c. 计算Precision,按照上面步骤(1)中使用IoU计算TP、FP的方法,将步骤b中的检测框(数量)划分为TP(数量)、FP(数量)

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

d. 计算Recall,由于TP+FN是GroundTruth(即已知的检测框的数量),则可以得到:

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

e. 计算AP,不同置信度阈值会得到多组(Precision,Recall)

假设我们得到了三组(Precision,Recall):

(0.9, 0.2),(0.5, 0.2),(0.7, 0.6),如下图中所示

AP=上图中所围成的面积,即 AP = 0.9 x 0.2 + 0.7 x 0.4 = 0.46

5. mIoU、mAP

IoU和AP是对一个类别所计算的结果,mIoU和mAP是所有类结果的平均值。

原文:https://www.pianshen.com/article/20801175613/

目标检测的评价指标(TP、TN、FP、FN、Precision、Recall、IoU、mIoU、AP、mAP)的更多相关文章

  1. TP Rate ,FP Rate, Precision, Recall, F-Measure, ROC Area,

    TP Rate ,FP Rate, Precision, Recall, F-Measure, ROC Area, https://www.zhihu.com/question/30643044 T/ ...

  2. TP 真阳性 TN FP FN

    TP.True Positive   真阳性:预测为正,实际也为正 FP.False Positive  假阳性:预测为正,实际为负 FN.False Negative 假阴性:预测与负.实际为正 T ...

  3. 目标检测coco数据集点滴介绍

    目标检测coco数据集点滴介绍 1.  COCO数据集介绍 MS COCO 是google 开源的大型数据集, 分为目标检测.分割.关键点检测三大任务, 数据集主要由图片和json 标签文件组成. c ...

  4. 深度学习中目标检测Object Detection的基础概念及常用方法

    目录 关键术语 方法 two stage one stage 共同存在问题 多尺度 平移不变性 样本不均衡 各个步骤可能出现的问题 输入: 网络: 输出: 参考资料 What is detection ...

  5. 目标检测的评价标准mAP, Precision, Recall, Accuracy

    目录 metrics 评价方法 TP , FP , TN , FN 概念 计算流程 Accuracy , Precision ,Recall Average Precision PR曲线 AP计算 A ...

  6. 目标检测论文解读1——Rich feature hierarchies for accurate object detection and semantic segmentation

    背景 在2012 Imagenet LSVRC比赛中,Alexnet以15.3%的top-5 错误率轻松拔得头筹(第二名top-5错误率为26.2%).由此,ConvNet的潜力受到广泛认可,一炮而红 ...

  7. CVPR2019目标检测方法进展综述

    CVPR2019目标检测方法进展综述 置顶 2019年03月20日 14:14:04 SIGAI_csdn 阅读数 5869更多 分类专栏: 机器学习 人工智能 AI SIGAI   版权声明:本文为 ...

  8. CVPR2020论文介绍: 3D 目标检测高效算法

    CVPR2020论文介绍: 3D 目标检测高效算法 CVPR 2020: Structure Aware Single-Stage 3D Object Detection from Point Clo ...

  9. 从TP、FP、TN、FN到ROC曲线、miss rate、行人检测评估

    从TP.FP.TN.FN到ROC曲线.miss rate.行人检测评估 想要在行人检测的evaluation阶段要计算miss rate,就要从True Positive Rate讲起:miss ra ...

随机推荐

  1. 容器编排系统k8s之Service资源

    前文我们了解了k8s上的DemonSet.Job和CronJob控制器的相关话题,回顾请参考:https://www.cnblogs.com/qiuhom-1874/p/14157306.html:今 ...

  2. Centos8自动挂载U盘移动硬盘解决办法

    Centos默认是不能识别NTFS文件系统的U盘.移动硬盘的.查阅了很多资料讲到的都是需要安装ntfs-3g安装包. 安装完后每次插入移动存储介质时,都需要手动去挂载. 作为一个做技术的,如果不能解决 ...

  3. ASP.NET Core 3.1使用Swagger API接口文档

    Swagger是最流行的API开发工具,它遵循了OpenAPI规范,可以根据API接口自动生成在线文档,这样就可以解决文档更新不及时的问题.它可以贯穿于整个API生态,比如API的设计.编写API文档 ...

  4. 将Maven镜像更换为国内阿里云仓库

    1.国内访问maven默认远程中央镜像特别慢 2.用阿里的镜像替代远程中央镜像 3.大部分jar包都可以在阿里镜像中找到,部分jar包在阿里镜像中没有,需要单独配置镜像 换为国内镜像,让你感受飞一般的 ...

  5. Idea创建Maven项目时出现Failed to execute goal org.apache.maven.plugins:maven-archetype-plugin:3.0.1错误

    如果Maven中用的jre用的是idea中自带的,但是环境变量JAVA_HOME配置的是自己的jdk,那么就会出现 解决方法是到settiing中把jre改成自己的jdk中的jre 经过尝试,问题解决

  6. 什么是Redis?

    Remote Dictionary Server(Redis)是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value 数据库,并提供多种语言的API.它通常被 ...

  7. Windows10搭建本地ftp服务器

    首先要有一个win10专业版的操作系统,连接上互联网... 一.首先打开控制面板选择程序,再选择"启用或关闭windows功能" 二.在"Windows功能"中 ...

  8. windows server 2012 R2里IIS配置.net core2.1遇到的坑

    首先刚接触.net core不久,在本地也是简单写点测试程序,没遇到过什么问题,感觉还行,最近朋友搞了个asp.net core2.1的程序,让我给他服务器配置一下,我想这都跨平台了有什么难的吗?拿来 ...

  9. Linux下Oracle19c离线rpm安装

    一.基础环境配置 1.关闭系统防火墙 systemctl stop firewalld syustemctl disable firewalld 2.关闭selinux vim /etc/selinu ...

  10. Spark的dataframe转rdd通用工具类

    需求解决问题 当每次读取hive表或者其他数据源,获取数据,相对其进行rdd操作,遇到任何类都需要df.rdd(row>row.getstring(0))去获取,就很麻烦,所以可以实现个通用的转 ...