YOLO11 改进系列 | Focaler-IoU 系列 Loss 全解析:focaler_iou、focaler_ciou、focaler_diou、focaler_eiou、focaler_s
YOLO11 改进 | Focaler-IoU 系列 Loss 配置与源码解析
- 一、本文简介
- 二、Focaler-IoU 原理详解
- 2.1 普通 IoU 的样本质量问题
- 2.2 Focaler 区间映射公式
- 2.3 Focaler-IoU 的整体计算流程
- 三、改进思想与创新点
- 3.1 背景与动机
- 3.2 核心创新点
- 1. IoU 质量区间重映射
- 2. 可与多种几何 IoU 组合
- 3. 不改变推理结构
- 3.3 与常见 IoU loss 对比
- 3.4 在 YOLO11 中的适配方式
- 四、完整代码
- 4.1 `ultralytics/utils/loss.py` 中的默认区间参数
- 4.2 `ultralytics/utils/loss.py` 中的配置分支
- 4.3 `ultralytics/utils/metrics.py` 中的 Focaler 区间映射
- 4.4 `ultralytics/utils/metrics.py` 中的几何组合分支
- 五、手把手配置步骤
- Step 1:确认当前仓库已注册 Focaler-IoU 系列
- Step 2:选择合适的 Focaler 分支
- Step 3:检测任务训练示例
- Step 4:实例分割任务训练示例
- Step 5:命令行训练示例
- 六、YAML 配置文件
- 6.1 Baseline:默认 CIoU
- 6.2 Focaler-IoU 基础版
- 6.3 Focaler-CIoU 通用版
- 6.4 Focaler-EIoU 尺度增强版
- 6.5 Focaler-SIoU 密集目标版
- 6.6 Focaler-Shape-IoU 形状敏感版
- 七、常见问题
- 7.1 `focaler_iou_lower` 和 `focaler_iou_upper` 是什么?
- 7.2 `focaler_iou` 和 `focaler_ciou` 有什么区别?
- 7.3 Focaler-IoU 会增加参数量或推理耗时吗?
- 7.4 YOLO11-seg 可以使用 Focaler-IoU 吗?
- 7.5 `focaler_shape_iou` 和 `focaler_shapeiou` 有区别吗?
- 八、总结
专栏系列:YOLOv11 Loss 改进实战
改进点:Focaler-IoU 样本区间聚焦 bbox 回归损失
源码入口:ultralytics/utils/loss.py中focaler_*bbox loss 分支
适用任务:目标检测、实例分割中的 bbox 回归分支
支持配置:focaler_iou、focaler_ciou、focaler_diou、focaler_eiou、focaler_siou、focaler_shape_iou、focaler_shapeiou
一、本文简介
本文介绍 YOLO11 中已经接入的 Focaler-IoU 系列 bbox 回归损失。Focaler-IoU 属于 2024 年样本区间聚焦 bbox 回归改进思路,核心做法是先把普通 IoU 映射到指定质量区间,再与 CIoU、DIoU、EIoU、SIoU、Shape-IoU 等几何约束组合。
当前仓库中,Focaler-IoU 系列通过box_loss配置启用:
