YOLOv8性能提升:引入华为GhostNetv1特征提取网络

摘要

目标检测算法YOLOv8凭借其优异的实时性和精度平衡,广泛应用于工业与学术领域。然而,在移动端或嵌入式设备等资源受限场景下,其原生主干网络(如CSP结构)的计算开销成为部署瓶颈。本文提出将华为提出的轻量化网络GhostNetV1作为YOLOv8的主干网络,通过Ghost模块替代传统卷积,以低成本操作生成更多特征图,显著减少参数量和计算量。实验表明,改进后的模型在保持精度的同时,FLOPs降低约30%,更适合移动端部署。


1. GhostNetV1核心原理

1.1 Ghost模块设计

GhostNet的核心创新在于Ghost模块,其通过两步生成特征图:

  1. 初级卷积:少量标准卷积生成内在特征图(如输入通道的1/2)。
  2. 廉价操作:对内在特征图应用线性变换(如深度卷积、逐点卷积)生成冗余的“Ghost特征图”,最终拼接为完整输出。

数学表达
给定输入特征图 ( X ),传统卷积输出 ( Y = Conv(X) ),而Ghost模块输出为:
[ Y’ = Concat(Y_{primary}, \Phi(Y_{primary})) ]
其中 ( \Phi ) 为廉价操作,( Y_{primary} ) 是初级卷积结果。

### YOLOv8 特征提取网络架构及组成部分 #### 一、SimRepCSP 主干网络 YOLOv8采用SimRepCSP作为主干网络来提取特征[^1]。该网络通过优化网络架构、减少计算和内存成本以及增强特征提取和参数调优,显著提高了模型的效率和性能。 ```python class SimRepCSP(nn.Module): def __init__(self, c1, c2, n=1, shortcut=True, g=1, e=0.5): super(SimRepCSP, self).__init__() c_ = int(c2 * e) # hidden channels self.cv1 = Conv(c1, c_, 1, 1) self.cv2 = nn.Conv2d(c1, c_, 1, 1, bias=False) self.cv3 = nn.Conv2d(c_, c_, 1, 1, bias=False) self.cv4 = Conv(2 * c_, c2, 1, 1) self.bn = nn.BatchNorm2d(2 * c_) self.act = nn.LeakyReLU(0.1, inplace=True) self.m = nn.Sequential(*[Bottleneck(c_, c_, shortcut, g, e=1.0) for _ in range(n)]) def forward(self, x): y1 = self.cv3(self.m(self.cv1(x))) y2 = self.cv2(x) return self.cv4(self.act(self.bn(torch.cat((y1, y2), dim=1)))) ``` #### 二、EfficientViT 高效特征提取网络 除了SimRepCSP外,另一种用于改进YOLOv8特征提取的方法是使用EfficientViT高效的特征提取网络[^2]。这种轻量化网络结构能够提供更优秀的特征表达能力,在保持低资源消耗的同时提升检测效果。 #### 三、Ghostnetv2 移动端模型 华为提出的Ghostnetv2也是一种有效的特征提取方案[^3]。它作为一种轻量级高效卷积神经网络架构,可以在不牺牲太多性能的情况下大幅降低模型复杂度,适用于移动设备上的实时目标检测任务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值