专栏名称: 极市平台
极市平台是由深圳极视角推出的专业的视觉算法开发与分发平台,为视觉开发者提供多领域实景训练数据库等开发工具和规模化销售渠道。本公众号将会分享视觉相关的技术资讯,行业动态,在线分享信息,线下活动等。 网站: http://cvmart.net/
目录
相关文章推荐
勤于奋  ·  月入98美刀的网站 ·  2 天前  
勤于奋  ·  月入98美刀的网站 ·  2 天前  
51好读  ›  专栏  ›  极市平台

HAFormer:融合 CNN 与 Transformer 的高效轻量级语义分割模型

极市平台  · 公众号  ·  · 2024-07-16 22:00

正文

↑ 点击 蓝字 关注极市平台
作者丨AI 引擎
来源丨AI视界引擎
编辑丨极市平台

极市导读

HAFormer以最小的计算开销和紧凑的模型尺寸实现了高性能,在Cityscapes上的mIoU达到了74.2%,在CamVid测试数据集上的mIoU达到了71.1%,在单个2080Ti GPU上的帧率分别为10SFPS和118FPS。 >> 加入极市CV技术交流群,走在计算机视觉的最前沿

在语义分割任务中,卷积神经网络(CNNs)和Transformer都表现出了巨大的成功。人们已经尝试将CNN与Transformer模型集成在一起,以捕捉局部和全局上下文交互。然而,在考虑计算资源限制时,仍有提升的空间。


在本文中,作者介绍了HAFormer模型,该模型结合了CNN的分层特征提取能力与Transformer的全局依赖建模能力,以应对轻量级语义分割挑战。具体来说,作者设计了一个分层感知像素激活(HAPE)模块,用于自适应多尺度局部特征提取。在全局感知建模过程中,作者设计了一个高效Transformer(ET)模块,简化了传统Transformer中的二次计算。此外,一个相关性加权融合(cwF)模块有选择地合并不同的特征表示,显著提高了预测准确性。HAFormer以最小的计算开销和紧凑的模型尺寸实现了高性能,在Cityscapes上的mIoU达到了74.2%,在CamVid测试数据集上的mIoU达到了71.1%,在单个2080Ti GPU上的帧率分别为10SFPS和118FPS。


源代码可在https://github.com/XU-GITHUB-curry/HAFormer获取。

I Introduction

语义分割涉及给给定图像中的每个像素分配标签的任务,这是计算机视觉中的基本密集预测任务,应用于自动驾驶[1],医疗保健[2],卫星遥感[3]等领域。先前的方法,如[4, 5],利用深度卷积神经网络(CNN)进行特征提取,结合特征金字塔结构以感知多尺度信息[6],以及注意力模块以感知全局上下文[7, 8, 9]。尽管这些方法已经取得了相当的准确度,但它们通常需要大量的计算资源,并且由于较深的网络堆叠以获得更大的感受野和更高的语义层次,其推理速度相对较慢。

为了适应计算资源有限的设备,最近的研究专注于开发轻量级的分割模型。例如,ERFNet[11]采用一维非瓶 Neck 减少计算量,而ICNet[13]利用不同分辨率的输入增强不同分支之间的信息流动。FBSNet[15]使用对称的编码器-解码器结构,带有空间细节分支和语义信息分支以细化上下文细节。通常,这些模型简化了基本模块结构以最小化计算成本。然而,在提高计算效率的同时,由于其局部限制和网络深度较浅,它们的分割准确度往往受到影响。

最近,Transformer 在计算机视觉社区中取得了显著的成功。受到这一进展的启发,研究行人开始将ViT[18]架构整合到解决语义分割挑战中。与CNN不同,Transformer 通过其广泛的全球注意力机制内在地提供了广阔的全局感受野。使用Transformer作为图像编码器的模型在全球上下文建模方面表现出色,与基于CNN的方法相比,在分割准确度上有了显著的提升。尽管UNETR[19]和其他方法[20, 21]基于Transformer编码器的最后一层进行预测,但它们往往忽略了图像中的较小尺度目标,影响了较小元素或像素的精确分类,如图1所示。SegFormer[22]引入了一个分层注意力模型,结合分层 Transformer编码器和轻量级多层感知机(MLP)解码器以增强分割精度。MPViT[23]有效地将多尺度特征输入整合到Transformer操作中,取得了令人印象深刻的结果。

这些方法优先考虑高的分割准确度,但常常忽视模型效率。首先,基于Transformer的方法缺乏归纳偏置,使得其训练缓慢且难以收敛。此外,它们通常需要更大的数据集和更长的训练时间,导致训练开销巨大。其次,由于多头自注意力(MHSA)操作耗时,导致推理速度变慢。随着高分辨率输入的计算负担加剧,尤其是MHSA的二次复杂度。此外,由于它们有限的精细局部建模能力,这些方法在捕捉细节和小目标方面可能存在困难。

在这项工作中,作者的目标是开发一个轻量级的语义分割模型,该模型同时利用CNN和Transformer,专注于最小化模型大小和计算需求。作者推出“HAFormer”模型,将Transformer的全局感受能力与 CNN 的局部感知优势结合起来,释放分层感知特征的力量。

本文的核心贡献有三方面:

  • 作者提出了一种新颖的分层感知像素激活(HAPE)模块,利用分层和内容感知注意力机制来减少计算负担,同时从各种感受野下的像素中提取更深的语义信息。
  • 作者开发了一种有效的特征融合机制,名为相关加权融合(cwF),以协同整合由CNN和Transformer学习的局部和全局上下文特征,有效提高准确度。
  • 作者提 出了一种有效的Transformer, 分解 矩阵 ,有效地解决了传统Transformer模型中的二次计算复杂性挑战。

在两个广泛使用的基准上进行的广泛实验表明,作者的HAFormer在分割准确度和效率之间取得了平衡。

本文的其余部分结构如下:第二节全面回顾了相关工作。第三节详细介绍了作者提出的HAFormer,重点关注其三个关键组成部分。第四节描述了详细的实验设置并呈现了评估结果,包括消融研究和讨论。最后,第五节通过总结关键发现和讨论未来方向来结束论文。

II Related Work

Hierarchical Methods in Semantic Segmentation

在密集预测任务中,准确分类多尺度和小目标目标是一个普遍的挑战。这在语义分割中尤为明显,其中小目标的分类可能会受到邻近较大目标的影响,导致误分类。分层方法通过使用不同膨胀率的卷积或不同速率的池化层有效地解决了这一挑战。然后将这些结果级联或连接起来,以整合来自不同尺度的信息。这种多尺度整合增强了感受野 Level ,减轻了来自不同局部区域大小的模糊性,并提高了目标细节处理能力。现有的分层方法可以分为整体分层结构或特定分层模块,总结如下:

分层结构。 一些方法采用了多尺度设计,具有处理不同分辨率输入或特征图的独特网络分支。遵循此方法的著名方法是ICNet[13],它融合了三个编码分支(低分辨率、中分辨率和高分辨率),各自擅长在不同尺度上提取细粒度信息,以增强输出中的边界信息。相比之下,HRFormer[24]有效结合了健壮的语义信息与精确的位置细节。而HSSN[26]是一种分层方法,它专注于分类如“人-骑车者-自行车”之类的目标,而不是解决小目标在像素级分类的挑战。其他方法,包括,通过并行多个分辨率分支并促进它们之间的连续信息交互,利用多尺度结构。

分层模块。 众多方法在架构的特定层中集成了分层模块,允许在特征图上使用不同的感受野。例如,在DeepLab[28, 29]和DenseASPP[6]中使用的ASPP模块,通过带孔卷积有效地从不同尺度提取特征,解决图像内外的目标尺度变化问题。PSPNet[30]因其金字塔池化模块而出众,该模块从四个尺度整合特征。通过从不同尺度收集和合并上下文信息,该模块生成了比仅全局池化更具有代表性和区分性的特征。使用此模块的模型可以增强对各种大小目标的识别能力。受到“更宽”模块[30, 31]的启发,在本研究中,作者证明利用多个不同的卷积核有效地增强了表达性,以最小的计算和参数开销提高了性能。

Vision Transformer in Semantic Segmentation

开创性的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, 37, 38] 试图结合CNN和Transformer的优势。然而,这些努力在实时推理需求和低延迟能力之间难以平衡。轻量级技术如LETNet [39] 将Transformer定位为胶囊网络,而像TopFormer [40] 这样的方法则在解码器中将它作为一个辅助组件来增强边界恢复。尽管如此,有效结合全局和局部信息的确切解决方案仍然难以捉摸。

为了解决在结合CNN和Transformer时的高计算需求以及有效整合局部信息与全局背景的挑战,作者的HAFormer引入了高效Transformer (ET) 模块来管理计算复杂度,并提出了一个相关性加权融合(cwF)机制来调和来自CNN和Transformer的特征。

Attention Mechanisms in Semantic Segmentation

受到人类视觉感知的聚焦特性的启发,注意力机制强调显著特征,同时忽略不相关的特征。这些机制主要分为两类:通道注意力与空间注意力。在通道注意力方法中,SKNet [41]使神经元能够根据输入尺度动态调整其感受野大小。空间注意力方法,如非局部神经网络 [8],在语义分割中捕捉长距离依赖关系。然而,对所有位置之间的关系进行建模可能计算成本很高。非对称非局部神经网络 [9]试图减少计算成本,但它们仍然可能需要大量资源,特别是在处理高分辨率输入特征时。

研究者们已经探索了结合通道和空间注意力机制来从多个角度增强特征。例如,CBAM [7] 依次沿着两个独立维度(通道和空间)操作,生成注意力图,然后将这些注意力图与输入特征相乘以进行自适应特征优化。DANet [4] 和 CCNet [42] 并行整合通道和空间注意力,使用自注意力操作并将生成的特征结合起来。CAA [43] 解构了轴向注意力并整合了通道注意力以管理冲突并优先考虑特征。这些利用自注意力机制的方法已经显示出积极的结果。

一个普遍的挑战涉及到像素级的远距离建模,这会带来高昂的计算成本,使得它不适合在资源受限的情况下部署。本研究引入了一种轻量级模型,该模型优化了CNN的局部感知能力和Transformers的全局建模能力。作者通过在作者的提出的Efficient Transformer(ET)模块中使用空间缩减-线性投影和分割操作策略来处理计算复杂性问题。

III The Proposed Method

Overall Architecture

作者的HAFormer的整体架构如图2所示,该架构包括三个组件:一个带有层次感知像素激活增强的CNN编码器,一个高效的Transformer编码器,以及一个轻量级的解码器。

对于一个给定的输入图像 , 其尺寸为 , 模型首先使用 CNN编码器, 生成特征 。同时, 输入 在经过Transformer茎块处理后, 进入Transformer编码器, 得到特征嵌入 , 其中 表示标记数量, 表示每个标记的维度, 表示标记大小。随后, 作者新设计的相关性加权融合(cwF)模块有效地将这两种不同类型的上下文特征 协同起来。这种相关 CNN和Transformer特征的融合增强了边界信息与轻量级解码器分割头的恢复。

具体来说, 为了优化 编码器, 作者在 茎块中使用了三个 卷积层。在这种配置中, 最后一层具有 2 的步长, 从而得到特征图大小为 , 其中 表示输出通道数。相比之下, Transformer编码器中的Transformer茎块在提取特征表示的同时降低分辨率, 通过最小化计算负载, 为模型的轻量级设计做出贡献, 因为更高的分辨率意味着更多的计算。因此, 在Transformer茎块中, 作者使用了四个 卷积层, 步长为 2 , 得到输出特征大小为

Hierarchy-Aware Pixel-Excitation (HAPE) Module

采用同一层内具有不同 Kernel 大小的卷积,结合像素激活,有助于从不同大小的目标中提取特征。基于这一概念,并借鉴了如[30, 44]等作品,作者采用了多尺度策略来捕获不同感受野 Level 的独特像素特征。与ESPNet [12]中的逐层合并和Inception [45]中的拼接不同,作者的模块避免了冗余计算,在保持特征有效性的同时,使得网络更加精简。此外,为了进一步改善不同尺度上的像素表示,作者在本研究中引入了创新的层次感知像素激活(HAPE)模块。该模块增强了模型有效识别图像中各种大小目标的能力,最终降低了像素误分类率。

具体来说, 如图3所示, 给定一个特征输入 , 作者首先将其输入到一个 卷积层, 将其通道维度减少到 , 即输出特征图 表示为

这里, 表示一个 Kernel 大小为 的卷积操作。这种维度减少便于后续层次卷积层中的通道操作。

随后,作者执行四个并行的卷积操作,包括分解卷积和深度可分离卷积, Kernel 大小分别为3、3、5和7。此外,最后三个卷积层使用膨胀卷积来增强感受野,如图4所示。这一策略使得模型能够捕捉到跨各种尺度的图像特征,确保了全面和详细的信息提取。

上述过程可以表示为

其中 表示中间特征, 是一个核大小为 的1-D卷积操作, 表示膨胀率。为了简单起见, 方程中省略了一些激活和批量归一化操作。

一个关键元素在于像素激发模块(PEM), 它通过一种内容感知的空间注意力机制负责增强特征的表现力。如图3所示, 该过程首先将输入 送入全局平均池化 (GAP) 层, 生成 。随后, 对其进行 Reshape 和平展操作, 然后输入到 Softmax 函数中计算权重矩阵 。这个权重矩阵随后与输入特征相乘, 得到一个内容感知的注意力增强输出

这个过程可以表示为

以及

这里, Reshape 和 Reshape 分别表示 Reshape 操作及其逆操作, 是一个激活函数, 表示逐元素乘法。

最后, 采用残差结构保留原始特征, 得到最终输出 。四个卷积层被联合添加到一个 卷积中用于特征融合和通道恢复。模块内保持残差连接, 通道混洗操作有效地促进了通道间的信息交互, 表达为

其中 ,

其中 Shuffle 表示通道混洗操作, 而 是一个激活函数。

Efficient Transformer

传统的Transformer方法,如文献[17, 46]所示,对于轻量级和实时模型可能过大,尤其是在处理高分辨率输入时。这凸显了更高效Transformer的迫切需求。受文献[31, 47]的启发,作者的方法着重于在不显著损失图像细节的情况下,通过减少特征维度来降低计算成本。为此,作者引入了一种空间缩减线性投影方法,该方法首先将特征映射到一个具有降低维度的潜在嵌入空间,然后再用于多头自注意力计算。这种方法称为带有学习投影和分割操作的高效多头自注意力(eMHSA),如图5所示。

将输入特征表示为 , 其中 分别表示特征图中的通道数、高度和宽度。在 Reshape 操作之后, 得到一系列扁平的非重叠 Patch, 结果是 ,其中 表示 Patch 数(即输入序列长度), 每个 Patch 大小为 。随后, 这些 Patch 通过一个可学习的线性投影层 映射到一个潜在 维嵌入空间, 记作 。这个过程可以表示为

其中 表示第 个 Patch。请注意, 故意省略位置嵌入是为了允许不同输入大小更大的适应性。

随后, Transformers中的三个矩阵, 即 Query 、键 和值 , 通过它们的线性投影 得到。这可以表示为

此外, 多头自注意力中的头数 也是一个用户定义的参数, 确保每个头的维度等于 。此, 第 个头中的 的维度为 。在第 个头中, 通过一个因子 进行空间缩减,其中 是缩减比, 设置为 2 。然后, 由特征分裂操作产生的子标记与仅代表原始感知 的字段进行矩阵乘法, 其中 表示特征分裂的次数, 设置为 4 。这个过程可以描述为

因此, 空间分布变为 , 以及 。这个想法与组卷积的概念相似, 可以有效地减少内存消耗。因此, 第 个头中的自注意力计算为

以及

其中Concat .

因此, eMHSA的最终输出表示为

其中 表示 中的头数, 而 作为一个线性投影来恢复维度。因此, 通过上述结构设计, 作者已经将复杂性从 降低到

值得注意的是,Transformer系列[16, 17, 23]也使用了一种自注意力机制,包括多头注意力。然而,它们的方法在捕捉特征间详细关系方面计算密集,这与作者的目标不符。

在MLP层中, 作者遵循文献[31,48] 中描述的方法, 用零填充位置编码替换固定大小的位置编码。此外, 作者在全连接(FC)层和前馈网络中的GELU之间引入了填充大小为 1 的深度卷积, 以捕获输入张量中的局部连续性。通过消除固定大小的位置嵌入, 模型在处理不同分辨率的输入时变得更加灵活。因此, 高效的MLP层的输出, 记作“ ”, 可以写成

其中 表示FC层操作, 代表GELU激活函数, 表示深度卷积, 是 eMLP 的输入。

Correlation-weighted Fusion

许多研究,如[2, 36, 40, 46],探讨了将Transformers和CNNs的特征整合在一起。例如,SegTransConv [36]提出了一种混合架构,串行和并行结合了Transformers和CNNs,但并未完全发挥两者的协同潜力。鉴于Transformers和CNNs在特征和计算机制上的明显差异,传统的逐元素加法或拼接操作可能不会产生最佳结果。因此,利用两者的互补优势对于提高提取特征的表现力以及解码过程中信息恢复至关重要。

在本文中,作者提出了一种有效策略来弥合这一差距。作者的方法通过相关加权整合无缝结合了由Transformers和CNNs提取的不同类型的特征。通过融合具有高相关性的CNN和Transformer特征,作者开发了一个新的相关加权融合(cwF)模块。

如图6所示, 分别表示来自Transformer和CNN的中介特征。首先, 将Transformer特征 Reshape 以匹配CNN特征 的相同形状, 然后进行这两个特征集的后拼接操作。为了降低计算成本, 采用深度可分离卷积进行通道维度降低。在全局平均池化(GAP)和Sigmoid操作之后, 计算表示为 的相关系数矩阵。然后将该矩阵与原始特征相乘得到 , 两者相加得到最终输出







请到「今天看啥」查看全文


推荐文章
勤于奋  ·  月入98美刀的网站
2 天前
勤于奋  ·  月入98美刀的网站
2 天前
LinkedIn  ·  究竟什么样的人才能创业成功
8 年前
台海军事热点  ·  央视曝光:太可怕了,速看,速看!
7 年前
海蓝博士  ·  你是谁,就会遇见谁
7 年前