语义分割——swiftnet

文章目录

  • In Defense of Pre-trained ImageNet Architectures for Real-time Semantic Segmentation of Road-driving Images
  • 一、所针对的问题
  • 二、思路
  • 三、Basic building blocks
    • 3.1 Recognition encoder
    • 3.2 Upsampling decoder
  • 四、 Module for increasing the receptive field
    • 4.1 Single scale model
    • 4.2 Interleaved pyramid fusion model
  • 五、experiment

In Defense of Pre-trained ImageNet Architectures for Real-time Semantic Segmentation of Road-driving Images

作者代码

一、所针对的问题

目前轻量级架构为了解决计算量大的问题,主要的解决方案是减少通用网络结构的宽度、深度和层容量,作者提出一种新的方法在可在广泛接受的预算前提下能显著提高性能

二、思路

1、encoder部分采用轻量级的网络,ResNet18和MobileNet-v2
2、利用具有横向连接的轻量级上采样做密集预测
3、提出通过基于多分辨率融合共享特征的方式扩大感受野

三、Basic building blocks

3.1 Recognition encoder

encoder 部分采用ResNet18或者MobileNet-v2
由于cuDNN不支持深度可分离卷积, 这导致虽然ResNet18的计算复杂度是MobileNet-V2的6倍, 但实践中, ResNet18是MobileNet-V2快的。

3.2 Upsampling decoder

为了保持实时性的效率, 上采样也必须尽可能的简单
上采样模块有两个输入是一是低分辨率特征图(先双线性插值进行上采样), 二是encoder部分传来的横向特征。将这两个输入按对应元素相加进行特征融合后,最后再进行3x3卷积操作。
语义分割——swiftnet_第1张图片
Note:
1、 encoder部分传来的横向特征支路应接在sum后,如果在ReLU操作后会造成验证准确率下降
2、上采样模块中最后如果使用1x1的深度可分离卷积代替3x3卷积也会导致准确率下降

四、 Module for increasing the receptive field

在保持实时速度的同时还能增加感受野的操作有两种:一是SPP,二是pyramid fusion。
文章提出了一种金字塔池化的方法来组合不同级别的表示,在不牺牲分辨率的前提下增加感受野

4.1 Single scale model

语义分割——swiftnet_第2张图片
encoder部分降采样为 [ 1 4 , 1 8 , 1 16 , 1 32 ] [\frac{1}{4},\frac{1}{8},\frac{1}{16},\frac{1}{32}] [41,81,161,321]
decoder部分的上采样模块的通道数都是一样的,因此横向特征连接需要用1x1卷积进行通道数转换。
此外unet模型encoder和decoder部分是对称的,而这里是不对称的。

4.2 Interleaved pyramid fusion model

encoder部分使用了轻量级的小型网络,这意味着会更小感受野和更小的容量。对此提出图像金字塔来增加感受野以及减小模型的容量要求。
语义分割——swiftnet_第3张图片
两个encoder作用于不同分辨率金字塔级别的图像(一个尺寸不变, 一个尺寸减半),这增加了激活函数的感受野,使得可以感知图像金字塔最低的分辨率。
两个encoder共享参数,这减小了模型容量的需求。
为了加强横向连接并改善整个编码器的梯度流, 将两个编码器相邻级别的feature map叠在一起 (具有相同的空间分辨率), 此外在decoder部分增加了一个上采样模块, 其余部分与single scale model同。

五、experiment

语义分割——swiftnet_第4张图片

你可能感兴趣的:(语义分割)