Zenn
👀

Apple Vision Pro の視線追跡機能がもしかしたら、いろいろ使えるんじゃないか?と思ったので、ちょっと調べてみた。

2025/02/21に公開

はじめに

ホロラボ 林です。

Apple Vision Pro には、高度な視線追跡機能がついています。
この機能の概要調査と、視線を追跡/解析できるようなアプリケーションが開発できるのか調べました。

先にまとめると、eyetracking の API は Appleから公開されていないので使えないのですが、Accessibility の機能で視線を表示した状態で録画すると、後から解析に色々使えるんじゃないかなみたいな話です。

ペットボトルの視線カーソルに注目

Vision Pro の視線追跡機能の概要

Apple Vision Proはヘッドセット内部に赤外線対応の4つの眼球追跡カメラと関連センサーを備え、ユーザーの視線方向を精密に捉える高度な視線追跡システムを搭載しています。link

この視線追跡は、通常のApple Vision Proの操作において、視線によるポインティングと手のジェスチャーを組み合わせた直感的操作を実現するために利用されています。

Vision Pro ユーザーは基本的な操作を、目で対象メニューを見て、指先のタップ(ピンチ)だけで操作ができます。(指先は膝の上など、楽な姿勢で操作できます)

また、Vision Proはユーザーの注視点に合わせてレンダリング解像度を動的に調整するフォビエイテッド・レンダリング(視線誘導型の段階的解像度描画)を採用し、ユーザーが見ている部分を高解像度に保ちつつ、周辺部分の描画負荷を下げることで性能と画質を両立させています。
この機能にも視線追跡機能は利用されているようです。

開発者向けに視線データに直接アクセスは公開されていない

この視線+ジェスチャーによる操作はvisionOSシステム全体に深く組み込まれており(UI要素のホバー状態表示や選択確定などはOSレベルで処理)、アプリ開発者が生の視線データに直接アクセスすることはできません​。

Enterprise向けAPIにおいてもこの視線を直接取得するAPIは公開されておらず、
視線方向はプライバシー保護のため抽象化されており、ユーザーがタップ操作を行った時点で初めてアプリ側に通知が届く設計になっています。

EnterpriseAPIに関しては、中村さんのこの記事が参考になると思います。

https://zenn.dev/hololab/articles/avp-001-12be095f3d0309

Pointer Controlを利用した視線の表示と記録方法

視線ポインタの表示

Vision Proにはアクセシビリティ機能として「Pointer Control」が用意されており、デフォルトである視線の操作意外に頭/手/指の向きで画面上のポインタを操作できます​。

その機能中で「Eyes(視線)」を選択するとユーザーが見ている位置に小さなカーソル(円)が表示され、視線の位置を可視化できます​。


赤いカーソル(丸)が視線ポインタです

呼び出し方法

  • 設定 > アクセシビリティー > (身体機能および動作) 操作 > ポインタコントロール
  • ポインターの色や輪郭の太さ、半径の大きさも調整することができます。

    • 設定 > アクセシビリティー > 操作 > ポインタコントロール

視線の可視化を有効にしている状態では、トップボタン(クラウン)のトリプルクリック・ショートカットで、この視線カーソルの表示を素早く切り替えることも可能です。​

クラウンのトリプルクリックでOn/Offショートカット

開発者や研究者はこの機能を使い、視線位置を画面上に表示しながら外部カメラで装着者の体験を撮影したり、Vision Proの画面録画(AirPlayミラーリング経由の録画など)を行ったりすることで、視線の軌跡を間接的に記録できます。

Vision Pro自体はサードパーティ製アプリに視線座標データを提供しないため、視線記録はあくまでこうした間接的手段に限られます。

https://youtu.be/AdXMjXPxxcY
視線を録画した動画(Youtube) 後半に計算機の数字を順番に見ています

視線キャリブレーションの乱れも可視化できる

この「Pointer Control」をOnにして気がついたのですが、視線設定(アイトラッキングのキャリブレーション)がしっかり行われていないと、この視線カーソルが左右で大幅にずれていたり、動きが乱れてドリフトしたりしていました。

視線のキャリブレーションをやり直したら、表示される視線カーソルもブレがなくなり安定しました。

最近、目線でポインターが合わせづらいなと思っていたので、そのようなキャリブレーションのズレを把握するためにも有効な機能だと気が付きました。

他の視線追跡対応XRデバイスとVision Proの比較

他社のXR(AR/VR/MR)デバイスでは、視線追跡機能が搭載されている場合、開発者がそのデータを利用できるケースが多いです。
代表的な例を挙げてみます。

Meta Quest Pro (販売終了)

Meta社の高級VRヘッドセットQuest Proは視線追跡と顔の表情トラッキングに対応しており、レンダリング負荷軽減(ダイナミックフォビエイテッドレンダリング)やアバターの目線表現などに活用されています。開発者はシステムの許可機構を通じてユーザーの同意を得れば視線データにアクセス可能で、OSに「Eye Tracking」のアクセス許可が実装されています​

Vision Proとは対照的に、サードパーティアプリでも視線情報をインタラクションや分析に利用できるデバイスとなります。さすがPro、と言おうと思いましたが、どちらも Pro ですね。

Microsoft HoloLens 2(販売終了)

マイクロソフトのMRヘッドセットHoloLens 2も高精度な視線追跡を備え、ユーザーの注視する対象を選択したりする基本入力として活用されています。開発者向けに視線(注視点)の情報を取得するAPIが公開されており、アプリ起動時にユーザーの許可を得て使用できました。
https://learn.microsoft.com/en-us/windows/mixed-reality/design/eye-tracking

ただ、Apple Vision Proと比べると取得できる視線の精度は低かったように思います。代わりに、メガネをかけていても使えるのは良い点だったと思います。
Apple Vision Proはコンタクトレンズでもソフトは良いけど、ハードコンタクトはダメなので。。

Magic Leap 2(販売終了?)

Magic Leap社のARヘッドセットMagic Leap 2も視線追跡機能を強化しており、約60Hzでユーザーの見つめる方向を取得できます​。

Magic Leap 2用のEye Tracking APIでは、ユーザーの瞳孔位置や視線ベクトルなどの情報が提供され、さらに開発者は4基の内蔵眼球カメラが捉えた生のグレースケール映像にアクセスすることも可能です。​
https://developer-docs.magicleap.cloud/docs/guides/features/eye-tracking/

Vision Proと比べ、Magic Leap 2は企業用途で視線データを直接活用する柔軟性があります。

Varjo XR-3 など

Varjo社の業務用高性能XRデバイス(XR-3やVR-3、Aeroなど)は、人間の網膜と同等の解像度を目指したディスプレイと「20/20 Eye Tracker」と呼ばれる高度な視線追跡システムを搭載しています。Varjoは開発者に対し公式の視線トラッキングAPIを公開しており、アプリケーション内でユーザーの視線を利用したり、視線情報をログとして記録して分析することができます​。
さらにヘッドセットの映像出力と視線データを同時に記録するゲイズデータロギング機能も提供されており、ユーザーの視界映像に注視点のマーカーを重ねた動画を取得可能です​。

https://developer.varjo.com/docs/get-started/eye-tracking-with-varjo-headset

これらはVision Proにはない開発向け機能であり、研究やトレーニング用途では他社デバイスが選択される要因となっています。

Tobii Pro グラス 3

Tobii Pro グラス 3などは視線計測に特化したデバイスで高精度で視線が取得でき、あわせてジャイロセンサーなどを活用して、頭部の動きも取得できるようです。
https://www.tobii.com/ja/products/eye-trackers/wearables/tobii-pro-glasses-3
※手の動きがとれなさそうなのは残念。

その他のデバイス

上記以外にも、SonyのPlayStation VR2(PS5向けVRヘッドセット)は視線追跡によるフォビエイテッドレンダリング技術を搭載していますし、Pico社のPico 4 Enterprise(企業向けモデル)は視線・表情トラッキング機能が有効化されています​

多くのデバイスでは視線データへのアクセスはユーザー許可の下で開発者に開放されており、Vision Proほど厳格に制限している例は現状では少ないのが実情です。

https://developer.picoxr.com/document/unreal/eye-tracking/

まとめ

Apple Vision Pro の視線機能がアプリ開発使えるか調べてみましたが、生の視線データへのアクセスは現時点ではできないようでした。

代わりに、ポインターコントロールで視線を可視化することができるので、それを代替手段として映像を録画したり、外部送信することで、別の画像解析システムと連携することはできそうだなと思いました。

比較的高精度の視線情報が取得できるので、その応用方法に関してもいろいろ実験、検証してみたいと思います。
一緒に自社の業務やサービスに活用できないか検証したいという企業様がいましたら、是非お声がけください。

関連Webサイト

ホロラボのテックブログ

Discussion

ログインするとコメントできます