基于手机系统的实时目标检测

计算机视觉研究院专栏

作者:Edison_G

在具有有限计算能力和存储器资源的移动设备上运行卷积神经网络(CNN)模型的日益增长的需求促进了对有效模型设计的研究
公众号ID|ComputerVisionGzq
学习群|扫码在主页获取加入方式

关注并星标

从此不迷路

计算机视觉研究院

1

前言

在具有有限计算能力和存储器资源的移动设备上运行卷积神经网络(CNN)模型的日益增长的需求促进了对有效模型设计的研究。近年来已经提出了许多有效的架构,例如:MobileNetShuffleNetNASNet-A

然而,所有这些模型都严重依赖于深度可分的卷积,这在大多数深度学习框架中缺乏有效的实现。在这项研究中,提出了一个PeleeNet”的高效架构,采用传统的卷积方式架构。在ImageNet ILSVRC 2012数据集上,提出的PeleeNet比最先进的高效架构MobileNet的精度提高了0.6%(71.3%对70.7%),计算成本降低了11%。

同时,PeleeNet仅占MobileNet模型大小的66%。然后,提出了一种实时物体检测系统,它将PeleeNetSingle Shot MultiBox Detector(SSD)方法相结合,并优化架构以实现快速速度。

提出的检测系统名为Pelee,在PASCAL VOC2007上达到76.4%mAP(平均精度),在MSCOCO数据集上达到22.4% mAP,iPhone 6s上的速度为17.1 FPS,iPhone 8上的速度为23.6 FPS,COCO的结果优于YOLOv2,考虑更高的精度,13.6倍的计算成本和11.3倍的模型尺寸。

PeleeNet 关键特征

  • Two-Way Dense Layer:

受GoogLeNet (Szegedy et al. (2015))的两路Dense Layer的激发,研究者使用了一个两路Dense Layer来得到不同尺度的感受野。
其中一路使用一个3×3 的卷积核,它能够较好地捕捉小尺度目标;另一路使用两个3×3的卷积核来学习大尺度目标特征。该结构如下图所示:
  • Dynamic Number of Channels in Bottleneck Layer

另一个亮点就是Bottleneck Layer通道数目会随着输入维度的变化而变化,保证输出通道的数目不会超过输出通道。

与原始的 DenseNet 结构相比,实验表明这种方法在节省 28.5% 的计算资源的同时仅仅会对准确率有很小的影响。

  • Transition Layer without Compression

实验表明,DenseNet 提出的压缩因子会损坏特征表达,PeleeNet在转换层中也维持了与输入通道相同的输出通道数目。

  • Composite Function

为提升实际的速度,采用conventional wisdom of post-activation(Convolution-Batch Normalization (Ioffe & Szegedy (2015))- Relu))作为我们的复合函数,而不是DenseNet中所用的预激活。对于post-activation而言,所有的批正则化层可以在推理阶段与卷积层相结合,这可以很好的加快速度。

为了补偿这种变化给准确率带来的不良影响,研究者使用一个浅层的、较宽的网络结构。在最后一个密集块之后还增加了一个1×1的卷积层,以得到更强的表征能力。

主要增强&改进

优化了Single Shot MultiBox Detector (SSD) 的网络结构,以加速并将其与 PeleeNet相结合。

在PASCAL VOC(Everingham et al. (2010))2007数据集上达到了 76.4%的准确率,在COCO数据集上达到了22.4%的准确率。

在准确率、速度和模型大小方面,Pelee系统都优于YOLOv2(Redmon & Farhadi (2016))。主要措施如下:

  • Feature Map Selection

以不同于原始SSD的方式构建目标检测网络,为了减少计算成本,没使用38×38 的特征图。

  • Residual Prediction Block

Lee 等人提出的设计思想(2017),即:使特征沿着特征提取网络传递。对于每一个用于检测的特征图,在实施预测之前构建了一个残差(He et al. 2016)块,ResBlock 的结构如下图所示:

2

PeleeNet架构

整个网络由一个stem block和四个特征提取器组成。除了最后一个阶段,每个阶段的最后一层是具有步幅为2的平均池化层。四阶段结构是大型模型设计中常用的结构。ShuffleNet (Zhang et al (2017)) 使用三阶段结构,并在每个阶段开始时缩小特征图大小。
虽然这可以有效降低计算成本,但我认为早期特征对于视觉任务非常重要,并且过早降低特征图大小会损害表示能力。因此要仍然保持四阶段结构。前两个阶段中的层数被特定的控制到可接受的范围。

3

实验

表1 PeleeNet整体架构

表2 不同设计选择和部件对性能的影响

表3 在Stanford Dogs数据集上的结果

表4 在ImageNet ILSVRC 2012数据集上的结果

表5 不同设计选择对性能的影响

表6 在VOC 2007数据集上的结果

表7 在不同硬件上的结果

PeleeNet 在手机上实验效果图

PeleeNet 出处

  • 文章:Pelee: A Real-Time Object Detection System on Mobile Devices ICLR 2018 workshop track
  • 下载地址:https://arxiv.org/abs/1804.06882
  • 代码:https://github.com/GZQ0723/PeleeNet
(0)

相关推荐