【论文阅读笔记】MoGe: 使用最优训练监督解锁开放域图像的精确单目几何估计
MoGe: Unlocking Accurate Monocular Geometry Estimation for Open-Domain Images with Optimal Training Supervision
- 介绍
- 概述
- 引言
- 零样本泛化能力
- 贡献
- 相关工作
- 方法
- 仿射不变的点图
- 恢复相机焦距和偏移
- 训练目标
- 全局点图监督
- 多尺度局部 loss
- 法线loss
- mask loss
- 数据
- 实验结果
- 实现细节
- 定量实验
- 点图估计
- 深度估计
- Camera FOV Estimation
- 定性实验
- 消融实验
- ROE对齐
- 结论
- 附录见原文
介绍
在计算机视觉领域,单目几何估计一直是一个重要的研究方向。本文介绍了一种新模型——MoGe,它能够从单目开放领域图像中恢复3D几何形状。MoGe通过引入最优训练监督,显著提高了几何估计的准确性和泛化能力。
Authors: 中国科学技术大学,微软,哈佛,清华
Project:https://wangrc.site/MoGePage/
概述
MoGe(Monocular Geometry)是一种强大的模型,能够从单张图像直接预测捕获场景的3D点图。该模型采用仿射不变表示法,消除了真实全局尺度和位移的影响。这一创新使得训练过程中避免了模糊的监督,从而促进了有效的几何学习。
引言
DUTS3R[59]提出通过将每个像素映射到自由的3D点来从图像中预测3D点图,从而绕过几何恢复过程中的摄像机参数估计。虽然该模型可以估计单目几何形状,但它主要是为多视图场景设计的,并在图像对输入上进行训练。
我们的模型架构简单而直接:它直接从图像中预测点图,如果需要,可以进一步导出深度图和相机焦距或 FOV。与使用尺度不变点图的DUSt3R[59]不同,我们的方法预测仿射不变点图,其中3D点服从未知的全局尺度和3D偏移。这种变化很重要,因为它消除了对网络训练有害的焦点距离歧义——我们提供了直观的解释以及支持这一进步的经验证据。
研究结果表明,训练监督的设计对于从单个图像实现鲁棒和准确的点图预测至关重要。与之前的MDE方法类似,在训练过程中需要全局缩放因子和平移来将预测与GT对齐。然而,现有的这种全局对齐计算方法要么对异常值敏感,要么用粗近似求解,导致监督次优。
本文提出了一种鲁棒、最优和高效(ROE)全局对齐求解器来解决仿射不变点图损失的尺度和偏移,大大提高了训练效率和最终精度。另一方面,之前在很大程度上忽略了局部、区域特定几何的有效学习。**
在单目几何估计中,不同物体之间的相对距离可能是模糊的,当只应用全局对齐时,这阻碍了精确的局部几何学习**。鉴于此,我们提出了一种多尺度局部几何损失,它惩罚独立仿射对齐下三维点云的局部差异。这种设计显著提高了我们的局部几何预测的准确性
零样本泛化能力
对八个看不见的数据集进行零样本评估显示出比以前的输出点云的 MGE 方法的显着改进(与之前的最佳方法相比,误差减少了 35% 以上)。此外,我们的方法显着优于专注于 MDE 和相机 FOV 子任务的先前方法(前者减少了 20%∼30%,后者减少了 20% 以上)。图 2 显示我们的方法在评估中的所有任务和数据集中排名第一。
贡献
- 我们提出了一种新的直接 MGE(单目几何估计) 方法,用于使用仿射不变点图的开放域图像。
- 我们建立了一套新颖有效的全局和局部监督,以实现鲁棒和精确的几何恢复。
- 我们展示了我们的模型在跨不同数据集的 MGE、MDE(单目深度估计) 和相机 FOV 估计上优于现有方法的性能显着提高。
我们希望我们的方法作为单目几何任务的通用基础模型,促进3D感知图像编辑、深度到图像合成、新视图合成和3D场景理解等应用,并为视频或基于多视图的3D重建提供初始几何先验。
相关工作
本文从单目深度估计、单目点图估计、相机内参估计、大规模数据训练四方面介绍了相关文献,具体可以参考文章。
方法
我们的方法以单个图像为输入,直接预测由3D点表示的场景的几何形状。该方法的概述如图3所示。
图 3:方法概述。我们的模型由一个 ViT 编码器和一个卷积解码器组成。它预测仿射不变点图以及排除几何未定义区域(例如,无穷大)的掩码。深度、相机移位和焦距可以进一步从模型输出导出。对于训练,我们设计了鲁棒和有效的监督,重点关注全局和局部几何形状。
仿射不变的点图
对于图像 I ∈ R H × W × 3 I∈R^{H×W×3} I∈RH×W×3,我们的模型 F θ F_θ Fθ推断图像像素的3D坐标,由图 P ∈ R H × W × 3 P∈R^{H×W×3} P∈RH×W×3表示,即:
F θ : I → P F_\theta:I \rightarrow P Fθ:I→P
P坐标系的X轴和Y轴分别与图像空间中的u轴和v轴对齐。
单目几何估计经常受到焦距模糊的影响,如图4 (a)所示。
图解内容:
(a) 输入图像与预测
输入图像:顶部是两张相似的图像(例如同一棵植物的不同视角)。
预测:模型对这些相似图像做出的预测(3D几何形状)。
GT几何与相机:尽管图像看起来相似,但它们的真实几何、焦距和距离是不同的(即面临焦距模糊问题)。
关键点:虽然输入图像相似,但由于相机的不同设置(焦距和距离),因此它们对应的真实几何形状是不同的。
(b) 尺度不变性
这里展示了“尺度不变”方法的结果。
不一致的监督信号:由于这些相似图像来源于不同的焦距和距离,模型接收到的监督信号(标签)并不一致。
关键点:单纯依靠尺度不变性会导致模型在学习过程中获取不一致的监督信号,从而影响准确性。
© 仿射不变性
这里展示了“仿射不变”方法的结果。
一致的监督:通过额外的位移对齐,提供一致的监督信号。
关键点:通过结合尺度和位移的对齐,仿射不变方法能够提高模型的学习效果,确保监督信号的一致性,从而提升3D几何重建的准确性。
我们建议预测仿射不变点mapP,即P与全局尺度 s ∈ R s∈R s∈R和偏移量 t ∈ R 3 t∈R^3 t∈R3无关,因此 P ≅ s P + t , ∀ s , ∀ t \mathbf{P} \cong s \mathbf{P}+\mathbf{t}, \forall s, \forall \mathbf{t} P≅sP+t,∀s,∀t。与图 4 (b) 所示的尺度不变监督 [59] 相比, ,如图 4 © 所示。这确保了焦距不明确时一致的几何监督,从而实现更有效的几何学习。
按照公认的做法,我们假设相机主点与图像中心重合,像素是正方形的。在这种情况下,t 可以用 Z 轴移位 t z t_z tz 简化(即 t x = t y = 0 t_x = t_y = 0 tx=ty=0)。
恢复相机焦距和偏移
仿射不变点图表示可用于恢复相机移位和焦距。给定预测的3D点
(
x
i
,
y
i
,
z
i
)
(x_i, y_i, z_i)
(xi,yi,zi)及其对应的2D像素
(
u
i
,
v
i
)
(u_i, v_i)
(ui,vi),我们求解相机焦距预测f和z轴位移
t
z
′
t'_z
tz′通过最小化投影误差:
min
f
,
t
z
′
∑
i
=
1
N
(
f
x
i
z
i
+
t
z
′
−
u
i
)
2
+
(
f
y
i
z
i
+
t
z
′
−
v
i
)
2
\min _{f, t_{z}^{\prime}} \sum_{i=1}^{N}\left(\frac{f x_{i}}{z_{i}+t_{z}^{\prime}}-u_{i}\right)^{2}+\left(\frac{f y_{i}}{z_{i}+t_{z}^{\prime}}-v_{i}\right)^{2}
f,tz′mini=1∑N(zi+tz′fxi−ui)2+(zi+tz′fyi−vi)2
其中 t ′ z = t z / s t′_z = t_z /s t′z=tz/s。上式可以通过快速迭代优化算法有效地解决,该算法通常在 10 次迭代内收敛,大约需要 3 毫秒。有关解决方案的更多详细信息,请参见 supp。通过 t z ′ t'_z tz′恢复,可以通过将相机空间中的尺度不变深度图和点图添加到z坐标中来获得相机空间中的尺度不变深度图和点图。
训练目标
全局点图监督
设 p ^ i \hat p_i p^i表示第i个像素的预测3D点, p i p_i pi表示对应的
L G = ∑ i ∈ M 1 z i ∥ s p ^ i + t − p i ∥ 1 \mathcal{L}_{G}=\sum_{i \in \mathcal{M}} \frac{1}{z_{i}}\left\|s \hat{\mathbf{p}}_{i}+\mathbf{t}-\mathbf{p}_{i}\right\|_{1} LG=i∈M∑zi1∥sp^i+t−pi∥1
其中∥·∥1表示L1范数,s和t是将预测的仿射不变点图转换为地面真实摄像机空间的对准参数,M是带有标签的区域的掩码。加权项 1 / z i 1/z_i 1/zi,其中 z i z_i zi是 p i p_i pi的z坐标,用于平衡极端深度变化的监督信号。
为了应用全局损失 L G \mathcal{L}_{G} LG 进行训练,我们需要首先确定 s 和 t。以前的仿射不变深度估计方法通常使用粗略的对齐近似,例如使用两组的中值深度作为锚点来计算移位,然后是缩放[43,67,68]或归一化深度范围[20,29]。这种简单的策略会产生次优对齐,并可能导致不令人满意的监督。
在这项工作中,我们提出了一个最优对齐参数的求解器。具体来说,我们通过以下公式确定 s ∗ s^∗ s∗ 和 t ∗ t^∗ t∗
( s ∗ , t ∗ ) = argmin s , t ∑ i ∈ M 1 z i ∥ s p ^ i + t − p i ∥ 1 \left(s^{*}, \mathbf{t}^{*}\right)=\underset{s, \mathbf{t}}{\operatorname{argmin}} \sum_{i \in \mathcal{M}} \frac{1}{z_{i}}\left\|s \hat{\mathbf{p}}_{i}+\mathbf{t}-\mathbf{p}_{i}\right\|_{1} (s∗,t∗)=s,targmini∈M∑zi1∥sp^i+t−pi∥1
其中tx和ty为0。求解这个方程的一种方法是将其框架为绝对残差优化问题,并使用单纯形算法和内点法[8]等线性规划方法。然而,众所周知,这些方法的计算复杂度很高,通常超过O(N3),这使得它们对于数千个点的网络训练效率低下,其中计算可能需要几秒钟。相反,我们开发了一种高效的并行搜索算法。由于某些索引 k 的 s z ^ k + t z = z k s\hat z_k+t_z = z_k sz^k+tz=zk 时必须出现最优,我们将 t z t_z tz 替换为 s,并将问题分解为一系列并行的一维子问题。这将复杂度降低到 O( N 2 l o g N N^2 log N N2logN ),并实现高效的基于 GPU 的训练。算法 1 中给出了该解决方案的高级描述,并在 sup中有更多详细信息。
在实践中,我们发现即使 L1 误差范数,上式仍然偶尔对异常值敏感。如果模型错误地将接近的前景边缘像素预测为远处的背景点,则目标将由这种不正确的预测主导。为了进一步提高鲁棒性,我们将截断 min(·, τ ) 应用于绝对残差。虽然这种截断引入了非凸性,但我们的求解器仍然适用于较小的调整。总之,我们的对齐求解器是稳健、最佳和高效的,因此我们称之为 ROE 求解器。
多尺度局部 loss
在单目几何估计中,不同对象之间的相对距离可能是模糊的,难以预测,如图5所示。当应用使用所有对象计算的全局对齐时,这阻碍了精确的局部几何学习。为了增强局部几何的监督,我们提出了一个测量具有独立对齐的局部球体区域的准确性的 loss 函数。
S
j
=
{
i
∣
∥
p
i
−
p
j
∥
≤
r
j
,
i
∈
M
}
\mathcal{S}_{j}=\left\{i \mid\left\|\mathbf{p}_{i}-\mathbf{p}_{j}\right\| \leq r_{j}, i \in \mathcal{M}\right\}
Sj={i∣∥pi−pj∥≤rj,i∈M}
其中rj是半径。我们设置
r
j
=
α
⋅
z
j
⋅
W
2
+
H
2
2
⋅
f
r_j = α·z_j · \frac{\sqrt{W^2+H^2}}{2·f}
rj=α⋅zj⋅2⋅fW2+H2 其中 zj 是 pj 的 z 坐标,f 是地面实况焦距,W 和 H 是图像宽度和高度。这样,超参数 α ∈ (0, 1) 近似于投影球体的直径与图像对角线的比例。
然后,我们应用上述 ROE 对齐求解器将点图与最优 ( s j , t j ) (s^j , t^j ) (sj,tj) 对齐并计算误差。对于每个球体尺度参数 α,我们对一组锚点 H α H_α Hα 进行采样并计算损失为
L S ( α ) = ∑ j ∈ H α l S j = ∑ j ∈ H α i ∈ S j ∑ z i 1 z i ∥ s j ∗ p ^ i + t j ∗ − p i ∥ 1 \mathcal{L}_{S(\alpha)}=\sum_{j \in \mathcal{H}_{\alpha}} l_{\mathcal{S}_{j}}=\sum_{j \in \mathcal{H}_{\alpha} i \in S_{j}} \sum_{z_{i}} \frac{1}{z_{i}}\left\|s_{j}^{*} \hat{\mathbf{p}}_{i}+\mathbf{t}_{j}^{*}-\mathbf{p}_{i}\right\|_{1} LS(α)=j∈Hα∑lSj=j∈Hαi∈Sj∑zi∑zi1 sj∗p^i+tj∗−pi 1
在实践中,我们使用从粗到细的三个 α 尺度:1/4、1/16 和 1/64,分别表示为 LS1、LS2 和 LS3。
法线loss
为了更好地进行表面质量,我们还监督从预测点图计算出的法线与地面真实情况:
L N = ∑ i ∈ M ∠ ( n ^ i , n i ) \mathcal{L}_{N}=\sum_{i \in \mathcal{M}} \angle\left(\hat{\mathbf{n}}_{i}, \mathbf{n}_{i}\right) LN=i∈M∑∠(n^i,ni)
像素i的法线 n ^ i \hat n_i n^i是由其在图像网格上的相邻边的叉积得到的, ∠ ( ⋅ , ⋅ ) \angle(·,·) ∠(⋅,⋅)计算向量间的角度差异。
mask loss
户外场景中的无穷区域(如天空)和仅对象图像中的普通背景具有未定义的几何形状。我们使用单通道输出头来预测有效点的掩码
M
^
∈
R
H
×
W
\hat M ∈ RH×W
M^∈RH×W。合成数据使用有GT,真实数据使用SegFormer到 sky mask。
焦点和移位的恢复涉及掩码点,不包括无效几何的区域。
数据
我们从各个领域收集了 21 个公开可用的数据集 [3, 12, 14, 19, 21, 25, 27, 34, 35, 37, 40, 45, 47, 51, 57, 58, 60,62,69, 74, 76],总计约 900 万帧来训练我们的模型。由于数据标签的质量各不相同,我们对不同的数据源应用了定制的损失函数组合。高质量和更少的噪声数据被分配了更精细的损失函数。为了解决真实标签中的缺陷和潜在异常值,我们排除了真实数据的前 5% 的每像素损失值。遵循DINOv2[41],我们通过从策划的图像集的图像检索来平衡收集的数据集的权重。训练数据集的详细信息可以在 supp 中找到。
实验结果
实现细节
我们使用用DINOv2[41]预训练的ViT[15]编码器和一个轻量级的基于cnn的上采样器作为解码器。编码器和解码器的初始学习率为 5 × 10−6 和 5 × 10−5,每 100K 次迭代衰减因子为 5。训练批量大小为 256。我们的模型在纵横比在 1: 2 和 2 : 1 之间均匀采样的图像上进行训练,像素计数从 250K 到 500K。我们应用了几种图像增强,包括颜色抖动、高斯模糊、JPEG压缩解压缩和随机裁剪。使用透视裁剪将裁剪图像的主要点与其中心对齐。
定量实验
点图估计
我们评估了8个不同数据集上的点图估计的准确性:NYUv2[39]、KITTI[53]、ETH3D[50]、iBims-1[31]、Sintel[9]、Google Scanned Objects (GSO)[16]、DDAD[24]和DIODE[54]。【Benchmark】
这些数据集代表了广泛的领域,包括室内场景、街景、对象扫描和合成电影。对原始数据集进行处理以进行可靠的评估(例如,Sintel 数据集中的天空区域和 DIODE 中的边界伪影被删除;参见supp。更多预处理细节的材料)。
对于评估指标,我们使用相对点误差Relp,即∥ˆp−p∥2/∥p∥2,以及具有 ∥ p ^ − p ∥ 2 / ∥ p ∥ 2 < 0.25 ∥\hat p−p∥_2/∥p∥_2<0.25 ∥p^−p∥2/∥p∥2<0.25的内点 δ 1 p δ^p_1 δ1p的百分比。我们将我们的方法与LeReS[71]、UniDepth[42]和DUSt3R[59]进行比较,评估相机空间尺度不变点图和仿射不变点图。表 1 表明我们的方法优于现有方法,对于两个点图表示,实现了最低的平均 Relp 和最高的 δ 1 p δ^p_1 δ1p。
为了进一步评估局部几何精度,我们评估了由对象分割掩码定义的区域内的仿射不变点图,来自数据集标签或分段任何[30]。由于需要具有多个对象的高质量地面实况和场景,因此排除了 NYUv2、KITTI 和 GSO。我们的方法实现了区域 Relp 的大幅减少,将误差从 7.96 降低到 5.33,比以前的方法提高了大约 30%。
深度估计
我们采用相同的基准进行点图评估,以评估深度估计的准确性。我们采用绝对相对误差 R e l d Rel^d Reld,即 ∣ z − z ^ ∣ / z |z − \hat z|/z ∣z−z^∣/z,其中 m a x ( z / z ^ , z ^ / z ) < 1.25 max(z/\hat z, \hat z/z) < 1.25 max(z/z^,z^/z)<1.25 的内点 δ 1 d δ^d_1 δ1d 的百分比作为评估指标。
为了与不同单目深度估计方法的综合比较,我们评估了尺度不变深度[5,26,42,59,71]、仿射不变深度[20,29]和仿射不变视差[6,67,68]。我们的预测点图中的z坐标表示仿射不变深度,可以使用公式2导出的移位将其转换为尺度不变深度。对于仿射不变视差,我们采用尺度不变深度预测的逆。如表 2 所示,我们的方法对所有深度表示的平均
R
e
l
d
Rel^d
Reld 最低。由于现有的具有尺度不变深度表示的方法可以转化为仿射不变深度和视差,我们在suppl中提供了广泛的比较。我们的方法也显着优于其他方法。
Camera FOV Estimation
为了评估估计的相机视场的精度,我们选择了垂直视场≥45◦的基准,包括NYUv2[39]、ETH3D[50]和iBims-1[31],并通过从原始图像中随机裁剪50%∼100%来增强视场。所有输入图像都用中心主点不失真。我们将我们的模型与点图估计方法[42,59,71]以及两种基于学习的相机校准方法进行比较:透视场[28]和野生相机[77]。为了公平比较零样本评估,我们在野外数据集上利用他们预训练的检查点。
表 3 报告了平均和中值视场误差。我们的方法在三个视场基准的平均平均误差为 2.91 ◦ 2.91◦ 2.91◦,中位数误差为 2.21 ◦ 2.21◦ 2.21◦,优于相机校准和点图估计方法。
定性实验
我们在图 7 中展示了不同方法的视差和点图的可视化结果。对于没有相机参数估计的深度预测方法,我们在可用时使用地面实况内在函数将它们的结果提升到 3D 点。经过目视检查,与其他方法相比,我们的方法产生了明显更少的失真点图,证明了它具有更好的泛化性和准确性。例如,如图7第三行所示,其他方法表现出明显的汽车形状的拉伸和变形。尽管[68]产生了视觉上清晰的视差图,但即使使用地面真实相机intrinsic,扭曲的3D几何图形也很明显。相比之下,我们的方法产生了更规则和格式良好的汽车结构。更多比较可以在 suppl 中找到。
消融实验
我们对我们的点图表示、对齐策略和损失函数设计进行了全面的消融研究。这里使用 ViT-base 主干以提高效率。
点地图表示 我们将我们的仿射不变点图表示与两个变体(相机空间中的一个尺度不变点图)以及另一个预测深度图和相机参数的变体进行比较。对于前者,我们应用所提出的 ROE 对齐来仅解决尺度参数。对于后者,我们对深度图采用SI-log损失[18]和射线方向图的MSE损失,类似于UniDepth[42]。结果如表4的前三行所示,在这些实验中只应用了全局groundtruth监督。我们提出的仿射不变表示在各种任务中优于其他表示。这归因于其他两个变体在训练期间存在焦点距离歧义问题,这阻碍了它们的性能。
ROE对齐
为了评估我们最优对齐的有效性,我们将其与以前使用的简单对齐方法[43]进行比较,即预测和groundtruth点映射按其中位数归一化: ( p − t ( P ) ) / s ( P ) (p−t(P))/s(P) (p−t(P))/s(P),其中 t ( P ) t(P) t(P)等于 ( 0 , 0 , m e d i a n ( Z ) ) (0,0,median(Z)) (0,0,median(Z)), s ( P ) s(P) s(P)计算为 1 N ∑ i = 1 N ∥ p i − t ( P ) ∥ 1 \frac{1}{N} \sum ^N_{i=1}∥p_i−t(P)∥1 N1∑i=1N∥pi−t(P)∥1。如表4的第三行和第四行所示,我们提出的对齐方法在所有任务中始终优于中值对齐策略,证明了我们提出的最优对齐的关键作用。
我们消融对齐目标中残差的截断,这降低了性能(见表 4 中的第五行)。在实践中,添加截断也提高了训练稳定性。
多尺度局部几何损失 如表 4 的第六行所示,没有 LS 的定量结果在局部几何指标上显着下降。这证明了 LS 在增强局部几何精度方面的有效性,并弥补了由于远距离场景对象之间的相对位置不明确而导致的全局损失监督不足。图 6 (a) 进一步证明了所提出的局部几何损失的有效性。
无限掩码 我们的方法预测一个有效的区域掩码来处理无穷区域。如图 6 (b) 所示,它正确识别天空区域,如果去除掩码,则输出点值将是错误的。解决无穷大的另一种策略是为这些区域分配一个大值,即平均距离 1,0 000 倍。图 6 (b) 表明,当网络在无穷远处的大值时挣扎时,这种策略会损害前景准确性。结合单独的掩码预测可以有效地处理无穷大,同时保持准确的前景几何形状。
结论
MoGe模型通过引入有效的训练监督和创新的几何学习方法,显著提升了单目几何估计的准确性和泛化能力。未来的研究可以进一步探索其在更长视频支持和领域特定任务中的适应性,推动计算机视觉技术的进步。