对于每一个输入图像 I I I,网络 f f f 预测一个标准的逆深度图像 C = f ( I ) C=f(I) C=f(I)。为了获得稠密的深度估计图 D m D_m Dm ,作者用水平视角来缩放,并用焦距 f p x f_{px} fpx 和 宽度 w w w 来表示: D m = f p x w C D_m = \frac{f_{px}}{wC} Dm=wCfpx。
出自论文《Metric3D: Towards zero-shot metric 3D prediction from a single image》
作者使用多个目标进行训练,所有这些目标都是基于典型的逆深度,因为这将优先考虑靠近相机的区域,而不是更远的区域或者整个场景、设 c ^ \hat{c} c^ 为GT,对于所有度量数据集,计算每个像素 i i i 的平均绝对误差,对于真实世界数据集,每张图中丢弃误差top 20%的像素:
作者进一步计算多尺度下逆深度图的一阶导数和二阶导数的误差,令 KaTeX parse error: Undefined control sequence: \* at position 3: ▽_\̲*̲ 表示空间导数算子,如scharr(S) 或 laplace(L), p p p 表示误差范数,M尺度上的多尺度导数损失定义为:
其中尺度 j j j 是通过模糊和下采样逆深度图来计算得到的,每个尺度的因子为2,为了简写,定义平均梯度误差 L M A G E = L S , 1 , 6 L_{MAGE}=L_{S,1,6} LMAGE=LS,1,6,平均绝对拉普拉斯误差 L M A L E = L L , 1 , 6 L_{MALE}=L_{L,1,6} LMALE=LL,1,6,均方梯度误差 L M S G E = L S , 2 , 6 L_{MSGE}=L_{S,2,6} LMSGE=LS,2,6。
基于这些观察,作者设计了一个二阶段的训练课程。第一阶段,我们的学习目标是学习鲁棒的特征,使网络能够跨领域泛化。为此,作者在所有已标记的训练集的混合上进行训练,在度量数据集上最小化 L M A E L_{MAE} LMAE,在非度量数据集上最小化 L M A E L_{MAE} LMAE 的归一化版本。 L M A E L_{MAE} LMAE 因其在处理损坏的真实世界GT时的鲁棒性而被选择,为了使网络预测朝向锐利地边界,作者也对预测到的梯度进行监督。然而这会阻碍优化,减缓收敛。作者发现仅应用于合成数据的尺度和平移不变梯度损失效果会更好。
第二阶段的训练旨在锐化边界并揭示预测深度图中的细节。为了尽量减少不准确的GT的影响,现阶段只在高质量的像素级GT的合成数据上训练(虽然这点到了在合成数据上先训练,然后在真实数据上微调的普遍做法)。具体来说,再次最小化 L M A E L_{MAE} LMAE 的同时,在 L M A G E L_{MAGE} LMAGE, L M A L E L_{MALE} LMALE 和 L M S G E L_{MSGE} LMSGE 的一阶和二阶导数上选择损失进行补充。
作者使用相邻像素的成对深度比来定义前后背景关系。令 i , j i,j i,j 为向量的两个像素的位置,定义一个由深度图 d d d 导出的遮挡轮廓 c d c_d cd 为 c d ( i , j ) = [ d j d i > ( 1 + t 100 ) ] c_d(i,j)=[\frac{d_j}{d_i}>(1+\frac{t}{100})] cd(i,j)=[didj>(1+100t)] ,其中 [ ⋅ ] [·] [⋅]表示满足条件为1,不满足条件为0。直观地说,如果像素 i i i 和 j j j 对应的深度相差超过了 t t t%,这表明像素 i i i 和 j j j 之间存在轮廓遮挡,对于所有的相邻像素对,可以计算精确率 P P P 和召回率 R R R 为:
在本文实验中,根据 P P P 和 R R R 再计算了 F 1 F1 F1。为了考虑多个相对深度比,作者对 F 1 F1 F1 进行了加权,阈值从 t m i n = 5 t_{min}=5 tmin=5 到 t m a x = 25 t_{max}=25 tmax=25,对高阈值具有更强的权重。这种度量方式不需要任何手动标注,而是简单的通过合成数据来获得像素级GT。
类似地,我们也可以从二进制标签图中识别遮挡轮廓,这些标签图可以从真实世界的分割、显著性检测和抠图数据集中获得。给定图像上的二值掩膜 b b b,定义像素 i , j i,j i,j 之间存在遮挡轮廓 c b c_b cb 为 c b ( i , j ) = b ( i ) ∧ ¬ b ( j ) c_b(i,j)=b(i)∧¬b(j) cb(i,j)=b(i)∧¬b(j)。利用这个定义,通过替换公式(3)中深度图的遮挡轮廓来计算召回。由于二值图通常标记整个物体,我们无法获得与物体轮廓不对齐的真实遮挡轮廓。因此,只能计算召回率,而不能计算精确率。
比如某个对象表面的深度变化明显,但通过二值图只能获得其边缘的轮廓。
4.4 焦距估计
为了处理可能存在源数据不准确或丢失的图像,在网络中添加了一个焦距估计头。一个小的卷积头从深度估计网络中提取冻结的特征和从单独的ViT图像编码器中提取的特征来预测水平角度视图的焦距。使用 L 2 L_2 L2 损失作为训练损失。深度估计训练完成后,再对焦距头和ViT编码器进行训练。分离焦距训练的好处是:避免了深度和焦距训练目标平衡的必要性,还允许在不同数据集上训练焦距头。