论文学习笔记(五)BiSeNet: Bilateral Segmentation Network for Real-time Semantic Segmentation

『写在前面』

语义分割轻量级网络。

论文出处:ECCV 2018

作者机构:Changqian Yu等,华中科技大学

原文链接:https://arxiv.org/pdf/1808.00897

相关repo:https://github.com/ooooverflow/BiSeNet


目录

摘要

1 介绍

2 相关工作

3 Bilateral Segmentation Network

3.1 Spatial path

3.2 Context path

3.3 网络结构

特征融合模块(FFM)

损失函数


摘要

BiSeNet主要由两条路径组成:

  • Spatial Path:通过小stride卷积学习空间信息,生成高分辨率的特征;针对空间信息缺失,目标是“浅而宽”
  • Context Path:通过迅速下采样以得到较大感受野;针对感受野的缩小,重点是轻量

最后,通过特征融合模块(FFM)来结合上面两条path的特征。

1 介绍

为了提高语义分割模型的实时性,现有的大多数模型主要从以下几个方面入手(如下图所示):

  • Resize Input:通过裁剪和缩放限制输入图像大小
  • Network Pruning:在模型早起缩小通道数
  • Drop Stage: 抛弃模型最后的下采样阶段等(eg: ENet)

这样的方法会引起信息的严重缺失,为了改善这样的问题,出现了U型网络(如下图)。但U型网络也有缺点:

  • 在模型初期,也就是高分辨率的feature map上引入了额外了连接,会加大计算量
  • 通过简单的上采样并不能很好地恢复空间信息

基于上述讨论,本文提出双边分割网络BiSeNet:

  • SP通过3层卷积层,获得1/8的feature map;
  • CP通过在Xception后面加上全局平均池化,来捕捉大感受野的上下文信息。

为了在不影响效率的情况下提高模型准确率,还引入了特征融合模块(FFM)和注意力模块(ARM)。

2 相关工作

state-of-the-art方法大多基于FCN改进,工作重点旨在编码更多空间信息和扩大感受野。

【空间信息提取】传统CNN通过不断缩小feature map尺寸,提取high level的语义信息。但在语义分割任务上,空间信息对于预测详细输出是很重要的,尺寸小了,分割精细程度就不会太理想。所以现在的方法都在致力于如何更好地编码空间信息,主要有两种途径:DeepLab/PSPNet/DUC所采用的膨胀卷积,GCN所采用的large kernel

【U型网络】U-net类方法,通过Deconv和跳跃连接来帮助恢复空间信息,但其实有一些丢失的空间信息还是很难通过这样的方法恢复出来的。

【上下文信息提取】扩大感受野或融合不同上下文信息来提高语义分割效果。常见的方法有:使用不同大小的膨胀卷积核(如ASPP)、使用多个不同大小的平均池化层(如PSPNet)、尺度自适应卷积、全局池化等(如DFN)。

【注意力机制】使用high-level信息来指导网络的前向运算,如SENet。DFN也基于该思想,将全局上下文作为注意力,然后使用它指导feature的学习和传递。

【其他实时分割模型】SegNet、E-Net、ICNet。

3 Bilateral Segmentation Network

3.1 Spatial path

  • 空间信息的提取感受野的大小对语义分割的效果影响甚重
  • SP旨在更好地提取空间信息。如图所示,SP通过3个卷积层将feature map压缩到输入图像尺寸的1/8
  • 每个卷积由1个stride=2的卷积、1个BN层和1个ReLU激活构成
  • 因为只将尺寸压缩到了1/8,相对来说尺寸还是比较大的,所以可以保留有较为丰富的空间信息

3.2 Context path

  • CP旨在提供更大的感受野
  • 基于轻量模型Xception,在其最后输出层之后加了一个全局平均池化,它的输出可以提供包含全局上下文信息的最大感受野
  • 最后,对全局平均池化输出的feature进行上采样,并与轻量模型前几级的feature进行组合,类似U型网络,但不对称(不完整的U)
  • 注意力强化模块(ARM):通过全局平均池化来捕捉上下文信息,并基于此学习一个Attention向量,以此来指导特征学习。换句话说,就是多添了一个分支 ,用来学习一个权值向量,来表征输入feature map各个通道的权重。如图所示,ARM只涉及到1x1卷积和全局pooling,相对来说计算量还是很小的,可以忽略不计。

3.3 网络结构

特征融合模块(FFM)

        FFM对SP(low level)和CP(high level)的信息进行融合,考虑到特征层次的差异,借鉴SENet的思想(Attention),学习一个权重向量,对拼接后的feature map重新进行加权,相当于进行了一次特征的选择和组合。

损失函数

引入辅助损失函数,以监督CP中的输出。损失函数都用的Softmax。

  • 第一部分是主损失函数,用来监督整个网络的输出;
  • 第二部分是CP的辅助损失,Xi表示Xception中第i个stage输出的feature map。

通过超参数α来平衡两部分loss。

猜你喜欢

转载自blog.csdn.net/sinat_37532065/article/details/86258858