3D模型生成技術發展現況



【技術介紹與應用現況】

自2015年GAN提出後,利用電腦AI生成2D圖像的技術開始快速成長,到了2020年Diffusion models發表及2022年Stable Diffusion開源後大量的2D生成圖片應用出現,一般人都可透過免費工具就把一段話(或是咒語)轉成圖像,此一工具已成為Youtuber競相拍攝教學影片的焦點,AI生圖不僅快速,甚至已達到可商用品質,未來3D模型自動生成圖像應該也是水到渠成了。3D模型與2D圖像有哪些差一點,本文就帶您一探究竟。

3D模型生成的發展進度比2D圖像慢了許多,這是因為3D模型跟2D圖像有以下本質上的不同:

  • 檔案格式:2D圖像基本上就是像素組成,再由顏色數量或應用不同選擇不同的壓縮方式,例如JPG或PNG等,但3D檔案類型就非常的不同,有Point cloud、Voxel、Mesh等等。
  • 資料數量差異:2D圖像有大量的手繪或照片數據資料可以提供AI進行訓練,相較起來3D模型的資料就少非常多,因為3D模型除了靠特殊儀器人工進行掃描外就只能完全靠人工刻出來,若是現實中不存在的物體例如想像世界中的物體,需要先手繪出2D的3視圖再由人工轉3D化,更別說那種室外的場景製作,例如下圖1遊戲中的紐約街頭場景製作費用就高達美金20萬。由於3D模型的製作成本跟2D圖像差別很大所以數量相對就少很多很多。
  • 需要更多的儲存空間與運算資源:2D圖像本來是一個平面,3D的資料變成立體的,檔案大小就是等比例上的上升,例如256*256的圖像是65536,但3D化後暴增256倍到1600多萬。

Tom Clancy's The Division遊戲的場景製作費用

圖1 “Tom Clancy's The Division” 遊戲的場景製作費用

資料來源:The Next Leap: How A.I. will change the 3D industry - Andrew Price

【3D模型生成技術案例】

以下介紹幾個目前著名的3D模型生成技術:

Open-AI公司所提出的3D模型生成式AI,由於ChatGPT也是由同一間公司提出所以特別值得注意。Point-E的生成過程是先將文字轉預覽圖像,再由圖像轉成點雲圖(point cloud),最後再擴散並透過Upsampling技術增加細節得到較細緻的成果,如下圖。

Point-E圖像生成流程

圖2 Point-E圖像生成流程

資料來源:OpenAI

 

主要想解決的問題是模型生成的速度,Point-E的"point"表示點雲,"E"則是"efficiency"表示效率的意思,Point-E使用NVIDIA V100 GPU只需要數分鐘時間就可以完成模型生成,相比DreamFusion或是DreamFields技術從文字產生模型需耗費NVIDIA V100數十小時甚至上百小時運算時間。

是由Google公司所提出,主要是利用Text-to-Image與NeRF(一種透過提供一個物體多張角度影像作為輸入,可產生一張該物體全新角度的影像的技術)這種Inverse Graphics的技術,來達到Text-to-3D的生成,產生的模型質量較高可以重新上色與打光。

DreamFusion產生的圖像與模型範例

圖3 DreamFusion產生的圖像與模型範例

資料來源:Google Research

 

提出一種可以結合圖像、文字說明或是簡易外觀或部分形狀的模型作為輸入,為用戶去生成一個完整3D模型的框架。

SDFusion的執行流程

圖4 SDFusion的執行流程

資料來源:https://arxiv.org/abs/2212.04493

 SDFusion提供以下多種輸入內容的組合轉成3D模型:

  • Shape Completion:包含可給部分的模型(紅色是缺少的部分),讓AI接續完成模型。
  • Single-View Reconstruction:提供一張圖片產生3D模型。
  • Text-guided Generation:文字說明轉成3D模型。
  • Text-guided Completion:給部分模型內容加上文字說明轉成3D模型。
  • Text-guided Colorization:透過文字說明為模型上色。

SDFusion的多種類輸入與範例

圖5 SDFusion的多種類輸入與範例

資料來源:https://arxiv.org/abs/2212.04493

 

【未來展望與挑戰】

現階段3D模型生成技術做出來的模型看起來還不錯,但無法真的拿來使用,這跟2D圖像生成一開始發展時有點相似,但由於3D模型製作與2D繪圖不同,2D圖像有缺陷還有機會透過繪師調整回來,但3D模型若一開始的Mesh存在缺陷,例如出現不該出現的圖像,或是該連接的地方沒有連接起來,修改起來的時間成本可能不如重做會來的快些。

由於3D模型在製作成品上有更高的要求,因此現階段3D生成模型工具的用途多與增加工作效率有關,例如以下之情境:

  • 協助模型製作的創意發想,例如我想做一個在森林湖畔的小木屋,透過模型生成數十種樣本,協助設計師在創作初期可以省下許多反覆修改時間。
  • 已經有一個模型了「請幫我產生100個類似的東西」這樣的要求。這在建構大型室外場景的石頭、樹木,或是遊戲中比較不重要的路人NPC角色的設計,都可以借用AI來幫忙。
  • 為同一個模型更改不同材質,例如幫一雙鞋或一個包包上色不同顏色或使用不同材質貼圖,像是不同的皮革、不同的金屬材質等,這部分目前AI已經做的相當不錯。

短期內,建模的工作會因為AI生成加入提升工作效率,但要完全取代建模師的工作,還需要時間發酵,但從電腦軟體技術發展的軌跡來看,未來一定會變得更快、更好、更便宜,也說不定下個月這個未來就到了!

 

參考來源:

1.封面圖資料來源: https://www.freepik.com/

2.The Next Leap: How A.I. will change the 3D industry - Andrew Price:https://www.youtube.com/watch?v=FlgLxSLsYWQ

3.DreamFusion: Text-to-3D using 2D Diffusion  https://dreamfusion3d.github.io/

4.SDFusion https://yccyenchicheng.github.io/SDFusion/

5.Point-E : https://openai.com/research/point-e

延伸閱讀