Аннотатор и импортер активов Objaverse для использования в THOR.
Установите ai2thor:
pip install --extra-index-url https://ai2thor-pypi.allenai.org ai2thor==0+455cf72a1c8e0759a452422f2128fbc93a3cb06b
Установите другие зависимости:
pip install objathor[annotation]
Здесь установлены следующие дополнения: annotation
для использования openai для создания аннотаций. Также для работы с аннотациями необходимо установить nltk
. Установите nltk. Чтобы генерировать рендеры и конвертировать модели «glb» в конвейере преобразования, вам необходимо установить Blender.
Из источника:
pip install -e " .[annotation] "
Мы рекомендуем установить переменную среды с помощью ключа OpenAI:
export OPENAI_API_KEY=[Your key]
Если вы планируете аннотировать объекты, для которых у нас нет предварительно созданных представлений в S3 (см. пример в разделе «Аннотации» ниже), нам также необходимо установить блендер либо в качестве дополнительного устройства (как показано выше), либо как приложение:
Установка Blender
как модуля:
pip install bpy
Для установки Blender в качестве модуля требуется среда Python 3.10
.
Или установка Blender как приложения: Инструкция по установке Blender
Если приложения нет в канонических каталогах, вам может потребоваться передать blender_installation_path
сценариям, использующим Blender.
Установите nltk
на этот коммит, выполнив:
pip install git+https://github.com/nltk/nltk@582e6e35f0e6c984b44ec49dcb8846d9c011d0a8
При первом запуске зависимости NLTK устанавливаются автоматически, но мы также можем установить их заранее:
python -c " import nltk; nltk.download('punkt'); nltk.download('wordnet2022'); nltk.download('brown'); nltk.download('averaged_perceptron_tagger') "
Предполагая, что мы работаем на удаленном сервере Linux, мы можем предварительно загрузить двоичные файлы THOR с помощью:
python -c " from ai2thor.controller import Controller; from objathor.constants import THOR_COMMIT_ID; c=Controller(download_only=True, platform='CloudRendering', commit_id=THOR_COMMIT_ID) "
( platform='OSXIntel64'
будет использоваться для среды MacOS).
Вы должны установить дополнительное требование annotation
через pip, если у вас установлен блендер, отдельно или в виде модуля. Следующая команда сгенерирует аннотацию через GPT-4, а также сгенерирует преобразование в действительный ресурс THOR.
OUTPUT_DIR=/path/to/output
python -m objathor.main
--uid 0070ac4bf50b496387365843d4bf5432
--output " $OUTPUT_DIR "
Из корня репозитория запустите:
python
-m objathor.asset_conversion.pipeline_to_thor
--uids=000074a334c541878360457c672b6c2e
--output_dir=
--extension=.msgpack.gz
--annotations=
--live
--blender_as_module
Где uids
— это строка, разделенная запятыми, список идентификаторов Objaverse
для обработки. output_dir
— это абсолютный путь, указывающий, куда записать выходные данные преобразования. annotations
является необязательным и представляет собой путь к файлу аннотаций, созданному процессом, описанным выше.
Запустите python -m objathor.asset_conversion.pipeline_to_thor --help
для получения других опций.