Un proyecto de Python para crear entornos de realidad virtual utilizando IA generativa. Puede ejecutarlo como un servidor TCP para conectarlo con un cliente Unity y obtener la aplicación AI/VR completa.
Este es un archivo público, ¡el desarrollo continúa en HugoFara/speech-to-world-server!
Este es un caso de uso de IA generativa para construir un escenario de realidad virtual completo. Fue desarrollado en la Fundación Campus Biotech de Ginebra, en colaboración con el Laboratorio de Ciencias Cognitivas, por Hugo FARAJALLAH.
Necesita obtener Python 3.10 y CUDA 12.1 (otras versiones no están probadas). Una vez instalados los requisitos, el proyecto debería funcionar.
Aquí hay un procedimiento de instalación detallado:
cd VR-Environment-GenAI-Server
# From https://packaging.python.org/en/latest/guides/installing-using-pip-and-virtual-environments/#create-and-use-virtual-environments
python -m venv .venv # Creates the virtual environment under .venv
source .venv/bin/activate # Activates it
cd VR-Environment-GenAI-Server
# From https://packaging.python.org/en/latest/guides/installing-using-pip-and-virtual-environments/#create-and-use-virtual-environments
py -m venv .venv # Creates the virtual environment under .venv
.venv S cripts a ctivate # Activates it
pip install -r requirements.txt
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
. Eche un vistazo a https://pytorch.org/get-started/locally/ para obtener más detalles.A partir de aquí, el proyecto debería ser funcional. La siguiente sección es opcional, pero puede ahorrarle mucho tiempo.
(opcional) Puede acelerar la generación de imágenes usando acelerar. Descárgalo con
pip install accelerate
.
.idea
para agregar la carpeta como proyecto.sudo apt install ffmpeg portaudio19-dev python3-pyaudio
pip install -r requirements-optional.txt # Installs PyAudio
Cada archivo se puede ejecutar de forma independiente, por lo que hay tantos puntos de entrada como archivos.
Los casos de uso más comunes son los siguientes:
python -m skybox.diffusion
.python -m utils.download_models
. Si no lo hace, los modelos se descargarán en tiempo de ejecución, lo que puede ser muy lento.python -m server.run
.El siguiente es el detalle de los archivos especiales.
Vaya a la carpeta skybox
.
skybox/legacy
no sea útil. Lo guardo allí para fines personales. Las características 3D están en la carpeta environment
. Todavía se encuentra en desarrollo activo al momento de escribir este artículo (junio de 2024), por lo que lo siguiente está sujeto a cambios.
Para funciones de voz a texto, vaya a asr
(reconocimiento automático de voz)
Si desea utilizar una interfaz gráfica en lugar de código Python, puede utilizar los flujos de trabajo de ComfyUI proporcionados en la carpeta ComfyUI
.
La explicación de cada flujo de trabajo se detalla en ComfyUI/README.md.
Las características del servidor están en server
. Consulte Iniciar como servidor TCP para obtener detalles sobre el uso.
sound
tiene algunos experimentos con la generación de sonido.utils
contiene funciones útiles para el usuario: La configuración del servidor principal está en api.json
. Los datos de configuración más significativos son "serverIp" y "serverPort" ya que establecen la dirección del servidor.
Se puede iniciar un servidor TCP para descargar la parte de IA del hilo de la aplicación. Simplemente inicie python -m server.run
. La configuración del servidor se define en api.json
. La comunicación se maneja en formato JSON, con un fuerte estilo HTTP.
Para conectarse al servidor desde otra computadora en la misma red, necesita abrir un puerto. En Windows, simplemente debes ir al panel de control y agregar una nueva regla para el puerto 9000
(con la configuración predeterminada). Este tutorial de How-To Geek parece suficiente guía. En Linux, abrir puertos es un poco más divertido; personalmente recomiendo usar nginx con redirección de puertos.
Estado actual del proyecto, desde una perspectiva muy lejana.
skybox/panorama_creator.py
environment/renderer.py
no es apta para producción ahora. Este proyecto incluye varios modelos de redes neuronales artificiales. Si desea sustituir un modelo por otro, debe tener un buen conocimiento de lo que está haciendo, de lo contrario la calidad del producto final puede verse mermada.
Eche un vistazo a utils/download_models.py
para ver desde dónde se cargan esos modelos.
Puede descargar el cliente oficial de Unity desde VR-Environment-GenAI-Unity (GitHub). Si está buscando el repositorio público activo de este proyecto, vaya a HugoFara/speech-to-world-server.