目前,人工智慧在人類智慧領域迅速發展。在電腦視覺中,影像和視訊生成技術已經日益成熟,如Midjourney、Stable Video Diffusion等模型廣泛應用。然而,三維視覺領域的生成模型仍面臨挑戰。
目前的3D模型生成技術通常基於多角度視訊生成和重建,例如SV3D模型,透過產生多角度視訊並結合神經輻射場(NeRF)或3D高斯光滑模型( 3D Gaussian Splatting技術)逐步建構3D物體。這種方法主要限制在只能產生簡單的、無自遮蔽的三維物體,無法呈現物體內部結構,使得整個生成過程複雜且不完美,顯示出該技術的複雜性和局限性。
究其原因,在於目前缺乏靈活高效且容易泛化的3D Representation (3D表示)。
圖1. X-Ray序列化3D表示
新加坡國立大學(NUS)胡潤博士帶領研究團隊發布了一種全新的3D表現——X射線,它能夠順序化地表現從相機攝像角度看過去的物體的透層次的物體表面形狀和紋理,可以充分利用視頻生成功能來生成模型優勢來產生3D物體,可以同時產生物體的內外3D結構。
本文將詳細展示X-Ray技術的原理、優勢及其廣泛的應用前景。
圖2. 與基於渲染的3D模型產生方法比較。
X-Ray表示:從相機中心開始朝向物體方向的H×W個矩陣點發射射線。在每條射線方向上,逐一記錄與物體的表面相交點的L個包含深度、法向量和顏色等的三維屬性數據,然後將這些數據組織成L×H×W的形式,實現任意3D模型的張量表示,這就是該團隊提出的X-Ray表示方法。
值得注意的是,此表示形式與影片格式一樣,因此可以用影片產生模型做3D生成模型。具體過程如下。
圖3. X-Ray 不同層數的範例樣本。
1.編碼過程: 3D模型轉X-Ray
#給定一個3D模型,通常是三維網格,首先設定一個相機觀測模型,然後透過光線投影演算法(Ray Casting Algorithm)來記錄每個相機射線與物體相交的所有表面的屬性#,包括該表面的深度,法向量,顏色等,為了指示方便,用表示該位置是否存在表面。
然後,取得所有相機射線等相交表麵點,即可得到一個完整的X-Ray 3D表達,如下表達式和圖3所示。
#透過編碼過程,將一個任意的3D模型轉換為X-Ray,它和視訊格式是一樣的,並且具有不同的幀數,通常情況下,幀數L=8 足夠表示一個3D物體。
2.解碼過程:X-Ray轉3D模型
#給定一個X-Ray,也可以透過解碼過程轉換回3D模型,這樣只需要透過生成X-Ray即可產生3D模型。具體過程包括點雲生成過程和點雲重建表面兩個過程。
#其中r_0,r_d分別是相機射線的起點和歸一化方向,透過每個相機射線的處理,就可以得到一個完整的點雲。
為了產生高解析度的多樣化3D X-Ray模型,該團隊使用了與視訊格式相似的視訊擴散模型架構。這個架構可以處理連續的3D訊息,並透過上採樣模組來提高X-Ray的質量,產生高精度的3D輸出。擴散模型負責從雜訊資料逐步產生細節豐富的3D影像,上取樣模組則增強影像解析度和細節,以達到高品質標準。結構具體如圖4所示。
#擴散模型在X-Ray生成中使用潛在空間,通常需要自訂開發向量量化-變分自編碼器(VQ-VAE)[3] 進行資料壓縮,這缺少現成模型的過程增加了訓練負擔。
為有效訓練高解析度產生器,該團隊採用了級聯合成策略,透過技術如Imagen和Stable Cascaded,從低到高解析度逐步訓練,以適應有限的計算資源並提高X-Ray圖像品質。
具體而言,使用Stable Video Diffusion中的3D U-Net架構作為擴散模型,產生低解析度X-Ray,並透過時空注意機制從2D幀和1D時間序列中提取特徵,增強處理和解釋X-Ray能力,這對高品質結果至關重要。
前一階段的擴散模型只能從文字或其他影像產生低解析度的X- Ray圖像。在隨後的階段,著重提升這些低解析度X-Ray至更高解析度。
該團隊探索了兩種主要方法:點雲上取樣和視訊上取樣。
由於已經獲得了形狀和外觀的粗糙表示,將這些資料編碼成帶有顏色和法線的點雲是一個很直接的過程。
然而,點雲表示結構過於鬆散,不適合進行密集預測,傳統的點雲上採樣技術通常只是簡單增加點的數量,這對於提升諸如紋理和顏色等屬性可能不夠有效。為了簡化流程並確保整個管道的一致性,選擇使用視訊上取樣模型。
這個模型改編自Stable Video Diffusion(SVD)的時空VAE解碼器,專門從頭開始訓練,以4倍的因子上採樣合成的X-Ray幀,同時保持原始的層數。解碼器能夠在幀級和層級上獨立進行注意力操作。這種雙層注意力機制不僅提高了分辨率,還顯著改善了影像的整體品質。這些功能使得視訊上取樣模型成為在高解析度X-Ray生成中更協調和有效的解決方案。
圖4:基於X-Ray表示的3D模型產生框架,包括X-Ray擴散模型與X-Ray上取樣模型。
1.資料集:
實驗使用了Objaverse資料集的一個篩選子集,從中移除了缺少紋理和不充分提示的條目。
這個子集包含超過60,000個3D物件。對於每個對象,隨機選擇4個攝影機視角,涵蓋從-180到180度的方位角和從-45到45度的仰角,攝影機到對像中心的距離固定為1.5。
然後使用Blender軟體進行渲染,並透過trimesh庫提供的光線投射演算法產生對應的X-Ray。透過這些過程,可以創建超過240,000對圖像和X-Ray資料集來訓練生成模型。
2. 實作細節:
#X-Ray扩散模型基于Stable Video Diffusion (SVD) 中使用的时空UNet架构,进行了轻微调整:模型配置为合成8个通道:1个命中通道,1个深度通道和6个法线通道,与原始网络的4个通道相比。
鉴于X-Ray成像与传统视频之间的显著差异,从头开始训练模型,以弥补X-Ray与视频领域之间的大差距。训练在8个NVIDIA A100 GPU服务器上进行了一周。在此期间,学习率保持在0.0001,使用AdamW优化器。
由于不同的X-Ray具有不同数量的层,将它们填充或裁剪到相同的8层,以便更好地批处理和训练,每层的帧尺寸为64×64。对于上采样模型,第L层的输出仍然是8,但每个帧的分辨率提高到256×256,增强了放大X-Ray的细节和清晰度,结果如图5和图6所示。
图5:图像到X-Ray并到3D模型生成
图6:文本到X-Ray并到3D模型生成
随着机器学习和图像处理技术的不断进步,X-Ray的应用前景无限广阔。
未来,这种技术可能会与增强现实(AR)和虚拟现实(VR)技术结合,为用户创造出完全沉浸式的3D体验。教育和训练领域也可以从中受益,例如通过3D重建提供更为直观的学习材料和模拟实验。
此外,X-Ray技术在医疗影像和生物技术领域的应用,可能改变人们对复杂生物结构的理解和研究方法。期待它如何改变与三维世界的互动方式。
以上是看透物體的3D表示與生成模型:NUS團隊提出X-Ray的詳細內容。更多資訊請關注PHP中文網其他相關文章!