BiSeNet:用于实时语义分割的双边分割网络-7min精简论文阅读系列-Leon

BiSeNet: Bilateral Segmentation Network for Real-time Semantic Segmentation


BiSeNet:用于实时语义分割的双边分割网络


7min精简论文阅读系列

Edited by Leon

B站视频讲解链接https://www.bilibili.com/video/BV1S44y1M7sF:

代码传送门:https://github.com/CoinCheung/BiSeNet

论文传送门:https://arxiv.org/pdf/1808.00897.pdf


摘要:

科研方向:

  • 语义分割既需要丰富的空间信息,又需要相当大的接受域。

  • 然而,现代的方法通常会牺牲空间分辨率来实现实时推理速度,这导致了较差的性能。

解决方案:

  • 我们首先设计了一个小步幅的空间路径来保存空间信息并生成高分辨率的特征。–> 下采样少
  • 同时,采用上下文路径和快速下采样策略获得足够的感受野。 --> 不同尺寸的类型的信息 --> 感受野
  • 引入了一个新的特征融合模块来有效地结合特征。 --> 这比现有的方法在同等性能下要快得多。

几种通用的结构:

BiSeNet:用于实时语义分割的双边分割网络-7min精简论文阅读系列-Leon_第1张图片

图解:

  • 黑色的虚线表示破坏空间信息的操作 --> 下采样

  • 而红色的虚线表示收缩接收域的操作。–>这里之后看看

  • 绿色的块是我们提出的空间路径(SP)。

  • 在网络部分,每个块代表不同下采样大小的特征图。块的长度代表空间分辨率,厚度代表通道数。

普通的VGG结构 【纵型结构】

  • 对输入图像进行裁剪或调整大小的操作

  • 减少网络深度

  • 以及带有剪枝通道或下降阶段的轻量级模型。

  • 解析

    • 输入小尺寸:
      • 虽然该方法简单有效,但空间细节的丢失会破坏预测,特别是边界附近的空间细节,导致度量和可视化精度下降。
    • 模型剪裁:
      • 有些作品不是调整输入图像的大小,而是对网络的通道进行剪枝,以提高推理速度[1,8,25],特别是在基础模型的早期阶段。然而,它削弱了网络的空间容量 --> 容纳的信息量【特征数量】变少
    • 减少网络深度:
      • 追求一个非常紧凑的框架。但该方法的缺点是明显的:由于ENet在最后阶段放弃了下采样操作,模型的接受域不足以覆盖大的对象,导致识别能力较差。 --> 缺少下采样导致的感受野不足
    • 综上所述,上述方法都是将准确性与速度相妥协,在实际应用中效果较差。图1(a)给出了例证。

u型结构

  • U型结构:通过融合骨干网的层次特征,u形结构逐渐提高了空间分辨率,并填补了一些缺失的细节。
  • 解析
    • 完整的u形结构会降低模型的速度,因为在高分辨率的特征图上引入额外的计算。
    • 更重要的是,在修剪或种植过程中丢失的大部分空间信息并不能弥补回来
    • 只能作为一种可行方案,但并不认为是最好方案

双边分割网络(BiSeNet)

  • 该网络由空间路径(SP)和上下文路径(CP)两部分组成。
  • 顾名思义,设计这两个组件分别是为了应对空间信息的丢失和接收域的收缩。
  • 对于Spatial Path,只叠加了三个卷积层,得到1/8的特征图,保留了丰富的空间细节。
  • 对于Context Path,我们在Xception[8]的尾部附加了一个全局平均池化层,接收域为骨干网的最大接收域。
  • 为了在不损失速度的情况下提高预测精度,研究了两种路径的融合和最终预测的细化,并分别提出了特征融合模块(FFM)和注意细化模块(ARM)。

相关工作

FCN

许多基于FCN[22]的语义分词方法在不同的语义分词任务基准上都取得了较好的性能;这些方法大多用于编码更多的空间信息或扩大接受域

使用了一些方法:

  • 卷积神经网络[16]通过连续的下采样操作对高级语义信息进行编码。

  • 然而,在语义分割任务中,图像的空间信息是预测详细输出的关键。

  • 现代现有的方法致力于丰富的空间信息编码。

  • DUC[32]、PSPNet[40]、DeepLab v2[5]和DeepLab v3[6]使用扩张卷积来保持feature map的空间大小。

  • 全局卷积网络[26]利用“大核”来扩大接收域。 --> 大卷积 5x5

    核心思想:多层下采样获取高级语义特征,使用扩张卷积或大卷积核获取大的感受野

U-Structure

  • 原FCN[22]网络采用跳接网络结构编码,具有不同的层次特征。

  • 有些方法利用其特定的细化结构形成u型网络结构。[1,24]利用上采样层构造u形网络结构。

  • U-net[27]介绍了本任务中有用的跳过连接网络结构。

  • Global Convolution Network[26]结合了u形结构和“大核”。

  • LRR[10]采用拉普拉斯金字塔重构网络。

  • RefineNet[18]增加了多路径细化结构来细化预测。

  • DFN[36]设计了一个通道注意块来实现特征选择。但是,在u型结构中,一些丢失的空间信息不容易恢复。

    核心思想:相当于原先的FCN的不同多层次特征的连接版本,使用了跳级连接、金字塔融合、通道注意力和解耦【多路径细化结构】的做法–>仍然不能很好地还原已丢失的信息

上下文信息

  • 常用的方法大多是扩大接受野或融合不同的语境信息。[5, 6, 32, 37]利用卷积层中不同的膨胀率来捕获不同的上下文信息。在图像金字塔的驱动下,语义分割网络结构通常采用多尺度特征集成。

  • 在[5]中,提出了一个“ASPP”模块来捕获不同接收域的上下文信息。

  • PSPNet[40]应用了一个“PSP”模块,它包含了几个不同规模的平均池层。

  • [6]设计了一个“ASPP”模块,使用全局平均池来捕获图像的全局上下文。

  • [38]通过尺度自适应卷积层对神经网络进行改进,获得自适应的场上下文信息。

  • DFN[36]在u形结构的顶部添加全局池来对全局上下文进行编码。

    核心思想:使用不同膨胀率的卷积进行增大感受野,使用图像金字塔促进特征融合

注意机制

  • 注意机制可以利用高层次的信息来引导前馈网络[23,31]。

  • 在[7]中,CNN的注意力取决于输入图像的尺度。

  • 在[13]中,他们将channel attention用于识别任务,达到了最先进的水平。

  • 像DFN[36]一样,他们学习全局背景作为注意,并修改特征。

    核心思想:注意力机制

实时分割

  • SegNet[1]利用较小的网络结构和跳连接的方法实现了较快的速度。

  • E-Net[25]从头开始设计轻量级网络,并提供极高的速度。

  • ICNet[39]采用图像级联的方法来加快语义分割的速度。

  • [17]采用级联网络结构,减少了“易区”的计算量。

  • [34]设计了一种新型的两列网络和空间稀疏性,以降低计算成本。

    核心思想:小的网络结构、跳级连接、级联设计

该文工作

BiSeNet:用于实时语义分割的双边分割网络-7min精简论文阅读系列-Leon_第2张图片

  • (a)网络架构。块的长度表示空间大小,厚度表示通道数。

  • (b)注意改进模块(ARM)的组成部分。

  • ©特征融合模块(FFM)的组件。读取行表示我们只在测试时采用这个过程。

  • 采用了一个轻量级模型来提供足够的接收域。

  • 此外,设计一个浅而宽的网络来捕捉足够的空间信息。

Spatial path

背景:
  • 试图通过扩大卷积来保持输入图像的分辨率以编码足够的空间信息,而一些方法[5,6,26,40]试图通过金字塔池化模块来捕获足够的接收域,atrous 空间金字塔池或“大核”。

  • 这些方法表明,空间信息和接收域是实现高精度的关键。

  • 然而,这两个要求很难同时满足。特别是在实时语义分割的情况下,现有的现代方法[1,25,39]利用小的输入图像或轻量级的基模型来加快速度。由于输入图像的尺寸较小,使得原始图像的大部分空间信息丢失,而轻量级模型通过信道剪枝破坏了空间信息。

    设计思路:

    • Spatial 路径分为三层。每一层包括一个stride = 2的卷积,然后是批量归一化[15]和ReLU[11]。-->其实就是三个简单的卷积

    • 因此,该路径提取出的输出特征图为原始图像的1/8。由于特征图具有较大的空间大小,它可以编码丰富的空间信息。图2(a)给出了结构的细节。

Context path

  • 空间路径编码丰富的空间信息,上下文路径提供足够的接受域。在语义分割任务中,接受域对任务的执行有重要意义。

  • 为了扩大接受域,一些方法利用了金字塔池化模块[40]、非均匀空间金字塔池化[5,6]或“大核”[26]。但是,这些操作的计算量大,占用内存大,速度慢。

  • 考虑到接收域大,同时计算效率高,提出了上下文路径。

  • Context Path利用轻量级模型和全局平均池[5,6,21]来提供大的接收域。

    • 在本工作中,Xception[8]等轻量级模型能够快速对特征图进行下样,获得较大的接受域,对高级语义上下文信息进行编码。
    • 然后在轻量级模型的尾部添加一个全局平均池,该池可以提供具有全局上下文信息的最大接收域。最后,将全局池的上采样输出特征与轻量级模型的特征相结合。
  • 注意力模块:

    • 在上下文路径中,我们提出了一个特定的At-注意细化模块(ARM)来细化每个阶段的特征。
    • 如图2(b)所示,ARM使用全局平均池来捕获全局上下文,并计算一个注意向量来指导特征学习。
    • 这种设计可以细化上下文路径中每个阶段的输出特性。该算法无需上采样操作,可轻松集成全局上下文信息。因此,它的计算成本可以忽略不计。

网络结构

  • 利用空间路径和上下文路径,我们提出了用于实时语义分割的BiSeNet,如图2(a)所示。

  • 我们使用预先训练的Xception模型作为背景路径的主干,并使用stride作为空间路径的三个卷积层。然后我们融合这两条路径的输出特征来做出最终的预测。它能同时实现实时性和高精度。

  • 首先,我们将重点放在实际计算方面。虽然空间路径有很大的空间大小,但它只有三个卷积层。因此,它不是计算密集型的。

  • 对于Context Path,我们使用了一个轻量级的模型来快速下样。此外,这两条路径并行计算,大大提高了效率。其次,我们讨论了这个网络的准确性方面。

  • 在本文中,空间路径编码了丰富的空间信息,而上下文路径提供了较大的接收域。它们相互补充,以获得更高的性能。

  • 特征融合模块:两条路径的特征在特征表示层次上存在差异。因此,我们不能简单地总结这些特征。

  • 空间路径所捕获的空间信息大多编码了丰富的细节信息。此外,上下文路径的输出特性主要是对上下文信息进行编码。也就是说,Spatial Path的输出特征是低维的,而Context Path的输出特征是高维的。因此,我们提出了一个特定的特征融合模块来融合这些特征

  • 根据特征的不同层次,我们**首先将空间路径和上下文路径的输出特征串接起来。然后利用批量正态化[15]来平衡特征的尺度。**接下来,我们将连接的特征归为一个特征向量,并计算一个权重向量,如SENet[13]–>注意力机制。该权值向量可以对特征进行重新加权,即特征的选择和组合。图2©显示了这个设计的细节。

损失函数

  • p 是网络的预测结果

  • 损耗函数:在本文中,我们也利用辅助损耗函数来监督我们所提出方法的训练。

  • 我们使用主损失函数来监督整个BiSeNet的输出。

  • 此外,我们增加了两个特定的辅助损失函数来监督Context Path的输出,如深度监督[35]。

  • 损失函数均为Softmax损失,如式1所示。

  • 此外,我们使用参数α来平衡主损失和辅助损失的权重,如式2所示。在我们的论文中α等于1。

  • 其中lp是级联输出的主要损失。Xi是Xception模型第i阶段的输出特征。li是阶段i的辅助损失。在我们的论文中K = 3。L是关节损失函数。在这里,我们只在训练阶段使用辅助损失
    BiSeNet:用于实时语义分割的双边分割网络-7min精简论文阅读系列-Leon_第3张图片
    BiSeNet:用于实时语义分割的双边分割网络-7min精简论文阅读系列-Leon_第4张图片


思维导图

你可能感兴趣的:(Leon-深度学习-分割,目标检测,计算机视觉,深度学习)