论文主要要点记录《BiSeNet V2: Bilateral Network with Guided Aggregation for Real-time Semantic Segmentation》

摘要:

  1. 为了获取语义信息而丢失了底层细节信息,提出细节获取和语义信息分开获取。
  2. 较浅的网络层获取细节信息,较深的网络层获取语义信息
  3. 融合层融合特征表示
  4. 提出助推器训练策略booster training

介绍

1. 现在的语义分割主要采用两种策略:

  • 基于空洞卷积的,并且摈弃下采样操作:具有较大的计算量和内存占用
  • 基于编码器解码器结构,采用自顶向下和横向连接,恢复高分辨率特征图,这些跳连接对于内存的访问成本较高

2. 语义分支可以通过快速的下采样策略以及较少的通道变得轻量级,基于深度卷积,增强接收域捕获丰富的上下文信息

3. 使用带有一系列辅助预测头的增强训练策略增强推理性能,在推理阶段不会被使用

相关背景

  1. 传统的分割方法基于阈值选择(Otsu,1979)、区域增长(Vincent and Soille,1991)、超像素(Ren and Malik,2003;Achanta et al.,2012;Van den Bergh et al.,2012)和图(Boykov and Jolly,2001;Rother et al.,2004)算法,采用手工制作的特征来解决这一问题。最近,基于FCN的新一代算法(Long et al.,2015;Shelhamer等人,2017)在不同的基准上不断提高最先进的性能。各种方法都是基于两种类型的骨干网:(1)扩张骨干网;(2) encoder-decoder骨干网络。
  2. 一方面,扩张主干去除下采样操作,上采样卷积滤波器以保持高分辨率的特征表示。由于扩张卷积的简单性,各种方法(Chen et al.,2015,2018;Zhao et al.,2017;Wang et al.,2018a;Zhang et al.,2018a;Yu et al.,2020)开发了不同的新颖有效的成分。Deeplabv3 (Chen et al.,2017)设计了一个无孔空间金字塔池来捕获多尺度上下文,而PSPNet (Zhao et al.,2017)采用了扩张主干上的金字塔池模块。同时,一些方法引入了注意机制,如自我注意(Yuan and Wang, 2018;Fu et al.,2019;Yu et al.,2020)、空间注意(Zhao et al.,2018b)和通道注意(Zhang et al.,2018a),以捕获基于扩张主干网的长语境
  3. 另一方面,编码器-解码器骨干网增加了额外的自顶向下和横向连接,恢复解码器部分的高分辨率特征图。FCN和Hypercolumns (Hariharan et al.,2015)采用跳过连接来集成底层特征。同时,U-net (Ronneberger et al.,2015)、保存池索引的SegNet (Badrinarayanan et al., 2017)、多路径优化的RefineNet (Lin et al., 2017)、逐步重构的LRR (Ghiasi and Fowlkes,2016)、具有“大核”卷积的GCN (Peng et al.,2017)和具有通道注意模块的DFN (Yu et al.,2018b)结合了这个骨干网来恢复详细信息。HRNet (Wang et al.,2019)采用多分支来保持高分辨率。这两种骨干网都与宽网和深网同时对低层细节和高层语义进行编码。虽然这两种类型的骨干网都达到了最先进的性能,但大多数方法运行的推理速度很慢。在本研究中,我们提出了一种新颖而有效的架构来分别处理空间细节和范畴语义,以实现在分割精度和推理速度之间的良好权衡
  4. 用需要快速的交互和响应时,实时语义分割算法越来越受到关注。SegNet (Badrinarayanan et al.,2017)使用较小的网络结构和skip连接来实现更快的速度。E-Net (Paszke等人,2016)从零开始设计了一个轻量级网络,并提供极高的速度。ICNet (Zhao et al.,2018a)使用图像级联来加速算法,而DLC (Li et al.,2017)使用级联网络结构来减少“容易区域”的计算量。ERFNet (Romera et al.,2018)采用残差连接和分解卷积来保持效率和准确性。同时,ESPNet (Mehta等人,2018,2019)设计了一种用于实时语义分割的高效空间金字塔扩张卷积。GUN (Mazzini,2018)采用了引导上采样模块来融合多分辨率输入的信息。DF ANet (Li et al.,2019b)重用该特征来增强特征表示并降低复杂性。方法可以实现实时推理速度,但它们极大地牺牲了准确性来提高效率,同时丢失了低级细节。在这项工作中,我们考虑了低层细节和高层语义,以实现高精度和高效率

模型

  1. 细节分支需要丰富的信道容量,才能来编码丰富的空间细节信息
  2. 使用较小跨步的浅层结构关注底层的细节,具有较大的空间感受野以及较宽的通道,因此,最好不用残差连接,会增加内存访问成本,降低推理速度
  3. 语义分支与细节分支相比通道容量更低,语义分支通道数与细节分支通道数比值 入<1
  4. 模型概述:双边分割网络概述。主要由三部分组成:紫色虚线框中的双通路主干,橙色虚线框中的汇聚层,黄色虚线框中的助推层。双路径主干有一个细节分支(蓝立方体)和一个语义分支(绿立方体)。Detail Branch中的三个阶段分别有ec1、C2、c3通道。通过λ(λ <1)因子可以使语义分支中相应阶段的通道变得轻量化。语义分支的最后一个阶段是上下文嵌入块的输出。同时,立方体中的数字是特征图大小与输入分辨率的比值。在聚合层部分,我们采用双边聚合层。下为下采样,U为上采样,ϕ为Sigmoid函数,nmean为元素积。此外,在助推器部分,我们设计了一些辅助分割头,在没有任何额外推理成本的情况下提高分割性能。
  5. 辅助分割头能够帮助在不增加推理成本的情况下提升模型的分割性能
  6. 快速下采样扩大了接收域。
  7. 语义分割需要较大的感知域,因此上下文嵌入层采用全局平均池化,具有较低的通道容量,较大的接收域
  8. 细节分支具有高通道容量、浅层,接收域较小。
  9. 在聚合模块中,语义分支要上采样,细节分支要下采样。融合方式有 求和、串联、精心设计的方式,比如我们这里采用双向聚合

模型具体设计

1. 细节分支:实例化有三个阶段,每一层的组成:卷积层+批量归一化+激活;每个阶段的第一层的步长是2,其他层有相同的输出特征图大小和滤波器数量。

  • 输出特征图大小为原图的1/8
  • 高信道容量使得具有丰富的空间细节的编码
  • 信道容量大、空间维度大、不适合用残差结构,增加访问成本,主要遵循vgg的网络层数的堆叠策略

2. 语义分支:

  • 大的接收域和高效的计算能力,
  • 语义分支的第一阶段采用stem模块,采用两种方式下采样缩小特征表示,然后串接为输出:高效的计算成本和有效的表达能力
  • 语义分支需要大的接收域,所以增加上下文嵌入模块,该块使用全局平均池和残差连接,高效嵌入全局上下文

  • Gather-and-Expansion Layer,比原来的倒置瓶颈有了更强的特征表达能力

3. 双边引导聚合层

  • 合并两种特征的响应。具有不同级别的特征表示,双边引导聚合层(Bilateral Guided Aggregation Layer)来融合两个分支的互补信息。利用语义分支的上下文信息来指导Detail分支的特征响应。通过不同的尺度引导,我们可以捕获不同的尺度特征表示,从而对多尺度信息进行内在编码。这种引导方式使得两个分支之间的通信更加高效。
  • 简单的组合忽略了两种信息的多样性,导致性能较差,难以优化

4. 助推器训练策略——辅助分割头

  • 训练阶段增强特征表示,推理阶段丢弃
  • 辅分割头和主分割头的计算复杂度可以调节,插入到语义分支的位置可以调节

实验

  1. 推理
  • 推理没有采用任何评估技巧,如滑动窗口评估和多尺度测试,可以提高准确性,但耗时较长。对于2048×1024分辨率的输入,我们首先将其大小调整为1024×512分辨率进行推断,然后将预测大小调整为输入的原始大小。我们用一个GPU卡测量推理时间,并重复5000次迭代以消除误差波动。我们注意到调整大小的时间包含在推理时间度量中。换句话说,在度量推理时间时,实际输入大小为2048×1024。同时,采用并集平均交(mIoU)的标准度量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值