Um projeto Python para criar ambientes VR usando IA generativa. Você pode executá-lo como um servidor TCP para fazer interface com um cliente Unity, para obter o aplicativo AI/VR completo.
Este é um arquivo público, o desenvolvimento continua em HugoFara/speech-to-world-server!
Este é um caso de uso de IA generativa para construir um cenário completo de VR. Foi desenvolvido na Fondation Campus Biotech Geneva, em colaboração com o Laboratório de Ciência Cognitiva, por Hugo FARAJALLAH.
Você precisa obter Python 3.10 e CUDA 12.1 (outras versões não foram testadas). Depois que os requisitos forem instalados, o projeto deverá funcionar.
Aqui está um procedimento de instalação detalhado:
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
. Por favor, dê uma olhada em https://pytorch.org/get-started/locally/ para obter detalhes.A partir daqui, o projeto deverá ser funcional. A próxima seção é opcional, mas pode economizar muito tempo.
(opcional) Você pode acelerar a geração de imagens usando acelerar. Faça o download com
pip install accelerate
.
.idea
está incluída para adicionar a pasta como um projeto.sudo apt install ffmpeg portaudio19-dev python3-pyaudio
pip install -r requirements-optional.txt # Installs PyAudio
Cada arquivo pode ser executado de forma independente, portanto, são tantos pontos de entrada quanto arquivos.
Os casos de uso mais comuns são os seguintes:
python -m skybox.diffusion
.python -m utils.download_models
. Se você não fizer isso, os modelos serão baixados em tempo de execução, o que pode ser muito lento.python -m server.run
.A seguir está o detalhe para arquivos especiais.
Vá para a pasta skybox
.
skybox/legacy
pode não ser útil. Eu o mantenho lá para fins pessoais. Os recursos 3D estão na pasta environment
. Ele ainda está em desenvolvimento ativo no momento da redação deste artigo (junho de 2024), portanto, o seguinte está sujeito a alterações.
Para recursos de fala em texto, vá para asr
(reconhecimento automático de fala)
Se quiser usar uma interface gráfica em vez do código Python, você pode usar os fluxos de trabalho ComfyUI fornecidos na pasta ComfyUI
.
A explicação para cada fluxo de trabalho é detalhada em ComfyUI/README.md.
Os recursos do servidor estão em server
. Consulte Iniciar como um servidor TCP para obter detalhes sobre o uso.
sound
possui alguns experimentos com geração de som.utils
contém funções úteis para o usuário: A configuração principal do servidor está em api.json
. Os dados de configuração mais significativos são “serverIp” e “serverPort”, pois definem o endereço do servidor.
Um servidor TCP pode ser iniciado para descarregar a parte AI do thread do aplicativo. Basta iniciar python -m server.run
. A configuração do servidor é definida em api.json
. A comunicação é feita no formato JSON, com um forte estilo HTTP.
Para se conectar ao servidor de outro computador na mesma rede, é necessário abrir uma porta. No Windows, basta ir ao painel de controle e adicionar uma nova regra para a porta 9000
(com a configuração padrão). Este tutorial How-To Geek parece bastante orientador. No Linux, abrir portas é um pouco mais divertido, eu pessoalmente recomendo usar o nginx com redirecionamento de porta.
Situação atual do projeto, numa perspectiva muito distante.
skybox/panorama_creator.py
environment/renderer.py
não é adequada para produção agora. Este projeto inclui vários modelos de redes neurais artificiais. Se quiser substituir um modelo por outro, deverá ter um bom conhecimento do que está fazendo, caso contrário a qualidade do produto final poderá diminuir.
Por favor, dê uma olhada em utils/download_models.py
para ver de onde esses modelos são carregados.
Você pode baixar o cliente oficial do Unity em VR-Environment-GenAI-Unity (GitHub). Se você está procurando o repositório público ativo deste projeto, acesse HugoFara/speech-to-world-server.