การทำ Retargeting จาก Webcam แบบ Real-Time ไปยัง VRM
เบราว์เซอร์สามารถควบคุมอวตาร 3D โดยใช้เพียงแค่เว็บแคมได้หรือไม่?
ผมได้ทดสอบ MediaPipe Holistic เพื่อดูว่ามันสามารถประมาณการเคลื่อนไหวของร่างกาย ใบหน้า และมือ เพื่อควบคุมอวตาร VRM 1.0 แบบ real-time ได้หรือไม่ โดยผมทำการทดสอบนี้บน Apple M1 Max โดยใช้ CPU และ WASM
ผลลัพธ์แสดงให้เห็นว่าเว็บแคมมาตรฐานสามารถควบคุมอวตาร 3D ได้โดยไม่ต้องใช้เครื่องมือ motion-capture ราคาแพง
ผลการทดสอบ: • ฮาร์ดแวร์: Apple M1 Max • อินพุต: สตรีมเว็บแคมความละเอียด 1280x720 • ความเร็วที่มีประสิทธิภาพ: 17.3 FPS • เวลาเฉลี่ยในการประมวลผล (Mean inference time): 49.17 ms • ความสำเร็จ: เฟรมท่าทาง (pose frames) ทั้ง 141 เฟรมที่ตรวจพบ สามารถอัปเดตโครงร่าง (skeleton) ของ VRM ได้ทั้งหมด
หลักการทำงาน: ระบบใช้ pipeline แบบหลายขั้นตอนในการติดตามจุดทั้งหมด 553 จุด:
- 33 จุดสำหรับท่าทางร่างกาย (body pose)
- 478 จุดสำหรับ face mesh (รวมถึงม่านตา)
- 21 จุดสำหรับมือแต่ละข้าง
กระบวนการมีขั้นตอนดังนี้:
- MediaPipe ตรวจจับจุดสำคัญ (landmarks) จากเว็บแคม
- แปลงค่าพิกัด (coordinates) ไปยังพื้นที่ของ Three.js
- แมปข้อมูลไปยังกระดูก (bones) และการแสดงออก (expressions) 34 ส่วนของ VRM
- ใช้อัลกอริทึมการทำให้เรียบ (smoothing algorithms) เพื่อลดอาการสั่น (jitter) ด้วยการทำ interpolation การเคลื่อนไหว
การทำ Retargeting ทำงานโดยการปรับทิศทางระหว่างจุดสำคัญสองจุดให้ตรงกับทิศทางของกระดูก VRM ตัวอย่างเช่น การแมปจากไหล่ไปยังข้อศอกเพื่อกำหนดการหมุนของแขน ส่วนค่าสัมประสิทธิ์ใบหน้า (facial coefficients) จะถูกแมปโดยตรงไปยังการแสดงออกของอวตาร เช่น การกะพริบตาหรือการอ้าปาก
ข้อจำกัด:
- ความเร็ว: 17.3 FPS นั้นดีสำหรับการสาธิต (demo) แต่ยังไม่ลื่นไหลพอสำหรับการทำ motion capture ระดับมืออาชีพที่ 60 FPS
- การหมุน: นี่เป็นการประมาณการเชิงทิศทางเท่านั้น ไม่สามารถแก้ปัญหาการบิด (twist) ที่แม่นยำของแขนท่อนล่างหรือข้อเท้าได้
- ความซับซ้อน: การทดสอบนี้ยังไม่ได้พิสูจน์ความสามารถในการติดตามใบหน้าและมือทั้งสองข้างพร้อมกันอย่างเสถียร เนื่องจากระยะเวลาในการทดสอบที่สั้น
การตั้งค่านี้เป็นวิธีที่เบา (lightweight) ในการสร้างการสาธิตอวตารบนเบราว์เซอร์และอินเทอร์เฟซการสั่งการด้วยท่าทาง (gesture interfaces)
แหล่งที่มา: https://dev.to/kiarina/real-time-webcam-to-vrm-retargeting-with-mediapipe-holistic-173-fps-on-m1-max-4be3
