AI繪畫的熱度還沒下去,OpenAI已經連「3D版」AI畫畫都做出來了。 沒錯,用文字生成3D點雲(point cloud)模型,而且還超快!
只需要一張NVIDIA V100卡,兩分鐘就能產生一個3D小物件,比Google的文字產生3D模型DreamFusion快了接近600倍 (但它們產生的不是同一種3D模型)。
專案程式碼開源後在網上爆紅,NVIDIA AI科學家Jim Fan甚至大膽預測:
2023年會是3D模型爆發年,可以期待一波3D版Stable Diffusion和MidJourney了。
現在Point.E模型的Demo已經在Hugging Face上放出來,想要玩的人可以上去試試看。
如何快速生成3D點雲模型?
顧名思義,Point.E並非一個直接產生3D模型的AI。
相比Google DreamFusion直接生成能用於算繪的3D網格圖,它產生的是一個3D點雲模型(Point Cloud),至於Point.E的E則是效率(efficiency)的意思。
據作者介紹,之所以選擇從3D點雲模型突破,是因為目前AI產生3D模型的一大缺陷就是速度慢,用GPU算繪需要好幾小時才能產生結果。相比之下,2D圖像生成卻只需要幾秒鐘。
因此,加速3D模型生成的效率同樣非常重要,在此基礎上Point.E應運而生。
在文本生成3D點雲上,Point.E並非「一步到位」,而是將過程分為了三步。
首先,如紅色框展示的,模型會先基於文本產生一個「預覽版視圖」。
這一步基於OpenAI去年發表的30億模型GLIDE微調實現,用它產生的視圖還不具備「3D特性」,相當於只是給了個參考範例。
隨後,如黃色框所展示的,Point.E會採用一個擴散模型,根據「預覽版視圖」生成一個粗糙的3D點雲模型(這裡的粗糙指解析度較低,只有1024個點)。
具體架構如下:
最後,再用一個更小的擴散模型,採用上採樣(upsample)將獲得的3D點雲模型進一步細化,得到最終的精細版3D點雲模型(一共有4096個點)。
具體的訓練過程,用了一個包含數百萬個3D模型的資料集,其中每個模型都被處理成算繪視圖、文本描述和3D點雲三部分。
用這種方法產生的3D點雲模型,在處理速度上確實快了不少。
比DreamFusion快數百倍
先從產生時間來看,無論是DreamFields、還是DreamFusion,在完成上都需要以小時為單位數目。
其中DreamFields是效果比較好的AI文本生成3D模型,但產生一個模型幾乎需要200個V100時(V100連續運行200個小時)。
DreamFusion是DreamFields的進化版,即便如此它也需要12個V100時。
相比之下,Point.E的幾個不同大小的模型,基本都以分鐘為單位,在1分鐘~1.5分鐘內就能完成文本生成3D點雲模型。
不過,Point.E在繪製效果上,還確實不如Google的DreamFusion,後者可以直接算繪產生3D模型:
相比之下,作為一個文本生成3D點雲AI,Point.E無法像DreamFusion那樣用網格(mesh)直接產生3D模型。
在經過算繪前,這些點雲需要先完成預處理,經歷一個網格化的過程,往往這個過程還需要耗費額外的時間:
作者也指出了Point.E存在的一些缺點。
一方面,有時候經過預處理,比較稀疏的點雲可能會被忽略(例如下圖中花的莖稈等地方):
另一方面,從預覽圖產生點雲的過程,有時候也會出bug。例如AI看著預覽圖,產生了一個完全不匹配的3D點雲效果出來:
即便如此,不少網友認為AI生成3D模型的未來值得期待:
如果速度再快一點的話,或許就能讓6歲的小孩在iPhone上自己造元宇宙了
“1-2 minutes on a single GPU”
— Jay Hack (@mathemagic1an) December 20, 2022
A big step; get this down to 10s and you will have 6 year olds building the metaverse on their iPhones https://t.co/3s72fMJd3i
資料來源:
- Point-E: A System for Generating 3D Point Clouds from Complex Prompts
- https://github.com/openai/point