一个使用生成式 AI 创建 VR 环境的 Python 项目。您可以将其作为 TCP 服务器运行,以与 Unity 客户端连接,以获得成熟的 AI/VR 应用程序。
这是一个公共档案,在 HugoFara/speech-to-world-server 上继续开发!
这是生成式人工智能构建完整 VR 场景的用例。它是由雨果·法拉贾拉 (Hugo FARAJALLAH) 在日内瓦生物技术基金会校园与认知科学实验室合作开发的。
您需要获取Python 3.10和CUDA 12.1(其他版本未经测试)。一旦安装了需求,该项目就应该可以运行。
下面是详细的安装过程:
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
重新安装它。请查看 https://pytorch.org/get-started/locally/ 了解详细信息。从现在开始,该项目应该可以正常运行。下一部分是可选的,但它可以节省您大量时间。
(可选)您可以使用加速来加速图像生成。使用
pip install accelerate
下载它。
.idea
文件夹以将该文件夹添加为项目。sudo apt install ffmpeg portaudio19-dev python3-pyaudio
pip install -r requirements-optional.txt # Installs PyAudio
每个文件都可以独立执行,因此它们是与文件一样多的入口点。
最常见的用例如下:
python -m skybox.diffusion
生成新图像。python -m utils.download_models
下载所有模型。如果您不这样做,模型将在运行时下载,这可能会非常慢。python -m server.run
启动服务器。接下来是特殊文件的详细信息。
转到skybox
文件夹。
skybox/legacy
中的代码可能没有用。我出于个人目的将其保留在那里。3D 功能位于environment
文件夹中。截至撰写本文时(2024 年 6 月),它仍处于积极开发阶段,因此以下内容可能会发生变化。
对于语音转文本功能,请转到asr
(自动语音识别)
如果您想使用图形界面而不是 Python 代码,可以使用ComfyUI
文件夹中提供的 ComfyUI 工作流程。
ComfyUI/README.md 中详细介绍了每个工作流程。
服务器功能在server
中。有关使用的详细信息,请参阅作为 TCP 服务器启动。
sound
文件夹有一些声音生成的实验。utils
文件夹包含对用户有用的功能:主要服务器配置位于api.json
中。最重要的配置数据是“serverIp”和“serverPort”,因为它们设置服务器的地址。
可以启动 TCP 服务器以便从应用程序线程卸载 AI 部分。只需启动python -m server.run
。服务器配置在api.json
中定义。通信以 JSON 格式处理,具有很强的 HTTP 风格。
要从同一网络上的另一台计算机连接到服务器,您需要打开一个端口。在 Windows 上,您只需转到控制面板为端口9000
添加新规则(使用默认配置)。这个 How-To Geek 教程似乎具有足够的指导意义。在 Linux 上,打开端口更有趣一些,我个人推荐使用带有端口重定向的 nginx。
从很远的角度来看该项目的现状。
skybox/panorama_creator.py
environment/renderer.py
中的早期 3D 地形生成现在不适合生产。 该项目包括几个人工神经网络模型。如果您想用一种模型替换另一种模型,您应该充分了解自己正在做什么,否则最终产品的质量可能会下降。
请查看utils/download_models.py
以了解这些模型是从哪里加载的。
您可以从 VR-Environment-GenAI-Unity (GitHub) 下载官方 Unity 客户端。如果您正在寻找该项目的活跃公共存储库,请访问 HugoFara/speech-to-world-server。