基于Transformer的图像语义分割算法:MaskFormer
字数 1073 2025-11-24 01:09:05
基于Transformer的图像语义分割算法:MaskFormer
题目描述:
MaskFormer是一种基于Transformer架构的图像语义分割算法,它将语义分割任务重新定义为掩码分类问题。与传统的逐像素分类方法不同,MaskFormer通过预测一组二进制掩码和对应的类别标签来实现分割,统一了语义分割和实例分割的框架。
解题过程:
- 问题重新定义
传统语义分割将每个像素分类到特定类别,而MaskFormer将其转化为掩码预测问题:
- 输入:H×W×3的RGB图像
- 输出:N个(掩码, 类别)对,其中掩码是H×W的二进制矩阵
- 网络架构设计
MaskFormer包含三个核心组件:
a) 像素级模块( backbone + pixel decoder)
- 使用CNN骨干网络(如ResNet)提取多尺度特征
- 像素解码器(通常是类似FPN的结构)融合多尺度特征,生成高分辨率像素嵌入
- 输出:H×W×D的像素嵌入矩阵,D是特征维度
c) Transformer模块
- 包含编码器-解码器结构
- 编码器处理图像特征,提取全局上下文信息
- 解码器使用N个可学习的位置编码(对象查询),生成N个对象嵌入
- 掩码预测流程
a) 掩码生成:
- 将Transformer解码器输出的N个对象嵌入与像素嵌入进行矩阵相乘
- 通过sigmoid激活函数生成N个H×W的二进制掩码
- 公式:mask_i = σ(object_embed_i × pixel_embed^T)
b) 类别预测:
- 对每个对象嵌入应用线性分类器
- 输出每个掩码对应的类别概率分布
- 使用softmax计算类别概率
- 训练策略
a) 二分图匹配:
- 使用匈牙利算法将预测的N个(掩码, 类别)对与真实标注进行匹配
- 匹配成本函数结合类别预测准确度和掩码IoU
b) 损失函数:
- 包含两个部分:分类损失和掩码损失
- 分类损失:交叉熵损失,确保类别预测准确
- 掩码损失:二元交叉熵损失 + Dice损失,优化掩码质量
- 推理过程
a) 对每个预测的(掩码, 类别)对:
- 选择类别概率最高的类别作为该掩码的标签
- 如果类别为"无对象",则忽略该掩码
b) 后处理:
- 将重叠的掩码通过argmax操作合并
- 最终输出每个像素的语义标签
- 关键创新点
a) 统一框架:相同的架构可处理语义分割和实例分割
b) 掩码分类范式:避免了传统方法中的像素级竞争
c) 可扩展性:通过增加查询数量N,可处理更复杂场景
这种方法的优势在于它能够更好地处理类别不平衡问题,并且在小物体分割上表现更好,因为每个对象查询都可以专注于特定的区域预测。