一,原理 peleenet是densenet的变体,是基于densenet40架构进行改动的网络。相比于densenet40网络运行速度更快,GPU训练时间更短。 作者主要通过对比Mobilenet和Shuffenet等轻量化网络,了解轻量化网络的缺点,其中Mobilenet在训练过程中主要是非常慢,但是在移动端运行的速度较快。mobilenet网络和mobilenetV2使用了depthwise separable convolution 这种卷积方式可以减少网络大量的浮点运算,但是在GPU端进行训练时会严重影响GPU的效率。所以作者提出了一种尽可能使用传统卷积的方式进行简化网络。于是作者提出了Peleenet。 1.1网络框架 整个网络的框架如下图所示: 1.2创新点 主要创新点有两部分,其中第一部分为 Dense Layer 作者是借鉴 googlenet 使用了两路dense layer 来获取不同尺度的图像特征。其中一路使用了3x3的卷积核进行卷积图像。另一路使用了两个3x3的卷积核,进行卷积操作提取特征。一个可以提取不是特别大的物体特征,两个3x3的可以获取大物体的特征。这样可以充分提取不同尺度物体的特征。将所有提取的特征通过concat进行拼接。这样就会融合了大量的特性信息。 具体结构如下图所示: 另外一点创新是,在网络的开头部分,这部分主要是将图像从低维到高维的一个转变。作者借鉴了Inceptionv4网络和DSOD网络,这样可以高效的提取特征,而不用增加额外的成本 优于其他网络提取特征的方式。具体网络结构如下所示: 对于结构中的transition layer层作者并未对其进行压缩,而是对其原通道进行转换。 二,测试 作者使用了stanford dog进行测试,其中网络中部分是和densenet相同的方式进行测试,然后在转变不同的测试方式。得到一些结果, 结果如下图所示: 如上图所示,在作者有些改变的部分,效果都明显进行了提升。 作者使用的是pytorch框架进行测试的,但是从作者给的github上下载然后制作数据集,但是无法到达作者的效果。相差还挺大。 |