DEV Community

Cover image for Verstappen wins sprint after Russell crashes out
Ashish
Ashish

Posted on

Verstappen wins sprint after Russell crashes out

F1ドライバーの視覚システムをVRで再現する:AmblyoPunchの異眼視アーキテクチャを読み解く

シンガポールGPスプリント。ラッセルのクラッシュを0.3秒で回避し、タイヤ温度を管理しながらフェルスタッペンがトップでチェッカーを受けた瞬間、私は自分のQuestヘッドセットを調整していた。同じ視覚システム——両眼視差、動体視力、周辺視野の統合——が、レーシングドライバーと弱視(アンブリオピア)当事者のどちらにも必要だと気づいたからだ。

従来のアイパッチ療法は「弱視眼の単眼視力を上げる」単機能アプローチだ。だが実世界のタスク——階段の段差、ボールの軌道、駐車場の車庫入れ——は両眼融像(fusion)と立体視(stereopsis)を前提とする。Seven SportzがMeta Quest向けに実装した『AmblyoPunch』は、このギャップを4段階の異眼視パイプラインで埋める。

Stage 1: 単眼ウォームアップ — 弱視眼のみにGaborパッチ刺激(空間周波数・コントラスト可変)を提示。優位眼の抑制信号を物理的に遮断し、V1皮質の眼優位性カラムを「弱視眼モード」にリセットする。Unity 2022 LTS+XR Interaction Toolkit 2.5で実装されたシェーダーは、フレーム単位でコントラストを線形補間し、90 fps維持を保証する。

Stage 2: 抑制打破 — 両眼提示だが優位眼側をアルファブレンディングで大幅減光(約10‑20 %透過)。両眼視野は維持しつつ、弱視眼信号のゲインを相対的に上げる。ここで「見えているのに使えていない」抑制スコトマを機能的に解除する。シェーダー内で_Alphaをランタイム変更するだけで、遅延 < 2 msで切り替え可能だ。

Stage 3: リバランシング — 優位眼透過率を段階的に100 %へ復帰。弱視眼が主導権を握った状態で両眼バランスを再校正する。このフェーズで可塑性の臨界期間を模した適応的スケジューリングが働く。内部的には指数移動平均(EMA)で成功率を追跡し、ステージ遷移閾値を動的に調整する。

Stage 4: 融像トレーニング — Panumの融像領域(約±15分角)内で微小視差を意図的に注入。プレイヤーが「一つのコイン」として知覚しパンチできるかで、皮質レベルの融像機能をリアルタイム評価する。斜視プロファイル(内斜視/外斜視)では水平 vergance 要求を動的にオフセットし、80 %以上の成功率をゲートに最終ステージへ進める。

技術的に注目すべきはパフォーマンスゲート機構だ。直近10試行の成功率(パンチ+回避)が70 %未満ならステージ降格、40 %未満ならデモーション。これは強化学習のカリキュラム学習に近い——「失敗コスト(ハート消失)」と「報酬(ポイント・ワールド進行)」で探索空間を制御し、個人の可塑性カーブに合わせた自動ペーシングを実現している。

設定パラメータ(弱視眼L/R、重症度3段階、斜視タイプ)は壁メニュー・リストメニューからランタイム変更可能。ハンドトラッキングとコントローラー両対応で、レイテンシは知覚閾値以下(≈ 12 ms)に抑えられている。医療機器ではない。あくまで「視覚協調トレーニングのゲーム化」だ。だがGabor刺激の空間周波数設計、異眼視コントラスト操作、Panum領域活用の4ステージ構成は、視覚科学のエビデンスをVRランタイムにそのまま移植した稀有な例と言える。

フェルスタッペンが見せた「予期せぬ事態への0.3秒判断」——その視覚OSを、自分のQuestでデバッグし、リビルドする。パッチの先へ、コードで踏み出そう。

https://www.meta.com/en-gb/experiences/amblyopunch/1239507485902689/

Top comments (0)