Stability AI開源上新:3D生成引入視頻擴散模型,質量一致性up,4090可玩
Stable Diffusion背后公司Stability AI又上新了。
這次帶來的是圖生3D方面的新進展:
基于Stable Video Diffusion的Stable Video 3D(SV3D),只用一張圖片就能生成高質量3D網格。
Stable Video Diffusion(SVD)是Stability AI此前推出的高分辨率視頻生成模型。也就是說,此番登場的SV3D首次將視頻擴散模型應用到了3D生成領域。
官方表示,基于此,SV3D大大提高了3D生成的質量和視圖一致性。
模型權重依然開源,不過僅可用于非商業(yè)用途,想要商用的話還得買個Stability AI會員~
話不多說,還是來扒一扒論文細節(jié)。
將視頻擴散模型用于3D生成
引入潛在視頻擴散模型,SV3D的核心目的是利用視頻模型的時間一致性來提高3D生成的一致性。
并且視頻數(shù)據(jù)本身也比3D數(shù)據(jù)更容易獲得。
Stability AI這次提供兩個版本的SV3D:
- SV3D_u:基于單張圖像生成軌道視頻。
- SV3D_p:擴展了SV3D_u的功能,可以根據(jù)指定的相機路徑創(chuàng)建3D模型視頻。
研究人員還改進了3D優(yōu)化技術:采用由粗到細的訓練策略,優(yōu)化NeRF和DMTet網格來生成3D對象。
他們還設計了一種名為掩碼得分蒸餾采樣(SDS)的特殊損失函數(shù),通過優(yōu)化在訓練數(shù)據(jù)中不直接可見的區(qū)域,來提高生成3D模型的質量和一致性。
同時,SV3D引入了一個基于球面高斯的照明模型,用于分離光照效果和紋理,在保持紋理清晰度的同時有效減少了內置照明問題。
具體到架構方面,SV3D包含以下關鍵組成部分:
- UNet:SV3D是在SVD的基礎上構建的,包含一個多層UNet,其中每一層都有一系列殘差塊(包括3D卷積層)和兩個分別處理空間和時間信息的Transformer模塊。
- 條件輸入:輸入圖像通過VAE編碼器嵌入到潛在空間中,會和噪聲潛在狀態(tài)合并,一起輸入到UNet中;輸入圖像的CLIP嵌入矩陣則被用作每個Transformer模塊交叉注意力層的鍵值對。
- 相機軌跡編碼:SV3D設計了靜態(tài)和動態(tài)兩種類型的軌道來研究相機姿態(tài)條件的影響。靜態(tài)軌道中,相機以規(guī)律間隔的方位角圍繞對象;動態(tài)軌道則允許不規(guī)則間隔的方位角和不同的仰角。
相機的運動軌跡信息和擴散噪聲的時間信息會一起輸入到殘差模塊中,轉換為正弦位置嵌入,然后這些嵌入信息會被整合并進行線性變換,加入到噪聲時間步長嵌入中。
這樣的設計旨在通過精細控制相機軌跡和噪聲輸入,提升模型處理圖像的能力。
此外,SV3D在生成過程中采用CFG(無分類器引導)來控制生成的清晰度,特別是在生成軌道的最后幾幀時,采用三角形CFG縮放來避免過度銳化。
研究人員在Objaverse數(shù)據(jù)集上訓練SV3D,圖像分辨率為575×576,視場角為33.8度。論文透露,所有三種模型(SV3D_u,SV3D_c,SV3D_p)在4個節(jié)點上訓練了6天左右,每個節(jié)點配備8個80GB的A100 GPU。
實驗結果
在新視角合成(NVS)和3D重建方面,SV3D超過了現(xiàn)有其他方法,達到SOTA。
從定性比較的結果來看,SV3D生成的多視角試圖,細節(jié)更豐富,更接近與原始輸入圖像。也就是說,SV3D在理解和重構物體的3D結構方面,能夠更準確地捕捉到細節(jié),并保持視角變換時的一致性。
這樣的成果,引發(fā)了不少網友的感慨:
可以想象,在未來6-12個月內,3D生成技術將會被用到游戲和視頻項目中。
評論區(qū)也總少不了一些大膽的想法……
并且項目開源嘛,已經有第一波小伙伴玩上了,在4090上就能跑起來。
參考鏈接:
[1]https://twitter.com/StabilityAI/status/1769817136799855098。
[2]https://stability.ai/news/introducing-stable-video-3d。
[3]https://sv3d.github.io/index.html。