Generative AI を使用して VR 環境を作成する Python プロジェクト。これを TCP サーバーとして実行して Unity クライアントと接続し、本格的な AI/VR アプリケーションを取得できます。
これは公開アーカイブであり、開発は HugoFara/speech-to-world-server で継続されます。
これは、完全な VR シーナリーを構築するための生成 AI の使用例です。これは、ヒューゴ・ファラハラ氏によって認知科学研究所と協力して、ジュネーブ財団キャンパス・バイオテックで開発されました。
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」です。
AI 部分をアプリケーション スレッドからオフロードするために、TCP サーバーを起動できます。 python -m server.run
を起動するだけです。サーバー構成はapi.json
で定義されます。通信は、強力な HTTP スタイルの JSON 形式で処理されます。
同じネットワーク上の別のコンピュータからサーバーに接続するには、ポートを開く必要があります。 Windows では、コントロール パネルに移動して、ポート9000
の新しいルールを追加するだけです (デフォルト設定を使用)。この How-To Geek チュートリアルは十分に役立つようです。 Linux では、ポートを開くのがもう少し楽しくなります。個人的には、ポート リダイレクトを備えた nginx を使用することをお勧めします。
非常に遠い視点から見たプロジェクトの現在の状況。
skybox/panorama_creator.py
に移動します。 environment/renderer.py
での初期の 3D 地形生成は、現在実稼働には適していません。 このプロジェクトには、いくつかの人工ニューラル ネットワーク モデルが含まれています。あるモデルを別のモデルで置き換える場合は、自分が何をしているのかについて十分な知識を持っている必要があります。そうしないと、最終製品の品質が低下する可能性があります。
これらのモデルがどこからロードされているかを確認するには、 utils/download_models.py
を参照してください。
公式 Unity クライアントは VR-Environment-GenAI-Unity (GitHub) からダウンロードできます。このプロジェクトのアクティブなパブリック リポジトリを探している場合は、HugoFara/speech-to-world-server にアクセスしてください。