今天小編分享的科學經驗:零AI含量!純随機數學無限生成逼真3D世界火了,普林斯頓華人一作,歡迎閱讀。
誰說生成影像、視頻一定要靠 AI?
普林斯頓大學新出的神器,可無限生成逼真 3D 世界,特别強調"No AI"。
淺淺感受一下這個效果:
不要以為生成的只是一段視頻,其實背後是一套完整的 3D 資產,基于建模軟體 Blender 打造。
此時所有 blender 用戶一起跟我:啊?
如此一來,我們就能用參數來控制細節:
或者拿到相應的光流圖、3D 場景光流圖、深度圖、全景分割圖等等,輕松 hold 住各種 CV 任務。
最最重要的是,它還免費、開源!
媽媽真的再也不用擔心我找不到高質量的 3D 數據投喂 AI 了……
完整視頻感受一下震撼:
100% 基于随機數學的 3D 數據生成器
盡管 AI 發展迅猛,但目前 CV 領網域的許多任務仍然缺乏高質量的數據,3D 尤甚。
一個解決辦法是用合成數據。事實證明,在這類數據上訓練的模型在零樣本的真實影像上也可以表現得很好。
但問題是,現有的大多數免費 3D 合成數據工具基本局限于單一場景:要麼是自動駕駛相關,要麼就是那種位于室内環境中的人造物體。
因此,為了擴大覆蓋範圍,尤其是真實世界裡的自然場景,作者基于 Blender 打造了這個基于随機數學規則無限生成各種場景的 Infinigen。
Infinigen 主要利用 Blender 的 " 基元 "(或原語),設計了一個程式規則庫,通過編碼完成真實自然場景各個對象的生成。
論文主要介紹了 Infinigen 的程式體系,包括:
Node Transpiler(節點轉換器),可以自動将 Blender 節點圖轉化為 Python 代碼,方便非程式員用戶使用 Infinigen。
如下圖所示,它生成的代碼更通用,既允許我們随機化輸入參數,也允許随機化圖結構。
Generator Subsystems(生成器子系統),Infinigen 的生成器是是一個個基于概率的程式,每個程式專門用于生成一個子對象(比如山脈或魚類)。每個對象都有一組高級參數(比如山的總高度),用戶可以使用 Python API 來調整這些參數,以實現對數據生成的細粒度控制。
Material Generators(材料生成器),一共有 50 個,每個都由一個能指定顏色和反射率的随機着色器和一個生成相應精細幾何細節的局部幾何生成器組成。
如下圖由所示,它能保證非常真實的幾何細節。
Terrain Generators(地形生成器),如下圖所示,該生成器可以通過反復擠壓生成巨石,使用 Blender 的内置插件生成小石塊。
并幫助 Infinigen 通過使用 FLIP 模拟動力學流體,使用 Blender 的粒子系統模拟天氣。
Plants & Underwater Object Generators(植物和水下物體發生器),包括使用用随機遊走等算法對樹木生長進行建模,從而形成一個覆蓋各種樹木、灌木甚至仙人掌的 3D 世界。
又或者是使用差異化生長、拉普拉斯生長和反應擴散制造各種珊瑚、使用幾何節點圖生成樹葉、花朵、海藻、海帶、軟體動物和水母。
還有各種子生成器(比如生物生成器)就不一一介紹了。
除了這些,Infinigen 還包括一個影像渲染與 Ground Truth 提取程式,主要用于生成下圖這些類型的影像。
其中對于前者,系統使用了 Blender 基于自然規律的路徑跟蹤渲染器 Cycles 來渲染影像。
作者介紹,雖然使用 Blender 開發了 Infinigen 的程式規則,不過程式生成的很大一部分是在 Blender 之外完成的。
另外,他們也表示,構建 Infinigen 是一項極大量的軟體工程,光是它代碼庫的主分支就囊括了40485 行代碼。
最後,Infinigen 在 2 個 Intel Xeon Silver 4114 @ 2.20GHz CPU 和 1 個 NVidia GPU 上進行了基準測試,生成一對 1080p 影像的時間(wall time)為3.5 小時。
下表是它與現有合成數據集或生成器的比較。
作者表示,從中可以看出,Infinigen 最大的優點就是不需要任何外部參考資源庫就能程式化地生成無限的自然 3D 數據,别的都不行。
團隊介紹
Infinigen 将在本周三的 CVPR 會議上進行 Poster 展示。
它的作者全部來自普林斯頓大學 Vision & Learning Lab。
三位共同一作,其中一位叫Ma Zeyu,普林斯頓大學博士三年級在讀,2020 年本科畢業于清華大學電子工程專業。
通訊作者為普林斯頓大學計算機科學系副教授鄧嘉。
目前,Infinigen 的代碼已經上線 GitHub,短短兩天已有 850 個标星。
論文地址:
https://arxiv.org/abs/2306.09310
項目主頁:
https://infinigen.org/
GitHub 地址:
https://github.com/princeton-vl/infinigen