Ретаргетинг с веб-камеры на VRM в реальном времени
Может ли браузер управлять 3D-аватаром, используя только веб-камеру?
Я протестировал MediaPipe Holistic, чтобы проверить, может ли он оценивать движения тела, лица и рук для управления аватаром VRM 1.0 в реальном времени. Тест проводился на Apple M1 Max с использованием CPU и WASM.
Результаты показывают, что обычная веб-камера может управлять 3D-аватаром без дорогостоящего оборудования для захвата движений (motion capture).
Результаты теста:
• Оборудование: Apple M1 Max • Входные данные: поток с веб-камеры 1280x720 • Эффективная скорость: 17,3 FPS • Среднее время инференса: 49,17 мс • Успех: все 141 обнаруженный кадр позы обновили скелет VRM
Как это работает:
Система использует многоэтапный конвейер для отслеживания 553 точек:
- 33 точки для позы тела
- 478 точек для сетки лица (включая радужку глаз)
- 21 точка для каждой руки
Процесс состоит из следующих этапов:
- MediaPipe обнаруживает ключевые точки (landmarks) с веб-камеры
- Координаты конвертируются в пространство Three.js
- Данные сопоставляются с 34 костями и выражениями VRM
- Алгоритмы сглаживания уменьшают дрожание (jitter) путем интерполяции движений
Ретаргетинг работает путем выравнивания направления между двумя ключевыми точками относительно направления кости VRM. Например, он сопоставляет плечо с локтем для установки вращения руки. Коэффициенты лица напрямую сопоставляются с выражениями аватара, такими как моргание глаз или открытие челюсти.
Ограничения:
- Скорость: 17,3 FPS подходит для демо-версий, но недостаточно плавно для профессионального захвата движений при 60 FPS.
- Вращение: это лишь аппроксимация направления. Она не решает задачу точного скручивания (twist) предплечий или лодыжек.
- Сложность: из-за короткой продолжительности теста не удалось доказать стабильность одновременного отслеживания лица и обеих рук.
Эта конфигурация представляет собой легкий способ создания браузерных демо-версий аватаров и жестовых интерфейсов.
