【论文阅读】Digging Into Self-Supervised Monocular Depth Estimation

在这里插入图片描述
论文:https://arxiv.org/pdf/1806.01260.pdf
代码:https://github.com/nianticlabs/monodepth2

Q: 这篇论文试图解决什么问题?

A: 这篇论文试图解决的问题是如何提高仅使用单目图像进行深度估计的性能。具体来说,它关注的是如何在没有像素级地面真实深度数据的情况下,通过自监督学习方法训练模型来生成高质量的深度图。论文中提出的方法旨在克服单目深度估计中的一些挑战,例如遮挡处理、视觉伪影减少以及相机运动假设的违反。作者通过提出几个关键的改进点,包括最小重投影损失、自适应遮罩损失和全分辨率多尺度采样方法,来提高与竞争性自监督方法相比的深度图的定量和定性质量。此外,这些改进点在不同的训练设置中(单目、立体或混合监督)都被证明是有效的,并且在KITTI基准测试中取得了最先进的结果。

Q: 论文如何解决这个问题?

A: 论文通过提出一系列改进措施来解决单目深度估计的问题,这些措施共同导致了与竞争性自监督方法相比,在定量和定性上都有所改进的深度图。具体的解决方案包括:

最小重投影损失(Minimum Reprojection Loss):

为了鲁棒地处理遮挡问题,作者提出了一种新的重投影损失函数,它只考虑每个像素在可见视图中的最小重投影误差,而不是像传统方法那样对所有源图像的重投影误差取平均。

自适应遮罩损失(Auto-Masking Loss):

为了忽略违反相机运动假设的训练像素,作者引入了一种自适应遮罩机制。该机制可以自动过滤掉在连续帧中外观不变的像素,从而让网络忽略移动速度与相机相似的对象,或者在相机静止时忽略整个帧。

全分辨率多尺度采样方法(Full-Resolution Multi-Scale Sampling):

为了减少视觉伪影,作者提出了一种在输入分辨率下计算所有损失的多尺度外观匹配损失方法。这与传统方法在解码器的每个层级上计算损失不同,可以有效地减少深度图中的“空洞”和纹理复制伪影。
这些改进措施的结合使得所提出的Monodepth2模型能够在单目、立体或混合监督下进行有效训练,并在KITTI基准测试上取得了最先进的结果。此外,作者还展示了这些组件单独使用时的有效性,并通过实验验证了它们对整体性能的贡献。

最小重投影损失(Minimum Reprojection Loss)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

自适应遮罩损失(Auto-Masking Loss):

在这里插入图片描述
通过最小前一侦和差距,来判断哪些车是跟车一个速度,从而mask这些车,来提高整体的深度图的生成。类似flow的形式
在这里插入图片描述

全分辨率多尺度采样方法(Full-Resolution Multi-Scale Sampling):

为了减少视觉伪影,作者提出了一种在输入分辨率下计算所有损失的多尺度外观匹配损失方法。这与传统方法在解码器的每个层级上计算损失不同,可以有效地减少深度图中的“空洞”和纹理复制伪影。

在这里插入图片描述

Final Training Loss

L = μ L p + λ L s L = \mu L_p + \lambda L_s L=μLp+λLs

在这里插入图片描述
用pose来做自监督,从而来监督深度图的生成。
在这里插入图片描述
因为这是一个自监督的学习过程,所以输入的图片没有预先定义的深度标签(即没有预设的正确答案来帮助优化输出的深度图)。因此,我们采用了一种联合训练方法。这种方法通过输入相邻的图像帧来训练一个网络,这个网络能预测这些帧之间的相对位置。通过这种训练,我们可以从原始帧生成重建帧。然后,我们用这些重建帧和原始输入帧之间的差异来作为训练信号,以此达到自我监督学习的效果。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

参考:https://blog.csdn.net/qq_17027283/article/details/131841352

在这里插入图片描述

结果图

在这里插入图片描述

相关推荐

  1. 论文阅读笔记】清单

    2024-04-14 16:48:04       77 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-14 16:48:04       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-14 16:48:04       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-14 16:48:04       87 阅读
  4. Python语言-面向对象

    2024-04-14 16:48:04       96 阅读

热门阅读

  1. 实际工作中kafka的应用和遇到的问题

    2024-04-14 16:48:04       39 阅读
  2. 【ds】 数组中重复的数字

    2024-04-14 16:48:04       39 阅读
  3. React构建组件的方式有哪些,有什么区别?

    2024-04-14 16:48:04       41 阅读
  4. C/C++ inline 函数

    2024-04-14 16:48:04       38 阅读
  5. 如何备考蓝桥杯赛事 怎样才能取得好成绩?

    2024-04-14 16:48:04       35 阅读
  6. Arcgis windows webadaptor配置

    2024-04-14 16:48:04       45 阅读
  7. 前端面试问题汇总 - Vue篇

    2024-04-14 16:48:04       32 阅读
  8. 将基于Centos下的Linux 中的man 汉化

    2024-04-14 16:48:04       37 阅读
  9. 学术写作进阶:ChatGPT辅助下的论文撰写技巧

    2024-04-14 16:48:04       36 阅读
  10. ARM-SC2440

    2024-04-14 16:48:04       33 阅读