Generative AI를 사용하여 VR 환경을 만드는 Python 프로젝트입니다. 이를 TCP 서버로 실행하여 Unity 클라이언트와 인터페이스하고 완전한 AI/VR 애플리케이션을 얻을 수 있습니다.
이것은 공개 아카이브이며 HugoFara/speech-to-world-server에서 개발이 계속됩니다!
이는 완전한 VR 풍경을 구축하기 위한 생성 AI의 사용 사례입니다. 이는 Hugo FARAJALLAH가 인지 과학 연구소와 협력하여 Fondation Campus Biotech Geneva에서 개발했습니다.
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
를 살펴보세요.
VR-Environment-GenAI-Unity(GitHub)에서 공식 Unity 클라이언트를 다운로드할 수 있습니다. 이 프로젝트의 활성 공개 저장소를 찾고 있다면 HugoFara/speech-to-world-server로 이동하세요.