当前位置: 首页 > news >正文

【YOLOv4核心技术详解】从损失函数到网络架构

一、损失函数的演进:从IoU到CIoU

1. IoU损失及其缺陷

IoU损失:常用于边界框回归,计算预测框与真实框的交并比。

问题

当两个框不重叠时,IoU=0,无法计算梯度,训练停滞。

相同的IoU值可能对应不同的位置关系,无法区分对齐程度。

2. GIoU:引入最小包围框

引入一个最小封闭形状C,将预测框A和真实框B包含在内。

优化目标不仅是最大化IoU,还包括最小化C中未被A、B覆盖的区域。

优点:解决了IoU在不重叠情况下的梯度问题。

3. DIoU:考虑中心点距离

在IoU基础上,加入中心点欧式距离作为惩罚项。

公式中考虑了重叠面积和中心点距离,收敛更快。

4. CIoU:全面考虑几何因素

在DIoU基础上,进一步引入长宽比的一致性。

综合考虑:重叠面积、中心点距离、长宽比。

是目前最全面的边界框回归损失函数。

二、NMS的改进:DIoU-NMS与Soft-NMS

1. DIoU-NMS

传统NMS仅依赖IoU值决定是否抑制框。

DIoU-NMS 同时考虑IoU和中心点距离,更准确地判断框之间的重叠关系。

公式中引入距离项,避免误删距离较远但IoU较高的框。

2. Soft-NMS

不是直接删除框,而是降低其置信度分数

更加“柔和”,避免密集目标检测中的漏检问题。

三、Bag of Specials (BOS):提升精度的“小插件”

BOS是一类略微增加推理成本但显著提升精度的技术,主要包括:

1. 注意力机制

SAM(Spatial Attention Module):在YOLOv4中使用的空间注意力模块,增强特征图的空间信息。

CBAM:结合通道与空间注意力,进一步提升特征表达能力。

2. 特征金字塔增强:PAN

FPN:自顶向下传递高层语义信息。

PAN:在此基础上引入自底向上的路径,增强底层位置信息的传递。

YOLOv4中使用拼接(concat) 而非加法,保留更多特征信息。

3. 激活函数:Mish

  • 替代ReLU,更平滑,避免“死神经元”。

  • 公式:

  • 虽然计算量增加,但提升模型表达能力。

四、其他关键技术

1. SPPNet(空间金字塔池化)

使用不同尺度的最大池化,使网络适应不同尺寸的输入。

避免因输入尺寸变化而重新训练模型。

2. CSPNet(跨阶段局部网络)

将特征图按通道拆分为两部分:

一部分正常经过卷积层;

另一部分直接与输出拼接。

减少计算量,增强梯度流动,提升特征复用。

3. 消除网格敏感度(Eliminate Grid Sensitivity)

边界框坐标通常在0~1之间,靠近网格边界时难以表示。

在激活函数前加上一个大于1的系数,缓解边界回归困难。

五、整体网络架构

YOLOv4的整体架构融合了上述所有技术:

Backbone:CSPDarknet53

Neck:SPP + PAN

Head:YOLOv3-style,配合CIoU损失和DIoU-NMS

总结

YOLOv4不仅在精度上达到新高度,更在实用性上做出巨大贡献:

所有实验均可在单GPU上完成,极大降低训练门槛。

融合了近年来目标检测领域的多项SOTA技术,如注意力机制、Mish激活、CIoU损失等。

通过大量消融实验验证每个模块的有效性,堪称“目标检测技术集大成者”。

http://www.dtcms.com/a/512543.html

相关文章:

  • XMW技术:颠覆未来的创新引擎
  • 练习python题目小记(四)
  • 网站是先解析后备案吗快手做任务网站
  • C++输入输出模式(ACM模式)笔记(个人)(第十六天)
  • 杭州高端网站开发检查色盲效果网站
  • 面试(五)——Java 集合体系
  • k8s java应用pod内存占用过高问题排查
  • Android8.0+Camera2编译烧录源码研习
  • 液压产品做哪个网站好网站关键字排名怎么做
  • 做网站小程序内蒙古银税互动平台
  • 从虚拟甲板到未来战场!数字孪生重构海战航母战斗群
  • 宁波住房与城乡建设部网站软件技术适合女生学吗大专
  • 从零实现 vLLM (1.2):如何实现张量并行
  • 设计系统掉电保持参数参考
  • 机器学习:基于大数据的基金数据分析可视化系统 股票数据 金融数据 股价 Django框架 大数据技术(源码) ✅
  • 网站留言板样式洛阳青峰网络公司做网站
  • 基因数据库网站开发价格导航门户网站怎么做
  • Java Web登录系统实现(不使用开发工具)
  • 安徽省建设安全质量协会网站百度新闻官网
  • 数据结构——最短路径算法
  • SBC在企业中的应用场景
  • ai痕迹记录
  • 中建八局第一建设公司网站网站建设丨找王科杰专业
  • 网站建设的目标是什么制作简单门户网站步骤
  • C++11----新引入的默认成员函数
  • 广州商城型网站建设佛山网站建设有哪些
  • 寻找建设网站客户wordpress 是php
  • 理解 Linux 进程间通信(IPC)
  • JaveWeb后端-Web基础-SpringBoot Web、HTTP协议
  • Spring 自动注入是怎么实现的?从 @Component 到 @Autowired 的完整流程