几篇论文带你读懂语义分割—segformer(1)

2,656 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第25天,点击查看活动详情

Segformer 提出一个简单、轻巧且有效的语义分割框架,Segformer 将轻量级多层 MLP 解码器和 Transformer 统一到一起。

SegFormer 包括一个新颖的分层结构的 Transformer 的编码器,输出多尺度的特征,不需要位置编码,从而避免了位置编码的插值问题所带来性能下降的问题,这种插值在测试分辨率与训练不同时导致性能下降。

在 segformer 中提供一系列模型,从 SegFormer B0到 segFormer B5 例如其中 B4 mIoU 可以在 ADE20K 达到 50.3% 具有参数量为 64M 最后方法还提升了 2.2% 并且只有同等 1/5

segformer.png

结构化 Transformer 编码器

我们设计了一系列混合式 Transformer 编码器(MiT),MiT-B0 到 MiT-B5,模型结构相同但尺寸不同。MiT-B0 是的轻量级建议,用于快速推理,而 MiT-B5 是最大的模型,以达到最佳性能。 MiT 设计受到 ViT 的启发,所以 MiT 是为语义分割量身定做。

结构化特征表示,与 ViT 仅支持单一分辨率特征图不同,MiT 模块目标在于对给定输入图像产生类似 CNN 的多层次,多尺度的特征。提出多尺度特征既包括高分辨率的粗精度特征也包括低分辨率精细的特征,不同尺度特征提升语义分割的性能。

更进一步来说,对于给定输入图像,如果分辨率为 H×W×3H \times W \times 3 ,通过逐渐将 patch 进行融合来获取结构化特征图 FiF_i 分辨率为 H2i+1×W2i+1×Cii1,2,3,4\frac{H}{2^{i+1}} \times \frac{W}{2^{i+1}} \times C_i \, i \in {1,2,3,4}。其中需要注意 Ci+1C_{i+1}CiC_i 大。

segformer_001.png

有效自注意力

编码器计算瓶颈发生在自注意力层。对于原始多头自注意力处理,每一个头包括 Q、K 和 V 具有相同尺寸 N x C 其中 N = H x W

Attention(Q,K,V)=Softmax(QKTdhead)VAttention(Q,K,V) = Softmax(\frac{QK^T}{\sqrt{d_{head}}})V

其中大图像分辨率,取而代之,我们使用序列来极少

K^=Reshape(NR,CR)(K)\hat{K} = Reshape(\frac{N}{R},C \cdot R)(K)
K=Linear(CR,C)(K^)K = Linear(C \cdot R,C)(\hat{K})