실시간 웹캠 기반 VRM 리타겟팅
웹캠만으로 브라우저에서 3D 아바타를 구동할 수 있을까요?
MediaPipe Holistic을 사용하여 신체, 얼굴, 손의 움직임을 추정하고 VRM 1.0 아바타를 실시간으로 제어할 수 있는지 테스트했습니다. 이 테스트는 Apple M1 Max 환경에서 CPU와 WASM을 사용하여 진행되었습니다.
테스트 결과, 고가의 모션 캡처 장비 없이도 일반 웹캠만으로 3D 아바타를 구동할 수 있음을 확인했습니다.
테스트 결과: • 하드웨어: Apple M1 Max • 입력: 1280x720 웹캠 스트림 • 유효 속도: 17.3 FPS • 평균 추론 시간: 49.17 ms • 성공 여부: 감지된 141개의 포즈 프레임 모두 VRM 스켈레톤 업데이트 완료
작동 원리: 이 시스템은 553개의 포인트를 추적하기 위해 다단계 파이프라인을 사용합니다:
- 신체 포즈용 33개 포인트
- 얼굴 메시용 478개 포인트 (홍채 포함)
- 각 손당 21개 포인트
프로세스는 다음 단계를 따릅니다:
- MediaPipe가 웹캠에서 랜드마크를 감지합니다.
- 좌표를 Three.js 공간으로 변환합니다.
- 데이터를 34개의 VRM 본(bone) 및 표정으로 매핑합니다.
- 스무딩 알고리즘이 움직임을 보간하여 지터(jitter) 현상을 줄입니다.
리타겟팅은 두 랜드마크 사이의 방향을 VRM 본의 방향과 일치시키는 방식으로 작동합니다. 예를 들어, 어깨와 팔꿈치를 매핑하여 팔의 회전값을 설정합니다. 얼굴 계수(Facial coefficients)는 눈 깜빡임이나 입 벌리기와 같은 아바타의 표정에 직접 매핑됩니다.
한계점:
- 속도: 17.3 FPS는 데모용으로는 적합하지만, 전문적인 60 FPS 모션 캡처를 구현하기에는 충분히 부드럽지 않습니다.
- 회전: 이는 방향에 대한 근사치입니다. 전완(forearm)이나 발목의 정확한 비틀림(twist)까지는 해결하지 못합니다.
- 복잡성: 짧은 테스트 시간으로 인해 얼굴과 양손을 동시에 안정적으로 추적하는 것을 입증하지는 못했습니다.
이 설정은 브라우저 기반의 아바타 데모 및 제스처 인터페이스를 제작할 수 있는 가벼운 방법을 제공합니다.
