摘要
YOLO(You Only Look Once)系列目标检测算法自2015年提出以来,已发展成为工业界最广泛应用的实时目标检测框架。
本文基于Ultralytics YOLOv8/v9/v10统一接口,从核心原理出发,逐步构建一个从数据集准备、模型训练、评估到部署的完整闭环。全文包含可运行的代码、详细的参数解释以及常见陷阱的解决方案,帮助读者在30分钟内完成从理论到实践的跨越。
核心原理
1. 检测范式:回归而非分类
传统目标检测采用“候选区域+分类”的两阶段方法(如Faster R-CNN),而YOLO将检测视为一个端到端的回归问题:将输入图像划分为S×S网格,每个网格负责预测B个边界框(包含中心坐标、宽高、置信度)和C个类别概率。
2. 损失函数构成
YOLO的损失函数包含三个部分:
- 坐标损失:预测框与真实框的IoU损失(CIoU / DIoU / GIoU)
- 置信度损失:预测框内存在目标的概率(二元交叉熵)
- 分类损失:目标类别的概率分布(交叉熵)
3. 关键改进(以YOLOv8为例)
- Anchor-Free:直接预测边界框的四个偏移量,无需预设锚框
- C2f模块:跨阶段局部网络,增强梯度流动
- Task-Aligned Assigner:基于分类和回归联合质量的标签分配策略
- De