HoloLens 2 での視線に基づく対話Eye-gaze-based interaction on HoloLens 2

MRTK の視線追跡デモ

HoloLens 2 のすばらしい新機能の1つは、視線追跡です。One of our exciting new capabilities on HoloLens 2 is eye tracking. HoloLens 2 での目の追跡 」ページでは、開発者向けガイダンスや強調表示のために強調表示されているユースケースを使用して、各ユーザーが 調整を行う必要があることを説明しました。On our Eye tracking on HoloLens 2 page, we mentioned the need for each user to go through a Calibration, provided some developer guidance and highlighted use cases for eye tracking. 目を見つめた入力は、かなり新しい種類のユーザー入力であり、学ぶことはたくさんあります。Eye-gaze input is still a pretty new type of user input and there is a lot to learn. Holographic シェルエクスペリエンス (HoloLens 2 を開始したときに表示されるユーザーインターフェイス) では、視線入力が非常に微妙に使用されていますが、 "Hololens プレイグラウンド"などのいくつかのアプリは、Holographic エクスペリエンスのマジックに目を見つめて入力する方法についての優れた例を示しています。While eye-gaze input is only used very subtly in our Holographic Shell experience (the user interface that you see when you start your HoloLens 2), several apps, such as the "HoloLens Playground", showcase great examples on how eye-gaze input can add to the magic of your holographic experience. このページでは、視線入力を統合して holographic アプリケーションと対話するための設計上の考慮事項について説明します。On this page, we discuss design considerations for integrating eye-gaze input to interact with your holographic applications. 主な利点について説明するとともに、目を見つめた入力に付随する独自の課題についても説明します。You will learn about key advantages and also unique challenges that come with eye-gaze input.
これらの情報に基づいて、サポートされているユーザーインターフェイスの要件を満たすための設計上の推奨事項をいくつか提供します。Based on these, we provide several design recommendations to help you create satisfying eye-gaze-supported user interfaces.

デバイス サポートDevice support

機能Feature HoloLens (第 1 世代)HoloLens (1st gen) HoloLens 2HoloLens 2 イマーシブ ヘッドセットImmersive headsets
視線Eye-gaze ✔️✔️

視線入力のデザインガイドラインEye-gaze input design guidelines

高速移動の視点を利用する相互作用を構築するのは困難な場合があります。Building an interaction that takes advantage of fast-moving eye targeting can be challenging. このセクションでは、アプリケーションの設計時に考慮する必要がある主な利点と課題をまとめます。In this section, we summarize the key advantages and challenges to consider when designing your application.

視線入力の利点Benefits of eye-gaze input

  • 高速ポインティング。High speed pointing. 視線筋肉は、人間の本文で最も速く反応する筋肉です。The eye muscle is the fastest reacting muscle in the human body.

  • 低労力。Low effort. 身体の動きがほとんど必要ありません。Barely any physical movements are necessary.

  • 暗黙。Implicitness. 多くの場合、ユーザーによって "覚えている" ことが示されます。ユーザーの目の動きに関する情報によって、ユーザーがどのターゲットに参加するかをシステムが把握できるようになります。Often described by users as "mind reading", information about a user's eye movements lets the system know which target the user plans to engage.

  • 代替入力チャネル。Alternative input channel. 視線を使用すると、ユーザーからの手動による調整に基づく長年の経験に基づいて、手書き入力や音声入力に対する強力なサポート入力を提供できます。Eye-gaze can provide a powerful supporting input for hand and voice input building on years of experience from users based on their hand-eye coordination.

  • 視覚的注意。Visual attention. もう1つの重要な利点は、ユーザーがどのようなことに注目しているかを推測できることです。Another important benefit is the possibility to infer what a user is paying attention to. これは、さまざまなアプリケーション領域において、より効率的なユーザーインターフェイスとリモート通信のためのソーシャルキューの強化を効果的に評価できるようにするために役立ちます。This can help in various application areas ranging from more effectively evaluating different designs to aiding in smarter user interfaces and enhanced social cues for remote communication.

簡単に言うと、入力としての視線を使用すると、高速で簡単なコンテキスト入力信号が提供されます。In a nutshell, using eye-gaze as an input offers a fast and effortless contextual input signal. これは、 音声 入力や 手動 入力などの他の入力と組み合わせてユーザーの意図を確認する場合に特に強力です。This is particularly powerful when combined with other inputs such as voice and manual input to confirm the user's intent.

入力としての目を見つめた課題Challenges of eye-gaze as an input

多くの場合、には多くの責任があります。With lots of power, comes lots of responsibility. 視線を使用して、スーパーヒーローのようなユーザーエクスペリエンスを実現することができますが、適切に対応できないことを把握しておくことも重要です。While eye-gaze can be used to create satisfying user experiences which make you feel like a superhero, it is also important to know what it is not good at to appropriately account for this. ここでは、注意すべきいくつかの 課題 と、視線入力を操作するときの対処方法について説明します。The following discusses some challenges to consider and how to address them when working with eye-gaze input:

  • 視線が "常時オン" になってい ます。目の蓋を開くと、環境内での作業が開始されます。Your eye-gaze is "always on" The moment you open your eye lids, your eyes start fixating on things in the environment. 作成したすべての外観に反応して、アクションを誤って発行しています。これは、時間がかかりすぎているために、満足できない結果になる可能性があるためです。Reacting to every look you make and accidentally issuing actions, because you looked at something for too long, would result in an unsatisfying experience. そのため、ターゲットの選択をトリガーするために、 音声コマンドハンドジェスチャボタンクリック 、または拡張熟考を使用して視線を組み合わせることをお勧めします (詳細については、「 視線とコミット」を参照してください)。Therefore, we recommend combining eye-gaze with a voice command, hand gesture, button click or extended dwell to trigger the selection of a target (for more information see eye-gaze and commit). また、このソリューションでは、involuntarily によって何かをトリガーすることなく、ユーザーが自由に検索できるモードを使用することもできます。This solution also allows for a mode in which the user can freely look around without being overwhelmed by involuntarily triggering something. この問題は、ターゲットを見るときにビジュアルと聴覚のフィードバックをデザインするときにも考慮する必要があります。This issue should also be considered when designing visual and auditory feedback when looking at a target. すぐにポップアウト効果やホバーサウンドを使用して、ユーザーの過負荷にならないようにしてください。Try not to overwhelm the user with immediate pop-out effects or hover sounds. はらみはキーです。Subtlety is key. ここでは、設計に関する 推奨事項について説明する際に、以下のベストプラクティスについて説明します。We will discuss some best practices for this further below when talking about design recommendations.

  • 監視と制御 たとえば、壁の写真を正確にためるとします。Observation vs. control Imagine that you want to precisely straighten a photograph on your wall. 写真の縁と周囲を見て、揃っているかどうかを確認します。You look at its borders and its surroundings to see if it aligns well. 次に、画像を移動するための入力として目を見つめて使用する方法を考えてみましょう。Now imagine how you would do that when you want to use your eye-gaze as an input to move the picture. 難しいのではないでしょうか。Difficult, isn't it? これは、入力と制御の両方に必要な場合に、視線の2つの役割について説明します。This describes the double role of eye-gaze when it is required both for input and control.

  • クリックする前に移動する: クイックターゲットを選択する場合は、ユーザーの目を見つめて、手動でクリックする前 (たとえば、エアタップ) に移動できることが調査によって示されています。Leave before click: For quick target selections, research has shown that a user's eye-gaze can move on before concluding a manual click (e.g., an air tap). そのため、より低速なコントロール入力 (音声、ハンド、コントローラーなど) を使用して、高速の視線信号を同期するには、特別な注意が必要です。Hence, special attention must be paid to synchronizing the fast eye-gaze signal with slower control input (e.g., voice, hands, controller).

  • 小さいターゲット: 少し小さすぎて読むことができないテキストを読み込んだときに感じていることがわかりますか。Small targets: Do you know the feeling when you try to read text that is just a bit too small to read comfortably? これにより、目を絞り込むことができます。これは、注目を再調整しようとしているため、気がかかることがあります。This straining feeling on your eyes can cause you to feel tired and worn out, because you try to readjust your eyes to focus better. これは、ユーザーが視点を使用してアプリケーションで小さすぎるターゲットを選択する必要がある場合に、ユーザーに対して呼び出す可能性があります。This is a feeling you might invoke in your users when forcing them to select targets that are too small in your application using eye targeting. 設計に際しては、ユーザーにとって楽しく快適なエクスペリエンスを作るため、ターゲットを視角で 2 度以上にする (さらに大きい方が好ましい) ことをお勧めします。For your design, to create a pleasant and comfortable experience for your users, we recommend that targets should be at least 2° in visual angle, preferably larger.

  • 不規則な視点の移動 この目では、固定から固定への迅速な移動を行います。Ragged eye-gaze movements Our eyes perform rapid movements from fixation to fixation. 記録された目の動きのスキャン パスを見ると、視線が不規則に動いていることがわかります。If you look at scan paths of recorded eye movements, you can see that they look ragged. 視線は、頭の中や 手の動き と比較して、すばやく、自然 ジャンプに移動します。Your eyes move quickly and in spontaneous jumps in comparison to head-gaze or hand motions.

  • 信頼性の追跡: 目を通して精度を調整すると、目が新しい条件に合わせて変化する光がわずかに低下する可能性があります。Tracking reliability: Eye tracking accuracy may degrade a little in changing light as your eyes adjust to the new conditions. これは必ずしもアプリケーションの設計に影響を与えるわけではありませんが、精度は2°の制限内にあるため、ユーザーが再調整する必要がある場合があります。While this should not necessarily affect your application design, as the accuracy should be within the 2° limitation, it may be necessary for the user to calibrate again.

設計の推奨事項Design recommendations

次に示すのは、目を見つめた入力の利点と課題に基づいた、設計に関する特定の推奨事項の一覧です。The following is a list of specific design recommendations based on the described advantages and challenges for eye-gaze input:

  1. 視線は、ヘッド見つめと同じではありません。Eye-gaze is not the same as Head-gaze:

    • 次のように、入力タスクに均等な動きが高速であるかどうかを検討します。 ビューのフィールド全体でターゲットをすばやく選択すると、高速で不規則な目の動きが非常に優れていますが、smooth input 軌道 (描画や encircling の注釈など) を必要とするタスクには適用できません。Consider whether fast yet ragged eye movements fit your input task: While our fast and ragged eye movements are great at quickly selecting targets across our field of view, it is less applicable for tasks that require smooth input trajectories (e.g., drawing or encircling annotations). この場合は、手または頭によるポインティングをお勧めします。In this case, hand or head pointing should be preferred.

    • ユーザーの目を見つめた (スライダーやカーソルなど) に直接接続することは避けてください。Avoid attaching something directly to the user’s eye-gaze (e.g., a slider or cursor). カーソルの場合は、投影された視線の信号のわずかなオフセットが原因で "fleeing cursor" 効果が生じる可能性があります。In case of a cursor, this may result in a "fleeing cursor" effect due to slight offsets in the projected eye-gaze signal. スライダーの場合は、スライダーを目で制御する2つの役割と競合し、オブジェクトが正しい位置にあるかどうかを確認することもできます。In case of a slider, it can conflict with the double role of controlling the slider with your eyes while also wanting to check whether the object is at the correct location. スライダーの例については、目を見つめてハンドジェスチャと組み合わせて使用する方がよりわかりやすくなっています。For the example of the slider, it makes more sense to use eye-gaze in combination with hand gestures. これは、ユーザーがさまざまなスライダーをすばやく簡単に切り替えることができることを意味し、手をピンチ、親指とインデックスの指をつかんで移動させることができます。This means that the user could quickly and effortlessly switch among a number of sliders, raising up their hand and pinching their thumb and index finger to grab and move it. ピンチが離されると、スライダーは移動を停止します。When the pinch is released, the slider stops moving. 簡単に言うと、ユーザーにとっては特に、ユーザーの信号が不正確になる可能性があります。In a nutshell, users could become overwhelmed and distracted, especially if the signal is imprecise for that user.

  2. 視線を他の入力と結合します。 ハンドジェスチャ、音声コマンド、ボタンの押下など、他の入力との視線追跡の統合には、いくつかの利点があります。Combine eye-gaze with other inputs: The integration of eye tracking with other inputs, such as hand gestures, voice commands or button presses, provides several advantages:

    • 無料監視を許可する: 私たちの主な役割は、環境を観察することであるということです。ユーザーは、(ビジュアル、聴覚などの) フィードバックまたはアクションをトリガーしなくても、ユーザーが検索できるようにすることが重要です。Allow for free observation: Given that the main role of our eyes is to observe our environment, it is important that users are allowed to look around without triggering any (visual, auditory, etc.) feedback or actions. 視線追跡と別の入力コントロールを組み合わせることにより、視線監視と入力制御モードの間でスムーズに遷移できます。Combining eye tracking with another input control allows smooth transitioning between eye tracking observation and input control modes.

    • 強力なコンテキストプロバイダー: 音声コマンドを使用したり、手の形でジェスチャを実行したりしているときに、ユーザーがどこで見ているかについての情報を使用することによって、入力を channeling にシームレスに表示できます。Powerful context provider: Using information about where and what the user is looking at while saying a voice command or performing a hand gesture allows seamlessly channeling the input across the field-of-view. たとえば、 "put the it" を迅速かつ自由に選択し、その目的を特定するだけでシーン全体にホログラムを配置するとします。For example: Say "put that there" to quickly and fluently select and position a hologram across the scene by simply looking at a target and its intended destination.

    • マルチ モーダル入力の同期が必要: 長い音声コマンドやハンドジェスチャなど、より複雑な追加入力を使用して迅速な移動を組み合わせると、追加の入力コマンドが完了して認識される前に、ユーザーが既に見ているようなリスクがあります。Need for synchronizing multimodal inputs: Combining rapid eye movements with more complex additional inputs, such as long voice commands or hand gestures, bears the risk that the user already continues to look around before the additional input command is finished and recognized. したがって、独自の入力コントロール (カスタムハンドジェスチャなど) を作成する場合は、この入力の先頭またはおおよその期間を記録して、ユーザーが過去に見た内容と関連付けられるようにしてください。Hence, if you create your own input controls (e.g., custom hand gestures), make sure to log the onset of this input or approximate duration to correlate it with what a user had looked at in the past.

  3. 視線の追跡入力に関する微妙なフィードバック: システムが意図したとおりに動作していることを示すためにターゲットを検索するときにフィードバックを提供すると便利ですが、微妙に保つ必要があります。Subtle feedback for eye tracking input: It's useful to provide feedback when a target is looked at to indicate that the system is working as intended but should be kept subtle. これには、ユーザーの現在のワークフローを不必要に中断することなく、ターゲットのサイズを少し増やしても、システムでユーザーがターゲットを見ていることを正しく検出したことを示すために、低速なブレンド、インおよびアウト、視覚ハイライト、またはその他の微妙なターゲット動作 (ターゲットサイズの若干増加など) があります。This can include slowly blending, in and out, visual highlights or perform other subtle target behaviors, such as slow motions, such as slightly increasing the target size, to indicate that the system correctly detected that the user is looking at a target without unnecessarily interrupting the user’s current workflow.

  4. 不自然な目の動きを入力として適用しないようにします。 アプリケーションのアクションをトリガーするために、ユーザーが特定の目の動き (宝石のジェスチャ) を実行しないようにします。Avoid enforcing unnatural eye movements as input: Do not force users to perform specific eye movements (gaze gestures) to trigger actions in your application.

  5. 不正確性のアカウント: ユーザーにとってわかりやすく、オフセットとジッターという2種類の不正確性を区別します。Account for imprecisions: We distinguish two types of imprecisions which are noticeable to users: offset and jitter. オフセットに対処する最も簡単な方法は、操作に十分なサイズのターゲットを提供することです。The easiest way to address an offset is to provide sufficiently large targets to interact with. 2°を超える視覚的な角度を参照として使用することをお勧めします。It is suggested that you use a visual angle greater than 2° as a reference. たとえば、arm を拡張すると、サムネイルの表示角度が約2°になります。For instance, your thumbnail is about 2° in visual angle when you stretch out your arm. これが次のガイダンスにつながります。This leads to the following guidance:

    • ユーザーが小さいターゲットを選択することを強制しないでください。Do not force users to select tiny targets. ここでは、ターゲットが十分に大きく、システムが適切に設計されている場合に、ユーザーの対話を簡単で魔法のない方法で記述しています。Research has shown that if targets are sufficiently large, and that the system is designed well, users describe their interactions as effortless and magical. ターゲットを小さくしすぎると、ユーザーはエクスペリエンスを疲れる、いらだたしいものと表現します。If targets become too small, users describe the experience as fatiguing and frustrating.

このページには、mixed reality での入力としての視点を理解するのに役立つ概要が示されています。This page provided you with a good overview to get you started understanding eye-gaze as an input in mixed reality. 開発を開始するには、 Unity と、 DirectX での視線に関する情報を確認してください。To get started developing, check out our information on eye-gaze in Unity and eye-gaze in DirectX.

関連項目See also