2张图2秒钟3D重建!这款AI工具火爆GitHub,网友:忘掉Sora

news/2025/2/12 8:33:05/

只需2张图片,无需测量任何额外数据——

当当,一个完整的3D小熊就有了:

图片

这个名为DUSt3R的新工具,火得一塌糊涂,才上线没多久就登上GitHub热榜第二。

图片

▲image

网友实测,拍两张照片,真的就重建出了他家的厨房,整个过程耗时不到2秒钟!

(除了3D图,深度图、置信度图和点云图它都能一并给出)

图片

惊得这位朋友直呼:

大伙先忘掉sora吧,这才是我们真正看得见摸得着的东西。

图片

▲image

实验显示,DUSt3R在单目/多视图深度估计以及相对位姿估计三个任务上,均取得SOTA。

作者团队(来自芬兰阿尔托大学+NAVER LABS人工智能研究所欧洲分所)的“宣语”也是气势满满:

我们就是要让天下没有难搞的3D视觉任务。

所以,它是如何做到?

“all-in-one”

对于多视图立体重建(MVS)任务来说,第一步就是估计相机参数,包括内外参。

这个操作很枯燥也很麻烦,但对于后续在三维空间中进行三角测量的像素不可或缺,而这又是几乎所有性能比较好的MVS算法都离不开的一环。

在本文研究中,作者团队引入的DUSt3R则完全采用了截然不同的方法。

不需要任何相机校准或视点姿势的先验信息,就可完成任意图像的密集或无约束3D重建。

在此,团队将成对重建问题表述为点图回归,统一单目和双目重建情况。

在提供超过两张输入图像的情况下,通过一种简单而有效的全局对准策略,将所有成对的点图表示为一个共同的参考框架。

如下图所示,给定一组具有未知相机姿态和内在特征的照片,DUSt3R输出对应的一组点图,从中我们就可以直接恢复各种通常难以同时估计的几何量,如相机参数、像素对应关系、深度图,以及完全一致的3D重建效果。

图片

▲(作者提示,DUSt3R也适用于单张输入图像)

具体网络架构方面,DUSt3R基于的是标准Transformer编码器和解码器,受到了CroCo(通过跨视图完成3D视觉任务的自我监督预训练的一个研究)的启发,并采用简单的回归损失训练完成。

如下图所示,场景的两个视图(I1,I2)首先用共享的ViT编码器以连体(Siamese)方式进行编码。

所得到的token表示(和)随后被传递到两个Transformer解码器,后者通过交叉注意力不断地交换信息。

图片

▲image

最后,两个回归头输出两个对应的点图和相关的置信图。

重点是,这两个点图都要在第一张图像的同一坐标系中进行表示。

多项任务获SOTA

实验首先在7Scenes(7个室内场景)和Cambridge Landmarks(8个室外场景)数据集上评估DUSt3R在绝对姿态估计任务上性能,指标是平移误差和旋转误差(值越小越好)。

作者表示,与现有其他特征匹配和端到端方法相比,DUSt3R表现算可圈可点了。

图片

▲image

因为它一从未接受过任何视觉定位训练,二是在训练过程中,也没有遇到过查询图像和数据库图像。

其次,是在10个随机帧上进行的多视图姿态回归任务。结果DUSt3R在两个数据集上都取得了最佳效果。

图片

▲image

而单目深度估计任务上,DUSt3R也能很好地hold室内和室外场景,性能优于自监督基线,并与最先进的监督基线不相上下。

图片

▲image

在多视图深度估计上,DUSt3R的表现也可谓亮眼。

图片

▲image

以下是两组官方给出的3D重建效果,再给大伙感受一下,都是仅输入两张图像:

(一)

图片

▲image

(二)

图片

网友实测:两张图无重叠也行

有网友给了DUSt3R两张没有任何重叠内容的图像,结果它也在几秒内输出了准确的3D视图:

图片

▲image

(图片是他的办公室,所以肯定没在训练中见过)

图片

▲image

对此,有网友表示,这意味着该方法不是在那进行“客观测量”,而是表现得更像一个AI。

图片

▲image

除此之外,还有人好奇当输入图像是两个不同的相机拍的时,方法是否仍然有效?

有网友还真试了,答案是yes!

图片

传送门:

论文:
https://arxiv.org/abs/2312.14132

代码:
https://github.com/naver/dust3r

图片

图片

 


http://www.ppmy.cn/news/1371702.html

相关文章

阿里巴巴淘口令API推动电商行业社交化营销创新

阿里巴巴淘口令API(也称为“淘口令”或“淘宝客口令”)是一种用于分享和推广商品或服务的短链接技术,它结合了阿里巴巴集团的电商生态和社交媒体功能,使得用户能够轻松地将商品信息分享到各种社交平台,从而推动电商行业…

将预测的分割结果可视化

一、Login | MaCVi 该网站下注册一个账号,登录进去 二、跑完infer的代码后,在output文件下面存储预测的分割结果mask,将其打包上传到macvi.org相同的赛道 打包tip: #压缩文件 zip -r test.zip file然后利用Xtfp从服务器传输到本地&#xff…

MySQL 学习记录 2

原文:https://blog.iyatt.com/?p13818 13 存储引擎 查看一下前面创建的一张表的创建语句,当时并没有显式指定引擎,MySQL 自动指定的 InnoDB,即默认引擎是这个。 创建表的时候要显式指定引擎可以参考这个语句 查看当前 MySQL …

spring-smart-di 动态切换接口源

0、背景 一般我们系统同一个功能可能会对接多个服务商,防止某个服务商的服务不可用快速切换或者收费不同需要切换,那我们一般做快速切换逻辑传统无非就是先将每个服务商实现,然后在配置点(数据库或者nacos)配置当前正…

性能测试-反编译jar

方法一,使用jd-gui 1、官网下载:Java Decompiler 2、下载mac版本后,解压,如下所示: 双击 JD_GUI,提示错误,如下所示: 已经安装了java 17,是java 1.8以上版本&#xff0…

Emacs快捷键

一.快捷键介绍 CControl MMetaAlt SShift DelBackspace RETEnter 二.窗口调整 增加窗口高度 (enlarge-window): C-x ^, 增加光标所在窗口高度, 先C-x,然后松开按键,在SHIFT ^按键。减小窗口高度 (shrink-window): 减小光标所在窗口高度.增…

293.【华为OD机试】剩余银饰的重量(模拟和贪心算法JavaPythonC++JS实现)

🚀点击这里可直接跳转到本专栏,可查阅顶置最新的华为OD机试宝典~ 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目二.解题思路三.题解代码Python题解代码JAVA题解…

c# 加载图片到img控件

1、加载函数 private Image LoadPicFromPath(string fileName) { Image img null; if (System.IO.File.Exists(fileName)) { Image img Image.FromFile(fileName); System.IO.MemoryStream mStream new Syste…