当前位置: 首页 > news >正文

目标检测中的IOU

IOU

  • 什么是IOU?
  • IOU应用场景
  • 写代码调试

什么是IOU?

简单来说IOU就是用来度量目标检测中预测框与真实框的重叠程度。在图像分类中,有一个明确的指标准确率来衡量模型分类模型的好坏。其公式为:
在这里插入图片描述
这个公式显然不适合在在目标检测中使用。我们知道目标检测中都是用一个矩形框住被检测物体,又因为检测物体尺度不同,预测框与真实框或大或小。所以度量标准必然是具有尺度不变性的,那么大神们就引入了一个概念IOU(交并比),用预测框(A)和真实框(B)的交集除上二者的并集,其公式为:
在这里插入图片描述
在这里插入图片描述

显而易见,IOU的值越高也说明A框与B框重合程度越高,代表模型预测越准确。反之,IOU越低模型性能越差。

IOU应用场景

除了作为目标检测的评价指标,IOU还有其他应用场景:

  • 1.在anchor-based方法的目标检测中,根据IOU的值来区分正样本和负样本。
  • 2.可以直接作为边界框回归的loss函数进行优化。
  • 3.在NMS(非极大值抑制)对预测框筛选。

参考:目标检测中的IoU、GIoU、DIoU与CIoU

写代码调试

说了这么多,关键还得写代码调试看看
python代码

example1

import numpy as npdef IoU(box1, box2):b1_x1, b1_y1, b1_x2, b1_y2 = box1b2_x1, b2_y1, b2_x2, b2_y2 = box2xx1 = np.maximum(b1_x1, b2_x1)yy1 = np.maximum(b1_y1, b2_y1)xx2 = np.minimum(b1_x2, b2_x2)yy2 = np.minimum(b1_y2, b2_y2)w = np.maximum(0.0, yy2 - yy1)h = np.maximum(0.0, xx2 - xx1)inter = w * hIoU = inter/((b1_x2-b1_x1)*(b1_y2-b1_y1) + (b2_x2-b2_x1)*(b2_y2-b2_y1) - inter)print("IoU: "
http://www.lryc.cn/news/119183.html

相关文章:

  • 微信小程序实现双向滑动快捷选择价格(价格区间)
  • W5500-EVB-PICO 做TCP Server进行回环测试(六)
  • Flowise AI:用于构建LLM流的拖放UI
  • Vue原理解析:Vue到底是什么?
  • Playwright 和 Selenium 的区别是什么?
  • 【面试题】前端面试十五问
  • 09-1_Qt 5.9 C++开发指南_Qchart概述
  • 烘焙光照贴图,模型小部分发黑
  • gitblit windows部署
  • opencv基础53-图像轮廓06-判断像素点与轮廓的关系(轮廓内,轮廓上,轮廓外)cv2.pointPolygonTest()
  • 【LeetCode每日一题】——575.分糖果
  • 添加水印图片的java代码
  • uniapp创建项目入门【详细】
  • pytest功能特性介绍
  • UIE在实体识别和关系抽取上的实践
  • Baklib: 逆袭语雀的在线帮助中心,知识库管理工具
  • web 3d场景构建+three.js+室内围墙,仓库,楼梯,货架模型等,第一人称进入场景案例
  • EditPlus取消自动.bak备份
  • LLM - Transformer LLaMA2 结构分析与 LoRA 详解
  • 前端技术搭建五子棋游戏(内含源码)
  • AST入门与实战(三):if节点转switch节点(瑞数5)
  • 小白到运维工程师自学之路 第七十一集 (kubernetes网络设置)
  • day17 enum abstract interface 枚举 抽象 接口
  • c刷题(二)
  • 【leetcode】15. 三数之和(medium)
  • 【css】属性选择器
  • Redis_概述
  • 【从零学习python 】16. Python字符串的format方法(一)
  • python re 模块 正则表达式
  • c#设计模式-创建型模式 之 单例模式