一、背景:
- 现有基于IoU的边界框回归方法主要通过添加新的损失项来加速收敛,忽略了IoU损失项本身的局限性,且在不同检测器和检测任务中不能自我调整,泛化性不强。
- 通过分析边界框回归模型,
inner_iou
论文中发现区分不同的回归样本,并使用不同尺度的辅助边界框来计算损失,可以有效加速边界框回归过程。对于高IoU样本,使用较小的辅助边界框计算损失可加速收敛,而较大的辅助边界框适用于低IoU样本。
本文将YOLOv11
默认的CIoU
损失函数修改成inner_IoU
、inner_GIoU
、inner_DIoU
、inner_CIoU
、inner_EIoU
、inner_SIoU
。
专栏目录:YOLOv11改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
专栏地址:YOLOv11改进专栏——以发表论文的角度,快速准确的找到有效涨点的创新点!
二、原理
Inner-IoU: More Effective Intersection over Union Loss with Auxiliary Bounding Box
2.1 Inner - IoU计算原理
定义相关参数:
- 真实(GT)框和锚点分别表示为$B^{gt}$和$B$。
- GT框和内GT框的中心点表示为$(x{c}^{gt}, y{c}^{gt})$,锚点和内锚点的中心点表示为$(x{c}, y{c})$。
- GT框的宽度和高度表示为$w^{gt}$和$h^{gt}$,锚点的宽度和高度表示为$w$和$h$。
- 引入比例因子
ratio
。
- 根据以下公式计算辅助边界框的坐标:
- $b{l}^{g t} = x{c}^{g t} - \frac{w^{g t} ratio}{2}$,$b{r}^{g t} = x{c}^{g t} + \frac{w^{g t} ratio}{2}$
- $b{t}^{g t} = y{c}^{g t} - \frac{h^{g t} ratio}{2}$,$b{b}^{g t} = y{c}^{g t} + \frac{h^{g t} ratio}{2}$
- $b{l} = x{c} - \frac{w ratio}{2}$,$b{r} = x{c} + \frac{w ratio}{2}$
- $b{t} = y{c} - \frac{h ratio}{2}$,$b{b} = y{c} + \frac{h ratio}{2}$
- 计算交并比:
- $inter = (min(b{r}^{g t}, b{r}) - max(b{l}^{g t}, b{l})) * (min(b{b}^{g t}, b{b}) - max(b{t}^{g t}, b{t}))$
- $union = (w^{g t} h^{g t}) (ratio)^{2} + (w h) (ratio)^{2} - inter$
- $IoU^{inner} = \frac{inter}{union}$
Inner - IoU
损失的计算公式为:$L_{Inner - IoU} = 1 - IoU^{inner}$- 将
Inner - IoU
应用于现有基于IoU的边界框回归损失函数,得到:- $L{Inner - GIoU} = L{GIoU} + IoU - IoU^{inner}$
- $L{Inner - DIoU} = L{DIoU} + IoU - IoU^{inner}$
- $L{Inner - CIoU} = L{CIoU} + IoU - IoU^{inner}$
- $L{Inner - EIoU} = L{EIoU} + IoU - IoU^{inner}$
- $L{Inner - SIoU} = L{SIoU} + IoU - IoU^{inner}$
根据文章内容,在Inner - IoU
损失中,比例因子ratio
通常在 [0.5, 1.5] 范围内进行调整。
对于高IoU样本,为了加速其回归,将比例因子设置为小于1的值,使用较小的辅助边界框计算损失。例如在模拟实验中,为加速高IoU样本的回归,将比例因子ratio设置为0.8。
对于低IoU样本,为了加速其回归过程,将比例因子设置为大于1的值,使用较大的辅助边界框计算损失。例如在模拟实验中,低IoU回归样本场景中,将比例因子ratio设置为1.2。
2.2 优势
- 与IoU损失相比,当比例小于1且辅助边界框尺寸小于实际边界框时,回归的有效范围小于IoU损失,但梯度的绝对值大于从IoU损失获得的梯度,能够加速高IoU样本的收敛。
- 当比例大于1时,较大规模的辅助边界框扩大了回归的有效范围,增强了低IoU样本回归的效果。
- 通过一系列模拟和对比实验,验证了该方法在检测性能和泛化能力方面优于现有方法,对于不同像素大小的数据集都能达到较好的效果。
- 不仅适用于一般检测任务,对于目标非常小的检测任务也表现良好,证实了该方法的泛化性。
论文:https://arxiv.org/abs/2311.02877
源码:https://github.com/malagoutou/Inner-IoU
三、实现代码及YOLOv11修改步骤
模块完整介绍、个人总结、实现代码、模块改进、二次创新以及各模型添加步骤参考如下地址: