论文信息
-
论文标题:Learning to Adapt Structured Output Space for Semantic Segmentation
-
论文作者:Yi-Hsuan Tsai, Wei-Chih Hung, Samuel Schulter, Kihyuk Sohn, Ming-Hsuan Yang, Manmohan Chandraker
-
研究机构:NEC Laboratories America; University of California, Merced; University of California, San Diego
-
论文出处:CVPR 2018
-
引用信息:
@inproceedings{DBLP:conf/cvpr/TsaiHSS0C18, author = {Yi{-}Hsuan Tsai and Wei{-}Chih Hung and Samuel Schulter and Kihyuk Sohn and Ming{-}Hsuan Yang and Manmohan Chandraker}, title = {Learning to Adapt Structured Output Space for Semantic Segmentation}, booktitle = {2018 {IEEE} Conference on Computer Vision and Pattern Recognition, {CVPR} 2018, Salt Lake City, UT, USA, June 18-22, 2018}, pages = {7472--7481}, publisher = {{IEEE} Computer Society}, year = {2018}, url = {http://openaccess.thecvf.com/content\_cvpr\_2018/html/Tsai\_Learning\_to\_Adapt\_CVPR\_2018\_paper.html}, doi = {10.1109/CVPR.2018.00780}, timestamp = {Wed, 16 Oct 2019 14:14:50 +0200}, biburl = {https://dblp.org/rec/conf/cvpr/TsaiHSS0C18.bib}, bibsource = {dblp computer science bibliography, https://dblp.org} }
-
代码链接:
论文主要贡献和参考价值
-
主要贡献
- 提出用于像素级的语义分割的域适应方法,方法主要通过对抗学习的方式进行训练
- 本文证明在输出的分割结果层次进行域适应可以有效对齐源数据和目标数据的场景布局和局部上下文信息
- 本文提出了多级的对抗学习策略可以用于在分割模型的不同特征级别进行特征的适应,进而改进学习效果
-
参考价值
- 域适应方法
-
对抗学习策略
- 像素级预测任务
论文要点翻译
- 摘要
- 基于 CNN 的语义分割方法已经依靠像素级标注的真实值作为监督信号获得较好的性能,但是这样训练的模型通常难以泛化到其他数据集,因为数据标注的过程是费时费力的,因此研究可以较好的从有真实标签的源域数据转换到无标签的目标数据是一个有价值的研究方向,本文提出了对抗学习方法用于语义分割背景下的域适应问题。
- 考虑到源数据和目标数据的语义分割结果都是包含输入空间的结构等信息的输出,这个输出通常具有较强的相似性,因此,本文的对抗学习的过程主要是在输出空间进行使用。
- 为了进一步提高适应的模型,本文建立了多级别的对抗网络,用于输出空间不同特征级别的空间域适应
- 实验结果和对比研究发现,本文提出的方法比之前的 SOTA 方法在精确性和视觉效果上都有所提升
- 引言
- 语义分割主要目标是给图像中的每个像素指定语义标签,近年来,使用 DCNN 的方法已经取得较好的性能,已经运用到自动驾驶、图像编辑等领域。但是,这些基于 CNN 的方法通常需要大量的图像标注数据来覆盖不同的数据场景,而训练的模型通常难以泛化到未知图像,在训练中使用的数据和实际测试的数据之间存在 domain gap,因此,目标和场景的分布跟光照条件、天气条件、城市状况等都是相关的,在这些例子中,纯监督学习方法需要重新标注像素级的语义分割结果,这对于不同场景的数据而言是费时费力的
- 为了解决这个问题,研究人员通常提出使用知识迁移或者域适应的方法来缩小源数据和目标数据之间的 gap,这其中的目标数据通常是缺少标注数据的。对于图像分类任务来说,针对特征级别的对齐是有效的,这样使得调整后特征可以更好的泛化到不同的数据域,相同的方法也在语义分割中使用,但是语义分割不同于图像分类,对语义分割的特征适应更需要考虑高维特征的复杂性,因为需要考虑其中的复杂多变的视觉线索(包括外观、形状和其他上下文信息等)
- 这些问题促使了本文研究的出现,本文想要设计一个有效的对像素级预测任务有效的域适应方法。在语义分割中,本文注意到,输出空间包含的空间和局部的信息都很丰富。例如:即使图像是外观上非常不一致的两个数据域的图像,其对应的语义分割输出也通常具有较强的相似性,其空间布局和局部上下文信息也是相似的,基于这个观察,本文主要在输出的语义分割空间解决像素级的域适应问题
- 本文提出用于语义分割的端到端的基于 CNN 的域适应算法,本文的形式化主要是基于输出空间的对抗学习,直观上是对输出的预测标签分布进行调整,使得源数据和目标数据的输出标签分布具有相似性。基于生成对抗网络,本文提出的方法主要包含两个部分:(1)语义分割模型用于预测输出结果;(2)判别器用于判断输入来自于源数据还是目标数据。结合对抗损失,提出的分割模型能够愚弄判别器,最终对于源数据和目标数据都能在输出空间生成相似的分布
- 提出的方法也将特征作为反向传播的误差,但是由于低级的特征离高层的输出标签太远,因此低层特征可能难以适应。为了解决这个问题,本文提出一个多层次的策略,在不同级别的分割模型特征中结合对抗学习策略。例如,本文可以同时使用 conv5 和 conv4 的特征用于预测,两个判别器可以连接到每个分支预测的结果中,针对预测的输出进行多级的对抗学习
- 本文的方法是一阶段的端到端的训练,用于联合的分割模型和判别模型,不需要使用关于目标域数据的先验知识;在测试阶段,判别器可以丢弃不用,使用调整适应的分割模型直接作用到目标图像上,没有额外的计算要求
- 由于语义分割的数据标注耗时耗力,许多研究针对有密集标注的合成场景数据开展,因此,一个关键的设置就是使用合成场景数据训练的模型泛化适应到真实场景数据,本文在此设置下进行实验,验证提出的域适应方法的有效性,本文基于基准模型,使用对抗的适应策略在特征空间和输出空间进行对比,除了合成到真实的转换,本文也在不同城市场景的数据集之间进行转换,总体来说,本文的方法超过了许多 SOTA 的算法,在许多数据集上不同条件设置下都取得较好的实验结果
- 相关工作
- 语义分割:经典 CNN 的 FCN 方法、训练的若监督半监督方法、使用合成场景数据的方法
- 域适应:对 CNN 分类器的域适应(对齐特征分布)、域对抗神经网络用于迁移特征、CycleGAN 和 CyCAD 等用于无监督图像对齐,虽然特征空间的域适应已经成功运用到分类任务中,但是语义分割这样的像素级预测任务仍然不可用
- 方法
- 概览:本文提出的域适应算法主要由两个模块组成,分割网络 G G G 和判别器 D i D_i Di, i i i 表示判别器在多级对抗学习框架下的级别,两个图像集合 { I S } , { I T } \{\mathcal I_S\},\{\mathcal I_T\} {IS},{IT} 分别表示源域图像和目标域图像,本文首先利用 I s I_s Is 图像(有标注数据)进行前向的网络传播,对 G 进行优化,然后对 I t I_t It 图像(无标注数据)预测分割的输出 P t P_t Pt,由于目标是使得预测的分割结果 P s P_s Ps 和 P t P_t Pt 尽量接近,本文将上述的两个预测结果作为判别器的输入,对输入是源还是目标进行区分,网络也将 D i D_i Di 的梯度传播到 G G G 使得生成器能在目标域生成与源域相似的预测结果
- 目标函数:根据提出的网络,本文将域适应任务形式化为两个损失函数, L ( I s , I t ) = L s e g ( I s ) + λ a d v L a d v ( I t ) \mathcal L(I_s,I_t)=\mathcal L_{seg}(I_s)+\lambda_{adv}\mathcal L_{adv}(I_t) L(Is,It)=Lseg(Is)+λadvLadv(It) 其中的 L s e g \mathcal L_{seg} Lseg 表示的是使用真实标注值的交叉熵损失, L a d v \mathcal L_{adv} Ladv 是将预测结果适应到源数据分布中的对抗损失, λ a d v \lambda_{adv} λadv 是平衡两个损失的权重
- 输出空间域适应
- 基于图像特征的分类方法将全局的视觉信息进行描述,和基于图像特征的分类方法不同,语义分割中的高纬度特征会编码更加复杂的表示信息,因此,在特征空间的域适应不一定是最适合语义分割任务的
- 另一方面,虽然语义分割输出是低维度空间的,但是这些输出依然包括场景布局和上下文等丰富的信息,本文直观上认为不管图像来自源数据域还是目标数据域,分割结果应当在空间上和局部上都具有较强的相似性,基于这个直观观察,本文将低维度的 softmax 输出结果利用对抗学习的方案进行适应
- 单级别的对抗学习
- 判别器训练:判别器的训练目标在于,给定图像分割结果 P = G ( I ) , P ∈ R H × W × C P=G(I),P \in \mathbb R^{H \times W \times C} P=G(I),P∈RH×W×C ,将 P 输入到全卷积的判别器网络 D ,使用交叉熵损失 L d ( P ) = − ∑ h , w ( 1 − z ) log ( D ( P ) ( h , w , 0 ) ) + z log ( D ( P ) ( h , w , 1 ) ) \mathcal L_d(P)=-\sum_{h,w}(1-z)\log(D(P)^{(h,w,0)})+z\log(D(P)^{(h,w,1)}) Ld(P)=−∑h,w(1−z)log(D(P)(h,w,0))+zlog(D(P)(h,w,1)),其中的 z=0 说明样本从目标域采集,z=1 说明样本从源域采集
- 分割网络训练: L s e g ( I s ) = − ∑ h , w ∑ c ∈ C Y s ( h , w , c ) log ( P s ( h , w , c ) ) \mathcal L_{seg}(I_s)=-\sum_{h,w}\sum_{c\in C} Y_s^{(h,w,c)}\log(P_s^{(h,w,c)}) Lseg(Is)=−∑h,w∑c∈CYs(h,w,c)log(Ps(h,w,c)),其中的 Y s Y_s Ys 对源数据而言表示的是真实标注数据,对目标数据则是 P s = G ( I s ) P_s=G(I_s) Ps=G(Is)
- 对于其中的目标数据图像,还可以利用对抗损失进行训练 L a d v ( I t ) = − ∑ h , w log ( D ( P t ) ( h , w , 1 ) ) \mathcal L_{adv}(I_t)=-\sum_{h,w}\log(D(P_t)^{(h,w,1)}) Ladv(It)=−∑h,wlog(D(Pt)(h,w,1))
- 多级别的对抗学习
- 针对从低级别特征空间引入对抗模块
- L ( I s , I t ) = ∑ i λ s e g i L s e g i ( I s ) + ∑ i λ a d v i L a d v i ( I t ) \mathcal L(I_s,I_t)=\sum_i \lambda_{seg}^i\mathcal L_{seg}^i(I_s)+\sum_i \lambda_{adv}^i\mathcal L_{adv}^i(I_t) L(Is,It)=∑iλsegiLsegi(Is)+∑iλadviLadvi(It)