IoU的及其变体

《计算机视觉之目标检测》IOU详解及代码 今天在改模型的时候刚好用到了IOU,因此将IOU说说,记录一下代码,方便以后复用。 1、什么IOU IoU 的全称为交并比(Intersection over Union),它的计算也比较简单,就是两个目标proposal框重叠的区域比总体的区域。如下图所表示的,着就是所谓的IOU。 2、为什么需要Iou? 在做目标检测的过程中有一个指标来评价这个模型的好坏,也就mAP。这个指标我下次再说,用检测出来的框和ground-truth之间计算IOU,如果IOU大于0.5或者其它的一个阈值,那么就认为 阅读详情

1. IoU是什么

IoU(Intersection over Union)是一个衡量两个边界框(bounding box)重叠度的指标,常用于目标检测和实例分割任务中。公式如下:IoU=交集区域并集区域IoU = \frac{交集区域}{并集区域}IoU=并集区域交集区域​以下图小狗做例子,假设我们要预测狗狗叼着的玉米的位置,则我们就可以通过最小化IoU损失来使得预测的Bounding Box更接近GT在这里插入图片描述
通过计算IoU loss而不是计算 l2\mathbf l_2l2​损失 优点和缺点:

  1. 相比于l2\mathbf l_2l2​损失更能反应重合程度,且具有尺度不变性
  2. 但是,当两个边界框不相交时,其IoU值为0,就无法进行反向传播

2. GIoU

GIoU=IoU−Ac−uAc     −1≤GIoU≤1GIoU = IoU - \frac{A^c - u}{A^c} ~~~~~ -1 \leq GIoU \leq 1GIoU=IoU−AcAc−u​     −1≤GIoU≤1 其中AcA^cAc是能框住两个边界框的最小矩形的面积,如下图蓝色的框框
而uuu代表了两个边界框的并集的面积
在这里插入图片描述
通过GIoU的这种改进能一定程度的解决IoU中两个框不相交时无法反向传播的问题,同时,GIOU还关注了其他非重合区域,能更好地反映两者的重合度。但是其性能提升并不高,而且当两个边界框具有同样的宽或者高时,Ac=uA^c = uAc=u 导致GIoU退化为IoU

3. DIoU

这个D顾名思义distance,即是一个引入了距离的影响,其公式如下:
DIoU=IoU−d2c2     −1≤DIoU≤1DIoU = IoU - \frac{d^2}{c^2} ~~~~~ -1 \leq DIoU \leq 1DIoU=IoU−c2d2​     −1≤DIoU≤1其中这里的d就是对应了两个边界框的中心点之间的欧氏距离
而c是框住两个边界框的最小矩形的左上顶点和右下顶点之间的欧氏距离,如论文中的例子图
在这里插入图片描述
由于DIoU损失能最小化两个bounding box之间的距离,所以其收敛速度会快很多,而且相比与前面提到的IoU和GIoU能更准确的反应两个边界框的重合程度

4. CIoU

Complete-IoU 即是考虑了重叠面积、长宽比、中心点距离三个因素,其公式如下:CIoU=IoU−(b2c2+av)其中                v=4π2(arctanwgthgt−arctanwh)2a=v(1−IoU)+vCIoU = IoU - (\frac{b^2}{c^2} + \mathbf {a v}) \\ 其中~~~~~~~~~~~~~~~~\mathbf v = \frac{4}{\pi^2}(arctan{\frac{w^{gt}}{h^{gt}} - arctan{\frac{w}{h}}})^2 \\ \mathbf a = \frac{\mathbf v}{(1 - IoU) + \mathbf v}CIoU=IoU−(c2b2​+av)其中                v=π24​(arctanhgtwgt​−arctanhw​)2a=(1−IoU)+vv​当IoU小于0.5时,CIoU退化为DIoU,只考虑预测框和真实框之间的中心点距离;当IoU大于等于0.5时,CIoU同时考虑中心点距离和长宽比的相似程度

我们可以看到由于考虑更多的因素,其计算效率会比另外两个低


上面所说的IoU几种变体在不同的情况下会有不同的效果,所以不能以偏概全,最好实际场景中试试哪一个更合适!!

IoU、GIoU、DIoU IOU(Intersection over Union) 1. 特性(优点) IoU就是我们所说的交并比,是目标检测中最常用的指标,在anchor-based的方法中,他的作用不仅用来确定正样本和负样本,还可以用来评价输出框(predict box)和ground-truth的距离。 可以说它可以反映预测检测框与真实检测框的检测效果。 还有一个很好的特性就是尺度不变性,也就是对尺... 阅读详情

相关推荐

YOLOv8损失函数魔改指南:从IoU到Wise-IoU,一次搞懂所有变体

本文深入解析YOLOv8中七种主流IoU变体(GIoU、DIoU、CIoU、SIoU、EIoU、WIoU)的数学原理与实现方法,从基础IoU的局限性到Wise-IoU的动态权重调整机制,提供完整的损失函数魔改指南。通过代码示例和场景推荐,帮助开发者优化目标检测模型的边界框回归性能。

weixin_30342209的博客 441

目标检测算法回顾之IOU变体篇章

目标检测中IOU的发展一级目录二级目录三级目录 一级目录 二级目录 三级目录

xiaobaizaza_Ry的博客 2409

【目标检测】IoU(交并比)详解及代码实现

1. IOU概述        IoU的全称为交并比(Intersection over Union),是目标检测中使用的一个概念,IoU计算的是“预测的边框”和“真实的边框”的交叠率-,即它们的交集和并集的比值。最理想情况是完全重叠,即比值为1。 2. IoU计算        IoU等于“预测的边框”和“真实的边框”之间交集和并集的比值。IoU计算如下图,B1为真实

Roaddd的博客 2万+

目标检测从入门到精通——常见iou及变体算法介绍

在目标检测任务中,IoU 是评估模型性能的重要指标。随着研究的深入,许多 IoU 的变体被提出,以解决传统 IoU 在某些情况下的不足。每种 IoU 变体都有其独特的优点和适用场景,选择合适的 IoU 计算方法可以根据具体应用需求来决定。指标计算方式特点IoU交集面积 / 并集面积简单易懂,但在无重叠情况下无法提供有效反馈GIoUIoU - (最小外接框面积 - 并集面积) / 最小外接框面积解决了 IoU 的不足,考虑了框之间的距离DIoU。

swpucwf的博客 3052

目标检测的Tricks | 【Trick3】IoU loss与focal loss(包含一些变体介绍)

如有错误,恳请指出。 这里介绍一下IoU loss与focal loss函数,之前的文章也有提及到,这里就不再过多的细说了。简单来说: IoU loss:用来计算pred box与ground true之间的差异,用来边界框损失函数的计算; focal loss:用来平衡正负样本不均衡的问题,由RetinaNet提出使用与One-Step目标检测算法上的一个技巧 关于这两部分的详细介绍可以见之前的博文:YOLOv4中的tricks概念总结——Bag of freebies 然后,后续有不少大佬对fo.

Clichong 3249

019、IoU损失函数变体分析:从调参血泪史到工程选型指南

本文系统分析了目标检测中IoU损失函数的演进与工程实践。从基础IoU的梯度消失问题出发,介绍了GIoU、DIoU、CIoU、EIoU和SIoU等改进方法的特点:GIoU通过闭包惩罚解决不相交问题,DIoU加速中心点对齐,CIoU加入宽高比约束,EIoU分离宽高损失,SIoU考虑角度对齐。作者结合实践经验指出,DIoU在大多数场景下已足够高效,小目标检测推荐EIoU,实时系统需平衡速度与精度,数据质量差时GIoU更鲁棒。强调应根据具体业务需求而非盲目追求最新方法选择损失函数,并警示自定义损失时需注意梯度稳定性

qq_44101455的博客 24

各种 IoU 损失变体-GIoU、DIoU、CIoU、EIoU、α-IoU、SIoU、MPDIoU、Inner/Shape/Focaler-IoU...

IoU损失及其各种变体已经在密集预测任务中展现出了优异的效果。这里做一个简单的罗列与梳理。

画心 5895

单片机课程设计——交通灯

单片机课程设计——交通灯一、课程设计主要内容1.1 题目1.2摘要1.3关键词二、设计要求三、设计方案四、参考电路设计4.1.1数码管的设计4.1.2对应程序4.2.1独立按键的设计4.2.2对应程序4.2.3 使用逻辑4.3.1LED模块的设置4.3.2 LED实物图4.3.3 LED显示程序五、调试要点5.1 单片机最小系统5.2 数码管模块5.3 LED模块5.4 独立按键六、总结七、成品图完整程序 一、课程设计主要内容 1.1 题目 交通灯设计 1.2摘要 近年来,随着我国国民经济的快速发展,我国机

PKPROTEUS的博客 3万+

YOLO深度解读:IOU变体系列解析

🔍🏆🎉本文深度剖析目标检测核心指标IOU及其变体的技术演进,从基础IoU到SIoU的完整技术脉络,结合数学原理与YOLO实战代码,详解GIoU、DIoU、CIoU、EIoU、SIoU的创新点与适用场景。通过可视化对比和PyTorch代码实现,揭示不同变体在梯度优化、收敛速度、方向感知等方面的优劣,最后给出YOLO系列模型的选型建议和调优技巧。适合目标检测领域开发者收藏细读!

极限突破者的博客 1792

HDMI调试避坑指南:从AVI InfoFrame到通用控制包,这些DataIsland Packet细节千万别忽略

本文深入解析HDMI调试中DataIsland数据包的关键细节,包括AVI InfoFrame、通用控制包和音频时钟再生包(ACR)的配置与故障排查。通过实际案例和寄存器配置示例,帮助工程师快速定位显示异常、色彩失真和音频中断等问题,提升HDMI接口调试效率。

weixin_30897233的博客 637

2021-3-20组会 无监督训练下的音频分离 (音源分离) Unsupervised Audio Source Separation Using Generative Priors

0. 说明 一片具体论文的综述

ruclion的专栏 1350

目标检测中的IoU及其变体深度解析

数学定义: IoU=∣A∩B∣∣A∪B∣=Area of OverlapArea of Union \text{IoU} = \frac{|A \cap B|}{|A \cup B|} = \frac{\text{Area of Overlap}}{\text{Area of Union}} IoU=∣A∪B∣∣A∩B∣​=Area of UnionArea of Overlap​计算复杂度: T(n)=O(1)对于轴对齐矩形 T(n) = O(1) \quad \text{对于轴对齐矩形} T(n)=O(

2401_86968005的博客 960

AIStarter避坑指南:Wan2.2 Animate整合包从下载到出片的完整流程(附常见错误修复)

本文提供了Wan2.2 Animate整合包从下载部署到生成高清视频的完整避坑指南。详细解析了通过AIStarter启动、环境配置、核心参数调优以及七大常见错误(如CUDA内存不足、节点缺失、视频模糊等)的根因与修复方案,帮助用户高效利用ComfyUI工作流,稳定生成720P高质量AI动画视频。

weixin_29052717的博客 705

【IoU变体对比:WIOU、SIOU、EIOU、GIOU、CIOU】

IoU变体对比:WIOU、SIOU、EIOU、GIOU、CIOU

dally2的博客 2682

PointNet++改进策略目录

后续我将如何使用文章中创新点加入的PointNet++中代码实现部分进行更新。

u012901740的博客 2196

uniapp - [微信小程序 | 安卓苹果app] 详细实现接入天地图完整流程,提供显示地图、IP 属地定位 / 用户定位的城市名称、用户定位的经纬度超多功能(复制运行示例代码,详细注释及常见问题)

uni-app,微信小程序,安卓app,苹果app,App端,支付宝小程序,nvue,天地图,国家天地图api,接入使用天地图,uniApp小程序端接入天地图,uniapp安卓苹果app端接入天地图,微信小程序平台如何引入天地图,天地图Api使用教程,如何在uniapp里集成天地图,使用天地图获取当前定位,天地图api教程,天地图官方文档,天地图详细使用教程,Uniapp项目如何使用天地图,项目引入天地图配置及使用教程,使用天地图获取用户定位,天地图获取用户当前位置信息(经纬度),如何通过天地图拿到用户定位

🏆 前端领域优质创作者 1万+

IoU已经out了,试试这几个变体:GIoU、DIoU和CIoU介绍与对比分析

GIoU、DIoU和CIoU这三个变体都有各自的独到之处,它们在一定程度上弥补了普通IoU在处理不重叠、距离较远或形状差异较大的边界框时的不足。这些新的指标不仅仅给出一个量化的分数,它们的各项组成部分还能告诉我们,预测结果好坏的原因究竟是什么。虽然本文主要聚焦在训练阶段,但请注意,这些指标实际上可以用于所有三个场景:训练、评估和推理。所以建议在所有场合都使用CIoU,但在评估时,可能还需要一些时间来建立对其数值的直观理解。

deephub 5132

【webrtc】openh264编码:动态配置码控参数触发IDR编码

SetRates 下发RateControlParameters 给到openh264 编码器 void SetRates(const RateControlParameters& parameters) override; LayerConfig 编码器这边的配置是layerconfig,具体到层的: std::vector<LayerConfig> configurations_; void H264EncoderImpl::SetRates(const RateCo.

突围 725

使用chatGPT写的IoU及IoU变体的代码实现

Intersection over Union(IoU)是计算两个边界框的重叠程度的常用指标。这些变体都是用于计算两个边界框的重叠度量,目的是为了提高目标检测等任务的精度。在实际应用中,我们可以根据任务的需要选择适当的重叠度量。

南城以北的博客 783

YOLO11检测中的内存占用分析与优化:讲解如何分析并优化推理时的内存使用

YOLOv11模型内存分析与优化摘要:本文系统分析了YOLOv11目标检测模型的内存使用模式,重点探讨了显存(VRAM)、系统内存(RAM)和共享内存的特性差异。通过PyTorch内置工具和自定义分析器,详细剖析了骨干网络、颈部网络和检测头各组件内存占用规律,指出激活值内存与输入尺寸呈平方级增长关系。文章提供了卷积层内存计算公式,并强调合理规划"工作台"(显存)与"仓库"(内存)间的数据流动是优化关键。最后通过流程图直观展示了YOLOv11推理过程的三类内存使用模式,

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 344

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

GIoU、CIoU和DIoU对比:IoU的变体及其优缺点

GIoU、CIoU和DIoU对比:IoU的变体及其优缺点

阿旭的博客 1039

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

目标检测新思路:Focaler-IoU与其他IoU变体的对比实验报告

本文深入评测了目标检测领域的新型边界框回归损失函数Focaler-IoU。通过对比实验,分析了其借鉴Focal Loss思想、通过动态调整样本权重来聚焦难易样本的核心机制,并与GIoU、DIoU、CIoU等主流IoU变体进行性能横向对比,为不同场景下的损失函数选型提供了实战指南。

weixin_29061425的博客 280

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

手把手教你实现YOLOv5中的IoU Loss变体(附代码详解)

本文提供了一份详细的YOLOv5实战指南,手把手教你集成GIOU、CIOU、EIOU、SIOU等新一代IoU损失函数变体。通过剖析代码结构、提供核心函数实现与修改步骤,并分享训练调参技巧,旨在帮助开发者针对不同目标检测场景优化模型定位精度,解决传统IoU损失在无重叠或困难样本上的局限性。

c6d7e8f9g的博客 624

从YOLOv5 → YOLOv13中所用到的IoU变体

YOLO系列目标检测模型的框回归损失函数演变:Ultralytics家族的v5/v7/v8/v11均采用CIoU;YOLOv6根据模型规模分别使用SIoU(小模型)和GIoU(大模型);社区主导的v12和v13则分别切换为SIoU和EIoU作为默认选项,其中v13特别强调EIoU对微小目标定位的改进效果。整体呈现从传统CIoU向新型IoU变体过渡的趋势。

qq_39697468的博客 286

手把手教你实现YOLOv5中的IoU Loss变体(附代码)

本文详细解析了YOLOv5中IoU Loss的多种变体(GIoU、CIoU、EIoU、SIoU)的数学原理与实现方法,并提供了完整的代码示例。通过对比不同变体在目标检测中的性能表现,帮助开发者选择最适合的损失函数,提升模型精度与训练效率。特别适合需要优化边界框回归的计算机视觉工程师。

j0k1l2m3n的博客 198

YOLOv8目标检测调参实战:如何根据你的数据集选择最合适的IoU变体?

本文深入探讨了YOLOv8目标检测中不同IoU变体(如CIoU、DIoU、EIoU等)的选择策略,帮助开发者根据数据集特性优化模型性能。通过工业质检、遥感影像和自动驾驶等实际案例,详细分析了各IoU变体的适用场景和调参技巧,提升目标检测精度和效率。

weixin_30797199的博客 191
上一篇: 模型训练中哪些指标是关键性能?
下一篇: 生成对抗网络GAN学习笔记
美味不是堡
博客等级 码龄6年 2010粉丝 64原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值