恒源云(GpuShare)_MaskFormer:语义分割可以不全是像素级分类

文章来源 |恒源云社区

原文地址 |MaskFormer

原作者 |冬冬

论文:Per-Pixel Classification is Not All You Need for Semantic Segmentation

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

代码地址:https://bowenc0221.github.io/maskformer

恒源云(GpuShare)_MaskFormer:语义分割可以不全是像素级分类

概括

  1. 目前研究多将语义分割算法作为一种像素级的分类算法,而将实例分割作为一种mask分类算法
  2. 论文的重要观点是:mask分类任务能够同时有效解决语义和实例级的分割任务
  3. 基于上述观念,提出了MaskFormer,一种预测二值mask(每个mask用于预测一个类别)的mask分类模型
  4. 实验显示,MaskFormer在ADE20K和COCO分割任务上实现state-of-the-art

从像素级分类到mask级分类

  1. 首先介绍像素级分类和mask级分类
  2. 随后介绍本文的mask级分类算法
  3. 最后,提出了两种不同的前向传播算法

像素级分类

大家应该对像素级分类很熟悉了,可以用公式表达为y%3D%7B%5Clbrace%20p_i%7Cp_i%20%5Cin%5CDelta%5Ek%7D%5Crbrace_%7Bi%3D1%7D%5E%7BH%20%5Ccdot%20W%7D,其中%5CDelta%5E%7BK%7D,具体含义就是一张图像上每个像素点的K类别概率分布

最后使用cross entropy对每个像素进行loss计算

MASK级分类

恒源云(GpuShare)_MaskFormer:语义分割可以不全是像素级分类

mask级分类将分割任务拆分为两个部分:

  1. 将图像分割成N个区域(N不需要等于类别K),使用二进制%5Clbrace%20m_i%7Cm_i%20%5Cin%5B0%2C1%5D%5E%7BH%20%5Ctimes%20W%7D%5Crbrace_%7Bi%3D1%7D%5EN表示
  2. 这N个区域的每个区域内部是属于同一个类别,所以还需要对其进行类别预测,可以表示为z%3D%5Clbrace%20%28p_i%2Cm_i%29%5Crbrace_%7Bi%3D1%7D%5EN,这里的类别概率分布p_%7Bi%7D%20%5Cin%20%5CDelta%5E%7BK%2B1%7D包含无对象no object 类别

由于N不需要等于类别K,这就意味着会存在多个区域属于同一个类别,这时mask级分类可以适用于语义分割和实例级分割任务

上述就是mask级分类的两个组成部分,但这会引出下一个问题,如何构造标签?

  1. 将一般标签转化为z%5E%7Bgt%7D%3D%7B%5Clbrace%20%28c_i%5E%7Bgt%7D%2Cm_i%5E%7Bgt%7D%29%7Cc_i%5E%7Bgt%7D%20%5Cin%20%5C%7B1%2C%E2%80%A6%2CK%5C%7D%2Cm_i%5E%7Bgt%7D%20%5Cin%20%5C%7B%200%2C1%5C%7D%5E%7BH%20%5Ctimes%20W%7D%20%5Crbrace%7D_%7Bi%3D1%7D%5E%7BN%5E%7Bgt%7D%7D,其中N%5E%7Bgt%7D可以认为是类别数
  2. 预测生成的区域块数量N一般会大于标签中的区域块N%5E%7Bgt%7D,为了后续能够进行对一对匹配,所以两者数量需要一致,因此添加一系列无对象tokens使两者数量相同

下一步是考虑如何匹配预测结果中的标签和不同区域

  1. 作者发现使用二值匹配算法bipartite matching 比使用固定匹配算法trivial fixed matching 算法要好
  2. 借鉴DETR的匹配思路,联合类别和mask预测对i和j进行匹配:-p_i%20%28C_j%5E%7Bgt%7D%29%2B%5Cmathcal%7BL%7D_%7Bmask%7D%28m_i%2CM_j%5E%7Bgt%7D%29

根据匹配结果,最终的损失函数为恒源云(GpuShare)_MaskFormer:语义分割可以不全是像素级分类

MASKFORMER

恒源云(GpuShare)_MaskFormer:语义分割可以不全是像素级分类

整个模型分为三个模块(如上图):

  1. 像素级模块用于提取像素级特征嵌入
  2. Transformer模块,用于计算N个区域嵌入
  3. 基于上述两个嵌入计算预测类别的分割模块

像素级模块

就是一个编码器-解码器结构,输入大小为H×W的图像,输出为%5Cvarepsilon_%7Bpixel%7D%20%5Cin%20%5Cmathbb%20R%20%5E%7Bc_%5Cvarepsilon%20%5Ctimes%20H%20%5Ctimes%20W%7D
的特征图

Transformer模块
将像素级模块中编码器的输出特征图和N个可学习的位置嵌入作为Transformer解码器的输入, 输出为%5Cmathcal%20Q%20%5Cin%20%5Cmathbb%7BR%7D%5E%7BC_%7B%5Cmathcal%7BQ%7D%7D%20%5Ctimes%20N%7D

拆分模块

  1. 对于Transformer模块的输出Q,使用线性分类层和softmax进行类别输出,得到类别概率%5Clbrace%20p_i%20%5Cin%5CDelta%5E%7BK%2B1%7D%5Crbrace%20_%7Bi%3D1%7D%5EN
  2. 使用带有两个隐藏层的MLP将Q转化为%5Cvarepsilon_%7Bmask%7D%20%5Cin%20%5Cmathbb%20R%20%5E%7Bc_%5Cvarepsilon%20%5Ctimes%20N%7D,并与%5Cvarepsilon_%7Bpixel%7D进行点乘和sigmoid操作,得到二值mask预测,m_i%5Bh%2Cw%5D%3Dsigmoid%28%5Cvarepsilon_%7Bmask%7D%5B%3A%2Ci%5D%5ET%5Ccdot%5Cvarepsilon_%7Bpixel%7D%5B%3A%2Ch%2Cw%5D%29,其中每个预测值为m_%7Bi%7D%20%5Cin%5B0%2C1%5D%5E%7BH%20%5Ctimes%20W%7D,一共有N个

训练过程中,联合使用cross entropy classification loss 和binary mask loss%5Cmathcal%7BL%7D_%7B%5Ctext%20%7Bmask%20%7D%7D​(与DETR一样,联合focal loss和dice loss权重求和)

前向传播过程

提出了两种前向传播算法

  1. 针对全景和语义分割,提出了general inference
  2. 专门针对语义分割,提出了semantic inference
    作者还发现,前向传播的策略更多地依赖于评估指标而不是任务

General inference
如上所述,我们知道%5Clbrace%20p_i%20%5Cin%5CDelta%5E%7BK%2B1%7D%5Crbrace%20_%7Bi%3D1%7D%5EN%2Cm_i%20%5Cin%5B0%2C1%5D%5E%7BH%20%5Ctimes%20W%7D,它所属的类别由公式%7Barg%7D%20%5C%20%7Bmax%7D%5C%20p_i%28c_i%29%20%5Ccdot%20m_i%5Bh%2Cw%5D确定,可以通过以下步骤来理解

  1. 对于N个区域,每个区域有K+1个类别概率,首先确定每个区域中最大概率的类别
  2. 当前像素也有属于每个区域的概率,即m_i
  3. 结合以上两者可以得到当前像素所属的类别和区域。

这样,对于语义分割来说,就是根据其所属的类别进行分割。
例如实例分割,不同的实例根据它们所属的类别和区域进行区分。

Semantic inference
同理,对于图像上的点%5Bh%2C%20w%5D,其类别计算公式为
恒源云(GpuShare)_MaskFormer:语义分割可以不全是像素级分类
可以理解为将N作为特征维度

  1. p表示K+1个类别,每个类别有N长度的类别特征
  2. m表示每个像素点同样都有N长度的维度特征
  3. 将m与每个类别的特征进行乘积求和,并比较每个类别的结果,取最大值作为所属类别

实验

通过在四个公开数据集上进行了实验对比,证明了MaskFormer无缝统一了语义分割和实例分割,并实现了最优性能
并通过消融实验,发现语义分割上性能的提升确实来自于从像素级分类到mask级分类的转变

比较实验

恒源云(GpuShare)_MaskFormer:语义分割可以不全是像素级分类

语义分割对比实验
恒源云(GpuShare)_MaskFormer:语义分割可以不全是像素级分类

全景分割对比实验
恒源云(GpuShare)_MaskFormer:语义分割可以不全是像素级分类

消融实验

像素级分类和mask级分类比较结果
使用两种不同匹配策略的比较结果
恒源云(GpuShare)_MaskFormer:语义分割可以不全是像素级分类

使用不同queries(区域数量N)之间的比较
恒源云(GpuShare)_MaskFormer:语义分割可以不全是像素级分类

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
青葱年少的头像青葱年少普通用户
上一篇 2022年3月22日 下午3:39
下一篇 2022年3月22日 下午4:00

相关推荐