摘要:
我们提出了一个半监督语义分割的方法,使用了对抗网络。设计了一个鉴别器,去区分预测概率图与真实分割分布,同时考虑了空间分辨率。
我们表明,通过**将对抗性损失与所提出模型的标准交叉熵损失耦合起来**,所提出的鉴别器可以用于提高语义分割精度。
**此外,鉴别器通过发现未标记图像的预测结果中的可信区域来实现半监督学习,从而提供额外的监督信号。**
与使用弱标记图像的现有方法相比,我们的方法利用未标记图像来增强分割模型。在PASCAL VOC 2012和Cityscapes数据集上的实验结果证明了该算法的有效性。
1介绍
语义分割旨在为图像中的每个像素指定一个语义标签,例如,人、狗或路。这项任务对于广泛的应用程序至关重要,例如自动驾驶和图像编辑。
已经提出了许多方法来处理这项任务[17、25、27、28、43、44],并构建了大量基准数据集[5、9、32、45],重点关注不同的场景/对象类别集以及各种现实世界应用程序。然而,由于对象/场景外观变化大、遮挡和缺乏上下文理解,此任务仍然具有挑战性。基于卷积神经网络(CNN)的方法,例如完全卷积网络(FCN)[28],最近在语义分割任务上取得了显著改进,并且大多数最先进的算法都基于FCN和附加模块。
尽管基于CNN的方法取得了惊人的性能,但它们需要大量的训练数据。与图像分类和目标检测不同,语义分割需要对每个训练图像进行精确的逐像素标注,这可能会花费大量的费用和时间。为了简化获取高质量数据的工作,半监督/弱监督方法被应用于语义分割任务。
这些方法通常假设在图像级[15、33、34、36、37]、框级[6]或点级[2]上存在附加标注。
**本文提出了一种基于对抗学习的半监督语义分割算法。**GAN[10]最近的成功促进了在许多任务中有效的无监督和半监督学习。一个典型的GAN由两个子网络组成,即生成器和鉴别器,这两个子网络在训练过程中进行一个最小-最大博弈。生成器获取样本向量并输出目标数据分布的样本,例如人脸,而鉴别器旨在区分生成的样本和目标样本。然后训练生成器通过反向传播混淆鉴别器,从而生成与目标分布相似的样本。**在本文中,我们应用了类似的方法,将分割网络视为GAN框架中的生成器。与训练从噪声矢量生成图像的典型生成器不同,我们的分割网络输出给定输入图像的语义标签的概率图。在这种设置下,我们在空间上强制分割网络的输出尽可能接近地面真值标签地图。**
**为此,我们采用了一种对抗性学习方案,并提出了一种全卷积鉴别器,该鉴别器学习区分地面真值标签图和分割预测的概率图。结合交叉熵损失,我们的方法使用了一种对抗性损失,它鼓励分割网络以高阶结构生成接近地面真值标签图的预测概率图。**这个想法类似于使用概率图形模型,如条件随机场(CRF)[4,25,44],但在测试阶段没有额外的后处理模块。**此外,在推理过程中不需要鉴别器,因此所提出的框架在测试过程中不会增加任何计算负载。通过使用对抗学习,我们在半监督环境下进一步利用了所提出的方案。**
**在这项工作中,我们结合了两个半监督损失项来利用未标记的数据。首先,我们利用鉴别器网络生成的置信图作为监控信号,以自学习的方式引导交叉熵损失。置信度图表明预测分布的哪些区域接近地面真值标签分布,以便分割网络可以通过掩蔽交叉熵损失信任和训练这些预测。其次,我们将监督设置中采用的对抗性损失应用于未标记数据,这鼓励模型预测接近地面真实分布的未标记数据的分段输出。**
**这项工作的贡献总结如下。
首先,我们开发了一个对抗性框架,它可以提高语义分割的准确性,而不需要在推理过程中增加额外的计算负载。
其次,我们提出了一个半监督框架,并表明通过添加图像而不添加任何注释可以进一步提高分割精度。
第三,我们利用未标记图像的鉴别器网络响应来发现有助于分割训练过程的可信区域,从而促进半监督学习。**
在PASCAL VOC 2012[9]和Cityscapes[5]数据集上的实验结果验证了所提出的半监督语义分割对抗框架的有效性。
2相关工作
**语义分割。**
最近最先进的语义分割方法是基于CNN的进展。如[28]中所建议的,可以将分类CNN(例如AlexNet[21]、VGG[39]或ResNet[12])转换为用于语义分割任务的完全卷积网络(FCN)。然而,使用像素级注释标记图像通常很昂贵且困难。为了减少标记分割基本事实的繁重工作,近年来提出了许多弱监督方法。在弱监督设置中,分割网络不在像素级别上使用完全注释的地面真相进行训练。相反,网络是用各种容易获得的微弱监控信号进行训练的。在最近的方法中,图像-水平标签被用作监控信号。[36]和[35]中的方法使用多实例学习(MIL)来生成用于监督训练的潜在分割标签图。另一方面,Papandreou等人[33]使用图像级别标签来惩罚对不存在对象类的预测,而Qi等人[37]则使用对象定位来细化分割。Hong等人[15]利用标记图像训练分类网络,作为反褶积的特征提取器。除了图像级监控外,分割网络还可以通过边界框[6、19]、点监控[2]或网络视频[16]进行训练。
然而,这些弱监督方法的性能不如完全监督方法,特别是因为很难从弱监督信号中推断出详细的边界信息。因此,在一些方法中还考虑了半监督学习以提高预测性能。在这种设置中,使用一组完全注释的数据和标记较弱的样本进行训练。Hong等人[15]在编码器-解码器框架中联合训练一个具有图像级监督图像和几个完全注释帧的网络。将[6]和[33]中的方法从弱监督推广到半监督设置,以利用附加的注释图像数据。
**与上述方法不同,我们提出算法可以在模型训练中利用未标记的图像,从而大大减轻了人工标注的任务。我们将完全卷积鉴别器的输出作为监督信号,以补偿图像注释的缺失,并实现半监督语义分割。另一方面,提出的用于分割的自学学习框架与[34]有关,其中未标记图像的预测图被用作基本事实。然而,在[34]中,预测图在训练之前通过几个手工设计的约束条件进行了细化,而我们根据提出的对抗网络模型学习自学的选择标准。**
**生成性对抗网络**。
由于提出了具有理论基础的GAN框架[10],它在实现[1、3、8、31、38]和应用方面有了一些改进,引起了极大的关注,包括图像生成[38]、超分辨率[22、24]、光流[23]、对象检测[42]、域适配[13、14、41]和语义分割[29、40]。与我们范围最接近的工作是[29]提出的工作,其中对抗网络用于帮助语义分割的训练过程。然而,与基线方案相比,该方法并没有实现实质性的改进,也无法解决半监督设置。另一方面,Souly等人[40]建议使用GAN生成对抗性示例,用于半监督语义分割。然而,这些生成的示例可能不够接近真实图像,无法帮助分割网络,因为从密集标签合成视图仍然是一个挑战。
**图1:**提出的半监督语义分割系统概述。利用损失LD训练的全卷积鉴别器网络,我们在训练过程中使用三个损失函数来优化分割网络:基于分割基本事实的交叉熵损失Lce,对抗损失Ladv欺骗鉴别器,以及基于置信图的半监督损失Lsemi,即鉴别器的输出。
3算法概述
图1显示了所提出算法的概述。该模型由两个模块组成:分割和鉴别网络。前者可以是任何设计用于语义分割的网络,例如FCN[28]、DeepLab[4]和DilatedNet[43]。给定尺寸为H×W×3的输入图像,分割网络输出尺寸为H x W×C的类概率图,其中C是语义类别的数量。
我们的鉴别器网络基于一个FCN,它从分割网络或地面真值标签图中获取类概率图作为输入,然后输出大小为H×W×1的空间概率图。鉴别器输出图的每个像素p表示该像素是从地面真值标记(p=1)还是分割网络(p=0)中采样的。与典型的GAN鉴别器不同,它采用固定大小的输入图像(大多数情况下为64×64),并输出单个概率值,我们将鉴别器转换为可以接受任意大小输入的全卷积网络。更重要的是,我们证明了这种转换对于提出的对抗学习方案至关重要。
在训练过程中,我们在半监督设置下使用标记和未标记图像。当使用标记数据时,分割网络由带有地面真值标记图的标准交叉熵损失Lce和带有鉴别网络的对抗损失Ladv进行监督。注意,我们只使用标记数据训练鉴别器网络。对于未标记的数据,我们使用所提出的半监督方法训练分割网络。在从分割网络中获得未标记图像的初始分割预测后,我们通过将分割预测传递给鉴别器网络来计算置信度图。然后,我们将此置信图作为监控信号,使用自学习方案训练具有masked cross-entropy loss掩蔽交叉熵损失Lsemi的分割网络。该置信图表示预测分割区域的质量,以便分割网络在训练期间可以信任。
4对抗网络半监督训练
在本节中,我们将介绍分割和鉴别器模块的网络架构和学习方案。
4.1网络架构
分割网络 **图1:**提出的半监督语义分割系统概述。利用损失LD训练的全卷积鉴别器网络,我们在训练过程中使用三个损失函数来优化分割网络:基于分割基本事实的交叉熵损失Lce,对抗损失Ladv欺骗鉴别器,以及基于置信图的半监督损失Lsemi,即鉴别器的输出。
我们采用DeepLab-v2[4]框架,其中ResNet-101[12]模型在ImageNet数据集[7]和MSCOCO[26]上预先训练,作为我们的分割基线网络(见图1)。**然而,我们没有使用[4]中提出的多尺度融合,因为它会占用单个GPU的所有内存,并且使训练鉴别器变得不切实际。(使用了的话,会不会提高????)**与最近的语义分割方法[4,43]类似,我们删除了最后一个分类层,并将最后两个卷积层的步幅从2修改为1,从而使输出特征映射的分辨率有效地达到输入图像大小的1/8。为了扩大感受野,我们在conv4和conv5层分别以2和4的步幅应用扩张卷积[43]。此外,我们在最后一层使用了中庭空间金字塔池(ASPP)方法[4]。最后,我们应用上采样层和softmax输出,以匹配输入图像的大小。
鉴别器网络 我们将类似于[38]的结构用于鉴别器网络。 它由5个卷积层组成,4×4内核和步长为2的{64、128、256、512、1}通道。除最后一层外,每个卷积层后面都有一个参数化为0.2的Leaky ReLU[30]。为了将模型转换为完全卷积网络,在最后一层添加上采样层,以将输出重新缩放为输入映射的大小。 请注意,我们没有使用任何批次规范化层[18],因为只有当批次大小足够大时,它才会表现良好。
4.2损失函数
**图1:**提出的半监督语义分割系统概述。利用损失LD训练的全卷积鉴别器网络,我们在训练过程中使用三个损失函数来优化分割网络:基于分割基本事实的交叉熵损失Lce,对抗损失Ladv欺骗鉴别器,以及基于置信图的半监督损失Lsemi,即鉴别器的输出。
给定大小为H×W×3的输入图像Xn,我们用S(·)表示分割网络,用大小为H x W×C的S(Xn)表示预测概率图,其中C是类别号。
我们用D(·)表示完全卷积鉴别器,它采用大小为H×W×C的概率图,并输出大小为H x W×1的置信图。在所提出的方法中,鉴别器网络有两个可能的输入:分割预测S(Xn)或独热编码的地面真值向量Yn。
鉴别器网络 为了训练鉴别器网络,我们使用以下两种方法最小化空间交叉熵损失LD: 其中,如果样本是从分段网络中提取的,则yn=0;如果样本是来自地面真值标签的,则yn=1。此外,D(S(Xn))(h,w)是X在位置(h,w)的置信图,D(Yn)(h、w)的定义类似。为了将带有离散标签的地面真值标签映射转换为C通道概率映射,我们在地面真值标记映射上使用了独热编码方案,其中,如果像素Xn(h,w)属于C类,则Yn(h,w, C)的值为1,否则为0。 鉴别器网络的一个潜在问题是,它可以通过检测独热概率来轻松区分概率图是否来自地面真相[29]。
然而,我们在训练阶段没有遇到这个问题。一个原因是,我们使用了一种完全卷积方案来预测空间置信度,这增加了学习鉴别器的难度。 此外,我们评估了Scale方案[29],其中根据分段网络输出的分布,地面真值概率信道略微扩散到其他信道。然而,结果显示没有差异,因此我们在本工作中不采用此方案。
分割网络: 我们通过最小化多任务损失函数来训练分割网络: 其中,Lce、Ladv和Lsemi分别表示空间多类交叉熵损失、对抗损失和半监督损失。在(2)中,λadv和λsemi是最小化所提出的多任务损失函数的两个权重。
使用带注释的数据的场景。 给定输入图像Xn、其独热编码的地面真值Yn和预测结果S(Xn),交叉熵损失通过以下公式获得:
我们通过损失Ladv使用对抗学习过程,给出了一个完全卷积鉴别器网络D(·): 利用这种损失,我们训练分割网络,通过最大化从地面真值分布生成预测结果的概率来欺骗鉴别器。 **图1:**提出的半监督语义分割系统概述。利用损失LD训练的全卷积鉴别器网络,我们在训练过程中使用三个损失函数来优化分割网络:基于分割基本事实的交叉熵损失Lce,对抗损失Ladv欺骗鉴别器,以及基于置信图的半监督损失Lsemi,即鉴别器的输出。
给定大小为H×W×3的输入图像Xn,我们用S(·)表示分割网络,用大小为H x W×C的S(Xn)表示预测概率图,其中C是类别号。
我们用D(·)表示完全卷积鉴别器,它采用大小为H×W×C的概率图,并输出大小为H x W×1的置信图。在所提出的方法中,鉴别器网络有两个可能的输入:分割预测S(Xn)或独热编码的地面真值向量Yn。
训练通过未标注的数据 在这项工作中,我们考虑了半监督环境下的对抗训练。对于未标记的数据,我们不应用Lce,因为没有基础真值注释。对抗损失Ladv仍然适用,因为它只需要鉴别器网络。然而,我们发现,选择一个比用于标记数据的λadv更小的λadv至关重要。这是因为对抗损失可能会过度修正预测,以适应地面真相分布,而没有交叉熵损失 此外,我们在自学学习框架内使用经过训练的鉴别器和未标记数据。主要思想是,经过训练的鉴别器可以生成一个置信图D(S(Xn)),该置信图可用于推断与地面真值分布足够接近的区域。然后,我们用一个阈值对这个置信度图进行二值化,以突出显示可信区域。 其中I(·)是指示函数,Tsemi是控制自学过程灵敏度的阈值。请注意,在训练期间,我们将自学目标?Yn和指示函数的值都视为常数,因此(5)可以简单地视为mask的空间交叉熵损失。在实践中,我们发现这一策略在Tsemi介于0.1和0.3之间时非常有效。
5实验结果
实验细节 我们使用PyTorch框架实现了所提出的算法。我们在具有12 GB内存的单个TitanX GPU上训练所建议的模型。为了训练分割网络,我们使用随机梯度下降(SGD)优化方法,其中动量为0.9,权重衰减为10?4.初始学习率设置为2.5×10?如[4]中所述,随着0.9次幂的多项式衰减而减小。 为了训练鉴别器,我们采用学习率为10?4的Adam优化器[20]和与分割网络相同的多项式衰减。对于该方法中的超参数,在使用标记数据和未标记数据进行训练时,λadv分别设置为0.01和0.001。我们将λsemi设置为0.1,将Tsemi设为0.2。
对于半监督训练,我们在应用第4.2节中描述的训练方案时,随机交错标记和未标记的数据。注意,为了防止模型遭受初始噪声屏蔽和预测,我们在用标记数据训练5000次迭代后开始半监督学习。我们联合更新了分割网络和鉴别器网络。在每次迭代中,仅使用包含地面真值数据的批次来训练鉴别器。当从数据集中随机抽取部分标记和未标记数据时,我们使用不同的随机种子平均多个实验结果,以确保评估的鲁棒性。代码和型号可在https://github.com/hfslyc/AdvSemiSeg.
评估数据集和指标。 在这项工作中,我们对两个语义分割数据集进行了实验:PASCAL VOC 2012[9]和Cityscapes[5]。在这两个数据集上,我们使用联合平均交集(mean IU)作为评估指标。
PASCAL VOC 2012数据集包括20个常见对象,并在每日拍摄的照片上添加注释。此外,我们利用来自分割边界数据集(SBD)[11]的额外注释图像,获得一组总共10582张训练图像。我们在1449张图片的标准验证集上评估我们的模型。在训练期间,我们使用大小为321×321的随机缩放和裁剪操作。我们在PASCAL VOC数据集上训练每个模型,以进行20k次迭代,批量大小为10。 Cityscapes数据集包含50个驾驶场景中的视频,从中提取29755001525个图像,并分别用19个类进行注释,用于训练、验证和测试。每个带注释的帧是30帧片段中的第20帧,在训练过程中只考虑带注释的图像。我们将输入图像的大小调整为512×1024,无需任何随机裁剪/缩放。我们在Cityscapes数据集上对每个模型进行批量大小为2的40k迭代训练。
2012年PASCAL VOC。 表1显示了PASCAL VOC 2012数据集的评估结果。为了验证半监督方案,我们随机抽取1/8、1/4、1/2图像作为标记数据,其余训练图像作为未标记数据。我们将提出的算法与FCN[28]、Dilation10[43]和DeepLab-v2[4]方法进行了比较。以证明我们的基线模型与最先进的方案具有可比性。
注意,我们的基线模型相当于没有多尺度融合的DeepLab-v2模型。对抗性损失带来了不同数量训练数据的性能持续提高(从1.6%到2.8%)。结合提议的半监督学习计划,整体提高3.5%至4.0%。图2显示了该方法生成的分割结果的视觉比较。我们观察到,与基线模型相比,分割边界得到了显著改善。 cityspace 城市景观。表2显示了城市景观数据集的评估结果。通过应用对抗损失Ladv,该模型在半监督设置下比基线模型获得0.5%至1.9%的增益。这表明我们的对抗训练方案可以鼓励分割网络从地面真值分布中学习结构信息。 结合对抗学习和所提出的半监督方案,该算法的性能增益为1.6%-3.3%。
与最先进的方法进行比较。 表3显示了与[29]的比较,它利用对抗学习进行分割。在对抗性学习过程中,[29]和我们的方法存在重大差异。首先,我们为各种分割任务设计了一个通用鉴别器,而[29]为每个数据集使用一个网络结构。 其次,我们的鉴别器不需要RGB图像作为附加输入,而是直接对来自分割网络的预测图进行操作。表3显示,与[29]中的方法相比,我们的方法在平均IU方面获得了1.2%的增益。 我们在表4中给出了半监督设置下的结果。为了与[33]和[40]进行比较,我们在原始PASCAL VOC 2012序列集(1464张图像)上对模型进行了训练,并将SBD[11]集用作未标记数据。值得注意的是,在[33]中,图像级别标签可用于SBD[11]集合,在[40]中,在训练阶段通过其生成器生成其他未标记图像。 超参数分析 该算法由三个超参数控制:λadv和λsemi,用于平衡(2)中的多任务学习,Tsemi用于控制(5)中描述的半监督学习的灵敏度。表8显示了在半监督设置下使用PASCAL VOC数据集对超参数的敏感性分析。补充材料中提供了更多分析和结果。 我们首先比较了半监督设置下λsemi的不同值和1/8的数据量。我们设置λadv=0.01和Tsemi=0.2进行比较。总的来说,所提出的方法以1.9%的增益获得了69.5%的最佳平均IU。当λsemi设置为0.1时。其次,我们通过设置λadv=0.01和λsemic=0.1对不同的Tsemi值进行实验。对于较高的Tsemic,所提出的模型仅信任结构相似性较高的区域作为基础真值分布。总的来说,当Tsemi=0.2时,所提出的模型取得了最佳结果,并且在很大范围内(0.1到0.3)表现良好。当Tsemi=0时,我们信任未标记图像中的所有像素预测,这会导致性能下降。图3显示了预测概率图的样本置信度图。
消融研究。 我们在PASCAL VOC数据集的表6中展示了我们提议的系统的消融研究。首先,我们检查了使用完全卷积鉴别器(FCD)的效果。为了构造一个非完全卷积的鉴别器,我们将鉴别器的最后一个卷积层替换为一个完全连接的层,该层输出典型的GAN模型中的单个神经元。如果不使用FCD,所有数据和八分之一的数据的性能分别下降1.0%和0.9%。这表明FCD的使用对对抗性学习至关重要。其次,我们采用了无对抗损失的半监督学习方法。结果表明,对标记数据的对抗训练对我们的半监督方案至关重要。如果分割网络不试图欺骗鉴别器,鉴别器生成的置信图将毫无意义,提供较弱的监控信号。
6结论
在这项工作中,我们提出了一种用于半监督语义分割的对抗性学习方案。我们训练了一个鉴别器网络来增强带有标记和未标记数据的分割网络。利用标记数据,分割网络的对抗损失旨在学习高阶结构信息,而无需进行后处理。对于未标记的数据,鉴别器网络生成的置信度图用作细化分割网络的自学信号。对PASCAL VOC 2012和Cityscapes数据集的大量实验验证了所提算法的有效性。
附录图请直接参照原文!!!还有4张呢
|