一、YOLO-V1:单阶段检测的奠基者
YOLO-V1 的核心定位是 “实时端到端目标检测”,首次将目标检测问题转化为回归问题,通过一个 CNN 网络直接输出目标的位置与类别,无需分阶段(如 two-stage 的候选框生成 + 分类)。
1.1 核心思想
YOLO-V1 通过 “网格划分 + 边界框预测 + 类别概率” 实现检测,具体逻辑如下:
- 网格划分:将输入图像划分为
S×S的网格(PPT 中为 7×7),若目标的中心点落在某个网格内,则该网格负责预测该目标。 - 边界框与置信度(Bounding boxes + Confidence):每个网格预测
B个边界框(PPT 中为 2 个),每个边界框包含 5 个参数:(x,y,w,h,c)。其中(x,y)是边界框相对于网格的中心点坐标,(w,h)是边界框宽高相对于整幅图像的比例,c是置信度(反映边界框包含目标的概率与 IOU 的乘积)。 - 类别概率图:每个网格同时预测
C个类别概率(PPT 中为 20 类,对应 VOC 数据集),表示该网格包含目标时,属于某一类别的概率。
1.2 网络架构
YOLO-V1 基于 GoogLeNet 修改,共 20 层网络,整体流程如下:
- 输入与输出:输入图像尺寸为
448×448×3,经过卷积、池化和全连接层后,输出7×7×30的特征图。 - 输出维度含义:
7×7对应网格数量,30由 “2 个边界框 ×5 个参数 + 20 个类别概率” 计算得出,即公式(S×S)×(B×5+C)(S=7,B=2,C=20)。 - 关键设计:无复杂分支,仅通过卷积提取特征、全连接层完成回归,结构简洁,为实时性奠定基础。
1.3 损失函数
损失函数采用平方差损失,分三部分优化,确保位置、置信度与类别预测的准确性:
- 位置误差:仅对包含目标的边界框计算
(x,y,w,h)的平方差,且对w和h取平方根,避免大边界框的误差掩盖小边界框。 - 置信度误差:
- 含目标的边界框:计算预测置信度与真实 IOU 的平方差,权重较高。
- 不含目标的边界框:仅计算预测置信度的平方差,权重较低(避免模型过度倾向于预测 “无目标”)。
- 分类误差:仅对包含目标的网格,计算预测类别概率与真实类别的平方差。
1.4 非极大值抑制(NMS)
为去除冗余检测框,YOLO-V1 采用 NMS:对同一目标的多个检测框,保留置信度最高的框,删除与该框 IOU 超过阈值的其他框,最终得到唯一的目标检测结果。
1.5 优缺点
- 优点:结构简单,推理速度快(PPT 中 FPS 达 58),可实现视频实时检测,适用场景广。
- 缺点:
- 每个网格仅预测 1 个类别,若多个目标重叠在同一网格,会导致漏检。
- 小物体检测效果差(网格划分较粗,小目标中心点易被忽略)。
- 边界框长宽比固定,无法适配多样的目标形状。
二、YOLO-V2:更快更强的优化版本
YOLO-V2 针对 V1 的缺陷,以 “提升精度、保持实时性” 为目标,提出 8 项核心改进,最终实现 VOC2007 数据集 mAP 从 63.4 提升至 78.6,同时保持快速推理。
2.1 核心改进一:Batch Normalization(批量归一化)
- 设计逻辑:弃用 V1 的 Dropout(避免特征丢失),在所有卷积层后加入 Batch Normalization(BN)。
- 作用:对每一层输入进行归一化,加速网络收敛,减少过拟合,直接提升 2% mAP。
- 现状:BN 已成为现代 CNN 的标配组件。
2.2 核心改进二:更大分辨率训练
- V1 的问题:训练时输入尺寸为
224×224(适配分类网络),测试时突然切换到448×448,导致模型 “水土不服”。 - V2 的优化:在分类网络训练后,额外用
448×448的图像微调 10 个 epoch,让模型适应高分辨率输入。 - 效果:mAP 提升约 4%,为后续小目标检测优化奠定基础。
2.3 核心改进三:DarkNet 网络架构
V2 摒弃 V1 的 GoogLeNet,改用自定义的DarkNet,核心优势是 “轻量、高效”:
- 关键设计:
- 无全连接层(FC),减少参数冗余;
- 5 次降采样(通过步长 2 的卷积 / 池化),最终输出
13×13的特征图(比 V1 的 7×7 更细,适配小目标); - 引入
1×1卷积:压缩通道数,减少计算量,同时保留关键特征。
- 输入尺寸:调整为
416×416(13 的整数倍,确保特征图与原图尺寸对齐)。
2.4 核心改进四:聚类提取先验框
- V1 的问题:边界框参数完全由网络预测,缺乏先验知识,收敛慢且适配性差。
- V2 的优化:用K-means 聚类从训练集边界框中提取 “先验框”(维度先验):
- 聚类距离:采用
d(box, centroids) = 1 - IOU(避免大框对距离计算的主导); - 优势:先验框更贴合数据集的目标形状,比 Faster R-CNN 的 “固定长宽比先验框” 更适配。
- 聚类距离:采用
2.5 核心改进五:引入 Anchor Box
- 设计逻辑:在
13×13特征图的每个网格上,预测n个 Anchor Box(基于聚类的先验框),检测框数量从 V1 的7×7×2=98增至13×13×n(如 n=5 则 650 个)。 - 效果:召回率从 81% 提升至 88%,有效解决 “重叠目标漏检” 问题(V1 的核心缺陷)。
2.6 核心改进六:Directed Location Prediction(定向位置预测)
- V1 的问题:直接预测边界框相对于图像的偏移量,易导致偏移过大、模型收敛不稳定。
- V2 的优化:预测边界框相对于网格左上角的偏移量,并用
sigmoid(σ)函数限制偏移范围在[0,1]内,确保边界框落在当前网格内:- 核心公式:
- 边界框中心:
b_x = σ(t_x) + C_x,b_y = σ(t_y) + C_y(C_x/C_y是网格左上角坐标,t_x/t_y是网络预测偏移); - 边界框宽高:
b_w = p_w × e^t_w,b_h = p_h × e^t_h(p_w/p_h是先验框宽高,t_w/t_h是预测缩放系数)。
- 边界框中心:
- 核心公式:
- 示例:若预测
(σt_x,σt_y,t_w,t_h)=(0.2,0.1,0.2,0.32),先验框(p_w,p_h)=(3.19,4.01),网格(C_x,C_y)=(1,1),则:- 特征图上坐标:
b_x=1.2,b_y=1.1,b_w=3.9,b_h=5.52; - 原图坐标(特征图与原图比例 32:1):
b_x=38.4,b_y=35.2,b_w=124.8,b_h=176.7。
- 特征图上坐标:
2.7 核心改进七:Fine-Grained Features(细粒度特征融合)
- 问题:深层特征图(如 13×13)感受野大,易丢失小目标细节;浅层特征图(如 26×26)感受野小,细节丰富但语义信息弱。
- 优化:将浅层
26×26特征图拆分为13×13×4的特征图,与深层13×13特征图拼接,融合 “细节 + 语义”,提升小目标检测精度。
2.8 核心改进八:Multi-Scale(多尺度训练)
- 设计逻辑:训练过程中,每迭代一定次数,随机切换输入图像尺寸(范围
320×320 ~ 608×608,均为 32 的整数倍)。 - 优势:模型适应不同大小的目标,同时保持实时性(小尺寸输入推理更快,大尺寸输入精度更高)。
三、总结:YOLO-V1 到 V2 的演进逻辑
YOLO-V1 的核心贡献是 “开创单阶段实时检测框架”,但受限于网格划分、边界框设计等问题,精度与适应性不足;YOLO-V2 则围绕 “解决 V1 缺陷、提升精度与鲁棒性” 展开优化:
- 从 “网络训练”(BN、高分辨率微调)、“架构设计”(DarkNet、1×1 卷积)、“先验知识”(聚类先验框、Anchor Box)、“特征利用”(细粒度融合、多尺度)四个维度,全面提升检测性能;
- 最终实现 “精度提升(mAP+15.2%)、召回率提升(81%→88%)、适配性增强(小目标、多尺度目标)”,同时保持实时性,为后续 YOLO 系列(V3-V8)奠定核心框架。
651

被折叠的 条评论
为什么被折叠?



