रिअल-टाइम वेबकॅम ते VRM रिटार्गेटिंग
केवळ वेबकॅम वापरून ब्राउझर 3D अवतार नियंत्रित करू शकतो का?
VRM 1.0 अवतार रिअल-टाइममध्ये नियंत्रित करण्यासाठी MediaPipe Holistic द्वारे शरीर, चेहरा आणि हातांच्या हालचालींचा अंदाज लावता येतो का, हे पाहण्यासाठी मी चाचणी केली. मी ही चाचणी Apple M1 Max वर CPU आणि WASM वापरून केली.
निकालांवरून असे दिसून येते की, महागड्या मोशन-कॅप्चर उपकरणांशिवाय एक सामान्य वेबकॅम 3D अवतार नियंत्रित करू शकतो.
चाचणी निकाल: • हार्डवेअर: Apple M1 Max • इनपुट: 1280x720 वेबकॅम स्ट्रीम • प्रभावी वेग: 17.3 FPS • सरासरी इन्फरन्स वेळ (Mean inference time): 49.17 ms • यश: शोधलेल्या सर्व 141 पोझ फ्रेम्सनी VRM स्केलेटन अपडेट केले
हे कसे कार्य करते: ही प्रणाली 553 पॉइंट्स ट्रॅक करण्यासाठी मल्टी-स्टेज पाइपलाइन वापरते:
- शरीराच्या पोझसाठी 33 पॉइंट्स
- फेस मेशसाठी 478 पॉइंट्स (आयरिससह)
- प्रत्येक हातासाठी 21 पॉइंट्स
ही प्रक्रिया खालील टप्प्यांचे अनुसरण करते:
- MediaPipe वेबकॅममधून लँडमार्क शोधते
- कोऑर्डिनेट्स (Coordinates) Three.js स्पेसमध्ये रूपांतरित केले जातात
- डेटा 34 VRM बोन्स आणि एक्सप्रेशन्सना मॅप केला जातो
- स्मूथिंग अल्गोरिदम हालचालींचे इंटरपोलेशन करून जिटर (jitter) कमी करतात
रिटार्गेटिंग दोन लँडमार्क मधील दिशा VRM बोनच्या दिशेशी जुळवून काम करते. उदाहरणार्थ, हाताचे रोटेशन सेट करण्यासाठी ते खांद्याला कोपराशी मॅप करते. फेशियल कोएफिशियंट्स (Facial coefficients) डोळे मिचकावणे किंवा जबडा उघडणे यांसारख्या अवताराच्या एक्सप्रेशन्सना थेट मॅप करतात.
मर्यादा:
- वेग: 17.3 FPS डेमोसाठी चांगले आहे, परंतु व्यावसायिक 60 FPS मोशन कॅप्चरसाठी पुरेसे स्मूथ नाही.
- रोटेशन: हे एक दिशात्मक अंदाजित मॉडेल (directional approximation) आहे. हे हाताचे मनगट (forearms) किंवा घोट्यांच्या अचूक फिरण्यावर (twist) उपाय शोधत नाही.
- जटिलता: चाचणीचा कालावधी कमी असल्याने, चेहरा आणि दोन्ही हात एकाच वेळी स्थिरपणे ट्रॅक करणे सिद्ध झाले नाही.
ही सेटअप इन-ब्राउझर अवतार डेमो आणि जेस्चर इंटरफेस तयार करण्यासाठी एक हलका (lightweight) मार्ग प्रदान करते.
