場景語言:用程式、單字和嵌入表示場景
arXiv |專案頁面
下碼小編
該存儲庫實現了論文“場景語言:用程式、單字和嵌入表示場景”中提出的場景語言。它允許生成文字條件和圖像條件的 3D 場景。
安裝
環境
`bash
conda 建立 --name sclg python=3.11
conda 激活 sclg
pip安裝三葉
如果遇到分段錯誤,您可能需要特定的 mitsuba 版本
例如,在 MacOS 上 pip install --force-reinstall mitsuba==3.5.1
pip install unidecode Pillow anthropic transforms3d astor ipdb scipy jaxtyping imageio
我的世界渲染器所需
pip 安裝 spacy
python -m spacy 下載 encoreweb_md
pip install --force-reinstall numpy==1.26.4 # 與transforms3d相容
git 克隆 https://github.com/zzyunzhi/scene-language.git
CD場景語言
pip install -e 。
`
語言模型API
1. 取得您的 API 金鑰:按照官方文件取得您的 Anthropic API 金鑰。
2. 在engine/key.py中加入Key:
`蟒蛇
ANTHROPICAPIKEY = '您的ANTHROPICAPI_KEY'
OPENAIAPIKEY = 'YOUROPENAIAPIKEY' # 可選,LLMPROVIDER='gpt' 必需
`
3.切換語言模型(可選):可以透過修改engine/constants.py中的LLM_PROVIDER設定來切換不同的語言模型。預設為克勞德 3.5 十四行詩。
文字調節 3D 生成
渲染器:三葉
`bash
python script/run.py --tasks “帶有全套棋子的棋盤”
`
渲染會儲存到 ${PROJROOT}/scripts/outputs/run${timestep}${uuid}/${scenename}${uuid}/${sampleindex}/renderings/*.gif。
結果範例:原始輸出
渲染器:我的世界
`bash
ENGINE_MODE=minecraft python script/run.py --tasks “一座細緻的圓柱形中世紀塔”
`
產生的場景以 JSON 檔案形式儲存在 ${PROJROOT}/scripts/outputs/run${timestep}${uuid}/${scenename}${uuid}/${sampleindex}/renderings/*.json 中。
可視化:
1. 執行以下命令:
`bash
python 檢視器/minecraft/run.py
`
2. 在瀏覽器中開啟http://127.0.0.1:5001。
3. 將產生的 JSON 檔案拖曳至網頁中。
結果範例:原始輸出
影像調節 3D 生成
`bash
python 腳本/run.py --tasks ./resources/examples/* --cond 圖像 --溫度 0.8
`
程式碼庫詳細信息
下表列出了此儲存庫中定義的輔助函數,與領域特定語言 (DSL) 中定義的表達式保持一致(本文的表 2 和表 5):
|功能| DSL 表達式 |
|----------------|----------------|
| .... | .... |
| .... | .... |
程式碼庫改進
目前的程式碼庫提供以下功能:
1. 文字條件產生:根據文字描述產生 3D 場景。
2. 影像條件產生:根據輸入影像產生 3D 場景。
未來更新:
未來的更新中將添加對其他任務和渲染器的支援。
貢獻
如果您有任何功能請求、建議或想分享您的結果,請隨時提交 Pull 請求或透過電子郵件與我們聯絡。
引文
`
@文章{zhang2024scene語言,
title={場景語言:用程式、單字和嵌入來表示場景},
作者={張雲志、李子章、週馬特、吳尚哲、吳家俊},
年={2024},
期刊={arXiv預印本arXiv:2410.16770},
}
`
許可證:Apache-2.0