Adversarial Learning for Semi-Supervised Semantic Segmentation

作者提出了一种使用对抗网络的半监督语义分割方法。 虽然大多数现有的鉴别器都经过训练,可以在图像级别将输入图像分类为真实图像还是伪图像,但是作者以完全卷积的方式设计了一个鉴别器,以便在考虑空间分辨率的情况下将预测的概率图与地面真实分割分布区分开。 作者表明,通过将对抗性损失与所提出模型的标准交叉熵损失相结合,所提出的鉴别器可用于提高语义分割的准确性。 此外,全卷积鉴别器通过在未标记图像的预测结果中发现值得信赖的区域来实现半监督学习,从而提供其他监督信号。 与利用弱标记图像的现有方法相比,作者的方法利用未标记图像来增强分割模型。 在PASCAL VOC 2012和Cityscapes数据集上的实验结果证明了该算法的有效性。

思路介绍

作者采用对抗性学习方案。将分割网络看作是GAN框架中的生成器,跟经过训练从噪声矢量生成图像的典型生成器不同,作者的分割网络在给定输入图像的情况下输出语义标签的概率图。在此基础上,作者将分割网络的输出在空间上尽可能接近GT标签图。
作者提出了一种全卷积鉴别器,该鉴别器学会了将GT标签图与 分割预测的概率图分开。结合交叉熵损失,作者的方法使用对抗损失,该损失鼓励分割网络在高阶结构生成接近于GT标签图的预测概率图。
在作者的工作中,结合了两个半监督的损失条件来利用未标记的数据。首先,作者利用鉴别器网络生成的置信度图作为监督信号,以自学的方式指导交叉熵的损失。置信度图指示预测分布的哪些区域接近GT标签分布,以便分割网络可以通过掩码的交叉熵损失来信任和训练这些预测。其次,作者将监督损失应用于监督设置中采用的未标记数据,这鼓励模型预测接近GT分布的未标记数据的分割输出。

思路总结

  1. 使用对抗框架,该框架可以提高语义分割的准确性。而在推理过程中无需额外的计算负担。
  2. 提出一个半监督框架,并表明通过添加没有任何注释的图像可以进一步提高分割精度。
  3. 通过未标记图像的鉴别器网络响应来发现可信赖的区域,从而促进半监督学习,该区域有助于分割的训练过程。

算法概述

通过使用损失L_D训练的全卷积鉴别器网络,作者在训练过程中使用三个损失函数优化了分割网络:基于分割GT的交叉熵损失L_{ce},欺骗鉴别器的对抗损失L_{adv},基于置信度图(鉴别器的输出)的半监督损失L_{semi}

半监督语义分割系统

该图所展示的模型包括两部分:分割和鉴别网络。前者可以是语义分割设计的任何网络,给定输入为H×W×3的图像,输出尺寸为H×W×C的类别概率图,其中C是语义类别的数量。鉴别器网络基于FCN,该网络以分类概率图为输入,来自分割网络或者是GT标签图,然后输出H×W×1的空间概率图。鉴别器输出图的每个像素p表示是从GT标签图(p=1)还是分割网络(p=0)采样的。与采用固定大小的输入图像并输出单个概率值的典型GAN鉴别器相反,作者将鉴别器转化为可以接受任意大小输入的全卷积网络。
在训练过程中,作者在半监督设置下使用带标签的图像和未带标签的图像。当使用标记数据时,分割网络由带有GT标签图的标准熵损失和带有鉴别器网络的对抗损失监督。但是作者仅仅使用标签数据来训练鉴别器网络。对于未标记的数据,使用半监督方法训练分割网络。再从分割网络获得未标记图像的初始分割预测之后,通过鉴别器网络来计算置信度图。反过来,使用自学的方法将此置信度图视为监督信号,以训练带有掩码交叉熵损失的分割网络。该置信度图指示预测的分割区域的质量,以便分割网络在训练期间可以信任。

对抗网络的半监督训练

本段主要介绍针对分割以及鉴别器模块的拟议网络架构和学习方案。

分割网络

作者采用Deeplab-v2框架,将在ImageNet数据集和MSCOCO数据集上预先训练的ResNet-101模型作为分割基准网络。但是,作者不使用Deeplab-v2中提出的多尺度融合,因为它会占用单个GPU上的所有内存,并且使训练鉴别器变得不切实际。类似于最近的语义分割方法,作者删除了最后一个分类层,并将最后两个卷积层的跨度从2变为1,从而使输出特征图的分辨率有效地等于输入图片的1/8大小。为了扩大接受场,作者在conv4和conv5层分别应用步幅为2和4的扩张卷积。另外在最后一层使用ASPP方法,最后将上采样层与softmax输出一起应用,以匹配输入图像的大小。

鉴别器网络

对于鉴别器网络,作者使用类似于DCGANs的结构,它是由5个4*4的卷积层和步幅为2的{64,128,256,512,1}通道组成。每一个卷积层的后面都有一个参数为0.2的Leaky-ReLU层,除了最后一层。为了将模型转化为全卷积网络,在最后一层添加了上采样层,以将输出重新缩放为输入图的大小。

损失函数

给定大小为H×W×3的输入图像X_n,作者用S(`)表示分割网络并通过大小H×W×C的S(X_n)表示预测概率图,其中C为类别编号。作者用D(·)表示全卷积鉴别符,它采用大小为H×W×C的概率图并输出大小为H×W×1的置信度图。 在提出的方法中,有两个可能的输入到鉴别器网络:分割预测S(X_n)或单热编码的GT向量(Y_n)

鉴别器网络

为了训练鉴别器网络,我们使用以下两个类别将空间交叉熵损失L_D最小化:
L_D = \sum_{h,w}(1-y_n)log(1-D(S(X_n))^{(h,w)})+y_nlog(D(Y_n)^{(h,w)}) \tag 1
其中y_n=0是从指样本是由分割网络中提取的,y_=1是指样本从GT标签中提取的。另外,D(S(X_n))^{(h,w)}是X在位置(h,w)的置信度图,并且D(Y_n))^{(h,w)}的定义与此类似。为了将带有离散标签的GT标签图转换为C通道概率图,作者将GT标签图使用单热编码方案,其中如果像素X_n^{(h,w)}属于C类别,则Y_n^{(h,w,c)}取值为1,否则为0。
鉴别器网络的一个潜在性的问题就是:它可以通过检测one-hot概率来区别出概率图是否来自GT图。但是在训练阶段不会出现此问题,因为作者使用全卷积方法来预测空间置信度,这增加了学习判别器的难度。

分割网络

作者通过最小化多任务损失函数来训练分割网络:
L_{seg} = L_{ce}+\lambda_{adv}L_{adv}+\lambda_{semi}L_{semi} \tag 2
其中L_{ce},L_{adv}L_{semi}分别表示空间多类交叉熵损失,对抗损失和半监督损失。在(2)中\lambda_{adv}\lambda_{semi}是两个权重,用于最小化多任务损失函数。
作者首先考虑使用带注释的数据的场景。给定一个输入图像X_n,它的ong-hot编码GTY_n和预测结果S(X_n),则交叉熵可以通过以下公式获得:
L_{ce} = -\sum_{h,w}\sum_{c\in C}Y_n^{(h,w,c)}log(S(X_n)^{(h,w,c)}) \tag 3
给定完全卷积的鉴别器网络D(·),作者通过损失L_adv使用对抗学习过程:
L_{adv} = -\sum_{h,w}log(D(S(X_n))^{(h,w)}) \tag 4
有了这种损失,就能最大程度地从GT分布生成预测结果的概率来训练分割网络,以欺骗鉴别器。

使用无标签数据进行训练

在这项工作中,作者考虑在半监督环境下进行对抗训练。 对于未标记的数据,由于没有GT注释,因此作者不应用L_{ce}。 对抗损失L_{adv}仍然适用,因为它仅需要区分网络。 但是,我们发现选择比用于标记数据的L_{adv}小的\lambda_{adv}#至关重要。 这是因为对抗性损失可能会过度校正预测以适合GT分布,而没有交叉熵损失。 此外,作者在自学式学习框架内将训练有素的识别符与未标记的数据一起使用。 主要思想是训练有素的鉴别器可以生成置信度图D(S(X_n)),该置信度图可用于从GT分布中推断出足够接近的区域。 然后,我们将此置信度图与阈值二值化以突出显示可信赖的区域。 此外,如果c ^* = argmax_cS(X_n)^{(h,w,c)},则用\hat{Y}_n^{(h,w,c^*)}= 1逐元素设置单热编码GT\hat{Y}_n: 产生的半监督损失定义为:
L_{semi}=-\sum_{h,w}\sum_{c\in C}I(D(S(X_n))^{(h,w)} > T_{semi}*\hat{Y}_n^{(h,w,c)}log(S(X_n)^{(h,w,c)}) \tag 5
其中I(·)是指标函数,而T_{semi}是控制自学过程敏感性的阈值。 在训练过程中,作者将自学目标\hat{Y}_ n和指标函数的值都视为常数,因此,(5)可以简单地视为掩码的空间交叉熵损失。 在实践中,作者发现该策略在T_{semi}的范围为0.1到0.3的情况下均有效。

实验结果

实施细节

作者在训练分割网络时,使用随机梯度下降(SGD)优化方法,其中动量为0.9,权重衰减为10^{-4}。初始学习率为2.5*10^{-4},并且随着多项式衰减以0.9次幂减小。对于鉴别器,采用Adam优化器,学习率为10^{-4},衰减策略跟分割网络相同。对于上述损失函数的超参数,训练带有标记和未标记的数据时,\lambda_{adv}分别设置为0.01和0.001,\lambda_{semi}设置为0.1,T_{semi}设置为0.2。
对于半监督训练,作者在应用上述的训练方案的同时,随机交织带标签和未带标签的数据。 请注意,为防止模型受到最初的噪声屏蔽和预测的困扰,作者在使用标记数据训练了5000次迭代后开始进行半监督学习。 作者将同时更新分割网络和鉴别网络。 在每次迭代中,仅使用包含GT数据的批次来训练鉴别器。 从数据集中随机抽取部分标记和未标记的数据时,作者使用不同的随机种子对几个实验结果取平均值,以确保评估的鲁棒性。

消融实验

作者在下表中以PASCAL VOC数据集介绍了作者提出的系统的消融研究。 首先,作者研究使用完全卷积鉴别器(FCD)的效果。 为了构造不是全卷积的鉴别器,作者将鉴别器的最后一个卷积层替换为输出一个全连接层,该层可以像典型GAN模型中那样输出单个神经元。 如果不使用FCD,则所有数据和八分之一数据的性能分别下降1.0%和0.9%。 这表明使用FCD对对抗学习至关重要。 其次,作者采用了半监督学习方法,而不会造成对抗性损失。 结果表明,对标记数据进行对抗训练对我们的半监督方案很重要。 如果分段网络不试图愚弄鉴别器,则鉴别器生成的置信度图将毫无意义,从而提供较弱的监管信号。


消融实验

超参数调节

所提出的算法由三个超参数控制:\lambda_{adv}\lambda_{semi}用于平衡(2)中的多任务学习,T_{semi}用于控制(5)中所述的半监督学习中的敏感性。 下表显示了在半监督设置下使用PASCAL VOC数据集对超参数的敏感性分析。

Data Amount \lambda_{adv} \lambda_{semi} T_{semi} Mean IU
Full 0 0 N/A 73.6
Full 0.005 0 N/A 74.0
Full 0.01 0 N/A 74.9
Full 0.02 0 N/A 74.6
Full 0.04 0 N/A 74.1
Full 0.05 0 N/A 73.0
1/8 0.01 0 N/A 67.6
1/8 0.01 0.05 0.2 68.4
1/8 0.01 0.1 0.2 69.5
1/8 0.01 0.2 0.2 69.1
1/8 0.01 0.1 0 67.2
1/8 0.01 0.1 0.1 68.8
1/8 0.01 0.1 0.2 69.5
1/8 0.01 0.1 0.3 69.2
1/8 0.01 0.1 1.0 67.6

下图显示了来自预测概率图的样本置信度图:


置信度图

两个数据集的训练参数:

Parameter Cityscaps PASCAL VOC
Trained iterations 40,000 20,000
Learning rate 2.5e-4 2.5e-4
Learning rate (D) 1e-4 1e-4
Polynomial decay 0.9 0.9
Momentum 0.9 0.9
Optimizer SGD SGD
Optimizer (D) Adam Adam
Nesterov True True
Batch size 2 10
Weight decay 0.0001 0.0001
Crop size 512x1024 321x321
Random scale No Yes

Cityscapes数据集训练数据与模型的定性比较:


定性比较

了解更多请关注作者微信公众号:

一技破万法
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,457评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,837评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,696评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,183评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,057评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,105评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,520评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,211评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,482评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,574评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,353评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,897评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,489评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,683评论 2 335