使用不可靠伪标签的半监督语义分割

使用不可靠伪标签的半监督语义分割,第1张

CVPR2022

https://arxiv.org/pdf/2203.03884.pdf

Semi-Supervised Semantic Segmentation Using Unreliable Pseudo-Labels

半监督语义分割的关键是为未标记图像的像素分配足够的伪标签。一种常见的做法是选择高置信度的预测作为伪真值,但这会导致一个问题,即大多数像素可能由于不可靠而未被使用。我们认为,每个像素对模型训练都很重要,即使它的预测是模糊的。直觉上,不可靠的预测可能会在顶级类别(即概率最高的类别)中混淆,但是,它应该对不属于其余类别的像素有信心。因此,对于那些最不可能的类别,这样一个像素可以令人信服地视为负样本。基于这一认识,我们开发了一个有效的管道,以充分利用未标记的数据。具体地说,我们通过预测熵来分离可靠和不可靠像素,将每个不可靠像素推送到由负样本组成的类别队列中,并设法用所有候选像素来训练模型。考虑到训练进化,预测变得越来越准确,我们自适应地调整可靠-不可靠划分的阈值。在各种基准和训练环境下的实验结果表明,我们的方法优于最先进的替代方法。

1.导言

语义分割是计算机视觉领域的一项基本任务,随着深度神经网络的兴起,语义分割得到了极大的发展[5,29,35,46]。现有的有监督方法依赖于大规模带注释的数据,在实践中获取这些数据的成本太高。为了缓解这个问题,人们进行了许多尝试[1,4,9,15,21,33,43,48]来实现半监督语义分割,即学习只有少量标记样本和大量未标记样本的模型。在这种情况下,如何充分利用未标记的数据变得至关重要。

典型的解决方案是为没有注释的像素分配伪标签。具体地说,给定一个未标记的图像,现有技术[27,41]从基于标记数据训练的模型中借用预测,并使用像素预测作为“基本事实”,从而增强监督模型。为了缓解确认偏差的问题[2],模型可能会受到错误的伪标签的影响,现有方法建议使用置信度分数过滤预测[42,43,50,51]。换句话说,只有高置信度的预测被用作伪标签,而模糊的预测被丢弃。

然而,仅使用可靠的预测所导致的一个潜在问题是,在整个训练过程中可能永远无法学习某些像素。例如,如果模型不能令人满意地预测某个特定类别(例如,图1中的椅子),则很难为关于该类别的像素分配准确的伪标签,这可能导致训练不足且绝对不平衡。从这个角度出发,我们认为,为了充分利用未标记的数据,每个像素都应该得到适当的利用。

如上所述,直接使用不可靠的预测作为伪标签将导致性能下降[2]。在本文中,我们提出了一种使用不可靠伪标签的替代方法。我们称我们的框架为U2PL。首先,我们观察到,一个不可靠的预测通常只会在少数几个类中混淆,而不是在所有类中混淆。以图2为例,带有白色十字的像素在等级摩托车和人身上接收到相似的概率,但模型非常确定该像素不属于等级汽车和火车。基于这一观察,我们重新考虑那些令人困惑的像素,将其作为那些不太可能的类别的负样本。具体来说,在从未标记图像获得预测后,我们使用每像素熵作为度量(参见图2a),将所有像素分为两组,即可靠和不可靠。所有可靠的预测都被用来导出正的伪标签,而预测不可靠的像素被推入充满负样本的内存库。为了避免所有负面伪标签只来自类别的子集,我们为每个类别使用了一个队列。这样的设计确保了每个类的负样本数量是平衡的。同时,考虑到伪标签的质量随着模型的精确性越来越高,我们提出了一种自适应调整阈值的策略来划分可靠像素和不可靠像素。

我们在广泛的训练环境下,在PASCAL VOC 2012[14]和Cityscapes[10]上评估了提议的U2PL,我们的方法超过了最先进的竞争对手。此外,通过可视化分割结果,我们发现,由于充分使用了不可靠的伪标签,我们的方法在那些模糊区域(例如,不同对象之间的边界)上取得了更好的性能。

2.相关工作

半监督学习有两种典型范例:

一致性正则化[3,15,33,36,42]和熵最小化[4,16]。最近,一个更直观但有效的框架:自训练[27]已成为主流。有几种方法[15,43,44]利用了强大的数据增强功能,例如基于自训练的CutOut[13]、CutMix[45]和ClassMix[31]。然而,这些方法并没有太多关注语义分割的特点,而我们的方法主要关注那些不可靠的像素,这些像素将被大多数基于自训练的方法过滤掉[34,43,44]。

当从教师网络生成输入图像的预测时,伪标签用于防止过度拟合到正确的伪标签[2,27]。FixMatch[37]利用置信阈值来选择可靠的伪标签。UPS[34]是一种基于FixMatch[37]的方法,它考虑了模型不确定性和数据不确定性。然而,在半监督语义分割中,我们的实验表明,在训练中加入不可靠的像素可以提高性能。

计算机视觉中的模型不确定性主要通过贝叶斯深度学习方法进行测量[12,23,30]。在我们的环境中,我们不关注如何测量不确定性。我们简单地使用像素概率分布的熵作为度量。

对比学习被许多成功的研究成果应用于自监督学习[7,8,17]。在语义切分中,对比学习已经成为一种很有前途的新范式[1,28,40,47,49]。然而,这些方法忽略了半监督分割中常见的假负样本,不可靠的像素可能会在对比丢失中被错误地推开。区分不太可能的不可靠像素类别可以解决这个问题。

负面学习旨在通过降低负面样本的概率来降低错误信息的风险[24,25,34,39],但这些负面样本的选择具有较高的可信度。换言之,这些方法仍然使用可靠的预测。相比之下,我们建议充分利用这些不可靠的预测进行学习,而不是将其过滤掉。

3.方法

在这一节中,我们从数学上建立了我们的问题,并在第二节中概述了我们提出的方法。3.1首先。我们过滤可靠伪标签的策略将在第二节中介绍。3.2. 最后,我们描述了如何在Sec中使用不可靠的伪标签。3.3.

3.1. 概述

给定一个标记集Dl=(x l i,y l i)Nl i=1和一个更大的未标记集Du={x u i}Nu i=1,我们的目标是通过利用大量未标记数据和较小的标记数据集来训练语义分割模型。

图3给出了U2PL的概述,它遵循典型的自训练框架,具有相同架构的两个模型,分别命名为教师和学生。这两个模型只有在更新权重时才有所不同。学生模型的权重θs更新与常规做法一致,而教师模型的权重θt是由学生模型的权重更新的指数移动平均(EMA)。每个模型由一个基于CNN的编码器h、一个带有分割头f的解码器和一个表示头g组成。在每个训练步骤中,我们对B标记图像Bl和B未标记图像Bu进行同等采样。对于每个标记的图像,我们的目标是最小化等式(2)中的标准交叉熵损失。对于每个未标记的图像,我们首先将其放入教师模型中并进行预测。然后,基于像素级熵,我们在计算等式(3)中的无监督损失时忽略了不可靠的像素级伪标签。这一部分将在第二节中介绍。3.2详细说明。最后,我们使用对比损失来充分利用非监督损失中排除的不可靠像素,这将在第二节中介绍。3.3.

我们的优化目标是最大限度地减少总体损失,具体如下:

其中Ls和Lu分别表示标记图像和未标记图像上的监督损失和非监督损失,Lc表示充分利用不可靠伪标签的对比损失。λu和λc分别是无监督损失和对比损失的权重。Ls和Lu都是交叉熵(CE)损失:

其中,y l i表示第i个标记图像的手注释遮罩标签,yˆu i是第i个未标记图像的伪标签。F◦ h是h和f的合成函数,这意味着图像首先被送入h,然后被送入f以得到分割结果。Lc是像素级信息[32]损耗,定义为:

其中M是锚像素的总数,zci表示类c的第i个锚的表示。每个锚像素后面有一个正样本和N个负样本,其表示为z+ci和z− 分别是cij。注意z=g◦ h(x)是表示头的输出。h·,·i是来自两个不同像素的特征之间的余弦相似性,其范围限制在−1到1,因此需要温度τ。在[28]之后,我们设定M=50,N=256,τ=0.5。

3.2. 伪标记

为了避免过度拟合错误的伪标签,我们利用每个像素概率分布的熵来过滤高质量的伪标签,以便进一步监督。具体来说,我们表示pij∈ R C为教师模型的分割头在像素j处为第i个未标记图像生成的softmax概率,其中C为班级数量。其熵由以下公式计算:

其中,pij(c)是第c维的pij值。

然后,我们将熵在αt上的像素定义为不可靠的伪标签,这种不可靠的伪标签不适合监督。因此,我们将像素j处第i个未标记图像的伪标签定义为:

式中,γt表示第t个训练步骤的熵阈值。我们将γt设为对应于αt的分位数,即γt=np。百分位(H.flatte(),100*(1-αt)),其中H是每像素熵图。为了提高性能,我们在伪标记过程中采用了以下调整策略。

动态分区调整。

在训练过程中,伪标签逐渐趋于可靠。基于这种直觉,我们在每个历元用线性策略调整不可靠像素的比例αt:

其中α0为初始比例,设置为20%,t为当前训练时间。

自适应体重调整。

在获得可靠的伪标签后,我们将其纳入等式(3)中的无监督损失中。该损失的权重λu定义为当前小批量中熵小于阈值γt的像素百分比乘以基本权重η的倒数:

其中1(·)为指示器功能,η设为1。

3.3. 使用不可靠的伪标签

在半监督学习任务中,丢弃不可靠的伪标签或降低其权重被广泛用于防止模型性能下降[37,41,43,50]。我们遵循这一直觉,根据公式(6)过滤掉不可靠的伪标签。

然而,这种对不可靠伪标签的蔑视可能会导致信息丢失。显然,不可靠的伪标签可以提供更好的识别信息。例如,图2中的白色十字是典型的不可靠像素。它的分布显示了模型的不确定性,以区分阶级的人和阶级的摩托车。然而,这种分布也证明了模型的确定性,即不会将该像素区分为普通汽车、普通火车、普通自行车等。这种特性为我们提出使用不可靠的伪标签进行半监督语义分割提供了主要依据。

U2PL的目标是利用不可靠的伪标签信息进行更好的区分,这与最近流行的对比学习范式在区分表征方面是一致的。但由于在半监督语义分割任务中缺少标记图像,我们的U2PL基于更复杂的策略。U2PL有三个组件,分别命名为锚像素、正候选和负候选。这些分量是以抽样的方式从某些集合中获得的,以减少巨大的计算成本。接下来,我们将介绍如何选择:(a)锚定像素(查询);(b) 每个锚的正样本;(c) 每个锚的负样本。锚定像素。在训练期间,我们为当前小批量中出现的每个类采样锚像素(查询)。我们将c类的所有标记候选锚像素的特征集表示为Al c,

其中,yij是标记图像i的第j个像素的基本真值,δp表示特定类别的正阈值,并在[28]之后设置为0.3。zij的意思是

标记图像i的第j个像素的表示。对于未标记数据,对应的Au c可计算为:

它与Al c类似,唯一的区别是我们使用基于等式(6)的伪标签yˆij,而不是手工标注的标签,这意味着合格的锚像素是可靠的,即H(pij)≤ γt。因此,对于c级,所有合格的锚定装置

正样本。

同一类别的所有锚的正样本相同。它是所有可能锚定的中心:

负样本。

我们定义了一个二进制变量nij(c)来识别图像i的第j个像素是否符合c类负样本的条件。

其中,nlij(c)和nuij(c)是标记图像i和未标记图像i的第j个像素是否分别合格为c类负样本的指示符。

对于第i个标记图像,c类合格负样本应为:(a)不属于c类;(b) 很难区分c类和它的基本事实类别。因此,我们引入像素级别的类别顺序Oij=argsort(pij)。显然,我们有Oij(arg max pij)=0和Oij(arg min pij)=C− 1.

其中rl是低秩阈值,设置为3。这两个指标分别反映了特征(a)和(b)。

对于c类样品:(i)对于a类样品,不可靠;(b) 可能不属于c类;(c) 不属于最不可能的类别。类似地,我们也使用Oij来定义nuij(c):其中rh是高阶阈值,设置为20。最后,c类的负样本集是

分类记忆库。

由于数据集的长尾现象,某些特定类别的负面候选数据在小批量中非常有限。为了保持负样本的稳定数量

我们使用分类记忆库Qc(FIFO队列)存储c类的负样本。

最后,算法1展示了使用不可靠伪标签的整个过程。锚的所有特征都与梯度有关,因此来自学生,而正样本和负样本的特征则来自教师。

4.实验

4.1. 安装程序

数据集。

PASCAL VOC 2012[14]数据集是一个标准的语义分割基准,包含20个对象语义类和1个背景语义类。训练集和验证集分别包括1464和1449张图像。在[9,21,43]之后,我们使用SBD[18]作为增广集,增加了9118张额外的训练图像。由于SBD[18]数据集是粗略注释的,PseudoSeg[50]只将标准1464幅图像作为整个标记集,而其他方法[9,21]将所有10582幅图像作为候选标记数据。因此,我们在经典集(1464张候选标记图像)和混合集(10582张候选标记图像)上评估了我们的方法。Cityscapes[10]是一个为城市场景理解而设计的数据集,由2975张带有精细注释的面具的训练图像和500张验证图像组成。对于每个数据集,我们将U2PL与1/2、1/4、1/8和1/16分区协议下的其他方法进行比较。

网络结构。

我们使用在ImageNet[11]上预先训练过的ResNet-101[19]作为主干,使用DeepLabv3+[6]作为解码器。分割头和表示头都由两个Conv BN ReLU块组成,其中两个块都保持特征图分辨率,第一个块将通道数减半。分割头可以看作是一个像素级分类器,将ASPP模块输出的512维特征映射到C类中。表示头将相同的特征映射到256维的表示空间。

评价

按照之前的方法[15,21,33,48],图像被中心裁剪成PASCAL VOC 2012的固定分辨率。对于城市景观,以前的方法适用于幻灯片窗口评估,我们也是。然后,我们采用联合上的相交平均值(mIoU)作为度量来评估这些裁剪图像。所有结果均在城市景观[10]和PASCAL VOC 2012[14]上的val集上测量。在1/4和1/8分区方案下,对搅拌器PASCAL VOC 2012[14]val进行了烧蚀研究。

实施细节。

对于搅拌机和经典PASCAL VOC 2012数据集的训练,我们使用了随机梯度下降(SGD)优化器,初始学习率为0.001,重量衰减为0.0001,作物大小为513×513,批量大小为16,训练时间为80。对于城市景观数据集上的训练,我们还使用了随机梯度下降(SGD)优化器,初始学习率为0.01,权重衰减为0.0005,作物大小为769×769,批量大小为16,训练时间为200。在所有实验中,解码器的学习速度是主干网的十倍。在训练过程中,我们使用poly调度来衰减学习率:lr=lrbase·

4.2. 与现有备选方案的比较

我们将我们的方法与以下最新的半监督语义切分方法进行了比较:均值教师(MT)[38]、CCT[33]、GCT[22]、伪SEG[50]、CutMix[15]、CPS[9]、PC2Seg[48]、AEL[21]。我们重新实现了MT[38],CutMix[45],以进行公平比较。对于城市景观[10],我们还复制了CPS[9]和AEL[21]。所有结果都配备了相同的网络架构(DeepLabv3+作为解码器,ResNet-101作为编码器)。需要注意的是,经典PASCAL VOC 2012数据集和blender PASCAL VOC 2012数据集仅在训练集上有所不同。他们的验证集是相同的,共有1449张图像。

经典PASCAL VOC 2012数据集的结果。

标签。我们的经典VOC-2012数据集与其他最先进的方法PASCAL-1进行了比较。在1/16、1/8、1/4和1/2分区协议下,U2PL的性能分别比监督基线高出+22.21%、+14.23%、+7.78%和+4.47%。为了公平比较,我们只列出在经典PASCAL VOC 2012上测试的方法。在1/16、1/8、1/4和1/2分区协议下,我们的方法U2PL在所有分区协议下的性能分别比PC2Seg高出+10.98%、+2.87%、+3.88%和+3.11%。即使在完全监督下,我们的方法也比PC2Seg高出+5.34%。

blender PASCAL VOC 2012数据集的结果。

标签。2显示了blender PASCAL VOC 2012数据集上的比较结果。在大多数分区协议下,我们的方法U2PL优于所有其他方法。与基线模型(仅使用监督数据进行训练)相比,U2PL在1/16、1/8、1/4和1/2分区协议下分别实现了+9.34%、+7.46%、+3.50%和+3.37%的所有改进。与现有的最先进的方法相比,U2PL在所有分区协议下都优于它们。特别是在1/8协议和1/4协议下,U2PL的性能优于AEL,分别为+1.44%和+1.24%。

城市景观数据集上的结果。

标签。CitySVal 3演示了在Capes集合上的比较结果。在1/16、1/8、1/4和1/2分区协议下,U2PL的性能比仅受监督的基线提高了+9.16%、+3.95%、+4.08%和+1.29%。U2PL的性能显著优于现有的最先进方法。特别是,在1/16、1/8、1/4和1/2分区协议下,U2PL的性能优于AEL,分别为+0.45%、+0.93%、+1.03%和+0.11%。

请注意,当标记数据非常有限时,例如,当我们只有92个标记数据时,我们的U2PL比以前的方法有很大的优势(对于经典的PASCAL VOC 2012,在1/16分割下(+10.98%),证明了使用不可靠伪标签的效率。

4.3. 消融研究

使用不可靠伪标签的有效性。

为了证明我们的核心观点,即使用不可靠的伪标签促进半监督语义分割,我们进行了关于选择可靠性不同的否定候选词(第3.3节)的实验。标签。4演示了PASCAL VOC 2012 val集合上的mIoU结果。“不可靠”优于其他选项,证明使用不可靠的伪标签确实有帮助。附录B显示了在城市景观上使用不可靠伪标签的有效性。

概率等级阈值的有效性。

秒。3.3建议使用概率等级阈值来平衡不可靠像素造成的信息量和混乱。标签。5验证了这种平衡能促进绩效。rl=3和rh=20的表现大大优于其他选项。当rl=1时,假负候选不会被过滤掉,从而导致像素的类内特征被Lc错误区分。当rl=10时,否定候选词倾向于在语义上与相应的锚像素无关,这使得这种区分的信息量较小。附录D.2研究了城市景观的PRT和α0。

组件的有效性。

我们在Tab中进行实验。6.逐步烧蚀U2PL的每个组件。为了公平比较,在blender PASCAL VOC 2012数据集上,所有烧蚀都在1/4分区协议下。最重要的是,我们使用无Lc训练模型作为基线,实现了73.02%的mIoU(表2中的MT)。只需在不使用DPA策略的情况下添加Lc即可将基线提高+4.06%。分类存储库Qc,加上PRT和高熵过滤,比基线提高了+5.47%。动态分区调整(DPA)与高熵过滤相结合,比基线提高了+6.05%。请注意,DPA是一种无需调谐的线性调整(参考等式(7)),它简单而有效。对于概率秩阈值(PRT)分量,我们根据制表符设置相应的参数。5.在没有高熵过滤的情况下,改善率在+4.55%时显著降低。最后,当将所有贡献相加时,我们的方法在1/4分区协议下达到了最新的结果,mIoU为79.30%。根据这个结果,我们在Tab上的所有实验中应用这些组件和相应的参数。2和标签。1.

超消融参数研究。

我们烧蚀了U2PL的以下重要参数。标签。7研究了不同初始可靠不可靠分区的影响。该参数α0对性能有一定影响。我们发现α0=20%达到最佳性能。小的α0会引入不正确的伪标签进行监督,大的α0会使一些高置信度样本的信息未被充分利用。附录D.1研究了其他超参数。

4.4. 定性结果

图4显示了PASCAL VOC 2012 val集合上不同方法的结果。得益于使用不可靠的伪标签,U2PL优于其他方法。请注意,在不过滤那些不可靠像素的情况下使用对比学习,有时会对模型造成损害(参见图4中的第2行和第4行),导致比仅使用标记数据训练模型时更糟糕的结果。

此外,通过对分割结果的可视化,我们发现我们的方法获得了更好的分割效果

这些模糊区域(例如,不同对象之间的边界)上的性能。这种视觉差异证明,我们的方法最终增强了不可靠预测标签的可靠性。

5.结论

我们提出了一个半监督语义切分框架U2PL,该框架将不可靠的伪标签加入到训练中,其性能优于许多现有的最先进的方法,这表明我们的框架为半监督学习研究提供了一个新的有希望的范例。我们的烧蚀实验证明了这项工作的洞察力是非常可靠的。定性结果为其有效性提供了直观的证明,尤其是在语义对象或其他模糊区域之间的边界上表现更好。与完全监督的方法相比,我们的方法的训练非常耗时[5,6,29,35,46],这是半监督学习任务的一个常见缺点[9,20,21,33,43,48]。由于标签的极度缺乏,半监督学习框架通常需要为更高的准确性及时付出代价。未来可以对他们的训练优化进行更深入的探索。

刚好用了swin,做分类和目标检测,也来试试分割的,而且很多场景分割更有效果,比如积水识别,安全带,土坑裂缝等等

案例来自比赛

https://www.dcic-china.com/competitions/10021

这回真是小试牛刀了,因为是智慧农业赛题——牛只图像分割竞赛

以牛只实例分割图像数据作为训练样本,参赛选手需基于训练样本构建模型,对提供的测试集中的牛只图像进行实例分割检测。方法不限于实例分割,

目标检测是识别图像中存在的内容和检测其位置,

语义分割是对图像中的每个像素打上类别标签,实例分割其实是目标检测和语义分割的结合,在图像中将目标检测出来(目标检测),然后对每个像素打上标签(语义分割)。 语义分割不区分属于相同类别的不同实例(所有人都标为红色),实例分割区分同类的不同实例(使用不同颜色区分不同的人)。所以题目严格意义是语义分割,但是要标出每只牛。

看下数据就是牛棚里的,标签是多边形 polygon,标的还是一般,数据有点模糊,而且角度是俯视,用coco的cow恐怕差太多,图片比较少训练200张,牛2千多,测试100张;

可以通过标注软件查看和修改标注,比如cvat,不过这个是网页版

这里就先用swin-transformer-object-detection跑个baseline吧

https://github.com/SwinTransformer/Swin-Transformer-Object-Detection

部署swin环境同目标检测,这里用paddlex来处理数据集,所以部署环境

conda create -n paddlex python=3.7

conda activate paddlex

pip install cython

git clone https://github.com/philferriere/cocoapi.git

cd .\cocoapi\PythonAPI

python3 setup.py build_ext install

pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple

pip install paddlex -i https://mirror.baidu.com/pypi/simpleor

git clone https://github.com/PaddlePaddle/PaddleX.git

cd PaddleX

git checkout develop

python setup.py install

环境搭建好了,

现在将数据集格式为

划分数据集,也可以省略测试集

paddlex --split_dataset --format COCO --dataset_dir 200 --val_value 0.2 --test_value 0.1

将图片转移到训练和验证文件夹

处理好图片就开始配置swinT了,

两个地方 改为具体类别数 设为1

主要修改类别为自己的类别数 cat changeclass.py

相应修改configs/ base /datasets/coco_instance.py中数据集路径

修改模型权重参数等

修改configs\swin\mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_3x_coco.py中的max_epochs、lr

参数文件改为coco_instance的

_base_ = [

]

注意一个类也要逗号,还要进行编译 python setup.py install

训练

python tools/train.py configs/swin/mask_rcnn_swin_tiny_patch4_window7_mstrain_480-800_adamw_3x_coco.py

这里提交后只有0.6多,后面还需要调优参数,增强数据,或者试试swin 分割 ,swin-Unet之类。

图像分类:根据图像的主要内容进行分类。

数据集:MNIST, CIFAR, ImageNet

##目标检测(object detection)

给定一幅图像,只需要找到一类目标所在的矩形框

人脸检测:人脸为目标,框出一幅图片中所有人脸所在的位置,背景为非目标

汽车检测:汽车为目标、框出一幅图片中所有汽车所在的位置,背景为非目标

数据集:PASCAL, COCO

##目标识别(object recognition)

将需要识别的目标,和数据库中的某个样例对应起来,完成识别功能

人脸识别:人脸检测,得到的人脸,再和数据库中的某个样例对应起来,进行识别,得到人脸的具体信息

数据集:PASCAL, COCO

##语义分割(semantic segmentation)

对图像中的每个像素都划分出对应的类别,即对一幅图像实现像素级别的分类

数据集:PASCAL, COCO

##实例分割(instance segmentation)

对图像中的每个像素都划分出对应的类别,即实现像素级别的分类,类的具体对象,即为实例,那么实例分割不但要进行像素级别的分类,还需在具体的类别基础上区别开不同的实例。

比如说图像有多个人甲、乙、丙,那边他们的语义分割结果都是人,而实例分割结果却是不同的对象,具体如下图(依次为:原图 ,语义分割 ,实例分割):

数据集:PASCAL, COCO


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10094036.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存