YOLOv9(2):YOLOv9网络结构

1. 前言

本文仅以官方提供的yolov9.yaml来进行简要讲解。

讲解之前,还是要做一些简单的铺垫。

Slice层不做任何的操作,纯粹是做一个占位层。这样一来,在parse_model时,ch[n]可表示第n层的输出通道。

Detect和DDetect主要区别还是是否使用分组卷积。

RepConv(Re-Paramterization)老生常谈了,重参化,优化推理效率。

2. 重参化(re-parameter)

在讲YOLOv9的网络结构之前,有必要引入一下"重参化(re-parameter)"技术。重参化技术并不是YOLOv9提出的,相反,已经是一个用的相当广泛的技术。细心地朋友可以发现,其实YOLOv5中已经在fuse_conv中体现了。

重参化是一种从网络推理效率和性能方面出发,优化得到的网络结构。其基本思想是在训练时使用多分支(如多个Conv层),增加梯度反馈路径。在推理时进行融合,减小计算量,提高推理效率。

以Conv+BN为例,我们都了解,卷积层(Conv)实际上是一个y = ax+b的过程。

训练阶段,基本的操作包含两个部分。

Conv:

BN:

其中,bn.mean为均值(对应nn.BatchNorm2d中的running_mean),bn.var为方差(对应nn.BatchNorm2d中的running_var),分别对应nn.BatchNorm2d中的weight和bias,对应nn.BatchNorm2d中的eps。

推理阶段,可将Conv和BN进行相应的合并计算,同时需要将参数进行重新的映射。具体如下。

如上,其中组成了新的weight,组成了新的bias。

3. ELAN

ELAN(Efficient layer aggregation network)高效层聚合网络,具体的说是一种网络结构设计策略,最早在论文Designing Network Design Strategies Through Gradient Path Analysis(https://arxiv.org/abs/2211.04800)被提出。

简单讲,在论文中,作者认为神经网络结构设计主要分为两种,分别是依据数据路径设计和依据梯度路径设计。

ELAN则是依据梯度路径设计策略进行相关的设计和优化,更具体的讲,ELAN侧重于最大化梯度源,丰富梯度路径。

当然,大家不要将这一部分过分解读,其实在以往的ResNet,CSPNet中,已经在实践这一策略了。

具体大家可以多参考其他博主的资源,如下链接就已经解释的很详细了:https://zhuanlan.zhihu.com/p/598642990?utm_id=0

4. YOLOv9中的组件

(1) RepConvN

先从forward中观察总体的流程,也即训练过程中的操作。在训练过程中的流程如下。

推理时,执行fuse_convs,此时会将conv1、conv2和进行重参化(re-parameter),转换成一个conv操作。

(2) RepNBottleneck

(3) RepNCSP

(4) RepNCSPELAN4

从名字上可以看出,该模块式一个Rep + CSP + ELAN的组合网络。Rep优化计算,CSP丰富梯度,ELAN做高效的特征聚合。

CSP:丰富组合、减少冗余、降低计算量。

需要说明的一点是,以上几张图仅仅是做一个大体的展示,在实际使用过程中会存在各种通道或分辨率上的计算。

(5) CBLinear

(6) CBFuse

CBFuse的上一级输入是CBLinear。CUFuse的每一次调用都是输入Tensor的一部分,并不是整个Tensor的聚合。

5. YOLOv9的网络架构

经过以上组件的简单介绍,YOLOv9(yolov9.yaml)就已经比较简单明了了。

相关推荐
jinanwuhuaguo4 小时前
截止到4月8日,OpenClaw 2026年4月更新深度解读剖析:从“能力回归”到“信任内建”的范式跃迁
android·开发语言·人工智能·深度学习·kotlin
AI人工智能+5 小时前
基于高精度身份证OCR识别、炫彩活体检测及人脸比对技术的人脸核身系统,为通信行业数字化转型提供了坚实的安全底座
人工智能·计算机视觉·人脸识别·ocr·人脸核身
AI人工智能+5 小时前
一种以深度学习与计算机视觉技术为核心的表格识别系统,实现了结构化、半结构化表格的精准文字提取、布局解析与版面完整还原
深度学习·计算机视觉·ocr·表格识别
AI视觉网奇5 小时前
几何数据集 多模态
人工智能·深度学习
minglie16 小时前
zynq环境用opencv测摄像头
人工智能·opencv·计算机视觉
Fleshy数模6 小时前
基于MediaPipe实现人体姿态与脸部关键点检测
python·opencv·计算机视觉
輕華7 小时前
OpenCV答题卡识别:从图像预处理到自动评分
人工智能·opencv·计算机视觉
Dfreedom.8 小时前
【实战篇】图像分割-计算图中不同颜色区域的面积比
图像处理·人工智能·深度学习·计算机视觉·图像分割·otsu
计算机毕业设计指导9 小时前
基于机器学习和深度学习的恶意WebURL检测系统实战详解
人工智能·深度学习·机器学习·网络安全
zcg19429 小时前
raw域噪声到底怎么建模
计算机视觉