当前位置: 首页> 游戏> 手游 > 久久建筑网免费下载_静态网页模板免费下载的网站_做网络营销推广_今日要闻10条

久久建筑网免费下载_静态网页模板免费下载的网站_做网络营销推广_今日要闻10条

时间:2025/7/13 17:41:35来源:https://blog.csdn.net/qq_42591591/article/details/142330433 浏览次数:0次
久久建筑网免费下载_静态网页模板免费下载的网站_做网络营销推广_今日要闻10条

一、本文介绍

本文记录的是改进YOLOv9的损失函数,将其替换成Focaler-IoU。现有研究通过利用边界框之间的几何关系来提高回归性能,但忽略了困难样本和简单样本分布对边界框回归的影响。不同检测任务中困难样本和简单样本的分布不同,对于简单样本占主导的检测任务,关注简单样本的边界框回归有助于提高检测性能;对于困难样本比例较高的检测任务,需要关注困难样本的边界框回归。Focaler-IoU能够通过关注不同的回归样本,提高检测器在不同检测任务中的性能。

实现的Focaler-IoU包括:Focaler-DIoUFocaler-GIoUFocaler-CIoUFocaler-MDPIoU

文章目录

  • 一、本文介绍
  • 二、Focaler-IoU设计原理
    • 2.1 原理
    • 2.2 优势
  • 三、Focaler-IoU的实现代码
  • 四、添加步骤
    • 4.1 utils\metrics.py
      • 4.1.2 Focaler-DIoU
      • 4.1.3 Focaler-GIoU
      • 4.1.4 Focaler-CIoU
      • 4.1.5 Focaler-MDPIoU


二、Focaler-IoU设计原理

Focaler-IoU: More Focused Intersection over Union Loss

Focaler-IoU是一种改进的交并比(IoU)损失函数,其设计的原理和优势如下:

2.1 原理

  • 使用线性区间映射的方法重构IoU损失,以实现对不同回归样本的关注。
  • 公式为: I o U f o c a l e r = { 0 , I o U < d I o U − d u − d , d ≪ I o U ≪ u 1 , I o U > u IoU^{focaler} = \begin{cases}0, & IoU<d \\ \frac{IoU - d}{u - d}, & d \ll IoU \ll u \\ 1, & IoU>u\end{cases} IoUfocaler= 0,udIoUd,1,IoU<ddIoUuIoU>u,其中 I o U f o c a l e r IoU^{focaler} IoUfocaler是重构的Focaler - IoU,IoU是原始IoU值, [ d , u ] ∈ [ 0 , 1 ] [d, u] \in [0, 1] [d,u][0,1]。通过调整d和u的值,可以使 I o U f o c a l e r IoU^{focaler} IoUfocaler关注不同的回归样本。
  • 其损失定义为: L F o c a l e r − I o U = 1 − I o U f o c a l e r L_{Focaler - IoU} = 1 - IoU^{focaler} LFocalerIoU=1IoUfocaler
  • 将Focaler - IoU损失应用于现有的基于IoU的边界框回归损失函数,得到 L F o c a l e r − G I o U L_{Focaler - GIoU} LFocalerGIoU L F o c a l e r − D I o U L_{Focaler - DIoU} LFocalerDIoU L F o c a l e r − C I o U L_{Focaler - CIoU} LFocalerCIoU L F o c a l e r − E I o U L_{Focaler - EIoU} LFocalerEIoU L F o c a l e r − S I o U L_{Focaler - SIoU} LFocalerSIoU,具体公式如下:
    • L F o c a l e r − G I o U = L G I o U + I o U − I o U F o c a l e r L_{Focaler - GIoU} = L_{GIoU} + IoU - IoU^{Focaler} LFocalerGIoU=LGIoU+IoUIoUFocaler
    • L F o c a l e r − D I o U = L D I O U + I o U − I o U F o c a l e r L_{Focaler - DIoU} = L_{DIOU} + IoU - IoU^{Focaler} LFocalerDIoU=LDIOU+IoUIoUFocaler
    • L F o c a l e r − C I o U = L C I o U + I o U − I o U F o c a l e r L_{Focaler - CIoU} = L_{CIoU} + IoU - IoU^{Focaler} LFocalerCIoU=LCIoU+IoUIoUFocaler
    • L F o c a l e r − E I o U = L E I O U + I o U − I o U F o c a l e r L_{Focaler - EIoU} = L_{EIOU} + IoU - IoU^{Focaler} LFocalerEIoU=LEIOU+IoUIoUFocaler
    • L F o c a l e r − S I o U = L S I o U + I o U − I o U F o c a l e r L_{Focaler - SIoU} = L_{SIoU} + IoU - IoU^{Focaler} LFocalerSIoU=LSIoU+IoUIoUFocaler

2.2 优势

  • 能够通过关注不同的回归样本,提高检测器在不同检测任务中的性能。
  • 论文中通过对比实验证明,使用Focaler - IoU可以有效提高检测性能,弥补现有方法的不足。例如在PASCAL VOC数据集上的实验中,YOLOv8 + Focaler - SloU相比于YOLOv8 + SIoU,AP50提高了0.3,mAP50 : 95提高了0.3;在AI - TOD数据集上的实验中,YOLOv5 + Focaler - SloU相比于YOLOv5 + SIoU,AP50提高了1.9,mAP50 : 95提高了0.5。

论文:https://arxiv.org/pdf/2401.10525
源码:https://github.com/malagoutou/Focaler-IoU


三、Focaler-IoU的实现代码

论文链接中的Focaler-IoU的实现代码如下:

iou = ((iou - d) / (u - d)).clamp(0, 1)  #default d=0.00,u=0.95

四、添加步骤

4.1 utils\metrics.py

此处需要查看的文件是utils\metrics.py

metrics.py中定义了模型的损失函数和计算方法,我们想要加入新的损失函数就只需要将代码放到这个文件内即可。

Focaler-IoU添加后如下:

在这里插入图片描述

4.1.2 Focaler-DIoU

iou = bbox_iou(pred_bboxes_pos, target_bboxes_pos, xywh=False, DIoU=True)d = 0.00
u = 0.95
if torch.all(iou > u):iou = 1
elif torch.all(iou < d):iou = 0
else:iou = ((iou - d) / (u - d)).clamp(0, 1)loss_iou = 1.0 - iou

4.1.3 Focaler-GIoU


iou = bbox_iou(pred_bboxes_pos, target_bboxes_pos, xywh=False, GIoU=True)d = 0.00
u = 0.95
if torch.all(iou > u):iou = 1
elif torch.all(iou < d):iou = 0
else:iou = ((iou - d) / (u - d)).clamp(0, 1)loss_iou = 1.0 - iou

4.1.4 Focaler-CIoU


iou = bbox_iou(pred_bboxes_pos, target_bboxes_pos, xywh=False, CIoU=True)d = 0.00
u = 0.95
if torch.all(iou > u):iou = 1
elif torch.all(iou < d):iou = 0
else:iou = ((iou - d) / (u - d)).clamp(0, 1)loss_iou = 1.0 - iou

4.1.5 Focaler-MDPIoU


iou = bbox_iou(pred_bboxes_pos, target_bboxes_pos, xywh=False, MDPIoU=True)d = 0.00
u = 0.95
if torch.all(iou > u):iou = 1
elif torch.all(iou < d):iou = 0
else:iou = ((iou - d) / (u - d)).clamp(0, 1)loss_iou = 1.0 - iou
关键字:久久建筑网免费下载_静态网页模板免费下载的网站_做网络营销推广_今日要闻10条

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: