ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Unsupervised Monocular Depth Estimation with Left-Right Consistency 论文解析

2021-04-08 13:59:37  阅读:306  来源: 互联网

标签:重构 Right Unsupervised Monocular loss ij 深度 图像 hat


Unsupervised Monocular Depth Estimation with Left-Right Consistency

论文链接: https://arxiv.org/abs/1609.03677

Problem Statement

这是一个双目自监督深度估计的论文,利用两张图片进行深度估计,但是在推理阶段可以使用一张图片进行深度估计。利用对级几何约束,把深度估计当成是图像重构的问题。但是仅仅是图像重构会导致较差的深度估计结果,因此作者提出了一个新的training loss。

Direction

因为把单目深度估计问题当成是image reconstruction 问题, 仅仅是最小化 photometric loss的结果是有好的图像重构结果,但是深度质量较差。新的training loss加强了在左右视图之间差异的consistency,从而提高了性能和鲁棒性。

Method

一、Depth Estimation as Image Reconstruction

本质上,给定一个标定后的双目相机,如果可以学习到一个函数,这个函数可以从另外一张图片重构一张图片,就可以进行场景的三维成像。

所以在训练的时候,给定两张图片 I l I^l Il和 I r I^r Ir, 作者没有直接用这两张图像进行深度估计,而是尝试去找dense correspondence field d r d^r dr, 当把这个dense correspondence field应用于左图像的时候,能够使得我们重构出右图像。因此,我们把重构出来的图像 I l ( d r ) I^l(d^r) Il(dr)标记为 I r ^ \hat{I^r} Ir^。同理也可以给定右图像,重构出左图像 I l ^ = I r ( d l ) \hat{I^l}=I^r(d^l) Il^=Ir(dl)。 d d d 对应的就是图像的差异— 网络模型去预测每个像素的一个scalar value。然后给定了相机的baseline b b b 和 focal length f f f, 就可以根据下面公式计算出深度 d ^ \hat{d} d^

d ^ = b f / d \hat{d} = bf/d d^=bf/d

二、Depth Estimation Network

网络通过推断改变左侧图像以匹配右侧图像的差异来估计深度。这个方法的关键是,我们可以只使用左输入图像同时推断两个差异(从左到右和从右到左),并通过强制它们彼此一致来获得更好的深度。

可以看到上图有三个例子,第一个只输入一张图片,经过CNN后获得dense correspondence field,然后把这个应用于原始图片(左图),获得重构出来的右图 I r ^ \hat{I^r} Ir^。我们希望输出的重构图与输入的左侧图像对齐 I l ^ \hat{I^l} Il^,这意味着网络必须从右侧图像采样。因此有了上图中间那个。但这个方法有个问题就是: 视差会"texture-copy" 和 深度不连续的误差。所以为了解决这个问题,作者提出了对两个图进行预测。值得注意的是,训练的时候需要两张图片输入,而推理的时候只需要左图。网络结构是一个encode和一个decoder。

三、 Training Loss

整个loss是:
C = ∑ s = 1 4 C s C=\sum_{s=1}^4 C_s C=s=1∑4​Cs​

其中 C s C_s Cs​ 主要有三项组成:

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_{ap}(C_{ap}^l + C_{ap}^r) + \alpha_{ds}(C_{ds}^l + C_{ds}^r) + \alpha_{lr}(C_{lr}^l + C_{lr}^r) Cs​=αap​(Capl​+Capr​)+αds​(Cdsl​+Cdsr​)+αlr​(Clrl​+Clrr​)

Appearance Matching Loss

C a p C_{ap} Cap​是使得重构的图片相似于输入图片。网络在训练的时候,对相反的双目视图进行采样像素(左->右,右->左)。而作者使用的是 bilinear sampler是局部完全可微的,并且无缝地集成到我们的完全卷积结构中,这意味着我们不需要任何cost function的简化或近似。也使用L1 loss和 single scale SSIM的组合作为photometric inmage reconstruction cost。

C a p l = 1 N ∑ i , j α 1 − S S I M ( I i j l , I i j l ) ^ 2 + ( 1 − α ) ∣ ∣ I i j l , I i j l ) ^ ∣ ∣ C_{ap}^l = \frac{1}{N} \sum_{i,j} \alpha \frac{1-SSIM(I_{ij}^l, \hat{I_{ij}^l)}}{2} + (1-\alpha) ||I_{ij}^l, \hat{I_{ij}^l)}|| Capl​=N1​i,j∑​α21−SSIM(Iijl​,Iijl​)^​​+(1−α)∣∣Iijl​,Iijl​)^​∣∣

上面的公式比较了输入图片和输出的重构图, N N N是像素的数量。

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_{ds}^l = \frac{1}{N} \sum_{i,j}|\partial_x d_{ij}^l|e^{-||\partial_x I_{ij}^l||} + |\partial_y d_{ij}^l|e^{-||\partial_y I_{ij}^l||} Cdsl​=N1​i,j∑​∣∂x​dijl​∣e−∣∣∂x​Iijl​∣∣+∣∂y​dijl​∣e−∣∣∂y​Iijl​∣∣

因为深度不连续通常发生在image gradients处,作者在disparity graidents ∂ d \partial d ∂d 使用 带edge-aware term 的L1 loss。能够smooth disparity。

Left-Right Disparity Consistency Loss

为了保证连贯性, 使用了 L1 left-right disparity consistency penalty。这个cost尝试使得左视角的视差图等于重构出来的右视角视差图。

C l r l = 1 N ∑ i , j ∣ d i j l − d i j + d i j l r ∣ C_{lr}^l = \frac{1}{N}\sum_{i,j}|d_{ij}^l - d_{ij+d_{ij}^l}^r| Clrl​=N1​i,j∑​∣dijl​−dij+dijl​r​∣

Conclusion

在occlusion boundaries上表现不好,因为在重叠出左右视图都看不到,对于镜面和透明的表面会产生不连续的深度(specular and transparent),而且训练的时候需要两个视角的输入图像,比较麻烦。

Reference

  1. https://arxiv.org/abs/1609.03677

标签:重构,Right,Unsupervised,Monocular,loss,ij,深度,图像,hat
来源: https://blog.csdn.net/wuchaohuo724/article/details/115518438

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有