大家好,我是和你們聊設計花生~
3D 建模是當下設計熱門,大家熟知的 C4D、blender 等 3D 軟件都是通過先在三維空間中建模,然后設置參數進行渲染的方式構建 3D 場景。渲染內容元素越復雜、尺寸越大、精度越高,所需的渲染時間也越長,而且對電腦硬件的要求也不低。
但是前不久,英偉達(NVIDIA)在其官網上發布了一篇文章,表明其研究團隊已經開發出一個可以實現快速渲染 3D 場景的模型 Instant NeRF。
「文章鏈接」 https://blogs.nvidia.com/blog/2022/03/25/instant-nerf-research-3d-ai
文章表示,Instant NeRF 模型可以在幾分鐘內對數張靜態照片以構建 3D 場景為基礎進行訓練學習,然后在幾十毫秒內渲染出該 3D 場景的圖像。
英偉達還在文章內放上了一段視頻,以可視化的方式展示了 Instant NeRF 的運作方式——以逆向渲染的方式,模擬光線在現實世界中的運作 ,以實現用數張從不同角度拍攝的2D圖像來重構一個逼真的3D場景。
如果我們看到一張圖片,大腦很容易就能通過空間想象判斷一個物體的空間體積、位置、顏色等信息。就如通過一個人物的三視圖,我們便能構建出一個完整的立體人物形象。
圖片來源: 優設文章《出海產品如何從零搭建 IP 插畫庫?讓大廠高手教你!》作者:騰訊設計
但是這對人工智能來說并非易事。就以往來說,即使我們給出多個角度的圖片,人工智能也無法像人腦那樣自動推算空白角度的細節,因此也無法自動構建出完整的 3D 場景。
這也是為什么現在的 3D 場景都是由建模開始的——先把所有的造型細節構建好,才能實現后期多角度場景渲染。
來源:Artstation-Merve Kaplan
那 Instant NeRF 是如何實現僅依靠數張不同角度有圖片,在幾秒的時間內渲染出完整逼真的 3D 場景的呢?
通過文章內容,我們可以了解 Instant NeRF 技術的實現,主要依靠 2 點:
- NeRF,即神經輻射場。 用過函數分析預測 2D 鏡頭中的顏色和光強度,并渲染完成的 3D 場景
- 多分辨率哈希網格編碼技術,將 NeRF 模型的訓練學習時間由數小時縮短為幾分鐘,渲染時間更是縮短至毫秒。
Instant NeRF 技術并非英偉達全新研發,其中的 NeRF(神經輻射場)技術早在 2020 年提出了。
NeRF 由加州大學伯克利分校、谷歌研究院和加州大學圣地亞哥分校的研究人員共同開發的,旨在使用神經網絡,將輸入的二維圖像集合,渲染輸出位逼真三維場景。
用 NeRF 技術將圖片轉為 3D 場景
具體步驟為:先將一個連續的場景,描述為一個 5D 矢量值函數,包括一個 3D 位置(x;y;z)和 2D 觀察方向(θ;Φ)。將這個5D函數輸入模型后,輸出為一個發射的顏色C=(r;g;b)和體積密度(α)。
然后使用體積渲染技術,將輸出的顏色與密度數據合成為 RGB 圖像。渲染函數是可微分的,所以可以通過最小化合成圖像和真實圖像之間的殘差,實現優化場景表示,最終形成完整了 3D 場景。
通過 NeRF 技術,可以實現利用多張不同角度 2D 照片構建逼真完整的 3D 場景,與實景拍攝幾乎無異。
在此基礎上,無論是想固定視角查看不同光照角度效果:
具有復雜遮擋的場景:
還是將虛擬對象插入具有明顯遮擋效果的現實世界場景中,都是可以實現的。
NeRF 甚至能渲染出對真實對象進行 360°視圖捕獲的效果,而且無需綠幕等背景隔離或掩蔽。
開發人員還在繼續深入對進行 NeRF 開發擴展,以實現在任意光照條件下從新的視角對場景進行渲染。
NeRF 技術的出現無疑是激動人心的。根據可視化的復雜性和分辨率,用傳統方法創建一個三維場景需要幾個小時甚至更長時間。將人工智能帶入畫面會加快事情的進展——省去前期建模的工作,極大地提高了3D捕捉的效率和便利性。
我們已經知道,NeRF 是通過 5D 數據輸入-模型運算學習- 輸出 RGBσ數據-體積渲染的步驟,來形成完整3D場景。
早期的 NeRF 模型在幾分鐘內就能渲染出沒有偽影的清晰場景,但在模型訓練學習這一步,由于要處理大量數據,且可能需要進行結構修改,例如修剪、拆分或合并等步驟,模型訓練過程非常耗費資源和時間,需要十幾小時甚至一天。
然而,英偉達的卻通過一種名為多分辨率的哈希網格編碼技術,卻將這一步所需的時間縮短了幾個量級——由原來的十幾小時縮短為幾分鐘。
多分辨率哈希編碼技術,是由來自英偉達的 Thomas Müller、Alex Evans、Christoph Schied 和 Alexander Keller 組成的研究小組創造的一種新的輸入編碼方法。
“我們通過一種通用的新輸入編碼來降低成本,該編碼允許在不犧牲質量的情況下使用更小的網絡,從而顯著減少浮點和內存訪問操作的數量:
一個小型神經網絡,由可訓練的多分辨率哈希表增強通過隨機梯度下降優化其值的特征向量。多分辨率結構允許網絡消除哈希沖突的歧義,從而形成一個簡單的架構,在現代 GPU 上并行化是微不足道的。
——多分辨率哈希編碼技術研究小組
多分辨率哈希編碼技術原理涉及很多計算機專業術語和知識,但是如果你對哈希算法有所了解,知道哈希算法的特征之一:無論大的數據,通過哈希算法都能將其轉換為固定長度的哈希值。我們就能對多分辨率哈希編碼技術的邏輯有一個大致的了解。
多分辨率哈希編碼技術的總體思路,就是通過減少所使用的參數編碼技術所需的參數數量,并使數據結構本身更易于 GPU 處理,從而進行神經網絡訓練明顯更快。
無論輸入 Instant NeRF 的數據大小如何,通過希哈編碼技術先將數據轉換為唯一對應的索引值。在知道檢索數據的索引值的前提下,在執行訓練操作時,不需要對數據結構進行結構更新,模型處理速度就能提升很多。
不同編碼的重建質量演示。可以看出使用哈希表編碼方式的(d)和(e)的訓練時間分別為 1 分 40 秒和 1 分 45 秒,比其他編碼方式的訓練速度提高了 8 倍以上。且在可訓練參數總數相同的情況下,(e)比(d)質量更高,但訓練時間不會增加。
此外,哈希編碼技術會自動優先考慮“具有最重要精細尺度細節的稀疏區域”。這樣就不用將時間和計算資源花費在空白空間或細節較少的空間上。
例如,圖像中具有較粗糙細節的區域不會在不必要的精細分辨率上重復查詢,從而提高訓練和渲染的效率和速度。
多分辨率哈希編碼技術讓 Instant NeRF 模型只需要幾秒鐘就能對幾十張靜止的照片進行訓練,再加上它們的拍攝角度的數據,然后可以在幾十毫秒內渲染出結果的 3D 場景。相比 NeRF 之前數小時的訓練學習時間,Instant NeRF 的進步無疑是驚人的。
新的多分辨率哈希編碼算法將時間縮短到 5 秒,不僅可以訓練場景,還可以提供實時渲染
英偉達研究團隊將自己研發的多分辨率哈希編碼技術和 NeRF 模型結合,使 Instant NeRF 成為首批將超快的神經網絡訓練和快速渲染相結合的模型之一。
它能幾分鐘內處理圖像并在“幾十毫秒”內生成完整的 3D 場景,極大地提高了 3D 捕捉和分享的速度、便利性和范圍。
且多分辨率哈希編碼技術經過優化后,Instant NeRF 可以在單個英偉達 GPU 上進行訓練并高速運行,而且渲染結果質量極高。
英偉達的研究人員表示,Instant NeRF 有多種應用:
- 幫助自動駕駛系統了解現實世界物體的大小體積,用來訓練自動駕駛汽車;
- 用于為虛擬世界創建化身,為“元宇宙”的構建提供技術支撐;
- 還可用于建筑和娛樂業,以快速生成真實環境的數字表現,創作者可在此基礎上進行修改和構建
以上這些都只是 Instant NeRF 目前應用的一小部分。
Instant NeRF 的 3D 場景構建邏輯完全不同于現在傳統的 3D 軟件,在應用方面有很大的不同。隨著元宇宙和人工智能的深入發展,相信 Instant NeRF 的應用價值會不斷替提升,技術的迭代升級也會不斷深入拓展。
「參考資料」
https://blogs.nvidia.com/blog/2022/03/25/instant-nerf-research-3d-ai/
https://www.matthewtancik.com/nerf
https://finance.sina.com.cn/wm/2020-04-10/doc-iirczymi5502874.shtml
https://nvlabs.github.io/instant-ngp/
https://www.dpreview.com/news/3150421614
更多設計資訊
復制本文鏈接 文章為作者獨立觀點不代表優設網立場,未經允許不得轉載。
熱評 琥珀