前言:YOLOV7技术升级与核心创新
继美团推出YOLOV6之后,YOLO系列的原作者携YOLOV7重新回归公众视野。本次迭代的核心贡献可归纳为四个方向:模型重参数化、标签分配策略优化、ELAN高效网络架构,以及辅助头训练方法。重参数化技术最早由REPVGG提出,YOLOV7将其直接嵌入网络骨架;标签分配则融合了YOLOV5的跨网格搜索和YOLOX的匹配策略;ELAN是YOLOV7自主研发的高效网络结构,主打计算效率与特征表达能力;辅助头仅在训练阶段启用,以训练成本的增加换取推理时的精度提升,不影响实际运行速度。
一、YOLOV7是什么?——目标检测领域的最新标杆
YOLO算法是单阶段目标检测中最具代表性的模型,基于深度神经网络实现检测与定位,推理速度极快,非常适合实时系统。YOLOV7作为YOLO系列当前最先进的版本,在准确率和速度两方面均超越了前代作品。想要深入研究目标检测算法,YOLOV7是不可绕过的重要环节。
二、网络架构详解
1、架构图总览

2、CBS模块解读
CBS模块由卷积层(Conv)、批量归一化层(BN)和SiLU激活函数组成。SiLU是Swish的变体,两者数学公式对比如下:
silu(x)=x·sigmoid(x)
swish(x)=x·sigmoid(βx)

从架构图中可见,CBS模块以三种颜色区分,分别代表不同的卷积核尺寸与步长。最浅色的CBS为1×1卷积、步长1,主要用于调整通道数;稍深色的CBS是3×3卷积、步长1,负责特征提取;最深色的CBS为3×3卷积、步长2,用于下采样操作。

3、CBM模块解读
CBM模块与CBS结构基本一致,只是激活函数换成了Sigmoid。其构成同样是Conv + BN + Sigmoid,卷积核为1×1、步长1。

4、REP模块解读
REP模块区分训练与推理两种形态。训练阶段包含三个分支:最上分支采用3×3卷积(用于特征提取),中间分支使用1×1卷积(平滑特征),最下分支为Identity(不做任何操作),最后三个分支相加输出。推理阶段则仅保留一个3×3卷积(步长1),该卷积由训练阶段的三个分支通过重参数化融合而成——具体而言,先将1×1卷积和Identity分别转换为等效的3×3卷积形式,再进行矩阵加法,将三个分支的权重与矩阵叠加,最终合并成一个3×3卷积。

5、MP模块解读
MP模块包含两个分支,均用于下采样。第一条分支先经过MaxPool(最大池化)进行下采样,再接一个1×1卷积调整通道数;第二条分支先做1×1卷积改变通道数,再经过一个3×3卷积(步长2)进行下采样。最后将两个分支的结果相加,实现更强的下采样效果。

6、ELAN模块解读
ELAN是一种高效网络结构,通过控制最短与最长的梯度路径,帮助网络学习更多特征,同时提升鲁棒性。它包含两个分支:第一条分支经过一个1×1卷积改变通道数;第二条分支先经过1×1卷积,再通过四个3×3卷积进行特征提取。最后将四个特征叠加在一起,得到最终输出。

7、ELAN-W模块解读
ELAN-W与ELAN非常相似,唯一的区别在于第二条分支选取的输出数量不同:ELAN选取三个输出进行相加,而ELAN-W选取五个。
8、UPSample模块解读
上采样模块采用最近邻插值方法完成上采样操作。

9、SPPCSPC模块解读
SPP(空间金字塔池化)的核心作用在于增大感受野,使算法适应不同分辨率的图像。它通过不同尺度的最大池化获得多尺度感受野。在该模块中,第一条分支包含四个不同尺寸的MaxPool(5×5、9×9、13×13和1×1),每个尺度对应不同的感受野,用于处理不同大小的目标——例如一张照片中的狗、行人和车辆,尺度差异很大,多尺度池化能更好地区分大目标与小目标。CSP模块则将特征分为两部分,一部分正常处理,另一部分经过SPP结构,最后合并在一起,这样可减少一半计算量,同时精度反而有所提升。

