如何瞬間將 2D 平面照片變成 3D 立體場景?NVIDIA Research 以人工智慧來實現

人們在 75 年前使用寶麗來 (Polaroid ) 相機拍攝出世界上第一張即時成像照片時,便是一項以逼真 2D 影像迅速捕捉 3D 世界畫面的創舉。時至今日,人工智慧 (AI) 研究人員反將此作法倒轉過來,亦即在幾秒鐘內將一組靜態影像變成數位 3D 場景。

這項稱為逆向渲染 (inverse rendering) 的過程,利用 AI 來預估光線在真實世界中的表現,讓研究人員能利用從不同角度拍攝的少量 2D 影像來重建 3D 場景。NVIDIA Research 團隊開發出一種方法,幾乎能在瞬間內完成這項任務,是同類中首批將超高速神經網路訓練與快速渲染相結合的模型之一。

NVIDIA 將該方法應用在一種稱為神經輻射場 (Neural Radiance Fields;NeRF) 的熱門新技術上,創造出 Instant NeRF 這項當今渲染速度最快的 NeRF 技術,在某些情況下速度可以提升超過 1,000 倍。用數十張靜態照片,便能在幾秒鐘內完成訓練模型,再加上拍攝角度的資料,在幾十毫秒內即可渲染出生成的 3D 場景。

NVIDIA 繪圖研究部門副總裁 David Luebke 表示:「如果說多邊形網格這樣的傳統 3D 表現方式像是向量圖形,那麼 NeRF 就像是點陣圖,它們會密集捕捉光線從物體或場景中輻射出來的方式。從這個意義上來說,Instant NeRF 對 3D 的重要性,不亞於數位相機和 JPEG 壓縮技術對 2D 攝影的重要性,其可大幅提升 3D 捕捉與分享的速度、便利性和範圍。」

NVIDIA GTC 大會議程中展示的 Instant NeRF,可用於為虛擬世界建立化身或場景、以 3D 方式拍攝視訊會議的與會者以及所處環境,或是為 3D 數位地圖重建場景。

NVIDIA Research 團隊為了向早期的寶麗來照片致敬,重現了安迪.沃荷 (Andy Warhol) 拍攝即時成像照片的經典照片,利用 Instant NeRF 將其轉變為 3D場景。

 

NeRF 是什麼?

NeRF 會依照輸入的一組 2D 影像,使用神經網路來表現及渲染逼真的 3D 場景。

收集資料再投入 NeRF 的做法,有點類似紅毯上的攝影師試著從各個角度拍攝名人身上的華麗服裝,而神經網路需要有從場景四周多個位置拍攝的數十張照片,以及每張照片的相機位置等資料支援。

場景裡的人或物體若移動,拍攝照片的速度則是愈快愈好。要是在拍攝 2D 影像的過程中,人或物體有過多的移動,AI 便會生成模糊的 3D 場景。

基本上,NeRF 在此時會填補空白處,訓練一個小型神經網路,預測從 3D 空間中任何一點朝著任意方向輻射出的光線顏色來重建場景。這項技術甚至能解決當某些照片裡的物體被其它照片中的柱子等障礙物遮住時所產生的遮擋問題。

利用 Instant NeRF 將渲染速度提升 1,000

人類天生就會按照一部分所見畫面來估算物體的深度和外觀,但這對 AI 來說卻是一項高難度的任務。

根據畫面的複雜性和解析度,以傳統方法建立一個 3D 場景須花費數小時甚至更長的時間。而利用 AI 則可加快處理速度。早期開發的 NeRF 模型在幾分鐘內便能渲染出無偽影的清晰場景,但仍需數小時進行訓練。

然而,Instant NeRF 卻大幅縮短了渲染時間,其以 NVIDIA 所開發出的 Multi-resolution Hash Encoding 技術為基礎,而這項經過最佳化調整的技術可以在NVIDIA GPU 上高效運行。研究人員透過一種新的輸入編碼法,可以利用一個高速運行的微型神經網路來創造高品質的結果。

研究人員使用 NVIDIA CUDA 工具套件Tiny CUDA 神經網路函式庫來開發此模型。這個小巧的神經網路可以在單一 NVIDIA GPU 上進行訓練和運行,並在搭載 NVIDIA Tensor 核心的顯示卡上有著最高的運行速度。

這項技術可以用於拍攝實體環境物體的 2D 照片或影片,以訓練機器人和自動駕駛車來瞭解這些物體的大小及形狀。建築業與娛樂產業也能使用這項技術,快速為實體環境建立數位畫面,創作者便能用它來進行修改和構建。

除了 NeRF,NVIDIA 的研究人員也在探索如何將這種輸入編碼技術用於加速處理多項 AI 領域的難題,包括強化學習、語言翻譯和通用的深度學習演算法。