Bootstrap

【YOLOv8 代码解读】所有任务Loss损失代码梳理

YOLOv8官方将各类任务(目标检测,关键点检测,实例分割,旋转目标框检测,图像分类)的损失函数封装了在ultralytics\utils\loss.py中,本文主要梳理一下各类任务Loss的大致组成,不涉及到具体的原理。

一、目标检测任务

1.1 class v8DetectionLoss

YOLOv8目标检测任务主要由分类损失,和矩形框回归损失(iou loss,DFL loss)组成。
在这里插入图片描述
在这里插入图片描述

1.2 分类损失

YOLOv8用的多分类损失是N个目标的二元交叉熵损失,而不是一般我们认为的多目标的softmax交叉熵损失。
这里的BECWithLogitsLoss=BCELoss(二元交叉熵)+Sigmoid(激活函数)

在这里插入图片描述
这里的

;