โปรเจ็กต์ Python เพื่อสร้างสภาพแวดล้อม VR โดยใช้ Generative AI คุณสามารถรันเป็นเซิร์ฟเวอร์ TCP เพื่อเชื่อมต่อกับไคลเอ็นต์ Unity เพื่อรับแอปพลิเคชัน AI/VR ที่มีคุณสมบัติครบถ้วน
นี่เป็นไฟล์เก็บถาวรสาธารณะ การพัฒนายังคงดำเนินต่อไปที่ HugoFara/speech-to-world-server!
นี่เป็นกรณีการใช้งานของ Generative AI เพื่อสร้างฉาก VR ที่สมบูรณ์ ได้รับการพัฒนาที่ Fondation Campus Biotech Geneva โดยความร่วมมือกับ Laboratory of Cognitive Science โดย 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) ดังนั้นสิ่งต่อไปนี้อาจมีการเปลี่ยนแปลง
สำหรับคุณสมบัติคำพูดเป็นข้อความ ให้ไปที่ 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
ไม่เหมาะสำหรับการผลิตในขณะนี้ โปรเจ็กต์นี้ประกอบด้วยโมเดลโครงข่ายประสาทเทียมหลายแบบ หากคุณต้องการเปลี่ยนโมเดลด้วยโมเดลอื่น คุณควรมีความรู้ที่ดีเกี่ยวกับสิ่งที่คุณกำลังทำ ไม่เช่นนั้นคุณภาพของผลิตภัณฑ์ขั้นสุดท้ายอาจลดลง
โปรดดูที่ utils/download_models.py
เพื่อดูว่าโมเดลเหล่านั้นโหลดมาจากที่ใด
คุณสามารถดาวน์โหลดไคลเอนต์ Unity อย่างเป็นทางการได้จาก VR-Environment-GenAI-Unity (GitHub) หากคุณกำลังมองหาพื้นที่เก็บข้อมูลสาธารณะที่ใช้งานอยู่ของโปรเจ็กต์นี้ ให้ไปที่ HugoFara/speech-to-world-server