YOLOv1 到 YOLOv2 模型训练过程全解析
YOLOv1 到 YOLOv2 模型训练过程全解析
本文将详细解析 YOLOv1 模型的训练流程与设计思路,并总结其优缺点,同时介绍 YOLOv2(YOLO9000) 的关键改进点与性能提升,帮助读者快速理解 YOLO 系列早期版本的核心技术路线。
1. YOLOv1 模型训练流程
1.1 分类模型与检测模型的训练顺序
YOLOv1 的训练分为两个阶段:
-
先训练分类模型
- 使用大规模分类数据集(ImageNet)训练卷积神经网络的前 20 层。
- 目的是获得稳定的特征提取能力。
-
再训练检测模型
- 用分类模型的权重初始化检测模型的卷积层参数。
- 检测模型在 VOC 数据集上继续训练,提高收敛速度并减少过拟合风险。
1.2 输入与输出设计
-
输入:
- 固定大小的
48×48
RGB 图像(分类阶段),检测阶段为448×448
。
- 固定大小的
-
输出:
-
检测阶段输出一个
7×7×30
张量,表示:S × S × (B × 5 + C) 其中: S = 7(网格数) B = 2(每个网格预测两个边界框) 5 = 边界框坐标 (x, y, w, h) + 置信度 C C = 类别数(VOC2007 为 20)
因此:
7 × 7 × (2 × 5 + 20) = 7 × 7 × 30
-
1.3 预训练与特征提取
-
特征提取网络:前 20 个卷积层。
-
分类阶段改进:
- 移除全连接层,使用全局平均池化(GAP)。
- 最后连接 1000 类全连接层 + Softmax 分类器。
-
性能:
- 在 ImageNet2012 验证集上 Top-5 准确率 达到 88%,与传统分类网络持平。
2. YOLOv1 模型优缺点总结(UV V1)
2.1 优势
- 单阶段检测:端到端训练与推理,速度快。
- 全局预测:一次性检测整张图片,无需滑动窗口或区域提案(RPN)。
- 空间关系隐式编码:预测框相对网格位置映射到整张图片。
2.2 缺点
- 准确率相对较低:特别是小物体检测效果差。
- 检测框数量受限:每张图最多预测 7×7=49 个位置。
- 位置回归粗糙:边界框精度不高,召回率低。
3. YOLOv2(YOLO9000)核心改进点
YOLOv2 在 YOLOv1 的基础上进行多方面升级,显著提升了精度与召回率。
3.1 批量归一化(Batch Normalization, BN)
- 在每个卷积层后加入 BN,去掉 Dropout。
- 提升收敛速度与稳定性,MAP 提升约 2%。
3.2 高分辨率分类模型
- 先用
224×224
图像训练 160 轮。 - 再用
448×448
图像训练 10 轮,适应高分辨率输入。 - Top-5 准确率 从 90.4% → 93.3%。
3.3 全卷积结构与 Anchor Box
-
移除全连接层,使用全卷积结构,减少参数量,避免过拟合。
-
引入 Anchor Box:
- 9 种尺寸(小/中/大 × 宽高比 1:1 / 1:2 / 2:1)。
- 基于 Anchor 预测边界框偏移量。
- 召回率从 81% → 88%。
-
输出张量:
13 × 13 × 255 其中 255 = 9 Anchors × (5 + 20)
3.4 奇数分辨率输入
- 输入设为
416×416
,保证输出为奇数网格(13×13)。 - 避免中心点落在网格边界引发预测歧义。
3.5 Darknet-19 主干网络
-
结构:
- 19 个卷积层 + BN + LeakyReLU。
- 5 个最大池化层。
-
优势:
- 特征提取能力更强。
- 参数量更少,计算更高效。
4. 核心改进效果
模型版本 | 数据集 | mAP (%) | Top-5 分类准确率 | 速度 (FPS) |
---|---|---|---|---|
YOLOv1 | VOC07 | 63.4 | 88.0 | 45 |
YOLOv2 | VOC07 | 78.6 | 93.3 | 67 |
4.1 创新亮点
- 解耦空间预测与分类概率:每个 Anchor 独立预测类别概率,提升精度。
- 多尺度训练:每 10 个 batch 随机调整输入分辨率(320~608),增强鲁棒性。
- 支持 9000 类检测:YOLO9000 可同时检测与分类。
5. 后续优化方向
- 小物体检测优化:增加 Anchor 数量,改进特征金字塔结构(FPN / PAN)。
- 端到端训练:直接训练检测模型,跳过分类预训练(需更强算力)。
- 注意力机制:引入 SE / CBAM 模块提升特征表达能力。
📌 总结
YOLOv1 到 YOLOv2 的演化,体现了从简单的端到端检测框架到更高精度、更强泛化能力的升级过程。BN、Anchor、全卷积、Darknet19 以及多尺度训练等技术的引入,使得 YOLOv2 在速度与精度上实现了平衡,并为后续的 YOLOv3、YOLOv4 打下了基础。