损失函数
分类损失(Class)、定位损失(预测框与GT框之间的误差)、置信度损失(objectness)
分类与置信度损失使用二元交叉熵损失函数计算;后者用CIOU损失计算Bounding Box回归的损失
类别预测(Class)
特点:输出标签不一定互斥,使得SF输出得分可能大于1
使用多个独立的逻辑分类器来独立地预测各个类别标签可能的概率
使用二元交叉熵损失来进行训练,这也规避了SF的引入带来的计算复杂度提升
定位
使用基于 IoU计算的度量损失取代回归损失
边界框回归时视觉任务的基本组件
IoU 损失
问题: 完全不重叠 时的梯度 为0
GIoU
DIoU(Distance IoU):
定义:DIoU在IoU的基础上,引入了预测框和真实框中心点之间的欧几里得距离。通过最小化中心点距离,DIoU可以更好地优化预测框的位置。
计算:DIoU损失包括IoU损失和中心点距离损失。
CIoU(Complete IoU):
- 定义:CIoU在DIoU的基础上,进一步引入了长宽比的惩罚项,以同时优化预测框的位置和形状。
- 计算:
- CIoU损失 = IoU损失 + 中心点距离损失 + 长宽比损失。
- 中心点距离损失:计算预测框和真实框中心点的距离。
- 长宽比损失:考虑预测框和真实框的长宽比差异,通过一个基于相对长宽比的函数来计算。
CIoU损失的公式
CIoU损失的计算公式如下: CIoU = 1 − IoU + ρ 2 ( b , b g t ) c 2 + α v \text{CIoU} = 1 - \text{IoU} + \frac{\rho^2(\mathbf{b}, \mathbf{b}^{gt})}{c^2} + \alpha v CIoU=1−IoU+