Pelee: A Real-Time Object Detection System on Mobile Devices
1、Pelee分类网络
PeleeNet是一种基于Densenet的轻量化网络变体(variant),主要面向移动端部署。分类网络的结构改进包括以下五点:
1)Stem Block:实现输入图像空间维度的第一次降采样(stride=2)和通道数的增加。并且在不增加较多计算量的前提下,该模块能够确保较强的特征表达能力:
class StemBlock(nn.Module):
def __init__(self, inp=3,num_init_features=32):
super(StemBlock, self).__init__()
self.stem_1 = Conv_bn_relu(inp, num_init_features, 3, 2, 1)
self.stem_2a = Conv_bn_relu(num_init_features,int(num_init_features/2),1,1,0)
self.stem_2b = Conv_bn_relu(int(num_init_features/2), num_init_features, 3, 2, 1)
self.stem_2p = nn.MaxPool2d(kernel_size=2,stride=2)
self.stem_3 = Conv_bn_relu(num_init_features*2,num_init_features,1,1,0)
def forward(self, x):
stem_1_out = self.stem_1(x)
stem_2a_out = self.stem_2a(stem_1_out)
stem_2b_out = self.stem_2b(stem_2a