文章来源 | 恒源云社区
原文地址 | MaskFormer
原文作者 | 咚咚
论文:Per-Pixel Classification is Not All You Need for Semantic Segmentation
论文地址:https://arxiv.org/pdf/2107.06278.pdf
代码地址: https://bowenc0221.github.io/maskformer
摘要
- 目前研究多将语义分割算法作为一种像素级的分类算法,而将实例分割作为一种mask分类算法
- 论文的重要观点是:mask分类任务能够同时有效解决语义和实例级的分割任务
- 基于上述观念,提出了MaskFormer,一种预测二值mask(每个mask用于预测一个类别)的mask分类模型
- 实验显示,MaskFormer在ADE20K和COCO分割任务上实现state-of-the-art
从像素级分类到mask级分类
- 首先介绍像素级分类和mask级分类
- 随后介绍本文的mask级分类算法
- 最后提出了两个不同的前向传播算法
像素级分类
大家应该对像素级分类很熟悉了,可以用公式表达为 y = { p i ∣ p i ∈ Δ k } i = 1 H ⋅ W y={\lbrace p_i|p_i \in\Delta^k}\rbrace_{i=1}^{H \cdot W} y={ pi∣pi∈Δk}i=1H⋅W,其中 Δ K \Delta^{K} ΔK,具体含义就是一张图像上每个像素点的K类别概率分布
最后使用cross entropy对每个像素进行loss计算
MASK级分类
mask级分类将分割任务拆分为两个部分:
- 将图像分割成N个区域(N不需要等于类别K),使用二进制 { m i ∣ m i ∈ [ 0 , 1 ] H × W } i = 1 N \lbrace m_i|m_i \in[0,1]^{H \times W}\rbrace_{i=1}^N { mi∣mi∈[0,1]H×W}i=1N表示
- 这N个区域的每个区域内部是属于同一个类别,所以还需要对其进行类别预测,可以表示为 z = { ( p i , m i ) } i = 1 N z=\lbrace (p_i,m_i)\rbrace_{i=1}^N z={ (pi,mi)}i=1