DUSt3R:简化三维重建

news2024/9/25 7:16:10

3D 重建是从二维 (2D) 图像创建对象或场景的 3D 虚拟表示的任务,可用于模拟、可视化或本地化等多种目的。 它广泛应用于计算机视觉、机器人和虚拟现实(VR)等多个领域。 在基本设置中,3D 重建方法输入一对图像 I1 和 I2,并输出两个图像的深度图 D1 和 D2,以及它们之间的相对姿态 P,如下图 1 所示。

图 1:以 4 个图像作为输入的 3D 重建,以输入图像的姿势作为输出的重建 3D 场景。

如果两个图像的相机参数(内在参数)已知,则当前最先进的多视图立体重建 (MVS) 方法(例如 DeMoN [1] 和 DeepV2D [2])可以完成此任务,如视频 1 所示。 ,不仅需要提供内在函数,而且做出良好估计的过程相当繁琐,并且经常容易出错。

视频 1:一种 3D 重建方法,以一对图像 I1 和 I2 作为输入,以深度图 D1 和 D2 作为输出,加上它们之间的相对姿态 P。

如果相机参数未知或估计不当,则 3D 重建会失败,如视频 2 所示。

视频 2:如果相机内在参数未知或估计不当,现有最先进的方法将无法重建 3D 场景。

DUSt3R方法更简单的主要优点是,通过直接对图像内容进行操作,它可以估计图像深度D1、D2和姿态P,并在不知道相机参数的情况下生成完整的3D重建。

视频 3:说明 DUSt3R 在不了解相机参数的情况下如何工作,这与现有的最先进方法相反

1、DUSt3R 的工作原理

DUSt3R 不受约束,因为它解决了在没有相机参数或视点姿势信息的情况下从图像进行 3D 重建的挑战。 该系统的工作原理是将成对重建制定为点图回归,这使其与标准投影相机模型有很大不同。 该网络有效地从图像对中解码出具有丰富几何细节的点图,从而简化了提取详细场景几何图形的过程。

网络架构基于标准 Transformer 编码器和解码器,这意味着我们可以利用现有强大的预训练模型。 我们的公式直接提供场景的 3D 模型以及深度信息,但我们还可以无缝恢复像素匹配以及相对和绝对相机姿势。

图 2:DUSt3R 架构显示了如何首先使用共享 ViT 编码器以连体方式对场景的两个视图(I1、I2)进行编码。 然后将生成的 token 表示 F1 和 F2 传递给两个 Transformer 解码器,它们通过交叉注意力不断交换信息。 最后,两个回归头输出两个相应的点图和相关的置信度图。 重要的是,这两个点图在第一图像 I1 的相同坐标系中表示。 使用简单的回归损失来训练网络。

2、从两个相反的图像重建

下面是从物体几乎相反的视点进行 3D 重建的几个示例。 对于每种情况(长凳、摩托车和烤面包机),我们都会显示两个输入图像和动画可视化视频。 即使图像之间几乎没有重叠的视觉内容:

DUSt3R 也能轻松处理剧烈的视点变化,例如摩托车:

视频 4:左侧是来自几乎相反视点的物体的 2 个输入图像,右侧是 DUSt3R 生成的 3D 可视化输出。

3、从一张图像重建

DUSt3R 甚至能够从单个图像重建 3D 场景,如下图 3 所示:

图 3:使用 DUST3R 从单个图像进行 3D 重建。 这张图片是一幅 17 世纪荷兰画作“圣杰罗姆在他的书房中,小亨德里克·范·斯滕韦克在橡木上的油画,1630 年”(维基共享资源)。

4、多视角全局优化

在提供多个视图的情况下,DUSt3R 提出了一种简单而有效的全局优化策略,该策略在公共参考系中表达所有成对点图:

视频 5:全局优化过程的动画,在公共参考系中表达所有成对点图。

5、将多个任务集成到单个管道中

DUSt3R 最重要的功能是能够将传统上单独处理的各种 3D 视觉任务统一到一个简化的管道中。 DUSt3R 架构利用预训练模型和完全数据驱动的方法来学习强大的几何和形状先验。 此过程会产生场景的直接 3D 模型,这些模型也适用于深度和姿态估计、视觉定位和多视图 3D 重建等任务。

图 4:DUSt3R 方法输出 3D 模型,这些模型适用于单个管道中的许多不同任务,到目前为止,这些任务都是单独处理的。

6、评价结果

DTU、Tanks and Temples 和 ETH3D 等数据集的实验结果表明,DUSt3R 在相机参数未知的情况下也能工作。 该网络可以处理单眼重建并在公共参考系中对齐多个图像对。 评估将 DUSt3R 定位为设定新标准,在包括多视图/单目深度估计和相机姿态估计在内的一系列任务中实现最先进的结果。 下面的表 1 将 DUSt3R 与 CO3Dv2 和 RealEst10K 数据集上的多视图姿态回归任务中最先进的方法进行了比较(详细信息请参阅论文 [3])。

表 1:该表比较了从 PnP-RANSAC (w/PnP) 或全局对齐 (GA) 获得的 DUSt3R 姿态估计结果与基于学习的 RelPose、Colmap+SPSG、基于结构的 PixSFM、PoseReg 和 PoseDiffusion。

7、结束语

DUSt3R 代表了 3D 几何视觉的重大进步,比传统方法有了显着的简化。 结果强调了其在处理各种 3D 视觉挑战方面的潜力和多功能性,而无需进行详尽而细致的估计和校准相机参数的步骤,这代表着 3D 重建领域的未来发展向前迈出了重要一步。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

安装nginx和PHP

首先规划四台虚拟机,之前的主从数据库已经两台,其余两台,一个设置nginx,一个是php 首先NGINX的概念,请参考https://blog.csdn.net/hyfsbxg/article/details/122322125。正向代理,反向代理,可以…

(C语言) print输出函数系列介绍

(C语言) print输出函数系列介绍 文章目录 (C语言) print输出函数系列介绍前言输出系列函数🖨️printf🖨️sprintf & snprintf🖨️fprintf🖨️vprintf🖨️dprintf🖨️puts🖨️fputs&#x1f…

【C语言】基本语法知识C语言函数操作符详解

主页:醋溜马桶圈-CSDN博客 专栏:C语言_醋溜马桶圈的博客-CSDN博客 gitee:mnxcc (mnxcc) - Gitee.com 目录 1.基本语法 1.1 代码解释 1.1.1 main()主函数 1.1.2 int 1.1.3 { } 1.1.4 printf()库函数 1.1.5 stdio.h头文件 1.2 C语言的…

js 输出负数的个数,和所有正整数的平均值。

首先输入要输入的整数个数n,然后输入n个整数。输出为n个整数中负数的个数,和所有正整数的平均值,结果保留一位小数。 0即不是正整数,也不是负数,不计入计算。如果没有正数,则平均值为0。输入 11 1 2 3 4 5 …

雷池 WAF 社区版:下一代 Web 应用防火墙的革新

黑客的挑战 智能语义分析算法: 黑客们常利用复杂技术进行攻击,但雷池社区版的智能语义分析算法能深入解析攻击本质,即使是最复杂的攻击手法也难以逃脱。 0day攻击防御: 传统防火墙难以防御未知攻击,但雷池社区版能有效…

Delphi7应用教程学习1.3【练习题目】:文本及悬停文字的显示

这个例子主要用到了btn的Hint 属性,Hint是提示的意思。 还有Delphi7还是很好用的,改变了的属性是粗体,默认没有改变的属性为细体。

项目中如何获取Java运行环境中的文件内容

业务场景:获取Java运行环境下的hsminfo.properties文件中,获取key为TESTRSAKEY的值 步骤: 1、获取Java运行环境的根目录,一般是jdk包下的jre文件; 2、通过File.separator拼接运行环境的根路径及目标文件的的名称&am…

SQL查询早于到期时间的数据

遇到个需求是需要查询有效的一些数据&#xff0c;所以要以到期时间作为过滤条件&#xff0c;把到期时间大于到期时间的数据返回&#xff1b; -- 查询早于当前时间 SELECT * FROM jc_tmp t WHERE t.expiration_time > now() 可以直接用 < > 即可 到期时间是now( ) …

实战纪实 | 记一次信息泄露到未授权的挖掘

目标 开局一个登录框 打点 尝试爆破&#xff0c;无望 之后查询了一下供应商的归属&#xff0c;发现是xxxx公司 去了公司官网啾啾&#xff0c;发现了一处wiki&#xff0c;不过现在修了&#xff0c;下面是修了的截图 里面翻到了很多有趣的信息 这时候我们拿到了 a / b (分别代…

漫谈5种注册中心

01 注册中心基本概念 1.1 什么是注册中心&#xff1f; 注册中心主要有三种角色&#xff1a; 服务提供者&#xff08;RPC Server&#xff09;&#xff1a;在启动时&#xff0c;向 Registry 注册自身服务&#xff0c;并向 Registry 定期发送心跳汇报存活状态。 服务消费者&…

ideaSSM博物馆网站系统VS开发mysql数据库web结构java编程计算机网页源码maven项目

一、源码特点 idea 开发 SSM 博物馆网站系统是一套完善的信息管理系统&#xff0c;结合SSM框架和bootstrap完成本系统&#xff0c;对理解JSP java编程开发语言有帮助系统采用SSM框架&#xff08;MVC模式开发&#xff09;&#xff0c;系统具有完整的源代码和数据库&#xff0c…

MNN Session 之 Vulkan 算子(八)

系列文章目录 MNN createFromBuffer&#xff08;一&#xff09; MNN createRuntime&#xff08;二&#xff09; MNN createSession 之 Schedule&#xff08;三&#xff09; MNN createSession 之创建流水线后端&#xff08;四&#xff09; MNN Session 之维度计算&#xff08;五…

小米手机蓝牙耳机无声音AACSBC编码故障解决方案

已知环境中蓝牙耳机无声音原因 手机环境&#xff1a;Root Magisk 26.4 最新 27.0 有很多 bug 刷入其他模块会导致永久丢失Root 权限 起初我以为是将手机根目录文件变动导致&#xff0c;最终确定是由于以下模块 magisk-overlayfs3.2-release.zip 作用是解锁 System 分区可读&a…

年度水下蓝牙耳机十大名牌汇集:热销榜TOP游泳耳机揭秘!

近年来&#xff0c;随着运动健身的普及和科技的发展&#xff0c;水下蓝牙耳机逐渐成为游泳爱好者的必备装备。然而市场上各类品牌、型号繁多&#xff0c;如何选择一款适合自己且性价比高的水下蓝牙耳机呢&#xff1f; 为此&#xff0c;我们专门对市面上热销的十大水下蓝牙耳机进…

Halcon 路标牌识别

文章目录 gray_closing_shape 使用选定的掩码执行灰度值关闭create_planar_uncalib_deformable_model 为未校准的透视匹配创建一个可变形的模型get_deformable_model_params 返回可变形模型的参数find_planar_uncalib_deformable_model 在图像中寻找平面投影不变变形模型的最佳…

气压传感器BMP180的简单应用

文章目录 一、BMP1801.介绍2.主要特点&#xff1a;3. 典型应用&#xff1a;4. 原理图5. 典型应用电路6. 测量流程7. 工作模式 二、软件1.初始化2.获取原始温度3.获取真实温度4.获取原始气压5.获取真实气压6.海拔高度的换算 三、总结 一、BMP180 1.介绍 BMP180是一款高精度、小…

【考研数学】全年复习懒人包+资料分享

题主要真是能把这两样做透了&#xff0c;别说90&#xff0c;120都不是问题呀&#xff01;那么我们就先来说说你如何能把这1800做透吧。这可是人称考研数学路上最厚的一本习题册了。经常有人是做到一半就被劝退的&#xff01;假设你是挑题出来做&#xff0c;那也行&#xff0c;不…

ThreaTrace复现记录

1. 环境配置 服务器环境 需要10.2的cuda版本 conda环境 包的版本&#xff1a; python 3.6.13 pytorch 1.9.1 torch-cluster 1.5.9 torch-scatter 2.0.9 torch-sparse 0.6.12 torch-spline-conv 1.2.1 torch-geometric 1.4.3 环境bug 这里环境搭建好以后&#xff0c;就可以正…

ssm基于Vue.js的在线购物系统的设计与实现论文

摘 要 随着科学技术的飞速发展&#xff0c;各行各业都在努力与现代先进技术接轨&#xff0c;通过科技手段提高自身的优势&#xff1b;对于在线购物系统当然也不能排除在外&#xff0c;随着网络技术的不断成熟&#xff0c;带动了在线购物系统&#xff0c;它彻底改变了过去传统的…

【数据结构】——线性表(顺序表加链表),万字解读(加链表oj详解)

前言 由于之前存在过对两者的区别考虑&#xff0c;所以把他们放在一起来说&#xff0c;更加容易区别和理解 对于有关线性表的概念这里就不展示了&#xff0c;这里主要是介绍线性表里面的这两个结构的知识点 一.顺序表 1.顺序表介绍 顺序表的存储结构和逻辑结构都是相邻的&a…