Unsupervised Adversarial Depth Estimation using Cycled Generative Networks(2018.7)

代码和模型:https://github.com/andrea-pilzer/unsup-stereo-depthGAN

 

摘要

提出一个生成网络学习预测一个标定过的立体相机中两帧图详见的相关信息(视差图)。结构中包含两个生成子网络以及用于重建视差图的对抗学习并建立在一个循环中比如相互之间提供人为约束和监督。

 

介绍

之前的工作只考虑了重建损失,但是都没有使用对抗学习的方法来改进合成的图像,

最终视差图是由两个生成器的输出合成生成。

主要贡献:

  1.  第一个使用对抗学习改进无监督深度估计
  2. 提出的循环生成网络可以学习正反两个视差图,并且加强了图详见的约束
  3. 在两个大型数据集(KITTI 和 Cityscapes))上有效

 

2 相关工作

3 方法

    图2:无监督立体深度估计比较:(a)传统的基于立体匹配的深度估计;(b)无监督对抗深度估计;(c)循环生成网络的无监督对抗深度估计。

3.1 问题描述

给出左图和右图,需要估计一个视差图d,能代表每个像素与相对应的图像需要偏移的值,给出基线bd、焦距fl,深度图D可以由.计算得到。假设从左到右的视差经过生成网络得到,然后经过变换函数合成右图,利用重建损失优化网络。

3.2 无监督对抗深度估计

    假设有一个生成网络包含两个子网络,一个是输入为,一个是输入为,用来生成两个不同的视差图,分别为。子网络与encoder-decoder结构相同,其中编码器负责压缩图像的表达,由于两个视差图来自不同的输入图像,并且有互补的特征,于是使用线性结合和1*1卷积形成新的视差图,用来和成右图,然后使用L1范数优化重建损失

    为了增加生成器质量,在这里使用对抗学习来进行优化,对于合成图像,辨别器输出分数来辨别是真是假,定义如下:

    采用交叉熵分别计算和它们的预测值之间的差距,然后将损失进行结合:

3.3 使用循环生成网络来进行对抗估计深度

假设从半循环网络中得到了合成图像',然后将作为下一个生成网络的输入,生成器设为,Gr的参数与共享,然后用两个不同的decoder生成两个由右到左的视差图分别对应左、右输入图像产生。然后进行结合生成视差图,然后通过变换操作合成左图,整个循环的优化目标是:

添加了一个鉴别器Dl来判别合成图像,其中对抗学习用于循环中的左右图像,整个循环模型的对抗目标如下:

每半个循环网络生成一个视差图,使用L1范数一致性损失来进行约束

由于两个视差图是从不同角度且不对齐,使用变换操作使每个像素相匹配,一致性损失则对每个半循环进行强约束并加快学习。

完整优化目标包括两个生成器的重建损失,图像合成的对抗损失和半循环一致性损失:

当优化结束时,给定一对图像,通过以一定权重对输出的视差图进行结合,这里权重相同,并且最终视差图D为两者的平均:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值