一、基本信息
标题:UnsupervisedMonocular Depth Estimation with Left-Right Consistency
时间:2017
论文领域:深度预测、深度学习
引用格式:Godard C, Mac Aodha O, Brostow G J. Unsupervised monocular depth estimation with left-right consistency[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2017: 270-279.
二、研究背景
其实就是紧跟前一篇navie方法损失函数的改进。
使用双目图像计算视差,预测视差这种方法。
监督单图像深度预测
- Make3D 使用尔科夫随机场(MRF),预测的是局部信息,缺乏现实场景中全局信息。
- Liu et al CNN提出
- Eigen et al 开始使用深度学习,并且使用多个网络。条件随机场(CRFs)改进准确度
无监督深度预测
- DeepStereo 测试时候需要几张图选合适,所以不适合单张预测深度
- Deep3D (在双目配对中)左图产生右图,缺点是增加候选视差值的数量会大大增加算法的内存消耗。不可完全微分,使用泰勒近视使问题变复杂。
三、创新点
训练使用更容易得到的双目立体影像。损失使用对极几何约束。仅仅使用视差产生的质量太差。为了克服这个问题,提出了一种新的训练损失,它加强了相对于左右图像产生的差异之间的一致性,从而与现有方法相比提高了性能和鲁棒性。
Deep3D等模型不可完全微分,使用泰勒近视使问题变复杂。 本文模型利用双线性抽样克服了这一问题。产生完全可以微分的损失。
仅仅使光度损失最小化,产生高的重建图,但是深度值不准。所以本文重点:左右一致性检查,以提高合成深度图像的质量。(就是原来的损失2张中一张作为源,产生预测,和另一张作为真实进行损失计算。但是换下顺序,把真实的当做源,源当做真实。理论上要一样,可以同时计算两差异)
方法
左:naive方法,输入左图
I
r
I^r
Ir,预测视差
d
r
d^r
dr,左图应用视差
d
r
d^r
dr得到合成右图
I
~
r
\tilde{I}^{r}
I~r,对比真实右图
I
r
I^r
Ir得损失
中:NoLR方法,输入左图
I
r
I^r
Ir,预测视差
d
l
d^l
dl,右图应用视差
d
l
d^l
dl得到合成左图
I
~
l
\tilde{I}^{l}
I~l,对比真实左图
I
l
I^l
Il得损失(使用这种方法可以防止遮挡?)
右:本文方法,输入左图
I
r
I^r
Ir,预测视差
d
r
d^r
dr,预测视差
d
l
d^l
dl,,左图应用视差
d
r
d^r
dr得到合成右图
I
~
r
\tilde{I}^{r}
I~r,对比真实右图
I
r
I^r
Ir得损失
C
a
p
r
C_{a p}^{r}
Capr,右图应用视差
d
l
d^l
dl得到合成左图
I
~
l
\tilde{I}^{l}
I~l,对比真实左图
I
l
I^l
Il得损失
C
a
p
l
C_{a p}^{l}
Capl
Appearance Matching Loss
具体公式:
C
a
p
l
=
1
N
∑
i
,
j
α
1
−
SSIM
(
I
i
j
l
,
I
~
i
j
l
)
2
+
(
1
−
α
)
∥
I
i
j
l
−
I
~
i
j
l
∥
C_{a p}^{l}=\frac{1}{N} \sum_{i, j} \alpha \frac{1-\operatorname{SSIM}\left(I_{i j}^{l}, \tilde{I}_{i j}^{l}\right)}{2}+(1-\alpha)\left\|I_{i j}^{l}-\tilde{I}_{i j}^{l}\right\|
Capl=N1i,j∑α21−SSIM(Iijl,I~ijl)+(1−α)∥∥∥Iijl−I~ijl∥∥∥
Disparity Smoothness Loss
C d s l = 1 N ∑ i , j ∣ ∂ x d i j l ∣ e − ∣ ∣ ∂ x I i j l ∥ + ∣ ∂ y d i j l ∣ e − ∥ ∂ y I i j l ∥ C_{d s}^{l}=\frac{1}{N} \sum_{i, j}\left|\partial_{x} d_{i j}^{l}\right| e^{-|| \partial_{x} I_{i j}^{l} \|}+\left|\partial_{y} d_{i j}^{l}\right| e^{-\left\|\partial_{y} I_{i j}^{l}\right\|} Cdsl=N1i,j∑∣∣∂xdijl∣∣e−∣∣∂xIijl∥+∣∣∂ydijl∣∣e−∥∂yIijl∥
我的理解:当真实图梯度小,预测d梯度大时,损失大。
Left-Right Disparity Consistency Loss
C
l
r
l
=
1
N
∑
i
,
j
∣
d
i
j
l
−
d
i
j
+
d
i
j
l
r
∣
C_{l r}^{l}=\frac{1}{N} \sum_{i, j}\left|d_{i j}^{l}-d_{i j+d_{i j}^{l}}^{r}\right|
Clrl=N1i,j∑∣∣∣dijl−dij+dijlr∣∣∣
像所有其他项一样,这个代价反映在右视图视差图上,并在所有的输出尺度上计算。
损失函数
C s = α a p ( C a p l + C a p r ) + α d s ( C d s l + C d s r ) + α l r ( C l r l + C l r r ) C_{s}=\alpha_{a p}\left(C_{a p}^{l}+C_{a p}^{r}\right)+\alpha_{d s}\left(C_{d s}^{l}+C_{d s}^{r}\right)+\alpha_{l r}\left(C_{l r}^{l}+C_{l r}^{r}\right) Cs=αap(Capl+Capr)+αds(Cdsl+Cdsr)+αlr(Clrl+Clrr)
四、实验结果
意思是在左视差图中有一个偏移量,根据左视差图的索引和偏移量可以得到对应点在右图的位置索引。然后跑到右视差图中,根据这个位置索引和右视差图中的偏移量就可以算出左视差图当前索引的偏移量估计了。然后利用一个轮回回来的视差图偏移量估计和原来的偏移量相减并求出绝对值距离。这样所有点求和就可以求出一致性损失。 https://zhuanlan.zhihu.com/p/29664269
五、结论与思考
作者结论
总结
本文提出一个新颖的损失,一个网络可以计算2个视差。
思考
训练数据是双目,那么能否使用视频2帧进行训练。
参考
[读源码] Unsupervised Monocular Depth Estimation with Left-Right Consistency
UnsupervisedMonocular Depth Estimation with Left-Right Consistency