摘要YOLO(You Only Look Once)作为目标检测领域的里程碑算法,实现了从图像输入到边界框与类别预测的端到端单阶段推理。本文从零构建YOLO技术认知体系,涵盖YOLOv1至v8的核心演进逻辑,提供基于PyTorch的完整可运行代码案例,包括自定义数据集训练、模型评估与ONNX部署。所有代码均经过严格测试,可直接在主流GPU/CPU环境中执行。文章同时剖析训练收敛困难、小目标漏检等高频问题的工程化解决方案,帮助读者在工业落地场景中快速定位并修复模型缺陷。核心原理1. 单阶段检测范式YOLO将目标检测重构为回归问题:输入图像被划分为S×S网格,每个网格负责预测B个边界框(中心点落入该网格的目标)。每个边界框输出5个参数:(x, y, w, h, confidence),其中(x,y)为框中心相对网格的偏移,(w,h)为宽高相对于整图的归一化值,confidence = P(object) × IoU(pred, truth)。此外,每个网格预测C个类别概率。2. 损失函数设计YOLO损失函数由三部分组成:坐标损失:采用均方误差(MSE),对宽高使用平方根缩放,降低大框误差的惩罚权重。置信度损失:区分包含目标的网格(objectness=1)与不包含目标的网格(objectness=0),通过λ_coord和λ_noobj平衡正负样本。类别损失:交叉熵损失,仅在目标存在时计算。