论文学习笔记(七)Pelee: A Real-Time Object Detection System on Mobile Devices

『写在前面』

目标检测轻量级网络。

论文出处:NeurIPS 2018

作者机构:Robert J. Wang等,University of Western Ontario

原文链接:https://arxiv.org/pdf/1804.06882v2

相关repo:https://github.com/Robert-JunWang/Pelee


目录

摘要

1 介绍

2 PeleeNet:一个高效特征提取网络

2.1 网络结构

2.2 各个trick的作用

3 Pelee:实时目标检测系统


摘要

没有像MobileNets和ShuffleNet等一样,采用深度可分离卷积替代传统卷积。本文提出一种轻量化网络结构PeleeNet,其中使用的全部是标准卷积。但模型更小,精度更高。Pelee中文音同“霹雳”,在iphone8和NVIDIA TX2等移动端设备上测试,速度极快。

1 介绍

为了能够在移动设备上运行高效的CNN模型,MobileNet、ShuffleNet、MobileNet v2等相继被提出,但这些模型都过度依赖于depthwise卷积,而深度可分离卷积缺乏高效实现(cuDNN 7开始有了)。 


首先,本文基于DenseNet进行改进,提出了一种新的分类模型PeleeNet,在大大缩小模型的同时,达到了更高的精度。PeleeNet的一些特点列举如下:

Two-Way Dense Layer

受GoogLeNet启发,使用双路密集层以获得不同大小的感受野。如下图所示,一路使用1个3*3 conv,另一路使用2个3*3 conv。

 Stem Block

受Inception-v4和DSOD的启发,提出一种低成本的stem block,用于在首个dense layer之前提取特征。有效提高特征表示能力的同时没有增加太多的计算量。

Dynamic Number of Channels in Bottleneck Layer

根据输入feature map的shape动态调整瓶颈层的通道数目,而没有像原版DenseNet中那样,直接扩大4倍。

Transition Layer without Compression

作者认为DenseNet中的压缩操作会损害特征表达,所以在PeleeNet中,过渡层不会进行通道数量的压缩。

Composite Function

使用"Conv-BN-ReLU"(后激活),而不是想DenseNet那样进行预激活。后激活的好处是,在做inference时,可以将所有的BN层与卷积层合并,可以大幅提高计算速度。为了弥补后激活对精度降低的影响,PeleeNet在设计时尽可能“浅而宽”。并且在最后一个dense block之后添加了1*1卷积层以获得更高级的特征。


另外一项重要工作是使用PeleeNet改进SSD,提出一种新的轻量级目标检测模型Pelee,为了平衡精度和效率做了如下几个优化:

特征图选择

没有使用原版SSD中38*38的feature map做预测,只使用了19*19、10*10、5*5、3*3、1*1五个feature map.

残差预测模块

设计了一个ResBlock用来产生用于进行预测的feature map.

小卷积核进行预测

使用1*1卷积做最后预测。

2 PeleeNet:一个高效特征提取网络

2.1 网络结构

与ShuffleNet等3-stage轻量级网络不同,PeleeNet沿用了大模型经常采用的4-stage设计。

首先,通过1个stem block快速抽取特征。然后经过4个由dense layers和1个Transition layer组成的stage,除stage4以外,其他3个stage最后都使用了stride=2的Avg-pooling。最后,通过1*1卷积得到预测用的feature map,再通过全局平均池化做最终预测。具体网络结果如下表所示。

2.2 各个trick的作用

使用DenseNet-41作为基准模型。它与原版DenseNet有两处不同:

  1. 第一个卷积层通道数改为24(原:64),卷积核大小3*3(原:7*7);
  2. 根据计算量要求调整dense block中的层数。

3 Pelee:实时目标检测系统

概述:

  • 高效特征提取网络PeleeNet
  • 选了5个小尺寸的feature map做检测
  • ResBlock
  • 1*1卷积生成预测feature map

没有使用SSD中38*38的feature map做预测。对19*19的feature map使用两种不同大小的默认框,其余4种分别对应1个默认框。这样保持了最后还是输出6种scale的feature map。

猜你喜欢

转载自blog.csdn.net/sinat_37532065/article/details/86546419