假3D場景超1億像素逼真到無死角 被讚AI渲染新高度
生成的也不僅僅是一段視頻,更是一個3D場景模型,不僅能任意角度隨意切換、高清無死角,還能調節曝光、白平衡等參數,生成船新的照片:先來看一段”視頻”,有沒有看出什麼不對勁的地方? 其實,這僅僅是由一組照片渲染出來的(右下角為拍攝照片)!
在完全不同的場景下,例如一個坦克廠中,同樣能用一組照片渲染出逼真3D場景,相同角度與真實拍攝圖像幾乎”完全一致“:
要知道,之前蘋果雖然也做過一組照片生成目標物體3D模型的功能,但最多就是一件物體,例如一隻箱子:
這次可是整個3D場景!
這是德國埃爾朗根-紐倫堡大學的幾位研究人員做的專案,效果一出就火得不行,在國外社交媒體上讚數超過5k,閱讀量達到36w+。
那麼,這樣神奇的效果,究竟是怎麼生成的呢?
用照片還原整個3D場景圖
整體來說,這篇論文提出了一種基於點的可微神經渲染流水線ADOP(Approximate Differentiable One-Pixel Point Rendering),用AI分析輸入圖像,並輸出新角度的新圖像。
在輸入時,由於需要建模3D場景,因此這裡的照片需要經過嚴格拍攝,來獲取整個場景的稀疏點雲數據。
具體來說,作者在從照片獲取點雲數據時,採用了COLMAP。
先從多個不同的角度拍攝場景中的照片,其中每張照片的視角都會經過嚴格控制。
然後採用SfM(Structure From Motion,運動恢復結構)方法,來獲取相機內外參數,得到整個場景的3D重建數據,也就是表示場景結構的稀疏點雲:
然後,包含點雲等資訊的場景數據會被輸入到流水線中,進行進一步的處理。
流水線(pipeline)主要分為三個部分:可微光柵化器、神經渲染器和可微色調映射器。
首先,利用多解析度的單圖元點柵格化可微渲染器(可微光柵化器),將輸入的相機參數、重建的點雲數據轉換成稀疏神經圖像。
其中,模型里關於圖像和點雲對齊的部分,採用了NavVis數據集來訓練。
然後,利用神經渲染器,對稀疏神經圖像進行陰影計算和孔洞填充,生成HDR圖片。
最後,由於不是每個設備都支援HDR畫面,因此在顯示到LDR設備之前,還需要利用基於物理的可微色調映射器改變動態範圍,將HDR圖像變成LDR圖像。
每個場景300+圖像訓練
這個新模型的優勢在哪裡?
由於模型的所有階段都可微,因此這個模型能夠優化場景所有參數(相機模型、相機姿勢、點位置、點顏色、環境圖、渲染網路權重、漸暈、相機回應函數、每張圖像的曝光和每張圖像的白平衡),並用來生成品質更高的圖像。
具體到訓練上,作者先是採用了688張圖片(包含73M個點)來訓練這個神經渲染流水線(pipeline)。
針對demo中的幾個場景(火車、燈塔、遊樂園、操場等),作者們分別用高端攝像機拍攝了300~350張全高清圖像,每個場景生成的圖元點數量分別為10M、8M、12M和11M,其中5%的圖像用作測試。
也就是說,製作這樣一個3D場景,大約需要幾百張圖像,同時每張圖像的拍攝需要經過嚴格的角度控制。
不過仍然有讀者表示,拍幾百張圖像就能用AI做個場景出來,這個速度比當前人工渲染是要快多了。
功能上,模型既能生成可以調節參數的新角度照片,還能自動插值生成全場景的3D渲染視頻,可以說是挺有潛力的。
那麼,這個模型的效果與當前其他模型的渲染效果相比如何呢?
實時顯示1億+像素點場景
據作者表示,論文中採用的高效單圖元點柵格化方法,使得ADOP能夠使用任意的相機模型,並實時顯示超過1億個圖元點的場景。
肉眼分辨生成結果來看,採用同行幾個最新模型生成的圖片,或多或少會出現一些偽影或是不真實的情況,相比之下ADOP在細節上處理得都非常不錯:
從數據來看,無論是火車、操場、坦克還是燈塔場景,在ADOP模型的渲染下,在VGG、LPIPS和PSNR上幾乎都能取得最優秀的結果(除了坦克的數據)。
不過,研究本身也還具有一些局限性,例如單圖元點渲染仍然存在點雲稀疏時,渲染出現孔洞等問題。
但整體來看,實時顯示3D場景的效果還是非常出類拔萃的,不少業內人士表示”達到了AI渲染新高度”。
已經有不少網友開始想像這項研究的用途,例如給電影製片廠省去一大波時間和精力:
(甚至有電影系的學生想直接用到畢設上)
對遊戲行業影響也非常不錯:
在家就能搞3A大作的場景,是不是也要實現了? 簡直讓人迫不及待。
還有人想像,要是能在iPhone上實現就好了(甚至已經給iPhone 15預定上了):
對於研究本身,有網友從行外人視角看來,感覺更像是插幀模型(也有網友回應說差不多是這樣):
也有網友表示,由於需要的圖像比較多,效果沒有宣傳中那麼好,對研究潛力持保留態度:
雖然目前作者們已經建立了GitHub專案,但代碼還沒有放出來,感興趣的同學們可以先蹲一波。