一、本文介绍
Hello,大家好,上一篇博客我们讲了利用HGNetV2去替换YOLOv8的主干,经过结构的研究我们可以发现在HGNetV2的网络中有大量的卷积存在,所以我们可以用一种更加轻量化的卷积去优化HGNetV2从而达到更加轻量化的效果(亲测优化后的HGNetV2网络比正常HGNetV2精度更高轻量化效果更好,非常适合轻量化的读者),同时HGNetV2的网络结构目前还没有推出论文,所以其理论知识在网络上也是非常的少,我也是根据网络结构图进行了分析,给大家进行讲解网络结构原理(亲测替换之后主干GFLOPs降低到7.4,精度mAP提高0.06)。
轻量化效果:⭐⭐⭐⭐⭐
涨点效果:⭐⭐⭐⭐⭐
专栏目录:YOLOv8改进有效系列目录 | 包含卷积、主干、检测头、注意力机制、Neck上百种创新机制
专栏回顾:YOLOv8改进系列专栏——本专栏持续复习各种顶会内容——科研必备
二、HGNetV2原理讲解
2.1 HGNetV2的网络结构讲解
PP-HGNet 骨干网络的整体结构如下:
上面的图表是PP-HGNet神经网络架构的概览,下面我对其中的每一个模块进行分析:
1. Stem层:这是网络的初始预处理层,通常包含卷积层,开始从原始输入数据中提取特征。
2. HG(层次图)块:这些块是网络的核心组件,设计用于以层次化的方式处理数据。每个HG块可能处理数据的不同抽象层次,允许网络从低级和高级特征中学习。
3. LDS(可学习的下采样)层:位于HG块之间的这些层可能执行下采样操作,减少特征图的空间维度,减少计算负载并可能增加后续层的感受野。
4. GAP(全局平均池化):在最终分类之前,使用GAP层将特征图的空间维度减少到每个特征图一个向量,有助于提高网络对输入数据空间变换的鲁棒性。
5. 最终的卷积和全连接(FC)层:网络以一系列执行最终分类任务的层结束。这通常涉及一个卷积层(有时称为1x1卷积)来组合特征,然后是将这些特征映射到所需输出类别数量的全连接层。
这种架构的主要思想是利用层次化的方法来提取特征,其中复杂的模式可以在不同的规模和抽象层次上学习,提高网络处理复杂图像数据的能力。
这种分层和高效的处理对于图像分类等复杂任务非常有利,在这些任务中,精确预测至关重要的是在不同规模上识别复杂的模式和特征。图表还显示了HG块的扩展视图,包括多个不同滤波器大小的卷积层,以捕获多样化的特征,然后通过一个元素级相加或连接的操作(由+符号表示)在数据传递到下一层之前。
2.2 轻量化卷积
我这里利用的轻量化卷积只是官方仓库里面包含的四种,这个文章其实是给大家打开一个思路,这里的HGNet利用大量的卷积处理,所以我们能够替换其中大量的卷积从而达到优化和涨点的效果。
这几种卷积都是非常经典的了,其中RepConv只支持卷积核为3所以我也进行了一定的处理,原理就不再描述了。