基于Transformer的图像语义分割算法:SETR(使用Transformer的语义分割)
字数 1470 2025-11-24 08:25:53

基于Transformer的图像语义分割算法:SETR(使用Transformer的语义分割)

题目描述
SETR(Segmentation Transformer)是首个完全摒弃卷积结构、仅用Transformer架构解决图像语义分割任务的开创性算法。传统分割网络依赖CNN提取局部特征,但感受野有限,难以建模长距离依赖。SETR将输入图像切分为固定大小的图像块(patches),通过Transformer编码器获取全局上下文信息,最后通过解码器重建分割结果。核心挑战在于如何将二维图像适配Transformer序列处理范式,并设计有效的解码策略。

解题过程

1. 图像序列化处理

  • 步骤:将输入图像(H×W×3)划分为N个大小为16×16的图像块(N=H×W/256),每个图像块展平为256×3=768维向量。
  • 原理:Transformer原生处理一维序列,需将空间结构转换为序列数据。通过线性投影将每个图像块映射为D维嵌入向量(D=1024),并添加可学习的位置编码(Position Encoding)保留空间信息。
  • 关键点:位置编码采用可学习参数,而非正弦函数,因图像块空间关系需灵活学习。

2. Transformer编码器设计

  • 结构:由L层(如L=24)标准Transformer编码器堆叠,每层包含多头自注意力(MSA)和前馈网络(FFN)。
  • 自注意力机制:计算每个图像块与所有图像块的关联权重,公式为:
    \(\text{Attention}(Q,K,V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V\)
    其中Q、K、V由图像块嵌入线性变换得到,\(\sqrt{d_k}\)为缩放因子。
  • 作用:通过多层自注意力,模型逐步聚合全局上下文,例如远端物体形状信息可直接影响当前区域分类。

3. 解码器设计
SETR提供三种解码器方案:

  • 朴素上采样(Naive upsampling)
    直接对编码器输出序列重塑为2D特征图(H/16×W/16×D),通过2层卷积+双线性插值上采样至原图分辨率。
  • 渐进上采样(Progressive upsampling, PUP)
    通过多阶段卷积层逐步上采样(如4×→2×→2×),减少棋盘伪影,公式为:
    \(F_{out} = \text{Conv}_{3×3}(\text{Upsample}(F_{in}))\)
  • 特征金字塔(Feature Pyramid Fusion, FPF)
    融合不同Transformer层的多尺度特征,增强细节恢复能力。

4. 损失函数与训练

  • 损失函数:采用交叉熵损失,对每个像素计算预测类别与真实标签的误差:
    \(\mathcal{L} = -\sum_{i=1}^{H×W} \sum_{c=1}^{C} y_{i,c} \log(\hat{y}_{i,c})\)
    其中C为类别数,\(y_{i,c}\)为one-hot标签,\(\hat{y}_{i,c}\)为预测概率。
  • 训练技巧:使用预训练ViT权重初始化编码器,解码器随机初始化,采用多项式学习率调度。

5. 创新与局限

  • 创新
    • 证明纯Transformer在分割任务中的可行性,突破CNN局部性限制。
    • 全局上下文建模提升复杂场景分割精度(如Cityscapes数据集mIoU达81.1%)。
  • 局限
    • 计算复杂度随图像尺寸平方增长,需大量显存。
    • 缺乏CNN的平移不变性,需更多数据训练。
基于Transformer的图像语义分割算法:SETR(使用Transformer的语义分割) 题目描述 SETR(Segmentation Transformer)是首个完全摒弃卷积结构、仅用Transformer架构解决图像语义分割任务的开创性算法。传统分割网络依赖CNN提取局部特征,但感受野有限,难以建模长距离依赖。SETR将输入图像切分为固定大小的图像块(patches),通过Transformer编码器获取全局上下文信息,最后通过解码器重建分割结果。核心挑战在于如何将二维图像适配Transformer序列处理范式,并设计有效的解码策略。 解题过程 1. 图像序列化处理 步骤 :将输入图像(H×W×3)划分为N个大小为16×16的图像块(N=H×W/256),每个图像块展平为256×3=768维向量。 原理 :Transformer原生处理一维序列,需将空间结构转换为序列数据。通过线性投影将每个图像块映射为D维嵌入向量(D=1024),并添加可学习的位置编码(Position Encoding)保留空间信息。 关键点 :位置编码采用可学习参数,而非正弦函数,因图像块空间关系需灵活学习。 2. Transformer编码器设计 结构 :由L层(如L=24)标准Transformer编码器堆叠,每层包含多头自注意力(MSA)和前馈网络(FFN)。 自注意力机制 :计算每个图像块与所有图像块的关联权重,公式为: \(\text{Attention}(Q,K,V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_ k}}\right)V\) 其中Q、K、V由图像块嵌入线性变换得到,\(\sqrt{d_ k}\)为缩放因子。 作用 :通过多层自注意力,模型逐步聚合全局上下文,例如远端物体形状信息可直接影响当前区域分类。 3. 解码器设计 SETR提供三种解码器方案: 朴素上采样(Naive upsampling) : 直接对编码器输出序列重塑为2D特征图(H/16×W/16×D),通过2层卷积+双线性插值上采样至原图分辨率。 渐进上采样(Progressive upsampling, PUP) : 通过多阶段卷积层逐步上采样(如4×→2×→2×),减少棋盘伪影,公式为: \(F_ {out} = \text{Conv} {3×3}(\text{Upsample}(F {in}))\) 特征金字塔(Feature Pyramid Fusion, FPF) : 融合不同Transformer层的多尺度特征,增强细节恢复能力。 4. 损失函数与训练 损失函数 :采用交叉熵损失,对每个像素计算预测类别与真实标签的误差: \(\mathcal{L} = -\sum_ {i=1}^{H×W} \sum_ {c=1}^{C} y_ {i,c} \log(\hat{y} {i,c})\) 其中C为类别数,\(y {i,c}\)为one-hot标签,\(\hat{y}_ {i,c}\)为预测概率。 训练技巧 :使用预训练ViT权重初始化编码器,解码器随机初始化,采用多项式学习率调度。 5. 创新与局限 创新 : 证明纯Transformer在分割任务中的可行性,突破CNN局部性限制。 全局上下文建模提升复杂场景分割精度(如Cityscapes数据集mIoU达81.1%)。 局限 : 计算复杂度随图像尺寸平方增长,需大量显存。 缺乏CNN的平移不变性,需更多数据训练。