arXiv | Страница проекта
Юнчжи Чжан, Цзычжан Ли, Мэтт Чжоу, Шанчжэ Ву, Цзяцзюнь Ву. Препринт arXiv 2024.
conda create --name sclg python=3.11 conda activate sclg pip install mitsuba # if you run into segmentation fault, you might need specific mitsuba versions # e.g., `pip install --force-reinstall mitsuba==3.5.1` on MacOS pip install unidecode Pillow anthropic transforms3d astor ipdb scipy jaxtyping imageio # required for minecraft renderer pip install spacy python -m spacy download en_core_web_md pip install --force-reinstall numpy==1.26.4 # to be compatible with transforms3d git clone https://github.com/zzyunzhi/scene-language.git cd scene-language pip install -e .
Получите ключ Anthropic API, следуя официальной документации, и добавьте его в engine/key.py
:
ANTHROPIC_API_KEY = 'YOUR_ANTHROPIC_API_KEY' OPENAI_API_KEY = 'YOUR_OPENAI_API_KEY' # optional, required for `LLM_PROVIDER='gpt'`
По умолчанию мы используем Claude 3.5 Sonnet. Вы можете переключиться на другие языковые модели, установив LLM_PROVIDER
в engine/constants.py
.
python scripts/run.py --tasks " a chessboard with a full set of chess pieces "
Визуализации будут сохранены в папке ${PROJ_ROOT}/scripts/outputs/run_${timestep}_${uuid}/${scene_name}_${uuid}/${sample_index}/renderings/*.gif
.
Примеры результатов (необработанные результаты здесь):
«шахматная доска с полным набором шахматных фигур» | «Доска судоку 9x9, частично заполненная числами» | «сцена, вдохновленная Эгоном Шиле» | «Римский Колизей» | "кукла-паук" |
---|---|---|---|---|
ENGINE_MODE=minecraft python scripts/run.py --tasks " a detailed cylindrical medieval tower "
Сгенерированные сцены сохраняются в виде файлов json в ${PROJ_ROOT}/scripts/outputs/run_${timestep}_${uuid}/${scene_name}_${uuid}/${sample_index}/renderings/*.json
. Для визуализации выполните следующую команду:
python viewers/minecraft/run.py
Затем откройте http://127.0.0.1:5001 в браузере и перетащите сгенерированные файлы JSON на веб-страницу.
Примеры результатов (необработанные результаты здесь):
«дом ведьмы в Хэллоуин» | «детализированная цилиндрическая средневековая башня» | «детализированная модель Пикачу» | «Стоунхендж» | «греческий храм» |
---|---|---|---|---|
python scripts/run.py --tasks ./resources/examples/ * --cond image --temperature 0.8
В следующей таблице перечислены вспомогательные функции, определенные в этом файле в соответствии с выражениями, определенными в предметно-ориентированном языке (DSL) (таблицы 2 и 5 документа):
Выполнение | DSL |
---|---|
register | bind |
library_call | call |
primitive_call | call |
loop | union-loop |
concat_shapes | union |
transform_shape | transform |
rotation_matrix | rotation |
translation_matrix | translate |
scale_matrix | scale |
reflection_matrix | reflect |
compute_shape_center | compute-shape-center |
compute_shape_min | compute-shape-min |
compute_shape_max | compute-shape-max |
compute_shape_sizes | compute-shape-sizes |
Текущая кодовая база позволяет создавать 3D-сцены с текстовыми или графическими подсказками. Другие задачи и средства визуализации, описанные в документе, будут поддерживаться в будущих обновлениях.
Отправьте PR или напишите нам, если у вас есть пожелания по функциям, предложения по улучшению или вы хотите поделиться своими результатами.
Если вы найдете эту работу полезной, пожалуйста, процитируйте нашу статью:
@article { zhang2024scenelanguage , title = { The Scene Language: Representing Scenes with Programs, Words, and Embeddings } , author = { Yunzhi Zhang and Zizhang Li and Matt Zhou and Shangzhe Wu and Jiajun Wu } , year = { 2024 } , journal = { arXiv preprint arXiv:2410.16770 } , }