兩張圖2秒鐘3D重建!這款AI工具火爆GitHub,網友:忘掉Sora
只需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