Learning to Segment Every Thing

news2024/11/22 19:14:09

在这里插入图片描述

摘要

现有的目标实例分割方法要求所有训练样本都具有分割mask标注。然而,标注新的类别是非常费劲的,因此这将实例分割模型的应用范围限制在100个左右的有标注的类。本文的目的是提出一种新的部分监督的训练模型,以及一种新的权重传递函数,它使得实例分割模型可以在一组具有大量类别标注的数据中训练,但是其中只有一小部分具有mask标注信息。这些贡献使我们能够在Genome数据集和COCO数据集上训练Mask R-CNN进行检测和分割,其中Genome数据集包含3000个用框注释(box annotations)标注的视觉概念;COCO数据集包含用80个类别标注的mask注释(mask annotations)。我们在COCO数据集上利用对比实验细致地进行了方法评估。本文的工作是实例分割模型对视觉世界有显著理解的第一步。

在这里插入图片描述
图1. 我们探索了带有部分监督的训练实例分割模型:类的子集(绿框)在训练期间具有实例掩码注释;其余类(红框)只有边界框注释。这张图片显示了我们的模型对来自Visual Genome的3000个类进行训练的输出,使用了COCO中仅80个类的掩码注释。

1. Introduction

典型实例分割系统被限制在只能对大约100个对象类别进行分割。这种限制的一个主要原因是,最先进的实例分割算法需要强大的监督,而这种监督可能是有限的,而且收集新类别[23]的成本很高。相比之下,框注释更丰富,更便宜。这一事实提出了一个问题:**是否有可能训练高质量的实例分割模型,而没有完整的对所有类别的分割注释?**基于这一动机,本文引入了一种新的部分监督实例分割任务,并提出了一种新的迁移学习方法来解决它。

我们将部分监督实例分割任务制定为:(1)给定一组感兴趣的类别,其中一小部分类别有实例掩码注释,而其他类别只有边界框注释;(2)实例分割算法应该利用这些数据拟合一个模型,该模型可以对感兴趣的集合中所有对象类别的实例进行分割。由于训练数据是强注释示例(带有掩码的示例)和弱注释示例(只有方框的示例)的混合,我们将该任务称为部分监督任务。

部分监督训练与弱监督训练的主要好处是它允许我们通过利用两种现有数据集来构建一个大规模的实例分割模型:在大量类上具有边界框注释的数据集,如Visual Genome[20],以及在少量类上具有实例掩码注释的数据集,如COCO[23]。正如我们将展示的那样,这使我们能够将最先进的实例分割方法扩展到数千个类别,这一功能对于它们在现实世界中的部署至关重要。

为了解决部分监督实例分割问题,我们提出了一种基于Mask R-CNN[15]的新的迁移学习方法。Mask R-CNN非常适合我们的任务,因为它将实例分割问题分解为box检测和mask预测两个子任务。这些子任务由联合训练的网络处理。我们的方法背后的直觉是,一旦训练,box head的参数编码了每个对象类别的embedding,从而能够将该类别的视觉信息传输到部分监督的mask head。

我们通过设计一个参数化的权重传递函数来实现这种直觉,该函数被训练来预测类别的实例分割参数,作为其box检测参数的函数。权重传递函数可以在Mask R-CNN中使用带有掩码注释的类作为监督来进行端到端训练。在推理时,使用权重传递函数预测每个类别的mask参数,从而使模型能够分割所有对象类别,包括在训练时没有掩码注释的类别。

我们将在两种情况下探讨我们的方法。首先,我们使用COCO数据集[23]来模拟部分监督实例分割任务,作为在具有高质量注释和评估指标的数据集上建立定量结果的一种手段。具体来说,我们将完整的COCO类别分为一个带有掩码注释的子集和一个补充子集,系统只能访问该子集的边界框注释。由于COCO数据集只涉及少量(80)语义分离良好的类,定量评估是精确和可靠的。实验结果表明,我们的方法在强基线上提高了结果,在没有训练mask的类别上, mask AP的相对提高了40%。

在我们的第二个设置中,我们使用视觉基因组(VG)数据集[20]在3000个类别上训练大规模实例分割模型。VG包含了用于大量对象类别的边界框和标记,但是定量评估具有挑战性,因为许多类别在语义上重叠(例如,近义词),并且注释不是详尽的,这使得精度和召回性难以测量。此外,VG没有使用实例掩码进行注释。相反,我们使用VG来提供大规模实例分割模型的定性输出。我们的模型输出如图1和图5所示。

2. Related Work

2.1 实例分割

实例分割是一个高度活跃的研究领域[12,13,5,32,33,6,14,21,19,2],其中Mask R-CNN[15]代表了当前的最先进技术。这些方法假设一个完全监督的训练场景,其中所有感兴趣的类别在训练期间都有实例掩码标注。然而,完全有监督的训练使这些系统难以扩展到成千上万的类。我们工作的重点是放松这一假设,即使掩码只适用于一小部分类别,也能启用训练模型。为此,我们开发了一种基于Mask R-CNN的新的迁移学习方法。

2.2 权重预测和任务迁移学习

之前的工作不是直接学习模型参数,而是探索从其他来源(例如,[11])预测它们。在[8]中,图像分类器从一个零镜头类别的自然语言描述中预测。在[38]中,使用模型回归网络从少数例子中构造分类器权重,同样在[27]中,使用小型神经网络从每个单独概念的分类器权重中预测两个概念组合的分类器权重。在这里,我们设计了一个模型来预测Mask R-CNN中使用的特定于类的实例分割权重,而不是直接训练它们,这在我们的部分监督训练场景中是不可能的。

在[18]中,通过在自底向上的GrabCut[35]前景分割结果上训练实例分割模型来解决弱监督实例分割问题。与[18]不同,我们的目标是利用所有现有的标记数据,而不是人为地限制它。我们的工作在某种意义上也是互补的,自下而上的分割方法可以用于推断弱标记示例的训练掩码。我们把这个扩展留给以后的工作。

2.3 视觉嵌入

对象类别可以通过在视觉-语义空间中连续嵌入向量来建模,在视觉-语义空间中,附近的向量通常在外观或语义本体上接近。类嵌入向量可以通过自然语言处理技术(例如word2vec[26]和GloVe[31])、从视觉外观信息(例如[7])或两者都获得(例如[37])。在我们的工作中,mask R-CNN的box参数包含特定类别的出现信息,可以视为通过训练学习到的包围盒目标检测任务的嵌入向量。类嵌入向量通过在视觉相关的类之间共享外观信息来实现模型中的迁移学习。在实验中,我们还与基于NLP的GloVe嵌入[31]进行了比较。

3. Learning to Segment Every Thing

设C为对象类别的集合,我们想为它训练一个实例分割模型。大多数现有的方法都假设C中的所有训练示例都带有实例掩码注释。我们放松了这个要求,而是假设 C = A ⋃ B C = A \bigcup B C=AB,其中来自A中的类别的示例有mask,而B中的类别只有边界框。由于B类的例子在目标任务(实例分割)中是弱标记的,我们将强标签和弱标签组合的训练称为部分监督学习问题。注意到可以很容易地将maks转换为边界框,我们假设边界框注释也可用于A中的类。

给出一个像Mask R- CNN这样的实例分割模型,它有一个box检测组件和一个mask预测组件,我们提出了MaskX R- CNN方法,它将特定类别的信息从模型的box检测器传输到它的实例掩码预测器。

3.1. Mask Prediction Using Weight Transfer

我们的方法建立在Mask R-CNN[15]上,因为它是一个简单的实例分割模型,也达到了最先进的结果。简而言之,mask R-CNN可以被看作是增加了一个faster R-CNN[34] box检测模型,该模型带有一个额外的mask分支,即一个小型全卷积网络(FCN)[24]。在推理时,将掩码分支应用于域中的每个被检测对象,以预测实例级前景分割掩码。在训练过程中,掩码分支与Faster R-CNN中发现的标准box头联合并并行训练。

在Mask R-CNN中,边界盒分支的最后一层和掩码分支的最后一层都包含特定于类别的参数,分别用于对每个类别执行box分类和实例掩码预测。我们不是单独学习特定类别的包围盒参数和掩码参数,而是建议使用通用的、类别无关的权重传递函数从其box参数中预测类别的掩码参数,该函数可以作为整个模型的一部分联合训练。

对于给定类别 c c c,设 w d e t c w^c_{det} wdetc为box头最后一层中特定类别的对象检测权值, w s e g c w^c_{seg} wsegc为掩码分支中特定类别的掩码权值。 w s e g c w^c_{seg} wsegc不是作为模型参数,而是使用通用权重预测函数 T ( ⋅ ) T(·) T()对进行参数化得到:
在这里插入图片描述
其中 θ θ θ是类别无关的,可学习的参数。

同样的传递函数 T ( ⋅ ) T(·) T()可以应用于任何类别 c c c,因此,θ应该这样设置使得T可以泛化到在训练中没有观察到掩码的类。我们期望泛化是可能的,因为特定于类的检测权重$w^c_{det}可以被视为基于外观的类视觉嵌入。

T(·)可以实现为一个小的全连接神经网络。图2说明了权重传递函数如何适应Mask R-CNN,形成MaskX R-CNN。作为详细信息,请注意box头部包含两种类型的检测权重:RoI分类权重 w c l s c w^c_{cls} wclsc和box回归权重 w b o x c w^c_{box} wboxc。我们尝试只使用单一类型的检测权重(即 w d e t c = w c l s c 或 w d e t c = w b o x c w^c_{det} = w^c_{cls}或w^c_{det} = w^c_{box} wdetc=wclscwdetc=wboxc)或使用两种类型的权重的串联(即 w d e t c = [ w c l s c , w b o x c ] w^c_{det} = [w^c_{cls}, w^c_{box}] wdetc=[wclsc,wboxc])。

在这里插入图片描述
图2. 我们的MaskX R-CNN方法的详细说明。MaskX R-CNN不是直接学习掩码预测参数 w s e g w_{seg} wseg,而是使用学习到的权重传递函数T,从一个类别对应的box检测参数 w d e t w_{det} wdet中预测类别的分割参数 w s e g w_{seg} wseg。对于训练,T只需要集合A中的类的掩码数据,但它在测试时可以应用到集合A B中的所有类。我们还增加了一个互补的全连接多层感知器(MLP)的掩模头。

3.2 Training

在训练过程中,我们假设对于两组类A和B,实例掩码注释仅对A中的类可用,而对B中的类无效,而A和B中的所有类都有边界框注释可用。如图2所示,我们使用A B中所有类的标准box检测损失来训练box头,但只使用A中类的掩码损失来训练掩码头和权值传递函数T(·)。鉴于这些损失,我们探索了两种不同的训练过程:阶段式训练和端到端训练。

(1)Stage-wise training

由于mask R-CNN可以被视为具有掩码头的 faster R-CNN,一种可能的训练策略是将训练过程分为检测训练(第一阶段)和分割训练(第二阶段)。在第一阶段,我们只使用A B中类的边界框注释训练一个Faster R-CNN,然后在第二阶段,在保持卷积特征和边界框头部固定的情况下训练额外的掩码头。这样,每个类 c c c的类特定检测权值 w d e t c w^c_{det} wdetc可以被视为固定的类向量,在训练第二阶段时不需要更新。这种方法的实际好处是允许我们训练box检测模型一次,然后快速评估权重传递函数的设计选择。它也有缺点,我们接下来讨论。

(2)End-to-end joint training

研究结果表明,对于Mask R-CNN,多任务训练比单独训练更能提高训练效果。上述的分阶段训练机制分离了检测训练和分割训练,可能会导致较差的性能。因此,我们也想对box头和mask头进行端到端的联合训练。原则上,我们可以直接使用A和B类上的box损失和A类上的掩码损失进行反向传播训练。然而,这可能会导致集合A和B之间特定于类的检测权重 w d e t c w^c_{det} wdetc的差异,因为只有属于集合A的类的 w d e t c w^c_{det} wdetc将通过权重传递函数 T ( ⋅ ) T(·) T()从掩码损失中接收梯度。我们希望 w d e t c w^c_{det} wdetc在A和B之间是均匀的,以便预测的 w s e g c = T ( w d e t c ; θ ) w^c_{seg} = T(w^c_{det};θ) wsegc=T(wdetc;θ)在A上训练可以更好地泛化到B。

为了解决这种差异,我们采用了一种简单的方法:当反向传播掩码损失时,我们停止关于 w d e t c w^c_{det} wdetc的梯度,也就是说,我们只计算预测掩码权重 T ( w d e t c ; θ ) T(w^c_{det};θ) T(wdetc;θ)相对于传递函数参数 θ θ θ,而不是包围盒权重 w d e t c w^c_{det} wdetc。这可以实现为 w s e g c = T ( s t o p _ g r a d ( w d e t c ) ; θ ) w^c_{seg} = T(stop\_grad(w^c_{det});θ) wsegc=T(stop_grad(wdetc);θ)在大多数神经网络工具包。

3.3. Baseline: Class-Agnostic Mask Prediction

DeepMask[32]建立了训练深度模型来执行类不可知掩码预测的可能性,其中预测的对象掩码与类别无关。mask R-CNN也显示了类似的结果,掩模质量[15]只有很小的损失。在其他实验中,[32]证明,如果训练类未知模型来预测COCO类别子集上的掩码(特别是PASCAL VOC[9]中的20个),它可以在推理时推广到其他60个COCO类别。基于这些结果,我们使用mask R-CNN与类不可知的FCN掩码预测头作为基线。[32]和[15]的证据表明这是一个强有力的基线。接下来,我们引入一个扩展,可以改善基线和我们提出的权重传递函数。我们还比较了4.3中其他几个无监督或弱监督实例分割的基线。

3.4. Extension: Fused FCN+MLP Mask Heads

[15]中的mask R- CNN考虑了两种类型的掩码头:(1)FCN头,其中 M × M M \times M M×M掩码是用全卷积网络预测的;(2)MLP头,其中掩码是用由全连接层组成的多层感知器预测的,更类似于DeepMask。在mask R-CNN中,FCN头部产生更高的掩码AP。然而,这两种设计可能是互补的。直观地说,MLP掩码预测器可以更好地捕捉对象的要点,而FCN掩码预测器可以更好地捕捉细节(例如对象边界)。基于这一观察,我们建议通过将基线类别不可知的FCN和我们的权重传递函数(使用FCN)与类别不可知的MLP掩码预测器的预测融合来改进它们。我们的实验将表明,这一扩展带来了改进的基线和我们的转移方法。

当融合K个类的类未知和类特定掩码预测时,这两个分数被添加到最终的 K × M × M K \times M \times M K×M×M输出中,其中类未知掩码分数(形状为 1 × M × M 1 \times M \times M 1×M×M)被平铺K次并添加到每个类中。然后,通过一个sigmoid单元将 K × M × M K \times M \times M K×M×M掩码分数转换为每个类的掩码概率,并将其大小调整为实际的边界框大小,作为该边界框的最终实例掩码。在训练过程中,二元交叉熵损失应用于 K × M × M K \times M \times M K×M×M掩码概率。

4. Experiments on COCO

我们在COCO数据集[23]上评估了我们的方法,该数据集是小规模的,但包含80个类别的详尽掩码注释。这种特性可以对标准检测指标进行严格的定量评估,如平均精度(AP)。

4.1. Evaluation Protocol and Baselines

我们通过将80个类划分为集合A和B来模拟COCO上的部分监督训练场景,如3所述。我们考虑两种分割类型:(1)DeepMask[32]使用的20/60分割,它根据PASCAL VOC[9]中包含的20和60来划分COCO类别。从这里开始,我们将其称为voc和非voc类别集。(2)我们还使用不同大小的随机分割进行多次试验。这些实验允许我们描述voc/非voc分割中的任何偏差,并了解训练数据中的哪些因素导致更好的掩码泛化。

(1)Implementation details

我们在COCO train2017 split上训练我们的模型,在val2017上测试,每个类在检测头中有一个1024 d的RoI分类参数向量 w c l s c w^c_{cls} wclsc和一个4096 d的box回归参数向量 w b o x c w^c_{box} wboxc,在掩码头中有一个256 d的分割参数向量 w s e g c w^c_{seg} wsegc。输出掩码分辨率为 M × M = 28 × 28 M \times M = 28 \times 28 M×M=28×28。在我们所有的实验分析中,我们使用ResNet-50- fpn或ResNet-101- fpn[22]作为Mask R-CNN的骨干架构,从在ImageNet-1k图像分类数据集[36]上预训练的ResNet-50或ResNet-101[16]模型初始化。

我们遵循[15]中为Mask R-CNN建议的训练超参数。每个minibatch有16个图像,每个图像512个rois,网络在8个gpu上训练90k次运算。我们使用1e-4权重衰减和0.9动量,初始学习率为0.02,在60k和80k迭代后乘以0.1。我们使用平均精度(AP)评估实例分割性能,这是标准COCO度量,等于所有类别的平均精度从0.5到0.95 IoU阈值的平均值。

(2)基线和oracle

我们将我们的方法与使用FCN或融合FCN+MLP结构的类不可知掩码预测进行比较。在这些方法中,所有类别共享相同的学习分割参数 w s e g c w^c_{seg} wsegc(不涉及权值传递函数),而不是根据每个类别的box分类参数 w d e t c w^c_{det} wdetc预测每个类别的分割参数 w s e g c w^c_{seg} wsegc。来自DeepMask和Mask R-CNN的证据,如3.3中所讨论的,表明这种方法是一个强有力的基线。此外,我们将我们的方法与4.3中的无监督或弱监督实例分割方法进行了比较。我们还评估了一个oracle模型:mask R-CNN在A 和 B的所有类上训练,并在训练时访问A和B中所有类的实例掩码注释。这个完全监督模型是部分监督任务的性能上限;

4.2. Ablation Experiments

在这里插入图片描述
表1. 我们方法的消融研究。我们使用ResNet-50-FPN作为骨干网络,cls+box和2层LeakyReLU作为 T T T的默认输入和结构。(a,b,c)中的结果基于分阶段训练,我们研究了(d)中端到端训练的影响。Mask AP在COCO数据集val2017上进行评估,在20个PASCAL VOC类别(VOC)和60个剩余类别(非VOC)之间进行分割,如[32]。在强监督集合A上的表现用灰色表示。

(1)Input to T T T

在表1a中,我们研究了输入对权重传递函数t的影响,为了使迁移学习起作用,我们期望输入应该捕获关于类的视觉外观如何相互关联的信息。为了验证这种情况,我们设计了几个 T T T的输入:分配给每个类的随机高斯向量(randn),使用预训练的GloVe向量[31]为每个类的基于nlp的单词嵌入,来自Mask R-CNN box头分类器(cls)的权重,来自box回归的权重,以及两个权重的拼接(cls+box)。我们将这些不同嵌入的传输方法的性能与强基线进行比较:类不确定mask R-CNN。

输入cls, box和cls+box都大大优于基于nlp的嵌入(cls+box给出了最好的结果),这符合我们的预期,因为它们通过设计来编码视觉信息。

我们注意到,在集合A中的类上,所有方法都与完全监督的Mask R-CNN oracle比较良好,特别是,我们的传输方法对于所有输入类型的oracle略好。这一结果表明,我们的方法不会在具有强监督的类上牺牲任何东西,这是一个重要的属性。

(2)Structure of T T T

在表1b中,我们比较了T的不同实现:作为一个简单的仿射变换,或作为一个2层或3层的神经网络。由于在[27]中使用LeakyReLU[25]进行权重预测,我们在隐层中尝试将ReLU和LeakyReLU同时作为激活函数。结果表明,带有LeakyReLU的2层MLP在集合b上给出了最好的掩模AP。因此,我们选择T的cls+box、2层、LeakyReLU实现进行所有后续实验。

(3)Comparison of random A/B splits

除了将数据集划分为voc和非voc之外,我们还对COCO中的80个类进行了随机分割,并改变了训练类的数量。我们随机选择20、30、40、50或60个类来包含在集合A中(补体形式集合B),对每个分割大小执行5次试验,并将我们的权重传递函数T在B中的类上的性能与类别不确定基线进行比较。结果如图3所示,其中可以看到,我们的方法产生了超过40%的掩码AP相对增加。该图揭示了相对AP增加与集合A中每个类的平均训练样本数量之间的相关性。这表明,为了最大限度地将性能转移到集合B中的类,可能更有效地为集合A中的每个对象类别收集更多的实例掩码样本。

在这里插入图片描述
图3。每个点对应于我们在COCO类的随机a /B分割上的方法。我们将|A|从20个类变化到60个类,并绘制集合B中类(那些没有掩码注释的类)上掩码AP的相对变化与集合A中每个类的掩码注释的平均数量。

(4)Impact of the MLP mask branch

如3.4节所述,类不可知的MLP掩码分支可以与基线或传输方法融合。在表1c中,我们看到任何一个与MLP掩模分支融合的掩模头都始终优于相应的未融合版本。这证实了我们的直觉,基于fcn的掩模头和基于mlp的掩模头在本质上是互补的。

(5)Effect of end-to-end training

到目前为止,所有的消融实验都使用分阶段训练,因为它明显更快(相同的faster R-CNN检测模型可以重复用于所有实验)。然而,如3.2所述,分阶段训练可能是次优的。因此,表1d比较了分阶段训练和端到端训练。在端到端训练的情况下,我们调查是否有必要停止从 T T T w d e t w_{det} wdet的梯度,如前所述。实际上,结果符合我们的期望,即端到端训练可以带来改进的结果,但只有当从 T T T w d e t w_{det} wdet的反向传播被禁用时。我们认为,为了使A中的类嵌入与B中的类嵌入同质,这种修改是必要的;只有当A中的类嵌入被T的反向传播修改时,该属性才会被销毁。

4.3. Results and Comparison of Our Full Method

表2比较了我们的完整MaskX R-CNN方法(即,带有传输+MLP和T的Mask R-CNN,实现为cls+box, 2-layer, LeakyReLU)和使用端到端训练的类不确定基线。此外,我们还与以下基线方法进行了比较:a)在Faster R-CNN检测到的对象box上使用GrabCut[35]前景分割的无监督掩码预测(Faster R-CNN测试w/ GrabCut)和b)类似于[18]的弱监督实例分割,它在ground-truth盒子的GrabCut分割上训练实例分割方法(这里我们使用mask R-CNN) (mask R-CNN训练w/ GrabCut)。

MaskX R-CNN比这些方法的表现要好很多(掩码AP的相对增长超过20%)。我们还在表2的下半部分中用ResNet-101-FPN作为骨干网进行了实验。在ResNet-50-FPN上观察到的趋势可以推广到ResNet-101-FPN上,使目前使用的特定主网具有了独立性。图4显示了来自类不可知基线和我们的方法的掩码预测示例。

在这里插入图片描述
表2。MaskX R-CNN端到端训练。如表1所示,我们使用cls+box, 2层,LeakyReLU实现T,并添加MLP掩码分支(transfer+MLP),并遵循相同的评估协议。我们还报告了AP50和AP75(分别在0.5和0.75 IoU阈值处评估的平均精度),以及小型(APS)、中型(APM)和大型(APL)对象上的AP。对于ResNet-50-FPN和ResNet-101-FPN主干,我们的方法在没有掩码训练数据的集合B上显著优于4.3中的基线方法。
在这里插入图片描述
图4。来自类不可知基线的掩码预测(上一行)与我们的MaskX R-CNN方法(下一行)。绿色方框是集合A中的类,红色方框是集合b中的类。左边两列是A = {voc},右边两列是A = {non-voc}。

5. Large-Scale Instance Segmentation

到目前为止,我们已经对真实目标的模拟版本进行了实验:训练具有广泛视觉理解的大规模实例分割模型。我们相信这一目标代表了视觉识别研究的一个令人兴奋的新方向,而要实现这一目标,可能需要某种形式的局部监督学习。为了向这一目标迈出一步,我们使用来自视觉基因组(VG)数据集[20]的边界框和来自COCO数据集[23]的实例掩码,训练了一个大规模的MaskX R-CNN模型,遵循部分监督任务。

VG数据集包含108077张图像和超过7000个用对象边界框(但不包括掩码)标注的类别同义词集。为了训练我们的模型,我们选择了3000个最频繁的同义词集作为我们的类A和B集进行实例分割,它涵盖了COCO中的所有80个类。由于VG数据集图像与COCO有很大的重叠,在VG上训练时,我们将所有不在COCO val2017分割中的图像作为我们的训练集,并在剩余的VG图像上验证我们的模型。我们将所有与COCO重叠的80个VG类作为带掩码数据的集合A,将VG中剩余的2920个类作为只有边界框的集合B。

5.1 Training

我们使用分阶段训练策略训练大规模MaskX R-CNN模型。具体来说,我们训练了一个Faster R-CNN模型来检测VG中的3000个类,使用ResNet-101-FPN作为我们的骨干网,遵循4.1中的超参数。然后,在第二阶段,我们使用我们的权重传递函数T和类不可知的MLP掩码预测(即,传输+MLP),使用cls+box, 2层,LeakyReLU实现T。掩码头使用COCO数据集的train2017分割中的掩码注释在80个COCO类的子集(集合A)上训练。

5.2 Qualitative results

掩码AP很难在VG上计算,因为它只包含框注释。因此,我们将结果可视化,以了解使用权重传递函数在A B中所有3000个类上训练的模型的性能。图5显示了验证图像上的掩码预测示例,可以看到我们的模型在那些与COCO不重叠的VG类上预测了合理的掩码(集合B,显示在红色框中)。

这个可视化显示了我们的大规模实例分割模型的几个有趣的属性。首先,它学会了检测抽象概念,比如阴影和路径。这些通常很难细分。其次,通过简单地从VG中获取前3000个同义词集,一些概念就更加类似了。例如,该模型可以合理地分割孤立的树,但当检测到的树更像森林时,往往会分割失败。最后,探测器在分割整个物体和这些物体的部分方面做了合理的工作,例如有轨电车的窗户或冰箱的把手。与训练了80个COCO类别的检测器相比,这些结果说明了可以识别和分割数千个概念的系统的令人兴奋的潜力。
在这里插入图片描述
在这里插入图片描述

6. Conclusion

本文通过提出一种部分监督学习范式来解决大规模实例分割问题,在这种范式中,只有一部分类在训练过程中具有实例掩码,而其余的类则具有框注释。我们提出了一种新的迁移学习方法,其中学习到的权重传递函数预测每个类应该如何基于检测包围盒的参数进行分割。在COCO数据集上的实验结果表明,我们的方法极大地提高了掩码预测对没有掩码训练数据的类别的泛化能力。使用我们的方法,我们在Visual Genome数据集中建立了一个超过3000个类的大规模实例分割模型。定性结果是令人鼓舞的,并说明了一个令人振奋的新研究方向大规模实例分割。他们还揭示了在没有完全监督的情况下,将实例分割扩展到数千个类别是一个极具挑战性的问题,有足够的机会改进方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/115883.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

洛谷【算法1-7】搜索刷题——优化、错题

文章目录[USACO1.5]八皇后 Checker Challenge题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1提示思路搜索框架代码位运算优化lowbit运算思路kkksc03考前临时抱佛脚题目背景题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1提示思路代码吃奶酪题目描述输入格式输…

C++ STL 之可变长数组 Vector 详解

文章目录Part.I AttentionChap.I 注意事项Chap.II 操作技巧Part.II FunctionChap.I 构造函数Chap.II 增加函数Chap.III 删除函数Chap.IV 遍历函数Chap.V 判断/大小/其他函数Part.III CodePart.I Attention Chap.I 注意事项 使用vector需要注意的地方: 加引用#inc…

分布式与微服务系列 - SpringBoot + Zookeeper集群 + Dubbo分布式托管(提供者、消费者)+ Nginx反向代理

一、前言 本内容仅用于个人学习笔记,如有侵扰,联系删除 再搭建集群项目前,请先学习相关技术的知识: 分布式与微服务系列 - Dubbo分布式与微服务系列 - Zookeeper上篇:入门到精通参考文档:分布式与微服务…

状态机——奇葩的状态表示

状态机——奇葩的状态表示 简述 在动态规划中,遇到有一个点有多个状态,混在一起无法表示,那么就可以把状态分开,并且构造出不同状态之间的转移关系,然后再求出状态转移方程,之后就OK了。 题目 1049. 大…

GNN algorithms(3): Tri-party Deep Network Representation

目录 Tri-party Deep Network Representation Essence Thinking Abstract Introduction Problem Definition Tri-DNR pipelines Model Architecture Tri-party Deep Network Representation Essence 1) Deepwalk提取graph structure信息,即structural nod…

MyBatis 一文基础总结

MyBatis 一文基础总结老师的随堂上课笔记, 供参考~1.框架概述1.1 软件开发常用结构1.1.1三层架构三层的处理请求的交互:用户---> 界面层--->业务逻辑层--->数据访问层--->DB 数据库1.1.2 常用框架常见的 J2EE 中开发框架:MyBatis…

adworld-web-inget-20221226

inget 题目来源: 宜兴网信办 题目描述: 无 题目场景: http://61.147.171.105:51222 http://61.147.171.105:51222/?id1%27%20%20or%2011%20– Please enter ID,and Try to bypass nice : congratulations Flag Is : cyberpeace{3df1eecfb5f794d6a94eba429f7e2846} ┌…

【NI Multisim 14.0编辑环境——菜单栏】

目录 序言 一、菜单栏 🍉1.文件 🍉2.编辑 🍉3.视图 🍉 4.绘制 🍉5.MCU(微控制器)菜单 🍉 6.仿真 🍉 7.转移 🍉 8.工具 🍉 9.报告 &…

录屏有声音吗?电脑如何录屏有声音?图文教程来了!

无论是学习、办公还是娱乐,都需要屏幕录制。许多人在录制视频后发现视频没有发出声音。录屏有声音吗?电脑如何录屏有声音?一个相对简单的方法是在使用电脑的屏幕录制功能时检查是否打开录制屏幕的声音。此外,如果您担心每次都需要…

这应该是全网最全的MySQL数据库的常用命令了吧

目录 前言 数据库的创建 数据表的操作 表数据的增删查改 分组与函数查询 分组与函数查询 运算符:数学运算符 连接查询 前言 今天给大家点来MySQL数据库的常用命令总结,这应该是全网最详细,最实用的数据库命令总结了,因为命…

addr2line

1、符号表 1.1什么是符号表 符号表是内存地址与函数名、文件名、行号的映射表。符号表元素如下所示&#xff1a; <起始地址> <结束地址> <函数> [<文件名:行号>] 1.2为什么要配置符号表 为了能快速并准确地定位引擎发生Crash的代码位置 举个例子…

【UE4 第一人称射击游戏】16-重新装弹

上一篇&#xff1a; 【UE4 第一人称射击游戏】15-修复蹲伏和冲刺同时执行的bug 本章效果&#xff1a; 步骤&#xff1a; 1.打开“Weapon_Base”&#xff0c;添加两个整数类型变量&#xff0c;分别命名为“MaxAmmo”和“ClipSize”&#xff0c;表示最大载弹量和每次重新装弹的…

MATLAB多项式符号运算

符号计算是指在运算时&#xff0c;无须事先对变量进行赋值&#xff0c;而是将所有得到的结果以标准的符 号形式表示出来。符号计算是以符号对象和符号表达式作为运算对象的表达形式&#xff0c;最终给出 的是解析解;在运算过程中不会受到计算误差累积问题的影响&#xff0c;其计…

信息安全编码标准:使用SAST实施安全编码实践

信息安全编码标准:使用SAST实施安全编码实践 当开发团队使用信息安全编码标准来开发软件时&#xff0c;通常希望更少的安全Bug和更好的代码质量&#xff0c;从而给用户带来健壮性更好的产品。在本篇文章中&#xff0c;我们将介绍信息安全编码标准的基础知识、最佳实践、如何以…

【swaggo】swaggo使用详解

一、swagger简介 swagger是一套基于OpenAPI规范构建的开源工具&#xff0c;使用RestApi。swagger-ui 呈现出来的是一份可交互式的API文档&#xff0c;可以直接在文档页面尝试API的调用。     gin-swagger 是基于注释生成 API 文档&#xff0c;项目地址:https://github.com/…

vulfocus复现:log4j2-rce-2021-12-09

文章目录一、漏洞影响二、复现过程一、漏洞影响 Apache Log4j 是一个基于Java的日志记录工具。经过多年的开发迭代&#xff0c;Log4j 1.x的维护已经变得非常困难&#xff0c;因为它需要与非常旧的 Java 版本兼容&#xff0c;所以于 2015 年 8 月正式升级为Log4j2。黑客可以恶意…

【C++】堆与二叉树(非常详细,附带堆排哦)

之前学习了很多的数据结构 有顺序表&#xff0c;堆&#xff0c;栈... 今天学习一种新的逻辑结构二叉树&#xff0c;他的物理结构是堆 让我们先简单回顾一下堆吧堆的简单介绍和一些简单功能的实现 1. 二叉树 其实堆就是一种特殊的数组&#xff0c;他的逻辑结构是二叉树 &#…

汽车OTA概述

文章目录 前言一、软件更新二、ECU刷写包复用 1.引入库2.读入数据总结前言 掌握OTA&#xff08;Over-The-Air&#xff0c;无线技术&#xff09;&#xff0c;汽车领域与IT领域正在技术融合&#xff01; 技术更新&#xff0c;也增加了车载应用场景&#xff0c;软件更新、实时诊…

内存管理的关键技术——反向映射机制

Cheetah&#xff0c;曾为U-boot社区和Linux内核社区提交过若干补丁&#xff0c;主要从事Linux相关系统软件开发工作&#xff0c;负责Soc芯片BringUp及系统软件开发&#xff0c;喜欢阅读内核源代码&#xff0c;在不断的学习和工作中深入理解内存管理&#xff0c;进程调度&#x…

大数据技术——Flume实战案例

实战案例目录1. 复制和多路复用1.1 案例需求1.2 需求分析1.3 实现操作2. 负载均衡和故障转移2.1 案例需求2.2 需求分析2.3 实现操作3. 聚合操作3.1 案例需求3.2 需求分析3.3 实现操作1. 复制和多路复用 1.1 案例需求 使用 Flume-1 监控文件变动&#xff0c;Flume-1 将变动内容…