专栏名称: 计算机视觉深度学习和自动驾驶
讨论计算机视觉、深度学习和自动驾驶的技术发展和挑战
目录
相关文章推荐
最红安  ·  古朴而美丽的传统村落——红安祝家楼 ·  12 小时前  
最红安  ·  古朴而美丽的传统村落——红安祝家楼 ·  12 小时前  
重庆之声  ·  二十四节气丨雨水落,万物生 ·  昨天  
福州日报  ·  错过再等一年!周末福州这里人人人 ·  3 天前  
福州日报  ·  错过再等一年!周末福州这里人人人 ·  3 天前  
51好读  ›  专栏  ›  计算机视觉深度学习和自动驾驶

DUSt3R:轻松实现几何 3D 视觉

计算机视觉深度学习和自动驾驶  · 公众号  ·  · 2024-08-28 00:04

正文

23年CVPR来自芬兰一所大学 和欧洲Naver Labs 的论文“DUSt3R: Geometric 3D Vision Made Easy”。

在实际应用中,多视角立体视觉重建 (MVS) 需要首先估算相机参数,例如内参数和外参数。这些参数通常很繁琐且难以获取,但它们对于在 3D 空间三角化,相应像素是必不可少的,而三角化是所有性能最佳的 MVS 算法核心。这项工作采取了相反的立场,引入 DUSt3R,这是一个用于任意图像集合的密集和无约束立体 3D 重建的全新范例,即无需事先了解相机标定或视点姿势即可进行操作。将成对重建问题视为点图的回归,从而放宽了通常投影相机模型的硬约束。这种公式可以顺利地统一单目和双目重建情况。在提供两张以上图像的情况下,进一步提出一种简单但有效的全局对齐策略,该策略在公共参考系中表达所有成对点图。该网络架构基于标准 Transformer 编码器和解码器,这能够利用强大的预训练模型。该公式直接提供了场景的 3D 模型以及深度信息,但有趣的是,可以无缝地从中恢复像素匹配、相对和绝对相机。对所有这些任务进行的详尽实验表明,所提出的 DUSt3R 可以统一各种 3D 视觉任务,并在单目/多视图深度估计以及相对姿势估计上设定新的 SoTA。总之,DUSt3R 使许多几何 3D 视觉任务变得简单。

如图是DUSt3R概述:给定一个不受约束的图像集合,即一组具有未知相机姿势和内在特性的照片,提出的方法 DUSt3R 输出一组相应的点图,从中可以直接恢复通常难以一次性估计的各种几何量,例如相机参数、像素对应关系、深度图和完全一致的 3D 重建。DUSt3R 也适用于单个输入图像(例如,在这种情况下实现单目重建)。展示的有在不知道相机参数的情况下获得的 DTU、Tanks & Temples 和 ETH-3D 数据集 [1, 50, 107] 上的定性示例。对于每个样本,从左到右:输入图像、彩色点云,并使用阴影渲染以更好地查看基础几何。



纵览


基于图像的多视角无约束密集三维重建是计算机视觉领域中几个长期研究的最终目标之一 [24, 71, 89]。 简而言之,该任务旨在根据给定的一组特定场景照片估计该场景的三维几何形状和相机参数。 它不仅具有众多应用,如制图 [13, 72]、导航 [15]、考古 [86, 132]、文化遗产保护 [38]、机器人技术 [78],而且也许更重要的是,它在所有 3D 视觉任务中占有特殊的地位。 事实上,它涵盖了几乎所有其他几何 3D 视觉任务。 因此,现代的 3D 重建方法汇集了各个子领域数十年的进步成果,例如关键点检测 [26, 28, 62, 96] 和匹配 [10, 59, 99, 119]、稳健估计 [3, 10, 180]、运动恢复结构 (SfM) 和集束调整 (BA) [20, 58, 105]、密集多视图立体视觉 (MVS) [106, 138, 157, 175] 等。

最后,现代 SfM 和 MVS 流程归结为解决一系列最小问题:匹配点、寻找基本矩阵、三角测量点、稀疏重建场景、估计相机并最终执行密集重建。考虑到最近的进展,这个相当复杂的链路当然在某些情况下是一种可行的解决方案 [31、70、76、142、145、147、162],但结果相当不能令人满意:每个子问题都不能完美解决,而且会给下一步添加噪音,从而增加整个流程的复杂性和工程工作量。在这方面,每个子问题之间缺乏沟通就很能说明问题了:如果它们互相帮助,似乎更合理,例如,密集重建应该自然受益于为恢复相机姿势而构建的稀疏场景,反之亦然。最重要的是,这个流程中的关键步骤很脆弱,在许多情况下容易中断 [58]。例如,SfM 中用于估计所有相机参数的关键阶段通常会在许多常见情况下失败,比如当场景视图数量较少时[108],对于具有非Lambertian表面的物体[16],在相机运动不够大的情况下[13],等等。这是令人担忧的,因为最终“ MVS 算法的好坏取决于输入图像的质量和相机参数” [32]。

定义一个3维点的密集2维场的表示为一个点图 X。与对应的分辨率为 W × H 的 RGB 图像 I 相关联,X 形成图像像素和3维场景点之间的一一映射,即 Ii,j ↔ Xi,j ,对于所有像素坐标 (i,j) ∈ {1...W} × {1...H}。假设每条相机光线都照射到一个三维点,即忽视半透明表面的情况。

给定相机内参矩阵 K,可以直接从真实深度图 D 获得观察场景的点图 X,即 Xi,j =K^-1 [iDi,j, jDi,j, Di,j]。这里,X 在相机坐标系中表示。将相机 n 看到的点图 Xn 在相机 m 的坐标系中表示为 Xn,m:


任务是希望建立一个网络,通过直接回归来解决广义立体视觉情况下的 3D 重建任务。 为此,训练一个网络 F,它以 2 张 RGB 图像 I1 , I2 作为输入,并输出 2 个相应点图 X1,1 , X2,1 及其相关的置信度图。 请注意,两个点图都以 I1 的同一坐标系表示,这与现有方法截然不同,但具有关键优势。 为了清楚起见并且不失一般性,假设两幅图像具有相同的分辨率 W × H,但在实际操作中它们的分辨率自然会有所不同。

网络 F 的架构灵感来自 CroCo [149],因此很容易从 CroCo 预训练 [148] 中获益。如图所示,它由两个相同的分支(每个图像一个)组成,每个分支都包含一个图像编码器、一个解码器和一个回归头。两个输入图像首先由相同的权重共享 ViT 编码器 [27] 以 Siamese 方式编码,产生两个token表示 F1 和 F2:





然后,网络在解码器中对它们两者进行联合推理。与 CroCo [149] 类似,解码器是一个配备交叉注意功能的通用 Transformer 网络。因此,每个解码器块按顺序执行自注意(一个视图的每个token关注同一视图的token),然后执行交叉注意(一个视图的每个token关注另一个视图的所有其他token),最后将token提供给 MLP。重要的是,在解码器传递过程中,两个分支之间不断共享信息。这对于输出正确对齐的点图至关重要。也就是说,每个解码器块关注来自另一个分支的token:


这里,DecoderBlockvi (G1, G2) 表示分支 v ∈ {1, 2} 中的第 i 个块,G1 和 G2 是输入token,G2 是来自另一个分支的token。最后,在每个分支中,一个单独的回归头获取一组解码器token并输出一个点图和一个相关的置信度图:


输出点图 X1,1 和 X2,1 的回归带一个未知的比例因子。另外,应该注意的是,通用架构从未明确强制执行任何几何约束。因此,点图不一定对应于任何物理上合理的相机模型。相反,让网络学习来自训练集的所有相关先验,该训练集仅包含几何一致的点图。使用通用架构可以利用强大的预训练技术,最终超越现有任务特定架构所能实现的目标。

训练目标


模型训练中,视图 v ∈ {1, 2} 中有效像素 i ∈ Dv 的回归损失,简单定义为欧几里得距离:


为了处理预测和真实值之间的尺度模糊性,分别通过缩放因子 z = norm(X1,1,X2,1)和 z ̄ = norm(X ̄1,1,X ̄2,1)对预测和真实点图进行归一化,它们只是表示所有有效的点到原点的平均距离:


事实上,与假设相反,存在定义不明确的 3D 点,例如在天空中或半透明物体上。更一般地,图像中的某些部分通常比其他部分更难预测。因此,共同学习预测每个像素的分数,该分数表示网络对该特定像素的置信度。最终的训练目标是所有有效像素的置信度加权回归损失(来自等式 (2)):


以此目标训练网络 F 允许在没有明确监督的情况下估计置信度得分。如图显示了输入图像对及其相应输出的示例。

下游应用

输出点图的丰富属性,能够相对轻松地执行各种便捷的操作。


点匹配 。通过在 3D 点图空间中进行最近邻 (NN) 搜索,可以轻松建立两个图像像素之间的对应关系。为了最大限度地减少错误,通常保留图像 I1 和 I2 之间的相互 (相互) 对应关系 M1,2,即有:


恢复内参 。根据定义,点图 X1,1 在 I1 的坐标系中表示。因此,可以解决一个简单的优化问题来估计相机内参。在这项工作中,假设主点大致位于中心,像素为正方形,因此只需估计焦点 f1∗:


其中 i‘ =i−W/2 和 j’ =j−W/2。快速迭代求解器(例如基于 Weiszfeld 算法 [87])可以在几次迭代中找到最优 f1∗。对于第二台摄像机的焦点 f2∗,最简单的选择是对 (I2, I1) 对进行推断,并使用上述公式,其中 X2,2 代替 X1,1。

相对姿态估计 。其可以通过多种方式实现。一种方法是执行 2D 匹配并恢复上述内参矩阵,然后估计外极矩阵并恢复相对姿态 [44]。另一种更直接的方法是使用 Procrustes 对齐 [63] 比较点图 X1,1 ↔ X1,2 (或等效地,X2,2 ↔ X1,2 ),获得相对姿态 P∗ = [R∗ |t∗ ]:


不幸的是,Procrustes 对齐对噪声和异常值很敏感。最终,一个更强大的解决方案是依靠 RANSAC [30] 和 PnP [44, 51]。

绝对姿态估计。 这个也称为视觉定位,同样可以通过几种不同的方式实现。让 IQ 表示查询图像,IB 表示可获得 2D-3D 对应关系的参考图像。首先,可以根据 X 估计 IQ 的内参矩阵。一种可能性是获得 IQ 和 IB 之间的 2D 对应关系,进而产生 IQ 的 2D-3D 对应关系,然后运行 PnP-RANSAC [30, 51]。另一种解决方案是获取 IQ 和 IB 之间的相对姿态。然后,根据 XB,B 和 IB 的真值点图之间的比例,通过适当缩放该姿态将其转换为世界坐标。

全局对齐







请到「今天看啥」查看全文


推荐文章
重庆之声  ·  二十四节气丨雨水落,万物生
昨天