Transformer解碼真實場景!Meta推出70M參數SceneScript模型 精華
拋棄傳統方法,只采用Transformer來解碼真實場景!
近日,來自Meta的研究人員推出了SceneScript,只需要70M參數,僅采用編碼器解碼器架構,就能將真實世界的場景轉化為幾何表示。
論文地址:https://arxiv.org/pdf/2403.13064.pdf
SceneScript是一種用于表示和推斷場景幾何圖形的方法,使用自回歸結構化語言模型和端到端學習。
SceneScript可以助力AR和AI設備理解物理空間的幾何形狀,比如下面這個演示,利用Aria眼鏡拍攝的素材,SceneScript可以獲取視覺輸入并估計場景元素(墻壁、門窗等)。
是不是感覺一下子走到了虛擬和現實的交界?
用這個技術來幫助開發AR或者MR游戲應該是妥妥的,小編表示期待地搓搓手。
再看下面這個,將SceneScript技術疊加到Meta Quest的顯示畫面上,現實世界瞬間變得方方正正,還挺萌的。
同時我們也可以發現,SceneScript預測的場景元素可以任意擴展,不斷包含進來新的建筑特征、對象,甚至還可以將對象進行分解。
SceneScript是Meta RealityLabs Research的一個研究項目,整個模型分為編碼器和解碼器兩個部分。
其中,點云編碼器由一系列3D稀疏卷積塊組成,這些卷積塊將大點云匯集到少量特征中。
隨后,Transformer解碼器利用編碼器的特征作為交叉注意力的上下文,自回歸生成token。
編碼器和解碼器都只有大約35M參數,整個模型訓練了3天,大約200k次迭代。
模型在實際應用中的推理速度也很不錯,即使直接使用PyTorch中原始的Transformer(未經優化),解碼256個token(相當于一個包含墻壁、門、窗和對象邊界框的中等大小的場景),也只需要大約2-3秒。
SceneScript是完全在模擬器中訓練的,使用Project Aria眼鏡上捕獲的內容序列,而沒有使用真實世界的數據。訓練完成之后,模型又在真實場景中進行了驗證。
另外,在適應其他設備時,也可以針對不同類型鏡頭的不同相機型號對模型進行微調。
不過作者也表示,SceneScript僅在室內場景中進行了訓練,因此對室外場景的推斷可能會導致不可預測的輸出。
目前,SceneScript僅供Meta的內部研究團隊使用。
SceneScript
區別于傳統的將場景描述為網格(meshes),體素網格(voxel grids),點云(point clouds)或輻射場(radiance fields)的傳統方法,
SceneScript使用場景語言編碼器-解碼器架構,直接從編碼的視覺數據中推斷出結構化語言命令集。
工作流程
如上圖所示,給定一個以自我為中心的環境視頻,SceneScript直接預測由結構化場景語言命令組成的3D場景表示。
第一行表示整個工作流程,放大一下就是下面這樣子:
SceneScript先從VR眼鏡等設備中,拿到圖像或點云表示的視覺信息,
然后將視覺信息編碼為描述物理空間的潛在表示形式,
再將潛在表示解碼為簡潔、參數化且可解釋的語言(類似CAD),
最后,3D解釋器將上面的語言轉換為物理空間的幾何表示。
優勢
SceneScript以純文本形式自回歸地預測手工設計的結構化語言命令,這種形式有幾個明顯的優點:
首先,作為純文本,占用空間很小,將大型場景的內存要求降低到只需要幾個字節。
其次,這種命令旨在產生清晰且定義明確的幾何圖形,并且,模型所使用的make_door(*door_parameters)等高級參數命令,在設計上是可解釋、可編輯和語義豐富的。
另外,可以通過簡單地向語言中添加新的結構化命令,來無縫集成新的幾何實體。
最后,這種解決方式也為未來一些潛在的新應用提供了參考,例如編輯場景、查詢場景或者聊天交互。
另外,由于語言模型需要大量數據來訓練響應的結構化語言命令,而對于當前應用沒有合適的數據集。
為了訓練SceneScript,研究人員于是自己造了一個名為Aria Synthetic Environments的大規模合成數據集,該數據集由100k個高質量的室內場景組成,包括以自我為中心的逼真場景演練和對應的標簽。
對于每個場景,使用來自Project Aria的一整套傳感器數據來模擬以自我為中心的軌跡,還包括深度和實例分割,而架構布局的基本事實采用上面提到的自定義的結構化語言命令給出。
上圖展示了Aria生成場景的隨機樣本,顯示了布局、燈光和物體放置的多樣性,以及俯視圖、模擬軌跡(藍色路徑)、深度、RGB和對象實例的渲染,最后是場景點云。
SceneScript可以輕松擴展到新任務,同時保持視覺輸入和網絡架構的固定性。
網絡架構
SceneScript 的管道是一個簡單的編碼器-解碼器體系結構,它使用視頻序列并以標記化格式返回SceneScript語言。
作者研究了三種編碼器變體:點云編碼器、擺姿勢圖像集編碼器和組合編碼器,結果表明,解碼器在所有情況下都保持不變。
編碼器從場景的視頻演練中以1D序列的形式計算潛在場景代碼。解碼器設計為將這些1D序列用作輸入。這樣就可以在一個統一的框架內整合各種輸入模式。
上圖展示了SceneScript的核心管線。原始圖像和點云數據被編碼為潛在代碼,然后自回歸解碼為描述場景的一系列命令。使用自定義構建的解釋器顯示可視化效果。
值得注意的是,對于本文中的結果,點云是使用Aria MPS從圖像中計算出來的,沒有使用專用的RGB-D / 激光雷達傳感器。
實驗結果
上圖為在Aria Synthetic Environments測試集上,SceneScript模型和SOTA方法之間的定性比較。
像SceneCAD這樣的分層方法會受到錯誤級聯的影響,這會導致邊緣預測模塊中缺少元素。而RoomFormer(一種拉伸為3D的2D方法)主要受到輕微捕獲的場景區域的影響,這些區域在密度圖中留下了不明顯的信號。
表中數據給出了Aria合成環境的布局估計,SceneScript方法與近期相關工作之間的定量比較。
本文轉自 新智元 ,作者:新智元
