论文信息
-
论文标题:SharinGAN - Combining Synthetic and Real Data for Unsupervised Geometry Estimation
-
论文作者:Koutilya PNVR, Hao Zhou, David Jacobs
-
研究机构:University of Maryland, College Park, MD, USA.
-
论文出处:CVPR 2020
-
引用信息:
@inproceedings{DBLP:conf/cvpr/PNVRZJ20, author = {Koutilya PNVR and Hao Zhou and David Jacobs}, title = {SharinGAN: Combining Synthetic and Real Data for Unsupervised Geometry Estimation}, booktitle = {2020 {IEEE/CVF} Conference on Computer Vision and Pattern Recognition, {CVPR} 2020, Seattle, WA, USA, June 13-19, 2020}, pages = {13971--13980}, publisher = {{IEEE}}, year = {2020}, url = {https://doi.org/10.1109/CVPR42600.2020.01399}, doi = {10.1109/CVPR42600.2020.01399}, timestamp = {Tue, 11 Aug 2020 16:59:49 +0200}, biburl = {https://dblp.org/rec/conf/cvpr/PNVRZJ20.bib}, bibsource = {dblp computer science bibliography, https://dblp.org} }
-
代码链接:None
论文主要贡献和参考价值
-
主要贡献:
-
参考价值:
论文要点翻译
-
摘要
- 本文提出结合合成图像和真实图像的单张图片几何信息估计的方法,提出的方法将两个域的图像映射到同一个共享域
- 这样的连接到共享域再连接到一个基础任务网络中进行端到端的网络训练。理论上,从两个域的数据应当在基础网络中共享相同的信息
- 实验结果表明方法在两个重要的域即表面 normal 估计和单目深度估计中使用无监督条件设置取得较好的实验结果
-
引言
- 理解场景几何信息是计算机视觉中的一个基础任务,例如单目深度估计对于图像的合成目标插入、机器人和自动驾驶等领域都有重要的应用价值,但是这些任务的数据通常都是难以标注的;合成场景则具有密集的标注数据,经常用来弥补真实数据标注不足的问题,但是通常合成场景上的数据和真实场景数据具有不同的分布规律,使得在合成场景数据训练的模型通常在真实场景中性能较差,这个问题主要是由于场景之间数据域的鸿沟(domain gap)造成的
- 为了解决这个问题,许多研究都在利用合成场景数据和真实场景数据之间的转换进行任务的促进,这个转换通常是在特征级或者直接在图像级进行,但是,将一个域的样本映射到另一个域本身就不是一个简单的任务,因此也限制了性能
- 本文观察到,发现这样的映射是一个没有必要解决的困难的问题,为了训练能够同时用于合成数据和真实数据的模型,必要的是能够将两个域的数据映射到一个新的表示空间,这个表示空间中包含两个域中任务相关的信息,并且将这个信息以相同的方式展现出来。而这个表示映射不需要转换原有数据域中任务无关的属性
- 据此,本文提出了简化的解决方案,假设合成场景数据和真实场景数据都是两个部分组成的:(1)域无关的信息,这是合成数据和真实数据共享的语义信息,表示为 I I I,(2)域相关的信息。本文假设与相关的信息可以进一步分为两个部分,一部分是域相关但是任务无关的信息,一部分是域相关且任务相关的信息,因此,图像可以表示为 x r = f ( I , δ r , δ r ′ ) x_r=f(I,\delta_r,\delta_r^{'}) xr=f(I,δr,δr′) 和 x s = f ( I , δ s , δ s ′ ) x_s=f(I,\delta_s,\delta_s^{'}) xs=f(I,δs,δs′)
- 本文认为域之间差异主要是 δ s \delta_s δs 和 δ r \delta_r δr 之间的差异会影响任务网络的训练,而另外两个域相关特征则是任务网络不需要的,为了简化策略,对于合成数据和真实数据,只需要将 δ s , δ r \delta_s,\delta_r δs,δr 映射到相同的特征表示 δ s h \delta_{sh} δsh 即可,不需要修改域相关、任务无关的信息
- 研究表明,合成数据和真实数据共享的网络可以减少不同域图像之间的差异,受到这些研究的启发,本文定义了一个统一的映射函数 G,即为 SharinGAN 用于减少不同域数据之间的 gap
- 和现有的研究不同,本文的 G 训练使得域相关信息被去除得最少,通过利用自编码器队网络进行预训练,以此以重建得方式训练 G ,使得 G 能够将任务相关信息映射到共享域中
- 也就是说,典型的较好 G 可以最小化 δ s , δ r \delta_s,\delta_r δs,δr 之间的差异,并将二者映射到 δ s h \delta_{sh} δsh,此时预测任务则为 G ( x r ) = f ( I , δ s h , δ r ′ ) G(x_r)=f(I,\delta_{sh},\delta_r^{'}) G(xr)=f(I,δsh,δr′) 和 G ( x s ) = f ( I , δ s h , δ s ′ ) G(x_s)=f(I,\delta_{sh},\delta_s^{'}) G(xs)=f(I,δsh,δs′)
- 本文在 KITTI 和 vKITTI 进行了无监督单目深度估计实验,实验结果表明方法可以达到 SOTA 性能
-
相关工作
- 单目深度估计:MRF 方法、CNN 方法、CNN+CRF 方法、合成数据方法、自监督方法
- 脸部几何估计
- GAN 在域适应中的使用
-
方法
-
解决问题:缺乏真实数据训练任务网络
-
提出 SharinGAN 减少合成数据和真实数据之间的域鸿沟,学习映射 G : x r → x r s h G: x_r \to x_r^{sh} G:xr→xrsh 和 G : x s → x s s h G: x_s \to x_s^{sh} G:xs→xssh 其中的 x k = f ( I , δ k , δ k ′ ) x_k=f(I,\delta_k,\delta_k^{'}) xk=f(I,δk,δk′) x k s h = f ( I , δ s h , δ k ′ ) x_k^{sh}=f(I,\delta_{sh},\delta_k^{'}) xksh=f(I,δsh,δk′)
-
G 使得任务网络在域无关空间进行训练,使得网络在测试的时候能更好地运用到真实数据,实现这个目标主要使用对抗损失找到共享信息,通过最小化两个分布之间的差异,同时,保留域无关的信息,这主要使用重建损失实现
-
如果没有目标任务网络的损失,G 可能改变图像,使得图像无法完成预测匹配标签的目的,因此,需要额外的使用任务网络损失指导生成器
-
框架设计:本文提出训练的生成网络叫做 SharinGAN,如论文图 2 所示,网络包含一个生成网络 G,一个图像及的判别器 D 使得网络连接生成器和任务网络。生成器 G 输入合成数据或者真实数据,将两者转换为共享空间的特征,以此欺骗 D,和现有的网络不同,本文的 G 将域相关的部分进行转换,原有的域无关的部分和域相关但任务无关的部分则保持不变,因此转换的图像和原有的图像之间差异更小,任务网络将转换的图像作为输入进行预测,整个网络以端到端的形式进行训练
-
损失函数
-
(1)生成网络的损失,本文仅使用单个生成网络 G 用于合成数据和真实数据,以此将不同域数据的特征进行对齐,现有的研究也说明,对合成场景数据和真实数据使用相同权重的网络在任务网络中有较好的性能,为了将域相关且任务相关的特征映射到共享的特征空间,本文主要使用图像级的对抗损失进行网络训练: L W ( D , G ) = E x s [ D ( G ( x s ) ) ] − E x r [ D ( G ( x r ) ) ] L_W(D,G)=\mathbb E_{x_s}[D(G(x_s))]-\mathbb E_{x_r}[D(G(x_r))] LW(D,G)=Exs[D(G(xs))]−Exr[D(G(xr))],其中的 D 是判别器
-
生成网络的损失加上梯度惩罚项: L g p ( D ) = ( ∥ ∇ h ^ D ( h ^ ) ∥ 2 − 1 ) 2 L_{gp}(D)=(\|\nabla_{\hat h}D(\hat h)\|_2-1)^2 Lgp(D)=(∥∇h^D(h^)∥2−1)2
-
最终的对抗损失 L a d v = L W ( D , G ) − λ L g p ( D ) L_{adv}=L_W(D,G)-\lambda L_{gp}(D) Ladv=LW(D,G)−λLgp(D)
-
(2)只使用对抗损失会使得网络学习的特征将所有域相关的特征移除,因此还需要加上正则向,使得转换的图像尽可能保留这些信息 L r = ∥ G ( x s ) − x s ∥ 2 + ∥ G ( x r ) − x r ∥ 2 2 L_r=\|G(x_s)-x_s\|^2+\|G(x_r)-x_r\|_2^2 Lr=∥G(xs)−xs∥2+∥G(xr)−xr∥22
-
(3)任务网络损失,任务网络将合成数据或者真实数据输入,预测标签信息,对于深度估计而言,使用深度的平滑性和几何一致性作为数据的虚拟监督信号
-
合成场景数据的监督信号 L 1 = ∥ y ^ s − y s ∗ ∥ 1 L_1=\|\hat y_s-y_s^*\|_1 L1=∥y^s−ys∗∥1
-
深度平滑性损失 L D S = e − ∇ x r ∥ ∥ ∇ y ^ r L_{DS}=e^{-\nabla_{x_r}\|}\|\nabla_{\hat y_r} LDS=e−∇xr∥∥∇y^r
-
几何一致性损失 L G C = η 1 − S S I M ( x r , x r r ′ ) 2 + μ ∥ x r − x r r ′ ∣ L_{GC}=\eta\frac{1-SSIM(x_r,x_{rr}^{'})}{2}+\mu\|x_r-x_{rr}^{'}| LGC=η21−SSIM(xr,xrr′)+μ∥xr−xrr′∣
-
最终的损失 L T = β 1 L D S + β 2 L 1 + β 3 L G C L_T=\beta_1 L_{DS}+\beta_2 L_1 + \beta_3 L_{GC} LT=β1LDS+β2L1+β3LGC
-
(4)结合不同损失,得到 L = α 1 L a d v + α 2 L r + α 3 L T L=\alpha_1L_{adv}+\alpha_2L_r+\alpha_3L_T L=α1Ladv+α2Lr+α3LT,本文使用的深度估计权重设置为 ( α 1 , α 2 , α 3 ) = ( 1 , 10 , 1 ) (\alpha_1,\alpha_2,\alpha_3)=(1,10,1) (α1,α2,α3)=(1,10,1)
-
-
-