MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications

来源:互联网 发布:史丹利的寓言mac版 编辑:程序博客网 时间:2024/05/29 10:58

TensorFlow实现:https://github.com/Zehaos/MobileNet
caffe实现:https://github.com/pby5/MobileNet_Caffe

MobileNets用于手机或嵌入式视觉应用,提出使用depthwise separable convolutions 构造轻量化的深度神经网络,并使用两个全局超参数Width Multiplier和Resolution Multiplier减少参数数量。

模型结构
1. Depthwise Separable Convolution
标准的卷积滤波和特征组合在一步内完成,Depthwise Separable卷积将标准的卷积分解为一个depthwise卷积和一个1*1的pointwise卷积。depthwise卷积对每个输入通道用一个滤波器计算,pointwise卷积使用1*1的卷积组合depthwise的结果。这个分解可以有效降低计算量和模型大小,分解过程如下图所示:
这里写图片描述
分解前后计算量对比为,分解后计算量降低了8~9倍:
这里写图片描述
2. 网络结构
MobileNet第一层是全卷积,其余卷积层使用depthwise separable卷积构建,除最后一层,所有层与Batch Norm和ReLU衔接,最后一层输入到softmax层。MobileNet的网络结构为:
这里写图片描述
下图显示了分解卷积与常规卷积的区别:
这里写图片描述

MobileNet花费了95%的计算时间在1*1的卷积上,主要参数也在1*1卷积中,其余的参数在全连接层中,如下表所示:
这里写图片描述
3. 模型瘦身-width乘子α
输入通道数乘子α,计算量下降α2
4. 降低分辨率-分辨率乘子ρ
降低输入图像或特征图的分辨率,计算量下降ρ2

实验结果
MobileNet与GoogleNet,Vgg16对比,准确度差不多,但参数少很多
这里写图片描述

物体检测结果,使用Faster-RCNN,SSD框架与VGG,Inception V2对比:
这里写图片描述

3 0
原创粉丝点击