* 본 블로그 포스트에서 사용된 표, 이미지 및 기타 관련 자료는 해당 논문에서 발췌한 것입니다. 이 자료들은 논문의 내용을 요약하고 이해를 돕기 위한 참고용으로 제공됩니다. 또한, 해석 과정에서 일부 오류가 있을 수 있으니 원 논문을 참고하여 확인하시기 바랍니다.
I. INTRODUCTION
이 논문의 도입부에서는 메타버스의 기술적 발전이 물리적 세계와의 상호작용을 변화시켜온 과정을 설명합니다. 특히, 디지털 트윈(Digital Twin) 개념이 중요한 역할을 하고 있으며, 이는 현실 세계를 가상으로 재현함으로써 산업 전반에 걸쳐 큰 영향을 미치고 있습니다. 그러나 메타버스는 이러한 디지털 트윈 개념을 넘어 사회적, 개인적 차원으로 확장되고 있으며, 이를 통해 사용자 경험을 더욱 풍부하게 만듭니다.
AI 기술의 발전은 메타버스에서 비인간 아바타의 통합을 크게 향상시켰으며, 이는 가상 환경과 물리적 현실 간의 경계를 허물고 있습니다. 하지만 여전히 인간 사용자가 가상 환경에 매끄럽게 통합되기 위한 인터페이스는 미흡하며, 특히 정밀한 상호작용, 사용자 경험, 비용 효율성이 중요한 과제로 남아있습니다. 기존의 시스템들은 다중 카메라와 같은 고가의 장비를 필요로 하며, 이러한 장비들은 복잡한 동작을 정확하게 캡처하는 데 어려움을 겪고 있습니다.
이를 해결하기 위해, 본 논문에서는 단일 카메라와 AI 모델을 이용한 공유 제어 기반의 메타버스 프레임워크를 제안합니다. 이 시스템은 다단계 필터링 방식을 도입하여 데이터 전송 및 수신 과정에서의 정확성을 높이고, 네트워크 자원을 최적화하여 아바타 재구성의 정밀도를 향상시킵니다. 이러한 접근 방식은 사용자 상호작용을 보다 몰입감 있게 만들고, 메타버스 경험을 향상시키는 데 기여합니다.
II. BACKGROUND AND RELATED WORK
A. Full-Body Inertial Motion Tracking System
인체 자세 추적 기술은 최근 모션 캡처(Motion Capture, MoCap) 기술의 통합을 통해 급격히 발전했습니다. 이 기술은 주로 관성 측정 장치(IMU) 센서와 마커를 결합하여 포즈 데이터를 정확하게 획득합니다. 대표적인 예로, 네덜란드에 위치한 Xsens사가 개발한 MVN 인간 자세 추적 시스템이 있습니다. Xsens는 다중 카메라 및 다중 모달 데이터셋을 사용해 건강한 개인의 자세와 걸음걸이를 분석합니다. MTw Awinda 전신 관성 추적 시스템을 착용한 참가자들의 데이터를 수집하며, 이 시스템은 자기 간섭에 대한 저항성이 뛰어나고 데이터 드리프트 문제를 줄이는 데 탁월한 성능을 발휘합니다. 이 기술은 인간 자세 분석 소프트웨어인 MVN Analyze와 결합되어 다양한 모션 과학 응용에 사용됩니다.
하지만, 실외 환경이나 전자기 간섭이 있는 복잡한 환경에서는 여전히 정확도와 신뢰성에 대한 개선이 필요합니다. 이에 대응하여, 중국 과학 아카데미의 Jiankang Wu 교수팀은 Mmocap이라는 인간 모션 캡처 및 3D 재구성 시스템을 도입했으며, 이는 사람의 움직임을 포착하고 3D로 재구성하는 뛰어난 기능을 가지고 있습니다. 이와 유사하게, Hybrid Sensor Fusion Technology는 3D 모션 추적 솔루션으로 다양한 산업(영화, 방송, 게임 개발)에 적용되고 있으며, 이러한 시스템들은 여전히 비용 및 구현의 복잡성이 널리 사용되는 데 있어 장애물로 남아 있습니다.
B. Pose Reconstruction Techniques via Wearables
이 섹션에서는 웨어러블 장치를 이용한 포즈 재구성 기술의 발전을 다룹니다. IMU(관성 측정 장치)를 활용한 관성 캡처 기술이 점차 발전하면서, 다양한 유형의 웨어러블 장치가 등장했습니다. 이러한 장치들은 사용자의 움직임을 정확하게 캡처하고, 밀착형 의류나 느슨한 의류에 적용되어 더 높은 사용자 편안함을 제공합니다.
- 웨어러블 기반 관성 캡처 시스템:
연구자들은 IMU 센서를 통합한 다양한 웨어러블 장치를 개발하고 있으며, 느슨한 의류 시스템에서도 포즈 캡처의 정밀도를 유지할 수 있는 차동 매핑 분포 방법을 제시했습니다. 이를 통해 사용자에게 편안함을 제공하면서도 모션 캡처의 정확성을 유지할 수 있습니다. - 최초 보정 방법:
또 다른 연구에서는 초기 보정 방법을 개발해 IMU 기반 모션 캡처 시스템에서 상지(upper limb)의 정확성을 향상시켰습니다. 이 방법은 복잡한 보정 과정 없이도 장기간 사용이 가능한 모션 캡처 솔루션을 제공합니다. - 볼류메트릭 캡처 기술:
최근에는 마커 기반 시스템에서 마커리스(markerless) 구성으로의 전환이 이루어지고 있습니다. 이러한 발전은 모션 캡처 시스템을 보다 단순화하고, 다양한 산업 응용에 더 폭넓게 사용할 수 있도록 했습니다. 예를 들어, ICP 알고리즘(Iterative Closest Point)을 사용해 생성된 가상 마커는 OpenSim과 같은 생체 역학 모델링 소프트웨어에 통합되어 보다 정밀한 운동 분석을 가능하게 합니다.
이러한 기술들은 사용자 편의성과 정확성을 동시에 향상시키며, 메타버스와 같은 가상 환경에서 실시간 상호작용을 더욱 정교하게 만듭니다.
C. Non-Wearable Devices with AI Technology
비웨어러블 장치와 AI 기술의 결합이 큰 성장을 이루고 있습니다. 특히, Instant-NVR 연구는 혁신적인 신경망 기반 접근 방식을 도입하여 볼류메트릭 트래킹과 렌더링을 혁신적으로 변화시켰습니다. 이 방식은 모노큘러 RGBD 스트림을 처리하여 인간-객체 상호작용을 가능하게 하며, 전통적인 볼류메트릭 트래킹 시스템의 기능을 크게 확장했습니다.
또한, 단일 카메라 기반 모션 캡처는 비용 절감과 계산 효율성을 높이기 위한 방법으로 주목받고 있습니다. 연구자들은 실시간 손동작 캡처 효율성을 높였으며, 초당 최대 100 FPS를 달성했습니다. 하지만 복잡한 배경과 조명 조건에서의 정확성 및 견고성은 여전히 개선이 필요합니다. 이를 위해 DetNet과 IKNet을 사용해 관절 위치와 회전을 예측하는 새로운 학습 기반 아키텍처가 개발되었습니다. 이 연구는 단일 카메라만으로도 효과적인 손동작 캡처가 가능함을 보여줍니다.
D.User-Avatar Interaction in the Metaverse
메타버스 환경에서 사용자와 아바타 간의 상호작용은 다양한 기술적 도전을 안고 있습니다. 몰입형 3D 환경에서 사용자의 동작을 정확하게 해석하는 것이 중요한 과제입니다. 기존의 전통적인 인터페이스, 즉 직접 접촉 기반 장치나 웨어러블 장치는 사용자 움직임을 정밀하게 캡처하는 데 물리적 한계와 어려움을 겪습니다.
이에 대응하기 위해 AIoT 기반 솔루션이 도입되었습니다. 이 솔루션은 PoseNet을 활용해 아바타의 위치를 추적하고, 실시간 상호작용을 가능하게 합니다. 그러나 이러한 시스템은 주로 아바타의 위치만을 처리하며, 사용자의 모든 동작을 포괄하는 데는 한계가 있습니다.
III. SHARED CONTROL BASED METAVERSE SYNTHESIS FRAMEWORK
A. Problem Description
메타버스 몰입을 원하는 사용자들은 여전히 전용 하드웨어에 의존해야 하는 문제를 직면하고 있습니다. 예를 들어, Hololens 2나 Meta Quest2와 같은 장치는 메타버스에 진입하는 것을 용이하게 해주지만, 높은 비용과 긴 학습 시간이라는 단점이 있습니다. 이를 해결하기 위해, WebXR이나 스마트폰 기반 VR과 같은 경량 대안을 사용하는 새로운 연구가 등장하고 있습니다. 이러한 경량 접근 방식은 경제적 부담을 줄이고, 사용자가 메타버스에 보다 쉽게 참여할 수 있도록 돕습니다.
그러나 이러한 더 저렴한 장치들은 계산 능력이 제한되어 있어, 원활한 상호작용을 위해 효율적인 알고리즘과 고급 후처리 기술이 필요합니다. 특히, 원격 메타버스 상호작용에서 네트워크 안정성과 지연 최소화가 매우 중요합니다. 이러한 문제를 해결하기 위해, 제안된 프레임워크는 네트워크 연결 성능이 불안정할 때에도 낮은 지연과 패킷 손실 최소화를 보장하는 고품질 통신의 중요성을 강조하고 있습니다.
B. Metaverse Synthesis Framework
이 섹션에서는 공유 제어 기반 메타버스 합성 프레임워크를 설명합니다. 이 프레임워크는 네트워크 연결 불안정성을 완화하기 위해 설계되었습니다. 네트워크에 문제가 생겼을 때, 사용자와 AI 간의 제어 전환을 매끄럽게 수행하는 것이 핵심입니다. 예를 들어, 데이터 패킷 손실이 발생하면 AI의 행동 트리가 아바타의 기본 동작을 제어하며, 사용자의 상호작용이 끊기지 않도록 보장합니다.
제안된 공유 제어 방식은 사용자가 직접 제어하지 않더라도 메타버스 내에서의 지속적인 상호작용을 유지합니다. 이로 인해 네트워크 성능 저하 시에도 일관성 있는 사용자 경험을 제공합니다. 전체 시스템은 단일 카메라와 BlazePose AI 모델을 사용해 사용자의 움직임을 3D 스켈레톤 데이터로 변환하고, 네트워크를 통해 전송된 후 Unity3D 환경에서 아바타로 재현됩니다. 이 과정에서 AI의 다단계 필터링이 데이터 지터 문제를 줄이고, 아바타의 동작 정확도를 향상시킵니다.
IV. ALGORITHM AND IMPLEMENTATION
메타버스 환경에서 원격 모션 합성 시스템의 주요 문제는 동기화 정확도가 낮고 통신 오버헤드가 큰 점입니다. 특히 사용자 측 모션 캡처는 대량의 오디오 비주얼 데이터를 생성하는데, 제한된 대역폭과 장거리 통신으로 인해 동기화 정확도를 향상시키는 것이 어렵습니다.
이를 해결하기 위해, 사용자 측에서는 모노큘러 카메라를 사용해 모션 데이터를 캡처하며, 이 데이터를 압축된 형태로 전송하여 대역폭 소비를 줄입니다. 이로 인해 데이터 전송 중 네트워크 오버헤드를 줄일 수 있고, 보다 효율적인 모션 데이터 전송이 가능합니다.
또한 공유 제어 아키텍처를 통해 사용자 동작과 가상 세계의 아바타 행동을 정렬시키고, 네트워크 성능이 불안정할 때도 안정적인 상호작용을 유지할 수 있도록 설계되었습니다.
A. Monocular Cameras-Based Keypoints’ Extraction
논문에서 제안하는 메타버스 솔루션의 첫 단계로 모노큘러 카메라를 사용하여 연속된 이미지 스트림을 캡처합니다. 모노큘러 카메라는 비용 절감 효과가 있으며, 데이터 전송량을 줄여 동기화 정확도를 향상시킵니다. 캡처된 이미지는 AI 모델로 전송되어 인간 골격의 주요 포인트를 3D 매트릭스로 변환합니다.
저자들은 BlazePose AI 모델을 사용하여 33개의 주요 관절 포인트를 3D로 감지하며, 이는 기존의 2D 기반 PoseNet보다 포즈 재구성에서 더 높은 정확도를 제공합니다. 하지만 실험 중 데이터 지터 문제가 발생했으며, 이는 카메라의 낮은 해상도(640x480 픽셀)와 30 FPS의 높은 캡처 속도에서 기인했습니다. 조명 변화나 카메라 움직임으로 인해 데이터의 일관성이 손상될 수 있어 추가적인 데이터 안정화 및 후처리 기술이 필요합니다.
B. Shared Control-Based Action Composition
이 섹션에서는 공유 제어 기반 행동 구성을 설명합니다. 사용자의 동작과 AI의 제어를 동기화하여 네트워크 성능 저하 시에도 아바타 동작이 원활하게 작동하도록 합니다. 네트워크 상태에 따라 사용자의 동작 제어와 AI 제어가 동적으로 조절되며, 아바타의 회전과 동작은 다음 수식을 통해 계산됩니다.
- 수식 설명
아바타의 중간 변환 및 최종 회전은 아래 수식으로 표현됩니다:
$midA = Q^{-1}_A \times Q_{forward} \tag{1}$
$A_{rotation} = Q_{updated} \times midA^{-1} \tag{2}$
- $Q_A \text{는 스켈레톤 A의 위치 벡터,} $
- $Q_{forward} = Q_A - Q_B \text{$는 전방 방향을 나타내며, 이를 통해 중간 변환 행렬 $} midA \text{가 계산됩니다.}$
- $\text{최종 아바타 회전 } A_{rotation} \text{은 } Q_{updated} \text{와 } midA^{-1} \text{를 곱하여 구합니다.}$
<TABLE 1>
| 키포인트 | midA | Q-1A | Qforward |
|---|---|---|---|
| 왼쪽 어깨 | (0.5, -0.5, 0.5, 0.5) | (0.5, 0.5, 0.5, 0.5) | (-0.5, -0.5, 0.5, 0.5) |
설명: 이 테이블은 왼쪽 어깨의 midA, Q-1A, Qforward 값을 보여줍니다.
- midA는 중간 변환 행렬을 나타내며, QA와 QB의 차이로 계산된 전방 방향 Qforward를 활용하여 계산됩니다.
- Q-1A는 스켈레톤 A의 위치 벡터의 역행렬입니다.
- Qforward는 스켈레톤 A와 B 간의 전방 방향을 나타내는 벡터입니다.
이 테이블은 아바타의 각 관절에 대해 동작을 계산하는 데 중요한 값을 나타내며, 아바타의 정확한 회전을 계산하는 데 사용됩니다.
V. 시스템 평가 및 결과
A. 이미지 처리 단계
실험에서 HIKVISION DS-E14a 모노큘러 카메라를 사용하여 640x480 해상도에서 초당 30프레임으로 RGB 이미지를 캡처했습니다. 이 이미지는 USB 인터페이스를 통해 제어 장치로 전송되었으며, BlazePose AI 모델을 통해 3D 좌표 행렬을 추출한 후 UDP 프로토콜을 통해 Unity3D 환경으로 전송되었습니다. 여러 필터를 사용하여 데이터 지터 문제를 해결하였으며, 특히 다단계 필터링이 데이터 안정성을 개선했습니다.
Table II: 필터 매개변수
| 필터 종류 | 매개변수 | 값 |
|---|---|---|
| 로우패스 필터 | alpha | 0.1 |
| 칼만 필터 | 전이 공분산 | 0.013 |
| 칼만 필터 | 관측 공분산 | 0.01 |
| SavGol 필터 | 윈도우 길이 | 7 |
| SavGol 필터 | 다항차수 | 3 |
B. 네트워크 전송 단계
UDP 프로토콜을 통해 네트워크 패킷의 인코딩 및 전송 지연을 평가했습니다. 수신된 패킷의 타임스탬프와 전송된 시간 차이를 비교하여 평균 전송 지연을 측정했으며, 대역폭 제한이 있을 때 전송 지연의 변화를 분석했습니다. 전송 지연은 패킷 전송 후 수신된 타임스탬프를 바탕으로 계산되었습니다.
Table IV: 10초 동안 대역폭별 총 데이터그램
| 대역폭 (Mb/s) | 10 | 5 | 2 | 1.6 | 1.2 | 1 | 0.5 |
|---|---|---|---|---|---|---|---|
| 전송된 데이터그램 수 | 1511 | 756 | 303 | 242 | 182 | 152 | 91 |
수식 설명:
메타버스 사용자 경험(MUE)을 평가하기 위해 다음 수식을 사용했습니다:
$MUE = 1 - \left( \frac{T_{received} - T_{sent}}{0.1s} \right) - \left( \frac{300 - Total\ Datagram}{300} \right)$
이 수식은 네트워크 지연과 데이터그램 손실을 기반으로 사용자 경험을 평가합니다. 데이터그램이 10초 이내에 300개 미만일 경우, MUE 값은 감소하며 사용자 불만족을 나타냅니다.

VI. 결론 및 향후 과제
이 논문에서는 AI 기반 포즈 재구성 시스템을 제안하여 단일 카메라로 실시간으로 원격 아바타를 제어하는 방식으로 메타버스 환경을 보다 현실적이고 상호작용 가능하게 만듭니다. 제안된 다단계 필터링과 공유 제어 메커니즘은 복잡한 센서 설정 없이도 비용을 절감하고 기술적 장벽을 낮추는 데 성공적이었습니다.
향후 연구는 다음과 같은 방향으로 진행될 예정입니다:
- AI 포즈 추정 알고리즘 개선: 더욱 복잡한 상황에서도 정확도를 높일 수 있도록 알고리즘을 개선할 예정입니다.
- 네트워크 프로토콜 개선: 실시간으로 아바타 동기화를 유지하면서 지연 없이 작동하도록 네트워크 성능을 개선할 계획입니다.
- 플랫폼 호환성 확장: 더 많은 메타버스 플랫폼과의 호환성을 높이는 데 집중할 예정입니다.
- 사용자 경험 연구: 다중 사용자 상호작용을 위한 확장 가능한 시스템을 설계하기 위해 사용자 경험 연구를 추가로 수행할 예정입니다.
- 보안 및 개인정보 보호: 사용자 데이터의 안전한 전송을 보장하기 위해 보안 프레임워크를 강화하는 것도 중요한 과제가 될 것입니다.
* 수식 설명 추가
1. $midA = Q_A^{-1} \times Q_{forward}$
이 수식은 중간 변환 행렬 $midA$를 계산하는 과정입니다.
- $Q_A^{-1}$: 관절 A의 위치 벡터의 역행렬입니다.
- $Q_{forward}$: 관절 A와 관절 B 사이의 상대적 방향 벡터입니다.
예시:
- $Q_A$: 어깨(A)의 좌표가 (3, 2, 5)라고 가정합니다. $Q_A^{-1}$는 이 좌표의 역행렬로 계산됩니다.
- $Q_B$: 팔꿈치(B)의 좌표가 (1, 1, 4)라고 가정합니다.
$Q_{forward}$는 $Q_A$와 $Q_B$의 차이로 구할 수 있습니다:
$Q_{forward}$ = $Q_A$ - $Q_B$ = (3, 2, 5) - (1, 1, 4) = (2, 1, 1)
이제 \( Q_A^{-1} \)를 사용하여 \( Q_{forward} \)에 곱해줍니다. \( Q_A^{-1} \)는 관절 A에서의 상대 좌표계를 구하는 데 사용되며, 이를 통해 관절 간의 상대적 움직임을 어깨 기준으로 변환합니다.
2. \( A_{rotation} = Q_{updated} \times midA^{-1} \)
이 수식은 아바타의 최종 회전 값을 계산합니다.
- \( Q_{updated} \): 실시간으로 업데이트된 사용자의 움직임입니다. 예를 들어, 사용자가 팔을 움직여 팔꿈치가 움직이면 \( Q_{updated} \)는 새로운 팔꿈치 좌표로 갱신됩니다.
- \( midA^{-1} \): 중간 변환 행렬의 역행렬입니다. 이는 앞서 계산한 중간 변환 행렬 \( midA \)를 기준으로 좌표계를 되돌려 최종적으로 아바타의 회전 방향을 구합니다.
예시:
- \( Q_{updated} \): 사용자가 팔을 들어 올렸다고 가정하여 팔꿈치(B)의 새로운 좌표가 \( (2, 3, 6) \)로 변경되었습니다.
- \( midA \): 앞서 계산한 중간 변환 값이 \( (1, 0.5, 0.5) \)라고 가정합시다.
\( A_{rotation} \)을 구하는 과정은:
\[ A_{rotation} = Q_{updated} \times midA^{-1} \]
예를 들어 \( midA^{-1} \)이 \( (1, 0.5, 0.5) \)의 역행렬이라고 하면, \( Q_{updated} \)와 곱하여 최종 회전 값을 계산합니다. 이 값은 아바타의 팔이 실제 사용자 동작에 맞춰 정확하게 회전하도록 합니다.
요약:
- \( Q_{forward} \)는 관절 A와 B 간의 상대적인 기본 방향을 나타내는 3D 벡터입니다.
- \( midA = Q_A^{-1} \times Q_{forward} \)는 관절 A 기준으로 관절 B의 상대적인 위치를 계산하여 중간 변환 행렬을 만듭니다.
- \( A_{rotation} = Q_{updated} \times midA^{-1} \)는 사용자의 실시간 움직임을 반영하여 아바타의 최종 회전값을 계산합니다.
이 과정을 통해 아바타가 사용자의 실제 동작을 정확하게 따라 할 수 있게 됩니다.