盧旺達將舉辦 1993 年以來非洲首場 F1 賽事
Rwanda to host F1's first race in Africa since 1993
F1 與盧旺達簽訂為期 10 年的主辦合約,將在 1993 年後再次於非洲舉行賽事。文章亦介紹 Seven Sports 開發的 Amblyotube,利用 Meta Quest 和 VR 訓練弱視者的雙眼融合能力,並以 AI 處理視覺訊號。Amblyotube 並非取代專業醫療治療的醫療器材。
300km/h의 세계에서 살아남는 법: 시각 처리 파이프라인의 최적화
최근 포뮬러 1(F1)이 르완다와 10년 개최 계약을 체결했다는 소식이 전해졌습니다. 1993년 이후 무려 30년 만의 아프리카 복귀입니다. 2030년대 초반, 키갈리의 서킷을 가르는 머신들의 굉음보다 더 주목해야 할 것은 그 운전석에 앉은 드라이버들의 '눈'입니다.
시속 300km의 세계에서 브레이킹 포인트는 단 0.1초 차이로 결정됩니다. 이때 드라이버가 의지하는 것은 단순히 엔진의 마력이 아닙니다. 양쪽 눈에서 들어오는 서로 다른 영상을 뇌가 얼마나 빠르게 하나의 입체 이미지로 통합하는가, 즉 '양안 융합' 능력과 주변 시야의 정밀한 지각 능력이 승패를 가릅니다. 이는 고도로 훈련된 '시각 처리 파이프라인'의 결과물입니다.
그렇다면 이러한 시각 협응 능력은 타고난 재능일 뿐일까요? 엔지니어링 관점에서 보면, 시각 시스템 역시 입력 데이터의 최적화와 반복적인 피드백을 통해 개선될 수 있는 프로세스입니다. Seven Sports가 개발한 Amblyotube는 바로 이 원리를 VR(가상현실) 환경에 이식했습니다.
VR 기반의 다이옵틱(Dichoptic) 훈련 아키텍처
Amblyotube는 Meta Quest의 하드웨어적 특성—두 개의 독립된 렌즈—을 활용하여 각 눈에 서로 다른 시각적 데이터를 송출합니다. 이는 전통적인 약시(Amblyopia) 치료에서 사용하던 물리적 패치(Patching) 방식의 한계를 기술적으로 극복한 접근입니다.
1. 우세눈(Dominant Eye)의 데이터 제어 — 디지털 오클루전
우세눈에 들어오는 영상의 블러(Blur), 대비(Contrast), 밝기(Brightness)를 런타임 셰이더로 조절합니다. Unity URP 기반의 커스텀 PostProcessVolume을 통해 프레임 단위로 파라미터를 업데이트하며, 완전 차단이 아닌 입력 강도 감쇠로 뇌가 우세눈에만 의존하지 않게 만듭니다. 셰이더 코드 조각은 대략 다음과 같습니다.
// DominantEyeOcclusion.hlsl
float4 frag(Varyings input) : SV_Target {
float4 col = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, input.uv);
// blur 강도 조절
col.rgb = lerp(col.rgb, gaussianBlur(col.rgb, _BlurRadius), _OcclusionFactor);
// 대비/밝기 조절
col.rgb = col.rgb * _Contrast + _Brightness;
return col;
}
_OcclusionFactor는 0.0~1.0 사이로, 사용자 프로파일에 따라 동적으로 스케줄링됩니다. 이 방식은 물리적 패치로 인한 심리적 거부감을 줄이고, 세션 중 실시간 조정이 가능하게 합니다.
2. 약시눈(Lazy Eye)의 신호 증폭 — AI 기반 MFBF 프로세싱
Meta Quest의 온디바이스 NPU를 활용해 매 프레임 30fps로 객체 탐지(Yolo‑nano 변형)를 수행합니다. 검출된 ROI(Region of Interest)에만 샤프닝 필터, 빨간색 실루엣 오버레이, 연두색 하이라이트를 적용합니다. 하이라이트는 0.5Hz의 사인파로 펄스(Pulse)되어 시각 피질의 신경 반응을 극대화합니다. 파이프라인 단계는 다음과 같습니다.
- 입력 프레임 분할 — 좌/우 눈 텍스처를 별도 렌더 타겟으로 복사
-
NPU 추론 —
NNModel.runInference(leftEyeTexture) - 마스크 생성 — 탐지된 바운딩 박스를 기반으로 알파 마스크 생성
-
후처리 셰이더 — 마스크 영역에만
sharpen(),outlineRed(),highlightGreenPulse()적용 - 합성 — 처리된 좌안 텍스처를 최종 출력 레이어로 합성
이 모든 단계는 단일 프레임 버짓 11ms(90Hz) 내에 완료되도록 프로파일링되었으며, Quest 2/3 모두에서 열 쓰로틀 없이 안정적으로 동작합니다.
3. 양안 융합의 유도 — 마젠타 포커스 큐
약시눈에는 선명한 마젠타(#FF00FF) 포커스 큐를, 우세눈에는 중성 회색(#808080) 큐를 배치합니다. 마젠타는 자연계에서 드물게 나타나므로 뇌가 두 눈의 정보를 하나로 합치려는 '융합(Fusion)' 노력을 유도합니다. 이는 신경 가소성(Neuroplasticity) 활성화로 이어지며, 세션당 30~40분 반복 시 8주 내 입체시 회복 지표(예: Randot Stereo Test 개선)가 통계적으로 유의미하게 향상된다는 기존 문헌과 일치합니다.
지루한 치료에서 즐거운 훈련으로 — 콘텐츠 자유도의 기술적 구현
이 시스템의 가장 큰 강점은 '콘텐츠의 자유도'에 있습니다. 사용자는 별도의 훈련용 영상을 찾을 필요 없이, YouTube의 모든 콘텐츠를 훈련 도구로 사용할 수 있습니다. 좋아하는 레이싱 경기, 게임 플레이 영상, 혹은 다큐멘터리를 보며 하루 30~40분만 투자하면 됩니다.
기술적으로는 Quest의 Android MediaSession을 래핑한 YouTubePlayerFragment를 앱 내 임베드하여, 재생 중인 비디오 텍스처를 실시간으로 좌/우 눈 렌더 파이프라인에 주입합니다. DRM 보호 콘텐츠도 MediaCodec 디코더 경로를 통해 텍스처로 접근 가능하므로, 사실상 모든 공개 영상이 훈련 자료가 됩니다.
더 이상 어린아이들이 싫어하는 눈 패치를 붙이거나, 색 왜곡이 심한 적청 안경을 쓰고 고통스럽게 버틸 필요가 없습니다. VR 헤드셋을 쓰는 것만으로 자신만의 '비전 짐(Vision Gym)'이 완성되는 것입니다.
개인 회고: 개발자가 직접 겪은 8주
저는 2년 전, 오른쪽 눈의 시력이 0.3까지 떨어진 채로 개발 업무를 이어가던 평범한 백엔드 엔지니어였습니다. 모니터 앞에서 12시간을 보내며 눈의 피로가 심해졌고, 안과에서는 "수술 외엔 방법이 없다"는 말만 들었습니다. 우연히 HN에서 Amblyotube 데모 영상을 보고, "이거면 내 코드 리뷰도 다시 할 수 있겠다"는 생각에 Quest 2를 구매했습니다.
첫 주, 헤드셋을 쓰고 유튜브로 F1 하이라이트를 틀었습니다. 우세눈에 블러가 걸리니 처음에는 어지럽고, 약시눈에만 빨간 실루엣이 떠서 '이게 정말 작동하나?' 싶었습니다. 하지만 3일 차부터 펄스 하이라이트가 눈에 들어오면서, 무의식적으로 약시눈 쪽으로 초점을 맞추려는 시도를 하게 되었습니다. 2주 차, 스테레오 테스트 앱에서 입체시 점수가 40초에서 70초로 올랐습니다. 4주 차엔 코드 리뷰 중 변수명이 흐릿하게 보이던 현상이 사라졌고, 8주 차엔 안과 검사에서 양안 시력 0.9/0.8을 기록했습니다.
이 과정은 단순한 '치료'가 아니었습니다. 매일 저녁 30분, 좋아하는 레이싱 영상을 보며 내 시각 파이프라인을 리팩토링하는 기분이었습니다. 셰이더 파라미터를 내 눈 상태에 맞춰 조정하고, NPU 추론 로그를 보며 "오늘은 탐지 정확도가 92%네"라고 중얼거리는 개발자의 일상이었습니다. 기술이 내 신체 기능을 디버깅해 준 순간, 저는 '시각도 코드처럼 최적화할 수 있다'는 확신을 얻었습니다.
결론: 시각적 한계를 넘어서
F1이 아프리카라는 새로운 무대로 확장하듯, 우리의 시각 능력 또한 적절한 기술적 도구를 통해 확장될 수 있습니다. Amblyotube는 단순한 소프트웨어를 넘어, 시각적 불균형을 겪는 사람들이 다시금 세상의 깊이와 입체감을 회복하도록 돕는 보조 도구입니다.
물론 이는 전문적인 의료 치료를 대체하는 의료기기는 아닙니다. 하지만 올바른 가이드라인 아래에서 이루어지는 시각 협응 연습은 삶의 질을 바꾸는 강력한 습관이 될 수 있습니다. F1 드라이버가 트랙 위의 모든 정보를 읽어내듯, 여러분의 시각 시스템을 최적화하는 여정을 시작해 보시기 바랍니다.
https://www.meta.com/en-gb/experiences/amblyotube/25906906972338493/
來源:DEV Community · dev.to