【TIP2024】HAFormer: Unleashing the Power of Hierarchy-Aware Features for Lightweight Semantic Segmentation
论文链接:http://arxiv.org/abs/2407.07441
代码链接:https://github.com/XU-GITHUB-curry/HAFormer
一、摘要
文中引入了HAFormer模型,该模型结合了CNN层次化特征提取能力与Transformer全局依赖建模能力,以应对轻量级语义分割的挑战。具体来说,设计了一个层次感知像素激励(HAPE)模块,用于自适应的多尺度局部特征提取。在全局感知建模过程中,设计了一个高效的Transformer (ET)模块,简化了传统Transformer中的二次计算。此外,还设计了一个相关加权融合(cwF)模块,该模块能够选择性地融合不同的特征表征,显著提高了预测精度。HAFormer在保持高性能的同时,具有最小的计算开销和紧凑的模型尺寸,在Cityscapes测试数据集上达到了74.2%的mIoU,在CamVid测试数据集上达到了71.1%的mIoU,在单个2080Ti GPU上的帧率分别为105FPS和118FPS。
二、创新点
-
提出了一种新颖的层次感知像素激励(HAPE)模块,该模块利用层次结构和内容感知注意力机制来减少计算负载,同时能够在各种感受野下提取更深层次的像素语义信息。
-
开发了一种有效的特征融合机制,称为相关加权融合(cwF),用于协同集成CNN和Transformer学习到的局部和全局上下文特征,有效地提高了准确性。
-
提出了一种有效的Transformer,用于分解Q、K和V 矩阵,有效地解决了传统Transformer模型中存在的二次计算复杂性挑战。
目录
三、原理
A. Overall Architecture
提出的HAFormer的整体架构如图2所示,它包含三个组成部分:一个带有层次感知像素激励的CNN编码器、一个高效的Transformer编码器和一个轻量级解码器。
对于给定的输入图像 I ∈ R 3 × H × W I \in R^{3 \times H \times W} I∈R3×H×W其尺寸为 H × × W H × \times W H××W,模型首先通过CNN编码器生成特征 F ∈ R C f × H f × W f F \in R^{C_{f} ×H_{f} ×W_{f}} F∈RCf×Hf×Wf (其中 H f = H 8 H_{f} = \frac{H}{8} Hf=8H, W f = W 8 W_{f} = \frac{W}{8} Wf=8W)。同时,输入 I I I在Transformer Stem块之后的Transformer编码器中进行处理,生成特征嵌入 T ∈ R N × D T \in R^{N×D} T∈RN×D,其中 N = H t P × W t P N = \frac{H_{t}}{P} × \frac{W_{t}}{P} N=PHt×PWt( H t = H 16 H_{t} = \frac{H}{16} Ht=16H, W t = W 16 W_{t} = \frac{W}{16} Wt=16W)表示token数量, D = C t × P 2 D = C_{t} ×P^{2} D=Ct×P2表示每个token的维度, P P P表示token大小。随后,新设计的关联加权融合(cwF)模块有效地将两种不同类型的上下文特征 F F F和 T T T结合起来。这种融合相关联的CNN和Transformer特征,通过轻量级解码器分割头增强了边界信息和恢复。
具体来说,为了优化CNN编码器,在CNNStem块中使用三个 3 × 3 3 × 3 3×3卷积层。在这种配置中,最后一层的步长为 2 2 2,产生特征图的大小为 C 1 × H 2 × W 2 C_{1} × \frac{H}{2} × \frac{W}{2} C1×2H×2W,其中 C 1 C_{1} C1表示输出通道数量。
相反,Transformer stem在Transformer Encoder中降低了分辨率,同时提取特征表示,通过最小化计算负载,因为更高的分辨率意味着更多的计算,从而为模型设计提供了轻量级。因此,在Transformer Stem块中,使用四个 3 × 3 3 × 3 3×3卷积层,步长为 2 2 2,产生输出特征的大小为 C t × H 16 × W 16 C_{t} × \frac{H}{16} × \frac{W}{16} Ct×16H×16W。
B. Hierarchy-Aware Pixel-Excitation (HAPE) Module
采用同一层中不同大小的卷积核,结合像素激励,有助于从不同大小的对象中提取特征。在此基础上,受到如 [30], [44]等工作的启发,采用了多尺度策略来捕捉不同感受野层次上的独特像素特征。与ESPNet[12]中的层间合并和Inception [45]中的串联不同,所提模块避免了冗余计算,使得网络更加精简,同时保持了特征的有效性。此外,为了进一步提高不同尺度上的像素表征,在本研究中引入了创新的层次感知像素激励(HAPE)模块。该模块增强了模型识别图像中各种大小对象的能力,最终降低了像素误分类率。
如图3所示,给定特征输入
X
i
n
∈
R
N
c
×
H
c
×
W
c
X_{in} \in R^{N_{c}×H_{c}×W_{c}}
Xin∈RNc×Hc×Wc,首先将其输入到一个
1
×
1
1 × 1
1×1卷积层,以减少其通道维度至
N
c
4
\frac{N_{c}}{4}
4Nc,即输出特征图
X
~
\tilde{X}
X~被表示为
X
~
=
f
1
×
1
(
X
i
n
)
,
X
~
∈
R
N
c
4
×
H
c
×
W
c
.
(1)
\tilde{X} = f_{1 \times 1}(X_{in}), \ \tilde{X} \in R^{\frac{N_{c}}{4} \times H_{c} \times W_{c}}.\tag1
X~=f1×1(Xin), X~∈R4Nc×Hc×Wc.(1)
其中
f
1
×
1
f_{1×1}
f1×1 表示一个核大小为
1
×
1
1 ×1
1×1 的卷积操作。这种尺寸的减少有利于后续层次卷积层中的通道操作。
随后,执行四个并行的卷积操作,包括因子化卷积和深度可分离卷积,核大小分别为3、3、5和7。此外,最后三个卷积层使用膨胀卷积来增强感受野,如图4所示。这一策略使得模型能够捕捉不同尺度下的图像特征,确保了全面和详细的特征提取。上述过程可以表示为
l
1
=
f
1
×
3
(
f
3
×
1
(
X
~
)
)
,
(2)
l_{1} = f_{1 \times 3}(f_{3 \times 1}(\tilde{X})),\tag2
l1=f1×3(f3×1(X~)),(2)
l
i
=
f
1
×
k
i
d
c
(
f
k
i
×
1
d
c
(
X
~
)
)
,
k
i
=
3
,
5
,
7
;
i
=
2
,
3
,
4
,
(3)
l_{i}=f^{d_{c}}_{1 \times k_{i}}(f^{d_{c}}_{k_{i} \times 1}(\tilde{X})), \ {k_{i} = 3,5,7;i=2,3,4},\tag3
li=f1×kidc(fki×1dc(X~)), ki=3,5,7;i=2,3,4,(3)
其中 l i l_{i} li表示中间特征, f 1 × k i f_{1×k_{i}} f1×ki 是一个核大小为 k i k_{i} ki的1-D卷积操作,而 d c d_{c} dc表示膨胀率。为了简化,等式中省略了一些激活和批量归一化操作。
在像素激发模块(PEM)
中,一个关键要素在于通过一种内容感知的空间注意力机制来增强特征的可表示性。如图3所示,这一过程首先将输入
x
∈
R
c
×
h
×
w
x \in R^{c×h×w}
x∈Rc×h×w送入全局平均池化(GAP)层,生成
x
1
∈
R
1
×
h
×
w
x_{1} \in R^{1×h×w}
x1∈R1×h×w。随后,
x
1
x_{1}
x1经过reshape和flatten操作,然后被输入到Softmax函数中,以计算权重矩阵
A
∈
R
1
×
h
×
w
A \in R^{1×h×w}
A∈R1×h×w。这个权重矩阵随后与输入特征相乘,产生一个内容感知注意力增强的输出
x
′
x^{′}
x′。
这一过程可以表示为
x
1
=
R
e
s
h
a
p
e
(
G
A
P
(
x
)
)
,
(4)
x_{1} = Reshape (GAP (x)),\tag4
x1=Reshape(GAP(x)),(4)
A
=
R
e
s
h
a
p
e
−
1
(
S
o
f
t
m
a
x
(
x
1
)
)
,
(5)
A = Reshape^{−1} (Softmax (x_{1})), \tag5
A=Reshape−1(Softmax(x1)),(5)
x
′
=
δ
(
x
⊙
A
+
x
)
.
(6)
x^{′} = \delta (x \odot A + x).\tag6
x′=δ(x⊙A+x).(6)
这里,Reshape 和
R
e
s
h
a
p
e
−
1
Reshape^{−1}
Reshape−1 表示reshape操作及其逆操作,
δ
\delta
δ是一个激活函数,而
⊙
\odot
⊙表示逐元素相乘。
最后,使用残差结构来保留原始特征,得到最终输出
Y
∈
R
N
c
×
H
c
×
W
c
Y \in R^{N_{c}×H_{c}×W_{c}}
Y∈RNc×Hc×Wc。这四个卷积层被联合添加到一个
1
×
1
1 ×1
1×1 卷积中进行特征融合和通道恢复。模块内部保持了残差连接,通道混洗Channel Shuffle操作有效地促进了通道之间的信息交互,表达式为
Y
=
S
h
u
f
f
l
e
(
f
1
×
1
(
δ
(
∑
i
=
1
4
P
E
M
(
l
i
)
)
+
X
i
n
)
)
,
(7)
Y = Shuffle(f_{1\times1}(\delta(\sum^{4}_{i=1}PEM(l_{i})) + X_{in})),\tag7
Y=Shuffle(f1×1(δ(i=1∑4PEM(li))+Xin)),(7)
其中,Shuffle 表示通道混洗操作,而
δ
\delta
δ是一个激活函数。
C. Efficient Transformer
所提方法专注于通过减少特征维度而不显著丢失图像细节来降低计算成本。为了实现这一点,引入了一种空间降维线性投影方法,该方法首先将特征映射到一个低维的潜在嵌入空间,然后将其用于多头自注意力计算。这种方法,称为高效的多头自注意力(eMHSA),包括学习的投影和分割操作,如图5所示。
设输入特征为
X
t
∈
R
C
t
×
H
t
×
W
t
X_{t} \in R^{C_{t}×H_{t}×W_{t}}
Xt∈RCt×Ht×Wt,其中
C
t
C_{t}
Ct,
H
t
H_{t}
Ht和
W
——
t
W——{t}
W——t分别表示通道数、高度和宽度的特征图。在Reshape操作之后,得到一系列平铺的非重叠patch的序列,结果为
X
t
∈
R
N
×
(
C
t
⋅
P
2
)
X_{t} \in R^{N×(C_{t}·P^{2})}
Xt∈RN×(Ct⋅P2),其中
N
=
H
t
W
t
P
2
N = \frac{H_{t}W_{t}}{P^{2}}
N=P2HtWt表示patch的数量(即输入序列长度),每个patch的大小为
P
×
P
P × P
P×P。随后,patch通过一个可学习的线性投影层
E
∈
R
(
P
2
⋅
C
t
)
×
D
E \in R^{(P^{2} \cdot C_{t})×D}
E∈R(P2⋅Ct)×D映射到一个潜在的
D
D
D维嵌入空间,表示为
Z
∈
R
N
×
D
Z \in R^{N×D}
Z∈RN×D。这个过程可以表示为
Z
=
[
x
p
1
E
;
x
p
2
E
;
.
.
.
;
x
p
N
E
]
,
(8)
Z = [x^{1}_{p}E; x^{2}_{p}E; ...;x^{N}_{p} E],\tag8
Z=[xp1E;xp2E;...;xpNE],(8)
其中, x p i x^{i}_{p} xpi表示第 i i i个补丁。请注意,省略位置嵌入是有意为之,以便为不同大小的输入提供更大的适应性。
随后,Transformer中的三个矩阵,即查询
Q
Q
Q、键
K
K
K和值
V
V
V ,是通过它们的线性投影
W
Q
W^{Q}
WQ、
W
K
W^{K}
WK 和
W
V
∈
R
D
×
D
h
W^{V} \in R^{D×D_{h}}
WV∈RD×Dh 得出的。这可以表示为
Q
,
K
,
V
=
Z
W
Q
,
Z
W
K
,
Z
W
V
∈
R
N
×
D
h
(9)
Q,K,V = ZW^{Q},ZW^{K} ,ZW^{V} \in R^{N×D_{h}} \tag9
Q,K,V=ZWQ,ZWK,ZWV∈RN×Dh(9)
此外,多头自注意力中的头数
h
h
h 也是一个定义的参数,确保每个头的维度等于
d
=
D
h
h
d = \frac{D_{h}}{h}
d=hDh 。因此,第
i
i
i 个头中
q
q
q、
k
k
k 和
v
v
v 的维度是
N
×
d
N × d
N×d。在第
i
i
i 个头中,
k
k
k和
v
v
v通过一个缩放因子
r
r
r(缩放比例设置为
2
2
2)进行空间缩减。然后,特征分割操作产生的子token与仅代表原始感知
1
s
\frac{1}{s}
s1 的场进行矩阵乘法运算,其中
s
s
s 表示特征分割的数量,设置为
4
4
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
)
.
(10)
(q_{1},...,q_{s}),(k_{1},...,k_{s}), (v_{1},...,v_{s}) = Feature\_Split(q,k,v).\tag{10}
(q1,...,qs),(k1,...,ks),(v1,...,vs)=Feature_Split(q,k,v).(10)
因此,空间分布变为
q
i
∈
R
N
×
d
s
q_{i} \in R^{N×\frac{d}{s}}
qi∈RN×sd,
k
i
∈
R
N
r
×
d
s
k_{i} \in R^{\frac{N}{r} ×\frac{d}{s}}
ki∈RrN×sd,和
v
i
∈
R
N
r
×
d
s
v_{i} \in R^{\frac{N}{r} × \frac{d}{s}}
vi∈RrN×sd。这个想法与group卷积的概念有相似之处,并且能够有效地减少内存消耗。因此,第
n
n
n个头的自注意力计算如下
o
i
(
q
i
,
k
i
,
v
i
)
=
S
o
f
t
m
a
x
(
q
i
(
k
i
)
T
d
)
v
i
,
i
∈
[
1
,
s
]
,
(11)
o_{i}(q_{i},k_{i},v_{i}) = Softmax(\frac{q_{i}(k_{i})^{T}}{\sqrt{d}})v_{i}, \ i \in [1,s], \tag{11}
oi(qi,ki,vi)=Softmax(dqi(ki)T)vi, i∈[1,s],(11)
h
e
a
d
n
=
C
o
n
c
a
t
[
o
1
,
o
2
,
.
.
.
,
o
s
]
,
n
∈
[
1
,
h
]
(12)
head^{n} = Concat[o_{1}, o_{2}, ..., o_{s}], n\in[1,h]\tag{12}
headn=Concat[o1,o2,...,os],n∈[1,h](12)
其中, C o n c a t [ ⋅ , ⋅ ] Concat[\cdot,\cdot] Concat[⋅,⋅] 表示拼接操作。
因此,eMHSA的最终输出表示为:
e M H S A = C o n c a t [ h e a d 1 , h e a d 2 , . . . , h e a d h ] W O , (13) eMHSA = Concat[head^{1},head^{2},...,head^{h}]W^{O},\tag{13} eMHSA=Concat[head1,head2,...,headh]WO,(13)
其中, h h h表示 eMHSA 中的注意力头的数量,而 W O ∈ R D h × D W^{O} \in R^{D_{h}×D} WO∈RDh×D 作为一个线性投影,用于恢复维度。因此,通过上述结构设计,将复杂度从 O ( N 2 ) O(N^{2}) O(N2) 降低到了 O ( N 2 s r ) O(\frac{N^{2}}{sr}) O(srN2)。
Transformer 系列[16], [17], [23] 也使用了一种自注意力机制,包括多头注意力。然而,所提方法在计算上对于捕捉特征之间的详细关系是密集型的,这与我们的目标相悖。
至于 MLP 层,作者遵循[31], [48] 中描述的方法,用零填充位置编码替换固定大小的位置编码。此外,输入张量中引入了一个深度卷积,填充大小为
1
1
1,以捕捉全连接(FC)层和 MLP 中的GELU 之间的局部连续性。通过消除固定大小的位置嵌入,模型在处理不同分辨率的输入时变得通用。因此,高效 MLP 层的输出,记为“eMLP”,可以写为:
e
M
L
P
=
ρ
(
ξ
G
E
L
U
(
f
D
W
C
o
n
v
(
ρ
(
x
e
)
)
)
)
,
(14)
eMLP = ρ(ξ_{GELU} (f_{DWConv} (ρ(x_{e})))) , \tag{14}
eMLP=ρ(ξGELU(fDWConv(ρ(xe)))),(14)
其中
ρ
ρ
ρ表示FC层的操作,
ξ
G
E
L
U
ξ_{GELU}
ξGELU表示GELU激活函数,
f
D
W
C
o
n
v
f_{DWConv}
fDWConv表示深度卷积,而
x
e
x_{e}
xe是eMLP的输入。
D. Correlation-weighted Fusion
考虑到Transformer和CNN的特性以及计算机制的差异,传统的逐元素相加或拼接操作可能无法达到最优效果。因此,设计一种能够充分利用两者互补优势的方案对于最大化提取特征的表示能力以及在解码过程中恢复信息至关重要。
文中提出了一种有效的策略来弥合这一差距。所提方法通过相关性加权整合,无缝地将Transformer和CNN提取的不同类型的特征结合起来。通过融合与CNN特征高度相关的Transformer特征,开发了一种新的相关性加权融合(cwF)模块。
如图6所示, T T T和 F F F分别表示Transformer和CNN的中间特征。首先,将Transformer特征 T T Treshape以匹配CNN特征 F F F的形状,然后对两组特征进行后拼接操作。为了减少计算成本,使用深度可分离卷积进行通道维度的减少。经过全局平均池化(GAP)和Sigmoid操作后,计算出一个相关系数矩阵,记为 M M M。然后将这个矩阵与原始特征相乘,得到 ̃ F ~ \tilde{F} F~和 T ~ \tilde{T} T~,将它们相加得到最终输出 Z Z Z。
这个过程可以表示为:
G
=
C
o
n
c
a
t
[
R
e
s
h
a
p
e
(
T
∣
F
)
,
F
]
,
(15)
G = Concat[Reshape (T|F) ,F], \ \tag{15}
G=Concat[Reshape(T∣F),F], (15)
其中
G
∈
R
C
g
×
H
g
×
W
g
G \in R^{C_{g}×H_{g}×W_{g}}
G∈RCg×Hg×Wg (
C
g
=
C
f
+
C
t
C_{g} = C_{f} + C_{t}
Cg=Cf+Ct),
C
o
n
c
a
t
Concat
Concat表示拼接操作,而
a
∣
b
a|b
a∣b表示大小为
a
a
a的特征图恢复到大小为
b
b
b。然后,相关系数矩阵
M
M
M可以计算为
M
=
δ
(
f
1
×
1
(
G
A
P
(
f
1
×
1
(
f
3
×
3
(
G
)
)
)
)
)
,
(16)
M = \delta(f_{1×1} (GAP (f_{1×1} (f_{3×3} (G))))), \ \tag{16}
M=δ(f1×1(GAP(f1×1(f3×3(G))))), (16)
其中,
M
∈
R
C
m
×
1
×
1
M \in R^{C_{m}×1×1}
M∈RCm×1×1,
δ
\delta
δ是 Sigmoid 函数,GAP表示全局平均池化操作,而
f
k
1
×
k
2
f_{k_{1}×k_{2}}
fk1×k2 表示核大小为
k
1
×
k
2
k_{1} ×k_{2}
k1×k2 的卷积操作。
因此,得到的
c
w
F
cwF
cwF特征,用
Z
c
w
F
Z_{cwF}
ZcwF 表示,可以表示为
Z
c
w
f
=
ϕ
(
T
~
+
F
~
)
,
T
~
=
T
⊙
M
,
F
~
=
F
⊙
M
,
(17)
Z_{cwf} = \phi (\tilde{T} + \tilde{F}), {\tilde{T} = T \odot M, \tilde{F} = F \odot M},\tag{17}
Zcwf=ϕ(T~+F~),T~=T⊙M,F~=F⊙M,(17)
其中
Z
c
w
F
∈
R
C
z
×
H
z
×
W
z
Z_{cwF} \in R^{C_{z}×H_{z}×W_{z}}
ZcwF∈RCz×Hz×Wz,
ϕ
\phi
ϕ是ReLU激活函数,并且
⊙
\odot
⊙表示逐元素乘法。
四、实验
为了展示HAFormer及其各个模块的质量和数量上的有效性,在基准数据集上进行了比较实验,并与最先进(SOTA)的方法进行了比较。在本节中,首先概述了在实验中使用的数据集、损失函数、硬件平台配置和参数设置。然后,展示了为了验证各个模块的有效性而进行的一系列消融实验。最后,进行了比较实验,以展示所提方法相对于SOTA方法的优越性。
A. Datasets
HAFormer模型旨在应对街道场景中尺度
变化和上下文信息的挑战。Cityscapes [49]和CamVid[50]这两个数据集是街道场景分割研究中广泛使用的两个重要基准。因此,为了展示所提模型的有效性,在这两个数据集上进行了一系列全面的经验评估。
Cityscapes。该数据集包含5,000张高质量图像,这些图像在50个城市的各种城市环境中拍摄,分辨率为 2 , 048 × 1 , 024 2,048 × 1,024 2,048×1,024,主要描绘驾驶场景。数据集分为三个子集:2,975张图像用于训练,500张用于验证,1,525张用于测试。虽然数据集包括34个类别标签,但研究主要关注19个关键的语义类别。使用Cityscapes的内置工具来调整标签以满足研究需求。
CamVid。这是由剑桥大学发布的一个公共城市道路场景数据集。这些分辨率为 960 × 720 960 ×720 960×720的图像是从驾驶视角拍摄的,增加了观察目标的多样性。该数据集包含超过700张标注图像,适合于监督学习。CamVid数据集通常使用11个常见类别来评估分割精度。这些类别全面代表了城市道路场景中的对象,使其成为研究的宝贵资源。
B. Implementation Details
本研究中的HAFormer模型在配备12GB内存的单个RTX 2080 Ti GPU卡上运行,使用CUDA10.1和PyTorch 1.8.1。该架构是从头开始训练的,没有使用任何预训练模型。实验采用随机梯度下降(SGD)优化算法,动量为0.9,权重衰减为
1
e
−
5
1e − 5
1e−5,并采用
Poly学习率策略。
对于Cityscapes数据集,初始学习率为 4.5 e − 2 4.5e −2 4.5e−2,批量大小设置为5以最大化GPU内存使用。对于CamVid数据集,初始学习率为 1 e − 3 1e −3 1e−3,批量大小设置为8。遵循现有做法,应用数据增强技术,包括水平翻转、随机缩放和随机裁剪,以增加训练数据的多样性,对于Cityscapes数据集,随机缩放范围从0.25到2.0,裁剪尺寸为 512 × 1024 512 × 1024 512×1024,总共训练1,000轮次。为了公平比较,没有进行后处理。
最后,遵循现有做法,性能通过所有类别平均的交并比(mIoU)进行定量评估,以及参数数量、FLOPs、GPU使用情况和处理速度。
C. Ablation Studies
本部分进行了一系列的消融实验来验证所提方法中每个模块的有效性。
Ablation Study of the HAPE Module.
HAPE模块提出了四种并行卷积操作,以全面捕捉图像特征的各个层次。然后是PEM,设计用来通过一个内容感知的空间注意力机制增强特征的可表示性。本节将展示HAPE模块中层次方法(记为“HM”)和PEM方法的有效性。
用于比较的基线模型的结构是一种单行类型(如图7所示),它包含了标准的残差模块(RMs)。为了展示HM和PEM带来的性能提升,首先用HM模块替换基线模型中的RM,省略PEM部分,然后包含HM和PEM模块来测试整个HAPE模块的有效性。
表I展示了HM的优越性能,它在mIoU上比RM高出1.47%和1.53%。HM在提取鲁棒特征方面表现出色,有效地促进了深层语义信息的提取。此外,多尺度结构显著增强了模型在特征提取和小对象识别方面的性能。引入PEM 进一步提高了两个数据集上的分割精度,提高了2.13%和2.74%。
在整个实验过程中,在HM和HAPE中设置的膨胀卷积率都设置为1,以确保公平比较。图8也验证了当HAPE模块与Transformer模块集成时的有效性。
Ablation Study of the Dilation Rates.
本节将探讨所选膨胀率对分割性能的影响。在模块数量保持一致的情况下,更大的膨胀率扩展感受野,允许模型感知更广泛的范围。
表II显示,将膨胀卷积率从所有1s转换为所有2s(前两行),mIoU提高了约0.5%。进一步,通过逐步增加阶段2和3中的膨胀卷积率,在两个数据集上观察到性能提升1.21%和1.73%。因此,为了保留空间细节,在所提方法在阶段1和4分配了三个模块,而在阶段2和3使用了六个模块来捕捉网络深度内的精细语义信息。这种策略优化了Transformer的编码器计算,改进了长距离依赖建模
Ablation Study of the Efficient Transformer.
在 HAFormer 中的另一个关键贡献是高效 Transformer (ET)模块,该模块在计算自注意力之前通过将其投影到最优的潜在嵌入空间中来减少特征的维度。表III展示了ET模块在Cityscapes和CamVid数据集上的分割准确性和计算复杂性方面相对于传统Transformer(标记为“TT”)的性能提升。
ET设计在效率和准确性之间展现了出色的平衡。与传统Transformer“TT”相比,ET实
现了参数数量减少18%和计算负载减少17%,仅轻微的mIoU损失0.4%。这导致了一个效率更高的模型,对性能的影响极小,并且它甚至提供了更快的推理速度。此外,表 IV中的结果也揭示了通过Transformer学习到的特征的显著增强,mIoU有了显著的2.16%提升。这强调了Transformer捕捉长距离依赖关系的非凡能力,这是CNN单独无法实现的。
此外,在提出的HAFormer中,ET层的数量L被限制为2,考虑到计算硬件的限制,并旨在在约束下实现最佳平衡。尽管堆叠更多的ET层可能带来更好的准确性结果,如图8所示,当L大于2时,性能提升会急剧放缓。此外,在像Cityscapes这样高分辨率的数据集上添加过多的ET层可能会对参数、计算和推理速度产生负面影响,并可能导致过拟合。
Ablation Study of the Correlation-weighted Fusion.
为了解决CNN和Transformer之间的特征不匹配问题,并在解码过程中确保有效的特征恢复,引入了cwF机制。表 IV比较了使用所提cwF方法以及两种其他融合技术,即元素加法和串联,所获得的结果。表中显示了使用所有三种融合方法集成CNN和Transformer特征的增强分割准确性。值得注意的是,cwF在仅有一个ET层的情况下比基线提高了2.38%,在堆叠两层的情况下提高了4.06%。
此外,从表 IV中观察到(a)与简单的元素加法融合方案相比,cwF在两种情况下分别实现了1.27%和1.90%的性能提升,仅在参数数量和FLOPs上有轻微的增加;(b)cwF在计算密集型的串联操作上分别实现了mIoU的0.84%和1.01%的提升,同时实现了大约5%的参数数量减少和15%的计算负载下降。这些实验结果进一步证明了cwF的有效性。
D. Comparisons with SOTA Methods
本节全面评估和比较了所提方法与一些最先进的方法的性能和效率,以展示我所提
方法的优势。评估集中在三个方面:分割精度、模型参数和浮点运算(FLOPs)。
Evaluation Results on Cityscapes.
表格V 展示了在 Cityscapes测试集上与先进语义分割方法的数量比较。表VI 详细列出了每类的结果,而图9-B显示了可视化结果。为了确保公平性,测试期间未使用增强技术,并且其他网络的数据参考了相关来源。当代语义分割模型主要分为两类:一类侧重于更大的规模和更高的精度,另一类则优先考虑实时实用性,在准确性和效率之间取得平衡。
虽然大型模型实现了高精度,但它们FLOPs 和速度落后于轻量级模型,这使得它们不适合在资源有限的设备上进行实时处理。相比之下,轻量级模型如ENet [10]、ESPNet [12]、CGNet [53] 和 FPENet [59] 计算效率高。尽管它们的参数数量减少,但它们的整体性能,特别是在准确性方面,却有所欠缺。在准确性方面,EFRNet-16 [66] 显示了与我们结果的相似性。然而,值得注意的是,它的参数数量和 GFlops 是所提方法的两倍。显然,所提模型需要的参数和计算量更少,这突显了所提方法的有效性。
Evaluation Results on CamVid.
为了进一步验证我们模型有效性和泛化能力,我们在CamVid数据集上与其他轻量级方法进行了比较,如表VII所示。虽然MGSeg [64]在准确性方面表现出色,超过了所提方法1.6个百分点,但它在参数数量上比所提方法多了22倍,这表明了一个不利的权衡。另一方面,SGCPNet [51]表现出了显著的速度,但缺乏准确性。相比之下,HAFormer在这些方面取得了更好的平衡。在CamVid数据集上的整体性能较低,与Cityscapes相比,这是由于其尺寸较小和分辨率较低,这突显了所提方法强大的泛化能力。图10中的可视化结果进一步展示了HAFormer的优势。
Speed Comparison.
为了确保公平比较,所有方法都在相同的平台上执行,因为计算负载直接影响推理速度,这可能会根据设备的不同而有所不同。在控制评估中,使用单个 NVIDIA RTX 2080Ti GPU 来测量模型的执行时间。表VIII 详细比较了我们HAFormer与其他轻量级方法的速率和运行时间。实验涉及空间分辨率为
512
×
1024
512 ×1024
512×1024 的评估,与具有官方代码的方法保持一致,以确保公平性。表VIII 展示了HAFormer的惊人速度,在处理大小为 512 ×1024 的图像流时,达到了105 fps的帧率,使其成为最快的几种方法之一。虽然DABNet在139 fps下运行,但HAFormer的74.2%的竞争准确性对于自动驾驶等现实世界应用来说意义重大。HAFormer在速度(105 fps)和准确性之间取得了良好的平衡,成为
五、总结
文中引入了HAFormer,这是一种新的轻量级语义分割方法。设计了层次感知像素激励模块(HAPE)来提取增强的层次局部特征。此外,一个高效的Transformer模块在有限的计算负载下有效地捕捉了广泛的全球特征。然后,融入了一个相关性加权的融合(cwF)机制,将高度相关的CNN和Transformer特征结合起来,以进行改进的表征学习。通过在基准数据集上进行广泛的实验,所提方法已经显示出有效性和泛化能力,HAFormer实现分割准确性和计算效率之间的平衡。