Rethinking Semantic Segmentation from a Sequence-to-Sequence Perspective with Transformers
SETR用纯Transformer做分割,ADE20K达50.28%mIoU。
核心发现
方法论
作者把语义分割重写为序列到序列任务:先将图像切成16×16 patch,线性映射为token序列,再送入纯Transformer编码器。编码器不做卷积下采样,而是用多头自注意力在每一层建模全局上下文;随后用简单解码器把序列恢复到像素级预测。论文给出三种解码器:Naive、PUP和MLA,用于验证编码器表征能力。
关键结果
- 在ADE20K上,SETR-MLA于160k训练+多尺度测试达到50.28%mIoU,SETR-PUP为50.09%,明显高于FCN(41.40%)和Deeplab V3+(46.40%)等强基线。
- 在Pascal Context上,SETR-MLA多尺度达到55.83%mIoU,超过APCNet(54.70%)、Strip Pooling(54.50%)等方法;SETR-PUP为55.27%。
- 在Cityscapes上,SETR-PUP-DeiT-Base达到79.45%mIoU,优于FCN(76.61%)、PSPNet(78.50%)和DeepLab-v3(79.30%),说明纯Transformer在高分辨率城市场景也具竞争力。
研究意义
这项工作的重要性在于,它首次系统地把语义分割从“卷积编码器+上采样解码器”的FCN范式,改写为真正的序列建模问题。传统方法依赖逐步扩大感受野来捕获上下文,而SETR让每一层都拥有全局感受野,避免了低层特征因下采样过早丢失空间信息。对于研究界,它证明Transformer不只适合分类,也能成为像素级理解的主干;对于工业界,它提供了一个更统一、可扩展的视觉编码框架。
技术贡献
技术贡献主要有三点:第一,提出纯Transformer编码器SETR,输入为patch序列而非卷积特征图,核心计算由Q=ZW_Q、K=ZW_K、V=ZW_V与scaled dot-product attention完成。第二,提出三种解码器,分别对应一次性恢复、渐进式2×上采样,以及类似FPN的多层特征聚合,系统分析编码器表征质量。第三,在ViT/DeiT预训练、T-Base/T-Large配置与Cityscapes/ADE20K/PASCAL Context上验证了可迁移性与SOTA性能。
新颖性
新颖性在于它不是在FCN上“加注意力”,而是直接取消卷积式下采样,保持全程统一分辨率的序列表示。这与Non-Local、DANet、CCNet、Axial-Attention等方法不同:后者仍依附于卷积骨干或渐进降采样结构。SETR把Transformer作为唯一编码器,并用简单解码器证明全局上下文本身就足以支撑强分割性能。
局限性
- 计算与显存开销较大:即便采用16×16 patch,T-Large仍有305.67M参数,训练依赖较强GPU资源;全局自注意力的二次复杂度限制了更高分辨率输入的直接扩展。
- 论文主要依赖大规模预训练(ViT/DeiT的1K或21K权重),随机初始化时性能明显下降,例如Cityscapes上SETR-PUP-R仅42.27%mIoU,说明预训练对收敛和泛化非常关键。
未来方向
未来可从更高效的注意力机制、层次化序列表示和更轻量的解码器三方面推进;同时可探索弱监督、视频分割与高分辨率遥感分割等任务,以检验“纯Transformer分割”在复杂场景中的可扩展性。
AI 总览摘要
这篇工作挑战了语义分割领域长期默认的FCN范式。传统方法通常先通过卷积和下采样提取特征,再用解码器恢复空间细节;其优势是局部归纳偏置强,但缺点也很明显:感受野增长慢,长程依赖难建模,尤其在ADE20K这类复杂场景理解任务中容易受限。作者因此提出一个根本不同的视角:把语义分割看成序列到序列预测,而不是“特征图到标签图”的卷积流水线。
SETR(SEgmentation TRansformer)的核心做法是把图像切成固定大小的16×16 patch,将每个patch线性投影为token,并加入位置编码后送入纯Transformer编码器。编码器不做卷积、不做分辨率递减,而是在每一层通过多头自注意力(MSA)实现全局上下文交互:Q=ZW_Q,K=ZW_K,V=ZW_V,再经softmax(QK^T/√d)V聚合信息。作者进一步设计了三种解码器:Naive一次性上采样,PUP逐步2×上采样,MLA从多个Transformer层抽取特征做多层聚合,以验证不同恢复方式对分割性能的影响。
实验表明,这一范式转变是有效的。采用21K预训练的SETR-MLA在ADE20K验证集上达到50.28%mIoU,在Pascal Context上达到55.83%mIoU;在Cityscapes上,SETR-PUP-DeiT-Base达到79.45%mIoU。更重要的是,随机初始化会显著掉点,而ViT/DeiT预训练能大幅提升稳定性,说明Transformer表征学习能力强,但对预训练质量也更敏感。总体而言,这篇论文不仅给出一个新的SOTA模型,更重要的是重写了分割问题的“建模语法”。
深度分析
研究背景
语义分割从FCN时代开始,主流做法一直是编码器—解码器结构:编码器逐步压缩空间分辨率,换取更大感受野与更抽象语义,解码器再把粗粒度预测还原到像素级。DeepLab的空洞卷积、PSPNet的PPM、DeepLabV2/V3的ASPP、PSANet/DANet/CCNet等注意力方法,都试图弥补上下文建模不足,但多数仍建立在ResNet/VGG等卷积骨干上。与此同时,ViT与DeiT证明Transformer可用于图像分类,提示“图像特征必须由局部卷积逐步长成全局语义”并非唯一道路。
核心问题
核心问题是:如何在像素级任务中同时保留空间位置与建模全局关系?卷积网络依赖局部性,感受野增长慢;而普通注意力虽然擅长全局交互,却常被限制在高层小分辨率特征图上,无法在低层就充分学习长程依赖。对于ADE20K这类150类细粒度场景,或Cityscapes这类高分辨率街景,局部纹理与全局布局都重要,因此需要一种既保留位置、又天然全局的编码方式。
核心创新
第一,作者把输入从2D图像直接转成1D patch序列,避免卷积下采样带来的早期信息损失;第二,提出纯Transformer编码器作为唯一特征提取器,使每层都拥有全局感受野;第三,设计Naive/PUP/MLA三种解码器,分别测试一次性恢复、渐进恢复与多层融合的有效性;第四,结合ViT或DeiT预训练,并通过位置嵌入插值适配不同输入尺寸,证明该框架具备可迁移性。
方法详解
- �� 图像序列化:将输入x∈R^{H×W×3}切成16×16 patch,展平成向量后经线性投影得到token embedding,序列长度为HW/256。
- �� 位置建模:为每个patch位置学习一个位置嵌入p_i,并与patch embedding e_i相加,形成E={e_i+p_i},从而保留空间顺序信息。
- �� Transformer编码:使用Le层标准Transformer,每层含LayerNorm、MSA与MLP。单头注意力按SA(Z)=Z+softmax(ZW_Q(ZW_K)^T/√d)(ZW_V)计算,多头则将多个SA输出拼接后再线性映射。
- �� 输出恢复:将编码器输出Z reshape为H/16×W/16×C特征图,再交给解码器。
- �� Naive解码器:2层1×1 conv后直接双线性上采样到原图大小,最简单但可能较粗糙。
- �� PUP解码器:交替进行卷积与2×上采样,共4次恢复到原分辨率,更平滑。
- �� MLA解码器:从Z_6、Z_12、Z_18、Z_24抽取多层特征,各分支经1×1/3×3/3×3卷积与4×上采样后,做自顶向下融合并拼接,类FPN但不依赖金字塔分辨率。
实验设计
作者在三大基准上评估:Cityscapes(5000张精标,19类)、ADE20K(20210/2000/3352训练/验证/测试,150类)、PASCAL Context(59类+背景,共60类)。训练使用mmsegmentation默认增强:随机缩放0.5~2、随机裁剪、水平翻转;优化器为SGD,poly学习率,Cityscapes用batch 8,其余batch 16。主比较对象包括FCN、Semantic FPN、DeepLab V3+、CCNet、DANet、OCRNet、UperNet、APCNet等。设置单尺度与多尺度测试,并报告T-Base与T-Large、ViT/DeiT预训练和随机初始化的差异。
结果分析
结果显示,SETR在多个数据集上超过或逼近当时最强方法。ADE20K上,SETR-MLA多尺度50.28%mIoU,相比FCN(41.40%)提升8.88点;PASCAL Context上55.83%,优于APCNet 54.70%;Cityscapes上SETR-PUP-DeiT-Base达到79.45%,高于FCN 76.61%与PSPNet 78.50%。同时,Hybrid(ResNet-50+SETR)说明纯Transformer并非唯一实现,但纯SETR在精度上更强。消融上,PUP通常优于Naive,MLA在ADE20K/PASCAL Context上更占优,表明多层特征融合对复杂场景更有效。
应用场景
该方法适合需要强全局理解的视觉场景,如自动驾驶街景解析、遥感地物分割、医学影像器官分割和室内场景理解。对工程部署而言,SETR更像一个统一的视觉序列建模骨架:只需替换输入token化和解码头,就能迁移到不同分割任务。它特别适合预训练资源充足、对精度要求高的场景。
局限与展望
SETR的主要代价是算力与数据依赖。全局自注意力对token数敏感,patch切得更细时开销迅速增加;T-Large参数量高达305.67M。其次,模型对大规模预训练依赖明显,随机初始化结果大幅下降,例如Cityscapes上的SETR-PUP-R只有42.27%。因此,如何在保持全局建模能力的同时降低复杂度,是后续必须解决的问题。
通俗解读 非专业人士也能看懂
你可以把这篇论文想成“把看图做题改成做拼图”。以前的方法像是先把一张大海报不断缩小、缩小,再凭着模糊的小图去猜每个位置是什么;这样虽然省力,但很容易把细节弄丢。SETR的做法更像把海报切成很多大小一致的小块,每块都保留原来的信息,然后让一个非常聪明的“总指挥”在看每一块时,都能同时看到所有其他小块。这样它就不需要一步步把图像越压越小,也能知道“左边这个人”和“右边那辆车”是什么关系。最后再把这些小块的判断重新拼回整张图,得到每个像素的类别。论文的意思就是:做分割不一定非得靠卷积一路缩小、一路放大;只要拼图方式和总指挥足够强,直接按“序列”来理解图片,也能做得很好,甚至更好。
简单解释 像给14岁少年讲一样
想象你在玩一个超大的拼图游戏。以前的分割方法有点像:先把整张图越缩越小,缩到最后只剩个迷你版本,再从这个小图里猜哪里是路、哪里是车、哪里是人。问题是,图缩得太狠,很多细节就像被橡皮擦掉了!
SETR就不这么干。它先把图片切成一块块小方块,像把拼图零件摆整齐。然后它请来一个“超级班长”——Transformer。这个班长很厉害,每看一块拼图时,都会同时观察所有别的拼图,知道谁和谁是一家、谁在路边、谁在天空里。这样它就不会只盯着眼前一点点小范围。
接着,系统再把这些信息拼回去,画出完整的分割图。论文里还试了三种“拼回去”的办法:有的像一次性把积木全倒出来,有的像一层一层慢慢搭,有的会把不同阶段的判断一起综合。结果很强:在ADE20K上拿到50.28%mIoU,在Pascal Context上到55.83%,在Cityscapes上也有79.45%。
所以你可以把这项工作理解成:不是先把图片看糊再猜,而是从一开始就让模型看“整张图的关系网”。这就是它厉害的地方!
术语表
Transformer(Transformer)
一种主要依靠自注意力进行信息交互的模型。通俗地说,它不是只看附近,而是能让每个位置直接和所有位置“对话”。在技术上,它通过Q/K/V投影和scaled dot-product attention实现全局建模。
作为SETR的唯一编码器,用来替代卷积式特征提取网络。
Patch Embedding(块嵌入)
把图像切成固定大小小块,再把每块展平并映射到向量空间的方法。这样图像就能像句子一样被Transformer处理。
SETR将输入图像转成长度为HW/256的token序列。
Multi-Head Self-Attention(多头自注意力)
把注意力分成多个“头”并行计算,让模型同时关注不同关系。每个头捕捉不同类型的上下文,再把结果拼接。
Transformer编码器每层的核心运算模块。
mIoU(平均交并比)
语义分割最常用指标,衡量预测区域与真实区域的重叠程度。数值越高,说明分割越准确。
论文在Cityscapes、ADE20K和PASCAL Context上都用它作主指标。
Decoder(解码器)
把高层特征还原为像素级分类图的模块。它负责把抽象表示变回原始分辨率的预测。
SETR中比较了Naive、PUP和MLA三种解码器。
开放问题 这项研究留下的未解疑问
- 1 作者证明了纯Transformer在分割上可行,但没有回答“最优的token粒度是多少”以及“何时该采用层次化表示”。如何在更高分辨率下保持全局建模而不过度消耗显存,仍是开放问题。
- 2 论文高度依赖大规模预训练权重;对于标注稀缺或领域差异很大的场景,SETR是否仍能稳定保持优势,需要更多弱监督、跨域和小样本实验来验证。
应用场景
近期应用
自动驾驶路面理解
可用于车道、车辆、行人、建筑等像素级识别,尤其适合复杂城市场景。前提是具备较强算力和较好的预训练模型,输出可直接服务于路径规划与安全检测。
高精度场景解析
适合遥感、室内导航和医学影像等需要全局上下文的任务。工程上可直接替换现有FCN骨干,结合现成数据管线做迁移。
远期愿景
统一视觉序列建模框架
长期来看,分割、检测、深度估计等任务可能共享类似的序列化输入和Transformer骨架。若进一步降低计算成本,可能推动视觉模型从“卷积主导”转向“统一token建模”。
原文摘要
Most recent semantic segmentation methods adopt a fully-convolutional network (FCN) with an encoder-decoder architecture. The encoder progressively reduces the spatial resolution and learns more abstract/semantic visual concepts with larger receptive fields. Since context modeling is critical for segmentation, the latest efforts have been focused on increasing the receptive field, through either dilated/atrous convolutions or inserting attention modules. However, the encoder-decoder based FCN architecture remains unchanged. In this paper, we aim to provide an alternative perspective by treating semantic segmentation as a sequence-to-sequence prediction task. Specifically, we deploy a pure transformer (ie, without convolution and resolution reduction) to encode an image as a sequence of patches. With the global context modeled in every layer of the transformer, this encoder can be combined with a simple decoder to provide a powerful segmentation model, termed SEgmentation TRansformer (SETR). Extensive experiments show that SETR achieves new state of the art on ADE20K (50.28% mIoU), Pascal Context (55.83% mIoU) and competitive results on Cityscapes. Particularly, we achieve the first position in the highly competitive ADE20K test server leaderboard on the day of submission.