论文信息
-
论文标题:All about Structure - Adapting Structural Information across Domains for Boosting Semantic Segmentation
-
论文作者:Wei-Lun Chang, Hui-Po Wang, Wen-Hsiao Peng, Wei-Chen Chiu
-
研究机构:台湾交通大学
-
论文出处:CVPR 2019
-
引用信息:
@inproceedings{DBLP:conf/cvpr/ChangWPC19,author = {Wei{-}Lun Chang andHui{-}Po Wang andWen{-}Hsiao Peng andWei{-}Chen Chiu},title = {All About Structure: Adapting Structural Information Across Domainsfor Boosting Semantic Segmentation},booktitle = { {IEEE} Conference on Computer Vision and Pattern Recognition, {CVPR}2019, Long Beach, CA, USA, June 16-20, 2019},pages = {1900--1909},publisher = {Computer Vision Foundation / {IEEE}},year = {2019},url = {http://openaccess.thecvf.com/content\_CVPR\_2019/html/Chang\_All\_About\_Structure\_Adapting\_Structural\_Information\_Across\_Domains\_for\_Boosting\_CVPR\_2019\_paper.html},doi = {10.1109/CVPR.2019.00200},timestamp = {Thu, 27 Aug 2020 07:31:34 +0200},biburl = {https://dblp.org/rec/conf/cvpr/ChangWPC19.bib},bibsource = {dblp computer science bibliography, https://dblp.org} }
-
代码链接:https://github.com/a514514772/DISE-Domain-Invariant-Structure-Extraction
论文主要贡献和参考价值
-
主要贡献:
- 提出 DISE
- (1)学习的图像特征包含一个域无关的结构组成和一个域相关的纹理组成;
- (2)只是使结构组成域无关;
- (3)实现跨域的图像转换,可进一步进行图像标签的迁移。DISE 重点强调对结构信息与纹理信息的分离,同时维持清晰的结构特征
-
参考价值:
- 域适应方法(特征分离整理,和 SharinGAN 类似)
-
结构信息与纹理信息的整理分离
论文要点翻译
- 摘要
- 本文主要解决无监督域适应的问题,并将其运用于语义分割任务。其中,主要利用从合成场景数据学习到的知识迁移到真实场景数据
- 本文假设语义分割的最关键信息是图像的结构性内容,而且结构性内容是不同数据域所共享的,因此,本文提出 DISE,即域无关的结构信息提取,用于将图像分解为域无关的结构信息和域相关的纹理表示信息,可以进一步依据二者实现不同域的转换,使得标签迁移成为可能,可以进一步改进语义分割性能
- 实验结果表明,DISE 可以超越几个典型的 SOTA 方法
- 引言
- 语义分割任务关键在于预测图像中每个像素对应的类别标签,是计算机视觉中最具挑战性的任务之一,近年来,深度学习的复兴使得语义分割任务达到新的性能基准,引入的全卷积网络,在图像分类场景的预训练模型的基础上利用许多技巧进行语义分割的增强(加大按首页、保留上下文信息等),但是这些方法主要是监督学习方法,因此依赖于大批量的标注数据
- 为了解决该问题,一个有效的解决方案就是在合成数据上训练模型,现今的合成引擎已经能够合成高质量、逼真的虚拟场景图像,因此可以利用合成引擎生成大批量数据及其对应的标签,但是,在合成场景训练的分割模型难以在真实场景中保持较好的性能,主要原因在于合成数据与真实数据之间存在的域偏差问题,也就是合成图像和真实图像之间仍在低级的纹理等方面存在差异
- 域适应是将源域学习的知识迁移到目标域的方法,常见的域适应方法是通过匹配不同域的特征的分布,进而提取得到域无关的特征,最近的工作也有在结构化的输入空间引入分布对齐的,但是这些方法主要假设两个域之间的所有特征或者输出空间是可以较好地对齐的,因此可以得到域无关的特征表示用于实现问题中的任务
- 本文提出的 DISE 框架是用于语义分割的域适应模型,本文假设图像中的高级的结构信息是对语义分割任务最有效的,因此,本文的 DISE 主要意图发现域无关的结构特征,这一点通过从图像的域相关的纹理信息中抽离处域无关的结构信息而实现
- 方法和之前的方法不同点在于:(1)学习的图像特征包含一个域无关的结构组成和一个域相关的纹理组成;(2)只是使结构组成域无关;(3)实现跨域的图像转换,可进一步进行图像标签的迁移。DISE 重点强调对结构信息与纹理信息的分离,同时维持清晰的结构特征
- 相关工作
- 和图像分类任务不同,之前的许多域适应方法都是在图像分类任务上进行的,由于语义分割的任务输出是高度结构化的具有上下文的语义信息,本文认为使用分布对齐、图像转换、标签转换等可以大致将域适应方法进行归纳整理
- 和用于图像分类的域适应方法一样,可以利用不同的评价标准将不同域的分布进行匹配(在特征空间或者输入空间),代表工作是在输出的语义分割图基于空间上下文相似性进行判断,但是这个假设是两个域的输出空间是完全可以对齐的,考虑到外观的差异,合成数据和真实数据在实际情况中这一点可能并不成立
- 最近的 I2I 任务和风格转换中将源域图像获取目标域的风格纹理外观特性,这个转换过程使得语义分割模型可以使用转换的数据增强训练数据,在图像转换过程中学习到的共有的特征空间也可以成为帮助学习域无关语义分割模型的工具
- 图像转换任务使得语义分割中可以将源域的标签泛化迁移到目标域,提供目标域的额外监督信号,学习目标域图像可用的模型,但是风险在于直接进行图像翻译可能不利于模型学习,因为可能会将很多域相关的信息带入目标域
- 提出的 DISE 则是利用上述三种策略,假设图像的高级的结构信息可以作为语义分割最有效的信息,其中 DISE 将图像的低级纹理这样的域相关的信息与高级的结构这样的域无关信息进行分离
- 方法
- 本文提出 DISE 用于解决语义分割的域适应问题,重点在于显示地约束编码器,使得共享的编码器可以捕捉结构特征,而私有的编码器则捕获细节的纹理特征,结合迁移图像的标注
- 域无关结构信息提取
- DISE 学习:基于 NsN_sNs? 成对的有标注的图像源数据 Xs={(xis,yis)}i=1NsX^s=\{(x_i^s,y_i^s)\}_{i=1}^{N_s}Xs={ (xis?,yis?)}i=1Ns?? 和无标签的目标域数据 Xt={xit}i=1NtX^t=\{x_i^t\}_{i=1}^{N_t}Xt={ xit?}i=1Nt??,网络主要由五个部分组成:(1)共享编码器,(2)两个域相关的私有编码器;(3)共享的解码器;(4)像素级的分类器
- 给定源域图像 xsx^sxs 作为输入,共享编码器得到域无关的高级结构信息表示 zcs=Ec(xs)z^s_c=E_c(x^s)zcs?=Ec?(xs),并生成私有的域相关的纹理细节信息 zps=Eps(xs)z_p^s=E_p^s(x^s)zps?=Eps?(xs),两个信息表示相互补充,两者结合在一起可以使得解码器恢复原始图像得到 x^s2s=D(zcs,zps)\hat x^{s2s}=D(z_c^s,z_p^s)x^s2s=D(zcs?,zps?) ,可以利用图像的重建损失进行该网络的训练;该过程对于目标域图像也是一样的
- 同时,共享的结构信息表示 zcsz_c^szcs? 和 zctz_c^tzct? 可以被分类器使用,得到源域和目标域对应的语义分割的预测结果 y^s=T(zcs)\hat y^s=T(z_c^s)y^?s=T(zcs?) 和 y^t=T(zct)\hat y^t=T(z_c^t)y^?t=T(zct?)
- 结构信息和纹理信息的整理则是利用域对抗训练的图像翻译和感知损失最小化进行的,考虑成对的源和目标图像,对应的特征表示,则可以将他们的域相关的特征进行交换,进而通过解码器得到转换的结果,如果共享的和私有的两个部分的特征和预期相同,则应当得到源域结构、目标域纹理或者源域纹理、目标域结构的两种图像,分别使用的是域对抗损失和感知损失进行模型训练,使得转换的图像以及在源域和目标域中的部分的域相似性和感知损失相似性
- 最后,利用随康分分割损失进行结构组分的域无关训练,使用源域数据及其标注数据的负对数似然性作为对抗损失
- 模型学习
- L=λsegsLsegs+λseg_advLseg_adv+λrecLrec+λtrans_strLtrans_str+λtrans_texLtrans_tex+λtrans_advLtrans_adv+λsegs2tLsegs2t\mathcal L=\lambda_{seg}^s \mathcal L_{seg}^s+\lambda_{seg\_adv} \mathcal L_{seg\_adv}+\lambda_{rec} \mathcal L_{rec}+\lambda_{trans\_str} \mathcal L_{trans\_str}+\lambda_{trans\_tex} \mathcal L_{trans\_tex}+\lambda_{trans\_adv} \mathcal L_{trans\_adv}+\lambda_{seg}^{s2t} \mathcal L_{seg}^{s2t}L=λsegs?Lsegs?+λseg_adv?Lseg_adv?+λrec?Lrec?+λtrans_str?Ltrans_str?+λtrans_tex?Ltrans_tex?+λtrans_adv?Ltrans_adv?+λsegs2t?Lsegs2t?
- 语义分割损失:基于较差熵、源域标签
- 输出空间对抗损失 Lseg_adv=?1H′W′∑h′,w′log?(Dadvseg(y^t)h′,w′)\mathcal L_{seg\_adv}=-\frac{1}{H'W'}\sum_{h',w'}\log(D_{adv}^{seg}(\hat y^t)_{h',w'})Lseg_adv?=?H′W′1?∑h′,w′?log(Dadvseg?(y^?t)h′,w′?)
- 重建损失:Lperc(x,y)=∑l∈Lw(l)N(l)∥ψ(l)(x)?ψ(l)(y)∥1\mathcal L_{perc}(x,y)=\sum_{l \in L}\frac{w^{(l)}}{N^{(l)}}\|\psi^{(l)}(x)-\psi^{(l)}(y)\|_1Lperc?(x,y)=∑l∈L?N(l)w(l)?∥ψ(l)(x)?ψ(l)(y)∥1? 表示神经网络中不同层次特征的感知损失;Lrec=Lperc(x^s2s,xs)+Lperc(x^t2t,xt)\mathcal L_{rec}=\mathcal L_{perc}(\hat x^{s2s},x^s)+\mathcal L_{perc}(\hat x^{t2t},x^t)Lrec?=Lperc?(x^s2s,xs)+Lperc?(x^t2t,xt)
- 转换结构损失:Ltransstr=Lperc(x^s2t,xs)+Lperc(x^t2s,xt)\mathcal L_{trans_str}=\mathcal L_{perc}(\hat x^{s2t},x^s)+\mathcal L_{perc}(\hat x^{t2s},x^t)Ltranss?tr?=Lperc?(x^s2t,xs)+Lperc?(x^t2s,xt)
- 转换纹理损失:Ltex(x,y)=∑l∈Lw(l)C(l)∑c∥μc(ψ(l)(x))?μc(ψ(l)(y))∥1\mathcal L_{tex}(x,y)=\sum_{l\in L}\frac{w^{(l)}}{C^{(l)}}\sum_c\|\mu_c(\psi^{(l)}(x))-\mu_c(\psi^{(l)}(y))\|_1Ltex?(x,y)=∑l∈L?C(l)w(l)?∑c?∥μc?(ψ(l)(x))?μc?(ψ(l)(y))∥1?;Ltrans_tex=Ltex(x^s2t,xs)+Ltex(x^t2s,xt)\mathcal L_{trans\_tex}=\mathcal L_{tex}(\hat x^{s2t},x^s)+\mathcal L_{tex}(\hat x^{t2s},x^t)Ltrans_tex?=Ltex?(x^s2t,xs)+Ltex?(x^t2s,xt)
- 转换对抗损失:利用 LSGAN 和 PatchGAN 中的损失
- 标注迁移损失:交叉熵损失(源域转为目标域后,源域标签直接作为数据标签)
- 摘要