场景语言:用程序、单词和嵌入表示场景
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