不可思議!英偉達新技術訓練NeRF模型最快只需5秒,單張RTX 3090實時渲染,已開源

編輯:杜偉、陳萍

英偉達將訓練 NeRF 模型從 5 小時縮至 5 秒。

你曾想過在 5 秒內訓練完成狐狸的 NeRF 模型嗎?現在英偉達做到了!

令人不可思議的是,就如谷歌科學家 Jon Barron 在推特上表示的:18 個月前,訓練 NeRF 還需要 5 小時;2 個月前,訓練 NeRF 最快也需要 5 分鐘;就在近日,英偉達的最新技術——基於多解析度哈希編碼的即時神經圖形基元,將這一過程縮減到只有 5 秒!!??

NeRF 是在 2020 年由來自加州大學柏克萊分校、谷歌、加州大學聖地亞哥分校的研究者提出,其能夠將 2D 圖像轉 3D 模型,可以利用少數幾張靜態圖像生成多視角的逼真 3D 圖像。之後又出現了改進版模型 NeRF-W(NeRF in the Wild),可以適應充滿光線變化以及遮擋的戶外環境。

然而,NeRF 的效果是非常消耗算力的:例如每幀圖要渲染 30 秒,模型用單個 GPU 要訓練一天。因此,後續的研究都在算力成本方面進行了改進,尤其是渲染方面。

現在,英偉達訓練 NeRF,最快只需 5 秒(例如訓練狐狸的 NeRF 模型)!實現的關鍵在於一種多解析度哈希編碼技術,英偉達在論文《 Instant Neural Graphics Primitives with a Multiresolution Hash Encoding》進行了詳細解讀。

  • 論文地址:https://nvlabs.github.io/instant-ngp/assets/mueller2022instant.pdf

  • 項目地址:https://github.com/NVlabs/instant-ngp

  • 項目主頁:https://nvlabs.github.io/instant-ngp/

英偉達在 4 個代表性任務中對多解析度哈希編碼技術進行驗證,它們分別是神經輻射場(NeRF)、十億(Gigapixel)像素圖像近似、神經符號距離函數(SDF)和神經輻射快取(NRC)。每個場景都使用了 tiny-cuda-nn 框架訓練和渲染具有多解析度哈希輸入編碼的 MLP。

首先是 NeRF 場景。大型的、自然的 360 度場景(左)以及具有許多遮蔽和鏡面反射表面的複雜場景(右)都得到了很好的支持。實時渲染這兩種場景模型,並在 5 分鐘內通過隨意捕獲的資料進行訓練:左邊的一個來自 iPhone 視訊,右邊的一個來自 34 張照片。

接著是十億(Gigapixel)像素圖像近似。結果顯示,多解析度哈希編碼實現了幾個數量級的綜合加速,能夠在幾秒鐘內訓練高質量的神經圖形基元,並在數十毫秒內以 1920×1080 的解析度進行渲染:如果你眨眼可能會錯過它!

然後是神經符號距離函數(SDF)。如下動圖展示了各種 SDF 資料集的實時訓練進度,訓練資料是使用 NVIDIA OptiX 光線追蹤框架從真值網格動態生成的。

最後是神經輻射快取(NRC)的直接視覺化,其中網路預測每個像素路徑的首個非鏡面反射頂點的出射輻射,並根據實時路徑跟蹤器生成的光線進行線上訓練。圖左為使用 Müller 等人在 2021 論文《Real-time Neural Radiance Caching for Path Tracing》中的三角波編碼的效果,圖右為本文多解析度哈希編碼技術的效果,允許網路學習更清晰細節,如陰影區域。

‍效果如此驚豔,特斯拉 AI 高級總監 Andrej Karpathy 也對這項研究感嘆道:「令人印象深刻的架構組合和手工製作的元執行。我仍然不相信這項研究進展的這麼好、這麼快。」

更多的網友認為不可思議,可以預見下一步是在設備上運行,然後在設備上訓練!

從 5 小時縮至 5 秒,英偉達在技術上做了哪些突破?

計算機圖形基元基本上是由數學函數表徵的,這些數學函數對外觀(appearance)進行參數化處理。數學表徵的質量和性能特徵對視覺保真度至關重要,因此英偉達希望在捕獲高頻、局部細節的同時保持快速緊湊的表徵。多層感知機(MLP)表徵的函數可以用作神經圖形基元,並已經被證明可以滿足需求,比如形狀表徵和輻射場。

上述方法的一個重要共性是將神經網路輸入對映到更高維空間的編碼過程,這是從緊湊模型中提取高近似精度的關鍵。在這些編碼中,最成功的是那些可訓練、特定於任務的資料結構,它們承擔了很大一部分學習任務。有了這些資料結構,便可以使用更小、更高效的多層感知機。但是,這類資料結構依賴於啟發式和結構改變(如剪枝、分割或合併),從而導致訓練過程複雜化、方法侷限於特定任務、甚至限制 GPU 性能。

針對這些問題,英偉達提出一種多解析度哈希編碼(multiresolution hash encoding),這是一種自適應、高效且獨立於任務的技術。該技術僅包含兩個值,分別是參數量 T 和預期最佳解析度 N_max。

英偉達的神經網路不僅有可訓練的權重參數 Φ,還有可訓練的編碼參數 θ。這些被排列成 L 個級別(level),每個級別包含多達 T 個 F 維 的特徵向量。這些超參數的典型值如下表 1 所示:

多解析度哈希編碼的顯著特徵在於獨立於任務的自適應性和高效性。

首先來看自適應性。英偉達將一串網格對映到相應的固定大小的特徵向量陣列。低解析度下,網格點與陣列條目呈現 1:1 對映;高解析度下,陣列被當作雜湊表,並使用空間雜湊函式進行索引,其中多個網格點為每個陣列條目提供別名。這類哈希碰撞導致碰撞訓練梯度平均化,意味著與損失函數最相關的最大梯度將佔據支配地位。因此,雜湊表自動地優先考慮那些具有最重要精細尺度細節的稀疏區域。與以往工作不同的是,訓練過程中資料結構在任何點都不需要結構更新。

然後是高效性。英偉達的雜湊表查找是

,不需要控制流。這可以很好地對映到現代 GPU 上,避免了執行分歧和樹遍歷中固有的指針雕鏤(pointer-chasing)。所有解析度下的雜湊表都可以並行地查詢。

下圖 3 展示了多解析度哈希編碼中的執行步驟:

2D 多解析度哈希編碼示意圖。

如上圖所示,每個級別(其中兩個分別顯示為紅色和藍色)都是獨立的,並在概念上將特徵向量儲存在網格頂點處,其中最低和最高解析度之間的幾何級數 [N_min, N_max] 表示為:

實驗效果

英偉達在下面 4 個代表性任務中驗證了多解析度哈希編碼:

  • 十億(Gigapixel)像素圖像:MLP 學習從 2D 座標到高解析度圖像的 RGB 顏色的對映;

  • 神經符號距離函數(Neural signed distance function, SDF):MLP 學習從 3D 座標到表面距離的對映;

  • 神經輻射快取(Neural radiance caching, NRC):MLP 從 Monte Carlo 路徑跟蹤器中學習給定場景的 5D 光場;

  • 神經輻射場(NeRF):MLP 從圖像觀察和相應的透視變換中學習給定場景的 3D 密度和 5D 光場。

結果表明,在經過幾秒鐘的訓練後,英偉達的多解析度哈希編碼在各類任務實現了 SOTA 效果,如下圖 1 所示:

下圖 6 中,英偉達使用多解析度哈希編碼近似一張解析度為 20,000 × 23,466(469M RGB 像素)的 RGB 圖像。

下圖 7 展示了四個場景中,神經符號距離函數(SDF)訓練 11000 步後的效果:

圖 8 展示了神經輻射快取(Neural radiance caching, NRC)應用的流程:

下圖 12 為模組化合成器和大型自然 360 度場景的 NeRF 渲染效果。圖左在使用一張 RTX 3090 的情況下,僅需 5 秒即累積了 128 個 1080p 解析度的樣本;圖右使用同一張 GPU,以每秒 10 幀的速度運行互動式進程(動效圖見文章開頭)。

使用Python快速構建基於NVIDIA RIVA的智慧問答機器人

NVIDIA Riva 是一個使用 GPU 加速,能用於快速部署高性能會話式 AI 服務的 SDK,可用於快速開發語音 AI 的應用程序。Riva 的設計旨在輕鬆、快速地訪問會話 AI 功能,開箱即用,通過一些簡單的命令和 API 操作就可以快速構建高級別的對話式 AI 服務。

2022年1月26日19:30-21:00,最新一期線上分享主要介紹:

  • 對話式 AI 與 NVIDIA Riva 簡介

  • 利用NVIDIA Riva構建語音識別模組

  • 利用NVIDIA Riva構建智慧問答模組

  • 利用NVIDIA Riva構建語音合成模組

點選閱讀原文,報名直播吧。

相關文章

像素時代的黃昏和「淘寶叛軍」

像素時代的黃昏和「淘寶叛軍」

淺友們好~我是史中,我的日常生活是開撩五湖四海的科技大牛,我會嘗試各種姿勢,把他們的無邊腦洞和溫情故事講給你聽。如果你想和我做朋友,不妨加微...