赞
踩
出自:美团提出的YOLOV6之损失计算 - 知乎 (zhihu.com)
目标检测包括两个自任务:分类和定位,对应于两个损失函数:classification loss和box regression loss。对于每个子任务,近年来提出了各种损失函数。在本节中,将介绍这些损失函数,并描述如何为YOLOv6选择最佳损失函数
目标检测框架中,损失函数由分类损失、框回归损失和可选对象损失组成,其可公式如下:
其中L_cls、L_reg和L_obj分别分类损失、回归损失和对象损失。λ和µ是超参数。
改进分类器的性能是优化检测器的关键部分。Focal Loss修改了传统的交叉熵损失,以解决正负样本或难易样本之间的类不平衡问题。为了解决训练和推理之间质量估计和分类的不一致使用,Quality Focal Loss(QFL)进一步扩展了Focal Loss,将分类分数和本地化质量联合表示用于分类监督。而VariFocal Loss(VFL)源于Focal Loss,但它不对称地处理正样本和负样本。通过考虑不同重要程度的正样本和负样本,它平衡了来自两个样本的学习信号。Poly Loss将常用的分类损失分解为一系列加权多项式基。它在不同的任务和数据集上调整多项式系数,通过实验证明其优于交叉熵损失和Focal Loss。
在YOLOv6-N/S/M上实验了Focal Los、Polyloss、QFL和VFL。如表8所示,与Focal Loss相比,VFL对YOLOv6-N/S/M分别带来0.2%/0.3%/0.1%的AP改善。所以,本文选择 VFL作为分类损失函数。
框回归损失为精确定位边界盒提供了重要的学习信号。L1 Loss是早期工作中的原始框回归损失。逐渐地,各种精心设计的框回归损失如IoU系列Loss和Probability Loss如雨后春笋般涌现。
IoU-series Loss: IoU Loss将预测框的四个边界作为一个整体单位进行回归。由于其与评价指标的一致性,已被证明是有效的。IoU有许多变体,如GIoU、DIoU、CIoU、α-IoU和SIoU等,形成相关损失函数。对GIoU、CIoU和SIoU进行了实验。 SIoU应用于YOLOv6-N和YOLOV 6-T,而其他的使用GIoU。
**Probability Loss:Dostronition Focal Loss(DFL)将框位置的基本连续分布简化为离散化概率分布。**它考虑了数据中的模糊性和不确定性,而不引入任何其他先验,这有助于提高框定位精度,特别是当GT框的边界模糊时。基于DFL,DFLv2开发了一个轻量级子网络,以利用分布统计和实际定位质量之间的密切相关性,进一步提高检测性能。然而,DFL通常输出比一般盒回归多17倍的回归值,导致大量开销。额外的计算成本显著阻碍了小模型的训练。而DFLv2由于额外的子网络而进一步增加了计算负担。在本文的实验中,DFLv2在我们的模型上带来了与DFL类似的性能增益。因此,我们 仅在YOLOv6-M/L中采用DFL。
对于概率损失,如表10所示,对于YOLOv6-N/S/M,引入DFL可分别获得0.2%/0.1%/0.2%的性能增益。然而,对于小模型,推理速度受到很大影响。因此, DFL仅在YOLOv6-M/L中引入。
FCOS中首次提出了Object Loss,以降低低质量边界框的分数,以便在后处理中过滤掉它们。在YOLOX中也使用了它来加速收敛并提高网络精度。作为一个像FCOS和YOLOX这样的anchor-free框架,本文尝试将Object Loss引入YOLOv6。不幸的是,它没有带来很多积极的效果。
如表11所示,还对YOLOv6进行了Object Loss实验。从表11可以看出,Object Loss对YOLOv6-N/S/M网络有负面影响,其中最大减少量为1.1%。负增益可能来自TAL中Object分支和其他两个分支之间的冲突。具体地说,在训练阶段,预测框和GT之间的IoU以及分类分数被用于共同构建度量作为分配标签的标准。引入的Object分支将要对齐的任务的数量从两个扩展到三个,这显然增加了难度。基于实验结果和该分析,然后在 YOLOv6中去除Object Loss。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。