dfl_loss全称是Distribution Focal Loss,中文名称为“分布式焦点损失”。 它辅助box_loss,提供额外的信息,通过对边界框位置的概率分布进行优化,进一步提高模型对边界框位置的细化和准确度。 如上图所示,AI模型成功预测出了①的位置。但是红、蓝、绿3个框中的①,好像哪个都没错。因此dfl_loss提供了一个可信度,表明...
dfl_loss是防御性损失,用于提高模型的泛化能力。 从输出结果来看,经过两个训练周期后,模型的边界框损失、分类损失和防御性损失都有所下降,这表明模型在训练过程中学习了如何更好地预测边界框和分类。同时,模型的 mAP50 和 mAP50-95 指标也有所提高,这表明模型的整体性能有所提升。
target_bboxes[bx8400x4](target_bboxes需要缩放到特征图尺度,即除以相应的stride),在计算损失时,分别与预测的pred_bboxes计算CiouLoss, 同时与pred_regs(预测的anchors中心点到各边的距离)计算回归DFL Loss。 c. 训练mask值:fg_mask [bx8400],对8400个anchor进行正负样本标记,计算损失过程中通过fg_mask筛选正...
ET-head,一种替代解耦 head loss 的方法。 VFL = varifocal loss, DFL = distribution focal loss 消融研究 架构 优点 在TensorRT上部署的能力 性能良好 Apache-2.0开放许可证 缺点 非标准框架(PADDLE不是正经框架😉) 训练需要大量的显卡(PP-YOLO: 8x V100 GPU) 上篇结束,明天我们发布下篇,包括YOLOR,...
box_loss负责预测边界框的精确位置,cls_loss用于分类准确性,而dfl_loss通常关联于模型预测边界框的分布。所有这些损失函数随着训练的进行都呈现出下降趋势,这表明模型在学习过程中不断提高了对目标检测任务的准确性。特别是,在训练的初期,损失迅速减少,这表明模型快速捕捉到了数据的关键特征。随着训练的深入,损失下降...
yolov8中使用了DFL(Distribution Focal Loss)。在解耦检测头的设计上也有一点小细节。 def__init__(self, nc=80, ch=()):# detection layersuper().__init__()self.nc = nc# number of classesself.nl =len(ch)# number of detection layersself.reg_max =16# DFL channels (ch[0] // 16 to sc...
DFL的实现方式其实就是一个卷积:https://github.com/ultralytics/ultralytics/blob/cc3c774bde86ffce694d202b7383da6cc1721c1b/ultralytics/nn/modules.py#L67 classDFL(nn.Module):# Integral module of Distribution Focal Loss (DFL) proposed in Generalized Focal Loss https://ieeexplore.ieee.org/docu...
损失函数:YOLOv8使用VFL Loss作为分类损失,使用DFL Loss+CIOU Loss作为分类损失;样本匹配:YOLOv8抛弃...
Loss:1) YOLOv8抛弃了以往的IOU匹配或者单边比例的分配方式,而是使用了Task-Aligned Assigner正负样本匹配方式。2)并引入了Distribution Focal Loss(DFL) Train:训练的数据增强部分引入了 YOLOX 中的最后 10 epoch 关闭 Mosiac 增强的操作,可以有效地提升精度 ...