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

使用不可靠伪标签的半监督语义分割,第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]。由于标签的极度缺乏,半监督学习框架通常需要为更高的准确性及时付出代价。未来可以对他们的训练优化进行更深入的探索。

在深度学习广泛应用于计算机视觉之前,人们一般使用TextonForest和Random Forest based Classifiers的方法进行语义分割。

深度学习方法中常见的一种语义分割方法是图像块分类(patch classification),即利用像素周围的图像块对每一个像素进行分类。原因是网络模型通常包含全连接层(fully connect layer),而且要求固定大小的图像输入。

2014年,加州大学伯克利分校的Long等人提出全卷积网络(FCN),使得卷积神经网络不需要全连接层就可以实现密集的像素级分类,从而成为当前非常流行的像素级分类CNN架构。由于不需要全连接层,所以可以对任意大小的图像进行语义分割,而且比传统方法要快上很多。之后,语义分割领域几乎所有的先进方法都是基于该模型进行扩展的。

为了保留像素的空间位置信息,有两种方法可以解决这个问题:

(1)编码器-解码器结构,编码器与解码器之间通常存在跨越连接(shortcut connections)。U-Net是这类架构中最常用的模型之一(源于: Convolutional Networks for Biomedical Image Segmentation )。

(2)使用带孔卷积(dilated/atrous convolutions),从而除去池化层。

条件随机场(CRF)通常用于后处理来进一步改善分割效果。CRF是一种基于底层图像的像素强度进行的平滑分割的图模型,原理是相似强度的像素更可能标记为同一类别。

主要贡献:

1. 为语义分割引入了端到端的全卷积网络。

2. 利用ImageNet的预训练网络做语义分割。

3. 使用反卷积层(取代线性插值)进行上采样。

4. 引入少量跳跃连接改善上采样粗糙的像素定位。

主要贡献:

使用编码-解码架构。并且将池化结果应用到译码的过程,使用的是Pooling indices(记录位置信息)而不是简单地复制特征。其实没有跳跃连接,更节省内存。

U-Net的结构更规整,是FCN的延伸,通过将编码器的每层结果拼接到译码器中得到更好的结果。

移去了VGG网络的最后两层池化层,并且后续的卷积层都采用带孔卷积。还训练了一个模块,输入卷积结果,级联了不同孔大小的带孔卷积层。

主要贡献:

1. 通过带孔卷积提取和聚合多尺度的信息。

2. 提出context module来聚合多尺度的信息。

主要贡献:

1. 采用了带孔卷积。

2. 提出了金字塔形的空洞池化(Atrous Spatial Pyramid Pooling, ASPP)。

3. 采用了全连接的CRF。

由于带孔卷积需要大量的高分辨率特征图,对计算和内存的消耗很大,因此无法利用高分辨率的精细预测。

该文章采用编码解码结构。编码器是ResNet-101,解码器是RefineNet模块,用于连接编码器中高分辨率特征和先前RefineNet中低分辨率的特征。

每一个RefineNet都有两个组件,一个组件通过对低分辨率特征的上采样 *** 作融合不同的分辨率特征,另一个组件利用窗口为5*5且步长为1的池化层来获取背景信息。这些组件都遵循恒等映射(identity mapping)思想,采用残差连接设计。

主要贡献:

1. 精心设计了译码模块。

2. 所有模块遵循残差连接设计。

金字塔池化模块通过使用大窗口的池化层来提高感受野。使用带孔卷积来修改ResNet网络,并增加了金字塔池化模块。金字塔池化模块对ResNet输出的特征进行不同规模的池化 *** 作,并作上采样后,拼接起来,最后得到结果。

金字塔池化模块简单来说是将DeepLab(不完全一样)ASPP之前的feature map池化了四种尺度之后,将五种feature map拼接到一起,经过卷积,最后进行预测的过程。

在ResNet的第四个阶段之后(即输入到金字塔池化模块的阶段),在主分支损失之外增加辅助损失(其他论文称为中间监督)。

主要贡献:

1. 提出了金字塔池化模块来聚合图片上下文信息。

2. 使用附加的辅助损失函数。

理论上更深的ResNet能有很大的感受野,但研究表明实际上网络更适合收集较小区域(有效感受野)内的信息,因此使用大核来扩大感受野。但是核越大,计算量越大,因此将 k x k 的卷积近似转换为 1 x k + k x 1 和 k x 1 + 1 x k 卷积的和。本文称为GCN。

编码器使用ResNet(无带孔卷积),解码器由GCNs和反卷积构成。此外还用到了边界精调(Boundary Refinement, BR)的简单残差块。

主要贡献:提出具有大卷积核的编码-解码架构。

主要贡献:

1. 改进ASPP。将不同孔率的带孔卷积的结果拼接起来(DeepLab v2使用的是求和),并使用了BN。

2. 串行部署ASPP的模块。直接对中间的特征图进行带孔卷积(Dilated Convolutions(2015) 是在最后做)。

由于之前的RCNN或是SPPnet或是FasterRCNN都是利用select search来做Region proposal的,即使把这种算法移植到GPU上,这种算法也忽略了很多sharing computation的机会.所以这篇文章提出了Region Proposal Network(RPN),只利用深度学习网络来训练得到Region Proposal.

RPN 的输入是一张照片,输出是一个长方形的区域,以及这个区域是否为物体的得分.

具体计算原理是先对VGG等常规网络最后的卷积层后加入3*3的小卷积,作为一个滑动窗口,然后分别再做两次1*1的卷积,得到anchor box分别是否为物体,以及他对应的候选区域的长方形.对于每一个feature map,我们这里可以得到9个anchor.

最后在经过一个loss function做整体优化.

具体细节,参考:


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

原文地址: http://outofmemory.cn/yw/11897047.html

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

发表评论

登录后才能评论

评论列表(0条)

保存