基于手机系统的实时目标检测
计算机视觉研究院专栏
作者:Edison_G
在具有有限计算能力和存储器资源的移动设备上运行卷积神经网络(CNN)模型的日益增长的需求促进了对有效模型设计的研究
关注并星标
从此不迷路
1
前言
在具有有限计算能力和存储器资源的移动设备上运行卷积神经网络(CNN)模型的日益增长的需求促进了对有效模型设计的研究。近年来已经提出了许多有效的架构,例如:MobileNet,ShuffleNet和NASNet-A。
然而,所有这些模型都严重依赖于深度可分的卷积,这在大多数深度学习框架中缺乏有效的实现。在这项研究中,提出了一个“PeleeNet”的高效架构,采用传统的卷积方式架构。在ImageNet ILSVRC 2012数据集上,提出的PeleeNet比最先进的高效架构MobileNet的精度提高了0.6%(71.3%对70.7%),计算成本降低了11%。
同时,PeleeNet仅占MobileNet模型大小的66%。然后,提出了一种实时物体检测系统,它将PeleeNet与Single 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:
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架构
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