【论文阅读笔记】Pelee: A Real-Time Object Detection System on Mobile Devices


(这篇论文的作者的思路是真滴很清晰)

(一)论文地址:

https://arxiv.org/abs/1804.06882

(二)核心思想:

作者在 2016 年提出了一个基于 DenseNet 的叫做 PeleeNet 的轻量级图像识别网络,实现了比 MobileNet 更高的准确率,并在此基础上提出了可以使用 PeleeNet 作为目标检测网络(论文中基于 SSD)的 Backbone,来解决大量使用 DW Conv 造成的缺乏特征有效利用的问题;

(三)Two-Way Dense Layer:

在这里插入图片描述

受到 GoogleNet 网络的启发,作者提出了可以在原来 dense layer 的基础上增加一条通道;

其中增加的第二层通道使用了 2 层 3×3 卷积,因此比原来的结果具有更大的感受野,从而用于较大目标的检测;

(四)Stem Block:

在这里插入图片描述

受 InceptionV4 和 DSOD 网络结构的启发,作者在使用第一个 Dense Layer 前首先设计了一个高效的主干网络,在不显著增加网络计算复杂度的前提下,大大增加了网络的特征表现能力;

(五)Dynamic number of channels in bottleneck layer:

在这里插入图片描述
需要注意的另一点就是,瓶颈层通道数目会随着输入维度的变化而变化,以保证输出通道的数目不会超过输出通道;

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

(六)Transition Layer without Compression:

作者在试验中发现,DenseNet 提出的在 Transition Layer 中压缩 channel 数的方法会降低特征的表达能力,因此提出在 Transition Layer 也要维持与输入通道相同的输出通道数目;

(七)Composite Function:

为了提高实际的运行速度,作者提出了采用如下的复合函数作为预激活层:

C o n v o l u t i o n B a t c h N o r m a l i z a t i o n R e l u Convolution - Batch Normalization - Relu

对于 DenseNet 的后置激活,所有的 Batch Normalization 可以在推理阶段(中间层)与卷积层相结合,从而大大提高了运行速度;

同时为了消除这种操作对准确率带来的影响,作者使用一个浅层的、较宽的网络结构,并在最后一个Dense Block 之后还增加了一个 1×1 的卷积层,以得到更强的特征表达能力;

(八)Feature Map Selection:

与 SSD 稍微不同的是,作者提出了使用 19 x 19, 10 x 10, 5 x 5, 3 x 3, 1 x 1 大小的五个特征层,不使用 38×38 大小的特征层从而减小计算量;

(九)Residual Prediction Block:

在这里插入图片描述
作者在每个特征层用于检测前,增加了一个 ResBlock 模块;

(十)Small Convolutional Kernel for Prediction:

不像其他网络使用 3×3 卷积生成检测结果,这里使用了 1×1 卷积,在保证准确率几乎不下降的情况下,计算消耗下降了 21.5%;

(十一)PeleeNet 的网络结构:

在这里插入图片描述

(十二)实验结果:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

发布了100 篇原创文章 · 获赞 142 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_44936889/article/details/104377163