Prototypical Matching and Open Set Rejection for Zero-Shot SemanticSegmentation
原型匹配和开放集拒绝的零次语义分割法
摘要:
解决语义分割的DCNN方法需要大量的像素化注释的训练样本。在这项工作中,我们提出了零次语义分割,其目的是不仅要识别训练中包含的已见类,而且要识别从未见过的新类。我们采用了一个严格的归纳设置,在训练过程中,只有看过的类的实例是可以访问的。我们提出了一种开放意识的原型匹配方法来完成分割。原型方法通过一组原型来提取视觉表征,使其能够方便灵活地添加新的未见过的类。原型投影被训练用来将语义表征映射到基于所见实例的原型上,并为未见的类别生成原型。此外,一个开放集拒绝法被用来检测不属于任何已见类的物体,这大大减少了由于缺乏已见训练实例而将未见物体误归入已见类的情况。我们将该框架应用于两个分割数据集,即Pascal VOC 2012和Pascal Context,并取得了令人印象深刻的先进性能。
引言:
在语义分割[8, 13, 14, 12]中其目标是为给定图像中的每个像素进行分类而巨大的挑战是对带有像素注释的大量训练样本的需求所引起的。面对同样困境的图像识别领域中零点学习(ZSL)[32, 41, 18]被提出其中分类模型被训练为使用从已见类中学习的知识来适应未见物体。同样地在语义分割领域也提出了零点分割(ZSS)[47 5 20 31 36 26 21]。ZSS的目标是为已见(有注释实例)和未见(在训练中从未见过)类别的对象生成分割掩码如图所示所示 初步的ZSL设置不需要区分已见和未见类别这与现实世界的识别条件相矛盾因此不合理随后提出了广义零点学习(GZSL)[42]因为看到类和未看到类的图像样本经常一起出现同时识别这两组类别很重要而零点分割(ZSS)自然成为GZSL的一种类似方案因为所处理图像已经包含了不同的类别类型本文中的" ZSS "特指广义情况下的该方法 在这种情况下一个重要的信息来源是语义表示--由高维向量编码的信息 semantic information semantic information can include automatically extracted word embeddings manually defined attribute vectors contextual embeddings or their combinations. 每个类别无论是看到还是未看到都有自己的独立 semantic representation. 基于这一特点将 ZSS 进行了两种划分方式:归纳型设置与转换型设置(如图所示)。 在归纳型训练过程中仅利用到可见类别的视觉特征及其 semantic 表示而在归纳型训练中还可以获得不可见类别 semantic 表示(有时是没有标注图像)。 尽管如此现有几种方法如 ZS3[5] CaGNet[20] 和 CSRL[33] 是基于反演式学习开发的但这种设置仍然存在不合理之处因为它违背了不可见假设大大削弱了挑战性. 尽管如此这两种设置虽然采用了不可见类别 ground truth 的方式但在实际应用中仍存在不合理之处因为它违反了不可见假设大大减少了挑战性. 尽管如此这两种设置都达成了一个共识即在训练过程中不应出现或利用不可见类别的 ground truth. 因此为了防止分类器在训练过程中误用不可见类别的基础事实应该避免这种情况的发生.
在本研究中,我们遵循一套严格的规定,在训练阶段,仅限于可观察到的类别信息(包括语义表征、视觉特征和基础真理)作为可用数据.该方法旨在预期建立一个从语义空间到视觉特征空间的一一对应关系.
例如,在ZS3[5]所处的已知类别上训练了一个生成器,并将其用于生成未识别类别的虚假视觉特征。随后将这些虚假特征用于微调分类器(该分类器先前基于已知类别进行了过学习)。
然而,在这一过程中存在争议性的问题:他们的分类器基于假特征及其对应的标签进行训练(这些信息实际上是不可获取的),例如那些未曾见过的真实像素值及其属性。
此外,在经过良好训练后所得模型无法处理未曾见过的新类别(显示出固定的处理能力)。
在本研究中, 为了突破现有技术的局限性, 我们开发了一种基于prototype的实现方案, 以打破这一限制为目标. 该方案通过训练与类一一对应的prototype来提取高阶视觉特征. 在识别过程中, 我们首先通过对每个像素与其所属类别最相似的prototype进行匹配, 实现图像分割. 这种策略使得语义信息与视觉特征之间的映射关系主要由prototype向量来构建完成. 此外, 我们还设计了一个轻量级的投影网络, 其核心任务是从语义描述出发, 学习从语义空间到prototype空间的有效映射关系. 在实验环节中, 该网络能够将新的类别描述投射到现有的prototype集合中, 并根据需要动态地扩展现有的prototype库以适应新的类别需求.
该问题对ZSS体系构成了重要挑战
- 我们阐明了ZSS的归纳和转导设置,并且在具有挑战性的归纳设置中应用了该方法。
- 我们采用了一种基于原型匹配的技术,在该框架下实现了语义与视觉信息的有效结合,并使模型能够快速适应未见过的新类别的数据。
- 通过首次将开放集拒绝技术融入ZSS框架中,在降低模型偏见的同时提升了其解析性能。
- 我们的实验结果表明,在所有测试基准数据集上,ZSS均展现了超越现有方法的最佳性能。
相关工作
2.1. 零点分割
- 零点语义分割概念首次在SRPNet[47]中提出,并通过识别不同类别间的相似特征,在迁移学习框架中实现了旧类别向新类别的知识转移。
- 该方法明显倾向于当前观察到的类别,在其测试环境中建立了有限的表现形式。
- ZS3Net[5]团队提出了一种生成像素级假特征的方法,并在微调语义分割网络中的分类器部分进行了应用。
- 在微调过程中需要为那些未被见过的类别中的像素标注分类标签。
- 这种基于少数照片分割结果的设计方案在实际应用中不可行。
不同于基于预测查询图像及其支持注释图像中同一类别掩码的传统零点分割方法,在该研究中提出了一种新的策略。这种新方法旨在通过建立语义与视觉信息之间的桥梁关系实现跨领域知识迁移,并且确保目标域实例与其对应的源域实例具有清晰明确的空间关联性。然而,在实际应用过程中仍面临诸多挑战:一方面需要有效处理跨领域的迁移问题;另一方面则需要避免过度依赖已有领域的知识偏向;目前大部分研究工作集中于解决基于零点分割方法的传统领域适应性问题
具体而言, Lv等人[36]采用了中间步骤的方法,以缓解对所见类样本表现出过强偏向的问题,即基于已标记可见图像和未标记不可见图像进行训练。
Hu等人[26]提出了另一个难题,即由所见类样本中的噪声干扰以及离散化的训练样本数据所导致的问题,并采用贝叶斯不确定性估计技术加以应对。
ZSS还提出了一种新的观点,即通过为未曾见过的新类别生成合成视觉特征来解决这一问题,Gu等人[21]对此进行了实证验证。
2.2. 零点学习
现有的零样本学习(Zero Shot Learning, ZSL)方法主要包含两类基本框架:一类是基于分类器的方法(Classifier-based Methods),另一类则是基于实例的方法(Instance-based Methods)。其中,
基于分类器的方法又可分为两类:
一种是基于对应关系的方法(Correspondence-Based Methods),其代表性的研究包括[1, 10, 34];
另一种则是直接研究类间关系的基础方法(Relation-Based Methods),其代表性的研究包括[29, 19, 51]。
这些对应关系方法关注于捕捉语义嵌入与视觉特征间的对应关系,
目的是构建从语义域到视觉域的通用映射函数;
而这些关系方法则致力于模拟类间相互作用,
使得在语义空间中观察到的关系可以直接映射到特征空间中。
相比之下,
基于实例的学习框架[45, 15, 49]则专注于为未识别过的类别检索一些实例(Visual Features),
这些实例虽然在训练集中并未出现过,
但可以通过投影函数等手段获取新类别实例的视觉特征表示。
尽管这类方法在零样本学习任务中表现优异,
但将其扩展至零样本超分辨率合成(Zero Sample Super-Resolution Synthesis, ZSS)却面临较大挑战:
因为要为分割任务生成像素级实例比进行图像级实例识别困难得多。
2.3. 广义零点学习
GZSL最初由Scheirer团队[42]提出。随后,Chao团队[7]通过实证研究发现,在GZSL框架下执行ZSL方法并无法获得理想效果。这一现象归因于ZSL在学习过程中对见过类别的过度拟合特性所带来的偏差问题。为此,校准技术[6, 9, 22, 27]被开发出来以缓解这一问题,并试图在可见样本与不可见样本的分类任务之间找到平衡点。在检测器方法领域中,则形成了一个独立的研究分支:其核心目标是判断一张测试图像是否属于不可见类别集合中的某一个类别。这种分类策略通过限制候选类别数量来减少分布范围内的候选类别数目。具体而言,在与可见类别的分布范围相比之下,在不可见类别中实例的分布往往偏离较大程度的均值位置特征点较为明显。因此,在不可见组中的测试样本通常被认为是训练阶段(即可见阶段)数据分布的异常值或离群点。随后研究者们提出了多种异常检测模型:包括基于自动编码器的方法、基于熵度量的算法以及基于概率空间的统计模型等多类方法均被提出用于识别分布外(OOD)样本即那些未见过的新类别的测试实例。为了进一步提升对分布外样本的探测能力并使不可见类别获得更高的置信度评分同时又不至于过分降低可见类别的判别信心Liu团队[35]引入了温度缩放因子以及熵正则化项等手段使得模型能够更加自信地识别出不属于已知类别的测试像素区域
2.4. 开放集学习
开放集学习(OSL)假定训练阶段存在知识缺陷,并旨在实现对已知类别样本的有效分类及对未知样本的同时识别能力。主要采用的支持向量机[43, 44, 28]、最近邻[30, 2]、稀疏表示[50]等传统方法均面临这一挑战。近年来发展出的深度学习驱动的OSL方法[43, 3, 24, 52, 40]显著提升了性能水平。直接采用深度学习驱动的方法通常会在近似集识别过程中引入特定阈值机制[24]。然而尽管如此,在测试阶段仍可能存在误判现象。为此提出Openmax[3]算法来重新分配由softmax层产生的概率分数分布,并估算输入数据属于潜在未知类别成员的概率值。针对训练过程中的困难问题——即如何利用有限数量的真实未知样本来训练模型——已有研究探索通过合成未知类图像来补充训练数据的可能性[40, 52]。在此工作中我们沿袭此类思路通过随机置换部分图像中的已有物体/物品以模拟引入潜在未知类别成员的方法与现有样本合成技术具有相似的设计理念,在具体实现上我们采用了一种更为灵活的方式:将待置换区域内的真实物体/物品替换成预定义的一组潜在未知物体/物品中的随机选取项随后更新标记信息使得相应区域标注的内容变为"unknown"。
3.方法
3.1问题形式化
为了便于描述我们将特征空间、语义空间与标签空间分别用符号X={Xs,Xu} A={As,Au} Y={Ys,Yu}来代表其中符号s与u分别代表可观察类别与不可观察类别基于这些前提零拍语义分割方法主要可分为两类不同的方案其中一类仅依赖于可见类的信息而另一类则充分利用了可观察信息与不可标记信息值得注意的是这类基于可见信息的方案在实现过程中往往面临较高的难度为此我们将深入探讨这两种不同策略的具体实现过程
未见类的标签集Y u = {yu,1, - -, yu,nunseen}被用来表示所有可能属于该标签集的所有样本实例;其中nunseen代表了unseen类的数量。归纳式和转换式Zero Shot Learning(ZSS)旨在通过建立一个映射函数f ZSS:X → Y,在测试阶段为Nt个未知类别中的每一个生成像素级分割掩码。在零点学习(Zero-Point Learning, ZSL)中,测试数据仅包含未曾见过的新类别实例;即Dtest = {Xu, Au, Yu};而广义零点学习(Generalized Zero-Point Learning, GZSL)则涵盖了已识别和未曾识别过的类别实例;即Dtest = {X , A, Y}。显然,ZSS是GZSL的一种典型实现。

3.2架构
在该工作中我们采用了归纳法对训练过程进行设计仅能获得那些与所见类别相关的图像语义信息以及直接观察到的事实这些基础要素能够帮助模型建立初步认知随后我们将训练过程划分为两个主要阶段初始识别阶段在这个环节我们主要关注的是对已知类别物体的感知任务为此我们设计了一个开放感知分割网络该网络通过识别特征图中的目标区域来实现对所见类别的初步定位为了使网络能够适应新类别的加入我们在分割网络的设计中采用了原型导向的学习方式而非传统的卷积神经网络方式在这一阶段结束后系统将能够提取并保存一组完整的特征向量每个向量对应于一个独立的目标类别随后进入第二部分的学习任务这部分的任务主要是探索语义信息与视觉特征之间的映射关系为此我们构建了一个投影学习框架通过对已有特征向量的空间建模系统将能够根据输入样本提取其最匹配的空间表征并赋予相应的类别标签在整个推理流程中为了减少视觉偏见特别是对于那些尚未见过的新类物体我们特意将开放集拒绝模块整合到推理流程中当输入样本与其最邻近的空间表征对应于已知类别时系统可以直接输出相应的分类结果如果出现未知区域则会进一步分析最终选择最接近的目标向量对应的标签作为最终结果
3.3阶段1:原型提取
在图2所示的第一阶段训练中(stage 1),我们的主要目标是开发一种能够感知并分割场景的空间分割网络(spatial segmentation network),并识别出代表各类别典型特征的关键点(prototypes)。为此,在这一阶段之前我们为开放集拒绝模块开发了一种基于像素级别的合成方法(pixel-wise synthesis)。具体而言,在[40, 52]的研究框架下我们进行了大规模图像合成实验:与[40, 52]中一次性生成完整图像的方法不同,在本研究中我们采用随机选择图像局部区域的方式进行部分替换(partial substitution)。具体步骤如下:首先,在观察到的所有类别边界外区域生成了5000张合成图像样本;其次,在每张训练图像上随机抽取其真实掩膜信息中的一个区域片段,并根据该片段生成一张指示替换位置的地图(map of replacement positions);这里所谓的"一块"是指占据整个区域20%至100%范围内的具有相同语义类别的子区域。我们将该位置上的替代表现为用生成图像中的对应RGB值覆盖训练图像指定像素点的颜色值;这样处理后将这些被替代表现为一个新的"未知"分类(unknown category)。值得注意的是,在本研究中将"未知"与"未曾见过"进行了区分:"未曾见过"是指在零照分割任务中被明确定义的一类分类,在实际训练过程中无法获得相关数据支持;而"未知"则是我们在训练阶段就已预设的一种特殊分类形式,在后续推理过程中必须被识别出来并参与分类决策。
针对每张输入图像而言,请利用骨干网络将其转化为相应的视觉特征表示值。为此目的,请采用基于 prototype 的方法对每个像素进行分类处理。我们设定一组随机初始化并可训练的 prototype 集合 P = {p_i | i ∈ (1,…,n_seen + 1)} } ,其中 p_i 表示第 i 个 prototype 。随后,在各空间位置 x,y 处计算其对应的视觉特征向量 f_x,y 与该位置所有 prototype p_i 之间的余弦相似度 score(x,y,i) = cos(f_x,y, p_i) 。在距离计算上应用 softmax 函数归一化处理后得到一个语义类别概率分布图 S^hat ,其中 S^hat(x,y,i) = \frac{exp(score(x,y,i))}{\sum_{j=1}^{n_seen + 1} exp(score(x,y,j))} 。

在模型中使用了地面真实分割掩码M和空间位置总量N。用于表示是否属于该类别的二进制标签变量1(\ast), 当\ast成立时取值为1。通过最小化该损失函数可实现对各类别样本特征向量的聚类分析与学习, 并以适应未标记数据的学习需求来训练各类别对应的原型。
3.4. 训练阶段2:语义-视觉投影
在第二阶段中,我们的目标是建立一个将视觉与语义信息相结合的投影网络模型。基于已训练的可见类视觉原型集合Ps = {pi | i∈(1,..., nseen)}作为阶段1中的视觉表示。通过word2vec[37]模型生成相应的语义嵌入:将所见类名称编码为Ws = {wis | i=1, ..., nseen};对应的语义嵌入As定义为As = {as_i | i=1, ..., nseen};每个as_i由word2vec模型生成:as_i = word2vec(wis)。通过从维基百科语料库(约30亿个词)中提取的数据进行训练后生成的语言模型能够捕捉到类别间的语义关联性。为了简化后续推导过程,在此设定下省略了中间推导细节。随后我们采用多层线性变换构建轻量级投影网络结构,在L2回归损失函数下实现映射关系的学习与优化。在此过程中需要特别注意避免引入额外假设条件或引入新变量符号以避免歧义问题。此外还需要注意避免对原有变量符号进行修改以免引起混乱

3.5推理阶段
如图3所示,我们的推理流程采用了基于深度学习的技术框架来进行图像分割任务求解。在分割前阶段,我们利用第二阶段的训练成果来推断并构建这些未知类别对应的原始特征集合Pu(其中Pu = {pu_j | j ∈ (1, ..., nunseen)})。无论未知类的数量多少,在设计良好的投影机制下,在现有结构基础上新增未知类别均能轻松实现。接着我们进行了开放感知分割操作(即openaware分割),该过程将整个图像像素划分为nseen + 1个类别:预先定义好的nseen个已知类别以及一个动态扩展的未知类别区域。具体而言,在完成上述分类后,在所有未知区域像素位置上(即(xu, yu)坐标点),我们将所有未知区域像素对应的分类结果均设为空值(即置零)。这些位置上的像素信息则会被用来提取并分析其对应的视觉特征分布情况(如图3所示)。随后系统会根据这些特征信息自动判断其所属类别归属关系并完成最终图像解析任务

至此为止将输入的图像分为已可见类别或不可见类别;其中不可见类别作为一个重要的中间环节,在这一过程发挥了一定作用却不直接体现在最终预测结果中;通过区分可观察的部分与不可观察的部分来实现开放集拒绝以减少(广义)零点分割所带来的偏差问题。
4.实验
我们对可训练的原型架构与卷积分类器两种结构进行了系统性对比分析,在监督学习框架下对比分析了两种不同的结构设计方案及其性能表现。实验评估结果表明,在分割任务中两者的平均 IOU(mIoU)值分别为76.9%和76.8%,从数值上看两者表现较为接近且具有可比性。相较于卷积分类器而言,这种架构通过将语义信息编码为嵌入形式,并结合 prototype 向量来进行推断的方式能够更灵活地适应新增类别的情况,并且实现了对语义信息与视觉特征之间关系的简化表示
2)在ZSS框架下实现开放集拒绝旨在缓解数据偏见问题。为了验证开放集拒绝机制的有效性,我们设计并实施了三个实验方案:(1)在不采用开放集拒绝的情况下,我们利用投影网络生成未曾标注的原型图像,并在单一预测任务中同时推断已识别类别与未识别类别的标签;预期结果较差,因为训练数据仅包含已识别类别的标注像素信息,而在测试阶段,模型预测结果将显著偏向于已识别类别。(2)我们提出了一种基于改进方案的新方法。(3)通过引入真实标签信息来筛选出不属于已识别类别的像素点,并独立于已有识别类别的预测过程;换句话说,该方案仅区分像素属于哪个未识别类别而不关心其是否来源于已识别类别;这种设定降低了ZSS挑战性,但实际应用中难以满足需求;然而它为我们探讨解决偏见问题所能达到的最大性能提升提供了理论上限;并通过对比实验估计了我们的开放集拒绝模块在缓解数据偏见方面的效果。(4)结果显示如表1所示:当测试样本中的隐秘类别为牛与摩托车时(这些类群与可见类群牛-马及摩托车-自行车具有高度重叠),方案(1)导致隐秘类群mIoU仅为2.8%,表明模型对隐秘区域分类能力较差。(2)方案下训练得到模型在可见类群上的mIoU为73.8%,隐秘类群上的mIoU为51.3%,较方案(1)提升了约24个百分点,并通过显著更高的hIoU值(55.1%)证明了该方案的有效性。(3)而方案(3)则完全避免了此类别间混淆问题的影响,实现了可见类群上的mIoU高达76.7%,隐秘类群上的mIoU达到64.0%的优异成绩。



投影网络作为一种知识迁移方法被提出旨在实现从已知类别到未知类别知识的有效转移。为了评估该方法的效果我们比较了两种不同的设计思路:第一种方案仅采用词嵌入进行分类;第二种方案则是基于我们提出的投影网络设计。实验结果显示如表2所示:当处理飞机和沙发等未有相关训练数据的类别时第一种方案在训练数据所在的类别上获得了76.1%的平均IoU分数而在完全未知类别上的准确率仅为56.7%;相比之下第二种方案无论是在训练数据所在的类别还是在完全未知类别上均表现出了更高的泛化能力达到76.0%和65.2% respectively)。值得注意的是,在这些未见类别之间并不存在重叠的数据样本因此对于那些与训练数据高度相关的未知类别直接使用词嵌入进行分类可能是有效的;但对于那些与训练数据存在较大领域差距的情况仅仅依赖已有知识进行推断显然是不够的。通过学习一个能够映射已有知识到未知领域的函数我们可以有效缓解这种领域差距从而提升模型的表现效果
