公司动态

129、YOLOv8改进实战:Quality Focal Loss替代CIoU实现高质量正样本加权训练

📅 2026/8/2 10:02:04
129、YOLOv8改进实战:Quality Focal Loss替代CIoU实现高质量正样本加权训练
129、YOLOv8改进实战:Quality Focal Loss替代CIoU实现高质量正样本加权训练一个让我头疼了两周的收敛问题去年年底接了个工业质检项目,检测手机中框上的微米级划痕。YOLOv8s跑起来倒是快,但mAP@0.5:0.95死活卡在78.3%上不去。调了学习率、换了优化器、甚至把backbone换成RepViT,结果纹丝不动。那段时间我盯着TensorBoard上的loss曲线,感觉它就像在嘲笑我——分类loss降得挺欢,但定位loss的震荡幅度大得离谱。后来仔细分析了预测结果,发现模型对中等质量的anchor(IoU在0.5~0.7之间的)处理得特别差。要么漏检,要么框偏得厉害。CIoU虽然考虑了宽高比,但它对正样本的加权方式是“一刀切”的——只要是正样本,不管质量高低,回归梯度都一样大。这导致模型把大量精力浪费在那些本来就不太准的anchor上,反而忽略了高质量的正样本。为什么CIoU在YOLOv8里不够用YOLOv8的默认损失函数是CIoU Loss + DFL(Distribution Focal Loss)。CIoU的公式长这样:CIoU = IoU - (ρ²(b, bgt) / c²) - αv其中v是宽高比一致性,α是平衡系数。看起来挺全面对吧?但实际训练中你会发现两个问题:第一,CIoU对正样本的权重是隐式的。它通过IoU值本身来影响梯度大小,但IoU高的样本和IoU低的样本在