摘要
目前的语义分割方法通常使用高分辨率输入来获得更高的性能,这带来了巨大的算力需求,且限制了其在资源受限的设备上的应用。在本文中,我们提出了一个简单灵活的双分支框架,称为双重超分辨率学习(DSRL),可以有效地提高分割精度,且无需增加额外的计算成本。具体来说,所提出的方法包括三个部分:语义分割超分辨率(SSSR),单图像超分辨率(SISR)和特征相似性(FA)模块,它们可以保持高分辨率表示和低分辨率输入,同时降低模型的计算复杂度。而且,此方法容易地推广到其它任务,在语义分割和人体姿态估计方面表现出色的性能。对于CityScapes的语义分割,我们可以使用70%FLOPs的同时保持性能,在相似FLOPs的情况下可以实现mIoU≥2%的改进。对于人体姿势估计,我们可以在FLOPs降低30%时保持mAP,在相同的FLOPs下获得mAP≥2%的改进。
介绍
语义分割是场景理解的一项基本任务, 它在自动驾驶,机器人感应等领域中具有多种潜在应用。 对于大多数此类应用,同时保持高效的推理速度和出色的性能是一个挑战,特别是在资源有限的移动设备上。在语义分割中高分辨率的特征图起着至关重要的作用。当前,有两条主线可以保持高分辨率表示。一种方法是使用atrous conv来替换strided conv。另一种是通过结合自上而下的路径和横向连接(例如像UNet这样的编码器-解码器框架)来产生更高分辨率的特征图。但是,这些方法通常涉及昂贵的计算成本。此外,他们通常将原始的高分辨率图像作为输入,这进一步增加了计算量。近年来,紧凑型分割网络在资源受限设备中的应用优势引起了人们的广泛关注。但是,它们的性能远远不如最新的方法。为了缩小精度差距,这些方法经常与高分辨率输入组合,这也带来了显着的计算成本。一旦限制了输入大小,无论是大型网络还是小型网络,其性能都会大大降低。对此,我们设计了一个双重超分辨率学习框架来保持高分辨率的特征,该框架可以在保持推理速度的同时提高性能;通过FA和SISR进一步增强了SSSR的高分辨率特征。两个分支共享相同的特征提取器,并且在训练过程中通过监督对SISR分支进行了优化,并且在推理阶段将其从网络中自由删除,从而无成本的开销。此方法可以在相似的FLOP情况下轻松实现更高的mIoU,并在更少的FLOP情况下保持性能。
双重超分辨率学习 (Dual Super-Resolution Learning)
双重超分辨率学习(DSRL),可以有效地提高性能,尤其是在使用低分辨率输入的情况下。 如图1所示,我们的体系结构包括三个部分:
(a)语义分割超分辨率(SSSR)
(b)单图像超分辨率(SISR)
(c)特征相似性(FA)。
图1.DSRL框架的概述,该框架包括三个部分:语义分割超分辨率(SSSR)分支,单图像超分辨率(SISR)分支和特征相似性(FA)模块。 编码器在SSSR分支和SISR分支之间共享。 该架构将通过以下三个方面进行优化:SISR分支的MSE损失,FA损失和特定于任务的损失,例如语义分割的交叉熵损失。
语义分割超分辨率(SSSR)
对于语义分割,我们附加一个额外的上采样模块,整个过程称为语义分割超分辨率(SSSR),例如,如图3(a)所示,输入为512× 1024得到为1024×2048的输出,比输入图像大2倍。此方法可以充分利用输入信息并得到更准确标签预测。
单图像超分辨率(Single Image Super-Resolution)
SISR旨在从低分辨率输入中构建高分辨率图像。SISR可以在低分辨率输入下有效地重建图像的结构细节信息,这对于语义分割十分有帮助。为了更好地理解,我们将图2中的SSSR和SISR的特征可视化。通过比较图2中的(b)和(c),我们可以轻松地发现SISR包含对象的更完整结构。尽管这些结构没有明确暗示类别,但是可以通过像素与像素或区域与区域之间的关系有效地对它们进行分组。众所周知,这些关系可以隐式传递语义信息,从而有利于语义分割的任务。因此,我们应用从SISR中恢复的高分辨率特征来指导SSSR高分辨率表示的学习,并且这些细节可以通过内部像素之间的相关性或关系来建模。
图2.同一输入(0.5倍)SSSR和SISR的可视化。 (a)输入图像,(b)SSSR特征可视化,和(c)SISR特征可视化。
图3.(a)语义分段超分辨率(SSSR)分支; (b)使用单图像超分辨率(SISR)分支扩展(a)。 “编码器”共享特征提取器。
特征相似性(Feature Affinity Learning)
由于SISR比SSSR包含更完整的结构信息,因此我们引入特征相似性学习来指导SSSR学习高分辨率表示。如公式1所示,FA旨在学习SISR和SSSR之间的矩阵相似度,其中,如公式2所示,矩阵相似度主要描述像素之间成对关系。对于W ‘× H ‘× C ‘特征图 F ,其中W ‘× H ‘表示空间尺寸,我们制定了每两个像素之间的关系,因此关系图包含W ‘ H ‘× W ‘ H ‘连接, Sij 表示特征图 F 上的第 i 个像素和第 j 个像素之间的关系。为了减少由SISR和SSSR分支之间的特征分布差异引起的训练不稳定性,我们在应用FA损失之前在SSSR分支的特征图上附加了一个特征变换模块,该模型由1×1卷积组成层,然后是BatchNorm和ReLU层。
实验结果
为了进一步验证我们方法的有效性,我们将双重超分辨率学习方法应用于其他一些架构,例如,以ResNet101为背景的PSPNet,以及为实时应用而设计的几个紧凑型网络,例如, 基于ResNet的DABNet和BiseNet18。 表1分别显示了分割精度和模型复杂度。 我们使用FLOP来评估在512×1024分辨率下计算出的网络复杂度。 我们可以看到,我们的方法可以改善不同复杂性网络上的结果:ESPNetv2,BiseNet,DABNet,PSPNet和DeepLabv3 +。 对于使用解码器(例如PSPNet)的网络,测试集的改进幅度为4.3%,而基线为69.3%。 与蒸馏方法相比,我们提供了另一条有效的管道,以在相同的FLOPs下获得更高的性能。
表1.在CityScapes验证(Val)和测试(Test)与其他最新方法的比较
。在相同的图片分辨率下计算精度和GFLOPs。 †:指与知识蒸馏中的方法。 ‡:表示网络已在多个规模上进行了测试。
总结:
在这项工作中,我们提出了一种用于语义分割的双重超分辨率学习框架。 语义分割超分辨率(SSSR)分支有助于学习更高分辨率的特征,以进行语义分割的标签预测。SISR可以在低分辨率输入下有效地重建图像的结构细节信息。双重超分辨率学习(DSRL)很容易地推广到其它任务,且降低模型的计算复杂度无需增加额外的计算成本,拓展了其在资源受限的设备上的应用。