Retargeting z kamerki internetowej do VRM w czasie rzeczywistym
Czy przeglądarka może sterować awatarem 3D, używając wyłącznie kamerki internetowej?
Przetestowałem MediaPipe Holistic, aby sprawdzić, czy potrafi on estymować ruchy ciała, twarzy i dłoni w celu sterowania awatarem VRM 1.0 w czasie rzeczywistym. Test przeprowadziłem na komputerze Apple M1 Max, korzystając z CPU i WASM.
Wyniki pokazują, że standardowa kamerka internetowa może sterować awatarem 3D bez drogiego sprzętu do motion capture.
Wyniki testu: • Sprzęt: Apple M1 Max • Wejście: strumień z kamerki 1280x720 • Efektywna prędkość: 17,3 FPS • Średni czas wnioskowania: 49,17 ms • Sukces: Wszystkie 141 wykrytych klatek pozy zaktualizowało szkielet VRM
Jak to działa: System wykorzystuje wieloetapowy potok (pipeline) do śledzenia 553 punktów:
- 33 punkty dla pozy ciała
- 478 punktów dla siatki twarzy (w tym tęczówek)
- 21 punktów dla każdej dłoni
Proces przebiega w następujących krokach:
- MediaPipe wykrywa punkty charakterystyczne (landmarks) z kamerki internetowej
- Współrzędne są konwertowane na przestrzeń Three.js
- Dane są mapowane na 34 kości i ekspresje VRM
- Algorytmy wygładzania redukują drgania (jitter) poprzez interpolację ruchów
Retargeting polega na dopasowaniu kierunku między dwoma punktami charakterystycznymi do kierunku kości VRM. Na przykład, mapuje bark do łokcia, aby ustawić rotację ramienia. Współczynniki twarzy są mapowane bezpośrednio na ekspresje awatara, takie jak mruganie oczami czy otwieranie szczęki.
Ograniczenia:
- Prędkość: 17,3 FPS jest dobre do demonstracji, ale nie jest wystarczająco płynne dla profesjonalnego motion capture w 60 FPS.
- Rotacja: Jest to przybliżenie kierunkowe. Nie rozwiązuje ono dokładnego skrętu (twist) przedramion lub kostek.
- Złożoność: Ze względu na krótki czas trwania testu, nie udało się udowodnić stabilnego, jednoczesnego śledzenia twarzy oraz obu dłoni.
To rozwiązanie zapewnia lekki sposób na tworzenie demonstracji awatarów w przeglądarce oraz interfejsów gestów.
