论文笔记-Domain Decluttering Simplifying Images to Mitigate Synthetic-Real Domain Shift...

论文信息

  • 论文标题:Domain Decluttering: Simplifying Images to Mitigate Synthetic-Real Domain Shift and Improve Depth Estimation

  • 论文作者:Yunhan Zhao, Shu Kong, Daeyun Shin, Charless Fowlkes

  • 研究机构:UC Irvine; Carnegie Mellon University

  • 论文出处:CVPR 2020

  • 引用信息:

    @inproceedings{DBLP:conf/cvpr/ZhaoKSF20,
      author    = {Yunhan Zhao and
                   Shu Kong and
                   Daeyun Shin and
                   Charless C. Fowlkes},
      title     = {Domain Decluttering: Simplifying Images to Mitigate Synthetic-Real
                   Domain Shift and Improve Depth Estimation},
      booktitle = {2020 {IEEE/CVF} Conference on Computer Vision and Pattern Recognition,
                   {CVPR} 2020, Seattle, WA, USA, June 13-19, 2020},
      pages     = {3327--3337},
      publisher = {{IEEE}},
      year      = {2020},
      url       = {https://doi.org/10.1109/CVPR42600.2020.00339},
      doi       = {10.1109/CVPR42600.2020.00339},
      timestamp = {Tue, 11 Aug 2020 16:59:49 +0200},
      biburl    = {https://dblp.org/rec/conf/cvpr/ZhaoKSF20.bib},
      bibsource = {dblp computer science bibliography, https://dblp.org}
    }
    
  • 代码链接:https://github.com/yzhao520/ARC

论文主要贡献和参考价值

  • 主要贡献

    • 研究利用合成数据和少量真实数据进行深度预测的问题,揭示现有的无监督域适应方法用于深度估计任务时存在的问题
    • 提出 ARC 用于检测、移除、填充较难转换的区域,使得真实图像更好地转换为合成图像,并且可以较好地辅助深度估计任务
  • 参考价值

    • 域适应方法在输出层的考量
  • 深度估计任务的无监督学习/弱监督学习解决方案

    • 合成数据与真实数据的辅助

    论文要点翻译

    • 摘要
      • 利用合成引擎生成的数据可以极大提高深度估计的性能,但是减小合成数据和真实数据之间的域鸿沟的问题本身并不容易
      • 现有的许多工作主要关注无监督的域适应场景,本文则重点关注更现实的场景,即拥有大量的合成场景数据和少量的真实有标注数据,在这样的条件设置下,本文发现现有的方法难以训练,并且性能提升不大,其中失败的关键在于真实世界数据通常包含一些合成场景数据中没有出现的物体,这个高级别的域差异无法通过现有的图像翻译方法处理
      • 基于上述观察,本文提出注意力模块用于识别和移除域之间的差异物体,以此改进深度估计性能,本文的 attend-remove-complete ARC 方法在实验结果证明超过现有的深度预测的域适应方法性能,视觉结果表明移除的区域可以有效解决合成和真实数据之间的域差异问题
    • 引言
      • 利用合成引擎可以合成无限多的场景图像,这些场景图像还可以获取对应的真实标注数据,这样的大规模数据可以作为训练数据源训练大规模的 CNN,利用合成数据使得诸如语义分割一类需要大量细粒度标注训练数据的模型可以有效训练,而深度估计更是像素级的细粒度预测任务,这其中的标注数据通常利用专门的精细仪器获取,获取的数据通常是有噪声的,而且并不完整
      • 由于合成数据和真实数据之间有域鸿沟,直接利用合成数据并不容易,在合成数据训练的模型通常难以较好泛化到真实世界图像,因此,域适应问题是研究这点,主要使用无监督的生成模型来解决域鸿沟的问题,这些模型假设域适应问题很大程度上可以通过学习域无关的特征空间或者将合成数据转换成真实数据进行解决,这些方法主要依赖于一个对抗判别器对不同域特征的相似性进行判断,没有具体考虑任务,CyCADA 将真实图像和合成图像相互转换,利用循环一致约束和对抗学习策略,这表明在一些视觉任务中,只有合成数据有标注,此时利用域适应算法可以成功利用有标注的合成数据进行模型训练并将模型进一步利用域适应泛化到真实数据;T2NET 则利用对抗学习策略检测和判断图像级和特征级的域差异,也证明了域适应方法在深度估计任务中的应用
      • 虽然这些方法取得较大的成功,但是还是存在一定的问题:(1)低级和高级的域适应,无监督的 GAN 限于学习图像翻译,但是主要是进行低级别的颜色、纹理等特征的转换,因此现在的模型难以处理包含高级差异的图像域之间的转换问题,高级别的域差异问题,比如不同域之间存在的新物体,这个问题使得模型的鲁棒性不足,因此,为了提高模型鲁棒性,可以使模型显式地考虑并移除这些物体,不让这些物体影响模型的预测性能;(2)输入和输出的域适应,图像分类的域适应主要考虑其中的较小的外观变换,和这个问题不同,深度预测中的域差异不仅仅是输入的外观不同,输出的统计规律、场景几何信息也有所差异,为了理解合成场景数据和真实场景数据之间的几何统计特性的差异,必须有少量的真实世界的标注数据,因此,不能完全依赖无监督的域适应;但是,也需要注意到,这个可能的场景是可能存在小数量的有标注真实数据和大量的合成场景数据,实验结果表明,使用现有的无监督域适应模型直接加上少量的监督数据难以表现更好,有的甚至性能有所下降
      • 基于上述观察,本文提出新的方法,使用非传统的图像翻译策略,将真实图像转换为合成训练数据,引入注意力模块检测有问题区域,注意力模块生成物体的二值掩膜,这个掩膜可以帮助从输入图像中移除问题区域;然后使用增图模块将这些去除的区域进行填充,最后,利用一个翻译模块将图像的低级别的颜色和问题特征等进行转换
      • 本文的方法叫做 ARC,检测、移除、填充真实图像,基于模块化的坐标下降训练策略,精心训练每个模块后进行联合的优化
    • 相关工作
      • 合成数据的运用:深度估计、语义分割、光流估计
      • 合成-真实的域转换和域适应:MMD、CyCADA、T2Net
      • 注意力机制和可解释性
    • 方法
      • 现有的模型主要依赖全监督的合成数据和无监督的真实数据,本文考虑的是更宽松但也更具有现实价值的条件,即全监督的合成数据和若监督的真实数据(少量有真实标注的数据)
      • 给定输入的真实标注图像 X r = { x i r , y i r } i = 1 M X^r=\{\mathtt x_i^r,\mathtt y_i^r\}_{i=1}^M Xr={xir,yir}i=1M 和合成数据 X s = { x i s , y i s } i = 1 N X^s=\{\mathtt x_i^s,\mathtt y_i^s\}_{i=1}^N Xs={xis,yis}i=1N 其中的 M ≪ N M \ll N MN,目标在于训练深度估计模型 D \mathcal D D 可以精确地对真实数据进行深度估计,这个问题的主要挑战在于 (1)合成数据和真实数据之间的域鸿沟问题使得模型难以在真实数据测试时保持较好的性能;(2)假设模型可以从合成数据中获益,但是如何有效利用两个数据之间的域差异改进模型仍然是一个开放问题
      • 本文实验主要回答第一个问题,真实数据包含一些复杂的区域,这些区域可能在合成数据中不出现,对模型的泛化能力影响较大,本文解决方案在于检测、 移除、填充这些区域,使得合成数据在高级和低级的域统计特征上都能更好与真实数据匹配
      • 注意力模块 A \mathcal A A
        • 该模块主要解决如何自动识别这些困难的区域,主要利用注意力模块 A \mathcal A A 学习自动检测,输入图像 x r ∈ R H × W × 3 \mathtt x^r \in \mathbb R^{H \times W \times 3} xrRH×W×3 ,注意力模块生成二元掩膜 M ∈ R H × W \mathtt M \in \mathbb R^{H \times W} MRH×W,最终使用 M ⨀ x r \mathtt M \bigodot \mathtt x^r Mxr 表示生成的掩膜图像
        • 挑战在于生成二值掩膜的过程通常包含设置阈值的操作,这些操作通常是不可导的,因此本文使用的是 Gumbel-Max 技巧用于使用连续的松耦合方法申城二元淹没
        • Gumbel max 技巧:假定随机变量 g g g 服从 Gumbel 分布( g = − log ⁡ ( − log ⁡ ( u ) ) g=-\log(-\log(u)) g=log(log(u)),其中的 u 服从均匀分布 U ( 0 , 1 ) U(0,1) U(0,1)),使用 m 表示离散二值变量,其中 P ( m = 1 ) ∝ α P(m=1)\propto \alpha P(m=1)α,此时,其中的 g g g 叫做 Gumbel 随机变量;其次,m 可以通过采样 g 得到 m = s i g m o i d ( ( log ⁡ ( α ) + g ) / τ ) m={sigmoid}((\log(\alpha)+g)/\tau) m=sigmoid((log(α)+g)/τ)
        • 为了控制输出掩膜的稀疏度,根据掩膜的实际稀疏度 ξ = 1 H ∗ W ∑ i , j H , W M i , j \xi=\frac1{H*W}\sum_{i,j}^{H,W}\mathtt M_{i,j} ξ=HW1i,jH,WMi,j 使用 KL 散度描述该损失 ℓ K L = ρ log ⁡ ( ρ ξ ) + ( 1 − ρ ) log ⁡ ( 1 − ρ 1 − ξ ) \ell_{KL}=\rho\log(\frac\rho\xi)+(1-\rho)\log(\frac{1-\rho}{1-\xi}) KL=ρlog(ξρ)+(1ρ)log(1ξ1ρ)
      • 填充模块 I \mathcal I I
        • 前述模块 A \mathcal A A 将区域中的困难区域用一个稀疏的二值掩膜矩阵消除,为了避免破坏深度预测结果,应当在去除的区域中填充上合适的像素,得到填充结果 x ~ = ( 1 − M ) ⨀ I ( M ⨀ x r ) + M ⨀ x r \tilde {\mathtt x}=(1-\mathtt M)\bigodot \mathcal I(\mathtt M \bigodot \mathtt x^r)+\mathtt M \bigodot \mathtt x^r x~=(1M)I(Mxr)+Mxr
        • 为了训练上述的模块,预训练引入随机的去除区域后的重建损失进行自监督的训练 ℓ r e c r g b = E x r ∼ X r [ ∥ I ( M ⨀ x r ) − x r ∥ 1 ] \ell_{rec}^{rgb}=\mathbb E_{x_r \sim X^r}[\|\mathcal I(\mathtt M \bigodot \mathtt x^r)-\mathtt x^r\|_1] recrgb=ExrXr[I(Mxr)xr1],该损失使得模型能够引导模型去除模型中的物体而不是重建图像中的原始区域,主要原因在于自监督中去除的是随机的区域
        • 此外还加上特征的惩罚重建 ℓ f r g b = ∑ k = 1 K E x r ∼ X r [ ∥ ϕ k ( I ( M ⨀ x r ) ) − ϕ k ( x r ) ∥ 1 ] \ell_{f}^{rgb}=\sum\limits_{k=1}^K\mathbb E_{x_r \sim X^r}[\|\phi_k(\mathcal I(\mathtt M \bigodot \mathtt x^r))-\phi_k(\mathtt x^r)\|_1] frgb=k=1KExrXr[ϕk(I(Mxr))ϕk(xr)1],其中的 ϕ k \phi_k ϕk 表示 VGG16 预训练模型中的第 k 层特征
        • 再加上风格损失 ℓ s t y l e = ∑ k = 1 K E x r ∼ X r [ ∥ σ k ( I ( M ⨀ x r ) ) − σ k ( x r ) ∥ 1 ] \ell_{style}=\sum\limits_{k=1}^K\mathbb E_{x_r \sim X^r}[\|\sigma_k(\mathcal I(\mathtt M \bigodot \mathtt x^r))-\sigma_k(\mathtt x^r)\|_1] style=k=1KExrXr[σk(I(Mxr))σk(xr)1],其中的 σ k ϕ ( x r ) = 1 C k H k W k R ( ϕ k ( x r ) ) ⋅ R ( ϕ k ( x r ) ) T \sigma_k^\phi(\mathtt x^r)=\frac 1 {C_kH_kW_k}R(\phi_k(\mathtt x^r))\cdot R(\phi_k(\mathtt x^r))^T σkϕ(xr)=CkHkWk1R(ϕk(xr))R(ϕk(xr))T 得到的是 k - 特征对应的 Gram 矩阵, R ( ⋅ ) R(\cdot) R() 表示将特征图变形为 C k × H k W k C_k\times H_kW_k Ck×HkWk
        • 最后,引入对抗损失使得填充模块能够将填充结果更像合成场景数据分布 ℓ a d v = E x r ∼ X r [ log ⁡ ( D ( x ~ ) ) ] + E x r ∼ X r [ log ⁡ ( 1 − D ( x s ) ) ] \ell_{adv}=\mathbb E_{x^r \sim X^r}[\log(D(\tilde{\mathtt x}))]+\mathbb E_{x^r \sim X^r}[\log(1-D({\mathtt x^s}))] adv=ExrXr[log(D(x~))]+ExrXr[log(1D(xs))]
        • 最终的 ℓ i n p = ℓ r e c r g b + λ f ⋅ ℓ r e c r g b + λ s t y l e ⋅ ℓ s t y l e + λ a d v ⋅ ℓ a d v \ell_{inp}=\ell_{rec}^{rgb}+\lambda_f\cdot \ell_{rec}^{rgb}+\lambda_{style}\cdot \ell_{style}+\lambda_{adv}\cdot \ell_{adv} inp=recrgb+λfrecrgb+λstylestyle+λadvadv ,本文设置的权重 λ f = 1.0 , λ s t y l e = 1.0 , λ a d v = 0.01 \lambda_f=1.0,\lambda_{style}=1.0,\lambda_{adv}=0.01 λf=1.0,λstyle=1.0,λadv=0.01
      • 翻译模块 T \mathcal T T
        • 使用 CycleGAN
        • 循环一致损失 ℓ c y c l e = E x r ∼ X r [ ∥ G s 2 r ( G r 2 s ( x r ) ) − x r ∥ 1 ] + E x s ∼ X s [ ∥ G r 2 s ( G s 2 s ( x r ) ) − x s ∥ 1 ] \ell_{cycle}=\mathbb E_{x^r \sim X^r}[\|G_{s2r}(G_{r2s}(x^r))-x^r\|_1]+\mathbb E_{x^s \sim X^s}[\|G_{r2s}(G_{s2s}(x^r))-x^s\|_1] cycle=ExrXr[Gs2r(Gr2s(xr))xr1]+ExsXs[Gr2s(Gs2s(xr))xs1]
        • 恒等映射损失 ℓ i d = E x r ∼ X r [ ∥ G s 2 r ( x r ) − x r ∥ 1 ] + E x s ∼ X s [ ∥ G r 2 s ( x s ) − x s ∥ 1 ] \ell_{id}=\mathbb E_{x^r \sim X^r}[\|G_{s2r}(x^r)-x^r\|_1]+\mathbb E_{x^s \sim X^s}[\|G_{r2s}(x^s)-x^s\|_1] id=ExrXr[Gs2r(xr)xr1]+ExsXs[Gr2s(xs)xs1]
        • 最终损失 ℓ t r a n s = λ c y c l e ⋅ ℓ c y c l e + λ i d ⋅ ℓ i d + ( ℓ a d v r + ℓ a d v s ) \ell_{trans}=\lambda_{cycle}\cdot \ell_{cycle}+\lambda_{id}\cdot \ell_{id}+(\ell_{adv}^r+\ell_{adv}^s) trans=λcyclecycle+λidid+(advr+advs),本文设置 λ c y c l e = 10.0 , λ i d = 5.0 \lambda_{cycle}=10.0,\lambda_{id}=5.0 λcycle=10.0,λid=5.0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值