评价指标篇——IOU(交并比)

news2024/11/25 0:53:09

什么是IoU(Intersection over Union)

IoU是一种测量在特定数据集中检测相应物体准确度的一个标准。
即是产生的候选框(candidate bound)与原标记框(ground truth bound)的交叠率
即它们的交集与并集的比值。最理想情况是完全重叠,即比值为1。

IoU是一个简单的测量标准,只要是在输出中得出一个预测范围(bounding boxex)的任务都可以用IoU来进行测量。为了可以使IoU用于测量任意大小形状的物体检测,我们需要:

  • ground-truth bounding boxes(人为在训练集图像中标出要检测物体的大概范围)
  • 我们的算法得出的结果范围。

也就是说,这个标准用于测量真实和预测之间的相关度,相关度越高,该值越高。如下图所示。绿色标线是人为标记的正确结果(ground-truth),红色标线是算法预测的结果(predicted)。
在这里插入图片描述
IoU的计算
IoU是两个区域重叠的部分除以两个区域的集合部分得出的结果,通过设定的阈值,与这个IoU计算结果比较。
在这里插入图片描述
举例如下:绿色框是准确值,红色框是预测值。
在这里插入图片描述

基础知识:

交集:
集合论中,设A,B是两个集合,由所有属于集合A且属于集合B的元素所组成的集合,叫做集合A与集合B的交集,记作A∩B。

eg:
A={1,2,3} B={2,3,4}
A n B = {2,3}

并集:
给定两个集合A,B,把他们所有的元素合并在一起组成的集合,叫做集合A与集合B的并集,记作A∪B,读作A并B。
eg:
A={1,2,3} B={2,3,4}
A U B = {1,2,3,4}

图示:
在这里插入图片描述
IOU:
在这里插入图片描述

"""
Python实现
"""


import numpy as np
def compute_iou(box1, box2, wh=False):
    """
    compute the iou of two boxes.
    Args:
        box1, box2: [xmin, ymin, xmax, ymax] (wh=False) or [xcenter, ycenter, w, h] (wh=True)
        wh: the format of coordinate.
    Return:
        iou: iou of box1 and box2.
    """
    if wh == False:
        xmin1, ymin1, xmax1, ymax1 = box1
        xmin2, ymin2, xmax2, ymax2 = box2
    else:
        xmin1, ymin1 = int(box1[0]-box1[2]/2.0), int(box1[1]-box1[3]/2.0)
        xmax1, ymax1 = int(box1[0]+box1[2]/2.0), int(box1[1]+box1[3]/2.0)
        xmin2, ymin2 = int(box2[0]-box2[2]/2.0), int(box2[1]-box2[3]/2.0)
        xmax2, ymax2 = int(box2[0]+box2[2]/2.0), int(box2[1]+box2[3]/2.0)

    ## 获取矩形框交集对应的左上角和右下角的坐标(intersection)
    xx1 = np.max([xmin1, xmin2])
    yy1 = np.max([ymin1, ymin2])
    xx2 = np.min([xmax1, xmax2])
    yy2 = np.min([ymax1, ymax2])
    
    ## 计算两个矩形框面积
    area1 = (xmax1-xmin1) * (ymax1-ymin1) 
    area2 = (xmax2-xmin2) * (ymax2-ymin2)
    
    inter_area = (np.max([0, xx2-xx1])) * (np.max([0, yy2-yy1])) #计算交集面积
    iou = inter_area / (area1+area2-inter_area+1e-6) #计算交并比

    return iou



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

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

相关文章

CVE-2023-5129:libwebp开源库10分漏洞

谷歌为libwebp漏洞分配新的CVE编号,CVSS评分10分。 Libwebp是一个用于处理WebP格式图像编解码的开源库。9月6日,苹果公司安全工程和架构(SEAR)部门和加拿大多伦多大学研究人员在libwebp库中发现了一个0 day漏洞,随后&…

Linux SSH连接远程服务器(免密登录、scp和sftp传输文件)

1 SSH简介 SSH(Secure Shell,安全外壳)是一种网络安全协议,通过加密和认证机制实现安全的访问和文件传输等业务。传统远程登录和文件传输方式,例如Telnet、FTP,使用明文传输数据,存在很多的安全…

水果种植与果园监管“智慧化”,AI技术打造智慧果园视频综合解决方案

一、方案背景 我国是水果生产大国,果园种植面积大、产量高。由于果园的位置大都相对偏远、面积较大,值守的工作人员无法顾及到园区每个角落,因此人为偷盗、野生生物偷吃等事件时有发生,并且受极端天气如狂风、雷暴、骤雨等影响&a…

NOSQL Redis 数据持久化 RDB、AOF(二) 恢复

redis 执行flushall 或 flushdb 也会产生dump.rdb文件,但里面是空的。 注意:千万执行,不然rdb文件会被覆盖的。 dump.rdb 文件如何恢复数据 讲备份文件 dump.rdb 移动到redis安装目录并启动服务即可。 dump.rdb 自动触发 和手动触发 自…

Android 更新图标

什么是Android Multidex热更新 • Worktile社区 在不重启app的情况下热更新 &#xff0c;在所有新文件下载完成后&#xff0c;提示用户&#xff0c;是否重启 在不频繁新增图标的情况下可以使用 <adaptive-icon>在AndroidManifest.xml中设置app别名&#xff0c;以实现…

PCB走线的传输延时有多少

信号在PCB上的传输速度虽然很快&#xff0c;但也是存在延时的&#xff0c;一般经验值是6mil/ps。 也就是在PCB上&#xff0c;当信号线走线长度为6mil的时候&#xff0c;信号从驱动端到达接收端需要经过1ps。 信号在PCB上的传输速率&#xff1a; 其中C为信号在真空中的传播速率…

2023年【煤炭生产经营单位(安全生产管理人员)】证考试及煤炭生产经营单位(安全生产管理人员)模拟考试题库

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 煤炭生产经营单位&#xff08;安全生产管理人员&#xff09;证考试是安全生产模拟考试一点通生成的&#xff0c;煤炭生产经营单位&#xff08;安全生产管理人员&#xff09;证模拟考试题库是根据煤炭生产经营单位&…

记一次问题排查

1785年&#xff0c;卡文迪许在实验中发现&#xff0c;把不含水蒸气、二氧化碳的空气除去氧气和氮气后&#xff0c;仍有很少量的残余气体存在。这种现象在当时并没有引起化学家的重视。 一百多年后&#xff0c;英国物理学家瑞利测定氮气的密度时&#xff0c;发现从空气里分离出来…

练[BJDCTF2020]EasySearch

[BJDCTF2020]EasySearch 文章目录 [BJDCTF2020]EasySearch掌握知识解题思路关键paylaod 掌握知识 ​ 目录扫描&#xff0c;index.php.swp文件泄露&#xff0c;代码审计&#xff0c;MD5区块爆破&#xff0c;请求响应包的隐藏信息&#xff0c;.shtml文件RCE漏洞利用 解题思路 …

cpp primer plus笔记01-注意事项

cpp尽量以int main()写函数头而不是以main()或者int main(void)或者void main()写。 cpp尽量上图用第4行的注释而不是用第5行注释。 尽量不要引用命名空间比如:using namespace std; 函数体内引用的命名空间会随着函数生命周期结束而失效&#xff0c;放置在全局引用的命名空…

【LeetCode: 901. 股票价格跨度 | 单调栈】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

【代码随想录】LC 27. 移除元素

文章目录 前言一、题目1、原题链接2、题目描述 二、解题报告1、思路分析2、时间复杂度3、代码详解 三、知识风暴 前言 本专栏文章为《代码随想录》书籍的刷题题解以及读书笔记&#xff0c;如有侵权&#xff0c;立即删除。 一、题目 1、原题链接 27. 移除元素 2、题目描述 二、…

文创行业如何利用软文出圈?媒介盒子告诉你

经济快速发展与社会进步&#xff0c;带来的是人们消费观念的转型&#xff0c;人们的精神需求与文化自信不断增强&#xff0c;随着文化产业和旅游业的不断升级&#xff0c;文创产品凭借独特的概念、创新的形象&#xff0c;吸引许多消费者。那么新时代的文创行业应该如何强势出圈…

华为数通方向HCIP-DataCom H12-831题库(单选题:201-220)

第201题 DHCP Snooping是一种DHCP安全特性,这项技术可以防御以下哪些攻击? A、DHCP Server仿冒者攻击 B、针对DHCP客户端的畸形报文泛洪攻击 C、仿冒DHCP报文攻击 D、DHCP Server的拒绝服务攻击 答案:ABD 解析: 第202题 两台PE之间通过MP-BGP传播VPNv4路由,以下哪些场景…

csa从初阶到大牛(网络配置)

添加新的网络连接ens170&#xff0c;并设置静态IP地址 sudo vi /etc/sysconfig/network-scripts/ifcfg-ens170TYPEEthernet BOOTPROTOstatic DEFROUTEyes NAMEens170 DEVICEens170 ONBOOTyes IPADDR192.168.1.100 NETMASK255.255.255.02.向ens170网络连接添加2个ip地址 sudo …

2023年中国铁路通信系统发展历程、市场规模及行业发展趋势分析[图]

铁路通信技术是铁路行业发展的重要推动力&#xff0c;它不仅可以提高客运、货运、维修、安全等业务的运行效率&#xff0c;还能够有效提高铁路行业的客户服务水平&#xff0c;实现质量和效率的双重提升。我国通信技术在铁路领域的应用经历了三个阶段&#xff0c;分别是模拟通信…

VulnHub JANGOW

提示&#xff08;主机ip分配问题&#xff09; 因为直接在VulnHub上下载的盒子&#xff0c;在VMware上打开&#xff0c;默认是不分配主机的 所以我们可以在VirtualBox上打开 一、信息收集 发现开放了21和80端口&#xff0c;查看一下80端口 80端口&#xff1a; 检查页面后发现…

小白必看!上位机控制单片机原理

嗨&#xff0c;大家好&#xff01;今天&#xff0c;我们要探讨一个有趣的话题——"以上位机控制单片机"。不要担心&#xff0c;我们会用最简单的方式来解释这个概念。 首先&#xff0c;你可以把以上位机想象成一台超级聪明的电脑&#xff0c;就像你用来上网、玩游戏、…

参与现场问题解决总结(Kafka、Hbase)

一. 背景 Kafka和Hbase在现场应用广泛&#xff0c;现场问题也较多&#xff0c;本季度通过对现场问题就行跟踪和总结&#xff0c;同时结合一些调研&#xff0c;尝试提高难点问题的解决效率&#xff0c;从而提高客户和现场满意度。非难点问题&#xff08;历史遇到过问题&#xf…

零代码编程:用ChatGPT绕过网站的Cloudflare防护爬取网页数据

打开这个网页&#xff0c;想爬取网页上的内容&#xff1a; https://toppsta.com/books/series/29278/national-geographic-kids-readers-level-1 这个网页看起来很简单&#xff0c;但是一般手段根本无法获取源代码&#xff0c;因为网站使用了Cloudflare服务器进行防护。 可以使…