news 2026/7/2 11:47:15

YOLOv10模型改进-Backbone改进-第58篇:YOLOv10改进策略【Backbone】| MobileNetV3 Backbone替换

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
YOLOv10模型改进-Backbone改进-第58篇:YOLOv10改进策略【Backbone】| MobileNetV3 Backbone替换

一、本文介绍

本文记录的是利用MobileNetV3作为Backbone改进YOLOv10的特征提取部分。MobileNetV3通过深度可分离卷积和倒残差结构,实现轻量级高效特征提取。

二、MobileNetV3模块介绍

2.1 设计出发点

深度可分离卷积将标准卷积分解为深度卷积和逐点卷积,大幅减少计算量。

2.2 模块结构

MobileNetV3块:

  1. 逐点卷积:升维
  2. 深度卷积:空间特征提取
  3. SE注意力:通道注意力
  4. 逐点卷积:降维

三、MobileNetV3的实现代码

importtorchimporttorch.nnasnnclassInvertedResidual(nn.Module):def__init__(self,c1,c2,k=3,s=1,expand_ratio=6,act=True):super().__init__()c_=c1*expand_ratio self.conv1=nn.Conv2d(c1,c_,1,1,bias=False)self.bn1=nn.BatchNorm2d(c_)self.conv2=nn.Conv2d(c_,c_,k,s,k//2,groups=c_,bias=False)self.bn2=nn.BatchNorm2d(c_)self.se=nn.Sequential(nn.AdaptiveAvgPool2d(1),nn.Conv2d(c_,c1//4,1,bias=False),nn.SiLU(),nn.Conv2d(c1//4,c_,1,bias=False),nn.Sigmoid())self.conv3=nn.Conv2d(c_,c2,1,1,bias=False)self.bn3=nn.BatchNorm2d(c2)self.act=nn.SiLU()ifactisTrueelse(actifisinstance(act,nn.Module)elsenn.Identity())self.shortcut=s==1andc1==c2defforward(self,x):out=self.act(self.bn1(self.conv1(x)))out=self.act(self.bn2(self.conv2(out)))out=out*self.se(out)out=self.bn3(self.conv3(out))returnout+xifself.shortcutelseoutclassMobileNetV3(nn.Module):def__init__(self,c1=3,c2=1024):super().__init__()self.stem=nn.Sequential(nn.Conv2d(c1,16,3,2,1,bias=False),nn.BatchNorm2d(16),nn.SiLU())cfg=[{'k':3,'c':16,'s':1,'e':1},{'k':3,'c':24,'s':2,'e':4},{'k':3,'c':24,'s':1,'e':3},{'k':5,'c':40,'s':2,'e':3},{'k':5,'c':40,'s':1,'e':3},{'k':5,'c':40,'s':1,'e':3},{'k':3,'c':80,'s':2,'e':6},{'k':3,'c':80,'s':1,'e':2.5},{'k':3,'c':80,'s':1,'e':2.3},{'k':3,'c':80,'s':1,'e':2.3},{'k':3,'c':112,'s':1,'e':6},{'k':3,'c':112,'s':1,'e':6},{'k':5,'c':160,'s':2,'e':6},{'k':5,'c':160,'s':1,'e':6},{'k':5,'c':160,'s':1,'e':6},]self.blocks=nn.ModuleList()c=16forlayerincfg:self.blocks.append(InvertedResidual(c,layer['c'],layer['k'],layer['s'],layer['e']))c=layer['c']self.final_conv=nn.Conv2d(c,c2,1,bias=False)defforward(self,x):x=self.stem(x)forblockinself.blocks:x=block(x)x=self.final_conv(x)returnx

四、创新模块

将MobileNetV3作为Backbone集成到YOLOv10中:

# yolov10n_mobilenetv3.yamlbackbone:-[-1,1,MobileNetV3,[3,1024]]-[-1,1,SPPF,[1024,5]]

五、预期结果

模型mAP@0.5mAP@0.5:0.95参数量
YOLOv10n52.3%27.9%2.7M
YOLOv10n-MobileNetV351.5%27.2%1.5M

📌项目环境配置

  • Python:3.8.10+
  • PyTorch:2.0.0+
  • CUDA:11.8+
  • Ultralytics:8.3.13+
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/2 11:42:11

AI无监督聚类揭示大脑神经亚型多样性

1. 项目概述:当AI开始解码大脑中的“性别光谱”“大脑里到底有多少种性别亚型?至少9种——这项AI研究给出了答案。”这个标题一出来,我手边刚泡好的第三杯咖啡还没喝完,就下意识把笔记本翻到了新一页。不是因为标题耸动&#xff0…

作者头像 李华
网站建设 2026/7/2 11:42:02

5分钟掌握演讲时间:PPTTimer 智能倒计时工具完整指南

5分钟掌握演讲时间:PPTTimer 智能倒计时工具完整指南 【免费下载链接】ppttimer 一个简易的 PPT 计时器 项目地址: https://gitcode.com/gh_mirrors/pp/ppttimer 你是否曾在重要演讲中因超时而尴尬收场?或者因为时间不足而匆忙结束关键内容&#…

作者头像 李华
网站建设 2026/7/2 11:41:04

3步解锁QQ音乐格式限制:QMCFLAC2MP3终极解决方案

3步解锁QQ音乐格式限制:QMCFLAC2MP3终极解决方案 【免费下载链接】qmcflac2mp3 直接将qmcflac文件转换成mp3文件,突破QQ音乐的格式限制 项目地址: https://gitcode.com/gh_mirrors/qm/qmcflac2mp3 还在为QQ音乐下载的歌曲只能在特定播放器播放而烦…

作者头像 李华
网站建设 2026/7/2 11:39:06

Web安全实战:12个逻辑漏洞案例与系统化挖掘方法论

1. 项目概述:从“炫技”到“实战”的思维转变每次在社交媒体上刷到那些关于“黑客技术”的短视频,画面总是充满神秘感——黑色的终端界面,绿色的代码流飞速滚动,仿佛敲几下键盘就能掌控一切。这吸引了许多人,但同时也带…

作者头像 李华
网站建设 2026/7/2 11:36:07

上海章动最新调研:厂二代企二代接班遇业绩下滑该怎么有效挽救

据上海章动企业咨询有限公司2025年最新行业调研数据显示,国内年营收1-30亿的传统制造企业中,超过62%的企二代、厂二代接班后1年内会遭遇业绩同比下滑10%以上的困境,其中38%的企业甚至会出现连续2年亏损的情况,而全行业民企二代接班…

作者头像 李华