一、背景
- 现有问题:大多数现有工作假设训练数据中的样本都是高质量的,专注于增强边界框回归损失的拟合能力。然而,在低质量样本上盲目增强边界框回归会损害定位性能。
- 解决思路:本文使用
Wise-IoU
,其动态非单调FM使用异常值程度而非IoU来评估锚框的质量,并提供一种有效的梯度增益分配策略。减少高质量锚框的竞争力,同时降低低质量样本产生的有害梯度,使WIoU
能够专注于普通质量的锚框,从而提高检测器的整体性能。
专栏目录:YOLOv11改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
专栏地址:YOLOv11改进专栏——以发表论文的角度,快速准确的找到有效涨点的创新点!
二、原理
Wise-IoU
是一种基于IoU的损失函数,旨在解决目标检测中边界框回归损失函数在处理低质量训练数据时的问题。
2.1 原理
- 动态非单调FM原理 — WIoU v3
- 定义异常值程度$$\beta=\frac{L_{IoU}}{\overline{L_{IoU}}}$$其中$L{IoU}$是锚框与目标框的IoU损失,$\overline{L{IoU}}$是$L_{IoU}$的指数移动平均值。
- 根据$\beta$构建非单调聚焦系数$$r=\frac{\beta}{\delta\alpha^{\beta-\delta}}$$(其中$\delta$使$r = 1$当$\beta=\delta$),并应用于
WIoU v1
得到WIoU v3
,即$\mathcal{L}{WIoU v3}=r\mathcal{L}{WIoU v1}$。当锚框的异常值程度满足$\beta = C$($C$为常数)时,锚框将获得最高梯度增益。由于$\overline{L_{IoU}}$是动态的,锚框的质量划分标准也是动态的,使WIoU v3
能够在每个时刻做出最符合当前情况的梯度增益分配策略。
- WIoU v1原理
- 通过构造距离注意力机制,定义$$\mathcal{L}_{WIoU v1}=\mathcal{R}_{WIoU}\mathcal{L}_{IoU}$$其中$\mathcal{R}{WIoU}=exp(\frac{(x - x{gt})^2+(y - y{gt})^2}{(W{g}^2 + H{g}^2)^*})$($W{g}$,$H{g}$是最小包围框的大小,上标$$表示将其从计算图中分离以*防止产生阻碍收敛的梯度)。当锚框与目标框重合较好时,$\mathcal{R}{WIoU}\in[1,e)$会显著放大普通质量锚框的$L{IoU}$,而高质量锚框的$L{IoU}\in[0,1]$会显著降低$\mathcal{R}_{WIoU}$,使其聚焦于中心点之间的距离。
- WIoU v2原理
- 学习Focal Loss的思想,为$\mathcal{L}{WIoU v1}$构造单调聚焦系数$\mathcal{L}{IoU}^{\gamma*}$,得到:$$\mathcal{L}_{WIoU v2}=\mathcal{L}_{IoU}^{\gamma*}\mathcal{L}_{WIoU v1}$$$$\gamma>0$$由于聚焦系数的加入,梯度也发生变化:$$\frac{\partial\mathcal{L}_{WIoU v2}}{\partial\mathcal{L}_{IoU}}=\mathcal{L}_{IoU}^{\gamma*}\frac{\partial\mathcal{L}_{WIoU v1}}{\partial\mathcal{L}_{IoU}}$$为解决训练后期收敛速度慢的问题,引入$L{IoU}$的均值作为归一化因子,即:$$\mathcal{L}_{WIoU v2}=(\frac{\mathcal{L}_{IoU}^*}{\overline{\mathcal{L}}_{IoU}})^{\gamma}\mathcal{L}_{WIoU v1}$$其中$\overline{L{IoU}}$是带有动量$m$的指数移动平均。动态更新归一化因子使梯度增益$r = (\frac{L{IoU}}{\overline{L{IoU}}})^{\gamma}$总体保持在较高水平。
2.2 优势
- 整体性能提升:动态非单调FM使模型具有更好的泛化性能。
WIoU v1
通过注意力机制对惩罚项的调整,与动态非单调FM
相互作用,使模型性能显著提高。 - 有效处理低质量样本:
动态非单调FM
能够减少高质量锚框的竞争力,降低低质量样本产生的有害梯度,从而屏蔽低质量样本的影响。 - 更好的梯度分配策略:通过动态调整锚框的质量划分标准,
WIoU v3
能够在训练过程中做出最符合当前情况的梯度增益分配策略,使模型在训练过程中精度提升更快。
论文链接:https://arxiv.org/pdf/2301.10051
源码链接:https://github.com/Instinct323/wiou
三、实现代码及YOLOv11修改步骤
模块完整介绍、个人总结、实现代码、模块改进、二次创新以及各模型添加步骤参考如下地址: