[ZSS系列]Prototypical Matching and Open Set Rejection for Zero-Shot Semantic Segmentation(ICCV 2021)

论文链接:Prototypical Matching and Open Set Rejection for Zero-Shot Semantic Segmentation
未开源

1. 摘要(Abstract)

  • 解决语义分割问题的 DCNN方法需要大量的像素标注训练样本。
  • 我们提出了零镜头语义分割,其目的不仅是识别训练中包含的已知类,还包括从未见过的新类。
  • 我们采用了严格的归纳设置( inductive setting),在训练时只有看得见的类(seen classes)可用
  • 我们提出了一种开放感知的原型匹配( open-aware prototypical matching)方法来完成分割:Prototypic方法通过一组原型(prototypes)提取视觉特征,从而方便灵活地添加新的不可见类(unseen classes)。原型投影 ( prototype projection)被训练,将语义特征映射到看得见的原型上,并生成看不见类别(unseen classes)的原型(prototypes)。
  • 此外,利用开集拒绝( open-set rejection)来检测所有不是可见类的对象,这大大减少了由于缺乏可见类训练实例而将不可见对象错误分类为可见类的情况。
  • 我们在Pascal VOC 2012Pascal Context两个分割数据集上应用该框架,达到了state-of-the-art

2. 引言(Introduction)

2.1. 定义ZSS

  • zero-shot segmenta-tion (ZSS):ZSS在《Zero-shot semantic segmentation》、《Semantic projection network for zero-and few-label semantic segmentation》等多篇论文中被提出,目标是为可见和不可见类别的对象生成分段掩码(segmentation mask),如图:
    在这里插入图片描述
图1
  • 原始的ZSLzero-shot learning)不需要区分可见和不可见的类,这是不现实的,与现实世界中的识别条件相矛盾。后来《Toward open set recogni- tion》提出了广义零拍学习(generalized zero-shot learningGZSL),因为来自可见类和不可见类的图像样本经常同时出现,同时识别两个组很重要。本文中的ZSS代表广义情况。
  • 在ZSS中,一个重要的信息来源是语义特征——由高维向量编码的语义信息。语义信息可以包括:自动提取的词向量、手动定义的属性向量、基于上下文的嵌入或它们的组合。每个类(可见或不可见)都有自己的语义表示。利用不可见信息的方法将ZSS分为两种设置:归纳设置( inductive training)和转换设置(transductive setting)(见图1)
    • 归纳训练:只有可见类的基本特征和语义表示可用
    • 转换训练:除了看到的类的基本特征和语义特征之外,还可以访问看不见的类的语义特征(有时是没有注释的图像)
  • 尽管有几种方法(如ZS3[5]、CaGNet[20]和CSRL[33])是在转换学习下开发的,但这种设置确实是不切实际的,因为它违反了不可接受的假设,并显著减少了挑战。尽管如此,这两种环境都达成了共识,即在培训过程中,不应该出现或利用看不见的课程的基本事实。因此,应该防止在训练分类器时误用未见过的类的基本真理

2.2. 本文的贡献

  • 我们阐明了ZSS的感应和传导设置,并在挑战感应设置中执
  • 我们在ZSS中使用原型匹配,将语义和视觉信息结合起来,并使其能够灵活地在测试期间添加新的看不见的类别
  • 我们首次在ZSS中引入开放集拒绝,有效地缓解了偏倚问题,提高了解析性能
  • 我们在ZSS上实现了最先进的性能

3. 相关工作(Related Work)

3.1. Zero-Shot Segmentation

  • 零镜头分割的目的:是通过语义和视觉信息之间的桥梁,将可见类中的知识转移到不可见类中。
  • ZSS的挑战不仅来自领域转移(domain shift),还来自对可见类的明显差异。现有的大多数工作都致力于解决ZSS中的域转移问题。具体地说,《Learning unbiased zero-shot semantic seg- mentation networks via transductive transfer》通过一种转换方法( transductive approach)缓解了对可见类的强烈差异问题,即使用带标签的可见图像和未标记的不可见图像进行训练。
  • ZSS的另一个视角是为看不见的类生成综合视觉特征,如《From pixel to patch: Synthesize context- aware features for zero-shot semantic segmentation》 利用类别级语义表示和像素级上下文信息生成合成的不可见特征。

3.2. Zero-Shot Learning

该部分用处不大

3.3. Generalized Zero-Shot Learning

Openmax(《Towards open set deep networks》CVPR2016)重新分配SoftMax生成的概率分数,并估计属于未知类的输入的概率。此外,训练未知集的困难源于未知样本的缺乏。相应地,一些著作《Open set learning with counterfac- tual images》(ECCV 2018)、《Gen- erative openmax for multi-class open set classification》(BMVC 2017)建议合成不可见类的图像,用于网络训练。在这项工作中,我们与样品合成方法有着相同的精神。我们用合成的未知对象/内容随机替换给定图像中的一些已知对象/内容。ground truthmask中的相应注释更改为“未知”

4. 模型

4.1. 训练阶段

在这里插入图片描述

  • 阶段1:希望得到能够表征所有可见类的Vision Prototypes:训练一个开放感知(open-aware)的分割网络,首先经过特征提取层得到(N,H,W)维的视觉特征(Vision Feature),该分割网络的目的是希望得到一个视觉原型(Trainable Vision Prototypes),该Vision Prototypes能够表征所有可见类和不可见类(在这里把所有不可见类统一为Unknown一个类),而每个类用(N,1,1)的特征向量表示,将每个类(N,1,1)向量分别与(Vision Feature)做卷积得到(N,H,W),在(H,W)上的(i,j)位置取最大值的类别作为当前位置的预测类别。最后得到(1,H,W)的输出,与Mask的(1,H,W)值产生loss,来优化Vision Prototypes,最终得到能够表征所有可见类的Vision Prototypes可见类在Mask里面都有监督元,而Unknown的监督元是不可见类和背景,即所有可见类之外的区域,所以学习的并不好,然而阶段1不care这些,这也是阶段2没有添加Unknown分支的原因
  • 阶段2:希望得到一个从语义空间(Semantic Embedding)映射到视觉特征(Vision Prototypes)空间的映射模型(Projection Network):该模型的预测结果是映射原型(Projected Prototypes)。首先通过预训练好的Word2Vector模型,将Seen Class类别信息转换到语义空间(Semantic Embedding),再利用阶段1得到的视觉原型( Vision Prototypes)作为监督元来监督映射模型(Projection Network)学习。
  • 回过头一看,这不就是图像到Word的多模态匹配模型吗!只不过中间多了视觉原型(Vision Prototypes)作为监督信息。

4.2. 推理阶段

在这里插入图片描述

  • 上路分支:通过训练,得到了视觉原型( Vision Prototypes)和映射模型(Projection Network),输入一张图,首先经过特征提取得到视觉特征(Vision Feature),再得到视觉原型( Vision Prototypes),与视觉原型( Vision Prototypes)卷积后得到(1,H,W)左边的Mask图,这时候预测为可见类的,直接输出;预测为不可见类的还需要进一步确定,将MaskUnknown部分分离出来(当然不是扣出来,给可见类区域赋0就行)
  • 下路分支:不可见类的Word信息通过Word2Vetor得到语义特征(Semantic Embedding),在经过训练阶段得到的映射模型( Projection Network)得到不可见类的映射原型,每个类都是(N,1,1)的向量
  • 组合:将不可见类的映射原型与未知类视觉特征做cos相似度计算得到最终的得分图,与之前的可见类区域拼接得到最终结果

5. 模型效果

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_35759272/article/details/123747428