Mask2Former阅读笔记

前言

MaskFormer系列论文发展的大致脉络如下图所示。

2017年Transformer的提出为图像检测、分类和分割任务提供了新思路。

2020年DETR将Transformer引入到目标检测领域,提出了Query Based的端到端目标检测算法,去除了NMS / anchor等人工先验,把目标检测看作一个集合预测问题。

2021年MaskFormer借鉴DETR的思路,将语义分割和实例分割的问题统一定义为mask分类问题,去除NMS / anchor等人工先验,把实例分割看作一个集合预测问题。

2021年底,mask2former的提出对maskformer进一步改进。

mask2former在maskformer的基础上主要做了3个方面的改进。

  • 在Transformer Decoder中交换自注意力(self-attention)和交叉注意力(cross-attention)的顺序(称为“masked attention"),加速模型的收敛并提高性能
  • 使用多尺度高分辨率特征,把pixel decoder的不同层作特征金字塔分别输入到transformer decoder的不同层中,帮助模型分割小目标 / 区域
  • 在K个采样随机点而非全图上计算mask loss,在不影响性能的前提下,将训练内存节省了3倍,从每张图像18GB到6GB。

1. 模型整体结构

模型整体结构与MaskFormer大体一致,由三个部分组成:

  1. backbone特征提取器
  2. pixel decoder
  3. Transformer decoder

如下图所示,左侧是MaskFormer结构图,右侧是Mask2Former结构图。Mask2Former主要针对Transformer decoder部分进行了改进。

2. Transformer decoder模块的改进

如下图所示,左侧图是DETR论文中提出的标准Transformer decoder,右侧图是Mask2former中提出的改进后的Transformer decoder。

主要在标准Transformer decoder上做了4个修改:

  1. 输入到第一个自注意力层的Query的初始化与图像特征无关,对其进行自注意力操作并不会产生任何有意义的特征。所以,交换了self-attention和cross-attention的顺序,先让Query与图像特征做交叉注意力操作。

  2. 除了query和image feature外,将mask也输入到decoder中。原本是每个像素和整张图做attention,现在这个像素只和都是query的像素做attention,也就是只要前景目标间做attetion背景不需要参与。

  3. 使Query特征 X 0 X_0 X0也是可学习的,并且直接受到mask loss的监督。类似于Faster RCNN和Mask RCNN中的区域建议网络RPN,可学习的Query预测能够生成mask proposal。

  4. decoder中不使用dropout。因为dropout没有必要,还会降低性能。(在小数据集上是否会导致过拟合?)

3. 加入多尺度特征

使用pixel decoder生成的分辨率分别为1/32、1/16和1/8的不同尺度的特征层,输入到不同的Transformer decoder层中。每层中添加一个正弦位置embedding(借鉴DETR)和一个可学习的尺度级embedding(借鉴Deformable DETR)。作为特征金字塔,提升小目标的识别效果。

4. 随机采样计算loss

借鉴PointRend和Implicit PointRend,在二分图匹配损失和最终损失计算中使用采样点计算mask 损失。文中设置 K = 112 × 112 = 12544 K = 112 \times 112 = 12544 K=112×112=12544

  • 在构建二分匹配成本矩阵的匹配损失中,对于所有预测掩码和GT掩码,使用均匀采样抽取相同的K个点。
  • 计算最终loss时,对于不同的预测和GT,使用重要性采样抽取不同的K个点

不在整张图上计算loss,而是使用随机采样的方法在少量采样点上计算mask loss可以提升训练效率、加快速度。

参考

  1. Mask2former及其相关方法
  2. Mask2former论文笔记
  3. Mask2former
  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值