Взгляд на основе взгляда на HoloLens 2Eye-gaze-based interaction on HoloLens 2

Демонстрация отслеживания взгляда в МРТК

Одной из наших замечательных новых возможностей в HoloLens 2 является отслеживание взгляда.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 new type of user input and there's a lot to learn.

В то время как входные данные взгляда на глаза используются только в нашей оболочке (пользовательский интерфейс, отображаемый при запуске HoloLens 2), несколько приложений, например "HoloLens Playground", представляют отличные примеры того, как ввод с глазным взглядом может добавить к волшебному эффекту.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. На этой странице обсуждаются вопросы проектирования по интеграции ввода взгляда с глазами для взаимодействия с более holographic приложениями.On this page, we discuss design considerations for integrating eye-gaze input to interact with your holographic applications.

Вы узнаете о ключевых преимуществах, а также о уникальных проблемах, возникающих при вводе взгляда на глаза.You'll 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. Еще одним важным преимуществом является возможность определить, к чему пользователь оплачивает внимание.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 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

Хотя взгляд можно использовать для создания соответствия с пользовательским интерфейсом, что делает вас похожим на супергерой, также важно иметь представление о том, что не подходит для соответствующей организации.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. В следующем списке рассматриваются некоторые проблемы , которые следует учитывать, а также способы их устранения при работе с входными данными взгляда.The following list discusses some challenges to consider and how to address them when working with eye-gaze input:

  • Взгляд на глаза — "Always On" Когда вы откроете Лидс глаз, ваши глаза начнут фиксатинг на вещи в среде.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. Мы рекомендуем сочетать глаз с помощью команды Voice, жеста, нажатия кнопки или расширенного вдаваясь, чтобы активировать выбор цели (Дополнительные сведения см. в разделе глаз-взгляд и 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). Это решение также обеспечивает режим, в котором пользователь может просмотреться без лишних пошагового запуска чего-либо.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'll 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? В этом описана двойная роль глаза — Взгляните, когда она необходима для входа и управления.This describes the double role of eye-gaze when it's 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 (for example, an air tap). Обратите особое внимание на синхронизацию сигнала быстрого взгляда с более медленным входом (например, с помощью голоса, руки, контроллера).Pay special attention to synchronizing the fast eye-gaze signal with slower control input (for example, 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 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.

Рекомендации по проектированиюDesign recommendations

Ниже приведен список конкретных рекомендаций по проектированию, основанных на указанных преимуществах и проблемах для ввода взгляда на глаза:The following is a list of specific design recommendations based on the described advantages and challenges for eye-gaze input:

  1. Глаз — взгляд не так уж, как Head-взгляд:Eye-gaze isn't the same as Head-gaze:

    • Рассмотрите возможность быстрого перемещения с неоднородным предвижением глаз в соответствии с вашей задачей ввода: Несмотря на то, что наши быстрые и неоднородные движения глаз отлично подходят для быстрого выбора целевых объектов в нашем поле зрения, они менее применимы для задач, требующих сглаживания входных траекторий (например, для рисования или енЦирклинг заметок).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 this case, hand or head pointing should be preferred.

    • Старайтесь не прикреплять что-либо непосредственно к глазу пользователя (например, к ползунку или курсору).Avoid attaching something directly to the user’s eye-gaze (for example, a slider or cursor). При использовании курсоров это может привести к эффекту "флиинг Cursor" из-за незначительных смещений в прогнозируемом сигнале взгляда.With cursors, this may result in a "fleeing cursor" effect because of slight offsets in the projected eye-gaze signal. С помощью ползунка может конфликтовать с двойной ролью управления ползунком с глазами, а также проверить, находится ли объект в нужном месте.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. В качестве примера ползунка имеет смысл использовать глаза-взгляните в сочетании с жестами руки.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 many 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. Пользователи могут стать перегруженными и нечеткими, особенно если сигнал неточен для этого пользователя.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's important that users are allowed to look around without triggering any (visual, auditory, and so on) feedback or actions. Объединение отслеживания взгляда с другим элементом управления вводом позволяет плавно переходить между наблюдения за отслеживанием взгляда и режимами управления вводом.Combining eye tracking with another input control allows smooth transitioning between eye tracking observation and input control modes.

    • Мощный поставщик контекста: С помощью сведений о месте и том, где пользователь просматривается при произнесении команды Voice или использовании жеста руки, можно легко передать входные данные по полю.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. Например: "Поместите здесь", чтобы быстро и свободно выбрать и разместить голограмму на сцене, взглянув на цель и предполагаемое место назначения.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.

    • Требуется для синхронизации входных данных мультимодальный: Сочетание быстрых движений с более сложными входами, такими как длинные речевые команды или жесты, несет ответственность за то, что пользователь уже продолжу Поиск до завершения и распознавания дополнительной входной команды.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. Если вы создаете собственные элементы управления вводом (например, пользовательские жесты), обязательно запишите в журнал SES для этой входной или приблизительно длительности, чтобы сопоставить его с тем, что пользователь просмотрел в прошлом.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. Незаметное замечание для ввода данных отслеживания взгляда: При рассмотрении целевого объекта полезно предоставить отзыв, чтобы указать, что система работает как намеченная, но должна быть незаметной.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 doing other subtle target behaviors, such as slow motions, such as slightly increasing the target size. Это означает, что система правильно определила, что пользователь просматривает цель без необходимости прерывания текущего рабочего процесса пользователя.This indicates 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: Don't force users to use specific eye movements (gaze gestures) to trigger actions in your application.

  5. Учетная запись для неточностей: Мы расразличимы два типа неточностей, которые заметны для пользователей: смещение и нарушение.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's suggested that you use a visual angle greater than 2° as a reference. Например, размер эскиза составляет примерно 2 ° в визуальном элементе при растяжении ARM.For instance, your thumbnail is about 2° in visual angle when you stretch out your arm. На этом основана следующая рекомендация.This leads to the following guidance:

    • Не вынуждайте пользователей выбирать мелкие целевые объекты.Don't force users to select tiny targets. Исследование показало, что если целевые объекты достаточно велики и система спроектирована хорошо, пользователи описывают их взаимодействия как простые и Magical.Research has shown that if targets are sufficiently large and system are designed well, users describe their interactions as effortless, and magical. Если же целевые объекты становятся слишком маленькими, взаимодействие вызывает у пользователей усталость и раздражение.If targets become too small, users describe the experience as fatiguing and frustrating.

На этой странице предоставлен хороший обзор, чтобы приступить к пониманию взгляда в качестве входных данных в смешанной реальности.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