YOLOv11改进策略【损失函数篇】| NWD损失函数,提高小目标检测精度

简介: YOLOv11改进策略【损失函数篇】| NWD损失函数,提高小目标检测精度

一、本文介绍

本文记录的是基于NWD的YOLOv11的损失函数改进方法研究。目前的IoU-Loss在一些情况下不能提供梯度来优化网络,例如当预测边界框P和真实边界框G没有重叠(即$|P \cap G| = 0$),或者P完全包含G或反之(即$|P \cap G| = P$或G),而这两种情况在微小物体检测中非常常见。CIoUDIoU虽然能处理上述两种情况,但它们基于IoU,对微小物体的位置偏差很敏感。而==本文的改进方法能够使模型解决这些问题,实现对小目标的精确检测==。


专栏目录:YOLOv11改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
专栏地址:YOLOv11改进专栏——以发表论文的角度,快速准确的找到有效涨点的创新点!

二、NWD设计原理

NWD损失函数设计的原理及优势如下:

2.1 NWD计算原理

  • 首先将边界框建模为二维高斯分布,对于两个二维高斯分布$mu_1 = N(m_1, \sum_1)$和$\mu_2 = N(m_2, \sum_2)$,其二阶Wasserstein距离定义为:$W_2^2(\mu_1, \mu_2) = \parallel m_1 - m_2\parallel_2^2 + Tr(\sum_1 + \sum_2 - 2(\sum_2^{\frac{1}{2}}\sum_1\sum_2^{\frac{1}{2}})^{\frac{1}{2}})$,可简化为:$W_2^2(\mu_1, \mu_2) = \parallel m_1 - m_2\parallel_2^2 + \parallel \sum_1^{\frac{1}{2}} - \sum_2^{\frac{1}{2}}\parallel_F^2$。
  • 对于从边界框A = $(c x_a, c y_a, w_a, h_a)$和B = $(c x_b, c y_b, w_b, h_b)$建模的高斯分布$N_a$和$N_b$,可进一步简化为:$W_2^2(\mathcal{N}_a, \mathcal{N}_b) = \parallel ([c x_a, c y_a, \frac{w_a}{2}, \frac{h_a}{2}]^T, [c x_b, c y_b, \frac{w_b}{2}, \frac{h_b}{2}]^T)\parallel_2^2$。
  • $W_2^2(\mathcal{N}_a, \mathcal{N}_b)$是距离度量,不能直接用作相似度量(即像IoU一样的值在0和1之间),所以使用其指数形式归一化,得到新的度量NWD:$NWD(\mathcal{N}_a, \mathcal{N}_b) = exp(-\frac{\sqrt{W_2^2(\mathcal{N}_a, \mathcal{N}_b)}}{C})$,其中C是一个与数据集密切相关的常数,在实验中经验性地设置为AI - TOD的平均绝对大小,并取得了最佳性能,且在一定范围内是稳健的。
  • NWD损失函数设计为:$\mathcal{L}_{NWD} = 1 - NWD(\mathcal{N}_p, \mathcal{N}_g)$,其中$N_p$是预测框P的高斯分布模型,$N_g$是真实边界框G的高斯分布模型。

在这里插入图片描述

2.2 NWD优势

  • 尺度不变性:与IoU相比,NWD对边界框的尺度变化不敏感,更适合测量微小物体之间的相似性。
  • 对位置偏差的平滑性:IoU对微小物体的位置偏差过于敏感,而NWD因位置偏差产生的变化更平滑,这表明在相同阈值下,NWD有可能比IoU更好地区分正/负样本。
  • 能测量非重叠或相互包含边界框的相似性:即使边界框没有重叠或重叠可忽略,NWD也能测量它们之间的分布相似性。
  • 提供梯度:根据上述介绍,NWD损失函数在$|P \cap G| = 0$和$P \cap G| = P$或G的情况下都能提供梯度。

论文:https://arxiv.org/pdf/2110.13389
源码:https://github.com/jwwangchn/NWD


三、实现代码及YOLOv11修改步骤

模块完整介绍、个人总结、实现代码、模块改进、二次创新以及各模型添加步骤参考如下地址:

https://blog.csdn.net/qq_42591591/article/details/142818515

目录
相关文章
|
10小时前
|
人工智能 计算机视觉
YOLOv11改进策略【损失函数篇】| NWD损失函数,提高小目标检测精度
YOLOv11改进策略【损失函数篇】| NWD损失函数,提高小目标检测精度
14 5
|
8月前
|
机器学习/深度学习 算法 计算机视觉
【YOLOv8改进-损失函数】SlideLoss损失函数,解决样本不平衡问题
YOLO-FaceV2是基于YOLOv5的实时人脸检测模型,采用RFE模块增强小人脸检测,NWD损失处理定位偏差,SEAM注意力模块应对遮挡,Slide Loss解决样本不平衡,提升对难样本的关注。在WiderFace数据集上超越YOLO系列。论文和代码已公开。Slide Loss通过IoU加权,优化边界样本,提高模型性能。
|
11小时前
|
机器学习/深度学习 计算机视觉
YOLOv11改进策略【损失函数篇】| WIoU v3:针对低质量样本的边界框回归损失函数
YOLOv11改进策略【损失函数篇】| WIoU v3:针对低质量样本的边界框回归损失函数
13 5
|
计算机视觉
详细解读 | 如何让你的DETR目标检测模型快速收敛(二)
详细解读 | 如何让你的DETR目标检测模型快速收敛(二)
276 0
|
机器学习/深度学习 数据可视化 计算机视觉
详细解读 | 如何让你的DETR目标检测模型快速收敛(一)
详细解读 | 如何让你的DETR目标检测模型快速收敛(一)
592 0
|
11小时前
|
计算机视觉
YOLOv11改进策略【损失函数篇】| 利用MPDIoU,加强边界框回归的准确性
YOLOv11改进策略【损失函数篇】| 利用MPDIoU,加强边界框回归的准确性
5 0
YOLOv11改进策略【损失函数篇】| 利用MPDIoU,加强边界框回归的准确性
|
9月前
|
机器学习/深度学习 计算机视觉
YOLOv8改进 | 2023 | InnerIoU、InnerSIoU、InnerWIoU、FocusIoU等损失函数
YOLOv8改进 | 2023 | InnerIoU、InnerSIoU、InnerWIoU、FocusIoU等损失函数
499 0
|
9月前
|
机器学习/深度学习 计算机视觉
YOLOv5改进 | 2023 | InnerIoU、InnerSIoU、InnerWIoU、FocusIoU等损失函数
YOLOv5改进 | 2023 | InnerIoU、InnerSIoU、InnerWIoU、FocusIoU等损失函数
306 0
|
机器学习/深度学习 算法 Go
Yolo v4:目标检测的最佳速度和精度(二)
Yolo v4:目标检测的最佳速度和精度
Yolo v4:目标检测的最佳速度和精度(二)
|
机器学习/深度学习 Go 计算机视觉
Yolo v4:目标检测的最佳速度和精度(一)
Yolo v4:目标检测的最佳速度和精度
Yolo v4:目标检测的最佳速度和精度(一)

相关实验场景

更多