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

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

DUSt3R_人工智能

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

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

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

DUSt3R_基线_02

惊得这位朋友直呼:

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

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

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

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

所以,它是如何做到?

“all-in-one”

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

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

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

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

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

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

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

DUSt3R_3D_03

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

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

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

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

DUSt3R_多视图_04

 

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

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

多项任务获SOTA

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

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

DUSt3R_3D_05

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

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

DUSt3R_基线_06

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

DUSt3R_基线_07

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

DUSt3R_基线_08

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

(一)

DUSt3R_基线_09

(二)

DUSt3R_多视图_10

DUSt3R_多视图_11

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

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

DUSt3R_3D_12

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

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

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

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

传送门:
[1]论文https://arxiv.org/abs/2312.14132 
[2]代码https://github.com/naver/dust3r
参考链接:
[1]https://dust3r.europe.naverlabs.com/
[2]https://twitter.com/janusch_patas/status/1764025964915302400