介绍

Motivation:

像素级的语义分割不仅需要精确,还需要高效,以便应用到实时应用(real-time application)中。现有的方法往往参数量巨大,运算开销很高。为了解决这个问题,本论文提出了LinkNet。

网络结构

1.png

LinkNet网络结构如图所示,其中 $\text{conv}$ 表示卷积,$\text{full-conv}$ 表示转置卷积。/2表示因子为2的下采样,使用带步长的卷积来实现。*2表示因子为2的上采样。我们在卷积层之间使用BN和ReLU。左半部分是encoder,右半部分是decoder。encoder开始处有一个initial block,其余部分由残差块组成,表示为encoder-block(i),其细节如下图2所示。decoder-block的结构则如图3所示。现在的分割算法大多使用VGG16、ResNet101等作为encoder,参数量太大了。LinkNet使用ResNet18作为encoder。

2.png

3.png

与现有的语义分割网络不同,我们的新奇点在于将encoder和decoder进行关联的方式。在encoder中进行多次下采样操作后,一些空间信息丢失了,只使用encoder下采样后的输出很难恢复这些丢失的信息。LinkNet 架构类似于一个梯形网络架构,编码器的特征图(横向)和解码器的上采样特征图(纵向)相加。还需要注意的是,由于它的通道约减方案(channel reduction scheme),解码器模块包含了相当少的参数。如上图3所示大小为 [H, W, n_channels] 的特征图先通过 1×1 卷积核得到大小为 [H, W, n_channels / 4] 的特征图,然后使用反卷积将其变为 [2×H, 2×W, n_channels / 4],最后使用 1×1 卷积使其大小变为 [2×H, 2×W, n_channels / 2],因此解码器有着更少的参数。网络在实现相当接近于最优准确率的同时,可以实时地在嵌入式 GPU 上进行分割。

结果

我们将LinkNet与现有网络结构在两个指标上进行比较:

  1. 速度:一次前向运算所需操作数、运行时间。
  2. 精度:使用Cityscapes和CamVid数据集进行测试。

4.png

5.png

6.png

7.png

8.png

参考文献

[1] LinkNet: Exploiting Encoder Representations for Efficient Semantic Segmentation

Last modification:August 11th, 2019 at 11:13 pm
如果觉得我的文章对你有用,请随意赞赏