详情
论文:Per-Pixel Classification is Not All You Need for Semantic Segmentation / MaskFormer
代码:代码
官方-代码
笔记:
作者笔记说明
【论文笔记】MaskFormer: Per-Pixel Classification is Not All You Need for Semantic Segmentation
总结思路清晰-简洁
【MaskFormer】Per-Pixel Classification is Not All You Needfor Semantic Segmentation
简洁明了
视频讲解:
论文简析 Per-Pixel Classification is Not All You Need
知识补充
语义分割
对图像中的每个像素打上类别标签,如下图,把图像分为人(红色)、树木(深绿)、草地(浅绿)、天空(蓝色)标签。
实例分割
实例分割综述总结综合整理版
目标检测和语义分割的结合,在图像中将目标检测出来(目标检测),然后对对图像中的每个像素打上类别标签进行分类(语义分割)。
对比上图、下图,如以人(person)为目标,语义分割不区分属于相同类别的不同实例(所有人都标为红色),实例分割区分同类的不同实例(使用不同颜色区分不同的人)。
目的是将输入图像中的目标检测出来,并且对目标的每个像素分配类别标签.
能够对前景语义类别相同的不同实例进行区分,这是它与语义分割的最大区别.相比语义分割,
基本流程
实例分割模型一般由三部分组成: 图像输入、 实例分割处理、分割结果输出.
- 图像输入后, 模型一 般使用 VGGNet、ResNet 等骨干网络提取图像特 征,
- 然后通过实例分割模型进行处理.
- 模型中可以 先通过目标检测判定目标实例的位置和类别, 然后 在所选定区域位置进行分割,
- 或者先执行语义分割 任务, 再区分不同的实例, 最后输出实例分割结果。
主要技术路线
实例分割的研究长期以来都有着两条线,
分别是自下而上的基于语义分割的方法和自上而下的基于检测的方法,这两种方法都属于两阶段的方法。
自上而下的实例分割方法
思路是:
首先通过目标检测的方法找出实例所在的区域(bounding box),
再在检测框内进行语义分割,每个分割结果都作为一个不同的实例输出。
通常先检测后分割,如FCIS, Mask-RCNN, PANet, Mask Scoring R-CNN;
自上而下的密集实例分割的开山鼻祖是DeepMask,它通过滑动窗口的方法,在每个空间区域上都预测一个mask proposal。这个方法存在以下三个缺点:
- mask与特征的联系(局部一致性)丢失了,如DeepMask中使用全连接网络去提取mask
- 特征的提取表示是冗余的, 如DeepMask对每个前景特征都会去提取一次mask
- 下采样(使用步长大于1的卷积)导致的位置信息丢失
自下而上的实例分割方法
将每个实例看成一个类别;然后按照聚类的思路,最大类间距,最小类内距,对每个像素做embedding,最后做grouping分出不同的instance。Grouping的方法:一般bottom-up效果差于top-down;
思路是:首先进行像素级别的语义分割,再通过聚类、度量学习等手段区分不同的实例。这种方法虽然保持了更好的低层特征(细节信息和位置信息),但也存在以下缺点:
- 对密集分割的质量要求很高,会导致非最优的分割
- 泛化能力较差,无法应对类别多的复杂场景
- 后处理方法繁琐
单阶段实例分割(Single