真实面经题目 · 原创解析
YOLOv3 的结构、多尺度预测和损失函数是什么,YOLOv4 相比 YOLOv3 有哪些改进?
这题考 YOLO 系列检测器的完整理解:YOLOv3 的 backbone、neck、head、多尺度 anchor 预测、损失组成,以及 YOLOv4 的训练和结构增强。
真实面经题目 · 原创解析
这题考 YOLO 系列检测器的完整理解:YOLOv3 的 backbone、neck、head、多尺度 anchor 预测、损失组成,以及 YOLOv4 的训练和结构增强。
YOLOv3 是一阶段目标检测器,核心结构可以按 backbone、特征融合和检测头回答。backbone 是 Darknet-53,用残差结构提取特征;检测时在 3 个尺度特征图上预测,分别负责大、中、小目标,每个网格结合 anchor 输出边框偏移、objectness 和类别概率。损失一般包括边框回归损失、目标置信度损失和分类损失。YOLOv4 相比 YOLOv3 的改进可以概括为更强 backbone 和 neck、更多训练技巧和更好的框回归损失,例如 CSPDarknet53、SPP、PANet、Mosaic 数据增强、CIoU loss、DropBlock、SAT 等,使速度和精度更平衡。
YOLOv3 是单阶段检测器,不先生成候选框再分类,而是直接在特征图网格上预测边框、置信度和类别。Darknet-53 用残差块提取图像特征,兼顾深度和计算效率。
YOLOv3 使用 3 个尺度的检测头。高分辨率特征图更适合小目标,低分辨率特征图感受野更大,适合大目标。通过上采样和特征拼接,模型能融合语义信息和细粒度位置信息。
每个网格位置会基于多个 anchor 预测边框偏移、宽高、objectness 和类别概率。训练时根据真实框与 anchor 的匹配关系分配正负样本,推理时再通过置信度阈值和 NMS 去除重复框。
YOLOv3 的损失通常由定位损失、objectness 损失和分类损失组成。定位衡量预测框和真实框差异,objectness 判断 anchor 是否负责目标,分类判断目标类别。回答时要说明三者分别优化什么。
YOLOv4 更像是一组有效组件的组合:CSPDarknet53 降低计算冗余,SPP 增强多尺度感受野,PANet 强化特征融合,Mosaic 和其他训练技巧提升泛化,CIoU 改善边框回归目标。
小目标在深层低分辨率特征图上容易丢失细节,高分辨率特征图保留更多空间信息,更适合定位小目标。
objectness 判断该 anchor 是否包含目标,分类概率是在有目标的前提下判断类别,两者相乘常用于最终置信度。
CIoU 不只考虑重叠面积,还考虑中心点距离和宽高比,使边框回归目标更全面。
YOLOv3 速度快、端到端直接预测,适合实时场景;两阶段方法通常候选框质量更精细,但计算链路更重。