问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

【YOLO系列】YOLOv7论文解读

创作时间:
作者:
@小白创作中心

【YOLO系列】YOLOv7论文解读

引用
CSDN
1.
https://m.blog.csdn.net/lly_csdn123/article/details/143438107

YOLOv7是2022年发布的实时目标检测算法,由YOLOv4团队的原班人马提出。在YOLOv5的基础上,YOLOv7通过设计可训练的bag-of-freebies、动态模型结构重参化和coarse-to-fine引导标签分配策略等创新技术,在不增加推理成本的情况下显著提高了检测精度。本文将详细介绍YOLOv7的模型设计架构和关键技术。

一. 模型设计架构

1.1 高效的聚合网络

在设计高效网络时,除了考虑参数量、计算量和计算密度外,还需要从内存访存的角度分析输入/输出通道比、架构的分支数和元素级操作对网络推理速度的影响。CSPVoVNet是VoVNet的一种变体,通过分析梯度在模型中的流动路径,使得不同层的权重可以学习更加多样化的特征,从而显著提升推理的速度与精度。

ELAN的设计考虑了如何通过控制最短最长梯度路径来提升网络的学习能力。在YOLOv7中,作者提出了基于ELAN的扩展版本E-ELAN,通过expand、shuffle、merge cardinality等技术,在不破坏原有梯度路径的情况下提升网络的学习能力。

1.2 基于concatenate的模型缩放

模型缩放是调整模型大小以生成不同尺度模型的重要技术。在YOLOv7中,作者提出了基于concatenate的模型缩放方法,特别是在缩放计算块深度因子时,需要结合计算块输出通道的变化进行计算,并在过渡层用相同的变化量进行宽度因子缩放。

二. 可训练的bag-of-freebies

2.1 卷积重参化

YOLOv7使用了没有identity连接的RepConv结构,以保持ResNet中的残差结构和DenseNet中的跨层连接。下图显示了在PlainNet和ResNet中使用的“计划型重参化卷积”的示例。

2.2 辅助训练模块

YOLOv7引入了深度监督机制,将负责最终输出的头称为引导头,将用于辅助训练的头称为辅助头。在标签分配方面,YOLOv7提出了一种新的机制,通过引导头的预测来生成粗到细的层次标签,分别用于辅助头和引导头的学习。

Lead head guided label assigner

引导头引导“标签分配器”预测结果和ground truth进行计算,并通过优化生成软标签。这组软标签将作为辅助头和引导头的目标来训练模型。

Coarse-to-fine lead head guided label assigner

Coarse-to-fine引导头使用自身的prediction和ground truth来生成软标签。作者生成了2组不同的软标签,即粗标签和细标签。粗标签通过降低正样本分配的约束,允许更多的网格作为正目标,以避免丢失信息。细标签则专注于优化样本召回的辅助头,而引导头的输出则从查准率中过滤出高精度值的结果作为最终输出。

2.3 其他可训练的bag-of-freebies

  • Batch normalization:目的是在推理阶段将批归一化的均值和方差整合到卷积层的偏差和权重中。
  • YOLOR中的隐式知识结合卷积特征映射和乘法方式:YOLOR中的隐式知识可以在推理阶段将计算值简化为向量。这个向量可以与前一层或后一层卷积层的偏差和权重相结合。
  • EMA Model:YOLOv7使用 EMA(指数移动平均)模型作为最终的推理模型,这是一种在mean teacher中使用的技术。

三. 总结

YOLOv7通过创新的模型设计和训练策略,在保持实时检测能力的同时显著提升了检测精度。其提出的可训练的bag-of-freebies、动态模型结构重参化和coarse-to-fine引导标签分配策略等技术,为实时目标检测领域带来了新的突破。

参考文献:

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号