论文:Pelee: A Real-Time Object Detection System on Mobile Devices
Github:https://github.com/Robert-JunWang/Pelee
https://github.com/nnUyi/PeleeNet
ICLR2018论文,主要提出了DesNet的变种版本PeleeNet,适用于移动端的轻量级网络。
PeleeNet主要特点:
(1)Two-Way Dense Layer
Dense Block模块使用如上图所示的2-way dense layer。主要进行上面模块的堆叠
(2)Stem Block
PeleeNet的网络基础模块为上图所示的Stem Block
(3)Dynamic Number of Channels in Bottleneck Layer
瓶颈单元的channel数目根据输入feature map的大小来决定,保证输出的通道数不超过输入的通道数。与原始DenseNet相比,可以节省28.5%的计算消耗,并且对精度影响很小。
(4)Transition Layer without Compression
传统DenseNet中Transition Layer的压缩率会影响特征的表达。PeleeNet中的Transition Layer的输入和输出通道数一样。
(5)Composite Function
为了提高速度,采用了conv+BN+relu的组合,而不是conv+relu+BN的组合。可以进行卷积和BN的合并计算操作。当然精度会略有降低。
SSD+PeleeNet:
(1)主要使用了5个scale的feature map,(19 x 19, 10 x 10, 5 x 5,3 x 3, 1 x 1),为了减少计算量没有使用38 x 38的feature map
(2)在每一个scale的feature map进入分类和回归之前,使用了ResBlock模块。
(3)ResBlock模块中使用1*1卷积,相比3*3卷积,可以减少21.5%的计算量。
(4)提供了IOS上基于sdd+PeleeNet的解决方案。
PeleeNet网络结构:
训练学习率策略:
学习率采用cos方式的学习率变化方法,假设epoch为t,t <= 120,则最终学习率为 0.5 ∗ lr ∗ (cos(π ∗ t=120) + 1)
实验结果:
VOC结果:
COCO结果: