如何理解focal loss/GIOU(yolo改进损失函数)

简介: 如何理解focal loss/GIOU(yolo改进损失函数)

Focal Loss的公式如下:

Focal Loss = -α(1 - p)^γ * log§

其中,α是正样本的调节因子,γ是控制难易样本权重分配的参数,p是模型预测的概率值。

根据公式,可以看出当样本属于困难样本时,(1 - p) 的值较大,因此会增大损失的权重。而对于易分类样本,(1 - p) 的值较小,从而减小损失的权重。

举例来说

如果我们设置γ=2,表示加大难以区分的样本对损失的贡献。假设目标类别为1(困难样本)和类别2(易分类样本),并假设它们的预测概率分别为0.1和0.9。此时,Focal Loss的计算如下:


对于类别1(困难样本):

Focal Loss = -0.25 * (1 - 0.1)^2 * log(0.1) ≈ 0.798


对于类别2(易分类样本):

Focal Loss = -0.25 * (1 - 0.9)^2 * log(0.9) ≈ -0.097


从计算结果可以看出,对于困难样本(类别1),Focal Loss的值较大;而对于易分类样本(类别2),Focal Loss的值较小。这意味着模型会更加关注困难样本的学习,从而提高对难以识别的目标的分类能力。


因此,Focal Loss并不是表示难分类样本对损失函数的贡献较大,而是通过调节因子和参数来平衡难易样本对损失的影响,从而提高模型在类别不平衡和难易样本上的性能。


GIOU

GIOU(Generalized Intersection over Union)损失和IOU(Intersection over Union)损失是用于目标检测中的两种常见的损失函数。它们在计算目标框之间的重叠程度时有所不同。

IOU Loss是通过计算两个目标框的交集面积与并集面积之比来衡量它们的重叠程度,公式如下:


IOU Loss = 1 - IOU


其中,IOU表示交并比,计算公式为:


IOU = Intersection / Union


GIOU Loss是在IOU Loss的基础上进行了改进,解决了IOU Loss在处理高度不一致的目标框时的缺陷。GIOU Loss考虑了目标框的外接矩形(bounding box)以及相对于外接矩形的误差。


GIOU Loss的公式如下:


GIOU Loss = 1 - GIOU


其中,GIOU表示广义交并比,计算公式为:


GIOU = IOU - C(A, B) / Union


C(A, B)表示目标框A和B的外接矩形的对角线的平方差。


举例说明:


假设我们有两个目标框A和B,它们的坐标分别为A(x1=10, y1=10, x2=60, y2=60)和B(x1=50, y1=50, x2=100, y2=100)。首先,我们计算它们的IOU。


A和B的交集面积为 (x1=50, y1=50, x2=60, y2=60),为100。

A和B的并集面积为 (x1=10, y1=10, x2=100, y2=100),为8100。

计算IOU为 100 / 8100 ≈ 0.0123。


接下来,我们计算GIOU。


目标框A和B的外接矩形对角线的平方差为 (60-10)^2 + (60-10)^2 + (100-50)^2 + (100-50)^2 = 6000

计算GIOU为 IOU - C(A, B) / Union = 0.0123 - 6000 / 8000 = -0.745


因此,IOU Loss为 1 - 0.0123 ≈ 0.9877,而GIOU Loss为 1 - (-0.745) ≈ 1.745。可以看出,GIOU Loss考虑了目标框的外接矩形并给出了更准确的重叠程度衡量,相对于IOU Loss更具有鲁棒性。

ac1aa36c9338f9f5fb2e42cf49c6cd3a_3d29b18525ed4574bf84ef9a5466d850.png

相关文章
|
机器学习/深度学习 计算机视觉
YOLOv5改进 | EIoU、SIoU、WIoU、DIoU、FocusIoU等二十余种损失函数
YOLOv5改进 | EIoU、SIoU、WIoU、DIoU、FocusIoU等二十余种损失函数
3407 0
|
机器学习/深度学习 计算机视觉
【YOLOv8改进】CoordAttention: 用于移动端的高效坐标注意力机制 (论文笔记+引入代码)
该专栏聚焦YOLO目标检测的创新改进与实战,介绍了一种新的移动网络注意力机制——坐标注意力。它将位置信息融入通道注意力,通过1D特征编码处理,捕获长距离依赖并保持位置精度。生成的注意力图能增强目标表示,适用于MobileNetV2、MobileNeXt和EfficientNet等网络,提高性能,且几乎不增加计算成本。在ImageNet分类和下游任务(目标检测、语义分割)中表现出色。YOLOv8中引入了CoordAtt模块,实现位置敏感的注意力。更多详情及配置见相关链接。
|
机器学习/深度学习 计算机视觉
YOLOv8改进 | 损失函数篇 | SlideLoss、FocalLoss分类损失函数助力细节涨点(全网最全)
YOLOv8改进 | 损失函数篇 | SlideLoss、FocalLoss分类损失函数助力细节涨点(全网最全)
1940 0
|
10月前
|
机器学习/深度学习 编解码 计算机视觉
YOLOv11改进 - C3k2融合 | C3k2融合 IIA信息整合注意力(Information Integration Attention )平衡精度与计算成本 | TGRS2025
本文提出信息整合注意力(IIA)机制,融合通道拼接、双方向池化与轻量1D卷积,精准捕捉遥感图像空间关系,抑制噪声,平衡精度与效率。集成于YOLOv11后显著提升分割性能。
YOLOv11改进 - C3k2融合 | C3k2融合 IIA信息整合注意力(Information Integration Attention )平衡精度与计算成本 | TGRS2025
|
机器学习/深度学习 数据可视化 算法
YOLOv8改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
YOLOv8改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
2058 6
YOLOv8改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
|
机器学习/深度学习
YOLOv8改进 | 损失函数篇 | 更加聚焦的边界框损失Focaler-IoU、InnerFocalerIoU(二次创新)
YOLOv8改进 | 损失函数篇 | 更加聚焦的边界框损失Focaler-IoU、InnerFocalerIoU(二次创新)
1921 0
|
人工智能
YOLOv11改进策略【损失函数篇】| 2024 引进Focaler-IoU损失函数 加强边界框回归 (Focaler-DIoU、Focaler-GIoU、Focaler-CIoU)
YOLOv11改进策略【损失函数篇】| 2024 引进Focaler-IoU损失函数 加强边界框回归 (Focaler-DIoU、Focaler-GIoU、Focaler-CIoU)
2859 4
|
数据挖掘 计算机视觉
YOLOv5改进 | 损失篇 | VarifocalLoss密集检测专用损失函数 (VFLoss,论文一比一复现)
YOLOv5改进 | 损失篇 | VarifocalLoss密集检测专用损失函数 (VFLoss,论文一比一复现)
1569 1
YOLOv11改进策略【损失函数篇】| 通过辅助边界框计算IoU提升检测效果(Inner_GIoU、Inner_DIoU、Inner_CIoU、Inner_EIoU、Inner_SIoU)
YOLOv11改进策略【损失函数篇】| 通过辅助边界框计算IoU提升检测效果(Inner_GIoU、Inner_DIoU、Inner_CIoU、Inner_EIoU、Inner_SIoU)
1820 4
YOLOv11改进策略【损失函数篇】| 通过辅助边界框计算IoU提升检测效果(Inner_GIoU、Inner_DIoU、Inner_CIoU、Inner_EIoU、Inner_SIoU)
|
机器学习/深度学习 计算机视觉
YOLOv11改进策略【Head】| 引入RT-DETR中的RTDETRDecoder,替换检测头
YOLOv11改进策略【Head】| 引入RT-DETR中的RTDETRDecoder,替换检测头
1362 11
YOLOv11改进策略【Head】| 引入RT-DETR中的RTDETRDecoder,替换检测头

热门文章

最新文章