Язык сцены: представление сцен с помощью программ, слов и вложений
arXiv | Страница проекта
Даункоды
Этот репозиторий реализует язык сцены, представленный в статье «Язык сцены: представление сцен с помощью программ, слов и вложений». Он позволяет создавать 3D-сцены с текстом и изображением.
Установка
Среда
`бить
conda create --name sclg python=3.11
Конда активирует SCLG
pip установить Мицубу
если вы столкнетесь с ошибкой сегментации, вам могут понадобиться определенные версии Mitsuba
например, pip install --force-reinstall mitsuba==3.5.1 на MacOS
pip install unidecode Pillow антропная трансформация3d astor ipdb scipy jaxtyping imageio
требуется для рендеринга Minecraft
pip установить пространство
python -m spacy скачать encoreweb_md
pip install --force-reinstall numpy==1.26.4 # для совместимости с Transforms3d
git-клон https://github.com/zzyunzhi/scene-language.git
язык сцены компакт-диска
пип установить -e .
`
API языковой модели
1. Получите ключ API. Получите ключ API Anthropic, следуя официальной документации.
2. Добавьте ключ в engine/key.py:
`питон
АНТРОПИКАПИКИ = 'ВАШАНТРОПИКАПИ_КЛЮЧ'
OPENAIAPIKEY = 'YOUROPENAIAPIKEY' # необязательно, требуется для LLMPROVIDER='gpt'
`
3. Переключение языковых моделей (необязательно). Вы можете переключиться на другие языковые модели, изменив параметр LLM_PROVIDER в файле engine/constants.py. По умолчанию используется Сонет Клода 3.5.
Текстовая 3D-генерация
Рендерер: Мицуба
`бить
python scripts/run.py --tasks «шахматная доска с полным набором шахматных фигур»
`
Визуализации будут сохранены в ${PROJROOT}/scripts/outputs/run${timestep}${uuid}/${scenename}${uuid}/${sampleindex}/renderings/*.gif.
Примеры результатов: необработанные результаты
Рендерер: Майнкрафт
`бить
ENGINE_MODE=minecraft python scripts/run.py --tasks "детализированная цилиндрическая средневековая башня"
`
Сгенерированные сцены сохраняются в виде файлов JSON в ${PROJROOT}/scripts/outputs/run${timestep}${uuid}/${scenename}${uuid}/${sampleindex}/renderings/*.json.
Визуализация:
1. Выполните следующую команду:
`бить
средства просмотра Python/minecraft/run.py
`
2. Откройте http://127.0.0.1:5001 в браузере.
3. Перетащите созданные файлы JSON на веб-страницу.
Примеры результатов: необработанные результаты
Генерация 3D-изображений с учетом изображения
`бить
python scripts/run.py --tasks ./resources/examples/* --cond image --temperature 0,8
`
Детали кодовой базы
В следующей таблице перечислены вспомогательные функции, определенные в этом репозитории, в соответствии с выражениями, определенными в предметно-ориентированном языке (DSL) (таблицы 2 и 5 документа):
| Функция | DSL-выражение |
|-----------------|----------------|
| ... | ... |
| ... | ... |
Улучшения кодовой базы
Текущая кодовая база предлагает следующие возможности:
1. Генерация с учетом текста: создание 3D-сцен на основе текстовых описаний.
2. Генерация с учетом изображения: создание 3D-сцен на основе входных изображений.
Будущие обновления:
Поддержка дополнительных задач и рендереров будет добавлена в будущих обновлениях.
Взносы
Не стесняйтесь отправить запрос на включение или свяжитесь с нами по электронной почте, если у вас есть какие-либо пожелания, предложения или вы хотите поделиться своими результатами.
Цитирование
`
@article{zhang2024scenelanguage,
title={Язык сцены: представление сцен с помощью программ, слов и вложений},
автор = {Юньчжи Чжан и Цзычжан Ли и Мэтт Чжоу, Шанчжэ Ву и Цзяцзюнь Ву},
год={2024},
журнал={препринт arXiv arXiv:2410.16770},
}
`
Лицензия: Апач-2.0