訂閱電子報∣ 友善列印字體大小 文章分享-Facebook 文章分享-Plurk 文章分享-Twitter
3D建模零門檻!以照片生成場景的3DGS技術解析
資策會Find廖國伶
獲取產業訊息零時差!立即訂閱電電公會電子報。

2023年,是生成式AI被大眾擁抱的元年,讓人人不用程式基礎,只要用文字下幾個prompt(提示詞),就能生成精美的圖片。但你是否想過,過去技術門檻極高、程序繁複耗時的3D建模工作,現在是否只要一段影片或幾張照片,就可以交給電腦幫你完成?

2023年SIGGRAPH的Best Paper「3D Gaussian Splatting for Real-Time Radiance Field Rendering」首次提出「3D Gaussian Splatting」(以下簡稱3DGS)的作法。只要透過多角度拍攝物體或空間的2D影片、照片,就可以學習高品質的3D場景。這種作法不但品質精良、更克服了傳統渲染速度緩慢的問題。

此後,短短幾個月內,市面上已開發出各種相關的套件和應用,可看出本技術在遊戲、電影、AVR等方面都有很大的潛力。本文將介紹其工作原理,並以案例簡介現行應用及對未來的影響。

Ground Truth與3DGS生成建模結果比較

圖1  Ground Truth與3DGS生成建模結果比較

資料來源:Bernhard Kerbl, Georgios Kopanas, Thomas Leimkühler, George Drettakis (2023, August)

【技術介紹】

要瞭解3D Gaussian Splatting這項技術,可以從其命名開始解釋。

「3D Gaussian」中的「Gaussian」,即過去統計中常見的高斯分布,又稱為常態分布、鐘形分布。一般統計常見的高斯分布是一維的,鐘形最高峰位置為平均數,將其加減兩個標準差,約可涵蓋95%的樣本。當高斯分布處於三維(即3D,具備XYZ三個軸向)的狀態時,若取涵蓋率 99% 為邊界來截斷分布,其外觀就會貌似一顆橢圓球體。故接下來本文皆以「高斯橢球」來稱呼每個三維高斯分布。

一維及二維高斯分布示意圖

圖2 一維及二維高斯分布示意圖

資料來源:Raghavendra Selvan (2015, July)

三維高斯分布示意圖

圖3  三維高斯分布示意圖

資料來源:Jae-Han Park, Yong-Deuk Shin, Ji-Hun Bae, Moon-Hong Baeg (2012, December)

「Splatting」則是一種光柵化(Rasterization)的渲染技術,以白話文來說,就是把三維空間中的物體投影到相機鏡頭上,可以想像是將物體由近而遠依序砸向相機鏡頭,就像砸雪球(Splatting)一樣,看看砸完之後平面上有哪些像素被覆蓋。

Splatting步驟將高斯橢球投影到平面之示意圖

圖4「Splatting」 步驟將高斯橢球投影到平面之示意圖

資料來源:Guikun Chen, Wenguan Wang (2024, January)

故3DGS可以解釋為一種「使用高斯橢球表示三維模型,並透過Splatting技術渲染圖形」的方法。理解這兩個名詞之後,就可以來解釋流程了,下圖為論文中的總流程圖,步驟簡要說明如下:

3D Gaussian Splatting 流程

圖5  3D Gaussian Splatting 流程

資料來源:Bernhard Kerbl, Georgios Kopanas, Thomas Leimkühler, George Drettakis (2023, August)

為獲得更高品質的成果,3DGS使用隨機梯度下降法進行訓練。步驟如下:

  1. SfM Points:首先利用運動恢復結構技術(Structure from Motion,SfM),從一組2D相片中找到不同照片中疊合的特徵點,來估計出初步的3D點雲及相機位置,程式碼中是透過調用COLMAP庫來完成。
  2. Initialization:透過SfM獲得的點雲及數據進行初始化,算出各個高斯橢球的位置、形狀、顏色、透明度等參數。
  3. Projection:將每一顆高斯橢球,根據它們與各個相機位置的距離(深度),由近到遠排序進行投影;程式碼中是將中心點座標去跟變換矩陣、協方差矩陣等數據進行運算,就能將三維空間中的高斯分布轉換到二維的平面上。
  4. Differentiable Tile Rasterizer:透過可微光柵化渲染(即前文提及的「Splatting」得到一張張2D圖像(即流程上的「Image」)。
  5. Adaptive Density Control:根據步驟4.所獲得之渲染2D圖像(即流程上的「Image」)與Ground Truth圖像(原先上傳的照片)之間的差異,計算出loss值,並將loss值沿藍色箭頭方向回傳。藍色箭頭向上即更新3D高斯橢球的參數,向下則送入自適應密度控制來更新高斯橢球的密度,如將小顆的高斯克隆成兩顆、將大顆的高斯分裂兩小顆等,以更好地擬合照片中的細節。

自適應密度控制示意圖

圖6  自適應密度控制示意圖

資料來源:Bernhard Kerbl, Georgios Kopanas, Thomas Leimkühler, George Drettakis (2023, August)

以上僅簡要說明流程原理,在程式碼中還運用了多種加速圖形運算的方式,欲知詳情可參照原文。簡而言之,透過這樣的作法,訓練越多次便越能還原擬真的3D場景。

【應用現況】

3DGS發表團隊的Github具有完整的程式碼及執行步驟,Youtube上亦有熱心網友提供詳細教學,只要在自身電腦算力足夠的情況下,人人皆可以自行在本地端部屬程式碼,重建屬於自己的3D場景。然而因為3DGS速度快、品質好的特性,市面上亦有公司以其為技術基礎,開發具備介面易用性、使用雲端計算、可匯出Unreal檔案格式的建模軟體,降低用戶的使用門檻及算力限制。

以華盛頓州貝爾維學院(Bellevue College)的XR LAB為例,他們在2024年4月29日發布了一篇以3DGS進行應用實作的貼文,目標是製作一個虛擬爵士鼓的互動網頁。

首先他們以手機拍攝影片作為素材,以不同的角度去環拍爵士鼓,再額外拍攝需要補充的細節。接著他們將影片匯入Postshot進行運算及訓練,這是一款由Jawset Visual Computing開發的電腦應用程式,目前尚屬於Beta版,但它為3DGS提供了簡單的安裝程序、易上手的使用介面及流程。

Postshot使用介面

圖7  Postshot使用介面

資料來源:Postshot官網

除了Postshot之外,團隊還測試了其它3DGS的軟體工具,如Polycam、Luma AI,此二者除了電腦網頁版,還有提供IOS及Android版本,讓用戶可以直接使用手機匯入影片來建模;值得一提的是,這兩款產品的APP及Web皆是透過系統的雲端進行運算,不須仰賴用戶電腦本身的算力,故人人皆能使用。惟在自身電腦算力足夠的情況下,Postshot可調整的選項更多,如篩選key frame數量、訓練次數、模型大小等;使用者可以依自身需求選擇適合的軟體。

Luma AI APP使用介面及成果預覽

圖8  Luma AI APP使用介面及成果預覽

資料來源:Luma AI官網

待模型運算完成後,使用PlayCanvas清除多餘的點雲,並匯出.ply檔案,上傳到Spline去後製互動、介面、聲音效果,即可完成一個虛擬互動爵士鼓組的實作專案。

GAUSSIAN DRUMS

圖8  GAUSSIAN DRUMS

資料來源:Bellevue College XR LAB Gaussian Drums Project

 【未來展望】

3DGS技術的問世,讓電腦圖學、GAI領域的人們皆為之振奮,不到一年的時間,具有易用性的使用者介面、支援多屏的入口、無須自備算力的訓練流程、前處理及後製的配套應用軟體都在以飛快的速度逐漸完善。

藉由短時間內大量開發者及創作者的投入,可以看出學界及產業界皆有志一同地認為這項技術在未來蘊含巨大的發展潛力,如遊戲產業、影視產業、文化資產保存、元宇宙社交場域建置……等,都是3DGS可以應用的場景。期待未來相關技術蓬勃發展,持續降低創作者的建置技術門檻,將心力放在創意及內涵的呈現,以創造更多元豐富的數位成果。

封面圖片來源:https://www.linkedin.com/pulse/3d-scene-worth-1000-splats-doru-arfire/

參考資料來源:

  1. Bernhard Kerbl, Georgios Kopanas, Thomas Leimkühler, George Drettakis (2023, August). 3D Gaussian Splatting for Real-Time Radiance Field Rendering. Retrieved from : https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/
  2. Guikun Chen, Wenguan Wang (2024, January). A Survey on 3D Gaussian Splatting. Retrieved from :https://arxiv.org/pdf/2401.03890v1
  3. Raghavendra Selvan (2015, July). Bayesian tracking of multiple point targets using Expectation Maximization. Retrieved from : https://www.researchgate.net/publication/320182941_Bayesian_tracking_of_multiple_point_targets_using_Expectation_Maximization
  4. Jae-Han Park, Yong-Deuk Shin, Ji-Hun Bae, Moon-Hong Baeg (2012, December). Spatial Uncertainty Model for Visual Features Using a Kinect (TM) Sensor. Retrieved from : https://www.researchgate.net/publication/231212225_Spatial_Uncertainty_Model_for_Visual_Features_Using_a_Kinect_TM_Sensor
  5. Postshot官網:https://www.jawset.com/
  6. Luma AI官網:https://lumalabs.ai/interactive-scenes
  7. Bellevue College XR LAB Gaussian Drums Project:https://www.bellevuecollege.edu/xrlab/2024/04/29/how-new-technologies-can-enhance-educational-experiences/
訂閱電子報 友善列印 字體大小:
獲取產業訊息零時差!立即訂閱電電公會電子報。