参考代码:wsvd_test
1. 概述
导读:在这篇文章中提出了一种基于光流估计的深度估计网络。该方法首先使用左右双目图像作为输入,并从中估计出光流信息,之后按照估计的光流对图像进行warp,这样就得到深度估计网络需要的3个(warp之后的图像1、光流、图像2)输入。接下来经过编解码网络之后实现对深度的估计。同时为了获得大量且场景多样化的双目3D(左右)图像,文章通过在YouTube中筛选的方式确定了文章使用的WSVD数据集。由于这些数据来源是未知的(其中的焦距、基线等)所以文章提出了一种以归一化梯度为主的损失函数。
文章深度估计方法是属于回归类型的,通过使用场景多样的WSVD数据集以及对相机参数不敏感的梯度损失函数实现监督,从而得到相对鲁棒的深度估计结果。文章的效果可参见下图:
同时对WSVD数据集中的场景分布进行统计,可以得到下面的统计结果(字越大代表的占有的比例越大),参考下图:
2. 方法设计
2.1 方法pipline
文章提出的pipeline结构如上图,通过FlowNet2生成编解码网络所需的3个输入,之后通过梯度损失函数进行监督。
2.2 损失函数
在双目系统下深度可以通过几个变量描述:
q = d − ( c x R − c x L ) f b q=\frac{d-(c_x^R-c_x^L)}{fb} q=fbd−(cxR−cxL)
其中, f b fb fb代表的是焦距和基线, d m i n = c x R − c x L d_{min}=c_x^R-c_x^L dmin=c