原文:
Pelee: A Real-Time Object Detection System on Mobile Devices
论文链接
:
https://arxiv.org/abs/1804.06882
开源链接
:
https://github.com/Robert-JunWang/Pelee
https://github.com/nnUyi/PeleeNet
参考链接:
https://blog.csdn.net/nature553863/article/details/85321210
https://blog.csdn.net/qq_14845119/article/details/83015645
PeleeNet (ICLR2018论文)遵循 DenseNet 的创新连接模式和一些关键设计原则,是一种基于Densenet的轻量化网络变体(variant),主要面向移动端部署。它也被设计来满足严格的内存和计算预算。在 Stanford Dogs (Khosla et al. (2011)) 数据集上的实验结果表明:PeleeNet 的准确率要比 DenseNet 的原始结构高 5.05%,比 MobileNet (Howard et al. (2017)) 高 6.53%。PeleeNet 在 ImageNet ILSVRC 2012 (Deng et al. (2009)) 上也有极具竞争力的结果。PeleeNet 的 top-1 准确率要比 MobileNet 高 0.6%。需要指出的是,PeleeNet 的模型大小是 MobileNet 的 66%。
PeleeNet 的一些关键特点如下:
1、两路稠密层(Two-Way Dense Layer)
受 GoogLeNet (Szegedy et al. (2015)) 的两路稠密层的激发,研究者使用了一个两路密集层来得到不同尺度的感受野。其中一路使用一个 3×3 的较小卷积核,它能够较好地捕捉小尺度的目标。另一路使用两个 3×3 的卷积核来学习大尺度目标的视觉特征。该结构如下图 所示:
2、Stem Block:
实现输入图像空间维度的第一次降采样(stride=2)和通道数的增加,并且在不增加较多计算量的前提下,该模块能够确保较强的特征表达能力。PeleeNet的网络基础模块为如下图所示的Stem Block。
原文解释:This block is placed before the first dense layer for the sake of cost efficiency. This stem block can effectively improve the feature expression ability without adding computational cost too much. The structure is shown as follows.
3、瓶颈层通道的动态数量(Dynamic Number of Channels in Bottleneck Layer)
瓶颈层通道数目会随着输入维度的变化而变化,以保证输出通道的数目不会超过输出通道。与原始的 DenseNet 结构相比,实验表明这种方法在节省 28.5% 的计算资源的同时仅仅会对准确率有很小的影响。
4、没有压缩的转换层(Transition Layer without Compression)
过渡层(transition layer)的输入输出通道数保持一致,即为dense group中最后一个dense block的输出通道数(in_ch+n*growth_rate)。实验表明,DenseNet 提出的压缩因子会损坏特征表达,PeleeNet 在转换层中也维持了与输入通道相同的输出通道数目。
5、复合函数(Composite Function)
为了提升实际的速度,采用后激活的传统智慧(Convolution - Batch Normalization (Ioffe & Szegedy (2015)) - Relu))作为我们的复合函数,而不是 DenseNet 中所用的预激活。对于后激活而言,所有的批正则化层可以在推理阶段与卷积层相结合,这可以很好地加快速度。为了补偿这种变化给准确率带来的不良影响,研究者使用一个浅层的、较宽的网络结构。在最后一个密集块之后还增加了一个 1×1 的卷积层,以得到更强的表征能力。
基于上述改进,Pelee分类网络的总体结构如下:
Pelee-SSD目标检测网络
以PeleeNet为主干(backbone)的SSD目标检测网络,具备轻量化的特点,非常适合移动端的部署。具体结构改进包括以下三点:
1)Feature Map Selection:
为了节省计算量,只将5个尺度的Feature Map连接至检测分支,即 (19 x 19, 10 x 10, 5 x 5, 3
x 3, and 1 x 1),没有使用38 x 38的feature map,且anchor的尺寸设计如下:
2)Residual Prediction Block:
在每个检测分支的检测层之前,加入轻量化的残差块,以确保特征表达能力:
3)Small Convolutional Kernel for Prediction:
检测层(ResBlock模块中)替换为1x1卷积,相比3*3卷积,可以减少21.5%的计算量。
实验结果如上表,在ImageNet上取得了比MobileNet-v1更好的精度;并在VOC与COCO数据集上,取得了比SSD-Mobilenet更好的mAP;而相比于基于MobileNet的实现结构,基于PeleeNet的实现结构具有更少的参数量与计算量。
原文:Pelee: A Real-Time Object Detection System on Mobile Devices论文链接:https://arxiv.org/abs/1804.06882开源链接:https://github.com/Robert-JunWang/Pelee https://github.com/nnUyi/PeleeN...
如果您发现本文对您的研究有用,请考虑引用:
@article{wang2018pelee,
title={Pelee: A Real-Time Object Detection System on Mobile Devices},
author={Wang, Robert J and Li, Xiang and Ao, Shuang and Ling, Charles X},
journal={arXiv preprint arXiv:1804.06882},
year={2018}
├── assets
│ ├── 1_Handshaking_Handshaking_1_71.jpg
│ ├── out_1_Handshaking_Handshaking_1_71.jpg
│ ├── out_test_00002330.jpg
│ └── test_00002330.jpg
├── checkpoints
│ └── weights_epoch_100.h5
├── components
│ ├── config.py
│ ├── __
《Pelee: A Real-Time Object Detection System on Mobile Devices》
文章总体上参考DenseNet的设计思路,提出了三个核心模块进行改进,有一定参考价值。
PeleeNet
实际上是DenseNet的变体,使用的依然是DenseNet的连接方法,核心的设计原则也和DenseNet相仿(特征重用)。
1. Two-Way Dense Layer:
如下图所示:左边(a)图是DenseNet中设计的基本模块,其中k、4k代表filte
Peleenet
也是
轻
量级
网络
家族里面的重要成员,并且在工业产品中得到了广泛应用,接下来就对
Peleenet
网络
加以介绍。论文地址:https://arxiv.org/abs/1804.06882
2、
Peleenet
论文说是借鉴Densenet,但是我感觉不像,我对Densenet的理解就是密集连接,一个DenseBlock里面:前层输出和后面所有层的输入在concatnate(虽然我没有看过Densenet论文~~)。
现在开始搭建~~
转自AI Studio,原文链接:基于PaddlePaddle复现的
PeleeNet
- 飞桨AI Studio
PeleeNet
: An efficient DenseNet architecture for mobile devices
1. 简介
这是一个PaddlePaddle实现的
PeleeNet
。
PeleeNet
是一个高效的卷积神经
网络
(CNN)架构,由传统的卷积法构建。与其他高效架构相比,
PeleeNet
有很大的速度优势,可以应用于图像分类及其它的计算机视觉任务。
论文:Pele.
目前在计算能力和内存资源有限的移动设备上运行卷积神经
网络
模型的需求越来越大,这样一来就刺激了对高效模型的设计和研究。
MobileNet、ShuffleNet和MobileNetV2等高效的
网络
结构,然而这些模型高度依赖于深度可分离卷积
网络
,在很多深度学习框架中难以实施。
基于此,本文提出了一种有效的结构,名为
PeleeNet
,使用传统的卷积
网络
。
在ImageNet ILSVRC 201.........
先引出题目,占个坑,以后慢慢填。
mobilenet 也算是提出有一段时间了,网上也不乏各种实现版本,其中,谷歌已经开源了Tensorflow的全部代码,无奈自己几乎不熟悉Tensorflow,还是比较钟爱Caffe平台,因而一直在关心这方面。
单纯的Mobilenet分类不是关注重点,如何将其应用到目标检测
网络
才是关键,目前基本看好的思路就是Mobilenet+SSD,github上已经有至
提到
轻
量级神经
网络
,大家都会提到MobileNet V1 V2 和 ShuffleNet V1 V2,似乎较少看到大家提到
PeleeNet
,网上搜到的结果也不多,这篇博客会简单介绍一下
PeleeNet
以及以它为backbone的检测
网络
Pelee,还有它的前身DenseNet。
1. DenseNet
这里推荐一篇博文,讲解DenseNet很详细:
https://blog.csdn.net...
论文:Pelee: A Real-Time Object Detection System on Mobile Devices
Github:https://github.com/Robert-JunWang/Pelee
https://github.com/nnUyi/
PeleeNet
ICLR2018论文,主要提出了DesNet的变种版本PeleeN...