DSO:牛津大學(xué)公布的符合物理規(guī)律的3D模型優(yōu)化框架項(xiàng)目
DSO是什么?
DSO(Direct Simulation Optimization)是牛津大學(xué)公布的一種用于提升圖像到3D模型生成器(如TRELLIS)的方法,通過直接模擬優(yōu)化來增強(qiáng)生成的3D對(duì)象在物理模擬和現(xiàn)實(shí)世界中的穩(wěn)定性。它無需在測(cè)試時(shí)增加額外成本,能在短時(shí)間內(nèi)生成可站立的3D對(duì)象。
DSO功能特征
提升3D模型穩(wěn)定性:解決了傳統(tǒng)生成器無法生成在重力下可站立的3D對(duì)象的問題,顯著提高了生成3D對(duì)象在物理模擬和3D打印時(shí)的穩(wěn)定性。
高效性:在測(cè)試時(shí)不會(huì)增加額外成本,生成穩(wěn)定3D對(duì)象的速度以秒計(jì)。
兼容性:基于現(xiàn)有的圖像到3D模型生成器(如TRELLIS)進(jìn)行優(yōu)化,能夠與之無縫銜接,充分利用其原有的功能和優(yōu)勢(shì)。
提供預(yù)訓(xùn)練模型:提供了兩種預(yù)訓(xùn)練模型檢查點(diǎn),分別通過直接偏好優(yōu)化(DPO)和直接獎(jiǎng)勵(lì)優(yōu)化(DRO)訓(xùn)練,方便用戶快速上手使用。
DSO應(yīng)用場景
3D打印:生成的3D模型更有可能在實(shí)際打印后能夠穩(wěn)定站立,減少了因模型不穩(wěn)定導(dǎo)致的打印失敗或需要額外支撐結(jié)構(gòu)的情況,提高了3D打印的成功率和實(shí)用性。
虛擬現(xiàn)實(shí)與增強(qiáng)現(xiàn)實(shí):在虛擬環(huán)境中創(chuàng)建更加真實(shí)、穩(wěn)定的3D對(duì)象,提升用戶體驗(yàn),例如在虛擬場景中放置的物體能夠按照物理規(guī)律穩(wěn)定存在。
游戲開發(fā):為游戲中的3D模型生成提供更符合物理規(guī)則的解決方案,使游戲中的物體在重力等物理因素作用下表現(xiàn)更加自然,增強(qiáng)游戲的真實(shí)感和沉浸感。
建筑設(shè)計(jì)與工業(yè)設(shè)計(jì):幫助設(shè)計(jì)師快速生成符合物理穩(wěn)定性的3D模型原型,進(jìn)行初步的設(shè)計(jì)評(píng)估和驗(yàn)證,減少因穩(wěn)定性問題導(dǎo)致的設(shè)計(jì)修改和迭代次數(shù)。
DSO使用教程
1. 安裝依賴:
安裝TRELLIS依賴,創(chuàng)建Python環(huán)境并安裝指定版本的PyTorch及相關(guān)依賴庫,運(yùn)行腳本安裝其他相關(guān)庫,最后安裝Kaolin庫。
安裝剩余依賴,通過pip install -r requirements.txt命令安裝。
2. 下載預(yù)訓(xùn)練模型:通過git lfs install和git clone命令下載DPO和DRO訓(xùn)練的預(yù)訓(xùn)練模型。
3. 快速開始生成:使用example.py腳本,加載預(yù)訓(xùn)練模型和輸入圖像,通過TrellisImageTo3DPipeline進(jìn)行預(yù)處理和生成操作,最后將生成的模型導(dǎo)出為GLB格式。
4. 評(píng)估:
下載評(píng)估數(shù)據(jù)集。
使用訓(xùn)練好的檢查點(diǎn)生成3D模型。
計(jì)算穩(wěn)定性和幾何度量。
5. 訓(xùn)練:
生成合成訓(xùn)練數(shù)據(jù),包括獲取圖像、生成3D模型以及添加模擬反饋并保存物理合理性分?jǐn)?shù)。
啟動(dòng)訓(xùn)練作業(yè),指定數(shù)據(jù)目錄并運(yùn)行finetune.py腳本。
Github地址:https://github.com/RuiningLi/dso