04-损失函数精讲:坐标损失、置信度损失、类别损失原理

损失函数精讲:坐标损失、置信度损失、类别损失原理

作者:黒漂技术佬 | 系列:YOLO目标检测算法精讲


前言:损失函数——模型的"成绩单"

损失函数(Loss Function)是深度学习中最重要的概念之一。它定义了模型"错得有多离谱"——预测值和真实值之间的差距。训练的过程,就是不断调整网络参数,让这个差距越来越小的过程。

对于目标检测来说,损失函数比图像分类复杂得多。分类只需要看"猜对类别了吗",检测则需要同时关心三件事:框的位置对不对、这个位置真的有东西吗、有的话是什么类别

YOLO 的总损失由三项组成:

总损失 = 坐标损失 + 置信度损失 + 类别损失

每一项都在训练过程中扮演特定角色,下面逐一拆解。

一、坐标损失(Bounding Box Loss):框得准不准

坐标损失关心的是:预测的边界框和真实的边界框在位置上差多少

早期的方法直接回归 x、y、w、h 四个值的 L1 或 L2 损失(差的绝对值或差的平方)。但这种方法有个致命问题:它不看框的重叠程度。两个框可能像素坐标差很多但 IoU 很大(如图像中的重叠框),反过来也可能坐标接近但 IoU 很小(如一大一小两个框)。

这就是为什么业界转向了基于 IoU 的损失函数。IoU(Intersection over Union,交并比)的公式很简单:

IoU = 预测框与真实框的交集面积 / 预测框与真实框的并集面积

IoU 的值在 0 到 1 之间,1 表示完美重合,0 表示毫无交集。