解读:DUSt3R: Geometric 3D Vision Made Easy

概述:给定一个无约束图像集,即一组具有未知相机姿态和内在特征的照片,我们提出的 DUSt3R 方法会输出一组相应的点阵图,从中我们可以直接恢复通常难以一次性估算的各种几何量,如相机参数、像素对应关系、深度图和完全一致的三维重建。请注意,DUSt3R 也适用于单一输入图像(例如,在这种情况下实现单目重建)。我们还展示了 DTU、Tanks and Temples 和 ETH-3D 数据集[1, 50, 107]的定性示例,这些数据集是在没有已知相机参数的情况下获得的。每个样本从左到右依次为:输入图像、彩色点云和渲染阴影,以便更好地查看底层几何图形。

摘要

野外多视角立体重建(MVS)需要首先估算相机参数,例如内在和外在参数。这些参数的获取通常既繁琐又麻烦,但却是在三维空间中对相应像素进行三角测量的必要条件,而三角测量正是所有性能最佳的 MVS 算法的核心。在这项工作中,我们采取了相反的立场,并引入了 DUSt3R,这是一种用于任意图像集合的高密度、无约束立体三维重建的全新范式,即在没有摄像机校准或视点姿势等先验信息的情况下进行操作。我们把成对重建问题看作是点阵图的回归,放宽了通常投影相机模型的硬约束。我们展示了这种表述方式顺利地统一了单目和双目重建情况。在提供两幅以上图像的情况下,我们进一步提出了一种简单而有效的全局配准策略,在一个共同的参考框架中表达所有成对的点阵图。我们的网络架构基于标准的变换器编码器和解码器,使我们能够利用强大的预训练模型。我们的方案直接提供了场景的三维模型以及深度信息,但有趣的是,我们可以从中无缝恢复像素匹配、相对和绝对摄像头。对所有这些任务的详尽实验表明,所提出的 DUSt3R 可以统一各种三维视觉任务,并在单目/多目深度估计以及相对姿态估计方面设定新的 SoTA。总之,DUSt3R 使许多几何 3D 视觉任务变得简单。

引言

基于无约束图像的多视角密集三维重建是计算机视觉领域研究已久的终极目标之一[24, 71, 89]。简而言之,这项任务旨在根据一组特定场景的照片,估算出该场景的三维几何形状和相机参数。它不仅应用广泛,如制图 [13, 72] 、导航 [15]、考古 [86, 132]、文化遗产保护 [38]、机器人技术 [78],更重要的是,它在所有三维视觉任务中占有特殊的地位。事实上,它几乎包含了所有其他几何三维视觉任务。因此,现代的三维重建方法是将数十年来在不同子领域取得的进步成果汇集在一起,如关键点检测 [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]、对于非朗伯表面的物体[16]、摄像机运动不足时[13]等。这种情况令人担忧,因为归根结底,"MVS 算法的好坏取决于输入图像和摄像机参数的质量"[32]。

在本文中,我们介绍了 DUSt3R,这是一种通过未校准和未摆好姿势的摄像机进行密集无约束立体三维重建的全新方法。该方法的主要组成部分是一个网络,它能仅通过一对图像回归出密集、准确的场景表示,而无需事先了解场景或摄像机的信息(甚至连固有参数都没有)。生成的场景表示基于具有丰富属性的三维点阵图:它们同时囊括了(a)场景几何图形、(b)像素和场景点之间的关系以及(c)两个视点之间的关系。仅从输出结果来看实际上,所有场景参数(即摄像机和场景几何)都可以直接提取。之所以能做到这一点,是因为我们的网络可以联合处理输入图像和生成的三维点阵图,从而学会将二维结构与三维形状联系起来,并有机会同时解决多个最小问题,实现它们之间的内部 "协作"。

我们的模型使用简单的回归损失以完全监督的方式进行训练,并利用大型公共数据集,这些数据集的地面实况注释要么是合成生成的 [68, 103],要么是从 SfM 软件中重建的 [55, 161],要么是使用专用传感器捕获的 [25, 93, 121, 165]。我们偏离了整合特定任务模块的趋势[164],转而采用基于通用变压器架构的完全数据驱动策略,在推理时不强制执行任何几何约束,但能受益于强大的预训练方案。该网络可学习强大的几何和形状先验,这让人想起 MVS 中常用的先验,如从纹理、阴影或轮廓中获得形状 [110]。

为了融合多幅图像对的预测结果,我们在点阵图的情况下重新审视了捆绑调整(BA),从而实现了全面的 MVS。我们引入了全局对齐程序,与 BA 不同,该程序不涉及最小化重投影误差。取而代之的是,我们直接在三维空间中优化摄像机姿态和几何对齐,这种方法速度快,在实践中表现出极佳的收敛性。我们的实验表明,在使用各种未知传感器的真实场景中,不同视图之间的重构是准确和一致的。我们进一步证明,同一架构可以无缝处理现实生活中的单目和多目重建场景。重建示例如图 1 和附带视频所示。

总之,我们的贡献有四个方面。首先,我们提出了第一个从未经校准和未摆放图像的整体端到端三维重建管道,它统一了单目和双目三维重建。其次,我们为 MVS 应用引入了点图表示法,使网络能够预测典型帧中的三维形状,同时保留像素与场景之间的隐含关系。这就有效地放弃了通常透视摄像机表述的许多限制条件。第三,我们引入了一种优化程序,用于在多视角三维重建的背景下全局对齐点阵图。我们的程序可以毫不费力地提取经典 SfM 和 MVS 管道的所有常规中间输出。从某种意义上说,我们的方法统一了所有三维视觉任务,大大简化了传统的重建管道,使 DUSt3R 相比之下显得简单易行。特别是,我们的一体化模型在单目和多目深度基准以及多目相机姿态估计方面取得了最先进的结果。

相关工作

为节省篇幅,我们在此总结了 3D 视觉领域最相关的工作,读者可参阅 C 节的附录了解更全面的回顾。从运动看结构(SfM)[20, 21, 44, 47, 105]旨在重建稀疏的 3D 地图,同时从一组图像中联合确定相机参数。传统的方法是从多幅图像之间的关键点匹配[4, 5, 42, 62, 98]得到的像素对应关系开始确定几何关系,然后进行捆绑调整,共同优化三维坐标和相机参数。最近,SfM 管道得到了大幅改进,特别是将基于学习的技术融入到子流程中。这些改进包括先进的特征描述[26, 28, 96, 134, 166]、更精确的图像匹配[3, 17, 59, 81, 99, 119, 125, 144]、特征度量细化[58]和神经束调整[57, 152]。尽管取得了这些进步,但 SfM 管道的顺序结构依然存在,使其容易受到噪声和每个单独组件错误的影响。多视点立体(MVS)是通过在多个视点之间进行三角测量来密集重建可见表面的任务。在 MVS 的经典表述中,所有相机参数都应作为输入提供。全手工[32, 34, 106, 146, 174]、最新的基于场景优化[31, 70, 75, 76, 142, 145, 147, 162]或基于学习[52, 64, 85, 160, 163, 179]的方法都依赖于通过复杂的校准程序获得的摄像机参数估计,这些校准程序可以是在数据采集过程中[1, 23, 108, 165],也可以是使用 "结构-运动"(Structure-fromMotion)方法[47, 105]进行野外重建。然而,在现实生活中,预先估计的相机参数不准确会影响这些算法的正常工作。在这项工作中,我们建议在不明确摄像机参数的情况下直接预测可见表面的几何形状。直接从 RGB 到 3D最近,有人提出了一些从单张 RGB 图像直接预测 3D 几何图形的方法。由于该问题本质上是一个不确定的问题,不需要引入额外的假设,因此这些方法利用神经网络从大型数据集中学习强大的 3D 先验来解决模糊问题。这些方法可分为两类。第一类是利用类级对象先验。例如,Pavllo 等人[82-84] 建议学习一个模型,该模型可以在大量 2D 图像的基础上,从单张图像中完全恢复形状、姿势和外观。这种方法虽然功能强大,但无法从未曾见过的类别中推断出物体的形状。第二类工作与我们的方法最为接近,主要针对一般场景。这些方法系统地建立或重新使用现有的单目深度估计(MDE)网络 [6, 90, 168, 170]。深度图确实编码了一种三维信息,并与摄像机本征相结合,可直接生成像素对齐的三维点云。例如,SynSin[150] 通过渲染知道所有摄像机参数的特征增强深度图,从单幅图像中合成新的视点。在没有摄像机本征的情况下,一种解决方案是利用视频帧的时间一致性来推断摄像机本征,具体方法是强制执行全局对齐等[155],或利用具有光度重建损失的可微分渲染[36, 116]。另一种方法是明确地学习预测摄像机的内在特征,当与 MDE [167, 169] 结合使用时,可从单个图像执行度量三维重建。然而,所有这些方法本质上都受限于深度估计的质量,可以说这对单目设置来说是个难题。

相比之下,我们的网络同时处理两个视点,以便输出深度图,或者说点图。至少从理论上讲,这使得来自不同视角的光线之间的三角测量成为可能。过去曾有人提出过用于 3D 重建的多视角网络。它们基本上是基于建立一个可区分的 SfM 管道的想法,复制传统管道,但对其进行端到端训练 [130, 135, 183]。然而,这需要地面真实的相机本征作为输入,输出通常是深度图和相对相机姿态 [135,183]。与此相反,我们的网络采用通用架构,输出点图,即三维点的密集二维场,隐式处理相机姿态,使回归问题得到更好的解决。点阵图使用点阵图集合作为形状表示对于 MVS 来说是非常反直觉的,但它在视觉定位任务中的应用却非常广泛,无论是场景相关优化方法 [8, 9, 11] 还是场景无关推理方法 [95, 123, 158]。同样,视图建模也是单目三维重建工作 [56, 112, 126, 140] 和视图合成工作 [150] 的共同主题。其原理是在多个典型视图中存储典型三维形状,以便在图像空间中工作。这些方法通常通过渲染典型表示,利用显式透视相机几何图形。

方法

在详细介绍我们的方法之前,我们先介绍一下点阵图的基本概念。

点映射。点阵图X 与其对应的分辨率为 W × H 的 RGB 图像 I 相结合,在图像像素和三维场景点之间形成了一一对应的映射,即对于所有像素坐标 (i, j) ∈ {1 .. .W }× {1 . . .H}.这里我们假设每个相机射线击中一个3D点,忽略半透明表面的情况。

摄像机和场景。给定摄像机本征 K∈R、观测场景的点图X可以从地面实况深度图D直接得到∈R为X = K [iD, jD, D]。在这里,X 表示在相机坐标系中。在下文中,我们将相机 n 的点图 X 表示为 X,该点图以相机 m 的坐标系表示:

其中 P ∈ 是图像 n 和 m 的世界到相机的姿态,h : (x, y, z) → (x, y, z, 1) 齐次映射。

概述

我们希望建立一个网络,通过直接回归解决广义立体情况的 3D 重建任务。为此,我们训练了一个网络 F,该网络将 2 个 RGB 图像 I、I ∈ R 作为输入,并输出 2 个相应的点 X、X ∈ R,以及相关的置信度图 C、C ∈ R。请注意,两个点图都以 I 的同一坐标系表示,这与现有方法截然不同,但具有关键优势(参见第 1、2、3.3 和 3.4 节)。为了清晰起见,在不损失泛化的情况下,我们假设两个图像具有相同的分辨率W × H,但在实践中它们的分辨率自然会有所不同。

网络架构。我们的网络 F 的架构受到 CroCo [149] 的启发,因此很容易从 CroCo 预训练 [148] 中获益匪浅。如图 2 所示,它由两个相同的分支(每个图像一个)组成,每个分支包括一个图像编码器、一个解码器和一个回归头。两个输入图像首先由相同的权重共享ViT编码器[27]以连体方式编码,产生两个标记表示F和F:

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

对于 i = 1, . . . , B 表示具有 B 块并使用编码器标记 G := F 和 G := F 初始化的解码器。这里,DecoderBlock (G, G) 表示分支 v 中的第 i 个块 ∈ {1, 2},G 和 G 是输入标记,G 是来自另一个分支的标记。最后,在每个分支中,一个单独的回归头获取解码器标记集,并输出点图和关联的置信度图:

讨论。输出点图 X 和 X 将回归到未知比例因子。此外,应该注意的是,我们的通用架构从未明确地强制执行任何几何约束。因此,点图不一定与任何物理上合理的相机模型相对应。相反,我们让网络从训练集中学习所有相关的先验,训练集只包含几何一致的点图。使用通用架构可以利用强大的预训练技术,最终超越现有的特定于任务的架构所能实现的目标。我们将在下一节中详细介绍学习过程。

训练目标

3D 回归损失。我们唯一的训练目标是基于 3D 空间中的回归。让我们将 groundtruth 点图表示为X11 和X21,由式(1)得到以及两组相应的有效像素 D、D属于 {1 . . .W }× {1 . . .H} 上定义的地面实况。视图 v∈{1, 2} 中有效像素 i∈D 的回归损失简单定义为欧氏距离:

为了处理预测和地面实况之间的尺度模糊性,我们用比例因子 z = norm(X, X) 和 ̄z = norm( ̄) 对预测点图和地面实况点图进行归一化处理,X,X),它们分别简单地代表了

发送所有有效点到原点的平均距离:

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

其中 C是像素 i 的置信度得分,α 是一个控制正则化项的超参数 [136]。为了确保严格的正置信度,我们通常定义

网络可以在较难的区域进行推断,例如单个视图所覆盖的区域。根据这一目标训练网络 F,就可以在没有明确监督的情况下估算出置信度分数。图 3 和附录中的图 4、图 5 和图 8 显示了输入图像对及其相应输出的示例。

下游应用

输出点阵图的丰富属性使我们可以相对轻松地执行各种便捷的操作。

点匹配。在三维点阵图空间中通过近邻(NN)搜索可以轻松建立两幅图像像素之间的对应关系。为了尽量减少误差,我们通常会保留图像 I 和 I 之间的互惠(相互)对应关系 M,即我们有

恢复本征根据定义,点阵图 X 是以 I 的坐标框架表示的。因此,可以通过解决一个简单的优化问题来估计摄像机的固有参数。在本文中,我们假设主点近似居中,像素为正方形,因此只需估算焦点 f:

相对姿态估计可以通过几种方式实现。一种方法是如上所述进行二维匹配并恢复本征,然后估计外极矩阵并恢复相对姿态[44]。另一种更直接的方法是使用 Procrustes alignment [63] 比较点图 X ↔ X(或等价于 X ↔ X),得到相对姿态 P = [R|t]:

可以通过闭合形式实现。遗憾的是,Procrustes alignment 对噪声和异常值很敏感。一个更稳健的解决方案是使用 RANSAC [30] 和 PnP [44, 51]。

绝对姿态估计(也称视觉定位)同样可以通过几种不同的方法实现。让 I 表示查询图像,I 表示有 2D-3D 对应关系的参考图像。首先,可以通过 X 估算 I 的本征。一种方法是获取 I 和 I 之间的 2D 对应关系,进而得到 I 的 2D-3D 对应关系,然后运行 PnP-RANSAC [30, 51]。另一种解决方案是如前所述获取 I 和 I 之间的相对姿态。然后,我们根据 X 与 I 的地面实况点图之间的比例,通过适当缩放将姿态转换为世界坐标。

全局对齐

目前介绍的网络 F 只能处理一对图像。我们现在介绍一种针对整个场景的快速而简单的后处理优化方法,它可以将多幅图像中预测的点阵图对齐到一个联合三维空间中。这要归功于我们点阵图的丰富内容,它通过设计包含了两个对齐的点云及其相应的像素到三维映射。

配对图。给定场景的一组图像 {I, I, .我们首先构建一个连接图 G(V,E),其中 N 幅图像构成顶点 V,每条边 e = (n, m) ∈ E 表示图像 I 和 I 共享某些视觉内容。为此,我们要么使用现有的现成图像检索方法,要么通过网络 F 传递所有图像对(在 H100 GPU 上推理时间≈40ms)。并根据两对的平均置信度来衡量它们的重叠,然后我们过滤掉低置信度对。

全局优化。我们使用连通性图 G 来恢复所有相机的全局对齐点图 {χ ∈ R} n = 1 . . .N .为此,我们首先预测,对于每个图像对 e = (n, m) ∈ E,成对点图 X、X 及其相关的置信度图 C、C。为了清楚起见,让我们定义 X := X 和 X := X。由于我们的目标是在一个公共坐标系中旋转所有成对预测,因此我们引入了一个成对姿态 P ∈ R 和与每对 e ∈ E 相关的缩放 0 σ >。然后,我们提出以下优化问题:

恢复相机参数。一个直截了当的此框架的扩展可以恢复所有相机参数。通过简单地替换 χ :=

(即执行标准相机针孔模型如式(1)所示),因此我们可以估计所有相机姿态{P}、相关的内在函数{K}和深度图{D},当n = 1时。N .讨论。我们指出,与传统的捆绑调整相反,这种全局优化在实践中执行起来既快速又简单。事实上,我们并没有像束平差那样最小化 2D 重投影误差,而是最小化 3D 投影误差。优化使用标准梯度下降进行,通常在几百步后收敛,在标准 GPU 上只需几秒钟。

实验

训练数据。我们使用八个数据集的混合来训练我们的网络:Habitat [103]、MegaDepth [55]、ARKitScenes [25]、MegaDepth [55]、Static Scenes 3D [68]、Blended MVS [161]、ScanNet++ [165]、CO3D-v2 [93] 和韦莫[121]。这些数据集具有不同的场景类型:室内、室外、合成、真实世界、以对象为中心等。当数据集中没有直接提供图像对时,我们根据 [148] 中描述的方法提取它们。具体来说,我们利用现成的图像检索和点匹配算法来匹配和验证图像对。总而言之,我们总共提取了 8.5M 对。培训详情。在每个时期,我们从每个数据集中随机抽取相同数量的对,以均衡数据集大小的差异。我们希望将相对高分辨率的图像提供给我们的网络,比如最大维度的 512 像素。为了降低与此类输入相关的高成本,我们按顺序训练我们的网络,首先在 224×224 张图像上训练,然后在更大的 512 像素图像上训练。我们随机选择每批图像的纵横比(例如 16/9、4/3 等),以便在测试时我们的网络熟悉不同的图像形状。我们只需将图像裁剪到所需的纵横比,并调整大小,使最大尺寸为 512 像素。

我们总体上使用标准的数据增强技术和培训设置。我们的网络架构包括用于编码器的 Vit-Large [27]、用于解码器的 ViT-Base 和 DPT 头 [90]。有关培训和架构的更多详细信息,请参阅 F 节中的附录。在训练之前,我们使用现成的CroCo预训练模型的权重初始化我们的网络[148]。Cross-View Completion (CroCo) 是最近提出的一种受 MAE [45] 启发的预训练范式,已被证明在各种下游 3D 视觉任务中表现出色,因此特别适合我们的框架。我们在第 4.6 节中消融了 CroCo 预训练的影响并提高了图像分辨率。

评估。在本节的其余部分,我们将根据一组具有代表性的经典 3D 视觉任务对 DUSt3R 进行基准测试,每次都指定数据集、指标并将性能与现有的最先进方法进行比较。我们强调,所有结果都是使用相同的 DUSt3R 模型获得的(我们的默认模型表示为“DUSt3R 512”,其他 DUSt3R 模型用于第 4.6 节中的消融),即我们从不对特定下游任务的模型进行微调。在测试期间,所有测试图像都会重新缩放到 512 像素,同时保留其纵横比。由于可能存在不同的'routes' 从 DUSt3R 中提取特定于任务的输出,如在第 3.3 节和第 3.4 节中描述,我们每次精确采用的方法。

定性结果。即使在具有挑战性的情况下,DUSt3R 也能生成高质量的高密度三维重建。我们请读者参阅 B 章的附录,了解成对和多视角重建的非樱桃采摘可视化效果。

视觉定位

数据集和度量标准我们首先在 7Scenes [113] 和 Cambridge Landmarks 数据集 [48] 上对 DUSt3R 的绝对姿态估计任务进行了评估。7Scenes 包含 7 个室内场景,其中有来自视频的 RGB-D 图像及其 6-DOF 摄像机姿势。Cambridge-Landmarks 包含 6 个室外场景的 RGB 图像及其相关的摄像机姿势,这些姿势是通过 SfM 获取的。我们报告了平移和旋转误差的中位数,单位分别为(厘米/)。协议和结果为了计算世界坐标中的摄像机姿态,我们使用 DUSt3R 作为查询和使用现成图像检索 APGeM [94] 获得的最相关数据库图像之间的 2D-2D 像素匹配器(见第 3.3 节)。换句话说,我们只需使用由 F(I,I)输出的原始点阵图,无需任何细化,其中 I 是查询图像,I 是数据库图像。我们使用剑桥地标的前 20 张检索图像和 7Scenes 的前 1 张检索图像,并利用已知的查询内在要素。关于不使用地面真实内在参数的结果,请参阅 E 节的附录。

在表 1 中,我们针对两个数据集的每个场景将我们的结果与最新技术进行了比较。我们的方法获得了与现有方法相当的精度,无论是特征匹配方法 [100, 102] 还是基于端到端学习的方法 [11, 54, 101, 124, 151],甚至在某些情况下还能超越 HLoc [100] 等强大的基准方法。我们认为这有两个重要原因。首先,DUSt3R 从未接受过任何视觉定位训练。其次,在 DUSt3R 的训练过程中,我们既没有看到查询图像,也没有看到数据库图像。

多视觉姿态估计

现在,我们将评估 DUSt3R 在 3.4 节进行全局配准后的多视角相对姿态估计。数据集。按照文献 [139],我们使用 CO3Dv2 [93] 和 RealEstate10k [185] 两个多视角数据集进行评估。CO3Dv2 包含从大约 37k 个视频中提取的 600 万帧图像,涵盖 51 个 MS-COCO 类别。使用 COLMAP 对每段视频中的 200 个帧进行了地面真实摄像机姿势注释。RealEstate10k 是一个室内/室外数据集,从 YouTube 上的约 8 万个视频片段中提取了 1 千万帧,摄像机姿势是通过 SLAM 和捆绑调整获得的。我们按照 [139] 中介绍的协议,在 CO3Dv2 的 41 个类别和 RealEstate10k 测试集中的 1.8K 视频片段上对 DUSt3R 进行了评估。对于每个序列,我们随机选择 10 个帧,并将所有可能的 45 对帧输入 DUSt3R。

基准和度量。我们将通过 PnP-RANSAC 或全局配准获得的 DUSt3R 姿态估计结果与基于学习的 RelPose [176]、PoseReg [139] 和 PoseDiffusion [139],以及基于结构的 PixSFM [58]、COLMAP+SPSG(COLMAP [106] 扩展了 SuperPoint [26] 和 SuperGlue [99])进行了比较。与文献[139]类似,我们报告每对图像的相对旋转精度(RRA)和相对平移精度(RTA),以评估相对姿态误差,并选择阈值 τ = 15 来报告 RTA@15 和 RRA@15。此外,我们还计算了平均精度(mAA)@30,其定义为最小值(RRA@30,RTA@30)处角度差异的曲线下面积精度。

结果如表 2 所示。如表 2 所示,采用全局配准的 DUSt3R 在两个数据集上取得了最佳的整体性能,大大超过了最先进的 PoseDiffusion [139]。此外,采用 PnP 的 DUSt3R 也比现有的学习方法和基于结构的方法表现出更优越的性能。值得注意的是,PoseDiffusion 的 RealEstate10K 结果是在 CO3Dv2 上训练出来的模型。尽管如此,考虑到在 DUSt3R 的训练过程中也没有使用 RealEstate10K,我们认为我们的比较是合理的。我们还在附录(D 章)中报告了在输入视图较少(3 到 10 个之间)的情况下的性能,在这种情况下,DUSt3R 在两个基准测试中都取得了优异的成绩。

单目深度

对于这项单目任务,我们只需将相同的输入图像 I 作为 F(I,I)输入网络即可。根据设计,深度预测只是预测三维点图中的 Z 坐标。

数据集和衡量标准。我们在以下平台上对 DUSt3R 进行了基准测试两个室外数据集(DDAD [40]、KITTI [35])和三个室内数据集(NYUv2 [114]、BONN [79]、TUM [118])。我们将 DUSt3R 的性能与最先进的方法进行了比较,这些方法分为监督式、自监督式和零拍摄式,最后一类与 DUSt3R 相对应。我们使用了单目深度评估中常用的两个指标[6, 116]:目标 y 与预测值 ˆy 之间的绝对相对误差 AbsRel(AbsRel = |y - ˆy|/y),以及预测阈值精度 δ = max(ˆy/y, y/ˆy)< 1.25。

结果。在零镜头设置中,最新的 SlowTv [116] 代表了目前的技术水平。这种方法收集了大量城市、自然、合成和室内场景的混合数据集,并训练了一个通用模型。对于混合物中的每个数据集,摄像机参数都是已知的,或者是用 COLMAP 估算的。如表 2 所示,DUSt3R 能够很好地适应室外和室内环境。它的表现优于自监督基线 [6、37、120],与最先进的监督基线 [90、173] 不相上下。

多视觉深度

我们评估了DUSt3R的多视图立体深度估计任务。同样,我们将深度图提取为预测点图的 z 坐标。在同一张图像有多个深度图的情况下,我们重新调整所有预测以将它们对齐在一起,并通过按置信度加权的简单平均来聚合所有预测。

数据集和指标。继[109]之后,我们在DTU[1]、ETH3D [108]、Tanks and Temples [49]和ScanNet [23]数据集上对其进行了评估。我们报告了每个测试集的绝对相对误差 (rel) 和内利尔比 (τ),阈值为 1.03,以及所有测试集的平均值。请注意,我们既不利用地面实况相机参数和姿势,也不利用地面实况深度范围,因此我们的预测仅在比例因子内有效。因此,为了进行定量测量,我们使用预测深度的中位数和真实深度的中位数来归一化预测,正如[109]所倡导的那样。

结果。我们在表 3 中观察到,DUSt3R 在 ETH-3D 上实现了最先进的精度,并且总体上优于最新的最先进的方法,即使是那些使用地面实况相机姿势的方法也是如此。从时间上看,我们的方法也比传统的COLMAP管道快得多[105,106]。这展示了我们的方法在各种领域的适用性,无论是室内、室外、小规模还是大规模场景,而自列车分裂以来,除了 ScanNet 测试集外,没有在测试领域接受过训练是 Habitat 数据集的一部分。

3D重建

最后,我们测量了在第 3.4 节中描述的全局对齐程序之后获得的完整重建的质量。我们再次强调,我们的方法是第一个启用全局无约束MVS的方法,从某种意义上说,我们对相机的内在和外在参数没有先验知识。为了量化重建的质量,我们只需将预测与地面实况坐标系对齐即可。这是通过将参数固定为第 3.4 节中的常量来完成的。这导致在地面实况坐标系中表示的一致的 3D 重建。

数据集和指标。我们在 DTU [1] 数据集上评估了我们的预测。我们在零样本设置中应用我们的网络,即我们不对 DTU 列车集进行微调并按原样应用我们的模型。在表 4 中,我们报告了基准作者提供的平均准确率、平均完整性和总体平均误差指标。重建形状的点的精度定义为到地面实况的最小欧几里得距离,而地面实况点的完整性定义为到重建形状的最小欧几里得距离。总体只是前两个指标的平均值。

结果。我们的方法没有达到最佳方法的准确度水平。在我们的辩护中,这些方法都利用——年龄 GT 在适用的情况下专门在 DTU 列车上摆姿势和训练。此外,这项任务的最佳结果通常是通过亚像素精确的三角测量获得的,需要使用明确的相机参数,而我们的方法依赖于回归,众所周知,回归的准确性较低。然而,在没有事先了解相机的情况下,我们达到了 2.7 毫米的平均精度,完整性为 0.8 毫米,整体平均距离为 1.7 毫米。考虑到我们方法的即插即用性质,我们相信这种准确性水平在实践中非常有用。

结论

我们提出了一种新颖的范式,不仅可以在没有场景或摄像机的先验信息的情况下解决野外 3D 重建问题,还可以解决各种 3D 视觉任务。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/430512.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

微信小程序-2

数据绑定 index.js Page({data: {info: hello world,randomNumber: Math.random() * 10,imgSrc:http://www.itheima.com/images/logo.png} })index.wxml <view>{{ info }}</view><view>{{ randomNumber > 5 ? 随机数大于等于5 : 随机数小于5 }}</v…

HarmonyOS—HAP唯一性校验逻辑

HAP是应用安装的基本单位&#xff0c;在DevEco Studio工程目录中&#xff0c;一个HAP对应一个Module。应用打包时&#xff0c;每个Module生成一个.hap文件。 应用如果包含多个Module&#xff0c;在应用市场上架时&#xff0c;会将多个.hap文件打包成一个.app文件&#xff08;称…

JeecgBoot Vue3前端项目性能优化按需加载方案

JeecgBoot vue3前端项目在 3.5.5 版本之前&#xff0c;的确存在很严重的性能问题&#xff0c;大家可以参考以下文档进行升级。 按需加载改造方法 1、全局注册地方去掉2、组件改成异步注册3、用不到的大组件可以删掉 【精简项目方案】 大组件 1、富文本 tinyme2、Markdown3、…

深度学习算法优化流程

深度学习算法的一般优化流程&#xff0c;具体的实施方法和步骤可能会根据具体任务和数据的特点而有所不同&#xff0c;优化流程通常包括以下几个主要步骤&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作…

中文文本分类_1(pytorch 实现)

import torch import torch.nn as nn import torchvision from torchvision import transforms, datasets import os, PIL, pathlib, warningswarnings.filterwarnings("ignore") # 忽略警告信息# win10系统 device torch.device("cuda" if torch.cuda.i…

(1)预处理

我们需要的文件结构如上 main.cpp add.h add.cpp add.h 这里使用riscv的工具链编译为.i文件&#xff0c;需要使用-E&#xff0c;就是只进行预处理&#xff0c;我们可以得到两个.i文件即main.i和add.i main.i 这里看到main.i里头文件全部替换&#xff0c;然后多了三万多行 所以…

【C++第三课 - 类和对象中】构造函数、析构函数、拷贝构造函数

目录 类的6个默认成员函数构造函数自己写的构造函数默认生成的构造函数 析构函数概念特征 拷贝构造函数特征 运算符重载 、 >、 < 赋值重载Date类的完善构造函数的完善用复用 类的6个默认成员函数 默认成员函数&#xff1a;不写编译器也会默认生成一份 构造函数 自己…

uniapp制作--简单的tab切换

一、实现思路 在UniApp中&#xff0c;可以使用v-if来控制Tab栏并进行切换。 创建一个方法来控制点击时的效果。 二、实现步骤 ①view部分展示 <!-- tab选项 --><view class"select-area"><view class"select-top"><view clas…

恒创科技2024开年采购海外服务器配置及价格汇总

喜迎龙年&#xff0c;开年采购开好局。值企业开工采购浪潮来袭之际&#xff0c;为进一步满足个人开发者到中小企业等各类型用户的选购需求&#xff0c;中国香港及亚太数据中心领先服务商恒创科技启动了“ 2024 开年采购开好局”大促活动&#xff0c;该活动已于 3 月 5 日正式上…

消费品亚马逊化学测试要求有哪些?RSL,双酚A(BPA)REACH,CPSIA等

消费品亚马逊化学测试要求有&#xff1a;RSL&#xff0c;双酚A&#xff08;BPA&#xff09;REACH&#xff0c;CPSIA&#xff0c;加州65&#xff0c;等 亚马逊对所有在其官方网站上架产品的化学物质和重金属限制&#xff0c;以及亚马逊如何检查符合欧盟和美国的消费品法规中的第…

【科研基础】插图摘录

FedSL: Federated Split Learning for Collaborative Healthcare Analytics on Resource-Constrained Wearable IoMT Devices Blockchain-Based Trustworthy and Efficient Hierarchical Federated Learning for UAV-Enabled IoT Networks

langchain学习笔记(十一)

关于langchain中的memory&#xff0c;即对话历史&#xff08;message history&#xff09; 1、 Add message history (memory) | &#x1f99c;️&#x1f517; Langchain RunnableWithMessageHistory&#xff0c;可用于任何的chain中添加对话历史&#xff0c;将以下之一作为…

怎么采集GBK或GB2312等特殊字符编码的网站数据

如果要采集的网站是GBK或GB2312等特殊字符编码&#xff0c;采集结果可能是一堆看不懂的文字或乱码&#xff0c;无法使用。 通常网页文章采集工具有字符编码选项&#xff0c;默认是UTF-8&#xff08;现在大部分网站都是&#xff09;&#xff0c;改选为GBK或GB2312字符编码即可&…

c++数据结构算法复习基础-- 3 --线性表-单向链表-笔试面试常见问题

1、单链表逆序 思路图 代码实现 //著: 链表结构里记得加 friend void ReverseLink(Clink& link); void ReverseLink(Clink& link) {Node* p link.head_->next_;while( p nullptr){return;}Node* q p->next_;link.head_->next_ nullptr;while(p ! nullpt…

Java解决杨辉三角

Java解决杨辉三角 01 题目 给定一个非负整数 *numRows&#xff0c;*生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中&#xff0c;每个数是它左上方和右上方的数的和。 示例 1: 输入: numRows 5 输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]示例 2: 输入: numRo…

亚信安慧AntDB:编织数据丝路,缔造创新篇章

亚信安慧AntDB作为一款具备国产化升级改造经验的数据库系统&#xff0c;在15年的平稳运行中积累了丰富经验。通过持续的创新和技术进步&#xff0c;AntDB不断优化性能和功能&#xff0c;满足用户的需求&#xff0c;与国际先进数据库系统保持竞争力。 AntDB秉承着与用户和行业保…

结合大象机器人六轴协作机械臂myCobot 280 ,解决特定的自动化任务和挑战!(下)

Limo Pro 小车建图导航 引言 前景提要&#xff1a;我们在上文介绍了使用LIMO cobot 实现一个能够执行复杂任务的复合机器人系统的应用场景的项目&#xff0c;从以下三个方面&#xff1a;概念设计、系统架构以及关键组件。 本文主要深入项目内核的主要部分&#xff0c;同样也主要…

python自动化管理和zabbix监控网络设备(zabbix部署监控网络设备以及验证部分)

目录 前言 一、Zabbix搭建 二、FW1 三、python脚本 四、core-sw1 五、core-sw2 六、DMZ-sw1 前言 详细配置视频解析访问&#xff1a;白帽小丑的个人空间-白帽小丑个人主页-哔哩哔哩视频 一、Zabbix搭建 sed -i s/SELINUXenforcing/SELINUXdisable/ /etc/selinux/config…

力扣——盛最多水的容器

题目描述&#xff1a; 给定一个长度为 n 的整数数组 height 。有 n 条垂线&#xff0c;第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线&#xff0c;使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明&#xff1a;…

【论文笔记】Gemma: Open Models Based on Gemini Research and Technology

Gemma 日期: March 5, 2024 平台: CSDN, 知乎 状态: Writing Gemma: Open Models Based on Gemini Research and Technology 谷歌最近放出的Gemma模型【模型名字来源于拉丁文gemma&#xff0c;意为宝石】采用的是与先前Gemini相同的架构。这次谷歌开源了两个规模的模型&…
最新文章