深度估计是计算机视觉中一个相对冷门,但有很重要的应用价值的分支。它在机器人自动导航、自动驾驶、VR、3D重构等任务中发挥了重要的作用。通常的视觉任务,诸如目标检测、分割、动作识别等都采用CNN监督学习的方法,且都达到了很好的效果。但监督学习有一个主要的缺点是它需要预先收集大量的标注好的训练数据。而对于深度估计任务而言,想要收集大量标注好深度的图像是非常困难的,但大量未标注的图像数据却很容易获取。因此,无监督学习方法在深度估计领域有重要的作用。
![b72616439e5bf7cdca004ae979015695.png](https://i-blog.csdnimg.cn/blog_migrate/4b0d3b1020c598b3dc5bfbee5bd4fd7f.jpeg)
模型
本文的模型结构如图所示。首先是学生模型Gs,输入右图,输出深度图。利用输出的深度图可以得到初步预测的左图。使用估计的左图作为训练数据投入Gb中,输出深度图,利用此时输出的深度图,我们可以得到重构后的右图,这便形成了一个循环结构。
这种循环结构有三个主要的优点。一、在训练时,Gb与Gs网络可以共享权重,这意味着预测出的视差图是从原图与第一次的合成图中获取信息,某种意义上来说,这起到了数据增广的作用。二、为了正确合成出原来的右图,我们首先需要获得一个较为正确的左图估计,这对之前生成的dl深度图起到了一个较强的全局约束,它不同于传统的局部的L1,L2范数,因此能起到很好的效果。三、通过对比合成后的右图与原来的右图,我们可以计算出周期不一致程度(cycle inconsistency),