基于语言引导的3D智能体环境生成
论文 | 项目主页
系统要求
Holodeck基于AI2-THOR,我们目前支持macOS 10.9+或Ubuntu 14.04+。
新功能:要向AI2-THOR添加任何新资产,请查看objathor仓库!
注意:为了获得更好的布局,请使用DFS
作为求解器。如果您在2023年12月28日
之前拉取仓库,必须将参数 --use_milp
设置为False
以使用DFS
。
安装
克隆仓库后,您可以使用以下命令安装所需的依赖项:
conda create --name holodeck python=3.10
conda activate holodeck
pip install -r requirements.txt
pip install --extra-index-url https://ai2thor-pypi.allenai.org ai2thor==0+8524eadda94df0ab2dbb2ef5a577e4d37c712897
数据
运行以下命令下载数据:
python -m objathor.dataset.download_holodeck_base_data --version 2023_09_23
python -m objathor.dataset.download_assets --version 2023_09_23
python -m objathor.dataset.download_annotations --version 2023_09_23
python -m objathor.dataset.download_features --version 2023_09_23
默认情况下,这些将保存到~/.objathor-assets/...
,您可以通过指定--path
参数来更改此目录。如果您更改了--path
,在使用Holodeck时需要将OBJAVERSE_ASSETS_DIR
环境变量设置为存储资产的路径。
使用方法
您可以使用以下命令生成新环境:
python holodeck/main.py --query "a living room" --openai_api_key <OPENAI_API_KEY>
我们的系统使用gpt-4o-2024-05-13
,因此请确保您有权限访问它。
注意:为了获得更好的布局,请使用DFS
作为求解器。如果您在2023年12月28日
之前拉取仓库,必须将参数 --use_milp
设置为False
以使用DFS
。
在Unity中加载场景
- 安装Unity并选择编辑器版本
2020.3.25f1
。 - 克隆AI2-THOR仓库并切换到new_cam_adjust分支。
git clone https://github.com/allenai/ai2thor.git
git checkout 6f165fdaf3cf2d03728f931f39261d14a67414d0
- 重新安装一些包:
pip uninstall Werkzeug
pip uninstall Flask
pip install Werkzeug==2.0.1
pip install Flask==2.0.1
- 在Unity中将
ai2thor/unity
加载为项目,并打开ai2thor/unity/Assets/Scenes/Procedural/Procedural.unity
。 - 在终端中运行这个Python脚本:
python connect_to_unity --scene <SCENE_JSON_FILE_PATH>
- 在Unity中按播放按钮(三角形)查看场景。
引用
如果您在工作中使用此代码,请引用以下论文:
@InProceedings{Yang_2024_CVPR,
author = {Yang, Yue and Sun, Fan-Yun and Weihs, Luca and VanderBilt, Eli and Herrasti, Alvaro and Han, Winson and Wu, Jiajun and Haber, Nick and Krishna, Ranjay and Liu, Lingjie and Callison-Burch, Chris and Yatskar, Mark and Kembhavi, Aniruddha and Clark, Christopher},
title = {Holodeck: Language Guided Generation of 3D Embodied AI Environments},
booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
month = {June},
year = {2024},
pages = {16227-16237}
}