基于Transformer的图像语义分割算法:Mask2Former
字数 1784 2025-11-18 00:33:26
基于Transformer的图像语义分割算法:Mask2Former
题目描述
Mask2Former是一种基于Transformer的通用图像分割架构,能够统一处理语义分割、实例分割和全景分割任务。该算法通过引入掩码注意力机制,将分割问题重新定义为掩码分类问题,显著提升了分割性能并简化了多任务处理流程。
解题过程讲解
第一步:理解传统分割方法的局限性
传统方法通常为不同分割任务设计独立架构:
- 语义分割:使用全卷积网络预测逐像素类别
- 实例分割:在目标检测基础上添加掩码预测头
- 全景分割:需要结合前两者的结果进行后处理
这种分离设计导致:
- 模型复杂度高,需要维护多个专用网络
- 不同任务间难以共享特征表示
- 后处理流程复杂,计算开销大
第二步:核心创新——掩码分类范式
Mask2Former将各类分割任务统一为"掩码分类"问题:
- 定义N个可学习的查询向量(queries),每个查询负责预测一个掩码及其类别
- 对于语义分割:N等于类别数,每个查询对应一个语义类别
- 对于实例分割:N大于典型实例数量,每个查询对应一个实例
- 模型输出:N个(掩码,类别)对
第三步:掩码注意力机制详解
这是Mask2Former的核心组件,工作流程如下:
-
特征提取
- 输入图像通过骨干网络(如ResNet、Swin Transformer)提取多尺度特征图
- 典型尺度:原始图像的1/32、1/16、1/8、1/4分辨率
-
像素解码器构建高分辨率特征
- 使用类似FPN的结构融合多尺度特征
- 输出统一的高分辨率特征图P(通常为输入图像的1/4大小)
- 公式:P = FPN(C₃, C₄, C₅),其中Cᵢ为不同层级的特征
-
Transformer解码器处理查询向量
- 初始化N个可学习的查询向量Q ∈ ℝ^(N×C)
- 通过掩码注意力机制迭代更新查询向量:
a. 自注意力:查询向量间相互交互,避免预测重叠
b. 交叉注意力:查询向量与图像特征交互,重点关注相关区域
第四步:掩码注意力的数学原理
与传统注意力不同,掩码注意力计算如下:
给定查询向量q ∈ ℝ^C和高分辨率特征P ∈ ℝ^(H×W×C):
-
生成注意力掩码
- 通过线性变换:A = softmax(q · P^T) ∈ ℝ^(HW)
- 重塑为二维:A ∈ ℝ^(H×W)
-
加权特征聚合
- 使用注意力掩码对特征加权:f = Σᵢ Aᵢ · Pᵢ
- 其中i遍历所有空间位置(H×W)
-
更新查询向量
- 将聚合特征f通过前馈网络更新查询:q' = FFN(concat[q, f])
这种机制让每个查询只关注与其相关的图像区域,大大提升了计算效率。
第五步:掩码预测与分类
经过L层Transformer解码器后:
-
掩码预测
- 最终查询向量Q_final通过线性层生成掩码嵌入E ∈ ℝ^(N×C)
- 与像素解码器输出P进行矩阵乘法:M = E · P^T ∈ ℝ^(N×H×W)
- 对M应用sigmoid得到二值掩码预测
-
类别预测
- 同时,查询向量通过分类头预测每个掩码的类别分数
- 使用常规的交叉熵损失进行监督
第六步:优化策略与损失函数
Mask2Former采用精心设计的训练策略:
-
二分图匹配
- 将预测的N个(掩码,类别)与真实标注进行最优匹配
- 使用匈牙利算法最小化匹配代价:
cost = λ_cls·L_cls + λ_dice·L_dice + λ_focal·L_focal
-
多任务损失
- 分类损失:交叉熵损失
- 掩码损失:Dice损失 + Focal损失的组合
- Dice损失擅长处理前景背景不平衡,Focal损失关注难例
第七步:推理流程
- 前向传播得到N个(掩码,类别)对
- 对每个掩码应用sigmoid和阈值(如0.5)得到二值掩码
- 根据类别置信度过滤低质量预测
- 对于语义分割:合并同类别掩码
- 对于实例分割:直接输出各个实例掩码
- 对于全景分割:结合语义和实例信息,按置信度排序
算法优势总结
- 统一架构:单一模型处理多种分割任务
- 高效计算:掩码注意力复杂度O(NHW)远低于原始Transformer的O(H²W²)
- 优异性能:在多个标准数据集上达到state-of-the-art
- 强泛化性:相同的超参数在不同任务和数据集上都能取得良好效果
这种将分割问题统一为掩码分类的思路,为后续的通用分割研究提供了重要方向。