PP-LiteSeg: A Superior Real-Time Semantic Segmentation Model
6 Apr 2022
https://arxiv.org/abs/2204.02681
https://github.com/PaddlePaddle/PaddleSeg
Juncai Peng, Yi Liu, Shiyu Tang, Yuying Hao, Lutao Chu, Guowei Chen, Zewu Wu, Zeyu Chen, Zhiliang Yu, Yuning Du, Qingqing Dang, Baohua Lai, Qiwen Liu, Xiaoguang Hu, Dianhai Yu, Yanjun Ma
Real-world applications have high demands for semantic segmentation methods. Although semantic segmentation has made remarkable leap-forwards with deep learning, the performance of real-time methods is not satisfactory. In this work, we propose PP-LiteSeg, a novel lightweight model for the real-time semantic segmentation task. Specifically, we present a Flexible and Lightweight Decoder (FLD) to reduce computation overhead of previous decoder. To strengthen feature representations, we propose a Unified Attention Fusion Module (UAFM), which takes advantage of spatial and channel attention to produce a weight and then fuses the input features with the weight. Moreover, a Simple Pyramid Pooling Module (SPPM) is proposed to aggregate global context with low computation cost. Extensive evaluations demonstrate that PP-LiteSeg achieves a superior trade-off between accuracy and speed compared to other methods. On the Cityscapes test set, PP-LiteSeg achieves 72.0% mIoU/273.6 FPS and 77.5% mIoU/102.6 FPS on NVIDIA GTX 1080Ti. Source code and models are available at PaddleSeg: this https URL.
摘要:现实世界中的应用对语义分割方法有很高的要求。虽然随着深度学习,语义分割取得了显著的飞跃,但实时方法的性能并不令人满意。在这项工作中,我们提出了PP-LiteSeg,一种用于实时语义分割任务的新型轻量级模型。具体来说,我们提出了一种灵活的轻量级解码器(FLD),以减少先前解码器的计算开销。为了增强特征表示,我们提出了一种统一注意力融合模块(UAFM),该模块利用空间和通道注意力产生权重,然后将输入特征与权重融合。此外,提出了一种简单的金字塔池模块(SPPM),以低计算成本聚合全局上下文。广泛的评估表明,与其他方法相比,PP-LiteSeg在准确性和速度之间实现了更好的权衡。在Cityscapes测试集上,PP LiteSeg在NVIDIA GTX 1080Ti上实现了72.0%mIoU/273.6 FPS和77.5%mIoU/102.6 FPS。
1 引言
语义分割旨在精确预测图像中每个像素的标签。它已广泛应用于现实应用中,例如医疗成像[30]、自动驾驶[10、24]、视频会议[5]、半自动注释[9]。作为计算机视觉中的一项基本任务,语义分割引起了研究人员的广泛关注[13,16]。
随着深度学习的显著进展,人们提出了许多基于卷积神经网络的语义分割方法[3,15,18,26,29]。FCN[18]是第一个以端到端和像素到像素的方式训练的全卷积网络。以及语义分割中的原始编解码体系结构,该体系结构在后续方法中被广泛采用。为了实现更高的精度,PSPNet[29]利用金字塔池模块来聚合全局上下文,而SFNet[15]提出了一个流对齐模块来加强特征表示。
然而,由于计算成本高,这些模型不适合实时应用。为了加快推理速度,Espnetv2[21]利用轻量级卷积从扩大的感受野中提取特征。BiSeNetV2[26]提出了双边分割网络,分别提取细节特征和语义特征。STDCSeg[8]设计了一种新的主干,称为STDC,以提高计算效率。然而,这些模型在精度和速度之间并没有达到令人满意的平衡。
在这项工作中,我们提出了一个名为PP LiteSeg的实时手工网络。如图2所示,PPLiteSeg采用编码-解码器架构,由三个新模块组成:灵活轻量级解码器(FLD)、统一注意力融合模块(UAFM)和简单金字塔池模块(SPPM)。这些模块的动机和细节介绍如下。
语义分割模型中的编码器提取层次特征,解码器融合和取消特征采样。对于编码器中从低级到高级的特征,通道数量增加,空间大小减小,这是一种有效的设计。对于解码器中从高level到低level的特征,空间大小增加,而在最近的模型中通道的数量相同[8,15]。因此,我们提出了一种灵活、轻量级的解码器(FLD),它可以逐渐减少通道并增加特征的空间大小。此外,该解码器的体积可以很容易地根据编码器进行调整。灵活的设计平衡了编码器和解码器的计算复杂度,使整体模型更高效。
加强特征表示是提高分割精度的关键途径[11、15、25]。它通常通过融合解码器中的低层和高层特征来实现。然而,现有方法中的融合模块通常具有较高的计算成本。在这项工作中,我们提出了一个统一的注意力融合模块(UAFM)来有效地增强特征表示。如图4所示,UAFM首先利用注意力模块生成权重,然后将输入特征与融合。在UAFM中,有两种注意力模块,即空间和通道注意力模块,它们利用输入特征的空间和通道间关系。
上下文聚合是提高分割精度的另一个关键,但以前的聚合模块对于实时网络来说非常耗时。基于PPM[29]的框架,我们设计了一个简单的金字塔池模块(SPPM),该模块减少了中间通道和输出通道,删除了捷径,并用加法操作取代了拼接操作。实验结果表明,SPPM在较低的计算成本下提高了分割精度。
我们通过在Cityscapes和CamVid数据集上的大量实验来评估所提出的PP-LiteSeg。如图1所示,PP-LiteSeg在分割精度和推理速度之间实现了出色的权衡。具体来说,PP LiteSeg在Cityscapes测试集上实现了72.0%mIoU/273.6 FPS和77.5%mIoU/102.6 FPS。我们的主要贡献总结如下:
•我们提出了一种灵活、轻量级的解码器(FLD),它减轻了解码器的冗余,并平衡了编码器和解码器的计算成本。
•我们提出了一个统一注意力融合模块(UAFM),该模块利用通道和空间注意力来增强特征表示。
•我们提出了一个简单的金字塔池模块(SPPM)来聚合全局上下文。SPPM以较小的额外推理时间提高了分割精度。
•基于上述模块,我们提出了实时语义分割模型PP-LiteSeg。大量实验证明了SOTA在精度和速度方面的性能。
2、相关工作
2.1语义分割
深度学习帮助语义分割取得了显著的飞跃。FCN[18]是第一个用于语义分割的全卷积网络。它以端到端和像素到像素的方式进行训练。此外,FCN可以分割任意大小的图像。在FCN的设计之后,在后面提出了各种方法。Segnet[1]将编码器中最大池操作的索引应用于解码器中的上采样操作。因此,解码器中的信息被重用,解码器产生精细的特征。PSPNet[29]提出了金字塔池模块来聚合局部和全局信息,这对分割精度是有效的。此外,最近的语义分割方法[11,17]利用transformer架构来实现更好的准确性。
2.2实时语义分割
为了满足语义分割的实时性要求,人们提出了许多方法,例如轻量级模块设计[8,21]、双分支架构[26,27]、早期降采样策略[23]、多尺度图像级联网络[28]。ENet[23]使用早期降采样策略来降低处理大型图像和特征图的计算成本。为了提高效率,ICNet[28]设计了一个多分辨率图像级联网络。基于双边分割网络,Bisenet[26]分别提取细节特征和语义特征。双边网络是轻量级的,因此推理速度很快。STDCSeg[8]提出了通道缩减感受野放大的STDC模块,并设计了一个高效的主干,该主干可以以较低的计算成本增强特征表示。为了消除双支路网络中的冗余,STDCSeg用详细的真值引导特征,从而进一步提高了效率。Espnetv2[21]使用组点方向和深度方向的扩展可分离卷积,以计算友好的方式从放大的感受野学习特征。
2.3特征融合模块
特征融合模块通常用于语义分割,以增强特征表示。除了按元素求和和和级联方法外,研究人员还提出了以下几种方法。在BiSeNet[26]中,BGA模块采用基于元素的mul方法来融合来自空间和上下文分支的特征。为了增强具有高级上下文的功能,DFANet[14]以阶段和子网方式融合功能。为了解决错位问题,SFNet[15]和AlignSeg[12]首先通过CNN模块学习变换偏移,然后将变换偏移应用于网格采样操作,以生成精细特征。具体来说,SFNet设计了流对齐模块。AlignSeg设计了对齐特征聚合模块和对齐上下文建模模块。FaPN[11]通过将变换偏移应用于可变形卷积来解决特征错位问题。
3、拟定方法
在本节中,我们首先分别介绍了灵活轻量级解码器(FLD)、统一注意力融合模块(UAFM)和简单金字塔池模块(SPPM)。然后,我们提出了用于实时语义分割的PP-LiteSeg的体系结构。
3.1、灵活轻便的解码器
编码器-解码器结构已被证明是有效的语义分割。通常,编码器利用一系列分为几个阶段的层来提取层次特征。对于从低水平到高水平的特征,通道数量逐渐增加,特征的空间大小减小。该设计平衡了每个阶段的计算成本,从而确保了编码器的效率。解码器还有几个阶段,负责融合和上采样特征。虽然特征的空间大小从高级别增加到低级别,但在最近的轻量级模型中,解码器在所有级别上保持特征通道相同。因此,浅级的计算成本远大于深级,这导致了浅级的计算冗余。为了提高译码器的效率,我们提出了一种灵活、轻量级的译码器(FLD)。如图3所示,FLD将特征通道从高级别逐渐减少到低级别。FLD可以轻松调整计算成本,以实现编码器和解码器之间的更好平衡。虽然FLD中的特征通道在减少,但我们的实验表明,PP-LiteSeg与其他方法相比具有竞争力的准确性。
3.2统一注意力融合模块
如上所述,融合多级特征对于实现高分割精度至关重要。除了按元素求和和和级联方法外,研究人员还提出了几种方法,例如SFNet[15]、FaPN[11]和AttaNet[25]。在这项工作中,我们提出了一个统一的注意力融合模块(UAFM),该模块应用通道和空间注意力来丰富融合的特征表示。
UAFM框架。
如图4(a)所示,UAFM利用注意力模块生成权重α,并通过Mul和Add操作将输入特征与α融合。具体来说,输入特征表示为Fhigh和Flow。Fhigh是深层模块的输出,Flow是编码器的对应项。请注意,它们具有相同的通道。UAFM首先利用双线性插值操作将Fhigh上采样到相同大小的流,而上采样特征表示为Fup。然后,注意力模块将Fup和Flow作为输入,并生成权重α。注意,注意力模块可以是一个插件,例如空间注意力模块、通道注意力模块等。然后,为了获得注意力加权特征,我们分别对Fup和Flow应用元素级Mul操作。最后,UAFM对注意力加权特征进行元素添加,并输出融合特征。我们可以将上述过程表述为等式1。
空间注意力模块。
空间注意力模块的动机是利用空间间关系来产生权重,该权重表示输入特征中每个像素的重要性。如图4(b)所示,给定输入特征,即Fup∈ RC×H×W和流量∈ RC×H×W,我们首先沿通道轴执行均值和最大值运算以生成四个特征,其中维数为R1×H×W。然后,将这四个特征连接到特征Fcat∈ 对于级联特征,卷积和sigmoid运算应用于输出α∈ R1×H×W。空间注意模块的公式如等式2所示。此外,空间注意模块可以是灵活的,例如删除最大运算以降低计算成本。
通道注意力模块。
通道注意力模块的关键概念是利用通道间关系生成权重,该权重表示每个通道在输入特征中的重要性。如图4(b)所示,拟议的通道注意力模块利用平均池和最大池操作来压缩输入特征的空间维度。该过程生成四个维度为RC×1×1的特征。然后,它沿通道轴连接这四个特征,并执行卷积和sigmoid运算以生成权重α∈ RC×1×1。简言之,通道注意力模块的过程可以公式化为等式3
3.3 简单金字塔池模块
如图5所示,我们提出了一个简单的金字塔池模块(SPPM)。它首先利用金字塔池模块融合输入功能。金字塔池模块有三个全局平均池操作,bin sizes分别为1×1、2×2和4×4。然后,输出特征之后是卷积和上采样操作。对于卷积运算,内核大小为1×1,输出通道小于输入通道。最后,我们添加这些上采样特征,并应用卷积运算来产生精细特征。与原始PPM相比,SPPM减少了中间通道和输出通道,消除了短路,并用加法操作取代了级联操作。因此,SPPM更有效,适用于实时模型。
3.4 网络架构
所提出的PP-LiteSeg的架构如图2所示。PP-LiteSeg主要包括三个模块:编码器、聚合和解码器。
首先,给定输入图像,PP-Lite使用一个通用的轻量级网络作为编码器来提取层次特征。具体来说,我们选择STDCNet[8]是因为它具有出色的性能。STDCNet有5个阶段,每个阶段的步长为2,因此最终特征尺寸为输入图像的1/32。如表1所示,我们提出了两种版本的PP-LiteSeg,即PP-LiteSeg-T和PP-LiteSeg-B,其中编码器分别为STDC1和STDC2。PPLiteSeg-B实现了更高的分割精度,而PP-LiteSeg-T的推理速度更快。值得注意的是,我们将SSLD[7]方法应用于编码器的训练,并获得增强的预训练权重,这有利于分割训练的收敛。
其次,PP-LiteSeg采用SPPM对长程依赖进行建模。SPPM将编码器的输出特征作为输入,生成包含全局上下文信息的特征。
最后,PP-LiteSeg利用我们提出的FLD逐步融合多级特征并输出结果图像。具体来说,FLD由两个UAFM和一个分割头组成。为了提高效率,我们在UAFM中采用了空间注意模块。每个UAFM以两个特征作为输入,即编码器级提取的低级特征、SPPM或深度融合模块生成的高级特征。后一种UAFM输出下采样率为1/8的融合特征。在分割头中,我们执行Conv-BN-Relu操作,将1/8下采样特征的通道减少到类数。然后进行上采样操作,将特征大小扩展到输入图像大小,argmax操作预测每个像素的标签。采用带有在线硬示例挖掘的交叉熵损失来优化我们的模型。
4、实验
在本节中,我们首先介绍数据集和实现细节。然后,我们将实验结果与其他最先进的实时方法在准确性和推理速度方面进行了比较。最后,我们通过烧蚀研究证明了所提出模块的有效性。
4.1数据集和实施细节
城市景观。城市景观[6]是一个用于城市分割的大规模数据集。它包含5000个精细注释图像,这些图像进一步分为2975、500和1525个图像,分别用于训练、验证和测试。图像的分辨率为2048×1024,这对实时语义分割方法提出了很大挑战。注释图像有30个类,我们的实验仅使用19个类与其他方法进行公平比较。
CamVid。
Cambridge driving Labeled Video Database(CamVid)[2]是一个用于道路场景分割的小规模数据集。共有701幅具有高质量像素级注释的图像,其中分别选择367幅、101幅和233幅图像进行训练、验证和测试。这些图像具有960×720的相同分辨率。注释图像提供了32个类别,其中11个类别的子集用于我们的实验。
训练设置。
根据常见设置,选择动量为0.9的随机梯度下降(SGD)算法作为优化器。我们还采用了预热策略和“poly”学习速率调度器。对于城市景观,批量大小为16,最大迭代次数为160000,初始学习率为0.005,优化器中的权重衰减为5e−4.CamVid的批量大小为24,最大迭代次数为1000,初始学习率为0.01,权重衰减为1e−4.对于数据增强,我们使用了随机缩放、随机裁剪、随机水平翻转、随机颜色抖动和归一化。城市景观和Camvid的随机比例范围分别为[0.125,1.5]、[0.5,2.5]。城市景观的裁剪分辨率为1024×512,CamVid的裁剪分辨率为960×720。我们所有的实验都是在特斯拉V100 GPU上进行的,使用的是桨叶1[19]。代码和预训练模型在PadleSeg2[16]上提供。
推理设置。
为了公平比较,我们将PPLiteSeg导出到ONNX,并利用TensorRT执行模型。与其他方法[8,26]类似,首先将城市景观中的图像调整为1024×512和1536×768,然后推理模型获取缩放图像并生成预测图像,最后将预测图像调整为输入图像的原始大小。这三个步骤的成本被计算为推理时间。对于CamVid,推理模型以原始图像为输入,分辨率为960×720。我们在NVIDIA 1080Ti GPU上进行了CUDA 10.2、CUDNN 7.6、TensorRT 7.1.3下的所有推理实验。我们使用标准mIoU进行分割精度比较,使用FPS进行推理速度比较。
4.2城市景观实验
4.2.1与最新技术的比较
在上述训练和推理环境下,我们将提出的PP-LiteSeg与之前最先进的城市景观实时模型进行了比较。为了公平比较,我们在两种分辨率(即512×1024和768×1536)下评估PP-LiteSeg-T和PP-LiteSeg-B。表2给出了各种方法的模型信息、输入分辨率、mIoU和FPS。图1直观地比较了分割精度和推理速度。实验评估表明,与其他方法相比,所提出的PP-LiteSeg在准确性和速度之间实现了最先进的权衡。具体来说,我们可以观察到PP-LiteSeg-T1达到273.6 FPS和72.0%mIoU,这意味着最快的推理速度和竞争精度。PPLiteSeg-B2的分辨率为768×1536,达到了最佳精度,即。验证集为78.2%mIoU,测试集为77.5%mIoU。此外,在与STDC Seg相同的编码器和输入分辨率下,PPLiteSeg表现出更好的性能。
4.2.2消融研究
烧蚀实验证明了所提出模块的有效性。实验选择PP-LiteSeg-B2进行比较,并使用相同的训练和推理设置。基线模型为PP-LiteSeg-B2,不含拟议模块,而解码器中的特征通道数为96,融合方法为元素求和。表3显示了我们消融研究的定量结果。我们可以发现,PP-LiteSeg-B2中的FLD将mIoU提高了0.17%。添加SPPM和UAFM也提高了分割精度,但推理速度略有下降。基于三个提出的模块,PP-LiteSeg-B2以102.6 FPS的速度实现78.21 mIoU。与基线模型相比,mIoU提高了0.71%。图6提供了定性比较。我们可以观察到,当逐个添加FLD、SPPM和UAFM时,预测图像变得更符合地面实况。总之,我们提出的模块对于语义分割是有效的。
4.3、CamVid实验
为了进一步证明PP-LiteSeg的能力,我们还对CamVid数据集进行了实验。与其他工作类似,训练和推理的输入分辨率为960×720。如表4所示,PP-LiteSeg-T达到222.3 FPS,比其他方法快12.5%以上。PP-LiteSeg-B实现了最佳精度,即75.0%mIoU,每秒154.8帧。总的来说,比较表明PP-LiteSeg在Camvid上实现了精度和速度之间的最先进权衡。
5、结论
在本文中,我们致力于设计一种新的实时语义分割网络。首先,提出了灵活轻量级译码器(FLD),以提高先前译码器的效率。然后,我们提出了一个统一的注意力融合模块(UAFM),该模块可以有效地增强特征表示。此外,我们提出了一个简单的金字塔池模块(SPPM),以低计算成本聚合全局上下文。基于这些新模块,我们提出了PP-LiteSeg,一种实时语义分割网络。大量实验表明,PP-LiteSeg在分割精度和推理速度之间达到了最佳平衡。在未来的工作中,我们计划将我们的方法应用到更多的任务中,例如matting和交互式分割