YOLO11 改进 | BLD-IoU 边界级定位偏差 bbox Loss 配置与源码解析
- 一、本文简介
- 二、BLD-IoU 原理详解
- 2.1 为什么需要边界级定位偏差
- 2.2 基础 CIoU similarity
- 2.3 四边偏差计算
- 2.4 按 GT 宽高归一化
- 2.5 BLD-IoU 最终 similarity
- 2.6 BLD-IoU 的整体计算流程
- 三、改进思想与创新点
- 3.1 背景与动机
- 3.2 核心创新点
- 1. 在 CIoU 外显式加入四边定位偏差
- 2. 使用 GT 宽高对边界偏差归一化
- 3. 保持 YOLO11 训练流程兼容
- 3.3 与常见 IoU Loss 对比
- 3.4 在 YOLO11 中的适配方式
- 四、完整代码
- 4.1 `ultralytics/utils/loss.py` 中的配置分支
- 4.2 `ultralytics/utils/metrics.py` 中的 BLD-IoU 实现
- 五、手把手配置步骤
- Step 1:确认当前仓库已注册 BLD-IoU
- Step 2:在训练配置中切换 box_loss
- Step 3:检测任务训练示例
- Step 4:实例分割任务训练示例
- Step 5:命令行训练示例
- 六、YAML 配置文件
- 6.1 Baseline:默认 CIoU
- 6.2 BLD-IoU 主配置
- 6.3 BLD-IoU 别名写法
- 七、实验建议与常见问题
- 7.1 推荐消融顺序
- 7.2 推荐观察指标
- 7.3 不同数据集的选择建议
- 7.4 常见问题
- 7.4.1 BLD-IoU 会改变模型结构吗?
- 7.4.2 `bld_iou`、`border_deviation`、`border_iou` 有区别吗?
- 7.4.3 BLD-IoU 和 CIoU 有什么区别?
- 7.4.4 YOLO11-seg 可以使用 BLD-IoU 吗?
- 7.4.5 如果 BLD-IoU 效果不如 CIoU,应该怎么排查?
- 八、总结
专栏系列:YOLOv11 Loss 改进实战
分类专栏推荐:YOLOv11 改进实战、YOLO Loss 改进、目标检测与实例分割
文章标签推荐:YOLO11、目标检测、实例分割、BLD-IoU、Border-level Localization Deviation、bbox loss、边界定位
改进点:BLD-IoU 边界级定位偏差 bbox 回归损失
源码入口:ultralytics/utils/loss.py中border_deviation/border_iou/bld_ioubbox loss 分支
适用任务:目标检测、实例分割中的 bbox 回归分支
支持配置:border_deviation、border_iou、bld_iou
一、本文简介
本文介绍 YOLO11 中已经接入的 2025 年 Border-level Localization Deviation(BLD-IoU)bbox 回归 Loss。BLD-IoU 的核心创新是:在 CIoU 的整体框相似度基础上,进一步显式计算预测框四条边与 GT 框四