1简介
语义分割任务旨在精确预测图像中每个像素的标签。它已广泛应用于医学影像、自动驾驶、视频会议、半自动注释等应用。
随着深度学习的不断进步,许多基于卷积神经网络的语义分割方法已经被提出。FCN是第一个以端到端和像素对像素的方式训练的完全卷积网络。其提出了语义分割中的原始编解码器架构,在后续方法中得到了广泛的采用。
为了获得更高的精度,PSPNet利用一个金字塔池化模块
来聚合全局上下文信息,而SFNet提出了一个flow alignment module
来加强特征表示。
然而,由于这些模型的计算成本较高,因此并不适合实时落地应用。为了加快推理速度,Espnet-v2利用轻量级卷积从一个扩大的感受野中提取特征。BiSeNetV2提出了bilateral segmentation network
,并分别提取了细节特征和语义特征。STDCSeg设计了一种新的backboe,名为STDC
,以提高计算效率。然而,这些模型并不能在精度和速度之间取得令人满意的平衡。
在这项工作中提出了一个人为设计的实时语义分割网络PP-LiteSeg
。如图2所示,PPLiteSeg采用了编解码器架构,由3个新的模块组成:
- Flexible and Lightweight Decoder(FLD)
- Unified Attention Fusion Module(UAFM)
- Simple Pyramid Pooling Module(SPPM)
语义分割模型中的编码器提取层次特征,解码器融合和上采样特征。
- 对于编码器中从low-level到high-level的特征,通道数量增加,空间尺寸减小;
- 对于解码器中从high-level到low-level的特征,空间大小增加;
而最近轻量级语义分割模型的解码模块中,特征通道数都保持相同。因此,本文提出了一个更为灵活的轻量级解码器(FLD),它逐渐减少了通道数量,增加了特征的空间大小。此外,所提出的解码器可以很容易地根据编码器进行调整。灵活的设计平衡了编码器和解码器的计算复杂度,使整个模型的计算效率得到了提升。
加强特征表示是提高分割精度的关键因素。它通常是通过在解码器中融合low-level到high-level特征来实现的。然而,现有方法中的融合模块通常计算成本较高。在这项工作中,作者提出了一个统一的注意力融合模块(UAFM)来有效地加强特征表示。如图4所示,UAFM首先利用注意力模块产生权重,然后将输入特征与融合。在UAFM中,有2种注意模块,即空间注意力模块
和通道注意力
模块,它们充分利用了输入特征的空间之间以及通道之间的关系。
上下文聚合是提高分割精度的另一个关键因素,但以往的聚合模块对于实时网络来说依然很耗时。基于PPM的框架,作者设计了一个简单的金字塔池化模块(SPPM),它减少了中间通道和输出通道,消除了Shortcut,并用一个add操作替换了concat操作。实验结果表明,SPPM可以在较低的计算成本下提高分割精度。
通过在Cityscapes和CamVid数据集上的大量实验评估了所提出的PP-LiteSeg。如下图所示,PP-LiteSeg在分割精度和推理速度之间实现了一个优越的权衡。
具体来说,PP-LiteSeg在Cityscapes测试集上达到了72.0%的mIoU/273.6FPS和77.5%的mIoU/102.6FPS。
主要贡献总结如下:
- 提出了一种灵活的轻量级解码器(FLD),减轻了解码器的冗余性,并平衡了编码器和解码器的计算成本。
- 提出了一个统一的注意力融合模块(UAFM),利用通道和空间注意力来加强特征表示。
- 提出了一个简单的金字塔池化模块(SPPM)来聚合全局上下文信息。在增加少量推理时间的情况下提高了分割精度。
- 在上述模块的基础上,提出了一种实时语义分割模型PP-LiteSeg。大量的实验证明了其SOTA性能。
2相关工作
2.1 语义分割
FCN是第一个用于语义分割的完全卷积网络。它以端到端和像素对像素的方式进行训练。此外,任意大小的图像都可以通过FCN进行分割。根据FCN的设计,后来又提出了各种方法。
SegNet将编码器中的最大池化操作应用于解码器中的上采样操作。因此,解码器中的信息被重复利用,解码器也可以产生精细化的特征。
PSPNe提出了金字塔池化模块来聚合局部和全局信息,可以有效地提高分割精度。
此外,最近的语义分割方法利用了Transformer架构,实现了更高的精度。
2.2 实时语义分割
为了满足语义分割的实时需求,人们提出了很多方法,如轻量级模块设计、双分支架构、early-downsampling
策略、多尺度图像级联网络等。
ENet采用early-downsampling
策略来降低处理大图像和特征图的计算成本。为了提高效率,ICNet设计了一个多分辨率的图像级联网络。
而BiSeNet基于双边分割网络,分别提取细节特征和语义特征。双边网络是轻量级的,所以推理速度很快。
STDCSeg提出了通道减少的感受野放大的STDC模块
,并设计了一个有效的backbone,可以以较低的计算成本加强特征表示。为了消除双分支网络中的冗余计算,STDCSeg以详细的GT指导特征,从而进一步提高了效率。
EspNetv2使用point-wise和depth-wise可分离卷积,以一种计算友好的方式从扩大的感受野中学习特征。
2.3 特征融合模块
特征融合模块常用于语义分割中,主要是用来加强特征表示。除了元素级的求和和串联方法外,研究人员还提出了以下几种方法。
在BiSeNet中,BGA模块采用了element-wise mul
方法来融合来自空间分支和上下文分支的特征。
为了使用high-level上下文增强特性,DFANet以stage-wise
和subnet-wise
的方式融合特征。
为了解决错位问题,SFNet和AlignSeg首先通过CNN模块学习变换偏移,然后将变换偏移应用于网格样本操作,生成细化的特征。SFNet详细地设计了flow alignment module
。AlignSeg设计了aligned feature aggregation module
和aligned context modeling module
。
FaPN通过将变换偏移应用于可变形卷积来解决特征错位问题。