Anotador e importador de activos de Objaverse para usar en THOR.
Instalar ai2thor:
pip install --extra-index-url https://ai2thor-pypi.allenai.org ai2thor==0+455cf72a1c8e0759a452422f2128fbc93a3cb06b
Instale otras dependencias:
pip install objathor[annotation]
Aquí se instalan los siguientes extras: annotation
para usar openai para generar anotaciones. También para la funcionalidad de anotación debe instalar nltk
Instalar nltk. Para generar renderizados y convertir modelos 'glb' en el proceso de conversión, debe instalar Blender.
De fuente:
pip install -e " .[annotation] "
Recomendamos configurar una variable de entorno con su clave OpenAI:
export OPENAI_API_KEY=[Your key]
Si planea anotar objetos para los cuales no tenemos vistas pregeneradas en S3 (vea un ejemplo en Anotación a continuación), también necesitamos instalar Blender como extra (como se muestra arriba) o como una aplicación:
Instalación de Blender
como módulo:
pip install bpy
La instalación de Blender como módulo requiere un entorno Python 3.10
.
O instalar Blender como aplicación: Instrucciones de instalación de Blender
Si la aplicación no está en los directorios canónicos, es posible que deba pasar blender_installation_path
a los scripts que usan Blender.
Instale nltk
en esta confirmación ejecutando:
pip install git+https://github.com/nltk/nltk@582e6e35f0e6c984b44ec49dcb8846d9c011d0a8
Durante la primera ejecución, las dependencias de NLTK se instalan automáticamente, pero también podemos instalarlas más adelante:
python -c " import nltk; nltk.download('punkt'); nltk.download('wordnet2022'); nltk.download('brown'); nltk.download('averaged_perceptron_tagger') "
Suponiendo que estamos ejecutando en un servidor Linux remoto, podemos descargar previamente los binarios de THOR con:
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'
se usaría para un entorno MacOS).
Debe instalar el requisito adicional annotation
a través de pip y tener instalado Blender, ya sea de forma independiente o como módulo. El siguiente comando generará una anotación, a través de GPT-4, y también generará la conversión a un activo THOR válido.
OUTPUT_DIR=/path/to/output
python -m objathor.main
--uid 0070ac4bf50b496387365843d4bf5432
--output " $OUTPUT_DIR "
Desde la raíz del repositorio ejecute:
python
-m objathor.asset_conversion.pipeline_to_thor
--uids=000074a334c541878360457c672b6c2e
--output_dir=<some_absolute_path>
--extension=.msgpack.gz
--annotations=<annotations_file_path>
--live
--blender_as_module
Donde uids
es una cadena de listas separadas por comas de identificadores de Objaverse
para procesar. output_dir
es una ruta absoluta que indica dónde escribir la salida de la conversión. annotations
es opcional y es la ruta a un archivo de anotaciones generado por el proceso descrito anteriormente.
Ejecute python -m objathor.asset_conversion.pipeline_to_thor --help
para ver otras opciones.