隻需 2 張圖片,無需測量任何額外數據——
當當,一個完整的 3D 小熊就有了:
這個名爲DUSt3R的新工具,火得一塌糊塗,才上線沒多久就登上GitHub 熱榜第二。
有網友實測,拍兩張照片,真的就重建出了他家的廚房,整個過程耗時不到 2 秒鍾!
(除了 3D 圖,深度圖、置信度圖和點雲圖它都能一并給出)
驚得這位朋友直呼:
大夥先忘掉 sora吧,這才是我們真正看得見摸得着的東西。
實驗顯示,DUSt3R 在單目 / 多視圖深度估計以及相對位姿估計三個任務上,均取得 SOTA。
作者團隊(來自芬蘭阿爾托大學 +NAVER LABS 人工智能研究所歐洲分所)的 " 宣語 " 也是氣勢滿滿:
我們就是要讓天下沒有難搞的 3D 視覺任務。
所以,它是如何做到?
"all-in-one"
對于多視圖立體重建(MVS)任務來說,第一步就是估計相機參數,包括内外參。
這個操作很枯燥也很麻煩,但對于後續在三維空間中進行三角測量的像素不可或缺,而這又是幾乎所有性能比較好的 MVS 算法都離不開的一環。
在本文研究中,作者團隊引入的 DUSt3R 則完全采用了截然不同的方法。
它不需要任何相機校準或視點姿勢的先驗信息,就可完成任意圖像的密集或無約束 3D 重建。
在此,團隊将成對重建問題表述爲點圖回歸,統一單目和雙目重建情況。
在提供超過兩張輸入圖像的情況下,通過一種簡單而有效的全局對準策略,将所有成對的點圖表示爲一個共同的參考框架。
如下圖所示,給定一組具有未知相機姿态和内在特征的照片,DUSt3R 輸出對應的一組點圖,從中我們就可以直接恢複各種通常難以同時估計的幾何量,如相機參數、像素對應關系、深度圖,以及完全一緻的 3D 重建效果。
(作者提示,DUSt3R 也适用于單張輸入圖像)
具體網絡架構方面,DUSt3R 基于的是标準 Transformer 編碼器和解碼器,受到了 CroCo(通過跨視圖完成 3D 視覺任務的自我監督預訓練的一個研究)的啓發,并采用簡單的回歸損失訓練完成。
如下圖所示,場景的兩個視圖(I1,I2)首先用共享的 ViT 編碼器以連體(Siamese)方式進行編碼。
所得到的 token 表示(F1 和 F2)随後被傳遞到兩個 Transformer 解碼器,後者通過交叉注意力不斷地交換信息。
最後,兩個回歸頭輸出兩個對應的點圖和相關的置信圖。
重點是,這兩個點圖都要在第一張圖像的同一坐标系中進行表示。
多項任務獲 SOTA
實驗首先在 7Scenes(7 個室内場景)和 Cambridge Landmarks(8 個室外場景)數據集上評估 DUSt3R 在絕對姿态估計任務上性能,指标是平移誤差和旋轉誤差(值越小越好)。
作者表示,與現有其他特征匹配和端到端方法相比,DUSt3R 表現算可圈可點了。
因爲它一從未接受過任何視覺定位訓練,二是在訓練過程中,也沒有遇到過查詢圖像和數據庫圖像。
其次,是在 10 個随機幀上進行的多視圖姿态回歸任務。結果 DUSt3R 在兩個數據集上都取得了最佳效果。
而單目深度估計任務上,DUSt3R 也能很好地 hold 室内和室外場景,性能優于自監督基線,并與最先進的監督基線不相上下。
在多視圖深度估計上,DUSt3R 的表現也可謂亮眼。
以下是兩組官方給出的 3D 重建效果,再給大夥感受一下,都是僅輸入兩張圖像:
(一)
(二)
網友實測:兩張圖無重疊也行
有網友給了 DUSt3R 兩張沒有任何重疊内容的圖像,結果它也在幾秒内輸出了準确的 3D 視圖:
(圖片是他的辦公室,所以肯定沒在訓練中見過)
對此,有網友表示,這意味着該方法不是在那進行 " 客觀測量 ",而是表現得更像一個 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