计算机视觉·MaskFormer

MaskFormer

借助了DETR 的核心思想,不过将原本的目标检测任务迁移到了语义分割和全景分割领域。

方法

前向过程

  • 和DETR一样,使用骨干网络获取一个低分辨率特征图。再使用一个FPN获得分辨率与输入图像相同的特征图(缘于语义分割任务的特点)。
    + 设置N个查询向量,然后每个查询向量作为Q,特征图作为K和V,进行交叉注意力计算 ,得到对应N个段嵌入。
  • 然后和DETR一致,这N个段嵌入首先通过一个简单的MLP得到维度为N×(K+1)N\times (K+1)N×(K+1)的类别概率分布,也是引入了一个No object类别,K是目标数。
  • 不同的是,需要生成掩码,不能直接通过段嵌入+线性层得到。于是段嵌入会被映射为掩码嵌入 ,掩码嵌入与特征图进行QK矩阵乘法操作,得到N×H×WN\times H\times WN×H×W个语义掩码。
  • 需要注意的是:这些掩码不是二值的!这些掩码不是二值的!这些掩码不是二值的!,只经过了sigmoid进行简单的激活。

训练损失

  • 损失与DETR的原理保持基本一致
  • 生产的N个软掩码与M个真实掩码进行匹配。

如何定义真实掩码GT mask?

图像中可能有x个类别的注释,这x个注释可以看作是一个真实掩码。对于示例分割,还要求这x个注释互相不连通(也就是属于同一类别且连通的掩码才是真实掩码)。

  • 匹配上非no object类 的计算掩码损失:就是语义分割任务中常用的dice和focal损失
  • 所有查询对应的类别概率分布都要计算交叉熵损失

推理方式

  • 对于一般的语义分割任务:每一个查询向量的类别概率分布p_i×\times×生成的软掩码m_i,最后求和即可,得到H*W的类别概率分布,最后取最大值即可。
  • 注意:对于属于no object的类别不进行任何计算
相关推荐
Wulida0099916 小时前
【目标检测】基于改进YOLOv13-C3k2-DWR的铲斗定位系统研究
人工智能·yolo·目标检测
Das16 小时前
【计算机视觉】03_重采样
图像处理·人工智能·计算机视觉
湘-枫叶情缘6 小时前
“智律提效”AI数字化运营落地项目可行性方案
大数据·人工智能·产品运营
却道天凉_好个秋6 小时前
OpenCV(四十二):图像分割原理
人工智能·opencv·计算机视觉·图像分割
Coding茶水间6 小时前
基于深度学习的水下海洋生物检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)
图像处理·人工智能·深度学习·yolo·目标检测·机器学习·计算机视觉
KOYUELEC光与电子请努力拼搏~6 小时前
AMAZINGIC晶焱科技:AI 驱动的车载革命:高速通信下的保护设计你准备好了吗?
人工智能·科技
禾从道6 小时前
「杂想」未来的AI电子设备和胡思乱想。
人工智能·智能手机·创业创新·小米·豆包手机
HuggingFace6 小时前
Codex 正在推动开源 AI 模型的训练与发布
人工智能
HuggingFace7 小时前
经同意的语音克隆
人工智能
智算菩萨7 小时前
实战:用 Python + 传统NLP 自动总结长文章
开发语言·人工智能·python