使用生成式 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。