YOLOv8-训练流程-损失函数

YOLOv8的训练中,损失函数包括类别分类损失(采用BCEWithLogitsLoss)和边框回归损失(结合DFLloss和CiouLoss)。类别损失基于交叉熵,而边框回归通过DFL的离散化概率分布和CiouLoss实现更精确的定位。DFLloss利用softmax将预测框转化为16类,通过交叉熵优化。CiouLoss进一步细化边框位置。
该文章已生成可运行项目,

目录

一、概述

二、损失函数

(1) 类别分类损失

(2) 边框回归损失

  DFL loss:

    Ciou Loss:


代码下载链接:https://download.youkuaiyun.com/download/weixin_40723264/88011324

一、概述

(1)

    通过YOLOv8-训练流程-正负样本分配的介绍,我们可以知道,经过预处理与筛选的过程得到最终的训练数据:

    a. 网络输出值:pred_scores[bx8400xcls_num]、pred_bboxes[bx8400x4]

    b. 训练标签值:

        target_scores[bx8400xcls_num](one-hot类型),在计算损失时与预测结果pred_scores[bx8400xcls_num],计算交叉熵损失,该损失是对每个类别计算BCE Loss,因为类别预测采用的sigmoid分类器。

        target_bboxes[bx8400x4](target_bboxes需要缩放到特征图尺度,即除以相应的stride),在计算损失时,分别与预测的pred_bboxes计算Ciou Loss, 同时与pred_regs(预测的anchors中心点到各边的距离)计算回归DFL Loss。

    c. 训练mask值:fg_mask [bx8400],对8400个anchor进行正负样本标记,计算损失过程中通过fg_mask筛选正负样本。

二、损失函数

(1) 类别分类损失

    在yolov8中,类别损失最终采用的是交叉熵损失,该方法是我们非常熟知的,不再赘述。

    代码如下:


                
本文章已经生成可运行项目
评论 18
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值