首页 > 其他分享 >mAp计算

mAp计算

时间:2023-09-27 15:34:52浏览次数:29  
标签:mAp Recall IoU 曲线 0.5 Precision 计算

参考:https://blog.csdn.net/ruyingcai666666/article/details/109670567

 

在目标检测算法中,当一个检测结果(detection)被认为是True Positive时,需要同时满足下面三个条件:

1,Confidence Score > Confidence Threshold

2,预测类别匹配(match)真实值(Ground truth)的类别

3,预测边界框(Bounding box)的IoU大于设定阈值,如0.5

不满足条件2或条件3,则认为是False Positive。

改变不同的置信度阈值,可以获得多对Precision和Recall值,Recall值放X轴,Precision值放Y轴,可以画出一个Precision-Recall曲线,简称P-R曲线。

 

 

  Precision-Recall曲线

如上图所示,当Threshold单调下降的时候,recall是单调上升的;而Precision总体趋势是下降的,局部趋势可能上升,也可能下降,走的所谓“zigzag”形状。

改变IoU的阈值,绘制recall和IoU关系曲线。当IoU≥0.5,检测结果才被认为是True Positive,所以绘制曲线的时候,IoU取值 0.5≤IoU≤1.0。

  图1 PR曲线, IOU = 0.5,改变confidence   Recall-IoU曲线

从Recall-IoU曲线可以看出,Recall跟IoU是单调递减关系,即IoU增加,Recall减少。

了解Confidence Score、IoU、Precision-Recall曲线以及Recall-IoU曲线后,下面本文将介绍目标检测的关键性能评估指标:AP(Average Precision),mAP(mean Average Precision)

 

图2 PR曲线, 改变IOU,confidence = 0.3

小结:目标检测过程中,候选框必须满足:置信度 > 阈值、IOU > 0.5,才行,在评价的时候,例如:固定IOU为0.5,通过改变置信度阈值,可以得到一个PR曲线,计算积分就得到[email protected]

接着将IOU阈值修改为:0.5-0.95等9个阈值,得到另外9个PR曲线,对应9个mAp,那么最终的mAp计算公式为:

[email protected]:0.95 = ([email protected][email protected] + ... + [email protected]) / 10

 

 

标签:mAp,Recall,IoU,曲线,0.5,Precision,计算
From: https://www.cnblogs.com/feiyull/p/14717116.html

相关文章

  • 【从0学习Solidity】7. 映射类型 mapping
    【从0学习Solidity】7.映射类型mapping博主简介:不写代码没饭吃,一名全栈领域的创作者,专注于研究互联网产品的解决方案和技术。熟悉云原生、微服务架构,分享一些项目实战经验以及前沿技术的见解。关注我们的主页,探索全栈开发,期待与您一起在移动开发的世界中,不断进步和创造!本文收录于......
  • 探索Lighthouse性能分数计算背后的奥秘
    作为开发我们都知道,页面性能很重要,一个性能良好的页面可以给用户带来非常好的用户体验。那么,怎么能知道自己写的页面性能是好是坏呢?Lighthouse是Chrome提供给开发者用来测量页面性能的工具。通过Lighthouse,我们可以很清楚的看到页面的性能情况。当前页面的性能总体得分为96分,......
  • 报错:Invalid bound statement (not found): org.example.mapper.ZoneInfoMapper.getA
    错误org.apache.ibatis.binding.BindingException:Invalidboundstatement(notfound):org.example.mapper.ZoneInfoMapper.getAll解决方法<resources><resource><directory>src/main/java</directory>&......
  • 案例5:计算100个小时共有多少天零多少个小时
    这个题目主要是考察两个整数相除只会保留整数,然后使用取余运算符求两个数的余数。示例代码如下:#define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>voidmain(){ inttotal=100; intdays=total/24; inthours=total%24; printf("%d个小时共有%d......
  • 基于web房屋租售管理系统-计算机毕业设计源码+LW文档
    摘 要当今,在这个信息化的时代,人们的生活越来越便利。因此如果运用java技术建设房屋租售管理系统系统使其与互联网有效的结合起来,实现房屋租售管理系统系统的网络化,为学校师生乃至社会提供更为全面、便捷的服务。根据本系统的研究现状和发展方向,首先系统从需求分析、结构设计、数......
  • JS计算指定日期添加指定月份后的日期
    /***计算给定日期n个月后的日期*@paramdateStr*@paramnum*@returns{string}*/functionaddMonth(dateStr,num){varmonthNum=0;if(typeofnum=="string"){monthNum=parseInt(num);}else{monthNum=num;}vardate=ne......
  • 3、SpringMVC之RequestMapping注解
    3.1、环境搭建创建名为spring_mvc_demo的新module,过程参考2.1节3.1.1、创建SpringMVC的配置文件<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/......
  • Nmap命令利用
    来自:[网鼎杯2020朱雀组]Nmap首先先熟悉一下nmap的基本命令吧:nmap-v127.0.0.1给出了远程机器更详细的信息,显示冗余信息(扫描细节)nmap-iLnmaptest.txt运行带“iL选项的nmap命令来扫描文件中列出的所有IP地址nmap192.168.0.*--exclude192.168.0.100使用“-exclud......
  • 云计算实战手册(1)
    目录openflow概述历史概述openflow概述历史以美国为中心,从零开始重新构建网络的新一代网络技术研究。技术人员提出了各种新一代网络技术的方案,实现比以往互联网通信设备更精确的控制。OF的最初概念始于2008年的斯坦福大学。到2009年12月,OpenFlow交换规范1.0版发布。自成立以......
  • 【软考-信息系统管理工程师】-1-计算机系统知识部分查漏补缺
    奇校验/偶校验校验类型和校验位数错误的影响采用奇校验方法,如果有奇数个数据位出错,能检测出错误,但不能纠正错误。奇校验通过将一个固定位数的数据块中二进制数值的总和的奇偶性进行检查来确定数据的正确性。如果某个数据位出错,则检查结果的奇偶性会发生变化,从而可以检测出......