掌桥专利:专业的专利平台
掌桥专利
首页

一种基于改进的MobileNetV3特征提取网络

文献发布时间:2023-06-19 11:39:06


一种基于改进的MobileNetV3特征提取网络

技术领域

本发明涉及涉及深度学习中用于提取特征的骨干网络领域。

背景技术

计算机视觉领域内目标检测、语义分割等算法模型的构建离不开CNN的支持,现阶段常见的特征提取网络如Resnet通过构建一个体量较为庞大的模型来获取较高的分类精度,然而更深的网络会给网络附加更多的参数量与运算量,以Resnet-101为例该模型参数约为46.5M,浮点运算量则为7.6B,不具备实时性与轻量性。

随着技术的发展与需求的演变,轻量化模型的越来越受到人们的重视,目前常见的轻量化网络模型大致分为:

(1)MobileNet系列:提出利用逐点卷积(PW)和深度卷积(DW)替代原始卷积核来缩减参数量与计算量,并在后续版本中引入反向残差和h-swish激活函数进一步提升模型表达能力。

(2)ShuffleNet系列:利用分组卷积以及通道混洗等技术对网络模型进行轻量化。

而纯粹通过高效卷积等方式来缩小模型或压缩特征信息的做法虽然在参数量和运算量对模型有所改善但会无法避免的降低模型精度。因此可以认为,特征图的丰富性及冗余性特点是决定模型是否精准的关键因素,对模型进行轻量化的方式不应该是避免特征的冗余性而是应该利用成本更低、计算更为高效的方式去获取它。本发明也将利用运算成本低的方法在保证特征冗余性的同时减少模型运算量。

发明内容

为了克服上述现有技术的不足,本发明提出了一种基于改进的MobileNetV3特征提取网络。该技术引用了深度学习中的MobileNetV3网络结构,并针对网络同一层级的输出特征集合具有相似性的特点,对MobileNetV3网络进行了进一步的优化与改进。

本发明所采用的技术方案是:

步骤1:利用少量卷积核生成本体特征图,卷积方式采用逐点分组卷积,分组卷积的方式可以降低计算量和参数量。

步骤2:经过逐点分组卷积处理后,由于组间信息无法交流,采用改进的AD-Shuffle通道混洗方式将特征通道进行混洗,即将原始shuffle操作中每组内未参与跨组处理的特征与其他分组内的同类成员进行融合得到全新特征。

步骤3:该步骤为专利核心内容,原始卷积操作会得到通道数为n的特征图,而步骤1生成的本体特征图的数量m小于n,为了获得原计划数量为n的特征,设计了shadow-module模块,即对步骤1获取到的本体特征采用高效运算手段进行处理,该运算分别在各自通道中进行,得到大量影子特征图,将影子特征图与原始特征图拼接,最终得到数量为n=m×s的特征图;

步骤4:根据前三个步骤提出全新的Shadow-Bottleneck,该模块与Resnet残差块非常相似,Shadow-Bottleneck主要由两个叠堆的Shadow Module构建而成,第一个ShadowModule主要作用是来增加特征通道数,在输出后需要进行批量化处理和ReLU函数处理,第二个Shadow Module则是用来降低特征通道数用以匹配shortcut的输出,输出只需要进行一次批量化处理,对于stride=2需要在两个Shadow Module间插入一个步长为2的深度卷积进行下采样处理;

步骤5:参考MobileNetV3的网络结构,将MobileNetV3中的Bottleneck替换成步骤四的Shadow-Bottleneck,最终利用全局平均池化和全连接层将特征图转换为1280维特征向量完成分类。

与现有技术相比,本发明的有益效果是:

(1)对于分类精度,丰富的特征含量使得该模型具有更好的分类准确度;

(2)对于轻量性,分组卷积及shadow module影子特征图高效生成方式使得模型具有更少的计算量。

附图说明

图1为:原始卷积操作示意图。

图2为:特征可视化结果图。

图3为:shadow module模型示意图。

图4为:逐点分组卷积示意图。

图5为:Shuffle操作示意图。

图6为:AD-Shuffle操作示意图。

图7为:Shadow-Bottleneck模块示意图。

图8为:EL-MobileNet结构示意图。

图9为:shadow module输入输出对比图。

图10为:几类常见模型的运算量与精确度分布散点图。

图11为:几类常见模型的参数量与精确度分布散点图。

具体实施方式

下面结合附图对本发明进一步说明。

首先,基于卷积神经网络的网络模型在进行特征提取的过程如图1所示。输入图像X∈H×W×C

本体特征图的生成方式我们采用1×1分组卷积与改进的通道混洗方法AD-shuffle。逐点分组卷积的过程如图4所示,分组卷积将首先把输入特征图按照特征通道数均分为g组,则每组输入特征图的尺寸为H×W×C

分组卷积中由于每组的特征输出仅仅与各个组内的输入特征相关,组与组之间的通信被阻断,图像信息的表征能力会下降,因此需要利用通道混洗方式来进行进一步的处理,如图5所示,传统的通道混洗方式由于在计算过程中,每组依旧保留着一个来自上一操作且完全未经处理的通道,这就造成了部分信息损失,为了解决这一难题,因此提出了改进的通道混洗操作,如图6所示。该模块将每组未经处理的特征与混洗得到的其他组特征进行融合得到一个全新的输出单元,假设输入特征图通道数为9,分组数为3,则9个特征中有6个特征需要完成常规混洗操作,绿色分组内第一个特征由于为进行跨组交流,我们便利将红色分组与蓝色分组混洗后的特征与该特征进行融合,同时需要对红色分组与蓝色分组内为完成交换的单元进行相似处理,最终将三个新特征与其余6个特征进行拼接,得到与原始混洗模块通道数量一致的输出特征。

为了能够获得原计划期望获得特征图数量,我们将在第一步获取到的本体特征图Y′的基础上,利用下列函数并使用一系列运算成本较低的运算方式来生成与Y′特征信息较为相似的影子特征图,这一操作不仅可以在降低运算成本的同时增加通道数还可以保证维持原有网络模型的特征信息的丰富性,流程见公式(2):

其中,y′

其中s<<c,d×d与k×k大小相似。同样,模型参数的压缩比例见公式(4):

更具分组卷积和改进的通道混洗以及Shadow Module我们设计出全新的Shadow-Bottleneck模块如图7所示,Shadow-Bottleneck与ResNet模型当中的基本残差块非常相似,其包含多个卷积层和shrotcut,Shadow-Bottleneck主要由两个叠堆的Shadow module构建而成,第一个Shadow module主要作用是来增加特征通道数,相当于网络中的膨胀层,我们定义膨胀比为输出通道数与输入通道数的比值,第二个Shadow module则是用来降低特征通道数用以匹配shortcut的输出,两个模块配合使用与MobileNetV2的倒残差结构非常相似。针对Stride=1的情况,我们在第二个Shadow module后不再使用ReLU函数,其他层在最后都会使用批量归一化(BN)和ReLU非线性激活函数。而对于stride=2的情况,则需要进行一些细微调整,将步长为2的深度卷积插入进两个叠堆的Shadow module之间用于进行下采样。

我们使用Shadow-Bottleneck代替MobileNetV3中原有的Bottleneck。第一层依旧为标准卷积层,该层一共包含有16个3×3卷积过滤器,之后利用一系列Shadow-Bottleneck来增加特征通道数,这些模块会根据自身输入特征图的大小分到不同的阶段,每个阶段最后的步长都设置为2,其余步长都为1,模型的最后通过全局平均池化和卷积层将特征图转换为1280维特征向量进行分类,同样,EL-MobileNet的残差层也使用SE模块,但MobileNetV3原有hard-swish由于时延过高都被替换为ReLU非线性函数。EL-MobileNe结构示意图如图8所示。

图9为shadow module输入输出特征可视化图,其中绿色框为本体特征,红色框为影子特征,可以看出两者即存在相似性又存在差异,这就满足了特征集合的丰富性特点,为模型分类能力的提升提供保证。

图10和图11为EL-MobileNet模型与现阶段常见的几类轻量化模型的效果散点图,其中图9为FLOPs与精确度散点图,可以看到,相比入MobileNet和ShuffleNet模型,EL-MobileNet精度更高,计算量更少,而达到甚至超过EL-MobileNet分类精度的模型如FBNet和IGCV3,计算量是EL-MobileNet模型的数倍。图10为参数量与分类精度散点图,FBNet的精度最高,参数量也最大,EL-MobileNet与IGCV3的分类精度以及参数量大小相似。

相关技术
  • 一种基于改进的MobileNetV3特征提取网络
  • 一种基于MobileNetV3网络模型的红外人体行为识别方法
技术分类

06120113007267