tensorflow MobileNetV2的目标检测测试

  谷歌近期又推出了下一代移动视觉应用 MobileNetV2 ,它在 MobileNetV1 的基础上获得了显著的提升,并推动了移动视觉识别技术的有效发展,包括分类、目标检测和语义分割。MobileNetV2 作为 TensorFlow-Slim 图像分类库的一部分而推出,同时也已经集成到目标检测的包中,同时重要的是提供了预训练模型。

1、模型原理

  从论文的名字《MobileNetV2: Inverted Residuals and Linear Bottlenecks》即可看出:MobileNetV2基于MobileNetV1的思想,同时也有两点大的不同,一是基于反向残差结构,其中残差块的输入和输出是较短的瓶颈层,这与在输入中使用扩展表征的传统残差模型正相反。MobileNetV2 使用轻量级深度卷积过滤中间扩展层的特征;二是为了保持表征能力,移除短层中的非线性很重要,这提升了性能,并带来了催生该设计的直观想法,即允许将输入/输出域与转换的表现性分开,从而为未来的分析提供一个简便的框架。

(1)反向残差结构


左图可以理解为:先用1x1降通道过ReLU,再3x3空间卷积过ReLU,再用1x1卷积过ReLU恢复通道,并和输入相加。之所以要1x1卷积降通道,是为了减少计算量,不然中间的3x3空间卷积计算量太大。所以Residual block是沙漏形,两边宽中间窄
右图中:中间的3x3卷积变为了Depthwise的了,计算量很少了,所以通道可以多一点,效果更好,所以通过1x1卷积先提升通道数,再Depthwise的3x3空间卷积,再用1x1卷积降低维度。两端的通道数都很小,所以1x1卷积升通道或降通道计算量都并不大,而中间通道数虽然多,但是是Depthwise的卷积,计算量也不大。称之为Inverted residual block,两边窄中间宽,较小的计算量得到较好的性能。

其模型的架构与MobileNetV1等对比如下图所示:



2、模型实验

  由于分类的实验本质上包含在目标检测中,此处只对检测进行分析:

(1)object_detection包中自带的测试图片,其检测结果如下,可见还是有一些未检测出来的。


(2)与上次mobilenetv1实验进行对比,见博客:tensorflow model中目标对象检测包的编译和测试

其中照片位置:https://worldtravelholics.files.wordpress.com/2014/07/img_4720.jpg

下图为mobilenetv2的检测效果

下图为mobilenetv1的检测效果


可见mobilenetv2的检测效果比v1版本来得好!

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值