理解目标检测中的mAP与F1 Score

理解目标检测中的mAP与F1 Score文章目录总述IoUTP、TN、FP、FNPrecisionRecallF1-ScoremAPmAP计算过程:总述要理解mAP与F1Score需要一些前置条件,比如:IoU、FP、TP、FN、TN、AP等IoU衡量监测框和标签框的重合程度。一张图就能解释。TP、TN、FP、FNTP,即TruePositives,表示样本被分为正样本且分配正确。TN,即TrueNegatives,表示样本被分为样本且分配正确。FP,即FalsePositives,表示样本被分为正样本但分配错

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

总述

  • 要理解mAP与F1 Score需要一些前置条件,比如:IoU、FP、TP、FN、TN、AP等

IoU

  • 衡量监测框和标签框的重合程度。一张图就能解释。
  • 在这里插入图片描述

TP、TN、FP、FN

  • TP,即True Positives,表示样本被分为正样本且分配正确。
  • TN,即True Negatives,表示样本被分为样本且分配正确。
  • FP,即False Positives,表示样本被分为正样本但分配错误。
  • FN,即False Negatives,表示样本被分为负样本但分配错误。
    在这里插入图片描述

Precision

  • Precision,即精度,表示被正确分配的正样本数占总分配的正样本数的比例,公式为
  • P r e c i s i o n = T P ( T P + F P ) Precision=\frac{TP}{(TP+FP)} Precision=(TP+FP)TP

Recall

  • Recall,即召回率,表示被正确分配的正样本数占总正样本数的比例,公式为
  • R e c a l l = T P ( T P + F N ) Recall=\frac{TP}{(TP+FN)} Recall=(TP+FN)TP

F1-Score

  • F1-Score又称F1分数,是分类问题的一个衡量指标,常作为多分类问题的最终指标,它是精度和召回率的调和平均数。对于单个类别的F1分数,可使用如下公式计算
  • f 1 k = 2 R e c a l l k ∗ P r e c i s i o n k R e c a l l k + P r e c i s i o n k f1_k=2 \frac{Recall_k*Precision_k}{Recall_k+Precision_k } f1k=2Recallk+PrecisionkRecallkPrecisionk
  • 而后计算所有类别的平均值,记为F1,公式为
  • F 1 = ( 1 n Σ f 1 k ) 2 F1= (\frac{1}{n}\Sigma f1_k )^2 F1=(n1Σf1k)2

mAP

  • mAP,英文全称是mean Average Precision,即各类别AP的平均值,AP的计算使用了差值平均准确率的评测方法,即Precision-Recall曲线下的面积,公式为
  • A P = ( 1 n Σ ( r ∈ 1 n , 2 n … n − 1 n , 1 ) P i n t e r p o ( r ) ) AP=(\frac{1}{n}\Sigma_{(r∈{\frac{1}{n},\frac{2}{n}…\frac{n-1}{n},1})}{P_interpo (r)}) AP=(n1Σ(rn1,n2nn1,1)Pinterpo(r))
    其中n表示检测点的个数,P_interpo ®代表在召回率为r时准确率的数值。根据AP可计算mAP,公式为
  • m A P = ( 1 n Σ A P ) mAP=(\frac{1}{n} \Sigma {AP}) mAP=(n1ΣAP)

mAP计算过程:


  • 涉及到PR图,挖坑

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/182161.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Mysql 实现多种逻辑删除方案

    Mysql 实现多种逻辑删除方案Mysql实现多种逻辑删除方案新增逻辑删除字段方式多deleted值deleted:0代表未删除,删除时把deleted赋值为时间戳UNIX_TIMESTAMP(NOW())采用备份表方式最近在做公司项目的时候,对于表的逻辑删除,和其他同事出现了不同意见,故查阅了一些blog,结合自己的实际情况,再次做了笔记,以备后查。在实际的项目开发中,对于某些业务数据,一般都不会采用物理删除的方式,…

    2022年5月5日
    184
  • json格式_如何写一个格式化json的程序

    json格式_如何写一个格式化json的程序true,'errMsg'=>'','member'=>array(array('name'=>&#

    2022年8月2日
    2
  • 编程体系结构(09):分布式系统架构

    编程体系结构(09):分布式系统架构

    2020年11月20日
    198
  • python多线程的几种方法

    python多线程的几种方法python多线程编程Python多线程编程中常用方法:1、join()方法:如果一个线程或者在函数执行的过程中调用另一个线程,并且希望待其完成操作后才能执行,那么在调用线程的时就可以使用被调线程

    2022年7月3日
    23
  • 力扣题库练习

    力扣题库练习1给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例:输入:nums=[2,7,11,15],target=9输出:[0,1]解释:因为nums[0]+nums[1]==9,返回[0,1]本人简单暴力解答:vartwoSum=function(nums,

    2025年6月10日
    0
  • unresolved external symbol怎么解决_fatal error lnk1169

    unresolved external symbol怎么解决_fatal error lnk11691.LNK2019错误一般都是compile是能找到相应的header(.h)文件,但链接时找不到相应的lib库文件(也含dll文件)。如果相关库存在的话,一般通过添加附加库,可以解决问题

    2022年10月5日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号