《Per-Pixel Classification is Not All You Needfor Semantic Segmentation》[Maskformer]--论文阅读笔记

论文地址:https://arxiv.org/abs/2107.06278

代码:还没找

一、提出原因

        基于mask的分类可以对于语义分割和实例分割可以采用统一的模型、loss、训练策略和优化方案吗?

        基于mask的分类是否优于per-pixel的分类方法?

二、创新点

三、方法

​​​​​​​

        3.1 掩码分类

        (1)将图片划分(是在一张图上划分还是分多个通道呢?)N个区域,N并不需要等于K,用二值mask表示:

\left\{m_{i} \mid m_{i} \in[0,1]^{H \times W}\right\}_{i=1}^{N}

        (2)将每个区域视为一个整体,与K类别的分布产生联系。

                i.e. 为了mask分类:定义所需输出zN个概率-掩码对:

 z=\left\{\left(p_{i}, m_{i}\right)\right\}_{i=1}^{N}

                这里的概率p_{i} \in \Delta^{K+1},还存在一个不属于任何类别,即"no object"类的概率。

                训练mask分类任务,真实的gt为:

z^{\mathrm{gt}}=\left\{\left(c_{i}^{\mathrm{gt}}, m_{i}^{\mathrm{gt}}\right) \mid c_{i}^{\mathrm{gt}} \in\{1, \ldots, K\}, m_{i}^{\mathrm{gt}} \in\{0,1\}^{H \times W}\right\}_{i=1}^{N^{\mathrm{gt}}}​​​​​​​

                这里的c是第i个区域的真实类别,并且一般设置z的个数>zgt的个数,所以用“no object”填充实现z和zgt的一对一匹配。

                对于分割任务,基本的match方法是:第i个预测与带有i的真实标签的gt匹配,如果没有在gt中则与“no object”匹配。发现a bipartite matching-based的方法更好,使用class和mask预测,比如:-p_{i}\left(c_{j}^{\mathrm{gt}}\right)+\mathcal{L}_{\text {mask }}\left(m_{i}, m_{j}^{\mathrm{gt}}\right)。其中的mask loss \mathcal{L}_{\text {mask-cls }} 由cross-entropy和binary mask loss组成。

        3.2 MaskFormer

         整个模型有三部分:

        (1)像素级模块:提取per-pixel embeddings(用于产生二值mask);

                backbone将input image(h * w)提取特征 \mathcal{F}(cf * h/s * w/s),解码器逐步上采样成per-pixel embeddings \mathcal{E}(ce * h * w)。

                注意:任意的per-pixel classifica-based seg模型都适用于像素级模块的设计(包括最近的各种transformer,这一步就实现了将模型无缝转换到mask classification)。

        (2)trans模块:decoder的堆叠(计算N个embedding);

                使用特征 \mathcal{F} 和 N (可学习的位置embeddings:具体是啥玩意??:好像是encoder生成的。看后面有点像是之前说到的分成的n个区域的编码然后拉成token?)

                生成per-segment embedding \mathcal{Q}  来进一步生成 类别概率预测。

        (3)分割模块:产生最后的预测。

                \mathcal{Q} 通过带有两个隐藏层的mlp生成 mask embedings \mathcal{E}_{\text {mask }} \in \mathbb{R}^{C_{\mathcal{E}} \times N}

                \mathcal{E}_{pixel} 与第i个 \mathcal{E}_{mask} 进行点乘得到二值掩码预测 m_i

                

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值