实时语义分割学习笔记06 RTFormer:基于Transformer的高效实时语义分割设计

一、提出的问题:

1、发现的问题

   作者发现,基于transformer的架构的主要在于大量使用自注意,而自注意擅长捕获语义分割中必不可少的长距离上下文信息。但是,只有少数的工作探索了注意力在这一领域的应用,并且目前的技术水平仍然以基于CNN的架构为主。实时环境中应用注意力的主要障碍可能来自以下两个方面。

  a. 注意机制的计算特性对于GPU等设备不够友好,主要问题在于二次复杂度和多头机制。
  b. 尽管一些尝试缩小关键和值的大小,二次复杂度的问题仍然存在。
  c .仅在高分辨率特征图本身上执行注意力可能不是捕获具有高级语义信息的长距离上下文的最有效方式。

2、解决思路

  RTFormer块:

  引入了一种名为RTFormer的新型Transformer块,在GPU等设备上实现性能和效率之间更好的平衡。

  a. 对于低分辨率分支,采用了一种新提出的GPU-Friendly Attention,它从外部注意力[15]中演化而来,通过丢弃矩阵乘法操作中的通道分裂来缓解多头机制对GPU设备的影响。

  b. 对于高分辨率分支,采用了跨分辨率注意力,而不仅仅在高分辨率特征本身上执行注意力。不同于其他方法中的多分辨率融合的并行形式,将两个分辨率分支布置成阶梯状。因此,通过从低分辨率分支学到的高水平全局上下文信息,可以更有效地增强高分辨率分支。

  网络架构 - RTFormer:

  提出的RTFormer块被整合到一个名为RTFormer的新型实时语义分割网络中。RTFormer在较早的阶段使用卷积块来学习本地上下文,并在最后两个阶段放置RTFormer块。

二、相关工作:

1、注意机制

   在计算机视觉领域,注意机制的发展包括SE块,将注意力应用于通道以提高网络的表示能力。一些方法使用注意机制对对象关系建模(对象检测)、捕捉长距离依赖性(非局部操作)和点云识别(点云识别)。近年来广泛使用的自注意力具有二次复杂度,这限制了其使用。一些工作通过改革自注意力以实现线性复杂度,但仍对GPU上的推理不够友好。受外部注意力的启发,提出了一种低延迟且在类似GPU设备上性能出色的GPU-Friendly注意力模块。

2、Transformer在语义分割中的应用:

   Transformer在语义分割中展现出良好的性能。DPT将Transformer作为编码器应用于改善密集预测任务。SETR提出了一种序列到序列的方法,并取得了令人印象深刻的结果。SETR使用预训练的VIT作为骨干网络,并在空间分辨率上没有下采样。然而,由于其庞大的骨干和非常高的分辨率,难以用于实时分割任务。egFormer通过引入分层Transformer编码器和轻量级的全MLP解码器提高了效率,既具有更高的效率又具有更高的性能。然而,与一些基于CNN的实时分割模型相比,SegFormer的效率仍然相对较低。通过引入

三、论文方法:

1、RTFormer双分辨率模块

继承了的多分辨率融合范例。与以前的工作相比,RTFormer块由两种类型的注意力沿着及其前馈网络组成,并布置为阶梯式布局
在这里插入图片描述

2、外部注意力(EA)

   由于其令人满意的线性复杂度特性,成为在GPU类设备上执行的潜在选择。EA的基本公式是:
E A ( X ; K ; V ) = D N ( X ⋅ K T ) ⋅ V EA(X; K; V ) = DN(X · K^T) · V EA(X;K;V)=DN(XKT)V
其中:
   X ∈ R N × d X ∈ R^{ N × d } XRN×d 表示输入特征
   N 是元素数量(或图像中的像素数)
   d 是特征维度
   K ; V ∈ R M × d K;V ∈ R^{ M×d} K;VRM×d是可学习参数,

多头版本的EA可以表示为:
M H E A ( X ) = C o n c a t ( h 1 ; h 2 ; : : : ; h H ) MHEA(X) = Concat(h_1; h_2; :::; h_H) MHEA(X)=Concat(h1;h2;:::;hH)
h i = E A ( X i ; K 0 ; V 0 ) ; i ∈ [ 1 ; H ] h_i = EA(X_i; K_0; V_0); i ∈ [1; H] hi=EA(Xi;K0;V0);i[1;H]

在公式中:
   d = d / H d = d/H d=d/H而 ,H 是头的数量,
   X i X_ i Xi是 X 的第 i 个头。
   多头机制生成了 H 个注意力图,以提高EA的容量,这使得矩阵乘法分割成几个组,类似于组卷积。尽管EA对于不同头使用共享的 K 0 K_0 K0 V 0 V_0 V0 ,这样可以大大加快计算速度,但分割的矩阵乘法仍然存在。
在这里插入图片描述

3、GPU-Friendly Attention(GFA)

   GFA是从EA派生而来,旨在保持EA的线性复杂度并在GPU等设备上执行得更加友好。
   GFA的详细形式没有提供,但可以推断出它采用了EA的基本思想,并进行了适应以在GPU上获得更好的性能。公式如下:
G F A ( X ; K g ; V g ) = G D N ( X ⋅ K T g ) ⋅ V g GF A(X; Kg; Vg) = GDN(X · KTg) · Vg GFA(X;Kg;Vg)=GDN(XKTg)Vg
其中 K g ; V g ∈ R M g × d K_g; V_g ∈ R^{M_g×d} Kg;VgRMg×d M g = M × H M_g = M × H Mg=M×H

   GDN表示分组双重归一化,它将原来双重归一化的第二次归一化拆分成H组,如图3左下部分所示,从公式3中我们可以发现GFA有两个主要的改进,一方面,它使得矩阵乘法被集成,这对于类GPU设备来说相当友好,受益于此我们可以将外部参数的大小从 ( M ; d 0 ) (M; d_0) M;d0扩大到 ( M g ; d ) (Mg; d) Mg;d。 另一方面,它利用分组双重规范化的优点,在一定程度上保持了多头机制的优越性。直观理解上,可以认为GFA还生成了H个不同的注意力图,用于捕捉标记之间的不同关系,但是计算相似性涉及更多的特征元素,并且所有的注意力图都对最终输出有贡献。

4、跨分辨率注意力:

   为更有效地获取全局上下文,提出了跨分辨率注意力,旨在充分利用从低分辨率分支学到的高级语义信息。与GFA不同,跨分辨率注意力用于在高分辨率分支中收集全局上下文。跨分辨率注意力的计算表达式如下:

C A ( X h ; K c ; V c ) = S o f t m a x ( X h ⋅ K c T h ) ⋅ V c CA(X_h; K_c; V_c) = Sof tmax(\frac{X_h · K^T_c} {\sqrt{h}}) ·Vc CA(Xh;Kc;Vc)=Softmax(h XhKcT)Vc
K c ; V c = φ ( X c ) X c = θ ( X l ) K_c; V_c = φ(Xc) \small\small Xc = θ(Xl) Kc;Vc=φ(Xc)Xc=θ(Xl)

4、前馈网络。

   在以前的基于变换的分割方法中,前馈网络(FFN)通常由两个MLP层和3 × 3卷积层组成,其中深度方向的3 × 3层用于补充位置编码或增强局部性。两个MLP层将隐藏维度扩展为输入维度的2倍或4倍。这种类型的FFN可以用相对较少的参数实现更好的性能。但是在需要考虑GPU类设备上的延迟的情况下,传统的FFN结构效率不高,为了平衡性能和效率,我们在RTFormer模块的FFN中采用了两个3 × 3卷积层,没有进行维数扩展,比传统的FFN结构有更好的效果。

  

1、

#pic_center =500x

  • 28
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值