[论文笔记] YOLOv7 阅读笔记

YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors(Arxiv 2022)

论文链接:论文链接
代码链接:代码链接

在这里插入图片描述
在这里插入图片描述

动机

  • 减少与SOTA相比的40%的参数量和50%的运算量,更快更准确

解决方案

模型架构优化

Extended efficient layer aggregation networks (扩展的高效 层聚合网络)
  • CSPVoVNet:在考虑参数量、运算量、计算密度、梯度路径等条件下改进了VoVNet,不同层的权重可以学习到更多样化的特征,推理速度更快、准确率更高(下面那个图是VoVNet的另一个表述)
    在这里插入图片描述
    另一个表述

  • ELAN:通过控制最短和最常的梯度路径来让很深的网络可以有效的学习和收敛,但是如果堆叠更多的模块可能会破坏这种稳定的状态;

  • E-ELAN:YOLOv7提出了extended ELAN(E-ELAN),它通过expand cardinality、shuffle cardinality、merge cardinality等方法达到不破坏梯度路径的状态,并且能够持续增强网络学习的效果。
    在这里插入图片描述

Model scaling(模型缩放)
  • 意义:将模型进行缩放,可以适用于不同的运算设备
  • 缩放因子:模型缩放可以使用不同的缩放因子,例如resolution(输入图片的大小)、depth(网络的层数)、width(特征图通道数)和stage(特征金字塔的数量),这样可以在参数量、运算量、推理速度、准确率方面得到比较好的trade-off
  • 不良影响:在concatenation (串联) 模型 (如 VoVNet) 的缩放中,对 depth 进行 scaling up 或 scaling down 时,后面的 transition layer 的输入宽度将会随之增加或减少,进而导致设计好的模型在运算硬件上使用率下降,如下图
    在这里插入图片描述
  • 改进:作者提出 compound model scaling (复合模型缩放),即对 concatenation-based(基于串联) 的模型进行模型缩放时,只需要对 computational block 中的 depth 进行缩放,其余的 transition 进行相应的宽度缩放,就能够维持初始模型在设计时拥有的性质, 以维持最佳的结构
    在这里插入图片描述
  • 结果:可以看到使用 model scaling 技术可以提高准确率,若单纯将 width 放大 1.25 倍可以提升 0.7% AP,若单纯将 depth 放大 2 倍则可以提升 1% AP,若进一步使用 compound model scaling:depth 放大 1.5 倍,width 放大 1.25 倍可以提升最多准确率,高达 1.2% AP
    在这里插入图片描述

训练过程优化(Bag-of-freebies)

Re-parameterized(重参数化)
  • 概念:模型重参数化技术可以看做是一种 ensemble (集成) 技术,有以下两类:
    • model-level 模型级重参数化
      • 一种是用不同的训练数据来训练多个相同的模型,然后对多个训练模型的权重进行平均
      • 另一种是对不同迭代次数的模型权重进行加权平均
    • module-level 模块级重参数化
      • 这种方法为近期比较流行的研究问题,它会在训练过程中将一个模块拆分为多个相同或不同的模块分支,并在推理过程中将多个分支模块集成为一个完全等效的模块。
  • 传统重参数化的缺点并非所有提出的重参数化模块都可以完美地应用于不同的架构。 考虑到这一点,YOLOv7 开发了新的重参数化模块,并设计了适用于各种架构的重参数化模块策略
  • RepConv模型级重参数化方法之一,在训练时将 3x3 卷积、1x1 卷积和 identity connection (id) 组合在一个卷积层中,而在推理时将他重组成一个 3x3 的卷积
    在这里插入图片描述
  • RepConv的问题
    • 当作者直接将 RepConv 应用于 ResNet 和 DenseNet 等架构时,其准确率反而会显著降低,在分析了 RepConv 和不同架构的组合和对应性能后,发现 RepConv 中的 id 会破坏 ResNet 中的 residual 和 DenseNet 中的 concatenation 特性:为不同特征图提供了更多梯度多样性
    • 因此作者认为具有 residual 或 concatenation 架构的卷积层应用重参数方法重组架构时不应含有 id,如 下图 所示,可以看到由于 (a) 本身没有 residual 或 concatenation 特性,因此可以直接应用 RepConv 变成 (b),而 (c) 本身含有 residual 特性,因此在应用 RepConv 后 (d) 反而会导致准确率降低
      在这里插入图片描述
  • 解决RepConv的问题:使用没有 id 连接的 RepConv (称为 RepConvN) 来设计重参数化卷积的架构。 下图 显示了作者设计的 planned re-parameterized convolution 用于 ResNet 的范例
    在这里插入图片描述
  • 测试结果:为了验证模型重参数化的通用性,作者将其分别应用于具有concatenation特性的模型:具有3个block的ELAN、具有 residual 特性的模型CSPDarknet。发现所有更高的AP都出现在有参数化的模型中
    • Planned RepConcatenation model:具有3个block的ELAN
      在这里插入图片描述
      在这里插入图片描述
    • Planned RepResidual model:具有 residual 特性的模型CSPDark net(由于dark block在一开始没有3x3卷积模块,因此设计了一种反向dark block(RDark block))
      在这里插入图片描述
      在这里插入图片描述
Dynamic label assignment strategy(动态标签分配)
  • 深度监督:深度监督是一种常用于训练深度网络的技术,通过使用auxiliary的机制对浅层的网络权重进行训练,其效果能对模型表现有显著的提升,作者将最终输出的head称为lead head,而用于辅助训练的head称为auxiliary head
    在这里插入图片描述
  • label assigner:过去在深度网络的训练中,通常会直接以ground truth来产生htclid label来训练网络权重,例如CNN分类任务,在近年来,除了htclid label,YOLO还会利用模型预测的边界框和ground truth的IoU来当做objectness的soft label,作者把分配soft label的机制称为 label assigner
  • 训练辅助头的方法:为了训练 auxiliary head 和 lead head,目前最常用的方法就是各自独立分配,也就是说使用它们自己的预测结果和 ground truth 来进行 label assigner。而作者提出了使用lead head预测的soft label作为指导,来产生coarse to fine的分层式soft label,进而分别用于auxiliary head及lead head的学习

在这里插入图片描述

  • Lead guided assignber:以 lead head 产生的 soft label 同时做为 auxiliary head 及 lead head 的 target,这样做的原因是因为 lead head 具有相对较强的学习能力,因此由此产生的 soft label 应该更能代表资料与 target 间的分布和相关性。 此外,还可以将这样的学习方式视为一种 generalized residual learning,通过让较浅层的 auxiliary head 直接学习 lead head 已经学习到的信息,lead head 将能更专注在学习尚未学习到的 residual 信息
  • Coarse-to-fine lead guided assigner:进一步地,作者产生两组不同的soft label,分别为coarse label及fine label,其中fine label与lead head产生的soft label相同,而coarse label是通过放宽正样本分配过程的限制来生成的,原因是因为auxiliary head的学习能力没有lead head来得强,为了避免遗失需要学习的信息 ,将重点优化 auxiliary head 的 recall;至于 lead head 的输出,可以从高 recall 的结果中过滤出高 precision 结果作为最终输出。 然而,需要注意的是,如果 coarse label 和 fine label 的权重相近,则可能会在最终预测时产生不好的 prior,为了解决这个问题,作者在 decoder 中加入限制,使 coarse label 不能那么完美的产生 soft label。 上述机制允许在学习过程中动态调整 fine label 与 coarse label,并让 fine label 的可优化上界始终高于 coarse label
  • 结果
    • 使用 coarse-to-fine lead guided 技术可以在各个 AP 标准下提高准确率
      在这里插入图片描述
    • 下图展示了在auxiliary head和lead head上通过不同方法预测的objectness map,发现如果使用lead guided方法,auxiliaryhead的确会帮助lead head专注学习尚未学习到的 residual信息
      在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值