论文标题

Toward Practical Monocular Indoor Depth Estimation

读论文------distdepth_读论文

代码地址:​​https://github.com/facebookresearch/DistDepth​

论文地址:​​https://arxiv.org/pdf/2112.02306.pdf​

论文翻译+相应思考

摘要

大多数现有的没有真值深度指导的单目深度估计方法侧重于驾驶场景。我们表明,这种方法很难推广到看不见的复杂室内场景,其中物体杂乱且在近场中任意排列。为了获得更强的鲁棒性,我们提出了一种结构蒸馏方法,以从现成的相对深度估计器中学习诀窍,该估计器产生结构化但度量不可知的深度。通过将结构蒸馏与从左右一致性学习度量的分支相结合,我们获得了一般室内场景的结构化和度量深度,并实时进行推断。为了便于学习和评估,我们收集了SimSIN和UniSIN数据集,SimSIN是模拟数千个环境的数据集,UniSIN是包含大约500个普通室内环境的真实扫描序列的数据集。我们在sim-to-real和real-to-real设置中进行了实验,并使用我们的深度图在下游应用中显示了改进。这项工作提供了全面的研究,涵盖了方法、数据和应用方面。

1.引言(Introduction)

这项工作提出了一种实用的室内深度估计框架,该框架具有以下特点从现成的估计器和左右图像对学习,而无需其深度注释,高效的训练数据收集,对跨数据集推断的高度通用性,以及准确和实时的深度感知(应用)我们的工作适用于消费者级AR/VR,如3D室内场景重建、虚拟对象插入以及与环境的交互[33]

挑战

尽管自监督的深度估计,特别是使用左右一致性,最近吸引了很多研究兴趣,但流行的作品,如MonoDepth[24]、MonoDepth2[25]、DepthHints[78]和ManyDepth[79],主要关注驾驶场景,并在KITTI[23]和Cityscape[14]等大规模驾驶数据集上进行训练,目前尚不清楚这些方法如何应用于室内环境。通过自监督学习室内深度可能更具挑战性,原因如下(室内深度估计问题)

(1)结构优先:驾驶场景的深度估计在学习范式之前强加了强大的场景结构。图像的上部通常被天空或建筑物占据,通常距离较远;另一方面,下部通常是延伸到距离[16]的道路。相比之下,室内环境中的结构先验要弱得多,因为物体可能会在近场中杂乱和任意排列。

(2) 分布:驾驶场景的场景深度往往在道路上从近到远的范围内分布得更均匀,而室内深度可以集中在近或远的范围,例如桌子或天花板的放大视图。不均匀的深度分布使得预测室内场景的精确度量深度具有挑战性

(3) 相机姿势:深度感测设备可以在6DOF内移动进行室内拍摄,但它们通常固定在汽车上,用于收集驾驶数据,其中平移通常没有仰角,旋转主要由偏航角控制。因此,理想的网络需要对室内情况下的任意摄像机姿态和复杂场景结构更加鲁棒。

(4) 无纹理表面:大的无纹理区域(如墙)使常用的光度损失模糊不清。

结构蒸馏方法的好处

在这项工作中,我们提出了DistDepth,这是一种通过自监督学习来提高深度精度的结构蒸馏方法。DistDepth使用现成的相对深度估计器DPT[61,62]该估计器产生结构化但仅产生相对深度(输出值反映深度排序关系,但度量不可知)。我们的结构蒸馏策略鼓励统计和空间上的深度结构相似性。这样,来自DPT的深度排序关系可以有效地混合到由左右一致性训练的度量深度估计分支中。我们的学习范式只需要现成的相对深度估计器和立体图像输入,而不需要精确的深度标注。给定测试时的单目图像,我们的深度估计器可以预测结构化和度量精确的深度,并对看不见的室内场景具有高度的通用性(第3.2节)。蒸馏也有助于将DPT的大型视觉Transformer缩小到更小的架构,从而在便携式设备上实现实时推断。

1.通用性

2.实时性

3.无监督

4.准确性

数据集的贡献

接下来我们将描述数据集级别的贡献。当前公开可用的立体数据集要么以驾驶场景为目标[9,14,21,23,80],小规模且缺乏场景可变性[67,68],由不现实的3D动画渲染[6,54],要么在野外收集[36,74]。流行的室内数据集要么是小规模的(Middlebury[67])要么缺乏立体声对(NYUv2[56])目前还没有大规模的室内立体声数据集来促进自监督研究的左右一致性。我们利用流行的Habitat模拟器[65,73]在3D室内环境中收集立体声对。选择常用的环境,包括副本[72]、Matterport3D(MP3D)[8]和栖息地Matterport 3D(HM3D)[59],以创建SimSIN,这是一个新的数据集,由约1K室内环境中的约500K模拟立体室内图像组成(第4节)。使用SimSIN,我们能够研究先前自监督框架在室内场景中的性能[25,78,79]。我们表明,我们可以通过直接训练这些模型来适应SimSIN,但这些模型很难推广到未知环境的异构领域。然而,使用我们的结构蒸馏策略,可以在看不见的数据上产生高度结构化和度量精确的深度(第5节)。

评估数据集

一些商业质量模拟和真实数据被用于评估,包括具有挑战性的虚拟公寓(VA)序列[1,2]、Hypersim中的预渲染场景[63]和NYUv2中的真实单目图像[71]。

模拟与真实训练数据集之间的差距---相当

为了进一步调查模拟训练与真实数据训练之间的差距,我们进一步收集了UniSIN数据集,该数据集包括500个真实的室内立体序列,总计200K张图像,使用现成的高性能立体摄像机,在一所大学中跨越建筑物和空间。我们表明,我们在模拟数据上训练的DistDepth的性能仅与在真实数据上训练过的DistDept相当。

我们的DistDepth特别适合

1.获得零样本交叉数据集推断

2.缩小了sim-to-real和real-to-real学习之间的差距,如图1所示。

读论文------distdepth_深度估计_02

工作贡献

在整个工作过程中,除非标记为相对深度,否则我们将实际度量范围内的深度图可视化。我们总结我们的贡献如下。

1.我们提出了DistDepth,该框架将深度域结构知识提取到自监督深度估计器中,以获得高度结构化和度量精确的深度图。

2.我们提出了SimSIN,这是一个大规模的室内模拟数据集,通过左右一致性为室内深度估计的研究提供了燃料,以及一个真实的数据集UniSIN,旨在研究模拟训练和真实数据之间的差距。

3.我们获得了一种实用的室内深度估计器:无需精确的深度真值的学习、通过模拟进行的高效和有效的数据收集、高度可推广性以及用于深度传感的准确和实时推断。


2.相关工作(Related Work)

单目场景深度估计

许多研究兴趣集中在基于学习的方法来学习地图:I→ D, 从图像到深度域。


2.1监督场景深度估计

别人之前的一些工作

监督学习需要像素级深度注释。早期的方法[18-20,34,46,47,51,60,83,85]使用卷积神经网络对深度值进行像素级回归,以最小化预测和真值之间的损失。最近,Bhat等人[4]采用自适应箱进行深度回归,并使用视觉Transformer[17]。MiDaS[62]和Wei等人[86]巧妙地混合了多个数据集,以使用尺度和位移不变损失实现大规模深度训练。BoostingDepth[55]基于[35]的观察结果,融合了MiDaS中的多尺度深度线索,但后处理深度图需要几分钟。DPT(MiDaSV3)[61]设计了一种密集视觉Transformer,并获得了比原始MiDaS更好的结果。

尽管最先进的MiDaS[62]和DPT[61]可以估计野外图像的细粒度深度结构,但由于混合数据集的训练策略,可以使未知的规模和移动因素与实际的大小相一致。我们的DistDepth在野外场景中采用了深度结构蒸馏专家的预训练,以从左右一致性训练的分支中获得结构化深度和度量深度。


2.2.左右和时间一致性

左右和时间一致性有助于实现自监督学习,以提高训练对真值深度的要求,这更接近实际深度感知[28,42,44,45,57]。MonoDepth[24]从立体对学习深度,并使用左右深度重投影和光度损失最小化。MonoDepth2[25]包括时间上的相邻帧,并且也最小化了光度一致性损失。DepthHints[78]采用来自立体声对的预先计算的SGM[31,32]深度作为代理,并且仍然保持自监督。ManyDepth[79]使用成本体积最小化的测试时间多帧输入,以获得更准确的预测。然而,这些方法都侧重于驾驶场景,其对室内数据的适用性尚待调查。我们的工作基于深度结构蒸馏的左右和时间一致性,以获得结构化、度量和可推广的深度估计,而大多数工作没有讨论可推广性[25-27,79,84]。注意,我们的结构蒸馏不同于常规蒸馏[30,64,88],因为我们的专家只能估计深度排序,并且需要将其与学生推断的度量相结合,以获得最终输出。其他一些工作仅通过时间一致性实现自监督[5,37],这使得规模不那么稳健。另一项工作[48]基于曼哈顿世界假设,将共面和正态损失最小化,但仅对具有固有模糊尺度的平面区域显示鲁棒性。

3.方法

3.1.基本问题设置

在本节中,我们描述了自监督方法(如MonoDepth2、DepthHints和ManyDepth)中常用的左右和时间光度一致性。在训练期间,It和It'是时间步长t的立体对。DepthNet fd用于预测It的深度,Dt=fd(It)。已知摄像机固有K和变换Tt:It→ It'使用立体基线,可以将其反向投影到3D空间中,然后通过利用K、Dt和Tt重新投影到It'的成像平面。

读论文------distdepth_深度估计_03

这个代表重投影,目标是最小化光度损失L=pe(It,It'),其中pe如下所示。

读论文------distdepth_读论文_04

读论文------distdepth_深度估计_05

注:原文这里有误,去掉',见上图。

​其中,κ通常设置为0.85,SSIM[76]用于测量图像域结构相似性,L1用于计算像素差异。pe(It,It')测量立体对的光度重建误差以获得左右一致性。

时间相邻帧也用于计算光度一致性。PoseNet计算时间步长t和t+k之间的相对相机姿势:Tt+k→t=fp(It,It+k),其中k∈{1,−1}。然后,通过将图像从t+k扭曲到t并在使用等式1,计算光度一致性来获得时间一致性。在推断时,通过D=fd(I)从单目图像预测深度。

适用性

我们在SimSIN数据集上训练MonoDepth2、DepthHints和ManyDepth,并在稍后的图4中举例说明场景拟合。现有技术适合于训练集,但由于室内环境中看不见的复杂对象排列,因此不能很好地概括跨数据集推断。

自监督流程图

读论文------distdepth_深度估计_06

1.通过DepthNet回归出target depth

Dt=fd(It)

2.基于PoseNet回归出从target view到source view的转换矩阵 [R|t]

3.然后利用前面所述的重投影过程计算Predicted Target Image

读论文------distdepth_深度估计_03

4.采样的时候使用bilinearSampler是因为计算出来的source images中的采样坐标可能是带有小数的,通过双线性方式可以保证估计出来的target image更平滑。在推理时,实际上只需要执行前面的DepthNet就可以获取Target Image的深度图了。

3.2.DistDepth:来自专家的结构蒸馏

为了克服将自监督框架应用于室内环境时的可推广性问题,我们提出了DistDepth(图2)。

读论文------distdepth_读论文_08

图2

DistDepth采用DPT(Vision Transformers for Dense Prediction)作为专家网络,DPT可以生成高度结构化的相对深度 Dt∗=fd∗(It) ,如第2.1节所述。我们提取了D*t的深度域结构信息,并将其转移到自监督学习分支,包括DepthNet fd和PoseNet fp。【student网络(包含DepthNet fd和PoseNet fp)学习提取Dt∗ 中的深度域结构信息。】接着再利用已知相机内参和基线距的立体对,基于前面提到的重投影loss训练自监督框架学习度量深度。distillation + photometric两种约束结合起来,可以在不需要深度真值的情况下,以自监督方式学习到能够产生高度结构化的度量深度的fd。

DPT输出值的最小二乘对齐

粗略估计校准因子:尺度因子as和位移因子at,通过DPT网络的输出Dt*去估计  Dt

如何估计?----使用最小二乘法最小化

读论文------distdepth_深度估计_09

和Dt之间的差异。(见补充)。


由于专家网络DPT输出的是相对深度,因此直接用其对student网络进行监督不合适,论文中假设Dt∗ 与Dt之间存在一个尺度缩放和平移的关系,即认为

读论文------distdepth_深度估计_10

与真实的深度值Dt分布接近,其中as和at分别表示尺度因子和平移因子,二者的计算可以通过最小二乘求得。令Di∗表示Dt∗中的第i个像素位置的深度,Di表示Dt中第i个像素位置的深度,则目标是求解下面的最小二乘问题:

读论文------distdepth_读论文_11

对(S1)式进行变形,令

读论文------distdepth_深度估计_12

则优化目标变为:

读论文------distdepth_读论文_13

求解最小二乘最优解为:

读论文------distdepth_读论文_14

基于求解的最优解可以将DPT输出的相对深度转换为与真实深度数值分布类似的深度值,从而在蒸馏学习中更好地约束student网络。


statical loss统计损失

与图像域的结构相比,深度域中仅仅包含几何结构,而没有与深度无关的目标纹理、图案等低层次线索。图像的结构相似度可以基于SSIM从统计角度获得,而深度域中结构相似度也可以用与其深度值分布相关的均值、方差、协方差表示。因此可以基于SSIM计算深度图

读论文------distdepth_深度估计_15

之间的结构相似度约束结构化的深度信息生成,对应loss如下:

读论文------distdepth_深度估计_16

读论文------distdepth_读论文_17

在以往的自监督单目深度估计网络中,使用的重投影loss除了包含SSIM项外,还包含有L1项,但是论文中发现引入L1 loss计算逐像素差异时会导致训练不稳定,这是因为采用的教师监督信号(视差空间)本身就存在误差,而从视差空间向深度空间转换时需要执行导数操作进一步放大了预测结果的不确定性,并在任意范围内产生更大的异常值。相比之下,SSIM损失限制了两个分布的平均值和方差项,而不是每个像素的差异,因此成为理想的选择。

Spatial refinement loss空间细化损失

SSIM是对统计意义上的深度分布进行约束的,并未考虑到空间信息。我们接下来提出了一种基于遮挡边界图一致性的空间控制方法(图2(B))。

读论文------distdepth_深度估计_18

Sobel滤波器是一阶梯度算子[38],用于计算深度域梯度。

用Sobel算子计算 D∗¯ 和 Dt 的一阶梯度:

读论文------distdepth_读论文_19

其中,

读论文------distdepth_深度估计_20

u,v表示2D网格上的水平和垂直方向。

为了区分,此处将二者对应的一阶梯度向量分别记作

读论文------distdepth_读论文_21

接着论文提出了一个区分遮挡边界的方法,分别对

读论文------distdepth_深度估计_22

计算其二范数,然后对二范数由小到大排序,取排名在95%的二范数数值作为阈值,即论文中给出的公式:

读论文------distdepth_深度估计_23

基于该公式分别计算出

读论文------distdepth_读论文_24

所对应的阈值α,然后基于各自的阈值对其深度图进行二值化,从而得到的各自的遮挡边界图E∗和E。然后计算两个遮挡边界图之间的hamming距离并归一化作为空间loss项,如公式所示:

读论文------distdepth_深度估计_25

其中, ⊕ 表示异或(XOR)操作, |E| 则表示计算遮挡边界图中点的个数,集合的大小。在实现过程中,为了使阈值化操作和二值化操作可微,论文首先令 Dt∗¯ 和 Dt分别减去其对应的阈值,然后输入到soft-sign函数中,从而得到取值为 {−1,1} 的遮挡边界图,保证了其既具有符号函数的性质,又能反向传播非零且平滑的梯度。

除以2后,我们得到了地图之间的元素方向汉明距离。结构蒸馏的损失函数为

读论文------distdepth_读论文_26

除了结构蒸馏loss外,论文中还引入了左右一致和时域一致的光度损失函数:

读论文------distdepth_读论文_27

读论文------distdepth_深度估计_28

最终的损失函数如下

读论文------distdepth_深度估计_29

上述DistDepth框架中,结构蒸馏分枝可以使student model具有更高的泛化能力,从而可以更好的分离出深度相关和深度无关的底层线索;而自监督分枝则可以帮助DPT学习不同室内场景的室内深度范围。


直观上看,有一种更简单的方法是直接基于DPT的结果预测缩放因子和平移因子,从而使得DPT结果能够与度量深度对齐,正如前面所介绍的基于最小二乘估计缩放、平移因子的做法一样,这种做法虽然简单,但是存在一些缺点:因为神经网络由于其模型本身或者数据的影响而不可避免的会包含一些不确定性,因此相对深度与度量深度之间整体呈现线性关系,但是也会存在一些噪声,这些噪声会导致预测的最佳曲线对应的平移缩放因子在不同的场景中可能差异很大。如图6所示,基于最小二乘所计算的DPT相对深度和传感器/仿真系统输出的度量深度之间的线性关系,其在不同场景有比较大的差异。

读论文------distdepth_读论文_30


我们采用ResNet[29]作为DepthNet fd。尽管可以使用密集的视觉Transformer来获得更高的预测精度,但由于网络规模较大和操作复杂,它们的推理速度较低,无法满足设备上的实时深度感测。因此,我们最大限度地利用了DPT中嵌入的结构知识,并将大型视觉Transformer缩小到更小尺寸的ResNet,这使我们能够以交互速率(不同版本的DPT为35+fps vs.s.8-11 fps,在配备RTX 2080 GPU的笔记本电脑上测量)运行深度感测,以实现实际的深度估计目的。请参见补充说明进行演示。

4.数据集

4.1.训练:SimSIN

为了利用左右和时间相邻帧来获得自监督训练的光度一致性,我们采用了流行的Habitat模拟器[65,73],该模拟器启动虚拟代理并渲染摄像机捕捉的3D室内环境。我们采用Replica、MP3D和HM3D作为后端3D模型,遵循先前体现的AI工作[10–12、15、22、58]。

我们采用13cm的立体基线,遵循[7]中的相机设置,并以512×512分辨率进行渲染。代理多次导航并捕获立体序列。然后,我们手动过滤掉失败序列,例如当代理太靠近墙壁或导航到空空间时。我们的数据集分别包含来自Replica、MP3D和HM3D的约80K、205K和215K张图像,在我们提出的SimSIN数据集中,来自约1000个不同环境的500K张立体图像,这是迄今为止通用室内环境的最大立体数据集。

4.2.训练:UniSIN

调查模拟和现实之间的差距,并比较模拟训练的模型和真实数据训练的模型的性能。我们使用ZED-2i[3],一种高性能立体摄像系统,从大学周围的各个室内空间收集大规模立体序列,并创建UniSIN数据集。它的训练分割包含500个序列,每个序列有200个立体声对,总计200K个训练图像。

4.3.评估集

商业质量模拟。

我们选择了一个精心设计的虚拟公寓(VA),并沿着轨迹渲染大约3.5K的照片级真实感图像作为评估集[1,2]。VA数据集包含用于深度感测的具有挑战性的室内场景,例如具有不同照明的橱柜立方体、薄结构和复杂的装饰。这些场景使我们能够对私人室内空间中的深度感知进行详细研究,这是AR/VR最常见的使用案例。我们还包括来自预渲染Hypersim[63]数据集的样本,该数据集包含虚拟环境的单目图像,用于定性演示。

真实数据。

我们采用了流行的NYUv2[71],其测试集包含654张单目图像,其中包含使用Kinect v1的飞行时间激光的深度图。为了弥补Kinect较旧的成像系统和较低的分辨率,以满足更实际的AR/VR应用,我们收集了由ZED-2i提供的1K高清图像和精细优化的深度,用于数值评估。

我们在补充资料中展示了所有数据集的样本集。

5.实验与分析

我们将输入大小设置为256×256,批大小设置为24,epoch设置为10。Adam[41]被用作优化器,初始学习率为2×。我们采用颜色抖动和随机翻转的常见数据增强。我们将ResNet50用于PoseNet fp,将ResNet152用于DepthNet fd,将MonDepth2、DepthHints和ManyDepth用于本节中的比较。DPT采用大型密集Transformer网络在野外应用。因此,我们为DepthNet选择了更大的架构来证明可推广性,但仍然可以以交互帧速率运行(如补充说明所示)。

5.1.模拟数据实验

我们使用SimSIN作为第5.1节中的训练数据集,并对各种商业质量模拟数据进行评估。以前在SimSIN上训练过的自监督方法。

我们首先按照论文中的设置在SimSIN上直接训练MonoDepth2、DepthHints和ManyDepth,并在图4中显示了对训练数据的拟合和对VA的推断,以调查可推广性。ManyDepth和DepthHints比MonoDepth2获得更好的结果。我们的DistDepth生成高度正则化的结构,具有对未知示例的鲁棒性。距离预测也有所改善,我们认为这是由于更好的结构遮挡边界推理。

VA.误差分析。

VA数据集包括室内空间中各种具有挑战性的场景。我们在图5中显示了定性误差分析。在误差图中突出显示,我们的DistDepth在估计各种照明条件下的底层几何结构(如绘画、书架和墙壁)方面具有更好的通用性。更多示例请参见补充。

我们在表1中进一步显示了整个VA序列的数值比较。比较中的所有方法都是在SimSIN上训练的。我们进一步为DistDepth配备了测试时间多帧策略,并在ManyDepth中引入了成本体积最小化,并用DistDepth-M表示此变体。方法分为测试时间单帧和测试时间多帧。在这两种情况下,DistDepth都比现有技术获得更低的误差。这验证了我们的网络设计:通过使用深度域结构蒸馏的专家,学生网络fd可以生成更接近真值的结构化和度量深度。

VA消融研究。

我们首先研究专家网络,并采用不同版本的DPT(混合和传统),其网络大小不同。表2显示,由较大规模的专家DPTlegacy教授的学生网络实现了较低的深度估计误差。如果不进行蒸馏,结果会更糟,因为它的估计仅依赖于光度损失,而光度损失在没有纹理的区域如墙壁上会失败。作为健全性检查,我们还提供了使用SimSIN的真值深度(具有像素MSE损失)进行监督训练的结果,并在VA数据集上进行了测试,这显示了在精确深度和专家网络预测深度之间的差距。

我们接下来在第3.2节中研究了具有不同蒸馏损失和开启水平α的影响的训练策略。我们比较了(1)w/o蒸馏,(2)仅具有统计损失的蒸馏,以及(3)具有统计和空间细化损失的蒸馏。我们在图6中展示了定性结果,以显示深度域结构的改进。没有蒸馏,空间结构就无法清晰地推理。通过统计改进,深度结构更加清晰。添加了空间细化,深度域结构显示了细粒度细节。我们进一步分析了α的不同开启水平的影响。低α使结构变得模糊,因为细化不像高α那样聚焦于高梯度遮挡边界,这仅将高梯度区域识别为遮挡边界,并有利于结构知识转移。

Hypersim对比。

接下来,我们将在图7中展示Hypersim中某些场景的深度和纹理点云。点云可视化采用了两种不同的视图。我们可以发现,我们的DistDepth在深度图和点云中都能预测更好的几何形状。有关更多示例,请参阅补充资料。

5.2.真实数据实验

接近真实差距。

我们比较了模拟训练(SimSIN)2和真实数据训练(UniSIN)的结果,以研究性能差距。我们考察了(1)MonoDepth2在模拟上的训练和对真实数据的评估,(2)MonoDepth2在真实数据上的训练并对真实数据进行评估,(3)DistDepth在模拟上训练并对实际数据进行评估;以及(4)DistDepth2的训练和真实数据的评价。图8显示了四种设置的结果。比较(1)和(2),可以发现在真实数据上训练的MonoDepth2比在模拟上产生更可靠的结果。相比之下,当使用DistDepth比较(3)和(4)时,这种差距变得不明显。(3)的结果与(4)相当,有时甚至产生更好的几何形状,如突出显示的区域。我们在补充中进一步包括数值分析。

结果在方法和数据集层面验证了我们的建议。首先,DistDepth利用专家网络为学生蒸馏小技巧。蒸馏大大增加了基于模拟数据训练的模型的鲁棒性,并使结果与基于真实数据训练的结果相当。这表明DistDepth能够缩小模拟数据和真实数据之间的差距。其次,立体模拟数据为左右一致性提供了一个平台,以从立体三角测量中学习度量深度。我们在图9中显示了一组结果,使用的是纯模拟训练的DistDepth。

对NYUv2的评估。

表3显示了对NYUv2的评估。我们首先在SimSIN上训练DistDepth,并在NYUv2上进行微调,但仅具有时间一致性。请注意,一个微调模型(Sup:4)被归类为半监督模型,因为它使用了一位受过NYUv2策划深度训练的专家。微调后的模型在没有NYUv2深度监督的方法中产生最佳结果,甚至可以获得与许多监督方法相当的结果。我们接下来只在模拟(SimSIN)或真实数据(UniSIN)上训练DistDepth,并在NYUv2上进行评估。与在UniSIN上训练的模型相比,在SimSIN上训练的模型性能只下降了一点点,这再次证明了我们的sim具有真正的优势。在不涉及NYUv2中的任何训练数据的情况下,DistDepth仍然实现了与许多监督和自监督方法相当的性能,这进一步验证了我们的零样本交叉数据集优势。我们补充展示了实时深度感知、3D照片和深度感知AR应用。

6.结论和讨论

这项工作的目标是一个实用的室内深度估计框架,该框架具有以下特点:无深度真值性的训练、有效的模拟训练、高度可推广性以及准确和实时的推断。我们首先确定了室内深度估计的挑战,并研究了现有的具有左右一致性的自监督方法在SimSIN上的适用性。利用从专家那里蒸馏出的深度域结构知识,我们发现在推断更精细的结构和更精确的度量深度方面都有了实质性的改进。我们展示了零样本交叉数据集推断,证明了其在异构数据域上工作的可推广性,并获得了适用于室内场景的广泛深度估计。更重要的是,从模拟数据中学到的深度很好地传递到真实场景,这表明了我们蒸馏策略的成功。在推断时,只需向DepthNet进行一次前馈,即可生成结构化的度量深度,并在满足实时需求的便携式设备上达到35+fps。

局限性

尽管DistDepth能够使用深度估计的单个前向通道产生结构化深度和度量深度,但它以每帧为基础进行操作,可以对其进行细化,以产生视频输入的时间上更一致的深度[43,52]。深度估计的另一个常见问题是反射物体的正确处理。通过蒸馏,DistDepth可以对轮廓清晰的物体进行估计,如图1所示。然而,我们的方法对于大型镜像仍然不够健壮。一种可能的解决方案是定位反射镜并对原始估计执行深度完成[81,82,90,92]。



参考文章

​实用的单目室内深度估计​

​面向实际应用的室内单目深度估计 Toward Practical Monocular Indoor Depth Estimation​

​SFM Self Supervised Depth Estimation: Breaking Down The Ideas​

​[CVPR2022] DistDepth:一个面向实用的自监督单目深度估计框架 | Meta Reality Labs​

​室内单目深度估计4​

​室内单目深度估计-1​