论文网址:Fully Convolutional Adaptation Networks for Semantic Segmentation
1.摘要:
问题:
收集大量像素级标记的数据是一个费事费力的过程,一个比较好的选择是使用合成数据,比如游戏视频,来自动产生标签。然而仅仅用合成数据训练,用真实数据进行测试会产生比较高的泛华误差。
泛化误差
方法:
(1)这篇文章同时在视觉表观层和表征层来解决来解决这个问题。前者使得源图像来自目标域一样,后者尝试学习空间不变形表示。
(2)提出了一个新的深度学习模型Fully Convolutional Adaptation Networks(FCAN),由表观适配网络Appearance Adaptation Networks (AAN)和表征适配网络Representation Adaptation Networks (RAN)组成。
(3)AAN建立在视觉表观水平即图像/像素空间上,利用监督学习策略,学习视觉相似性。RAN建立在表征级上,即特征空间上,并利用抗学习思想,学习域不变性表征,最大欺骗域判别器(domain discriminator)。
实验:
在语义分割上从GTA5 (游戏视频) 到Cityscapes (城市街道景观)进行了一些列实验,与目前最先进的非监督改善方法相比,这篇文章的方法达到了最佳效果,对语义分割达到了一个新记录:在BDDS上基于非监督设置达到了47.5%的mIoU。
语义分性能评判标准:基于深度学习的图像语义分割技术概述之5.1度量标准
2.介绍
问题提出:
由于域漂移在合成数据上对一个模型进行训练,验证时在真实数据上性能会下降。如下图所示,在视频游戏上训练FCN,对街景进行分割的时候效果很差。因此需要非监督域适配来解决这个问题,利用源域的标签样本和目标域大规模的未标记来减少目标域上的预测误差。传统的方法在解决这类问题时使用最小化域漂移来构筑不变性,比如相关距离或最大均值依存等。
本文方法概述:
我们从表观和表征不变性来考虑这个问题。表观级不变性的目的是在一个域中利用其它域的类型重建图像内容。表征不变性的想法来自对抗学习,使用域判别器对对抗目标进行建模。想法的背后是生成对抗学习,训练两个模型一个生成模型一个区分模型,通过让它们相互对抗。在域适配中,使用对抗引导两个域的表示学习,通过区域鉴别器使得源和目标表示分布不同。我们遵循这种方法,并且利用对抗机制来学习图像表征,对空间域是不变的。由于语义分割依赖于大量精确的像素级标记,这篇文章特别研究语义分割任务上的域适配。为了把表观级和表征级不变性的思想引入非监督适配来增强语义分割的性能,这篇文章提出了FCAN模型,如下图所示:
网络结构解释:
整个框架由AAN和RAN组成,ANN网络的目的是获得源图像中的高层内容和目标域的低级像素信息。特别的,AAN由一个白噪声图像开始,并且使用梯度下降来最小化输出图像和源图像的feature map和目标域中图像的平均feature map。在表征网络中,首先共享一个FCN网络来产生每个域的图像表示,紧跟其后的是对像素级分类采用双线性插值来上采样输出,同时用一个区域鉴别器来区分源和目标域。特别设计Atrous Spatial Pyramid Pooling (ASPP)来扩大feature map中滤波器的感受野,使得与鉴别器的更强。RAN用两个最优化的损失来训练,分类损失来衡量像素级语义,利用学习到的源域和目标域表示对抗损失来最大欺骗区域鉴别器。使用表观级和表征级适配,FCAN能够更好的构建域不变性,因此能够获得更好的分割性能。
本文的主要贡献:
本文的主要贡献是提出了FCAN网路来解决语义分割中的域适配问题。解释了哪种不变性可以通过域来适配。并且在深度框架下如何对这个不变性建模,这些问题在文献中还没有完全解释清楚。这篇文章的目的是学习具有标记的免费合成数据和大量在像素级上未标注的真实数据,这是一个新兴的研究领域。 简而言之这篇文章的工作主要聚焦于非监督语义分割任务,这研究的很少。最接近的工作是Fcns in the wild: Pixel-level adversarial and constraint-based adaptation. 通过研究全卷积对抗训练来解决跨域分割问题。本文方法和上文的不同之处在于从表观级和表示级视觉来解决域漂移问题,以一种更有原则的方式弥合领域误差。
3.相关工作
(1)目前典型计算机视觉任务的数据集
到目前为止,对于列系列的计算机视觉任务比如识别、检测、打字母和语义分割都有标注的比较好的数据集。给定一个新的数据集方法依然是费时费力地手工标注。一个可替代的方法是利用大规模来自电脑游戏合成的数据,并且能够自动生成标签。
图像识别:
K. He, X. Zhang, S. Ren, and J. Sun. Deep residual learning for image recognition. In CVPR, 2016.
K. Simonyan and A. Zisserman. Very deep convolutional networks for large-scale image recognition. In ICLR, 2015.
C. Szegedy, W. Liu, Y. Jia, P. Sermanet, S. Reed,D. Anguelov, D. Erhan, V. Vanhoucke, and A. Rabinovich.Going deeper with convolutions. In CVPR, 2015.
目标检测:
R. Girshick. Fast r-cnn. In ICCV, 2015.
S. Ren, K. He, R. Girshick, and J. Sun. Faster r-cnn: Towards real-time object detection with region proposal networks. In NIPS, 2015.
打字幕:
T. Yao, Y. Pan, Y. Li, Z. Qiu, and T. Mei. Boosting image captioning with attributes. In ICCV, 2017.
电脑游戏合成数据:
S. R. Richter, V. Vineet, S. Roth, and V. Koltun. Playing for data: Ground truth from computer games. In ECCV, 2016.
(2)语义分割:
多尺度特征整体:
FCN:J. Long, E. Shelhamer, and T. Darrell. Fully convolutional networks for semantic segmentation. In CVPR, 2015.
Dilated Convolution:F. Yu and V. Koltun. Multi-scale context aggregation by dilated convolutions. In ICLR, 2016.
RefineNet:L.-C. Chen, G. Papandreou, I. Kokkinos, K. Murphy, and A. L. Yuille. Deeplab: Semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected crfs. Trans. on PAMI, 40(4):834–848, 2018.
DeepLab:L.-C. Chen, G. Papandreou, I. Kokkinos, K. Murphy, and A. L. Yuille. Deeplab: Semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected crfs. Trans. on PAMI, 40(4):834–848, 2018.
HAZNet:F. Xia, P. Wang, L.-C. Chen, and A. L. Yuille. Zoom better to see clearer: Human and object parsing with hierarchical auto-zoom net. In ECCV, 2016.
上下文信息保留:
ParseNet:W. Liu, A. Rabinovich, and A. C. Berg. Parsenet: Looking wider to see better. In ICLR Workshop, 2016. PSPNet:H. Zhao, J. Shi, X. Qi, X. Wang, and J. Jia. Pyramid scene parsing network. In CVPR, 2017.
DST-FCN:Z. Qiu, T. Yao, and T. Mei. Learning deep spatio-temporal dependence for semantic video segmentation. Trans. on Multimedia, 20:939–949, 2017.
大多数语义分割方法依赖于像素级的标记。研究者尽量使用弱监督来进行语义分割任务:
instance-level bounding boxes:J. Dai, K. He, and J. Sun. Boxsup: Exploiting boundingboxes to supervise convolutional networks for semantic segmentation. In ICCV, 2015.
image-level tags:P. O. Pinheiro and R. Collobert. From image-level to pixel-level labeling with convolutional networks. In CVPR, 2015.
multiple instance learning:D. Pathak, E. Shelhamer, J. Long, and T. Darrell. Fully convolutional multi-class multiple instance learning. In ICLR Workshop, 2015.
EM algorithm:D. Pathak, E. Shelhamer, J. Long, and T. Darrell. Fully convolutional multi-class multiple instance learning. In ICLR Workshop, 2015.
constrained CNN:D. Pathak, P. Krhenbhl, and T. Darrell. Constrained convolutional neural networks for weakly supervised segmentation.In ICCV, 2015.
在图像级的标签能够获得的时候,可以把来自辅助类的像素注释推广到仅仅图像级标签能够得到的语义分割类:
S. Hong, J. Oh, H. Lee, and B. Han. Learning transferrable knowledge for semantic segmentation with deep convolutional neural network. In CVPR, 2016.
The research of this topic has proceeded along three different dimensions: unsupervised adaptation, supervised adaptation and semi-supervised adaptation.
(3)深度域适配利用深度框架把一个有标记源域上学习到的模型迁移到一个目标域上。从非监督适应、监督适应和半监督适应三个不同方面展开。
非监督适配,目标域没有标签:
Deep Correlation Alignment (CORAL)研究最大均值依存Maximum Mean Discrepancy (MMD)来匹配源和目标分布的均值和协方差:B. Sun, J. Feng, and K. Saenko. Return of frustratingly easy domain adaptation. In AAAI, 2016.
Adversarial Discriminative Domain Adaptation (ADDA)用强化训练来优化适配模型:E. Tzeng, J. Hoffman, K. Saenko, and T. Darrell. Adversarial discriminative domain adaptation. In CVPR, 2017.
相反的,当标记数据可以得到的时候,这指的是监督区域适配,Tzeng et al利用二进制域分类器,并且设计类域混淆损失来提升预测区域的标签,为均匀分布:
E. Tzeng, J. Hoffman, T. Darrell, and K. Saenko. Simultaneous deep transfer across domains and tasks. In ICCV, 2015.
Deep Domain Confusion (DDC) ,同样使用MMD在源上规范化分类损失,来学习区别和区域不变性表示:
E. Tzeng, J. Hoffman, N. Zhang, K. Saenko, and T. Darrell. Deep domain confusion: Maximizing for domain invariance. arXiv preprint arXiv:1412.3474, 2014.
Deep Adaptation Network (DAN)在一个复制核希尔伯特空间中嵌入所有任务指定层,同时考虑了半监督和全监督:
M. Long, Y. Cao, J.Wang, and M. I. Jordan. Learning transferable features with deep adaptation networks. In ICML,2015.
3.全卷积适配网络来进行语义分割
概述:
从视觉外观来看,首先利用AAN网络把图像从一个域转换到另一个域,使用其他域的类型重建一个域的图像,视觉表观趋向于域不变。RAN用对抗的方式学习域不变性表示,并且设计一个区域鉴别器来区分哪个图像区域的域,对应于feature map中每个空间单元的接受域。RAN的目标是在两个领域中引导表征学习,使得源表示和目标表示通过域鉴别器无法区分。因此,FCAN从视觉层和表征层领域不变性的角度来解决域适配问题,能更有效的消除域漂移的不利影响。
外观适配网络:
AAN的目标是使得来自不同域的图像看起来相似。换句话说,AAN网络需要适配源图像的外观使它看起来像来自目标域。为了达到这个目标,目标域中整个图像的低级特征应该被分离开,并且被视为目标域的类型。由于这些特征用低层级的图像来编码,例如,纹理,光,阴影。而对于源图像中对象及其关系的高级内容,则需要将其提取并与目标域的“样式”相结合,生成自适应图像,下图是AAN的网络结构。
给定一个图像集chi_{t}=left{x_{t}^{2} mid i=1, ldots, mright} ,从中抽取一个图像x_s 。开始用一个白噪声图像,迭代地用x_s 的语义信息加上chi_{t} 的来产生输出图像x_0 。特别地,用一个预训练的CNN来提取每幅图像的特征。为了计算源图像的语义内容,给不同的层分配不同的权重,目标函数为:
min _{x 0} sum_{x in L} w_{s}^{l} operatorname{Dist}left(M_{o}^{l}, M_{s}^{l}right)
L:设置的层w^l_s :每个l 层的权重M^l_o : x_o上的特征层M^l_s :x_s 上的特征层 M^l 的维数为M^{l} in R^{N_{l} times H_{l} times W_{l}} 。N_l 代表通道数,
H_l 代表特征的高度, W_l 代表特征的高度。
一幅图像的类型被看做是一种统计度量或模式,空间信息是不可知的。在CNN中,这种统计度量之一在不同特征响应之间是关联的。因此,在l 层上,一幅图像的G' 的计算公式为:
G^{l, i, j}=M^{l, i} odot M^{1, j}
G^{l,j,j}是M^l 上第i 和第j 阶向量化的内积。在我们的情况下,我们把一幅图像的类型延伸到一个区域,通过把G^l 平均到目标域上所有图像上(目标域的bar{G}_{t} )。为了把目标域综合进x_o 中,每层的目标函数表示为:
min _{x 0} sum_{x in L} w_{s}^{l} operatorname{Dist}left(G_{o}^{l}, bar{G}_{t}^{l}right)
w^l_t是l 层的权重。最终,整体的损失函数为:
L_{A A N}left(x_{o}right)=min _{x 0} sum_{x in I} w_{s}^{l} operatorname{Dist}left(M_{o}^{l}, M_{s}^{l}right) alpha min _{x 0} sum_{x in I} w_{s}^{l} operatorname{Dist}left(G_{o}^{l}, bar{G}_{t}^{l}right)
alpha平衡源图像语义内容的权值和目标域的类型。在训练的时候AAN网络反向传播由上式得到的梯度值来调整输出图像至x_o ,来实现表观空域不变性。
表征适配网络:
使用表观适配网络,不同域的图像出现在相同域中。为了进一步减少域漂移的影响,进一步学习域不变表征。为此,设计表征适配网络利用域来适配表征,这种想法来自于对抗学习。RAN中的对抗准则引导特征特征表示学习,通过用学习源和目标表示来欺骗一个域区别器D 来引导两个域的特征表示,如下图
RAN首先使用使用一个共享FCN网络来提取图像的表征适配来自AAN网络两个域的图像。FCN目的是通过两个域学习图像表示的区别性。更进一步,区别器尝试区分源和目标表示,输出是每个图像的域预测,对应于最终特征的空间单元。通常,在源域中给定训练集chi_{s}=left{x_{s}^{j} mid i=1, ldots, nright} ,在目标域中给定训练集chi_{t}=left{x_{t}^{j} mid i=1, ldots, nright} 。
对抗损失L_{adv} 是空间单元上的平均分类损失:
L_{a d v}=-E_{x t sim chi_{t}}left[1 / Z sum_{i=1}^{Z} log left(D_{i}left(Fleft(x_{t}right)right)right)right]-E_{x s sim chi_{s}}left[1 / Z sum_{i=1}^{Z} log left(D_{i}left(Fleft(x_{s}right)right)right)right]
Z是输出D上的空间单元数量,和标准的GANs网络类似,RAN的对抗训练由下面的极大极小函数优化:
min _{F} max _{D} L_{a d v}left(chi_{s}, chi_{t}right)
因为在真实数据中各种尺寸有不同的目标,我们进一步把多尺度表征考虑进去来增强对抗学习。传统的多尺度方法是用多尺度分辨率调整图像。这的确会提升性能,但是计算开销比较大。在这篇文章中我们使用Atrous Spatial Pyramid Pooling(ASPP)来实现。特别指出,k个详尽的卷积层用不同的采样率以并行的方式在FCN的输出中独立产生k个特征表示,每个用c个特征通道。所有的特征通道堆起来形成一个具有ck个通道的特征,随后是1times 1 的卷积层加上一个sigmoid层来产生最终的分数映射。每个分数特征上的空间单元代表属于目标域对应图像域的概率。除此之外,我们同时优化标准像素级分类损失L_{seg} 来进行监督分割在来自源域的图像上,这里的标签是可以获得的。因此RAN整体上完整L_{seg} 和L_{adv} 损失可以表示为:
min _{F} max _{D}left{L_{text {adv }}left(chi_{s}, chi_{t}right)-lambda L_{text {adv }}left(chi_{s}right)right}
lambda是折中参数,用源和目标表征欺骗区域分别器,RAN能产生域不变表征。在测试阶段,目标域的图像加入到学习过的FCN来产生像素级分类的表征。