YOLO11 改进 | Focal-IoU 与 Focal-EIoU Loss 配置与源码解析
- 一、本文简介
- 二、Focal-IoU 原理详解
- 2.1 普通 IoU 与样本质量差异
- 2.2 Focal-IoU 的计算公式
- 2.3 Focal-EIoU 的计算公式
- 2.4 Focal-IoU 系列整体流程
- 三、改进思想与创新点
- 3.1 背景与动机
- 3.2 核心创新点
- 1. 使用 IoU 质量生成 focal 权重
- 2. 与基础 IoU 或 EIoU 组合
- 3. 不改变推理结构
- 3.3 与常见 IoU Loss 对比
- 3.4 在 YOLO11 中的适配方式
- 四、完整代码
- 4.1 `ultralytics/utils/loss.py` 中的默认 gamma 参数
- 4.2 `ultralytics/utils/loss.py` 中的配置分支
- 4.3 `ultralytics/utils/metrics.py` 中的 Focal-IoU 实现
- 4.4 `ultralytics/utils/metrics.py` 中的 Focal-EIoU 实现
- 五、手把手配置步骤
- Step 1:确认当前仓库已注册 Focal-IoU 系列
- Step 2:选择合适的 Focal 分支
- Step 3:检测任务训练示例
- Step 4:实例分割任务训练示例
- Step 5:命令行训练示例
- 六、YAML 配置文件
- 6.1 Baseline:默认 CIoU
- 6.2 Focal-IoU 基础版
- 6.3 Focal-EIoU 尺度增强版
- 6.4 别名写法
- 七、实验建议与常见问题
- 7.1 推荐消融顺序
- 7.2 推荐观察指标
- 7.3 不同数据集的选择建议
- 7.4 常见问题
- 7.4.1 Focal-IoU 和 Focaler-IoU 是同一个方法吗?
- 7.4.2 `focal_iou` 和 `focaliou` 有区别吗?
- 7.4.3 `focal_eiou` 和 `focaleiou` 有区别吗?
- 7.4.4 当前 gamma 值是多少?
- 7.4.5 可以在 YAML 中直接修改 gamma 吗?
- 7.4.6 YOLO11-seg 可以使用 Focal-IoU 吗?
- 八、总结
专栏系列:YOLOv11 Loss 改进实战
分类专栏推荐:YOLOv11 改进实战、YOLO Loss 改进、目标检测与实例分割
文章标签推荐:YOLO11、目标检测、实例分割、Focal-IoU、Focal-EIoU、bbox loss
改进点:Focal-IoU 样本质量聚焦式 bbox 回归损失
源码入口:ultralytics/utils/loss.py中focal_iou/focal_eioubbox loss 分支
适用任务:目标检测、实例分割中的 bbox 回归分支
支持配置:focal_iou、focaliou、focal_eiou、focaleiou
一、本文简介
本文介绍 YOLO11 中已经接入的 Focal-IoU 与 Focal-EIoU bbox 回归 Loss。该系列方法属于聚焦式 IoU 回归改进思路,核心做法是在基础 IoU 或 EIoU similarity 外,引入与 IoU 质量相关的 focal 权重,使不同质量预测框在训练中的贡献发生调整。
当前仓库中,Focal-I