BiseNetV1 语义分割论文解读

摘要

语义分割需要丰富的空间信息和相当大的感受野。然而,现代方法通常会损害空间分辨率,以实现实时推理速度,从而导致较差的性能。在本文中,我们用一种新的双边分割网络(BiSeNet)来解决这个困境。我们首先设计了一个小步幅的空间路径Spatial Path来保存空间信息和生成高分辨率的特征。同时,采用具有快速降采样策略的上下文路径Context Path来获得足够的接受域。在这两条路径的基础上,我们引入了一个新的特征融合模块Feature Fusion Module来有效地结合特征。该架构在城市景观、CamVid和COCO-Stuff数据集上的速度和分割性能之间取得了正确的平衡。具体来说,对于2048×1024输入,我们在城市景观测试数据集上实现了68.4%的MIOU,在一张NVIDIATitanXP卡上的速度为105FPS,比现有方法快。

引言

语义分割的研究是计算机视觉中的一个基本任务,它相当于为每个像素分配语义标签。它可广泛应用于增强现实设备、自动驾驶和视频监控等领域。这些应用程序对快速交互或响应的高效推理速度有很高的需求。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DEGfo7NJ-1636274263251)(F:\研一\包含信息得文件\实习\论文\reource\语义分割\biSeNet\网络架构比较.png)]

演示了我们提出的双边分割网络(BiSeNet)。黑色虚线表示破坏空间信息的操作,而红色虚线表示缩小接受域的操作。绿色的方块是我们提出的空间路径(SP)。在网络部分中,每个块表示不同降采样大小的特征图。块的长度表示空间分辨率,而厚度代表通道的数量。

三种加速语义分割模型的方法

(1) 尝试通过裁剪或调整来限制输入大小来降低计算复杂度。虽然该方法简单有效,但空间细节的丢失破坏了预测,特别是在边界周围,导致度量和可视化的精度下降。

(2) 有些工作不是调整输入图像的大小,而是修剪网络的通道数以提高推理速度[1,8,25],特别是在基础模型的早期阶段。然而,它削弱了空间容量。

3)对于最后一种情况,ENet[25]建议放弃模型的最后阶段,以追求一个非常紧密的框架。然而,该方法的缺点是显而易见的:由于ENet在最后一阶段放弃了降采样操作,模型的接受域不足以覆盖大对象,导致识别能力较差。总的来说,上述所有方法都损害了速度的精度,这在实践中较差。

为了弥补上述空间细节的损失,研究人员广泛利用了u型结构,编码器解码器结构[1,25,35]。通过融合主干网络的层次特征,u型结构逐渐提高了空间分辨率,填补了一些缺失的细节。然而,这种技术有两个缺点

  • 由于在高分辨率特征图上引入了额外的计算方法,因此完整的u型结构可以降低模型的速度。
  • 更重要的是,在修剪或裁剪过程中丢失的大多数空间信息BiSeNet3不能通过包含浅层来轻松恢复,如图1(b)所示。换句话说,u型技术最好被视为一种缓解措施,而不是一种基本的解决方案。

基于上述观察结果,我们提出了双侧分割网络(BiSeNet),可分为两部分:空间路径(SP)和上下文路径(CP)。正如它们的名字所暗示的那样,这两个组成部分被设计成分别面对空间信息的损失感受野的收缩。这两条路径的设计理念都很明确。对于空间路径,我们只堆叠三个卷积层来获得1/8的特征图,这保留了丰富的空间细节。关于上下文路径,我们在Xception的尾部附加了一个全局平均池化层,在这里的感受野是主干网络的最大值。图1©显示了这两个组件的结构。

为了在不损失速度的情况下提高精度,我们还研究了两条路径的融合和最终预测的改进,并分别提出了特征融合模块(FFM)和注意细化模块(ARM)。正如我们接下来的实验所表明的,这两个额外的组件可以进一步提高Cityscapes [9]、CamVid[2]和COCO-Stuff[3]基准测试上的整体语义分割精度。

主要贡献

我们的主要贡献总结如下:

  • 我们提出了一种新的方法来将空间信息保存和接受域提供的功能解耦成两条路径。具体来说,我们提出了一个带有空间路径(SP)和上下文路径(CP)的双边分割网络(BiSeNet)。
  • 我们设计了两个特定的模块,特征融合模块(FFM)和注意细化模块(ARM),以可接受的成本进一步提高精度。
  • 我们在城市景观、CamVid和coco-stuff的基准测试上取得了令人印象深刻的结果。更具体地说,我们在105帧/秒的速度在Cityscapes测试数据集上获得了68.4%的结果。

1.论文提出了一条小步幅的空间信息路径(Spatial path)来保留空间信息以获取高像素的特征。
2.论文提出了一条上下文信息路径(Context path)来提供足够的感受野。
3.论文提出了一种特征融合模块(Feature Fusion Module),以高效的结合不同来自Spatial path和Context path的特征。

相关工作

近年来,许多基于FCN[22]的方法在语义分割任务的不同基准上取得了最先进的性能。这些方法大多是为了编码更多的空间信息或扩大感受野。

空间信息Spatial information

空间信息:卷积神经网络(CNN)[16]通过连续的降采样操作(pooling)对高级语义信息进行编码。然而,在语义分割任务中,图像的空间信息对于预测详细输出至关重要。现代现有的方法致力于编码丰富的空间信息。

  • DUC[32]、PSPNet[40]、DeepLabv2[5]和Deeplabv3[6]使用扩展卷积来保留特征图的空间大小。

  • 全局卷积网络[26]利用“large kernel”来扩大接受域。

U-Shape method

u型结构(编码器解码器架构)[1,10,22,24,27]可以恢复一定程度的空间信息

  • 原来的FCN[22]网络通过跳过连接网络结构对不同的特征进行编码。一些方法将其特定的细化结构应用于u形网络结构中。[1,24]使用反褶积层创建了一个u形网络结构。

  • U-net[27]为此任务引入了有用的跳过连接网络结构。

  • GCN全局卷积网络[26]将了u形结构与“large kernel”相结合。

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

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

  • DFN[36]设计了一个通道注意块来实现特征选择。

    然而,在u型结构中,一些丢失的空间信息并不容易恢复。

Context information

语义分割需要上下文信息来生成高质量的结果。大多数常见的方法都是扩大感受野或融合不同的上下文信息。[5,6,32,37]在卷积层中使用不同的膨胀速率(空洞卷积率)来捕获不同的上下文信息。在图像金字塔的驱动下,语义分割网络结构中总是采用多尺度特征集成

  • 在[5]中,提出了一个“ASPP”模块来捕获不同接受域的上下文信息。
  • PSPNet[40]应用了一个“PSP”模块,它包含了几个不同规模的平均池化层。
  • [6]设计了一个具有全局平均池化的“ASPP”模块来捕获图像的全局上下文。
  • [38]通过尺度自适应卷积层改进神经网络,以获得自适应场上下文信息。
  • DFN[36]在U型结构的顶部添加了全局池来编码全局上下文。

Attention mechanism 注意力机制

注意机制可以利用高级信息来指导前馈网络[23,31]。

  • 在[7]中,CNN的注意力取决于输入图像的尺度。
  • 在[13]中,他们将通道注意应用于识别任务中,实现了最先进的水平。
  • 与DFN[36]一样,他们学习全局上下文作为注意力,并修改这些特性

Real time segmentation

实时分割:实时语义分割算法需要快速生成高质量的预测。

  • SegNet[1]利用小网络结构和跳过连接方法实现快速速度。
  • E-Net[25]从头开始设计了一个轻量级的网络,并提供了一个极高的速度。
  • ICNet[39]使用图像级联来加快语义分割方法。
  • [17]采用级联网络结构来减少“容易区域”的计算。
  • [34]设计了一种新的双列网络和空间稀疏性来降低计算成本。

不同的是,我们提出的方法采用了一个轻量级的模型来提供足够的感受野。此外,我们设置了一个浅层但较宽的网络来捕获足够的空间信息。

Bilateral Segmentation Network(双边分割网络)

在本节中,我们首先详细说明我们提出的具有空间路径和上下文路径的双边分割网络(BiSeNet)。此外,我们还详细阐述了这两条路径的有效性,演示如何将这两条路径的特征与FFM特征融合模块和我们的BiSeNet的整个架构结合起来。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CLxwFdc5-1636274263254)(F:\研一\包含信息得文件\实习\论文\reource\语义分割\biSeNet\网络架构2.png)]

双边分割网络的概述。(a)网络架构。块的长度表示空间大小,而厚度表示通道数。(b)注意细化模块(ARM)的组件。©特征融合模块(FFM)的组件。读取行表示我们只在测试时进行这个过程。

Spatial path 空间(信息)路径

在语义分割任务中,一些现有的方法[5,6,32,40]试图保留输入图像的分辨率,通过扩展卷积编码足够的空间信息,而一些方法[5,6,26,40]试图通过金字塔池模块、粗糙的空间金字塔池或“大核”来捕获足够的感受野。

这些方法表明,空间信息和感受野是实现高精度的关键。然而,很难同时满足这两个需求。特别是在实时语义分割的情况下,现有的现代方法[1,25,39]利用小输入图像或轻量级基础模型来加快速度。输入图像的小尺寸丢失了原始图像的大部分空间信息,而轻量级模型通过通道剪枝损害了空间信息。基于此种观察,我们提出了一种空间路径(Spatial Path)来保存原始输入图像的空间大小,并编码丰富的空间信息。空间路径包含三层。每一层包括与stride=2的卷积,然后是BN[15]和ReLU[11]。因此,该路径提取的值为原始图像的1/8的输出特征映射。由于特征地图的空间规模较大,因此它编码了丰富的空间信息。图2(a)显示了该结构的详细信息。

Context path上下文路径

虽然空间路径编码丰富的空间信息,但上下文路径的设计是为了提供足够的感受野。在语义分割任务中,感受野对性能具有重要意义。为了扩大感受野,一些方法利用了金字塔池模块[40]、ASPP[5,6]或“large kernel”[26]。然而,这些操作要求计算和内存消耗,这导致了速度较低

同时考虑到大的感受野和高效的计算,我们提出了上下文路径。上下文路径利用轻量级模型和全局平均池[5,6,21]来提供较大的感受野。在这项工作中,轻量级模型,如 Xception[8],可以快速下采样特征地图,以获得大的感受野,它编码高层次的语义上下文信息。

然后,我们在轻量级模型的尾部添加一个全局平均池,它可以为最大的感受野提供全局上下文信息。最后,我们融合了全局池的上采样输出特征和轻量级模型的特征。在轻量级模型中,我们部署u形结构[1,25,35]来融合最后两个阶段的特征,这是一种不完整的u型风格。图2©显示了上下文路径的整体透视图。

Network architecture 网络架构

利用空间路径和上下文路径,我们提出了BiSeNet的实时语义分割,如图2(a)所示。我们使用预先训练的Xception模型作为上下文路径的主干,三个卷积层,以步幅作为空间路径。然后,我们将这两条路径的输出特征融合起来,进行最终的预测。同时还能实现实时性能和较高的精度。

首先,我们关注实际的计算方面。虽然空间路径有很大的空间大小,但它只有三个卷积层。因此,它不是计算密集型的。至于上下文路径,我们使用了一个轻量级的模型来快速下采样。此外,这两条路径同时计算,这大大提高了效率。其次,我们讨论了该网络的精度方面。在我们的论文中,空间路径编码了丰富的空间信息,而上下文路径提供了较大的感受野。它们彼此互补,以获得更高的性能。

特征融合模块:这两条路径的特征在特征表示水平上有所不同。因此,我们不能简单地将这些特征相加。空间路径捕获的空间信息大多编码丰富的细节信息。此外,上下文路径的输出特性主要对上下文信息进行编码。换句话说,空间路径的输出特征层次较低,而上下文路径的输出特征层次较高。

因此,我们提出了一个特定的特征融合模块来融合这些特征。

  • 考虑到不同的特征级别,我们首先连接了空间路径和上下文路径的输出特征。

  • 然后我们利用BN来平衡特征的尺度。

  • 接下来,我们将连接的特征池化为一个特征向量,并计算一个权重向量,就像SENet一样[13]。这个权重向量可以重新加权特征,这相当于特征的选择和组合。图2©显示了本设计的细节。

损失函数:在本文中,我们还利用辅助 auxiliary 损失函数来监督我们所提出的方法的训练。我们使用主损失函数来监督整个BiSeNet的输出。此外,我们添加了两个特定的辅助损失函数来监督上下文路径的输出,比如深度监督[35]。如方程1所示。所有损失函数都是Softmax函数。此外,我们使用参数α来平衡主损失和辅助损失的权重,如方程2所示。本文中的α等于1。连接损失使优化器更舒适地优化模型。其中,p为网络的输出预测。

其中,lp是连接输出的主要损失。Xi是Xception模型第1阶段的输出特性。li是第i阶段的辅助损失。在我们的论文中,K等于3。L是关节损失函数。在这里,我们只在训练阶段使用辅助损失函数

实验结果

Cityscapes:城市景观[9]是一个从汽车的角度来看的大型城市街景数据集。它包含2975张用于训练的精细注释图像和另外500张用于验证的图像。在我们的实验中,我们只使用精细注释的图像。为了进行测试,它提供了1525张没有地面真相的图像来进行公平的比较。这些图像的分辨率都为2,048×1,024,其中每个像素都被注释到预定义的19个类。

CamVid:CamVid[2]是另一个从驾驶汽车的角度来看的街景数据集。它总共包含701张图像,其中367张用于训练,101张用于验证,233张用于测试。这些图像的分辨率分别为960×720和11个语义类别。

COCO-Stuff:COCO-Stuff[3]增强了流行的COCO[20]数据集的所有164000张图像,其中118000张图像用于训练,5000张图像用于验证,20000张图像用于测试开发,20000张图像用于测试挑战。它涵盖了91个类物品和1个“未贴标签”的类型。

implements protocol 实施方案

在本节中,我们将详细阐述我们的实施方案。

网络:我们将三种卷积作为Spitial path空间路径和Xception39的上下文路径。然后利用特征融合模块结合这两条路径的特征来预测最终结果。空间路径的输出分辨率和最终的预测结果为原始图像的1/8。

训练细节:我们在训练中使用小批量随机梯度下降(SGD)[16],批量大小为16,动量为0.9和重量衰减为1e−4。与[5,6,21]类似,我们应用了**“poly”**学习率策略,其中每次迭代的初始速率乘以(1−iter/max_iter)^power,指数为0.9。初始学习率为2.5e−2。

数据增强:我们在训练过程中采用平均减除、随机水平翻转和随机尺度来增强数据集。尺度包含{0.75、1.0、1.5、1.75、2.0}。最后,我们将图像随机裁剪成固定大小以进行训练。

Ablation study 消融研究

在本小节中,我们将详细一步地研究我们提出的BiSeNet中每个组件的影响。在接下来的实验中,我们使用Xception39作为基础网络,并在城市景观验证数据集[9]上评估我们的方法。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cBvpOsp8-1636274263259)(F:\研一\包含信息得文件\实习\论文\reource\语义分割\biSeNet\性能评估1.png)]

baseline:我们使用在ImageNet数据集[28]上预训练的Xception39作为上下文路径的主干。然后我们直接将网络的输出作为原始输入图像进行上采样,比如FCN[22]。我们评估了基础模型的性能作为我们的基准,如表1所示

u形的消融:我们提出了上下文路径来提供足够的接受域。其中我们使用轻量级模型Xcenpep39作为上下文路径的主干来快速下采样。同时,我们使用u形结构[1,25,35]来结合xcenption39网络最后两个阶段的特征,称为u-8s,而不是标准的u形结构,称为u-4s。该数字表示输出特征的降采样因子,如图2所示。

使用u型-8s结构的原因有两方面。

  • 首先,u型结构可以恢复一定程度的空间信息和空间大小。
  • 第二,u-shape-8s结构比ushape-4s结构更快,如表2所示。因此,我们使用u-shape-8s结构,它将性能从60.79%提高到66.01%,如表2所示。

空间路径的消融:如第1节所述,现有的现代实时语义分割任务方法面临着空间信息丢失的挑战。因此,我们提出了一个空间路径来保持空间大小和捕获丰富的空间信息。空间路径包含三个具有stride=2的卷积,然后是批处理归一化[15]和ReLU[11]。这将性能从66.01%提高到67.42%,如表3所示。空间路径编码了大量的空间信息的细节。图3显示,BiSeNet可以获得更详细的空间信息,例如一些交通标志。

对我们提出的BiSeNet中每个组件的详细性能比较。CP:上下文路径;SP:空间路径;GP:全局平均池化;ARM:注意细化模块;FFM:功能融合模块。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dGXDZe3I-1636274263264)(F:\研一\包含信息得文件\实习\论文\reource\语义分割\biSeNet\各个部件的性能研究.png)]

注意力细化模块的消融:为了进一步提高性能,我们特别设计了一个注意力细化模块(ARM)。该模块包含一个全局平均池,以将一个输出特征编码为一个向量。然后,我们利用卷积、批归一化[15]和ReLU单元[11]来计算注意向量。原始特征将由注意向量重新加权。对于原始特性,很容易捕获全局上下文信息,而不需要复杂的上样本操作。ARM的效果如表3所示。

表4。我们的基线模型的准确性和参数分析:城市景观验证数据集上的xcenp39和Res18。这里我们使用FCN-32作为基结构。估计输入3×640×360。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5pcelOPU-1636274263266)(F:\研一\包含信息得文件\实习\论文\reource\语义分割\biSeNet\性能评估2.png)]

我的看法:从表格中可以发现,使用Xception39网络可以有效的减少网络的结构参数和运算量

特征融合模块的消融:基于空间路径和上下文路径,我们需要融合这两条路径的输出特征。考虑到不同层次的特征、空间路径的低层次和上下文路径的高水平,我们提出了特征融合模块来有效地结合这些特征。首先,我们评估了这些特征和我们提出的特征融合模块的直接总和的效果,如表3所示。比较性能的差距解释了这两条路径的特征依次属于不同的层次

全球平均池化的消融:我们期望上下文路径可以提供足够的感受野。虽然原始的Xception39模型在理论上可以覆盖输入图像的最大区域,但我们仍然通过全局平均池[21]进一步扩大感受野。这可以确保有效感受野足够大。在本文中,我们在Xception39模型的尾部添加了全局平均池化。然后,我们对全局平均池的输出进行上采样,并与Xception39模型中最后阶段的输出进行总结,如DFN[36]。这将性能从67.42%提高到68.42%,这说明了该设计的效果,如表3所示。

速度与准确性分析

在本节中,我们首先分析算法的速度。然后,我们报告了我们在城市景观[9]、CamVid[2]和COCO-Stuff[3]基准测试上与其他算法相比的最终结果。

速度分析:速度是一个算法的一个重要因素,特别是当我们在实践中应用它时。我们在不同的环境下进行实验,以便进行彻底的比较。

首先,我们在表4中显示了我们的FLOPS和参数的状态。FLOPS和参数表示处理此分辨率的图像的操作次数。为了进行公平的比较,我们选择640×360作为输入图像的分辨率。

同时,表5给出了我们的方法与其他方法在不同输入图像分辨率和不同硬件基准上的速度比较。最后,我们在城市景观测试数据集上报告了我们的速度和相应的准确性结果。

从表6中我们可以看出,我们的方法在速度和准确性上都比其他方法取得了显著的进展。在评估过程中,我们首先将2048×1024分辨率的输入图像放大到1536×768分辨率,以测试速度和准确性。同时,我们使用[33]中描述的在线bootstrapping策略来计算损失函数。在这个过程中,我们不使用任何测试技术,如多规模或多裁剪测试。

精度分析:实际上,我们的BiSeNet也可以比其他非实时语义分割算法获得更高的精度。在这里,我们将展示在Cityscapes [9]、CamVid[2]和COCO-Stuff[3]基准测试上的准确性结果。同时,为了保证我们的方法的有效性,我们还在不同的基础模型上使用了它,如标准的ResNet18和ResNet101[12]。接下来,我们将详细介绍一些训练细节。

结论

本文提出了双边分割网络(BiSeNet)来同时提高实时语义分割的速度和精度。我们提出的BiSeNet包含两个路径:空间路径(SP)和上下文路径(CP)。空间路径被设计用来保存从原始图像中获得的空间信息。上下文路径利用轻量级模型和全局平均池[6,21,40]快速获得相当大的接受域。通过丰富的空间细节和较大的接受域,我们在105FPS的城市景观[9]测试数据集上获得了68.4%的平均IOU的结果。

一些问题

  1. 在语义分割中使用辅助的损失函数是否能够提高效果?
  2. 既然可以分为spatial path和context path,是否可以分出更多path进一步提升效果?

你可能感兴趣的:(machine,learning,深度学习,计算机视觉,人工智能)