Interazione basata sugli sguardi su HoloLens 2Eye-gaze-based interaction on HoloLens 2

Demo sul rilevamento degli occhi in MRTK

Una delle nuove interessanti funzionalità di HoloLens 2 è la verifica degli occhi.One of our exciting new capabilities on HoloLens 2 is eye tracking. Nella pagina HoloLens 2 è stata illustrata la necessità di ogni utente di eseguire una calibrazione, fornite alcune indicazioni per gli sviluppatori e casi d'uso evidenziati per la verifica degli occhi.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. L'input con sguardo oculare è ancora un nuovo tipo di input dell'utente ed è necessario apprendere molto.Eye-gaze input is still a new type of user input and there's a lot to learn.

Anche se l'input con sguardo oculare viene usato solo in modo impercettibile nell'esperienza della shell olografica (l'interfaccia utente visualizzata quando si avvia HoloLens 2), più app, ad esempio "HoloLens Playground", presentano esempi eccezionali sul modo in cui l'input dello sguardo può essere aggiunto alla magia dell'esperienza olografica.While eye-gaze input is only used 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. In questa pagina vengono illustrate le considerazioni di progettazione per l'integrazione dell'input Eye-sguardi per interagire con le applicazioni olografiche.On this page, we discuss design considerations for integrating eye-gaze input to interact with your holographic applications.

Verranno fornite informazioni sui vantaggi principali, oltre a una sfida univoca in grado di ottenere un input mirato.You'll learn about key advantages and also unique challenges that come with eye-gaze input. In base a questi, sono disponibili diversi consigli per la progettazione che consentono di creare interfacce utente supportate da sguardi oculisti.Based on these, we provide several design recommendations to help you create satisfying eye-gaze-supported user interfaces.

Supporto di dispositiviDevice support

FunzionalitàFeature HoloLens (prima generazione)HoloLens (1st gen) HoloLens 2HoloLens 2 Visori VR immersiveImmersive headsets
Sguardo attentoEye-gaze ✔️✔️

Linee guida per la progettazione di input con sguardo attentoEye-gaze input design guidelines

La creazione di un'interazione che sfrutta la scelta rapida per gli occhi in rapida evoluzione può risultare complessa.Building an interaction that takes advantage of fast-moving eye targeting can be challenging. In questa sezione vengono riepilogati i vantaggi e le questioni principali da considerare durante la progettazione dell'applicazione.In this section, we summarize the key advantages and challenges to consider when designing your application.

Vantaggi dell'input con sguardo a occhioBenefits of eye-gaze input

  • Puntamento ad alta velocità.High speed pointing. Il muscolo occhi è il muscolo più veloce nel corpo umano.The eye muscle is the fastest reacting muscle in the human body.

  • Sforzo limitato.Low effort. Non sono quasi necessari movimenti fisici.Barely any physical movements are necessary.

  • Natura implicita.Implicitness. Spesso descritta dagli utenti come "lettura mentale", le informazioni sui movimenti degli occhi di un utente consentono al sistema di sapere quale destinazione prevede l'intervento dell'utente.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.

  • Canale di input alternativo.Alternative input channel. Eye-sguardi può offrire un potente input di supporto per l'input vocale e di mano che si basa su anni di esperienza degli utenti in base al coordinamento degli occhi.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.

  • Attenzione visiva.Visual attention. Un altro vantaggio importante è la possibilità di dedurre ciò a cui un utente presta attenzione.Another important benefit is the possibility to infer what a user is paying attention to. Questo può essere utile in diverse aree applicative, da valutare in modo più efficace le diverse progettazioni per aiutare le interfacce utente più intelligenti e suggerimenti sociali avanzati per la comunicazione remota.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 breve, l'uso di Eye-sguardi come input offre un segnale di input contestuale rapido e semplice.In a nutshell, using eye-gaze as an input offers a fast and effortless contextual input signal. Questa funzionalità è potente se combinata con altri input, ad esempio la voce e l'input manuale , per confermare le finalità dell'utente.This is powerful when combined with other inputs such as voice and manual input to confirm the user's intent.

Problemi di Eye-sguardi come inputChallenges of eye-gaze as an input

Sebbene sia possibile usare gli sguardi per creare esperienze utente soddisfacenti, che rendono un supereroe, è anche importante sapere che cosa non è adatto a tenere in considerazione questo aspetto.While eye-gaze can be used to create satisfying user experiences, which make you feel like a superhero, it's also important to know what it isn't good at to appropriately account for this. Nell'elenco seguente vengono illustrate alcune delle questioni da prendere in considerazione e come risolverle quando si lavora con l'input Eye-sguardi:The following list discusses some challenges to consider and how to address them when working with eye-gaze input:

  • Il controllo degli sguardi è "always on" Nel momento in cui si aprono i coperchi degli occhi, gli occhi iniziano a fissando su elementi nell'ambiente.Your eye-gaze is "always on" The moment you open your eye lids, your eyes start fixating on things in the environment. Reagire a ogni aspetto effettuato e rilasciare accidentalmente le azioni, perché si è verificato un problema troppo lungo, comporterebbe un'esperienza insoddisfacente.Reacting to every look you make and accidentally issuing actions, because you looked at something for too long, would result in an unsatisfying experience. Si consiglia di combinare gli sguardi con un comando vocale, un gesto della mano, un clic del pulsante o un'abitazione estesa per attivare la selezione di una destinazione (per altre informazioni, vedere Eye-sguardi e commit).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). Questa soluzione consente anche una modalità in cui l'utente può esaminarsi liberamente senza essere sopraffatto dall'attivazione involontaria di qualcosa.This solution also allows for a mode in which the user can freely look around without being overwhelmed by involuntarily triggering something. Questo problema deve essere preso in considerazione anche quando si progettano commenti visivi e uditivi quando si esamina una destinazione.This issue should also be considered when designing visual and auditory feedback when looking at a target. Provare a non sovraccaricare l'utente con effetti di pop-out immediati o rumori al passaggio del mouse.Try not to overwhelm the user with immediate pop-out effects or hover sounds. La sottigliezza è Key.Subtlety is key. Verranno illustrate alcune procedure consigliate per questo più avanti quando si parlano le raccomandazioni di progettazione.We'll discuss some best practices for this further below when talking about design recommendations.

  • Confronto tra osservazione e controllo Si supponga di voler raddrizzare con precisione una fotografia sulla parete.Observation vs. control Imagine that you want to precisely straighten a photograph on your wall. Guardi pertanto i bordi e l'area circostante per verificare che l'immagine sia allineata correttamente.You look at its borders and its surroundings to see if it aligns well. A questo punto, si supponga di voler usare il proprio sguardo come input per spostare l'immagine.Now imagine how you would do that when you want to use your eye-gaze as an input to move the picture. L'esecuzione diventa veramente difficoltosa.Difficult, isn't it? Viene descritto il doppio ruolo degli occhi quando è necessario sia per l'input che per il controllo.This describes the double role of eye-gaze when it's required both for input and control.

  • Lasciare prima di fare clic su: Per le selezioni di destinazione rapide, la ricerca ha dimostrato che lo sguardo a un utente può proseguire prima di concludere un clic manuale (ad esempio, un rubinetto aria).Leave before click: For quick target selections, research has shown that a user's eye-gaze can move on before concluding a manual click (for example, an air tap). Prestare particolare attenzione alla sincronizzazione del segnale di sguardo rapido con un input di controllo più lento (ad esempio, Voice, Hands, controller).Pay special attention to synchronizing the fast eye-gaze signal with slower control input (for example, voice, hands, controller).

  • Destinazioni di piccole dimensioni: Si conosce la sensazione quando si tenta di leggere il testo che è troppo piccolo per leggere comodamente?Small targets: Do you know the feeling when you try to read text that is just a bit too small to read comfortably? Questa sensazione di limitazione degli sguardi può comportare la disattivazione e l'esaurimento, perché si tenta di modificare gli occhi per concentrarsi meglio.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. Si tratta di un sentimento che è possibile richiamare negli utenti quando si impone loro di selezionare destinazioni troppo piccole nell'applicazione usando la destinazione degli occhi.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. Durante la progettazione, per creare un'esperienza piacevole e confortevole per gli utenti, è consigliabile definire destinazioni con un angolo visivo di almeno 2 gradi.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.

  • Spostamenti occhi incompleti Gli occhi eseguono movimenti rapidi dalla fissa alla fissa.Ragged eye-gaze movements Our eyes perform rapid movements from fixation to fixation. Se guardi i percorsi di analisi dei movimenti oculari registrati, noterai che risultano irregolari.If you look at scan paths of recorded eye movements, you can see that they look ragged. Gli occhi si spostano rapidamente e in salti spontanei rispetto ai movimenti a capo o a mano.Your eyes move quickly and in spontaneous jumps in comparison to head-gaze or hand motions.

  • Verifica dell'affidabilità: L'accuratezza del rilevamento degli sguardi può compromettere leggermente la luce quando gli occhi si adattano alle nuove condizioni.Tracking reliability: Eye tracking accuracy may degrade a little in changing light as your eyes adjust to the new conditions. Sebbene questo non debba necessariamente influire sulla progettazione dell'applicazione, in quanto l'accuratezza dovrebbe rientrare nel limite di 2 °, potrebbe essere necessario che l'utente ricalibra nuovamente.While this shouldn't necessarily affect your application design, as the accuracy should be within the 2° limitation, it may be necessary for the user to calibrate again.

Suggerimenti per la progettazioneDesign recommendations

Di seguito è riportato un elenco di raccomandazioni di progettazione specifiche in base ai vantaggi e alle problemi descritti per l'input degli sguardi:The following is a list of specific design recommendations based on the described advantages and challenges for eye-gaze input:

  1. Gli sguardi occhi non sono gli stessi:Eye-gaze isn't the same as Head-gaze:

    • Considerare se i movimenti degli occhi veloci ma incompleti si adattano all'attività di input: Sebbene i nostri movimenti rapidi e incompleti siano molto rapidi quando si selezionano rapidamente le destinazioni nel campo di visualizzazione, è meno applicabile per le attività che richiedono traiettorie di input uniformi, ad esempio la creazione o l'inclusione di annotazioni.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's less applicable for tasks that require smooth input trajectories (for example, drawing or encircling annotations). In questo caso, è preferibile usare il puntamento con la mano o con la testa.In this case, hand or head pointing should be preferred.

    • Evitare di allungare direttamente gli sguardi degli utenti (ad esempio, un dispositivo di scorrimento o un cursore).Avoid attaching something directly to the user’s eye-gaze (for example, a slider or cursor). Con i cursori, questo può comportare un effetto di "cursore in fuga" a causa di lievi offset nel segnale di sguardo proiettato.With cursors, this may result in a "fleeing cursor" effect because of slight offsets in the projected eye-gaze signal. Con un dispositivo di scorrimento, può essere in conflitto con il doppio ruolo del controllo del dispositivo di scorrimento con gli occhi, ma anche per verificare se l'oggetto si trova nella posizione corretta.With 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. Per l'esempio del dispositivo di scorrimento, è opportuno usare gli sguardi in combinazione con i movimenti della mano.For the example of the slider, it makes more sense to use eye-gaze in combination with hand gestures. Ciò significa che l'utente può spostarsi rapidamente e senza fatica tra molti dispositivi di scorrimento, sollevando la mano e pizzicando il pollice e l'indice per spostarlo.This means that the user could quickly and effortlessly switch among many sliders, raising up their hand and pinching their thumb and index finger to grab and move it. Quando il pizzico viene rilasciato, il dispositivo di scorrimento smette di essere spostato.When the pinch is released, the slider stops moving. Gli utenti possono diventare sopraffatti e distratti, soprattutto se il segnale è impreciso per tale utente.Users could become overwhelmed and distracted, especially if the signal is imprecise for that user.

  2. Combinare gli sguardi con gli altri input: L'integrazione di Eye Tracking con altri input, ad esempio movimenti della mano, comandi vocali o pressioni dei pulsanti, offre diversi vantaggi: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:

    • Consenti l'osservazione gratuita: Dato che il ruolo principale degli occhi è osservare l'ambiente, è importante che gli utenti siano autorizzati a cercare senza attivare commenti o azioni (visivi, uditivi e così via).Allow for free observation: Given that the main role of our eyes is to observe our environment, it's important that users are allowed to look around without triggering any (visual, auditory, and so on) feedback or actions. La combinazione di rilevamento degli occhi con un altro controllo di input consente una transizione uniforme tra le modalità di osservazione e controllo di input.Combining eye tracking with another input control allows smooth transitioning between eye tracking observation and input control modes.

    • Potente provider di contesto: Usando le informazioni su dove e cosa si sta osservando l'utente mentre viene detto un comando vocale o usando un movimento mano, è possibile canalizzare facilmente l'input nel campo della visualizzazione.Powerful context provider: Using information about where and what the user is looking at while saying a voice command or using a hand gesture allows seamlessly channeling the input across the field-of-view. Ad esempio, supponiamo di inserire un ologramma per selezionare e posizionare in modo rapido e scorrevole un ologramma nella scena osservando una destinazione e la destinazione desiderata.For example: Say "put that there" to quickly and fluently select and position a hologram across the scene by looking at a target and its intended destination.

    • Necessità di sincronizzare gli input multimodali: La combinazione di movimenti di occhi rapidi con input più complessi, ad esempio comandi di tipo Long Voice o movimenti della mano, presenta il rischio che l'utente continui a esaminare prima che il comando di input aggiuntivo venga terminato e riconosciuto.Need for synchronizing multimodal inputs: Combining rapid eye movements with more complex inputs, such as long voice commands or hand gestures, bears the risk that the user already continues to look around before the extra input command is finished and recognized. Se si creano controlli di input personalizzati, ad esempio movimenti della mano personalizzati, assicurarsi di registrare l'inizio di questo input o la durata approssimativa per correlarla a ciò che un utente ha esaminato in passato.If you create your own input controls (for example, 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. Feedback sottile per l'input di rilevamento degli occhi: È utile per fornire commenti e suggerimenti quando viene esaminata una destinazione per indicare che il sistema funziona come previsto, ma deve essere mantenuto sottile.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. Questo può includere la fusione lenta in uscita, le evidenziazioni visive o altri comportamenti di destinazione più sottili, ad esempio movimenti lenti, ad esempio un lieve aumento delle dimensioni di destinazione.This can include slowly blending in and out, visual highlights, or doing other subtle target behaviors, such as slow motions, such as slightly increasing the target size. Ciò indica che il sistema ha rilevato correttamente che l'utente sta esaminando una destinazione senza interrompere inutilmente il flusso di lavoro corrente dell'utente.This indicates that the system correctly detected that the user is looking at a target without unnecessarily interrupting the user’s current workflow.

  4. Evitare di applicare movimenti degli occhi non naturali come input: Non forzare gli utenti a usare movimenti oculari specifici (movimenti sguardi) per attivare azioni nell'applicazione.Avoid enforcing unnatural eye movements as input: Don't force users to use specific eye movements (gaze gestures) to trigger actions in your application.

  5. Account per l'imprecisione: Vengono distinti due tipi di imprecisioni, che sono evidenti per gli utenti: offset e jitter.Account for imprecisions: We distinguish two types of imprecisions, which are noticeable to users: offset and jitter. Il modo più semplice per risolvere un offset consiste nel fornire destinazioni sufficientemente grandi per interagire con.The easiest way to address an offset is to provide sufficiently large targets to interact with. Si consiglia di usare un angolo visivo maggiore di 2 ° come riferimento.It's suggested that you use a visual angle greater than 2° as a reference. Ad esempio, l'anteprima è di circa 2 ° nell'angolo visivo quando si allunga il ARM.For instance, your thumbnail is about 2° in visual angle when you stretch out your arm. Segui pertanto le indicazioni seguenti:This leads to the following guidance:

    • Non forzare gli utenti a selezionare destinazioni minuscole.Don't force users to select tiny targets. La ricerca ha dimostrato che se le destinazioni sono sufficientemente grandi e il sistema è progettato correttamente, gli utenti ne descrivono le interazioni in modo semplice e magico.Research has shown that if targets are sufficiently large and system are designed well, users describe their interactions as effortless, and magical. Se le destinazioni diventano troppo piccole, gli utenti descrivono l'esperienza come stancante e frustrante.If targets become too small, users describe the experience as fatiguing and frustrating.

Questa pagina offre una panoramica corretta per iniziare a comprendere gli sguardi come input in realtà mista.This page provided you with a good overview to get you started understanding eye-gaze as an input in mixed reality. Per iniziare a sviluppare, vedere le nostre informazioni sugli sguardi in Unity e sugli sguardi in DirectX.To get started developing, check out our information on eye-gaze in Unity and eye-gaze in DirectX.

Vedere ancheSee also