PeleeNet是DenseNet的一个变体,没有应用风行的深度可拆散卷积,PeleeNet和Pelee仅通过构造上的优化获得了很不错的性能和速度,读完论文能够学到很多网络设计的小窍门。

起源:晓飞的算法工程笔记 公众号

论文: Pelee: A Real-Time Object Detection System on Mobile Devices

  • 论文地址:https://arxiv.org/abs/1804.06882
  • 论文代码:https://github.com/Robert-JunWang/Pelee

Introduction


  基于DenseNet的浓密连贯思维,论文通过一系列的构造优化,提出了用于挪动设施上的网络结构PeleeNet,并且交融SSD提出指标检测网络Pelee。从试验来看,PeleeNet和Pelee在速度和精度上都是不错的抉择。

PeleeNet


  PeleeNet基于DenseNet思维,退出了几个要害的改良。

Two-Way Dense Layer

  受GoogLeNet的启发,论文将原来的dense layer改为2-way dense layer,如图1b所示,新的门路叠加两个$3\times 3$卷积来学习获取不同的感触域特色,特地是大物体特色。

Stem Block

  DenseNet应用stride=2的$7\times 7$卷积对输出进行初步解决,受Inception-v4和DSOD启发,论文设计了一个高效的stem block,构造如图2所示,两条门路能提取不同的特色。这样能够在不带来过多计算耗时的前提下,进步网络的特色表达能力。

Dynamic Number of Channels in Bottleneck Layer

  在DenseNet中,应用bottleneck layer进行输出特色的压缩,然而bottleneck layer的输入固定为dense layer输入的4倍。在网络的早些层中,会存在bottleneck layer的输入比输出更多的状况,导致效率降落。为此,论文将bottleneck layer的输入大小跟输出挂钩,保障不大于输出大小,从图4能够看出,批改后计算效率晋升了一倍。

Transition Layer without Compression

  DenseNet在dense layer间应用transition layer进行特色维度压缩,压缩比为0.5。论文通过试验发现这个操作会削弱网络特色的表达能力,所以将transition layer的输入维度固定为输出的大小,不再压缩。

Composite Function

  DenseNet应用Conv-Relu-BN的预激活形式,论文将其批改为Conv-BN-Relu的后激活形式,这样卷积层和BN层在inference时可能进行合并运算,进步计算速度。另外,论文在最初的dense layer增加了$1\times 1$卷积,用以取得更强的特色表达能力。

Architecture

  PeleeNet的构造如表1所示,蕴含一个stem block、4个特征提取阶段以及最初的stride为2的均匀池化层。论文纠结应用3个特征提取阶段还是4个特征提取阶段,3个阶段须要stem block更多地缩减特色图大小,思考到结尾过快地减小特色图会大小会削弱网络的表达能力,最终仍采纳4个阶段。

Pelee


  基于SSD,将PeleeNet作为骨干网络并做了几个优化,提出指标检测网络Pelee,次要的优化点如下:

  • Feature Map Selection,应用5个尺寸的特色图(19x19, 10x10, 5x5, 3x3, 1x1),为了缩小计算耗费,没有应用38x38的特色图。
  • Residual Prediction Block,在进行预测之前,应用图4的ResBlock进行特征提取,保障特色表达能力。
  • Small Convolutional Kernel for Prediction,因为应用了ResBlock进行了特色的进一步提取,在预测局部能够应用$1\times 1$卷积核减速,准确率与$3\times 3$卷积差不多。

Experiment


PeleeNet

  对PeleeNet的key feature进行验证。

  与其它轻量级网络比照。

  PeleeNet在各种设施上的理论推理速度比照。

Pelee

  Pelee与其它网络的设置比照。

  各改良措施的性能比照。

  与其它网络的在VOC上的性能比照。

  各设施上的推理速度比照。

  与其它网络的在COCO上的性能比照。

CONCLUSION


  PeleeNet是DenseNet的一个变体,没有应用风行的深度可拆散卷积,PeleeNet和Pelee仅通过构造上的优化获得了很不错的性能和速度,读完论文能够学到很多网络设计的小窍门



如果本文对你有帮忙,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】