YOLOV7详细解读(三)技术要点归纳

简介: YOLOV7详细解读(三)技术要点归纳

前言


继美团发布YOLOV6之后,YOLO系列原作者也发布了YOLOV7。

YOLOV7主要的贡献在于:


1.模型重参数化


YOLOV7将模型重参数化引入到网络架构中,重参数化这一思想最早出现于REPVGG中。


2.标签分配策略


YOLOV7的标签分配策略采用的是YOLOV5的跨网格搜索,以及YOLOX的匹配策略。


3.ELAN高效网络架构


YOLOV7中提出的一个新的网络架构,以高效为主。


4.带辅助头的训练


YOLOV7提出了辅助头的一个训练方法,主要目的是通过增加训练成本,提升精度,同时不影响推理的时间,因为辅助头只会出现在训练过程中。


一、YOLOV7是什么?


YOLO算法作为one-stage目标检测算法最典型的代表,其基于深度神经网络进行对象的识别和定位,运行速度很快,可以用于实时系统。


YOLOV7是目前YOLO系列最先进的算法,在准确率和速度上超越了以往的YOLO系列。


了解YOLOV7是对目标检测算法研究的一个必须步骤。


二、论文贡献


1.设计了几种可训练的Bag-of-Freebies方法,使得实时目标检测在不增加推理代价的情况下,大大提高了检测精度;


2.对于目标检测方法的发展,我们发现了两个新的问题,即重新参数化的模块如何替换原始模块,以及动态标签分配策略如何处理对不同输出层的分配。此外,我们还提出了解决这些问题所产生的困难的方法。


3.提出了实时目标检测器的“扩展”和“复合缩放”方法,可以有效地利用参数和计算;


4.论文提出的方法可以有效地减少现有实时目标检测器约40%的参数和50%的计算量,并具有更快的推理速度和更高的检测精度


三、相关工作


  • 更快更强的网络架构

  • 更有效的特征集成方法

  • 更准确的检测方法

  • 更鲁棒的损失函数

  • 更有效的标签分配分配

  • 更有效的训练方法

四、网络架构

image.png

五、重参数化


Step1. 融合卷积层( identity )和 BN 层,再对融合后的 1x1 卷积和 identity 进行补零(类似 padding 操作)扩展成 3x3 大小的卷积核;


Step2. 利用卷积的可加性,将 3 个 3x3 卷积合并为一个;


Step3. 完成结构重参数化,得到 plain 形式的推理模型(上一层输出为下一层输入,没有skip等分支操作)。

2.png

六、模型缩放


模型缩放通过扩大或缩小baseline,使其适用于不同的计算设备。模型缩放方法通常包括不同的缩放因子,如:


  • input size(输入图像大小)

  • depth(层数)

  • width(通道数)

  • stage(特征金字塔数量)

从而在网络的参数量、计算量、推理速度和精度方面实现很好的权衡。网络架构搜索(NAS)也是目前常用的模型缩放方法之一



七、E-ELAN


结构图

3.png

分组卷积


将卷积的输入feature map分成组,每个卷积核也相应地分成组,在对应的组内做卷积。


如下图所示,图中分组数,即上面的一组feature map只和上面的一组卷积核做卷积,下面的一组feature map只和下面的一组卷积核做卷积。每组卷积都生成一个feature map,共生成group组feature map。

4.jpeg

八、损失函数


  • 目标置信度损失:BCEWithLogitsLoss

  • 分类损失采用:BCEWithLogitsLoss

  • 坐标损失采用:CIoU损失

BCEWithLogitsLossBCELoss的区别:


该loss 层包括了 Sigmoid 层和
BCELoss 层,故而神经网络的输出无需经过sigmoid函数,其他都是一样的


九、动态标签分配策略


步骤


①yolov5:使用yolov5正负样本分配策略分配正样本。


②YOLOX:计算每个样本对每个GT的Reg+Cla loss(Loss aware)


③YOLOX:使用每个GT的预测样本确定它需要分配到的正样本数(Dynamic k)


④YOLOX:为每个GT取loss最小的前dynamic k个样本作为正样本


⑤YOLOX:人工去掉同一个样本被分配到多个GT的正样本的情况(全局信息)


软标签

4.png

yolov5的跨网格匹配

5.jpeg

YOLOX中的simOTA


1.lead head中每个网格与gt如果匹配上,附加周边两个网格


2.aux head附加4个网格(如上面导数第二幅图,匹配到浅黄+橘黄共5个网格)


3.lead head中将top10个样本iou求和取整,而aux head中取top20。


4.aux head更关注于recall,而lead head从aux head中精准筛选出样本。

6.png

7.jpeg



目录
相关文章
|
10月前
|
机器学习/深度学习 网络架构 计算机视觉
UNet详细解读(一)论文技术要点归纳
UNet详细解读(一)论文技术要点归纳
147 0
|
3月前
|
机器学习/深度学习 计算机视觉
YOLOv5改进 | 2023 | MPDIoU、InnerMPDIoU助力细节涨点
YOLOv5改进 | 2023 | MPDIoU、InnerMPDIoU助力细节涨点
88 0
|
3月前
|
机器学习/深度学习 存储 算法
YOLO落地部署 | 一文全览YOLOv5最新的剪枝、量化的进展【必读】
YOLO落地部署 | 一文全览YOLOv5最新的剪枝、量化的进展【必读】
175 0
|
3月前
|
机器学习/深度学习 计算机视觉
YOLOv8改进 | 2023 | MPDIoU、InnerMPDIoU助力细节涨点
YOLOv8改进 | 2023 | MPDIoU、InnerMPDIoU助力细节涨点
87 1
|
3月前
|
机器学习/深度学习
YOLOv5改进 | 细节创新篇 | iAFF迭代注意力特征融合助力多目标细节涨点
YOLOv5改进 | 细节创新篇 | iAFF迭代注意力特征融合助力多目标细节涨点
70 0
|
8月前
|
机器学习/深度学习 数据采集 人工智能
头疼!卷积神经网络是什么?CNN结构、训练与优化一文全解
头疼!卷积神经网络是什么?CNN结构、训练与优化一文全解
62 0
|
9月前
|
机器学习/深度学习 资源调度 算法
深度学习原理篇 第六章:DETR
简要介绍DETR的原理和代码实现。
314 0
|
机器学习/深度学习 人工智能 算法
目标检测模型设计准则 | YOLOv7参考的ELAN模型解读,YOLO系列模型思想的设计源头
目标检测模型设计准则 | YOLOv7参考的ELAN模型解读,YOLO系列模型思想的设计源头
741 0
目标检测模型设计准则 | YOLOv7参考的ELAN模型解读,YOLO系列模型思想的设计源头
|
10月前
|
网络架构 计算机视觉
UNet++详细解读(一)论文技术要点归纳
UNet++详细解读(一)论文技术要点归纳
206 0
|
10月前
|
编解码
nnUNet 详细解读(一)论文技术要点归纳
nnUNet 详细解读(一)论文技术要点归纳
315 0