问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

mobilenetv3怎么部署到嵌入式系统上

发布网友 发布时间:2023-02-08 12:47

我来回答

2个回答

热心网友 时间:2023-09-20 18:32

1. 实现MobilenetV3_ssd网络

2. 在大型数据集上进行预训练

3. 制作自己的数据集并训练

4. 剪枝

5. 部署

热心网友 时间:2023-09-20 18:32

为了追求更高的准确率,自从AlexNet以来,神经网络更加倾向于更深、更复杂的设计结构,这就导致对GPU的需求提高,在现实生活中很难达到,因为在实际生活中,识别任务更需要是在有限的计算环境下实时计算(基本都是在移动端)。

因此,谷歌团队在2017年提出了专注于移动端或嵌入式设备中的轻量级神经网络-MobileNet,到如今已发展了三个版本。

1

MobileNet_V1

MobileNet的基本单元是深度可分离卷积,它是将标准卷积拆解为深度卷积(depthwise convolution) 和逐点卷积(pointwise convolution)。

标准卷积的卷积核是作用在所有输入通道上,而深度卷积是针对每个输入通道采用不同的卷积核,即一个卷积核对应一个通道,而点卷积其实就是普通的卷积,只不过是采用1x1的卷积核, 如图1所示,下面对比一下各自的计算量。



(a) 标准卷积



(b) 深度卷积



(c) 点卷积

图1 标准卷积与深度可分离卷积计算对比

令输入尺寸为DFxDFxM,标准卷积核的尺寸为DKxDKxMxN,若采用标准卷积进行操作,步长为1且存在padding,则计算量为DKxDKxMxNxDFxDF。

采用深度卷积的方式进行卷积,先使用 M个深度卷积核对输入的M个通道分别进行卷积得到的尺寸为 DF x DF x M,这一步的计算量为 DK x DK x M x DF x DF;

再使用N个 1 x 1 x M的卷积核进行逐点卷积得到输出尺寸为 DF x DF x M x N,这一步的计算量为 M x N x DF x DF;故总的计算量为 DK x DK x M x DF x DF + M x N x DF x DF。所以深度可分离卷积与标准卷积相比得:



一般情况下,N取值较大,若采用常用的3x3卷积核,则深度可分离卷积的计算量则是标准卷积的九分之一。

在实际使用深度可分离卷积时,会添加BN层和RELU层(RELU6),其对比结果如图2所示。



(a)带RELU的标准卷积 (b)带BN和RELU的深度可分离卷积

图2 标准卷积与深度可分离卷积机构对比

最终MobileNet_V1的网络结构如图3所示。一共是28层(不包括平均池化层和全连接层,且把深度卷积和逐点卷积分开算),除了第一层采用的是标准卷积核之外,剩下的都是深度可分离卷积层。



图3 MobileNet_V1网络结构

虽然MobileNet_V1的延迟已经比较小了,但更多时候在特定应用下需要更小更快的模型,因此引入了宽度因子,作用是在每层均匀地稀疏网络,为每层通道乘以一定的比例,从而减少各层的通道数,常用值有1、0.75、0.5、0.25。

引入的第二个超参数是分辨率因子,用于控制输入和内部层表示,即控制输入的分辨率,常在(0,1]之间。

值得注意的是,计算量量减少程度与未使用宽度因子之前提高了1/(**2 xρx ρ)倍,参数量没有影响。最终实验结果证明在尺寸、计算量和速度上比许多先进模型都要优秀。

2

MobileNet_V2

MobileNet_V2发表于2018年,是在MobileNet_V1的基础上引入了倒置残差连接和线性瓶颈模块。

残差结构是先用1× 1的卷积实现降维,然后通过3 × 3卷积,最后用 1 × 1 卷积实现升维,即两头大中间小。在MobileNet_V2 中,则是将降维和升维的顺序进行了调换,且中间为3 × 3 深度可分离卷积,即两头小中间大。对比图如图4所示。



(a)残差结构 (b)倒置残差结构

图4 残差与倒置残差结构对比图

那为什么会先升维再降维呢?这是因为倒置残差结构包含深度可分离卷积外,还使用了Expansion layer和 Projection layer。先通过1 × 1 卷积的Expansion layer将低维空间映射到高维空间,之后在用深度可分离卷积来提取特征,然后使用1 × 1卷积的Projection layer把高维特征映射到低维空间进行压缩数据,让网络从新变小。

这里的Expansion layer 和 Projection layer 都是有可以学习的参数,所以整个网络结构可以学习到如何更好的扩展数据和重新压缩数据。

还有一个是线性瓶颈块(linear bottleneck),这是由于当输入一个二维矩阵时,采用不同的矩阵T把它进行升维到更高的维度上,使用激活函数ReLU, 然后再使用T 的逆矩阵对其进行还原。

结果发现,当T的维度为2或者3时,还原回来的特征矩阵会丢失很多信息,但随着维度的增加,丢失的信息越来越少。

可见,ReLU 激活函数对低维特征信息会造成大量损失,所以在倒置残差块最后输出低维特征的激活函数是线性激活函数,同时实验证明,使用 linear bottleneck 可以防止非线性破坏太多信息。整体网络结构如图5所示。



图5 MobileNet_V2网络结构

图5中t表示1 × 1卷积的升维倍率,c是输出特征矩阵的通道数,n表示倒置残差块结构重复的次数,s表示步距。最终实验表明,参数量仅为3.4M,CPU上预测一张图不到0.1秒,几乎是实时!

3

MobileNet_V3

MobileNet_V3发布于2019年,依旧结合了V1的深度可分离卷积、V2的倒置残差和线性瓶颈层,同时采用了注意力机制,利用神经结构搜索进行网络的配置和参数。

V3分为两个版本,分别为MobileNet_V3 Large和MobileNet_V3 Small,分别适用于对资源不同要求的情况。

首先对于模型结构的探索和优化来说,网络搜索是强大的工具。研究人员首先使用了神经网络搜索功能来构建全局的网络结构,随后利用了NetAdapt算法来对每层的核数量进行优化。

对于全局的网络结构搜索,研究人员使用了与Mnasnet中相同的,基于RNN的控制器和分级的搜索空间,并针对特定的硬件平台进行精度-延时平衡优化,在目标延时(~80ms)范围内进行搜索。

随后利用NetAdapt方法来对每一层按照序列的方式进行调优。在尽量优化模型延时的同时保持精度,减小扩充层和每一层中瓶颈的大小。

其次在MobileNet_V3引入了压缩-激励(Squeeze-and-Excitation, SE)注意力结构,如图所示。SE结构通过学习来自动获取到每个特征通道的重要程度,然后依照这一结果去提升有用的特征并抑制对当前任务用处不大的特征。

将SE结构加入核心结构中,作为搜索空间的一部分,得到了更稳定的结构。虽然SE结构会消耗一定的时间,但作者将expansion layer的通道数变为原来的1/4,这样即提高了精度也没有增加时间消耗。



图5 添加SE注意力的倒置残差块

对于尾部结构,原先的V2在平均池化之前存在一个1x1的卷积层,目的是提高特征图的维度,但这带来了一定的计算量,但在V3中,作者为了降低计算量,池化后再接上1x1卷积,同时去掉了原中间3x3和1x1卷积,最终发现精度并没有损失,时间降低了大约15ms。

最后对于激活函数的改进,作者发现swish激活函数能够有效提高网络的精度,但swish的计算量太大了,因此提出h-swish激活函数:



这种非线性在保持精度的情况下带了了很多优势,首先ReLU6在众多软硬件框架中都可以实现,其次量化时避免了数值精度的损失,运行快。这一非线性改变将模型的延时增加了15%。

但它带来的网络效应对于精度和延时具有正向促进,剩下的开销可以通过融合非线性与先前层来消除。

最终MobileNet_V3结构如图6所示。

(a) MobileNet_V3 Large (b) MobileNet_V3 Small

图6 MobileNet_V3网络结构

图6中exp size表示倒置残差结构的通道数,out表示输入到线性瓶颈时特征层的通道数。SE表示是否引入注意力机制,NL表示激活函数种类(HS表示h-swish,RE表示RELU),s表示步长。

最终实验结果表明MobileNetV3-Large在ImageNet分类上的准确度与MobileNetV2相比提高了3.2%,同时延迟降低了15%。

4

参考文献

[1] Howard A G, Zhu M, Chen B, et al. Mobilenets: Efficient convolutional neural networks for mobile vision applications. arXiv:1704.04861, 2017.

[2] Sandler M, Howard A, Zhu M, et al. MobileNetV2: Inverted Resials and Linear Bottlenecks[C]// 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2018.

[3] Howard A, Sandler M, Chen B, et al. Searching for MobileNetV3[C]// 2019 IEEE/CVF International Conference on Computer Vision (ICCV). IEEE, 2020.

[4] https://zhuanlan.hu.com/p/58554116

关注我们,领取10+大礼包~


深蓝前沿教育
深蓝学院是专注于前沿科技的在线教育平台,为广大在校大学生、IT从业者、科研人员提供系统的前沿科技教育和咨询等服务。深蓝学院关注人工智能、机器人、增强现实等黑科技。
8篇原创内容
公众号
阅读至此了,分享、点赞、在看三选一吧

22个金币已到账
金币可兑换现金
立即提现
赶快来领取你的小家电专属优惠吧!

京东商城
打开京东
广告
郭明錤爆料:苹果iPhone 15 Pro将取消实体键
PChome电脑之家
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
企业培训学到了什么 培训感悟简短 有关培训的感悟 通过培训学到什么 培训你学到了什么 领导问培训学到什么怎么回复 Linux系统安装FTP服务器 Linux系统的网络文件共享 建筑的七盏明灯的内容简介 面向对象设计七大原则 简单说 交互设计七大定律 她对我说希望越大失望越大我怎么回复她,求支招在线急 mobilenetv3怎么部署到嵌入式系统上 郑州买房为什么是房产证不是不动产权证 郑州不动产的号约不上能办房产证吗 狗狗翻肠一般多长时间就好了 周大福的脚链丢了一个金豆豆 周大福能补吗?? 话筒有的用7号电池有的不用 郑州办理不动产登记的流程是怎样的 郑州买房为什么是房产证不是不动产权证 我想更换QQ密保手机,老是出现以下问题,怎么回事,我明明发短信了。_百... 霞客乐四驱升顶房车销售怎么样 超威锌动力充电电池都有哪些特点? 超威锌动力充电电池都有哪些特点? 滴当当当滴当当滴答滴答是什么歌 郑州不动产证分户图哪里查 郑州不动产登记证办理流程 滴答的儿歌指的是 门禁系统感应区铝合金门影响怎么处理 初中的入学分班考试一般英语都考些什么? 初中分班考试考什么?全部 苏伯尔电饭堡怎么蒸玉米 torch模型下mobilenet需要训练多久 郑州市经开区不动产抵押可以到郑州市不动产中心办理吗 郑州市不动产登记中心事业编待遇怎么样 升顶房车的优劣 容声冰箱档次在哪里 如何禁用 Mac OS X 的系统完整性 杜聿明为什么只是一个中将军衔 scale-location图怎么看 诺基亚5230、可是点击进入OIV地图里的我的方位、显示不是我在的地方怎 ... 一朝忽觉京梦醒,半世浮沉雨打萍是什么事? 纯棉加莱卡和拉夹棉哪个更好些 急? 三星官翻机还能防水吗 银行定期2年存款可以约车专三个月取出来吗? 一网通办显示pin密码校验错误 申请食品经营许可证 voivx3s手机电池不扛用了怎么办 郑州碧桂园象府不动产证是郑州还是中牟 常艳衣俊原因 游戏机月光宝盒一直有投币声音