《LeReS:Learning to Recover 3D Scene Shape from a Single Image》论文笔记

LeReS论文介绍了如何从单个图像中恢复3D场景形状,通过将深度估计问题分解为MDP(深度预测模块)和PCM(点云模块)两部分,解决尺度、位移和焦距不确定性导致的深度估计扭曲。在深度估计中,论文提出了新的深度归一化操作和结合结构引导的排名损失,提高准确性。PCM模块预测位移和焦距变化,使深度估计更符合几何特性。实验表明,这种方法相比其他深度估计网络有更好的性能。
摘要由CSDN通过智能技术生成

参考代码:AdelaiDepth-LeReS

1. 概述

介绍:基于单张图像的深度估计网络往往采用scale-shift invariant形式完成深度预测,其是将预测深度和GT深度映射到scale-shift invariant空间,之后再计算loss,自然使用该方法得到的深度在经过点云映射之后是存在扭曲的,这类方法以MiDaS为代表。除scale-shift之外其还存在焦距(focal)上的不确定,因而通过该预测深度构建的三维点云是存在扭曲和尺度不准确问题。对此文章将深度估计问题转换为两个独立功能的子模块:scale-shift invariant的深度估计,对应文章中提到的MDP(Monocular Depth Prediction Module)模块;以及在估计出的深度基础上预测shift和焦距变化量的PCM(Point Cloud Module)模块。在深度估计中对于深度估计部分,文章通过提出新的深度归一化操作构建了一个image-level的归一化损失(其也是scale-shift invariant的),并且通过将GT深度映射到3D几何空间,并在该空间实现深度平面归一化,之后在平面边界与平面内仿照Structure-Guided Ranking Loss方法设置采样点并计算损失,从而提升深度估计的准确性。

在诸如MiDaS这样的深度估计网络中采用scale-shift invariant空间上做监督,导致生成的深度图存在shift未知的问题,最直观是通过深度图将RGB像素映射到3D空间,得到的结果见下图第3幅图所示:
在这里插入图片描述
那么为了克服shift和focal两个维度上未知,这里分别采用两个网络去预测这两个分量的漂移和缩放因子,因而得到更加符合几何特性的深度估计结果,对应的是上图中的最后一幅图。

2. 方法设计

2.1 整体结构

文章方法划分为2个部分:DPM(负责深度估计任务)和PCM(负责深度上的shift和focal变换参数预测),也就是下面这幅图的上半部分:
在这里插入图片描述
需要注意的是上面提到的DPM和PCM是分别单独训练的,并不是end-to-end的。在infer阶段其是采用类似迭代的方式进行求取的。具体可以参考下面的这两个函数的实现:

# LeReS/lib/test_utils.py#L111
def refine_focal(depth, focal, model, u0, v0)...

def refine_shift(depth_wshift, model, focal, u0, v0):
    ...

2.2 深度估计与监督

对于深度估计网络这里是采取编解码的形式构建,其结构见下图所示:
在这里插入图片描述
PS:只不过需要注意的是该网络的输出与使用的损失函数是根据不同质量数据的输入而做对应改变的,具体可以参考论文Appendix的B部分,这里不展开叙述。而且在文中也提到了对于采用的多种来源的数据是采用均匀采样的形式进行组合

在MiDaS中给介绍了好几种类型的scale-shift invariant空间变换方法,之外还存在

  • 1)采用绝对值最大最小归一化,Min-Max normalization
  • 2)绝对中值差归一化,median absolute deviation normalization
  • 3)按照均值方差归一化,Z-score normalization

在这篇文章中借鉴了Z-score的形式对深度GT进行变换,使得深度监督变得scale-shift invariant,其将最近和最远像素分别对应的10%去除,之后求取得到剩余深度的均值方差 μ t r i m \mu_{trim} μtrim σ t r i m \sigma_{trim} σtrim。则对GT的归一化处理为:
d ˉ i ∗ = d i ∗ − μ t r i m σ t r i m \bar{d}_i^{*}=\frac{d_i^{*}-\mu_{trim}}{\sigma_{trim}} dˉi=σtrimdiμtrim
则在该对应空间上的深度损失描述为:
L I L N R = 1 N ∑ i N ∣ d i − d ˉ i ∗ ∣ + ∣ t a n h ( d i 100 ) − t a n h ( d ˉ i ∗ 100 ) ∣ L_{ILNR}=\frac{1}{N}\sum_i^N|d_i-\bar{d}_i^{*}|+|tanh(\frac{d_i}{100})-tanh(\frac{\bar{d}_i^{*}}{100})| LILNR=N1iN</

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值