05 损失函数优化:Focal Loss + CIoU 组合拳,让难样本无处遁形还记得上周三凌晨两点,我在办公室盯着训练曲线发呆的场景吗?那个智慧交通项目,行人检测的漏检率已经降到了4%,但误检率却卡在8%下不来。更糟的是,模型对遮挡严重、光照极暗的“地狱级”样本几乎束手无策——明明肉眼能看见的骑电动车的人,模型就是死活不认。我试过加大数据增强、调整锚框、甚至把backbone换成更大的版本,结果误检率降了1%,推理速度却慢了30%。这不是我要的。直到我把注意力转向损失函数——那个我过去总以为“用默认的就行”的地方。痛点拆解:你的损失函数正在“偷懒”很多人觉得损失函数就是算算预测框和真实框的差距,然后反向传播。但真相是:默认的损失函数对“简单样本”过度关注,导致模型在难样本上“躺平”。我给你看个反例。这是很多YOLOv11新手(包括半年前的我)会写的损失函数配置:# 反例:只用了CIoU,没用Focal LossclassYOLOv11Loss:
【YOLOv11模型改进系列】05 损失函数优化:Focal Loss + CIoU 组合拳,让难样本无处遁形
05 损失函数优化:Focal Loss + CIoU 组合拳,让难样本无处遁形还记得上周三凌晨两点,我在办公室盯着训练曲线发呆的场景吗?那个智慧交通项目,行人检测的漏检率已经降到了4%,但误检率却卡在8%下不来。更糟的是,模型对遮挡严重、光照极暗的“地狱级”样本几乎束手无策——明明肉眼能看见的骑电动车的人,模型就是死活不认。我试过加大数据增强、调整锚框、甚至把backbone换成更大的版本,结果误检率降了1%,推理速度却慢了30%。这不是我要的。直到我把注意力转向损失函数——那个我过去总以为“用默认的就行”的地方。痛点拆解:你的损失函数正在“偷懒”很多人觉得损失函数就是算算预测框和真实框的差距,然后反向传播。但真相是:默认的损失函数对“简单样本”过度关注,导致模型在难样本上“躺平”。我给你看个反例。这是很多YOLOv11新手(包括半年前的我)会写的损失函数配置:# 反例:只用了CIoU,没用Focal LossclassYOLOv11Loss: