[Engineering] VR을 활용한 시각 재활 시스템 설계: AmblyoPunch의 이질성 훈련 아키텍처
최근 Apple의 iPad mini 8 암시 소식으로 디바이스 폼팩터에 대한 논의가 뜨겁습니다. 하지만 엔지니어로서 제가 주목하는 것은 하드웨어의 크기가 아니라, 그 하드웨어가 제공하는 '시각적 자극'을 어떻게 제어하여 신체적 재활로 연결하느냐 하는 설계의 문제입니다. 오늘은 Meta Quest VR 기반의 약시(Lazy Eye) 훈련 게임, AmblyoPunch의 기술적 구조를 분석해 보겠습니다.
AmblyoPunch의 핵심 엔지니어링 목표는 '이질성 훈련(Dichoptic Training)'의 구현입니다. 이는 단순한 렌더링이 아니라, 좌우 눈에 서로 다른 텍스처와 밝기 값을 실시간으로 할당하는 정밀한 제어가 필요합니다. 일반적인 VR 게임이 양안에 동일하거나 약간의 시차(Parallax)만 둔 이미지를 제공하는 것과 달리, 이 시스템은 각 눈의 렌더링 패스를 완전히 분리하여 제어하는 아키텍처를 가집니다.
1. 시각적 자극 설계: Gabor Patterns
게임 내 타겟인 'Gabor coins'는 단순한 그래픽 오브젝트가 아닙니다. 시각 피질의 대비 및 방향 처리 능력을 정밀하게 자극하기 위해 설계된 가보 패턴(Gabor patch)을 적용했습니다. 이는 시각 과학의 근거를 게임 에셋에 통합한 사례로, 사용자가 펀치를 날릴 때마다 뇌의 특정 시각 경로를 활성화하도록 설계되었습니다. 엔지니어링 관점에서 이는 단순한 텍스처 매핑이 아니라, 자극의 주파수와 방향성을 조절하여 뇌의 가소성을 유도하는 '시각적 트리거'로 작동합니다.
2. 4단계 적응형 훈련 파이프라인
시스템은 다음과 같은 상태 머신(State Machine) 기반의 4단계 여정을 따릅니다. 각 단계는 이전 단계의 성취도를 기반으로 전이되며, 이는 뇌가 점진적으로 새로운 시각 정보에 적응하도록 돕는 정교한 시퀀스입니다.
- Stage 1 (Monocular): 렌더링 레이어를 분리하여 타겟을 약시 안(Lazy Eye)에만 렌더링합니다. 우세안은 정보를 차단하거나 최소화하여 뇌가 약시 안의 신호에 강제로 집중하게 만듭니다.
- Stage 2 (Suppression Breaking): 우세안(Dominant Eye)의 렌더링 패스에 강한 감쇄(Dimming/Wash-out) 효과를 적용합니다. 이는 뇌가 우세안의 정보만 취하고 약시 안의 정보를 무시하는 '억제 현상'을 강제로 해제하기 위한 전략적 노이즈 삽입 과정입니다.
- Stage 3 (Rebalancing): 우세안의 알파 값과 밝기를 단계적으로 복구합니다. 두 눈으로 들어오는 정보의 양을 실시간으로 튜닝하여 양안 균형을 최적화하는 리밸런싱 단계입니다.
- Stage 4 (Fusion): 파눔의 융합 영역(Panum's fusion area) 내에서 미세한 시차(Disparity)를 발생시킵니다. 이를 통해 뇌가 분리된 두 이미지를 하나의 통합된 3D 퍼셉트로 병합(Fusion)하도록 유도하여 입체시를 회복시킵니다.
3. 개인화 파라미터 및 게이팅 시스템
사용자의 상태에 따라 Severity(Mild, Moderate, Severe)와 Strabismus(Esotropia, Exotropia) 파라미터를 입력받습니다. 이 입력값들은 단순히 UI에 표시되는 것이 아니라, 시스템 내부의 핵심 변수로 작동하여 타겟의 생성 속도, 크기, 그리고 Stage 4에서의 Vergence Shift(폭주 편차) 값에 직접적인 영향을 줍니다.
특히 성능 게이팅 시스템이 엄격하게 설계되어 있습니다. 시스템은 롤링 윈도우(Rolling Window) 기준 최근 10회 결과의 성공률을 실시간으로 계산합니다. 일반 약시 프로필은 성공률 $\ge 70\%$, 사시(Strabismus) 프로필은 $\ge 80\%$일 때만 다음 스테이지로 전이됩니다. 이는 데이터 기반의 단계적 부하 증가를 보장하며, 사용자가 좌절하지 않고 최적의 난이도에서 훈련할 수 있게 하는 동적 난이도 조절(DDA) 알고리즘의 일환입니다.
4. 개발 스택 및 확장성
Unity와 OpenXR을 기반으로 개발되었으며, Meta Quest의 Stereo Rendering API를 통해 좌우 눈의 뷰포트를 독립적으로 제어합니다.
- 자동 모드(Auto Mode): 시스템이 내장된 가이드라인에 따라 자극 폭과 단계를 자동으로 조절하는 닫힌 루프(Closed-loop) 시스템입니다.
- 커스텀 모드(Custom Mode): 전문가나 치료사가 각 눈의 자극을 수동으로 토글하고 파라미터를 미세 조정할 수 있는 개방형 인터페이스를 제공합니다.
이 프로젝트는 복잡한 임상적 이론을 인터랙티브한 게임 루프로 변환하여 '치료의 지루함'이라는 사용자 경험(UX)의 병목 현상을 기술적으로 해결한 훌륭한 사례입니다. 단순한 게임을 넘어, 정밀하게 제어된 시각 자극과 데이터 기반의 피드백 루프를 갖춘 시각 재활 툴로서의 확장 가능성이 매우 큽니다.
상세한 구현 방식과 경험은 아래 링크에서 확인하실 수 있습니다.
https://www.meta.com/en-gb/experiences/amblyopunch/1239507485902689/
Top comments (0)