转载:YOLOv8改进全新Inner-IoU损失函数:扩展到其他SIoU、CIoU等主流损失函数,带辅助边界框的损失

0、摘要


随着检测器的快速发展,边界框回归(BBR)损失函数不断进行更新和优化。然而,现有的 IoU  基于 BBR 仍然集中在通过添加新损失项来加速收敛,忽略了 IoU 损失项本身的局限性。尽管从理论上讲,IoU 损失可以有效地描述边界框回归的状态,但在实际应用中,它无法根据不同的检测器和检测任务进行自适应调整,且不具备较强的泛化能力。

基于上述情况,作者首先分析了 BBR 模型,并得出结论:区分不同的回归样本以及使用不同尺度的辅助边界框计算损失可以有效加速边界框回归过程。对于高 IoU 样本,使用较小的辅助边界框计算损失可以加速收敛,而较大的辅助边界框适合于低 IoU 样本。然后,作者提出了 Inner-IoU 损失,通过辅助边界框计算 IoU 损失。对于不同的数据集和检测器,作者引入一个缩放因子比来控制计算损失的辅助边界框的尺度大小。最后,将 Inner-IoU 集成到现有的 IoU 基于损失函数中进行仿真和比较实验。

实验结果表明,利用本文提出的方法进一步提高了检测性能,验证了 Inner IoU 损失的有效性和泛化能力。

1、 简介

目标检测是计算机视觉中的基本任务,包括目标分类和定位。边界框回归损失函数是检测器定位分支的重要组成部分,检测器的定位精度在很大程度上取决于边界框回归,在当前的检测器中发挥着不可替代的作用。

在BBR中,IoU损失可以准确描述预测边界框与GT框之间匹配的程度,确保模型在训练过程中可以学习到目标的位置信息。作为现有主流边界框回归损失函数的基本部分,IoU定义如下:

B和B^{gt}分别代表预测框和GT框。定义IoU之后,相应的损失可以定义如下:

至今,基于IoU的损失函数逐渐成为主流并占据主导地位。大多数现有方法基于IoU并进一步添加新的损失项。例如,为了在Anchor框与GT框重叠区域为0时解决梯度消失问题,提出了GIoU。GIoU定义如下,其中C是覆盖B和B^{gt} 的最小框:

与GIoU相比,DIoU函数在IoU的基础上添加了一个新的距离损失项,主要通过最小化两个边界框中心点之间的归一化距离来达到更快收敛和更好的性能。它表示如下:

其中b和b^{gt}分别是B和的中心点,ρ指的是欧氏距离,c是最小边界框的diagonal。

CIoU进一步考虑了形状损失,并在DIoU损失的基础上添加了形状损失项。它表示如下:

其中,\alpha是正交平衡参数:

其中,\upsilon衡量aspect ratio的一致性:

\omega ^{gt}h^{gt}分别表示目标框的宽度和高度,w和h分别表示预测框的宽度和高度。当目标框和预测框的 aspect ratio 相同时,CIoU将退化为DIoU。

与DIoU相比,EIoU直接最小化目标框和Anchor框的宽度和高度以及中心位置的归一化差值。EIoU定义如下:

w^{c}h^{c}分别是覆盖目标框和预测框的最小边界框的宽度和高度。

最近的SIoU在考虑了Anchor框与GT框之间角度对边界框回归影响的基础上,将角度损失引入边界框回归损失函数。它定义如下:

角度损失表示GT框和Anchor框中心点连接之间的最小角度:

这一项旨在将Anchor框移动到最近的坐标轴,并根据角度变化优先考虑接近X轴或Y轴。当角度值为45°时,Λ=1。当中心点沿X轴或Y轴对齐时,Λ=0。

在考虑角度成本后,重新定义距离损失如下:

形状损失主要描述GT框和Anchor框之间的大小差异,定义如下:

θ的值决定了形状成本的重要性。这个参数的范围从2到6。

尽管上述边界框回归损失函数可以通过向IoU损失函数添加新的几何约束来加速收敛和改进检测性能,但它们并没有考虑IoU损失本身的合理性,这决定了检测结果的质量。为了弥补这一不足,作者提出了Inner-IoU损失,通过使用辅助边界框来加速回归,而无需添加任何新的损失项。

本文的主要贡献如下:

  • 作者分析了边界框回归的过程和模式,并根据边界框回归问题的固有特性,提出在模型训练过程中使用较小的辅助边界框计算损失,以对高IoU样本的回归产生正向效果,而低IoU样本产生相反效果。
  • 作者提出了Inner-IoU损失,通过引入比例因子控制来生成不同尺度的辅助边界框以计算损失。将其应用于现有的IoU基于损失函数可以实现更快和更有效的回归结果。
  • 作者进行了一系列仿真和比较实验,实验结果表明,作者的方法在检测性能和泛化方面优于现有方法,对于不同像素大小的数据集,它实现了SOTA。

2 方法

2.1 边界框回归模式分析

IoU损失函数在计算机视觉任务中有广泛的应用。在边界框回归过程中,不仅可以评估回归状态,还可以通过计算回归损失来加速收敛。在这里,作者讨论IoU变化与边界框大小之间的关系,分析边界框回归问题的本质特征,并解释本文提出方法的可行性。

如图3所示,图3a显示了IoU偏差曲线,水平轴和垂直轴分别表示偏差和IoU值。三种不同颜色的曲线对应不同尺度边界框的IoU变化曲线。A、B、C、D 和 E 分别表示Anchor框和GT框的 5 种不同位置关系,其中红色边界框表示长度和宽度为10的Anchor框,对应的GT框用黑色边界框表示。

图3b显示了ABS(Grad)偏差曲线。与图3a不同,图3b的垂直轴表示IoU偏差的绝对值。作者假设实际边界框大小为10,使用大小为8和12的边界框作为辅助边界框。在图3中,A和E对应低IoU样本的回归状态,而B和D对应高IoU样本的回归状态。从图3可以得出以下结论:

  • 由于辅助边界框与实际边界框之间的尺度差异,回归过程中IoU值的变化趋势与实际边界框IoU值的变化趋势一致,可以反映实际边界框回归结果的质量。
  • 对于高IoU样本,较小尺度辅助边界框的IoU偏差的绝对值大于实际边界框IoU偏差的绝对值
  • 对于低IoU样本,较大尺度辅助边界框的IoU偏差的绝对值大于实际边界框 IoU偏差的绝对值。

基于以上分析,使用较小尺度辅助边界框计算IoU损失有助于提高高IoU样本的回归速度并加速收敛。相反,使用较大尺度辅助边界框计算IoU损失可以加速低IoU样本的回归过程。

2.2  Inner-IoU 损失

为弥补现有IoU损失函数在不同的检测任务中的泛化能力较弱且收敛速度较慢的不足,作者提出使用辅助边界框计算损失以加速边界框回归过程。在Inner-IoU中,作者引入了尺度因子比,可以控制辅助边界框的尺度大小。通过为不同数据集和检测器使用不同尺度的辅助边界框,可以克服现有方法在泛化能力方面的局限。

GT框和Anchor框分别表示为B^{gt}和 B,如图1所示。GT 框的中心点和内 GT 框的中心点用表示,而表示Anchor框和内Anchor框的中心点。GT 框的宽度和高度分别用\omega ^{gt}h^{gt}表示,而Anchor框的宽度和高度用w和h表示。变量“ratio”对应缩放因子,通常在 [0.5, 1.5] 的范围内。

Inner-IoU损失继承了IoU损失的一些特征,同时具有自己的特点。Inner-IoU损失的范围与IoU损失相同,为[0,1]。由于辅助边界框与实际边界框之间仅存在尺度差异,损失函数的计算方法相同,Inner-IoU偏差曲线与 IoU 偏差曲线相似。

与 IoU 损失相比,当比例小于 1 且辅助边界框尺寸小于实际边界框时,回归的有效范围小于IoU损失,但梯度的绝对值大于从IoU损失获得的梯度,可以加速高IoU样本的收敛。相反,当比例大于1时,较大尺度的辅助边界框扩展了回归的有效范围,对低IoU样本的回归具有增强效果。

将Inner-IoU损失应用于现有的基于IoU的边界框回归损失函数,如L_{Inner-IoU}L_{Inner-GIoU}L_{Inner-DIoU}L_{Inner-CIoU}L_{Inner-EIoU}L_{Inner-SIoU},如下所示:

3 实验

3.1  模拟实验


如图5所示,本文通过模拟实验分析了两种不同场景下的边界框回归过程。在图5a和图5b中,设置了7个不同的绿色边界框作为目标框,目标框的中心点设置为(100,100),比例分别为1:4、1:3、1:2、1:1、2:1、3:1和4:1。在图5a中,Anchor框随机分配2000个点,其位置分布以(100,100)为中心,半径为3。对于每个点的尺度,Anchor框的面积设置为 0.5、0.67、0.75、1、1.33、1.5 和 2。

对于给定的点和尺度,适应7个aspect ratios,即遵循与目标框相同的目标设置(即 1:4、1:3、1:2、1:1、2:1、3:1 和 4:1)。图 5b 的Anchor框分布不同于图5a,其位置分布以(100,100)为中心,半径为6至9。尺寸和比例与图5a相同。总之,在每个实验中,应将2,000 × 7 × 7个Anchor框拟合到每个目标框。

因此,总共有686,000=7 × 7 × 7 × 2,000种压缩情况。模拟实验的结果如图7所示,其中图7a表示高IoU回归样本场景下的收敛结果。为了加速高IoU样本的回归,尺度因子比例设置为0.8。图7b表示低IoU回归样本场景下的收敛结果,比例设置为1.2。可以看出,图中表示作者方法的虚线收敛速度优于现有方法。

3.2 对比实验

3.2.1 PASCAL VOC上的YOLOv7

本实验对比了CIoU方法和SIoU方法,使用YOLOV7-tiny作为检测器,VOC2007 trainval和VOC2012 trainval作为训练集,VOC2007 test作为测试集。训练集包含16551张图像,而测试集包含4952张具有20个类别的图像。作者在训练集上训练了150个Epoch,以展示作者方法的优势。

作者可视化了所提出方法与原始方法的训练过程,如图8所示。图 8a、图 8b 和图 8c 分别显示了CIoU和Inner-CIoU的训练过程曲线,相应比例分别为0.7、0.75和0.8。图8d、图8e 和图8f 分别为SIoU和Inner-SIoU在比例为0.7、0.75和0.8时的训练过程曲线。

在图8中,橙色曲线代表本篇论文提出的方法,而现有方法用绿色曲线表示。可以看出,在50到150个Epoch的训练过程中,本文提出的方法优于现有方法。

对比实验在测试集上的结果如表1所示。可以看出,应用本文方法后,检测效果得到了提高,AP50和 mAP50:95均提高了0.5%以上。

图2和图6展示了检测样本的比较。从图中可以看出,与现有方法相比,所提出的方法定位更准确,假检测和漏检测较少。

3.2.2 YOLOv5 在 AI-TOD 上

为了证明所提出方法的可泛化性,作者在AI-TOD数据集上进行了比较实验,使用SIoU作为比较方法。

AI-TOD包括28036张空中图像,8种目标类型,以及700621个目标实例,其中14018张图像作为训练集,其余14018张图像作为测试集。与现有的目标检测任务数据集相比,AITOD 的平均大小为12.8像素,远小于其他数据集。实验结果如表 II 所示。

在对比实验 1 中,通过将比例值在 0.7 和 0.8 之间设置为小于 1,生成了一个比实际边界框小的辅助边界。实验结果表明,它可以提高高 IoU 样本的收益。在实验 2 中,当比例值大于 1 时,通过生成更大的辅助边界框来加速低 IoU 样本的收敛。

此外,图 4 展示了测试集上的检测结果比较,通过比较可以看出所提出方法的优势。

论文链接:https://arxiv.org/abs/2311.02877

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Android10 手势导航

种类 Android10 默认的系统导航有三种: 1.两个按钮的 2.三个按钮的 3.手势 它们分别对应三个包名 frameworks/base/packages/overlays/NavigationBarMode2ButtonOverlay frameworks/base/packages/overlays/NavigationBarMode3ButtonOverlay frameworks/base/packa…

怎么恢复删除的数据? 8个有效的数据恢复方法

无论您在保存备份方面多么小心,灾难有时还是会发生。有时您的备份软件无法按预期运行。 如果您的外部驱动器靠近您的设备,发生火灾/洪水/故障时,有时备份会与原始文件一起丢失。即使是云存储也不能避免故障。 还有一个事实是,我…

C#检查服务状态,以及进行服务启停

1. linux环境 linux环境通过执行bash命令直接执行: public string RunCmdLinux(string cmd){var proc new Process();System.Console.Write($"Run Linux cmd > [{cmd}] START!");proc.StartInfo.CreateNoWindow true;proc.StartInfo.FileName &…

TOUGH系列软件教程

查看原文>>>全流程TOUGH系列软件实践技术应用 TOUGH系列软件是由美国劳伦斯伯克利实验室开发的,旨在解决非饱和带中地下水、热运移的通用模拟软件。和传统地下水模拟软件Feflow和Modflow不同,TOUGH系列软件采用模块化设计和有限积分差网格剖分…

『C++成长记』C++入门——内联函数

🔥博客主页:小王又困了 📚系列专栏:C 🌟人之为学,不日近则日退 ❤️感谢大家点赞👍收藏⭐评论✍️ 目录 一、内联函数 📒1.1内联函数的概念 📒1.2内联函数的特征 …

js中的instance,isPrototype和getPrototypeOf的使用,来判断类的关系

😁 作者简介:一名大四的学生,致力学习前端开发技术 ⭐️个人主页:夜宵饽饽的主页 ❔ 系列专栏:JavaScript小贴士 👐学习格言:成功不是终点,失败也并非末日,最重要的是继续…

网络类型及数据链路层的协议

网络类型 --- 根据数据链路层使用的协议来进行划分的。 MA网络 --- 多点接入网络 BMA --- 广播型多点接入网络---以太网协议 NBMA --- 非广播型多点接入网络 以太网协议 --- 需要使用mac地址对不同的主机设备进行区分和标识 --- 以太网之所以需要使用mac地址进行数据寻址&…

基于SSM的校园停车场管理系统设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

Adobe Illustrator——原创设计的宝藏软件

今天,我们来谈谈一款在Adobe系列中曾经多次给大家都提到的原创性极强的设计理念丰富的矢量图形编辑软件——Adobe Illustrator。 Adobe Illustrator,其定位是一款与Photoshop相类似对矢量图形进行编辑的软件。 Adobe Illustrator,作为全球最著…

未来10年,NAND 与DRAM依然是存储主角

根据Yole Group调查机构的数据显示,在2022年独立记忆体(Stand-alone Memory)整体市场达到了1440亿美元。其中DRAM占比55.4%,NAND占比40.8%。剩下的NOR、(NV)SRAM/FRAM、EEPROM、新型非易失存储(PCM, ReRAM and STT-MRAM)等占比3.8…

2023.11.14 关于 Spring Boot 创建和使用

目录 Spring Boot Spring Boot 项目的创建 网页版创建 Spring Boot 项目 Spring Boot 目录说明 项目运行 Spring Boot Spring Boot 是基于 Spring 设计的一个全新的框架,其目的是用来简化 Spring 的应用、初始搭建、开发的整个过程Spring Boot 就是一个整合了…

C语言入门这一篇就够了(入门篇2)

接上篇C语言入门这一篇就够了(入门篇1) 今天主要讲解基本语法,话不多说,直接上干货。 C语言语法有哪些 数据类型:C语言有多种数据类型,包括整数类型(如 int、long)、浮点类型&#x…

移动机器人路径规划(二)--- 图搜索基础,Dijkstra,A*,JPS

目录 1 图搜索基础 1.1 机器人规划的配置空间 Configuration Space 1.2 图搜索算法的基本概念 1.3 启发式的搜索算法 Heuristic search 2 A* Dijkstra算法 2.1 Dijkstra算法 2.2 A*&&Weighted A*算法 2.3 A* 算法的工程实践中的应用 3 JPS 1 图搜索基础 1.1…

Mysql中的JDBC编程

JDBC编程 1.JDBC的数据库编程2.JDBC工作原理3.JDBC使用3.1JDBC开发案例3.2JDBC使用步骤总结 4.JDBC API4.1数据库连接Connection4.2 Statement对象4.3 ResultSet对象4.4 释放 5.Java代码操作数据库 1.JDBC的数据库编程 JDBC,即Java Database Connectivity&#xff0…

20 - 欲知JVM调优先了解JVM内存模型

从今天开始,我将和你一起探讨 Java 虚拟机(JVM)的性能调优。JVM 算是面试中的高频问题了,通常情况下总会有人问到:请你讲解下 JVM 的内存模型,JVM 的性能调优做过吗? 1、为什么 JVM 在 Java 中…

springboot--单元测试

单元测试 前言1、写测试要用的类2、写测试要用的类3、运行测试类4、spring-boot-starter-test默认提供了以下库4.1 junit54.1.1 DisplayName:为测试类或者测试方法设置展示名称4.1.2 BeforeAll:所有测试方法运行之前先运行这个4.1.3 BeforeEach:每个测试…

编码自动化:使用MybatisX初体验,太爽了!

使用Mybatis当前最火的插件:MybatisX。 在IDEA中安装MyBatisX插件。 该插件主要功能如下: 生成mapper xml文件 快速从代码跳转到mapper及从mapper返回代码 mybatis自动补全及语法错误提示 集成mybatis Generate GUI界面 根据数据库注解,…

win11无损关闭系统更新

1、窗口键R,打开运行窗口,输入regedit。 2、打开地址:计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings 3、新建DWORD(32位)值(D),重命名“FlightSettingsMaxPauseDays” 4、…

MacBook投屏到安卓电视的操作步骤,用网页浏览器也能投屏

如果你想将苹果电脑投屏到家里的安卓大电视上,AirDroid Cast给你提供两种方法,其中一种就是大家都熟悉的AirPlay,AirPlay有个限制,需要连接同一个网络才可以投屏,所以AirPlay适应本地投屏。如果你需要远程投屏&#xf…

通信原理板块——利用香农公式对连续信道的信道容量计算

微信公众号上线,搜索公众号小灰灰的FPGA,关注可获取相关源码,定期更新有关FPGA的项目以及开源项目源码,包括但不限于各类检测芯片驱动、低速接口驱动、高速接口驱动、数据信号处理、图像处理以及AXI总线等 利用香农公式对连续信道的信道容量…