☰
《深度学习》期末练习题 | 简答题第4篇 —— YOLOv5 核心考点精讲
2026/9/27 22:51:12 网站建设 项目流程

《深度学习》期末练习题 | 简答题第4篇 —— YOLOv5 核心考点精讲


前言

本篇是《深度学习》期末练习题简答题系列的第4篇,聚焦于目标检测领域的经典模型YOLOv5。我们将按照题号顺序,逐题进行原题 → 答案 → 解析的详细讲解,帮助大家深入理解 YOLOv5 的预测输出格式、核心设计思想以及损失函数组成。期末备考的同学请收藏本文,反复研读!


📌 第16题:YOLOv5 预测框输出格式

🔹 原题

YOLOv5 对每个预测框的输出格式一般为:

[ x , y , w , h , c o n f i d e n c e , c l a s s _ p r o b s ] [\boldsymbol{x},\ \boldsymbol{y},\ \boldsymbol{w},\ \boldsymbol{h},\ \boldsymbol{confidence},\ \boldsymbol{class\_probs}][x,y,w,h,confidence,class_probs]

请简述每一项含义。

🔹 答案

输出项含义
x xx预测框的中心点横坐标
y yy预测框的中心点纵坐标
w ww预测框的宽度
h hh预测框的高度
c o n f i d e n c e confidenceconfidence置信度(框内包含物体的概率以及定位准确性的综合度量)
c l a s s _ p r o b s class\_probsclass_probs框内物体属于各个类别的概率

🔹 解析

YOLOv5 的每个预测框本质上输出一个向量,可以将其分为两大部分来理解:

① 定位信息( x , y , w , h ) (x, y, w, h)(x,y,w,h)

这四项描述了预测框在图像中的位置和大小:

  • ( x , y ) (x, y)(x,y)并不是左上角坐标,而是预测框的中心点坐标。这种表示方式相比左上角+右下角(如x m i n , y m i n , x m a x , y m a x x_{min}, y_{min}, x_{max}, y_{max}xmin​,ymin​,xmax​,ymax​)更加直观,也更有利于梯度回传。
  • ( w , h ) (w, h)(w,h)是预测框的宽高。在实际网络中,YOLOv5 通常对w , h w, hw,h进行了归一化处理(相对于输入图像尺寸或 anchor 尺寸),使训练更加稳定。

💡拓展:在 YOLOv5 的实际实现中,( x , y , w , h ) (x, y, w, h)(x,y,w,h)并非直接输出原始值,而是经过偏移量(offset)和缩放编码后的值,解码时需要结合 anchor 和 grid cell 信息还原为真实坐标。

② 置信度c o n f i d e n c e confidenceconfidence

置信度的定义可以理解为:

c o n f i d e n c e = P ( O b j e c t ) × I o U p r e d t r u t h confidence = P(Object) \times IoU_{pred}^{truth}confidence=P(Object)×IoUpredtruth​

即该框包含物体的概率与预测框和真实框的 IoU(交并比)的乘积。它同时衡量了"有没有物体"和"框得准不准"两个维度。

③ 分类概率c l a s s _ p r o b s class\_probsclass_probs

表示在该框确实包含物体的前提下,物体属于各个预定义类别的条件概率分布。例如在 COCO 数据集上,c l a s s _ p r o b s class\_probsclass_probs是一个80维向量,每个维度对应一个类别的预测概率。


📌 第17题:YOLO 与两阶段检测方法的核心区别

🔹 原题

简述 YOLO 相比于之前的两阶段目标检测方法,最核心的区别。

🔹 答案

YOLO 将目标定位和分类统一在一个网络中完成,无需生成候选区域(Region Proposals)。

🔹 解析

要深入理解这道题,我们需要对比两阶段(Two-Stage)和单阶段(One-Stage)两种目标检测范式:

① 两阶段方法(如 R-CNN 系列)

两阶段方法的检测流程分为两步:

输入图像 → [第一阶段] 生成候选区域(Region Proposals) → [第二阶段] 对每个候选区域进行分类和边框回归
  • 第一阶段:使用 RPN(Region Proposal Network)或 Selective Search 等方法,从图像中生成数百到数千个可能包含物体的候选框。
  • 第二阶段:对每个候选框分别进行特征提取、分类和位置修正。

⚠️缺点:两阶段方法虽然精度较高,但由于需要逐一处理候选区域,计算冗余大,推理速度慢,难以满足实时检测需求。

② YOLO(单阶段方法)

YOLO(You Only Look Once)的核心思想是:

将目标检测视为一个端到端的回归问题,直接在输入图像上一次性预测所有目标的位置和类别。

输入图像 → [单一网络] → 直接输出所有预测框的 (x, y, w, h, confidence, class_probs)
  • 无需候选区域生成:省去了 Region Proposal 步骤,大幅减少计算量。
  • 全局推理:YOLO 在预测时看到的是整张图像,能更好地利用全局上下文信息,减少背景误检。
  • 速度极快:YOLOv5 在 GPU 上可达数百 FPS,非常适合实时检测场景。

③ 对比总结

对比维度两阶段方法(Faster R-CNN)YOLO(单阶段)
候选区域✅ 需要生成❌ 不需要
网络结构两阶段串联单阶段端到端
检测速度较慢快(实时)
精度较高略低(但差距不断缩小)
小目标检测较好相对较弱

💡总结一句话:YOLO 最核心的创新在于将检测统一为一次前向传播的回归任务,摒弃了耗时的候选区域生成步骤,实现了速度与精度的良好平衡。


📌 第18题:YOLOv5 损失函数的三大组成部分

🔹 原题

YOLOv5 的损失函数由边界框损失(CIoU Loss)、置信度损失(Binary Cross-Entropy)、分类损失(Binary Cross-Entropy)三部分组成,请分别简述其作用。

🔹 答案

损失组成作用
边界框损失(CIoU Loss)用于衡量预测框与真实框的位置、尺寸和形状差异,使定位更准确
置信度损失(BCE)用于判断网格内是否包含物体,评估预测框的置信度分数
分类损失(BCE)用于判断框内物体的类别是否正确

🔹 解析

YOLOv5 的总损失函数可以表示为:

L t o t a l = λ b o x ⋅ L b o x + λ o b j ⋅ L o b j + λ c l s ⋅ L c l s \mathcal{L}_{total} = \lambda_{box} \cdot \mathcal{L}_{box} + \lambda_{obj} \cdot \mathcal{L}_{obj} + \lambda_{cls} \cdot \mathcal{L}_{cls}Ltotal​=λbox​⋅Lbox​+λobj​⋅Lobj​+λcls​⋅Lcls​

下面逐一深入分析三个组成部分:

① 边界框损失 —— CIoU Loss

传统的 IoU Loss 仅考虑预测框和真实框的重叠面积,存在以下问题:

  • 当两个框不重叠时,IoU = 0,梯度为零,无法优化。
  • 无法区分不同对齐方式(如中心点对齐 vs. 边对齐)。

YOLOv5 采用的CIoU Loss(Complete IoU Loss)在 IoU 的基础上同时考虑了三个几何因素:

L C I o U = 1 − I o U + ρ 2 ( b , b g t ) c 2 + α v \mathcal{L}_{CIoU} = 1 - IoU + \frac{\rho^2(b, b^{gt})}{c^2} + \alpha vLCIoU​=1−IoU+c2ρ2(b,bgt)​+αv

项含义
1 − I o U 1 - IoU1−IoU重叠面积损失
ρ 2 ( b , b g t ) c 2 \frac{\rho^2(b, b^{gt})}{c^2}c2ρ2(b,bgt)​中心点距离惩罚(ρ \rhoρ为欧氏距离,c cc为最小包围框对角线)
α v \alpha vαv宽高比一致性惩罚(v vv衡量预测框和真实框的宽高比差异)

💡 CIoU Loss 使得预测框在中心点位置、框的大小、宽高比三个维度上同时向真实框逼近,回归速度更快、定位更精准。

② 置信度损失 —— Binary Cross-Entropy(BCE)

置信度损失本质上是一个二分类问题:该预测框对应的 anchor 是否负责检测某个真实目标。

  • 正样本(负责检测目标的 anchor):目标置信度为 1
  • 负样本(不负责检测任何目标的 anchor):目标置信度为 0

使用二元交叉熵(BCE)损失:

L o b j = − ∑ [ y i log ⁡ ( y ^ i ) + ( 1 − y i ) log ⁡ ( 1 − y ^ i ) ] \mathcal{L}_{obj} = - \sum \left[ y_i \log(\hat{y}_i) + (1 - y_i) \log(1 - \hat{y}_i) \right]Lobj​=−∑[yi​log(y^​i​)+(1−yi​)log(1−y^​i​)]

💡注意:YOLOv5 在计算置信度损失时,采用了正负样本加权策略,对正样本和负样本赋予不同的权重,以缓解正负样本极度不平衡的问题。

③ 分类损失 —— Binary Cross-Entropy(BCE)

分类损失用于衡量预测类别与真实类别之间的差异。YOLOv5 使用多个独立的二元分类器(每个类别一个 BCE),而非传统的多分类 Softmax,即:

L c l s = − ∑ c = 1 C [ y c log ⁡ ( y ^ c ) + ( 1 − y c ) log ⁡ ( 1 − y ^ c ) ] \mathcal{L}_{cls} = - \sum_{c=1}^{C} \left[ y_c \log(\hat{y}_c) + (1 - y_c) \log(1 - \hat{y}_c) \right]Lcls​=−c=1∑C​[yc​log(y^​c​)+(1−yc​)log(1−y^​c​)]

💡为什么用多个 BCE 而不是 Softmax?
因为使用独立的 BCE 允许一个目标同时属于多个类别(多标签分类),具有更强的灵活性。这也是 YOLOv5 相比早期 YOLO 版本的一个改进点。

④ 三者协同工作

总损失 = 边界框损失(框得准不准) + 置信度损失(有没有物体) + 分类损失(是什么类别)

三者各司其职、相互补充,共同驱动网络在定位精度、目标召回率和分类准确率上达到最优。


📝 本篇总结

题号核心考点关键词
16YOLOv5 预测框输出格式x , y , w , h x, y, w, hx,y,w,h, 置信度, 分类概率
17YOLO vs 两阶段方法的核心区别单阶段、端到端、无候选区域
18YOLOv5 损失函数的三大组成CIoU Loss、BCE置信度、BCE分类

📢系列导航

  • 《深度学习》期末练习题 | 简答题第1篇
  • 《深度学习》期末练习题 | 简答题第2篇
  • 《深度学习》期末练习题 | 简答题第3篇
  • 《深度学习》期末练习题 | 简答题第4篇(本篇)

持续更新中,欢迎关注 + 收藏 + 点赞三连支持!🙏


如有任何问题或建议,欢迎在评论区留言讨论~ 祝大家期末考试顺利!🎉

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询