来源:AI科技评论
编辑:Camel
导语:MSFNet在Cityscapes测试集上达到77.1%mIoU/41FPS(注意是1024*2048),在Camvid测试集上达到75.4 mIoU/97FPS,是目前最强的实时语义分割网络。
下面要介绍的论文由北航、旷视、鹏城实验室发于2019年12月,题为「Real-Time Semantic Segmentation via Multiply Spatial Fusion Network」。
论文地址:https://arxiv.org//abs/1911.07217
实时语义分割在许多工业应用如自动驾驶,机器人等发挥了重要的作用。这是一项有挑战性的任务,需要同时考虑到速度和精度。为了解决这个复杂任务,这篇论文提出了一个有效的多空间融合网络(MSFNet)以实现快速和准确的分割。MSFNet 基于本文提出的多特征融合模块,并使用类边界监督来处理相关的边界信息,该模块可以获取空间信息并扩大感受野。
因此,对最后尺寸为原始图像尺寸 1/8 的特征图进行上采样就可以在保持高速的同时获得很好的精度。在 Cityscapes 和 Camvid 数据集上进行的实验表明,此方法具有绝对的优势。具体来说,MSFNet 在 Cityscapes 测试集上 77.1%mIoU/41FPS(注意是 1024*2048),在 Camvid 测试集上 75.4 mIoU/97FPS。
1、研究背景
语义分割旨在为每个像素分配一个类别,这是计算机视觉的一个重要任务。已经有大量的语义分割技术被提出以支持不同的应用如自动驾驶,视频监控和增强现实等。现有的方法主要集中在提高精度上,但是低延时实现实时性能是实际应用中最关键的问题,因此最近越来越多的研究关注到实时语义分割。
一些方法通过降低输入分辨率来加快推理速度,但这会严重丢失空间信息,尤其是和边缘相关的信息。其他一些方法通过通道缩减以降低计算成本,但这会导致网络的精度急剧下降。
另外一种常见的思路是使用轻量级的浅层网络,但这些网络有明显的缺陷,因为它们通常太浅而无法获得足够的感受野。这些缺陷使得网络难以保存目标的空间信息并严重导致性能下降。此外,缩减通道数也会减弱网络的特征表达能力。上面所有的因素都会限制现有网络的实时语义分割性能。为了解决实时语义分割的难题,已经有多种网络结构被提出,如Figure2所示:
空间金字塔(SPP)是一种广泛使用的结构,可以扩大感受野,但它也会严重增加计算成本,且无法弥补空间信息的损失。U性结构可以在一定程度上缓解上述问题,但仍然需要大量的计算成本。此外,仅仅通过合并特征图很难获得足够的感受野并完美弥补空间信息的损失。
另外一个特征重用的代表性结构有益于特征提取和扩大感受野,它的优点是参数更少,速度更快。但是,它和SPP类似无法弥补因下采样导致的空间信息丢失。通过分析现有的网络架构,论文发现关键是如何扩大感受野并重新弥补空间信息损失,同时保持较小的计算成本。
基于此,论文提出了多层空间融合网络(MSFNet)可以解决上面的问题。MSFNet的核心组件是多特征融合模块(MFM),如Figure2所示。它使用所有不同尺度的特征图和更大的融合从而扩大了感受野并恢复了更多的空间信息。基于此模块,最终的特征图(原始图像尺寸的1/8)将包含足够的空间信息,并显著降低计算成本。此外,论文还提出了类边界监督以避免边缘相关空间信息的损失。
2、方法
在这一节,将详细介绍本文的MSFNet。这里首先介绍具有空间感知池化的多特征融合模块。然后在多特征融合模块的基础上,介绍两个上采样分支并强调边界监督。整个网络的结构如Figure3所示。
2.1 多特征融合模块
现有的实时语义分割网络通常使用下采样来获取高级语义信息并降低计算成本。但是,在多次下采样之后高级语义层中的空间信息将严重丢失。高层特征图中目标分辨率较小,无法准确保留其形状。为了解决此问题,某些方法使用空间金字塔池化(SPP)或者Atrous空间金字塔池化(ASPP)来扩大感受野。但是这些特殊结构通常用于丰富高层语义信息,而不是低层空间信息。
空间感知池化 基于上述分析,本文提出了一个称为空间感知池化(SAP)的新结构,该结构接在主干网络的每个残差块之后。为了提取丰富的特征,使用了多个步长为s并且核大小k为2s+1的池化层。对于高分辨率(1024x2048)图像,分别在5个残差块上下采样了5次。
更正式地,每个残差块的输出被表示为: ,其中H和W是输入长宽,C是通道数, 是滑动步长。池化操作被定义为 ,其中步长 且核尺寸为 (这个公式原论文有错,我已经找论文的作者确认了),设置 。空间感知池化模块的输出被定义为:
其中 是第 i 个残差模块的空间感知池化模块的第j个输出。特别地, 不用于上采样,因为该特征图尺寸为原图的1/4,而本文的网络是直接从原图分辨率1/8的特征图上采样得到输出。大的感受野和空间信息的恢复对于语义分割都是非常重要的。通过本文设计的结构可以弥补空间信息的丢失,并可以一定程度上扩大感受野。并且,此方法在每个感受野层次都具有更好的空间信息恢复能力,并且在不增加计算成本的情况下极大的提高了性能。
特征融合 本文将输出和SAP模块中具有相同分辨率的特征图进行聚合输出,然后使用3x3的深度可分离卷积进行特征融合,由于聚合后通道数量很多,因此使用深度可分离卷积可以显著降低成本。这样不仅可以合并主干网络中不同层提取的特征增加信息的流动性,而且可以增强语义层对空间信息的敏感性。
边界监督 许多方法使用边界监督来提高分割网络的准确性。这些网络大多数都是将边界分类为一类,并在损失函数中使用边界监督,这意味着它们仅将边界用于辅助监督。和这些方法不同,本文使用从主干网络中提取得特征来实现特定类别的边界监督。
2.2 边界监督
许多现有的方法将输出特征图上采样到原图大小的1/4,然后使用双线性插值处理为原始图像尺寸。本文发现,原始图像大小的1/4是1/8的4倍,是1/16的16倍。这意味着在通道数相同的情况下,和使用1/8大小特征图相比,使用1/4大小特征图需要4倍计算成本。基于本文提出的多特征融合模块,上采样分支可以通过从原始图像尺寸的1/8大小的特征图进行上采样来执行分割。注意到,编码器中的浅层具有丰富的空间信息。
但是,由于最终特征图的尺寸较小,它们无法完全恢复与边缘相关的信息。为了克服上述问题造成的精度损失,本文提出了一种独特的多任务上采样解码器,以实现类边界监督。多特征融合模块在每个阶段都丰富了高质量的特征,这使我们能通过快速的上采样分支实现令人满意的精细分割结果。
为了恢复边缘空间信息并进一步改善结果,本文提出使用两个独立的上采样分支。在上采样过程中,两个上采样分支不将信息传递给彼此。对于边界,本文提出使用真实边界来监督分割任务,这更加关注边缘轮廓。每个上采样阶段都有不同的分辨率。它有两个输入,一个是前一阶段的双线性上采样特征图,另一个是具有与该特征图相同分辨率的特征融合模块的输出特征图。最后,当分辨率为原始图像尺寸的1/8时,可以通过使用深度可分离卷积来融合两个上采样分支,以获得最终的输出。
2.3 网络结构
首先,多特征融合模块考虑了感受野和空间信息对语义分割网络进行了改进。并且修改后的网络并没有增加额外的计算成本。MSFNet是一个密集的网络框架,效率更高,它和U型结构的网络完全不同。其次,本文使用了一个独立的分支进行边缘相关的信息提取,可以有效地实现类边界监督并纠正最终的分割结果。总之,MSFNet是一种典型的编解码网络结构。同时为了进行实时推理,必须选择轻量级的主干网络来提取特征。另外,类边界监督是一个独立的模块,也可以轻松地应用于其他不同的网络结构。
Backbone 本文使用的主干网络是轻量级的ResNet-18,该模型在ImageNet进行了预训练。如何有效地捕获上下文语义信息对于语义分割仍然是一个有挑战性的问题。同样,多特征融合模块也需要丰富的上下文信息。ResNet-18有4个不同的残差块,每个残差块由2个3x3卷积和一个跳跃连接组成。这种网络设计可以更好地支持本文的多功能融合模块对上下文语义信息的需求。ResNet-18可以实现实时性能并保证高质量的特征提取。
损失函数 此网络中,使用辅助损失函数来监督提取和边缘空间信息相关的上采样分支。此外,使用主干损失函数来监督整个网络的输出。所有的损失函数都是公式2中展示的标准交叉熵损失。
此外,还引入了一个参数 来平衡两个损失以更好的提升分割网络的性能,如公式3所示,其中y表示网络的预测结果,y’代表真实标注信息。
3、实验
因为MSFNet被设计为对高分辨率图像进行高效的分割,因此本文在Cityscapes和Camvid上进行了性能评估。这里首先介绍一下两个数据集和代码实现细节。然后分析本文提出的网络及组成部分的效果。最后,给出了相对于已经存在的实时语义分割网络MSFNet的性能对比结果。
3.1 数据集
Cityscapes Cityscapes收集了来自50个不同城市的大型城市街道场景数据。它包含5000个带有精细注释的图像和19998个分辨率高达1024x2048的带有粗略注释的图像。根据Cityscapes的标准设置,将带有注释的2975张图像进行训练,500张进行验证,其余1525张进行测试。此外,它包含30个类别,但仅考虑19个类别进行训练和评价。本文的实验仅使用带有注释的图像。
Camvid Camvid是从视频序列中提取的一个著名街景数据集。它包含701个带注释的图像,按照一般方法,用于训练的图像是367个,用于验证的图像是101个,用于测试的的图像为233个。该数据集包含11个分辨率最高为720x960的类别。
3.2 实现细节
论文使用Adam优化器训练模型。更具体地,批量大小为12,权重衰减为 。初始学习率设为0.0001并使用余弦衰减策略,学习率最低衰减到0.000001。在Cityscapes上训练了350个epoch,在Camvid上训练了700个epoch。对于数据增强,论文使用了随机水平翻转和减均值。另外,使用[0.5,2]中的随机值作为图像尺度进行缩放。接着,在Cityscapes上随机将图片裁剪到1024x1024大小,而在Camvid上则裁剪到768x1024大小。
3.3 网络结构分析
这一部分实验中,论文使用Cityscapes验证集进行评估。为了公平起见,不使用任何测试增强策略如多尺度预测或者多模型融合。同时,为了更准确的分析实验,这里使用mIOU作为评价标准。
多特征融合模块 先来讨论一下多特征融合模块,它为上采样分支中的每个阶段提供了必要的特征信息。如Table1所示,随着主干网络中每个阶段的池化操作次数从0增加到2,分割的准确率从72.2%提高到了75.3%。注意池化次数为0表示普通的U型结构。当池化的次数从4增加到5时,准确率大大提高,并且mIOU高达77.2%。
论文指出5次池化的性能大大提升时因为此时的特征图非常小,模型可以融合全局信息促进梯度信息的传播并促进模型更好的提取不同层次的特征。论文还尝试将主干网络每个阶段的特征图聚合到最小的特征图上,但是和在主干网络中每个阶段池化5次相比结果更差了,分割的准确率从77.2%下降到了75.3%。性能下降的原因是主干网络中的浅层会带来一些噪声。同样,浅层特征图中的语义信息也不丰富,这可能不利于高层全局语义信息的提取。
池化核的尺寸是 ,这将提升模型的鲁棒性。这样的参数设置方式会让特征图中的每个像素可以至少被四个窗口捕获,从而提高了特征融合的性能。预料之中,论文使用膨胀卷积代替池化的时候效果更差。虽然膨胀卷积可以在增加感受野的同时保留空间信息,但本文的多特征融合模块并不需要维持原始的空间分辨率。如Table 5所示,当池化核大小等于步长时可以获得76.2%的mIOU值,而当使用3x3膨胀卷积时,则只有74.8%的结果。
分类边界监督 为了解决边缘空间信息的损失,本文提出了基于两个完全独立上采样分支的类边界监督(CBS),其中一个被强制监督以提取边缘空间信息。在这里,主要来探讨一下类边界监督中真实边界的宽度以及边界损失计算。首先定义一个 表示边界的宽度。一个像素是边界像素当且仅当在 距离内至少有一个像素和当前像素不属于同一类别时,像素才是边界像素。论文使用两种方法来计算边界损失。第一种是使用双线性插值将1/8的特征图上采样到原图大小,而另一种方法是直接在1/8特征图中计算损失。
如Table4所示,将1/8特征图上采样到原图大小会导致性能下降。原因是因为双线性上采样会导致边界不连续,这会干扰主分支的分割性能,从而引起波动。但是当在1/8特征图中计算损失的时候,可以避免这种不连续空间特征引起的较大波动。从Table4可以看出当边界宽度为1时,可以获得最高的分割精度。
为了更好的比较,论文进行了Table3所示的不同边界监督实验。
将边界像素的类别设成1,其它设成0,可以看到这种策略导致分割精度从77.2%降低到76.3%。对于0/1边界监督方法,它对提高分割性能具有一定的效果。但是,由于本文的边界监督是在网络的最后阶段进行的,所以它无法更好的识别类别。最后对带有多特征融合模块的网络的上采样分支个数和融合方法进行了消融实验。
可以看到,当使用一个上采样分支时不论怎么融合性能都比较差。这是因为这个网络的上采样分支是一个简单的解码器,无法同时学习多任务并且多任务带来的噪声会影响语义分割性能。当使用两个分支消除噪声后,语义分割的性能大大提高,即使不融合也可以获得76.0%的mIOU。
整个模型 最后,来看一下MSFNet的最终表现结果。如Table7所示,基于“U-shape-8s”,它也从原始图像1/8的特征图执行了最终的上采样,本文的多特征融合模块可以实现巨大的提升,将其准确率从71.1%提升到76.0%。为了解决边界丢失的问题,本文提出的基于两个上采样分支的类边界监督可以进一步提高模型的分割性能,从76.0%提升到77.2%。
3.4 速度和精度对比
Table6展示了MSFNet的准确性和速度的对比。
本文使用500个1024x2048分辨率的测试图像报告结果,实验环境是虚拟机上的单个GTX 2080 Ti GPU。与Swiftnet类似,本文在推理时将BN层排除在外,因为BN可以和卷积融合。MSFNet的一些可视化结果如Figure4所示,
使用此网络可以在Cityscapes上实现高性能的语义分割。
3.5 在其它数据上的结果
为了验证本文方法的通用性,还在Camvid数据集上进行了实验。该数据集的分辨率为720x960。为了更好的适应本文的模型,将原图大小调整为768x1024进行训练和测试。同时空间感知池化里面的5次下采样这里改为3次以更好的适应这种图像分辨率。另外为了进一步证明这种方法的通用性,本文将原图的分辨率改为512x768进行了同样的训练和测试。最终的测试结果如Table8所示,
可以看到在mIOU达到最高的情况本文的MSFNet的速度也是SOTA。
4、结论
本文提出了一种基于空间感知池化的新型多特征融合模块,极大的提高了实习语义分割的性能。并在此基础上提出了类边界监督技术,以弥补边缘相关的空间信息损失。最后,本文在Cityscapes和Camvid数据集上验证了本方法的有效性。结果表明,MSFNet在速度和准确性都比现有的SOTA方法提升大很多。
未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能,互联网和脑科学交叉研究机构。
未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云脑研究计划,构建互联网(城市)云脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。
如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”