基于Transformer的图像分割算法:Mask2Former
字数 1785 2025-11-09 23:35:24
基于Transformer的图像分割算法:Mask2Former
题目描述
Mask2Former是一种基于Transformer架构的统一图像分割模型,能够高效处理语义分割、实例分割和全景分割三类核心任务。其核心创新在于提出了“掩码分类”(mask classification)的统一范式,通过替换传统Transformer解码器中的逐像素交叉注意力机制,引入高效的“掩码注意力”(masked attention)机制,使得模型能够将计算资源聚焦于每个掩码对应的局部区域,显著提升训练效率和分割精度。
解题过程循序渐进讲解
第一步:理解图像分割的核心挑战与统一思路
- 任务差异:传统上,语义分割(为每个像素分类)、实例分割(区分不同物体实例)和全景分割(结合语义与实例分割)需不同架构。语义分割常用全卷积网络(FCN),实例分割依赖检测模型(如Mask R-CNN),导致模型设计复杂。
- 统一范式:Mask2Former提出“掩码分类”作为通用框架:
- 步骤1:模型生成一组二进制掩码(每个掩码覆盖图像的一个区域)。
- 步骤2:为每个掩码预测一个类别标签。
- 此范式可通过调整掩码数量与类别定义兼容三种任务(例如,实例分割要求不同实例的掩码不同)。
第二步:Mask2Former整体架构设计
模型由三个核心模块组成(如图所示,想象一个流程图):
- 骨干网络(Backbone):
- 输入图像(如3×800×800)通过CNN(如ResNet)或Transformer(如Swin Transformer)提取多尺度特征图(通常为1/32、1/16、1/8分辨率)。
- 目的:捕获图像的底层细节到高级语义信息。
- 像素解码器(Pixel Decoder):
- 使用类似FPN(特征金字塔网络)的结构,对骨干网络输出的多尺度特征进行上采样和融合,生成高分辨率特征图(如1/4分辨率)。
- 关键作用:保留空间细节,为后续掩码预测提供精细的像素级特征。
- Transformer解码器(Transformer Decoder):
- 核心创新模块。包含N个解码层,每层处理一组可学习的查询(query)向量。每个查询通过掩码注意力机制与像素解码器输出的特征交互,逐步优化为两个输出:
- 掩码嵌入(mask embedding):用于生成该查询对应的掩码。
- 类别嵌入(class embedding):用于预测掩码的类别。
- 核心创新模块。包含N个解码层,每层处理一组可学习的查询(query)向量。每个查询通过掩码注意力机制与像素解码器输出的特征交互,逐步优化为两个输出:
第三步:核心创新——掩码注意力机制详解
- 传统注意力机制的缺陷:
- 标准Transformer解码器使用“逐像素交叉注意力”,即每个查询与所有像素特征计算注意力权重。当处理高分辨率特征时,计算复杂度随像素数平方增长,效率低下。
- 掩码注意力的工作原理:
- 假设当前已有每个查询对应的初始掩码预测(初始化为粗略区域)。
- 对于每个查询,仅计算其掩码覆盖的像素区域内的注意力权重,忽略掩码外无关像素。
- 数学简化:复杂度从O(像素数²)降至O(像素数×掩码数),掩码数(如100)远小于像素数(如数万),极大提升效率。
- 迭代优化过程:
- 解码器的每一层基于前一层输出的掩码,重新计算掩码注意力,逐步细化掩码边界和类别预测。类似“抠图”时先框定大致区域,再逐步修正边缘。
第四步:训练与推理流程
- 训练阶段:
- 标签匹配:将模型预测的N个掩码与真实标注的K个掩码进行二分图匹配(使用匈牙利算法),优先匹配掩码重叠度(IoU)高的对,解决预测顺序不确定性问题。
- 损失函数:对匹配后的掩码对计算分类损失(交叉熵)和掩码损失(Dice损失+交叉熵),鼓励模型学习准确的掩码形状和类别。
- 推理阶段:
- 输入图像经前向传播得到N个掩码及其类别概率。
- 过滤低置信度(如类别概率<0.5)的掩码,对剩余掩码应用阈值(如0.5)将软掩码转为二进制掩码。
- 任务适配:
- 语义分割:将同类别的所有掩码合并。
- 实例分割:直接输出每个掩码作为实例。
- 全景分割:结合语义标签并区分实例。
第五步:关键优势总结
- 高效性:掩码注意力降低计算成本,支持高分辨率训练。
- 统一性:单一模型解决三类分割任务,简化部署。
- 准确性:在COCO、ADE20K等基准上超越任务专用模型(如Mask R-CNN)。
通过以上步骤,Mask2Former实现了以统一框架高效解决多种分割任务的核心目标。