【TIP2024】HAFormer: 释放层次意识特征的力量,实现轻量级语义分割
标题 | HAFormer: Unleashing the Power of Hierarchy-Aware Features for Lightweight Se mantic Segmentation |
---|---|
作者 | Guoan Xu, Wenjing Jia, Member, IEEE, Tao Wu, Ligeng Chen, and Guangwei Gao, Senior Member, IEEE |
机构 | Faculty of Engineering and Information Technology, University of Technology Sydney |
论文 | https://arxiv.org/abs/2407.07441 |
摘要:卷积神经网络(CNNs)和Transformer在语义分割任务中都取得了显著成功。已有一些工作将CNN与Transformer模型结合起来,以捕捉局部和全局上下文的交互。然而,特别是在考虑计算资源限制时,仍有进一步优化的空间。在本文中,我们介绍了HAFormer模型,该模型结合了CNN的层次化特征提取能力与Transformer的全局依赖建模能力,以应对轻量级语义分割的挑战。具体来说,我们设计了一个层次感知像素激励(HAPE)模块,用于自适应多尺度局部特征提取。在全局感知建模过程中,我们设计了一个高效Transformer(ET)模块,简化了传统Transformer中的二次计算。此外,相关加权融合(cwF)模块能够选择性地融合多样化的特征表示,显著提升了预测准确率。HAFormer在保持计算资源开销较小和模型规模紧凑的同时,取得了高性能,在Cityscapes和CamVid测试数据集上分别达到了74.2%的mIoU和71.1%的mIoU,并在单个2080Ti GPU上实现了105FPS和118FPS的帧率。源代码可在 https://github.com/XU-GITHUB-curry/HAFormer 获取。
关键词—语义分割,轻量级,多尺度特征提取,局部与全局上下文。
语义分割(Semantic Segmentation) 是计算机视觉中的一种任务,旨在将图像中的每一个像素分配给一个特定的类别。与目标检测或图像分类不同,语义分割不仅需要识别图像中存在哪些物体,还需要准确定位每个物体的像素区域。
在语义分割中,模型会对图像中的每个像素进行分类,最终的输出是一个与输入图像大小相同的“分割图”,其中每个像素被赋予一个类别标签。例如,在一张城市街景图中,语义分割可以将每个像素分为“道路”、“汽车”、“行人”、“建筑物”等类别。
Cityscapes数据集是一个大规模的数据库,专注于城市街景的语义理解。它包含了来自50个不同城市的街道场景,拥有5000张高质量的像素级注释图像,这些图像被分为2975张用于训练,500张用于验证,以及1525张用于测试。此外,还有20000张粗糙标注的图像。这些图像覆盖了多种天气条件和季节变化,提供了19个类别的密集像素标注,其中8个类别具有实例级分割。Cityscapes数据集的图像和标注可以在其官方网站下载。
CamVid数据集,也称为Cambridge-driving Labeled Video Database,是第一个具有目标类别语义标签的视频集合。它提供了32个ground truth语义标签,将每个像素与语义类别之一相关联。CamVid数据集从驾驶汽车的角度拍摄,提供了超过10分钟的高质量30Hz连续镜头,对应的语义标记图像为1Hz,部分为15Hz。CamVid数据集提供了700多幅图像的逐像素语义分割,由第二个人检查并确认其准确性。此外,数据库还提供了相机颜色响应和内部物理的标定序列,并计算了序列中每一帧的三维相机姿态。CamVid数据集可以从其官方网站下载。
105FPS:指的是在Cityscapes数据集上,该模型或算法能够达到每秒105帧的处理速度。FPS是"Frames Per Second"的缩写,意为每秒帧数,是衡量视频播放或图像处理速度的单位。在这种情况下,它表示模型能够每秒处理105张图片。
118FPS:指的是在CamVid数据集上,该模型或算法能够达到每秒118帧的处理速度。
高帧率意味着模型能够快速地对连续的图像数据进行分析和响应,从而提供流畅且及时的处理结果。
引言
语义分割涉及为给定图像中的每个像素分配标签,这是计算机视觉中的一项重要的密集预测任务,广泛应用于自动驾驶、医疗护理和卫星遥感等领域。先前的方法(如[4], [5])主要利用深度卷积神经网络(CNN)进行特征提取,结合特征金字塔结构来感知多尺度信息[6]和注意力模块以捕捉全局上下文[7]–[9]。尽管这些方法取得了相当的精度,它们通常需要大量的计算资源,并且由于深度网络堆叠以获得更大的感受野和更高的语义级别,推理速度相对较慢。
特征金字塔结构(Feature Pyramid Networks, FPN):
特征金字塔结构是一种用于目标检测和图像分割的架构,它通过结合不同尺度的特征图来增强模型对多尺度目标的感知能力。FPN在不同的卷积层上提取特征并将它们融合,以确保模型既能捕捉小目标的细节,又能理解大目标的全局信息。多尺度信息(Multi-scale Information):
多尺度信息是指在处理图像时,通过不同分辨率或尺度的图像特征来捕捉图像中的不同级别的信息。例如,在目标检测中,小目标可能在高分辨率下被更清晰地捕捉,而大目标则可以通过低分辨率信息来捕捉整体形态。多尺度处理有助于提高模型的鲁棒性和泛化能力。注意力模块(Attention Module):
注意力模块是一种机制,能够让模型自动聚焦于输入数据中的重要部分。通过分配不同的权重,模型可以专注于最关键的信息,同时忽略不太重要的部分。常见的注意力模块包括SE模块、CBAM(卷积块注意力模块)等,广泛应用于图像识别、自然语言处理等领域,帮助模型更好地捕捉全局和局部上下文信息。全局上下文(Global Context):
全局上下文是指在处理局部信息时,也考虑到整个输入数据的整体信息。在卷积神经网络中,感知局部信息通常是通过卷积操作完成的,而全局上下文信息则需要通过注意力机制、特征融合或其他架构设计来获取。全局上下文有助于提高模型在图像分类、分割等任务中的表现,因为它允许模型同时考虑细节和整体结构。
为了适应计算资源有限的设备,近年来的研究[10]–[14]集中于开发轻量级的分割模型。例如,ERFNet[11]通过使用一维非瓶颈模块来减少计算量,而ICNet[13]则利用不同分辨率的输入来增强不同分支之间的信息流动。FBSNet[15]使用对称的编码器-解码器结构,结合空间细节分支和语义信息分支,以优化上下文细节。通常,这些模型通过简化基础模块结构来降低计算成本。然而,在提高计算效率的同时,由于卷积网络的局部局限性和较浅的网络深度,它们的分割精度往往有所折损。
最近,Transformer在各个计算机视觉社区中展示了卓越的成功[16], [17]。受此进展启发,研究人员开始结合ViT[18]架构来应对语义分割任务。与CNN不同,Transformer通过其广泛的全局注意力机制固有地提供了较大的全局感受野。使用Transformer作为图像编码器的模型在全局上下文建模中表现出色,与基于CNN的方法相比,在分割精度上有了显著提高。然而,UNETR[19]和其他方法[20], [21]主要基于Transformer编码器的最后一层进行预测,它们往往忽略了图像中的小规模物体,影响了对较小元素或像素的精确分类。如图 1 所示。SegFormer [22] 引入了一个分层注意力模型,该模型集成了分层 Transformer 编码器和轻量级多层感知器 (MLP) 解码器,以提高分割精度。MPViT [23] 有效地将多尺度特征输入整合到 Transformer 操作中,产生了令人印象深刻的结果。
Vision Transformer(ViT)是一种新兴的深度学习模型,它将自然语言处理领域中大获成功的Transformer架构应用于计算机视觉任务。ViT的核心思想是将图像分割成一系列小块(patches),然后将这些小块视为序列数据输入到Transformer模型中,通过自注意力机制来处理这些数据。
这些方法优先考虑高分割精度,但往往忽视了模型效率。首先,基于 transformer 的方法缺乏归纳偏置,这使得它们的训练速度缓慢且难以收敛。此外,它们通常需要更大的数据集和更长的训练持续时间,从而导致大量的训练开销。其次,推理速度慢归因于耗时的多头自我注意 (MHSA) 操作。由于 MHSA 的二次复杂度,计算负担不断增加,尤其是在高分辨率输入的情况下。此外,由于精细的局部建模能力有限,这些方法可能难以捕获细节和小对象。
在本工作中,我们的目标是开发一个轻量级语义分割模型,该模型能够充分利用CNN与Transformer的优势,同时最小化模型规模和计算需求。通过引入HAFormer模型,我们将Transformer的全局感受能力与CNN的局部感知能力相结合,释放层次感知特征的潜力。
本文的主要贡献有三点:
- 我们提出了一个新的层次感知像素激励(HAPE)模块,利用层次结构和内容感知注意机制,在降低计算负担的同时,从不同感受野提取更深的像素语义信息。
- 我们开发了一个有效的特征融合机制,称为相关加权融合(cwF),协同整合CNN与Transformer学习到的局部和全局上下文特征,从而有效提高精度。
- 我们提出了一个高效的Transformer,通过分解Q、K和V矩阵,有效解决了传统Transformer模型中的二次计算复杂性问题。
在两个广泛使用的基准数据集上进行的大量实验表明,HAFormer在分割精度和效率之间取得了平衡。【学习这个句子表达】
本文的其余部分结构如下:第二部分对相关工作进行了全面回顾。第 III 部分介绍了我们提议的 HAFormer 的详细信息,重点介绍其三个关键组成部分。第 IV 部分描述了详细的实验设置并介绍了评估结果,包括消融研究和讨论。最后,第 V 部分通过总结主要发现并讨论未来方向来结束本文。
II. 相关工作
A. 层次化方法在语义分割中的应用
在密集预测任务中,准确分类多尺度和小目标物体是一个常见挑战。这在语义分割任务中特别明显,其中小物体的分类容易受到邻近大物体的影响,导致误分类。层次化方法通过使用不同扩张率的卷积或具有不同步率的池化层,有效地解决了这一挑战。然后,这些结果通过级联或拼接整合在一起,从不同尺度整合信息,从而增强感受野的层次,减轻由于局部区域大小不同带来的模糊,并改善物体细节的处理。现有的层次化方法[6], [13], [14], [22], [24], [25]可以分为整体的层次化结构或特定的层次化模块,具体总结如下:
层次化结构:一些方法采用了多尺度设计,具有处理不同分辨率输入或特征图的独立网络分支。一个显著的方法是ICNet[13],该方法包含三个编码分支(低分辨率、中分辨率和高分辨率),每个分支在不同的尺度上擅长提取精细信息,以增强输出中的边界信息。相比之下,HRFormer[24]有效地结合了强大的语义信息和精确的位置细节。而HSSN[26]是一种层次化方法,专注于分类如“人-骑手-骑自行车的人”这样的物体,而非解决小物体的像素级分类问题。其他方法,如[14], [22], [25], [27],通过并行多个分辨率分支并在它们之间持续进行信息交互来实现多尺度结构。
多尺度设计(Multi-scale Design):
多尺度设计是一种通过处理来自多个不同尺度(分辨率)的特征来增强模型能力的方法。这种设计可以更好地理解和捕捉图像中的不同细节和上下文信息,确保小物体和大物体都能得到有效处理。多尺度设计广泛应用于视觉任务,如目标检测和图像分割。编码分支(Encoding Branch):
编码分支是指网络结构中负责特征提取的部分,通常由卷积操作组成。它们的作用是从输入图像中提取不同层次的特征,在多分辨率分支中,每个编码分支处理不同分辨率的输入数据,专门擅长提取某一尺度的特征信息。多尺度结构(Multi-scale Structure):
多尺度结构通过并行多个分辨率分支,处理不同尺度的特征信息,并在它们之间持续进行信息交互。这种设计不仅可以捕捉图像中的全局信息,也能关注到细节丰富的局部信息。通过融合不同分辨率的特征,模型可以在更广的尺度范围内提升表现,尤其在目标检测和语义分割中。
层次化模块:许多方法在架构的特定层中集成了层次化模块,利用不同的感受野在特征图上提取特征。例如,DeepLab[28], [29]和DenseASPP[6]中的ASPP模块通过空洞卷积从不同尺度提取特征,解决图像中对象尺度变化的问题。PSPNet[30]因其金字塔池化模块而显著,该模块从四个尺度整合特征。通过从不同尺度收集和融合上下文信息,这个模块生成了比单纯的全局池化更加具有代表性和辨别性的特征。使用此模块的模型可以增强对不同大小对象的识别能力。受这些“更宽”模块[30], [31]的启发,我们在本文中展示了使用多个不同卷积核可以高效地增强表达能力,从而以最小的计算和参数开销提升性能。
空洞卷积(Atrous Convolution):
空洞卷积是一种特殊的卷积操作,通过在标准卷积核的元素之间插入“空洞”,使得卷积核可以在不增加参数的情况下覆盖更大的感受野。它特别适合于多尺度特征提取,广泛用于目标检测和语义分割任务。
B. Vision Transformer在语义分割中的应用
开创性的ViT[18]引入了一种用于图像识别的纯Transformer框架,将图像视为经过多个层处理的序列的补丁。后续的模型,如DeiT[32]、Fact[33]、CrossFormer[34]和DViT[35]在图像处理任务中进一步取得了卓越的成绩。SETR[16]是针对分割任务量身定制的范式,在编码器中使用纯Transformer模型,并与各种CNN解码器组合以实现最先进的结果。Swin-Transformer[17]解决了冗余计算问题,在一定程度上减轻了计算负担。然而,这些方法通常需要大量的训练数据才能达到与CNN相当的性能,这在需要精细注释的密集预测领域中带来了挑战。基于Transformer的模型如[23], [27]已经认识到层次化感知在密集预测任务中的重要性,并在其设计中引入了多尺度结构和金字塔模块。
最近的研究指出,Transformer往往优先考虑全局长距离依赖关系,可能忽略CNN所特有的关键特征,如局部连接和平移不变性。因此,许多方法[2], [36]–[38]尝试结合CNN和Transformer,以充分利用二者的优势。然而,这些尝试在实时推理需求与低延迟能力之间的平衡上仍面临挑战。轻量级技术如LETNet[39]将Transformer作为胶囊网络,而其他如TopFormer[40]则将其集成为解码器中的辅助组件,以增强边界恢复。然而,如何有效结合全局与局部信息仍然是一个未解决的难题。
为了应对高计算需求和在结合CNN与Transformer时有效整合局部信息与全局上下文的挑战,我们的HAFormer引入了一个高效的Transformer(ET)模块来处理计算复杂性,并通过相关加权融合(cwF)机制来协调CNN和Transformer的特征。
全局长距离依赖关系(Global Long-Range Dependencies):
在图像处理中,全局长距离依赖关系指的是模型能够捕捉图像中远距离像素之间的关系。Transformer 擅长处理这种全局信息,有助于捕捉图像中整体结构或远程依赖的上下文。平移不变性(Translation Invariance):
平移不变性是指 CNN 的卷积操作对于输入图像的平移(如移动、旋转)不敏感,意味着无论图像中的物体出现在何处,CNN 都能够正确识别。这一特性使 CNN 特别适合处理视觉任务中的局部特征。
C. 语义分割中的注意力机制
受到人类视觉感知中焦点本质的启发,注意力机制能够强调重要特征,同时忽略无关特征。这些机制主要分为两类:通道注意力和空间注意力。在通道注意力方法中,SKNet[41]使神经元能够根据输入尺度动态调整其感受野大小。空间注意力方法,如非局部神经网络[8],捕捉语义分割中的长距离依赖关系。然而,建模所有位置之间的关系可能会导致计算开销过大。非对称非局部神经网络[9]尝试降低计算成本,但在高分辨率输入特征的情况下,它们可能仍然需要大量资源。
研究人员已经探索了结合通道和空间注意力机制,以从多个角度增强特征。例如,CBAM[7]沿着两个独立维度(通道和空间)依次操作,生成注意力图,然后与输入特征相乘,实现自适应特征优化。DANet[4]和CCNet[42]并行集成了通道和空间注意力,采用自注意力操作并结合生成的特征。CAA[43]将轴向注意力与通道注意力集成,解决冲突并优先处理特征。这些方法利用了自注意力机制,并展示了良好的结果。
一个普遍的挑战是像素级长距离建模,这会产生高昂的计算成本,使其不适合在资源受限的场景中部署。本研究提出了一种轻量级模型,该模型优化了CNN的局部感知能力和Transformer的全局建模能力。我们通过在提出的高效Transformer(ET)模块中使用空间缩减-线性投影和分割操作策略,解决了计算复杂性问题。
通道注意力(Channel Attention):
通道注意力是一种专注于特征图的各个通道的注意力机制。它根据每个通道的重要性动态调整其权重,从而突出有用的特征并抑制无关的通道。SKNet[41]是通道注意力的一个例子,它通过不同的尺度感受野来调整神经元的响应。空间注意力(Spatial Attention):
空间注意力是在特征图的空间维度上操作的注意力机制,关注图像中的重要区域。在语义分割任务中,空间注意力有助于建模像素之间的关系,尤其是在捕捉物体的形状和位置方面。非局部神经网络[8]就是一种使用空间注意力来建模长距离依赖关系的典型方法。像素级长距离建模(Pixel-Level Long-Range Modeling):
像素级长距离建模 是指在图像的像素级别上捕捉远距离像素之间的关系,特别是在处理大型图像或高分辨率输入时,这种建模方式的计算成本会非常高。空间缩减-线性投影(Spatial Reduction-Linear Projection):
空间缩减-线性投影 是一种减少特征图空间分辨率的操作,通常用于减少计算开销。它通过降低输入特征的空间维度,减少了后续操作中的计算量,然后使用线性投影恢复到原始维度,从而保留关键信息并提高计算效率。分割操作策略(Segmentation Operation Strategy):
分割操作策略 是指在高分辨率输入图像的情况下,采用分割技术将图像分成较小的块进行处理,减轻计算压力。分割操作有助于在不显著影响性能的情况下减少计算量,特别是在实时处理场景中。
III. 提出的方法
A. 整体架构
HAFormer的整体架构如图2所示,主要包括三大部分:一个通过==层次感知像素激励==增强的CNN编码器、一个高效的Transformer编码器,以及一个轻量级的解码器。
对于给定的输入图像 $ I \in R^{3 \times H \times W} $,其尺寸为 H × W , H \times W , H×W,模型首先使用CNN编码器进行处理,生成特征 F$ \in R^{C_f \times H_f \times W_f} $,其中 $H_f = \frac{H}{8}, W_f = \frac{W}{8} $。同时,输入 ( I ) 在通过Transformer Stem模块后,也在Transformer编码器中进行处理,生成特征嵌入 $ T \in R^{N \times D} $,其中 $ N = \frac{H_t}{P} \times \frac{W_t}{P} 表示 t o k e n 数量, 表示token数量, 表示token数量, D = C_t \times P^2 表示每个 t o k e n 的维度, 表示每个token的维度, 表示每个token的维度, P $代表token大小。接着,CNN和Transformer所提取的两种不同上下文特征 $ F $ 和 $T $ 通过我们设计的相关加权融合 c w F cwF cwF模块进行高效融合。融合后的相关特征提升了边界信息和轻量级解码器的恢复能力。
具体来说,为了优化CNN编码器,我们在CNN Stem模块中使用了三个3×3卷积层,最后一层的步幅为2,因此特征图的输出尺寸为 $ C_1 \times \frac{H}{2} \times \frac{W}{2} $,其中 $ C_1 $ 为输出通道数。相比之下,Transformer编码器中的Transformer Stem模块通过减少分辨率来提取特征表示,从而最大限度地减轻计算负担。由于更高的分辨率意味着更多的计算,在Transformer Stem模块中,我们使用了四个步幅为2的3×3卷积层,最终输出特征尺寸为 $ C_t \times \frac{H}{16} \times \frac{W}{16} $。
图 2:所提出的 HAFormer 的整体架构。HAFormer 引入了一个分层感知像素激励(HAPE)模块,用于自适应多尺度局部特征提取。在全局感知建模方面,HAFormer 开发了一个高效的 Transformer 模块,以简化二次计算。此外,相关加权融合(cwF)模块可以选择性地结合多样化的特征表示,显著提升预测精度。
B. 层次感知像素激励(HAPE)模块
在同一层中使用不同大小的卷积核,并结合像素激励,可以有效地从不同大小的物体中提取特征。基于此概念,并受到[30], [44]工作的启发,我们采用了多尺度策略,以便在不同的感受野级别捕捉独特的像素特征。与ESPNet[12]中的分层融合和Inception[45]中的拼接不同,我们的模块避免了冗余计算,从而简化了网络,同时保持了特征的有效性。此外,为了进一步改进不同尺度下像素的特征表示,我们在本研究中引入了创新的层次感知像素激励(HAPE)模块。该模块增强了模型识别图像中不同大小物体的能力,从而减少了像素误分类的概率。
具体而言,如图3所示,给定一个输入特征 $ X_{in} \in R^{N_c \times H_c \times W_c} $,我们首先将其输入一个1×1卷积层,以将其通道维度减少到 $ N_c/4 $,即输出特征图 $ \tilde{X} $表示为:
$
\tilde{X} = f_{1×1}(X_{in}), \tilde{X} \in R^{N_c/4 \times H_c \times W_c}
$
其中,$ f_{1×1} $ 表示一个核大小为1×1的卷积操作。此降维操作有助于在后续层次化卷积层中进行通道操作。
随后,我们执行四个并行卷积操作,包括因子化卷积和深度可分离卷积,其卷积核大小分别为3、3、5和7。此外,后三个卷积层使用了扩张卷积,以增强感受野,如图4所示。此策略使得模型能够在不同尺度上捕获图像特征,从而确保全面且详细的信息提取。
该过程可以表示为:
$
l_1 = f_{1×3}(f_{3×1}(\tilde{X}))
$
$
l_i = f_{dc}(1×k_i)(f_{dc}(k_i×1)(\tilde{X})), {k_i = 3, 5, 7; i = 2, 3, 4}
$
其中,$l_i
代表中间特征,
代表中间特征,
代表中间特征, f_{1×k_i} $ 是一个核大小为 $ k_i $ 的一维卷积操作,$dc $表示扩张率。为简化起见,某些激活和批归一化操作在公式中被省略。
关键元素在于像素激励模块 P E M PEM PEM,该模块通过内容感知的空间注意力机制,增强了特征的表达能力。如图3所示,首先将输入 $ x \in R^{c \times h \times w} $ 输入全局平均池化 G A P GAP GAP层,生成 $ x_1 \in R^{1 \times h \times w} 。随后, 。随后, 。随后, x_1 $ 经过重塑和展平操作后被输入Softmax函数,以计算权重矩阵 $ A \in R^{1 \times h \times w} $。该权重矩阵然后与输入特征相乘,生成内容感知注意力增强的输出 $x’ $。
该过程可以表示为:
$
x_1 = Reshape(GAP(x))
$
$
A = Reshape^{-1}(Softmax(x_1))
$
$
x’ = \delta(x ⊙ A + x)
$
其中,Reshape和
R
e
s
h
a
p
e
−
1
Reshape^{-1}
Reshape−1 分别表示重塑操作及其逆操作,$ \delta
是激活函数,
是激活函数,
是激活函数,⊙ $表示元素级乘法。
最后,使用残差结构来保留原始特征,得到最终输出 $ Y \in R^{N_c \times H_c \times W_c} $。这四个卷积层共同加入一个1×1卷积层,以进行特征融合和通道恢复。模块内保留了残差连接,并通过通道shuffle操作有效促进通道间的信息交互,该过程表示为:
$
Y = Shuffle(f_{1×1}(\delta(\sum_{i=1}^4 PEM(l_i))) + X_{in})
$
其中,Shuffle表示通道shuffle操作,$ \delta $ 是激活函数。
C. 高效Transformer
传统Transformer方法,如[17], [46],在处理高分辨率输入时,对于轻量级和实时模型而言,可能过于庞大。这突显了对更高效的Transformer的迫切需求。受[31], [47]的启发,我们的方法专注于通过降低特征维度来减少计算成本,同时尽量减少图像细节的损失。为实现这一目标,我们引入了空间缩减线性投影方法,该方法首先将特征映射到降维的潜在嵌入空间,然后再用于多头自注意力计算。此方法称为高效多头自注意力(eMHSA),并包含可学习的投影和分割操作,如图5所示。
设输入特征为 $ X_t \in R^{C_t \times H_t \times W_t} $,其中 $ C_t 、 、 、 H_t $ 和 $ W_t $ 分别表示特征图的通道数、高度和宽度。经过Reshape操作后,生成一系列展平的非重叠补丁,得到 $ X_t \in R^{N \times (C_t \cdot P^2)} $,其中 $ N = \frac{H_t W_t}{P^2} $表示补丁数量(即输入序列长度),每个补丁的大小为 P × P 。 P \times P 。 P×P。随后,这些补丁通过可学习的线性投影层 $ E \in R{(P2 \cdot C_t) \times D} $ 映射到潜在的 $ D $ 维嵌入空间,表示为 $ Z \in R^{N \times D} $。
这部分的过程可以表示为:
$
Z = [x_1^pE; x_2^pE; …; x_N^pE]
$
其中,$ x_i^p $ 表示第 $ i$ 个补丁。请注意,为了适应不同输入大小的灵活性,我们省略了位置嵌入。
随后,通过线性投影生成Transformer中的三个矩阵,即查询
Q
Q
Q、键
K
K
K和值
V
V
V,其公式为:
$
Q, K, V = ZW_Q, ZW_K, ZW_V \in R^{N \times D_h}
$
其中,$ W_Q
、
、
、 W_K $和 $ W_V
分别表示线性投影矩阵,
分别表示线性投影矩阵,
分别表示线性投影矩阵, D_h $ 是多头自注意力
M
H
S
A
MHSA
MHSA的头部维度。此外,多头自注意力中的头数 $h $是用户定义的参数,因此每个头的维度为 $d = D_h / h
。在每个头中,键
。在每个头中,键
。在每个头中,键K
和值
和值
和值V$经过空间缩减,缩减比例为 $r $,其中 $ r $ 设置为2。然后,特征分割操作将键
K
K
K和值
V
V
V分为多个子部分,每个部分的感知域只占原始域的 $ 1/s $,其中 $ s $ 表示特征分割的数量,设置为4。该过程表示为:
(
q
1
,
.
.
.
,
q
s
)
,
(
k
1
,
.
.
.
,
k
s
)
,
(
v
1
,
.
.
.
,
v
s
)
=
F
e
a
t
u
r
e
S
p
l
i
t
(
q
,
k
,
v
)
(q_1, ..., q_s), (k_1, ..., k_s), (v_1, ..., v_s) = Feature Split(q, k, v)
(q1,...,qs),(k1,...,ks),(v1,...,vs)=FeatureSplit(q,k,v)
因此,空间分布变为 $ q_i \in R^{N \times d/s}
,
,
, k_i \in R^{N/r \times d/s}
,
,
, v_i \in R^{N/r \times d/s} $。此概念类似于组卷积,可有效减少内存消耗。随后,在第 ( n ) 个头中,注意力计算公式为:
$
o_i(q_i, k_i, v_i) = Softmax\left(\frac{q_i (k_i)^T}{\sqrt{d}}\right) v_i, i \in [1, s]
$
然后,将每个子头的输出进行拼接:
$
head_n = Concat[o_1, o_2, …, o_s], n \in [1, h]
$
最后,eMHSA的输出表示为:
$
eMHSA = Concat[head_1, head_2, …, head_h] W_O
$
其中,$ W_O $ 是一个用于恢复维度的线性投影矩阵,因此我们将复杂度从 $ O(N^2) $ 降低到 $ O(N^2 / sr) $。
值得注意的是,Transformer系列[16], [17], [23] 也利用了一种自注意力机制,包括多头自注意力。然而,它们在捕捉特征间的详细关系时计算开销巨大,与我们的目标不同。
对于MLP层,我们遵循[31], [48]中描述的方法,使用零填充的位置编码替代固定大小的位置编码。此外,我们在全连接(FC)层和GELU激活函数之间引入了带填充大小为1的深度卷积,以捕捉输入张量的局部连续性。通过去除固定大小的位置信息嵌入,该模型可以适应不同分辨率的输入。因此,高效MLP层的输出表示为:
$
eMLP = \rho(\xi_{GELU}(f_{DWConv}(\rho(x_e))))
$
其中,$ \rho $ 表示全连接操作,$\xi_{GELU} $ 表示GELU激活函数,$ f_{DWConv} $ 表示深度卷积,$ x_e $ 是eMLP的输入。
D. 相关加权融合(cwF)
许多研究[2], [36], [40], [46] 探索了将Transformer和CNN的特征进行整合。==例如,SegTransConv[36]提出了一种结合Transformer和CNN的混合架构,既串行又并行运行,但并未充分利用二者的协作潜力。==鉴于Transformer和CNN的特征具有不同的特性和计算机制,传统的元素级加法或拼接操作可能无法产生最优效果。因此,设计一种充分利用两者互补优势的方法,最大化提取特征的表现力并在解码过程中促进信息恢复是至关重要的。
在本文中,我们引入了一种有效策略来填补这一空白。**我们通过相关加权融合(cwF)模块无缝整合Transformer和CNN提取的不同类型的特征。**通过将高相关性的CNN和Transformer特征融合,我们开发了全新的相关加权融合模块。
如图6所示,( T ) 和 ( F ) 分别表示来自Transformer和CNN的中间特征。首先,将Transformer特征 ( T ) 重塑为与CNN特征 ( F ) 具有相同的形状,然后对这两组特征进行拼接操作。为了减少计算开销,我们使用深度可分离卷积进行通道维度的减少。接着,通过全局平均池化(GAP)和Sigmoid操作,计算相关系数矩阵 ( M )。该矩阵随后与原始特征相乘,生成 $\tilde{F} $ 和 $ \tilde{T} $,并将它们相加,得到最终输出 ( Z )。
该过程可以表示为:
$
G = Concat[Reshape(T | F), F]
$
其中,$G \in R^{C_g \times H_g \times W_g}
,
,
, C_g = C_f + C_t $,拼接操作为Concat[a | b],即将大小为 ( a ) 的特征图恢复到 ( b ) 的大小。然后,相关系数矩阵 ( M ) 的计算公式为:
$
M = \delta(f_{1×1}(GAP(f_{1×1}(f_{3×3}(G)))))
$
其中,$M \in R^{C_m \times 1 \times 1}
,
,
, \delta $ 为Sigmoid函数,GAP为全局平均池化操作,$ f_{k1 \times k2} $表示核大小为 $ k1 \times k2$ 的卷积操作。
最终,cwF特征表示为:
$
Z_{cwF} = \phi(\tilde{T} + \tilde{F}), {\tilde{T} = T \odot M, \tilde{F} = F \odot M}
$
其中,$ Z_{cwF} \in R^{C_z \times H_z \times W_z}
,
,
, \phi $ 是ReLU激活函数,$ \odot $ 表示元素级乘法。
值得注意的是,CTCNet[38] 也探讨了Transformer与CNN特征间的相关性。然而,在CTCNet中,该模块仅仅将相关性与Transformer和CNN特征拼接,这不能有效对齐这两种特征,可能由于特征不匹配导致性能下降。
IV. 实验
**为了定性和定量地验证HAFormer及其各个模块的有效性,我们在基准数据集上进行了比较实验,并与最先进的方法进行了对比。**本节首先介绍实验中使用的数据集、损失函数、硬件平台配置及参数设置。然后,我们进行了一系列消融实验,验证各个模块的有效性。最后,我们通过对比实验,展示了我们的方法相较于现有方法的优越性。
A. 数据集
==【这个描述挺好的】==我们的HAFormer模型旨在解决街景场景中的尺度变化和上下文信息相关的挑战。Cityscapes和CamVid这两个数据集是广泛用于街景分割研究的著名基准。因此,为了展示我们模型的效果,我们在这两个数据集上进行了全面的实证评估。
Cityscapes:该数据集包含5000张像素级标注的高质量图像。这些图像拍摄自50个城市的各种城市环境,分辨率为2048×1024,主要描述驾驶场景。数据集分为三个子集:2975张图像用于训练,500张图像用于验证,1525张图像用于测试。虽然数据集中有34个类别的标签,但我们的研究只关注19个关键的语义类别。我们使用Cityscapes的内置工具来调整标签以适应我们的研究需求。
CamVid:这是由剑桥大学发布的城市道路场景公开数据集。图像的分辨率为960×720,拍摄自驾驶视角,增加了目标物体的多样性。该数据集包含超过700张标注图像,适合用于监督学习。CamVid数据集通常使用11个常见类别来评估分割精度。这些类别全面代表了城市道路场景中的目标物体,使其成为研究的宝贵资源。
B. 实现细节
HAFormer模型在单个RTX 2080 Ti GPU上执行,显存为12GB,使用CUDA 10.1和PyTorch 1.8.1实现。该架构从零开始训练,没有使用任何预训练模型。我们使用随机梯度下降(SGD)作为优化器,动量设置为0.9,权重衰减为1e-5,并采用“Poly”学习率策略进行优化。
在Cityscapes数据集上,初始学习率设置为4.5e-2,批量大小设置为5,以最大化GPU内存使用。在CamVid数据集上,初始学习率为1e-3,批量大小为8。遵循现有实践,我们应用了数据增强技术,包括水平翻转、随机缩放和随机裁剪,以增加训练数据的多样性,随机缩放范围为0.25到2.0,裁剪大小为512×1024,训练1000个epoch。为了公平对比,我们未应用任何后处理。
最后,按照现有实践,使用所有类别的平均交并比(mIoU)作为定量评估指标,并评估参数数量、浮点运算次数(FLOPs)、GPU使用情况和处理速度。
- 平均交并比(Mean Intersection over Union, mIoU)
mIoU是一种用于图像分割任务的性能评估指标,计算预测结果与真实标签之间的重叠程度。对于每个类别,mIoU通过计算交集和并集的比率,并对所有类别的IoU值取平均来反映整体性能。
- 浮点运算次数(FLOPs)
FLOPs指的是模型在进行一次前向传播时所需的浮点运算次数。它是衡量模型计算复杂度的指标,通常用于评估模型在硬件上运行的效率。FLOPs越高,表示模型的计算需求越大。
- GPU使用情况
GPU使用情况指的是在模型训练或推理过程中,图形处理单元(GPU)的利用率和性能指标。这通常包括GPU的内存使用、计算负载等,能够反映模型在GPU上运行的效率。
- 处理速度
处理速度是指模型在完成一次前向传播(推理)所需的时间,通常以毫秒或秒为单位。处理速度是评估模型在实际应用中能否满足实时要求的重要指标。
C. 消融实验
在本节中,我们进行了一系列消融实验,以验证我们方法中每个模块的有效性。
HAPE模块的消融研究
在我们的HAPE模块中**(见第III-B节)【这个表达不错】**,我们提出了四个并行卷积操作,以全面捕捉不同层次的图像特征。随后,像素激励模块(PEM)旨在通过内容感知的空间注意力机制增强特征表达能力。在本节中,我们分别展示了HAPE模块中层次化方法(称为“HM”)和PEM方法的有效性。
用于对比的基线模型采用单线性结构(如图7所示),并包含标准残差模块(RM)。为了展示HM和PEM带来的性能提升,我们首先用HM模块替代基线模型中的RM模块,省略PEM部分,然后同时引入HM和PEM模块以测试整个HAPE模块的有效性。
图 7:(a)基线模型的架构,(b)基线模型中使用的残差模块(RM)的详细说明,以及(c)我们提出的 HAPE 模块中的层次化模块(HM)。
表I展示了HM模块相较RM的优越性能,在mIoU上分别提升了1.47%和1.53%。HM模块擅长提取鲁棒的特征,有效地促进了深层语义信息的提取。此外,多尺度结构显著提升了模型在特征提取和小目标物体识别方面的表现。引入PEM后,分割精度在两个数据集上分别进一步提升了2.13%和2.74%。
整个实验过程中,HM和HAPE中的扩张卷积率均设置为1,以确保公平对比。
扩张率的消融研究
在本节中,我们探讨了选择的扩张率对分割性能的影响。在模块数量保持不变的情况下,较大的扩张率扩大了感受野,使得模型能够感知更广的范围,因此对于全面的特征提取至关重要。
表II的结果显示,将扩张卷积率从全为1切换为全为2(前两行)可以使mIoU提高约0.5%。进一步在第2和第3阶段逐步增加扩张率,我们观察到在两个数据集上的性能提升分别为1.21%和1.73%。因此,为了保留空间细节,我们在第1和第4阶段分配了3个模块,而在第2和第3阶段使用了6个模块,以便在网络深处捕捉精细的语义信息。这一策略优化了Transformer编码器的计算,改进了长距离依赖建模。
表 II:关于扩张率(Dilation Rates)影响的消融研究。
高效Transformer的消融研究
如第III-C节所述,HAFormer中的另一项关键贡献是高效Transformer(ET)模块,该模块通过将特征投影到最优的潜在嵌入空间后再进行自注意力计算,从而减少了维度。表III展示了ET模块相较于传统Transformer(称为“TT”)在Cityscapes和CamVid数据集上,在分割精度和计算复杂度方面的性能提升。
表III的结果显示,ET设计在效率和精度之间达到了更好的平衡。与传统的Transformer(“TT”)相比,ET在参数数量上减少了18%,计算负担减少了17%,mIoU只降低了0.4%。因此,该设计实现了更高效的模型,且性能损失最小,并且提供了更快的推理速度。此外,表IV中的结果也揭示了Transformer学习特征后的显著提升,mIoU提升了2.16%,这证明了Transformer在捕捉长距离依赖关系方面的卓越能力,而这一点是CNN单独无法实现的。
表 III:在 Cityscapes (512 × 1024) 和 CamVid (360 × 480) 数据集上使用 TT 和 ET 于 HAPE 中的性能对比。
此外,在提出的HAFormer中,由于硬件计算资源的限制以及为了在这些约束下实现最佳平衡,ET层的数量((L))被故意限制为2。虽然堆叠更多的ET层可能会带来更好的精度提升,如图8所示,但当(L > 2)时,性能的增益显著放缓。此外,在高分辨率数据集(如Cityscapes)上添加过多的ET层可能会对参数数量、计算复杂度和推理速度产生负面影响,并可能导致过拟合。
相关加权融合的消融研究
为了应对CNN和Transformer特征之间的特征不匹配问题,并确保在解码过程中进行有效的特征恢复,我们在第III-D节中引入了相关加权融合(cwF)机制。表IV比较了使用我们cwF方法与两种其他融合技术(元素级加法和拼接)的结果。该表展示了通过这三种融合方法整合CNN和Transformer特征后,分割精度均有提升。值得注意的是,我们的cwF在使用一个ET层时,相较于基线模型提升了2.38%的性能,而堆叠两个ET层时,mIoU提高了4.06%。
表 IV:在 Cityscapes 数据集上关于 ET、HAPE 中 ET 数量(“L”)以及 cwF 模块的消融研究。
此外,表IV还显示了以下两点:(a) 与简单的元素级加法融合方案相比,我们的cwF分别在两个场景中提升了1.27%和1.90%的mIoU,而参数数量和FLOPs的增加非常微小;(b) 我们的cwF在两个场景中比计算昂贵的拼接操作分别提高了0.84%和1.01%的mIoU,同时在参数数量上减少了约5%,在计算负担上减少了15%。这些实验结果进一步证明了cwF的有效性。
D. 与最先进方法的比较
在本节中,我们广泛评估并比较了我们的方法与一些最先进的语义分割方法的性能和效率,以展示我们方法的优势。我们的评估集中在三个关键方面:分割精度、模型参数和浮点运算次数(FLOPs)。
Cityscapes上的评估结果
表V展示了与其他先进语义分割方法在Cityscapes测试集上的定量比较。每类的具体结果如表VI所示,视觉化结果如图9所示。为了确保公平,没有在测试中使用数据增强技术,其他网络的数据参考了相关文献。当前的语义分割模型主要分为两大类:强调大模型和高精度的模型,以及强调实时性、兼顾精度与效率的轻量级模型。
表 V:在 Cityscapes 测试数据集上的比较。“∗” 表示该方法使用了多个显卡。“−” 表示相应方法中未提供结果。
图 9:在 Cityscapes 数据集上的视觉结果。由左至右:原始图像、真实标签、HAFormer 的预测结果、LETNet [39]、SGCPNet [51]、DABNet [52]、CGNet [53]。注意,展示了两个示例。在每组中,第一行可视化整体分割结果,第二行可视化矩形框中小区域的放大视图。
表 VI:关于 Cityscapes 测试集的每类结果与其他方法的比较。Roa: 道路,Sid: 人行道,Bui: 建筑物,Wal: 墙,Fen: 栅栏,Pol: 电杆,TLi: 红绿灯,TSi: 交通标志,Veg: 植被,Ter: 地形,Sky: 天空,Ped: 行人,Rid: 骑行者,Car: 汽车,Tru: 卡车,Mot: 摩托车,Bic: 自行车。
虽然大模型能达到高精度,但它们的FLOPs和速度远远落后于轻量级模型,使得它们不适合在资源有限的设备上进行实时处理。相比之下,轻量级模型如ENet[10]、ESPNet[12]、CGNet[53]和FPENet[59]在计算效率方面表现出色。尽管这些模型减少了参数数量,但其整体性能,尤其是精度方面,表现不足。EFRNet-16[66]在精度上与我们的结果相似。然而值得注意的是,它的参数数量和FLOPs是我们的2倍。显然,我们的模型所需参数和计算更少,突显了我们方法的高效性。
CamVid上的评估结果
为了进一步验证我们模型的有效性和泛化能力,我们在CamVid数据集上与其他轻量级方法进行了对比,如表VII所示。尽管MGSeg[64]在精度上超出了我们的方法1.6个百分点,但它的参数数量是我们的22倍,表明其权衡不合理。另一方面,SGCPNet[51]在速度上表现突出,但精度不足。相比之下,我们的HAFormer在这两方面取得了更好的平衡。在CamVid数据集上的整体性能低于Cityscapes,原因在于其规模较小且分辨率较低,这进一步凸显了我们方法的强大泛化能力。图10中的可视化结果进一步展示了HAFormer的优势。
图 10:在 CamVid 数据集上获得的视觉结果。由左至右:原始图像、真实标签、使用 HAFormer 得到的预测结果、LETNet [39]、SGCPNet [51]、DABNet [52]、DFANet [25]。每个预测结果旁边都有一个部分放大的细节图。
速度对比
为了确保公平对比,所有方法均在相同的平台上运行,因为计算负担直接影响推理速度,并且不同设备之间会有差异。在我们的受控评估中,使用单个NVIDIA RTX 2080Ti GPU来测量模型的执行时间。表VIII展示了我们提出的HAFormer与其他轻量级方法在运行时和推理速度方面的比较。实验在512×1024的分辨率下进行,与官方代码的方法保持一致,以确保公平性。表VIII显示了HAFormer的速度表现非常出色,在处理大小为512×1024的图像流时达到了105fps的帧率,使其成为最快的方法之一。尽管DABNet的运行速度达到了139fps,但HAFormer凭借其74.2%的mIoU,在实际应用场景(如自动驾驶)中表现更加突出。HAFormer在速度(105fps)和精度之间取得了良好的平衡,使其成为现实应用中的有力候选方法。
表 VIII:所提出的 HAFormer 与其他方法的运行时间和推理速度比较。
mIoU(Mean Intersection over Union):
mIoU 是一种用于评估语义分割模型性能的指标,表示预测区域与真实区域的交集与并集之比的平均值。mIoU 的值越高,表明模型的分割精度越好。帧率(Frame Rate, fps):
帧率是指每秒钟显示的图像帧数。在视频处理和实时图像分析中,帧率越高,表明处理速度越快,能够实现更流畅的体验。
V. 结论
在本研究中,我们提出了HAFormer,这是一种用于轻量级语义分割的全新方法。我们设计了层次感知像素激励模块(HAPE),以增强层次化的局部特征提取能力。此外,我们引入了高效的Transformer模块,用于在较低计算负担下高效地捕获全局特征。然后,我们结合了相关加权融合(cwF)机制,将高度相关的CNN和Transformer特征进行融合,从而改善特征的表达学习。通过在基准数据集上的广泛实验,我们的方法展示了其有效性和泛化能力,突显了HAFormer在分割精度与计算效率之间实现了良好的平衡。