Если коротко:

Eye tracking определяет направление взгляда с помощью камер и инфракрасной подсветки внутри гарнитуры. После калибровки приложение может использовать эти данные для наведения интерфейса или динамического foveated rendering. Точка взгляда не раскрывает намерение человека без контекста, а её сохранение требует понятных правил обработки данных.

Eye tracking VR — технология, которая определяет направление взгляда пользователя внутри гарнитуры. Обычно для этого используются направленные на глаза камеры и инфракрасная подсветка: система находит зрачок и отражения на поверхности глаза, оценивает их положение, а после калибровки рассчитывает, куда смотрит человек. Результат нужен не только для управления интерфейсом. Его применяют в динамическом рендеринге, исследованиях внимания, обучающих сценариях и анимации аватаров.

Трекинг взгляда не читает мысли и не определяет намерение без контекста. Он выдаёт измерение: направление взгляда, точку пересечения с виртуальной сценой и служебные признаки качества данных. Уже приложение решает, считать ли это наведением, интересом к объекту или частью аналитики.

Из чего состоит система eye tracking

Встроенный трекер работает внутри оптического блока гарнитуры. В типичной схеме участвуют несколько компонентов:

  • одна или несколько камер, направленных на каждый глаз;
  • инфракрасные светодиоды, создающие контролируемую подсветку и заметные для камеры отражения;
  • алгоритм, который выделяет зрачок, блики и другие ориентиры;
  • модель глаза, связывающая наблюдаемое изображение с направлением взгляда;
  • калибровка под конкретного пользователя;
  • runtime или SDK, передающий результат приложению.

Камера получает последовательность кадров, а алгоритм строит луч взгляда относительно координат гарнитуры. Зная положение головы и геометрию сцены, приложение определяет объект или участок интерфейса, с которым пересекается луч.

Это отличается от трекинга гарнитуры и контроллеров. Внешние или фронтальные камеры помогают определить положение пользователя в пространстве, а внутренние камеры наблюдают за глазами. Они решают разные задачи.

Зачем нужна калибровка

Глаза, посадка гарнитуры и положение линз различаются. Поэтому перед точным использованием eye tracking система обычно просит посмотреть на несколько меток. На основе этих точек она сопоставляет изображение глаз с известными направлениями и настраивает модель под пользователя.

Калибровка может стать неточной, если гарнитура сдвинулась или после перерыва была надета иначе. На результат также влияют посадка, линзы, особенности глаз, очки и видимость зрачка для камер. Часть факторов компенсируется автоматически, но универсальной точности при любой посадке не существует.

Если взгляд используется только для крупного меню, небольшая погрешность может быть незаметна. Для исследований, оценки внимания и взаимодействия с мелкими объектами требования выше. В таких сценариях важны не рекламные обещания гарнитуры, а проверка конкретной выборки пользователей, повторная калибровка и фиксация качества данных.

Какие данные получает приложение

Разработчик обычно работает не с видеозаписью глаза, а с уже рассчитанными параметрами. Конкретный набор зависит от гарнитуры и API, но может включать:

  • направление взгляда для каждого глаза или объединённый луч;
  • положение начала луча;
  • признак валидности измерения;
  • временную метку;
  • сведения о закрытии глаз;
  • коэффициент уверенности или другой показатель качества.

В OpenXR расширение XR_EXT_eye_gaze_interaction описывает стандартизированный способ получить позу взгляда через пространство действия. Наличие расширения нужно проверять во время запуска: поддержка OpenXR сама по себе не означает, что eye tracking доступен на любой гарнитуре. Дополнительные данные, например параметры зрачка, могут оставаться в расширениях производителя.

Объединённого луча достаточно для многих интерфейсов, но исследовательской задаче могут понадобиться данные каждого глаза. В любом случае учитывают частоту выборки, задержку, пропуски, фильтрацию и метод расчёта показателей.

Где применяется трекинг взгляда

Управление интерфейсом

Взгляд помогает быстро указать объект, но его редко стоит использовать как единственное подтверждение действия. Человек постоянно осматривает сцену, поэтому немедленное срабатывание кнопки по одному наведению приводит к случайным командам. Более устойчивый вариант — выбрать цель взглядом, а подтвердить действие контроллером, жестом или коротким удержанием.

Для доступности взгляд может стать основным способом ввода. Тогда нужны крупные цели, понятное наведение, настраиваемое время удержания и возможность отменить действие.

Foveated rendering

Eye-tracked foveated rendering перемещает область максимальной детализации вслед за взглядом. Периферия обрабатывается проще, что может снизить нагрузку на GPU. Но встроенный трекер ещё не гарантирует выигрыш в конкретной игре: технологию должны поддерживать runtime, движок и приложение, а задержка всей цепочки должна быть достаточно низкой.

Подробно различие фиксированного и динамического режима разобрано в статье про foveated rendering в VR. Для оценки производительности нужен замер на целевой гарнитуре, а не вывод по одному пункту в характеристиках устройства.

Обучение и тренажёры

В тренажёре трекинг взгляда помогает проверить, заметил ли пользователь индикатор, предупреждение или опасный участок. Однако факт фиксации взгляда не доказывает понимание. Человек мог посмотреть на объект и не распознать его значение. Поэтому eye tracking дополняет результат упражнения, последовательность действий и вопросы на понимание, а не заменяет их.

В производственном сценарии заранее определяют измеряемое действие: осмотр зоны, порядок проверки приборов, пропуск сигнала или время поиска элемента. Порог фиксации задают до анализа результатов.

Исследования и тестирование интерфейсов

По траектории взгляда изучают, какие элементы замечают раньше, где задерживаются и что пропускают. Тепловая карта сама по себе не объясняет причину поведения: её сопоставляют с задачей, действиями и ошибками пользователя.

В VR отдельно учитывают движение головы: одинаковые точки на плоской проекции могут относиться к разному положению пользователя и контексту сцены.

Какие гарнитуры поддерживают eye tracking

Трекинг взгляда есть в профессиональных и некоторых потребительских устройствах, включая PlayStation VR2 и отдельные гарнитуры Varjo и HTC VIVE. Возможности зависят также от режима подключения, runtime и приложения.

При выборе устройства проверяйте четыре уровня совместимости:

  1. В гарнитуре физически есть камеры и подсветка для глаз.
  2. Функция доступна в используемом режиме работы устройства.
  3. Runtime или SDK предоставляет нужные данные.
  4. Приложение действительно использует их для заявленного сценария.

Для игры важна поддержка конкретного проекта, для разработки — API, для исследования — доступные данные и качество измерений. Характеристики сверяют с документацией производителя.

Почему трекер может терять взгляд

Трекер теряет взгляд, когда камера не получает устойчивое изображение глаза: из-за посадки, смещения гарнитуры, загрязнения оптики, положения линз или частичного перекрытия зрачка. Очки и особенности глаз тоже могут влиять на результат конкретной системы.

Если функция работала и перестала, полезно проверить по порядку:

  1. Очистить внутреннюю оптику способом, разрешённым производителем.
  2. Надеть гарнитуру ровно и отрегулировать ремни без чрезмерного давления.
  3. Проверить положение линз и настройку IPD.
  4. Запустить встроенную проверку или калибровку eye tracking.
  5. Убедиться, что функция включена в системных настройках и доступна выбранному приложению.
  6. Перезапустить runtime и проверить обновления гарнитуры.
  7. Сравнить результат в официальном тестовом приложении и в целевой программе.

Если встроенная демонстрация работает стабильно, а игра — нет, причина вероятнее находится в настройках или реализации приложения.

Задержка, точность и частота — разные показатели

Точность показывает, насколько рассчитанное направление близко к реальному. Повторяемость описывает разброс последовательных измерений при взгляде в одну точку. Частота определяет, сколько измерений система выдаёт за секунду. Задержка — сколько времени проходит от движения глаза до доступного приложению результата.

Высокая частота не гарантирует точности, а низкая средняя погрешность не исключает срывов. Для меню важна устойчивость, для динамического рендеринга — задержка, для исследования — документированный метод и одинаковая процедура.

Устройства нельзя сравнивать по одной цифре при разных условиях и способах усреднения. Проверка должна повторять будущий сценарий использования.

Приватность данных о взгляде

Направление взгляда может показывать, какие объекты привлекли внимание, как человек читает интерфейс и где затрудняется. Вместе с другими сигналами оно способно раскрывать больше, чем обычный клик. Поэтому собирать такие данные «на всякий случай» не стоит.

Перед записью нужно определить цель, минимальный набор параметров, срок хранения и круг доступа. Пользователю объясняют, сохраняется ли видеопоток глаз или только рассчитанные координаты, отправляются ли данные на сервер и можно ли отказаться без потери основной функции. Общие принципы разобраны в материале о приватности в VR-гарнитуре.

Для интерфейса часто достаточно локальной обработки без истории. Исследовательская запись требует согласия, ограничения доступа и заранее описанного анализа; юридические требования зависят от страны и состава данных.

Что проверить разработчику

Перед внедрением eye tracking полезно пройти короткий технический чек-лист:

  • определить, какую задачу нельзя так же хорошо решить контроллером или движением головы;
  • проверить поддержку целевых устройств и нужного расширения runtime;
  • предусмотреть работу без валидного взгляда;
  • разделить наведение и подтверждение действия;
  • проверить калибровку после повторного надевания гарнитуры;
  • измерить задержку всей цепочки в целевой сборке;
  • протестировать пользователей с разной посадкой и средствами коррекции зрения;
  • не сохранять данные, которые не нужны задаче;
  • отдельно проверить доступность и возможность отключить функцию.

Если проект строится на OpenXR, начинать стоит с проверки доступных расширений и корректного fallback. Стандарт упрощает общий интерфейс, но не выравнивает характеристики всех устройств. О роли runtime и расширений подробнее рассказано в статье «Что такое OpenXR».

Итог

Eye tracking VR превращает движение глаз в направление взгляда, доступное приложению. Технология полезна для интерфейсов, динамического рендеринга, аватаров, тренажёров и исследований, но её ценность зависит от калибровки, качества данных и поддержки всей программной цепочки. Взгляд лучше считать измеряемым сигналом, а не готовым выводом о внимании или намерении человека.

Поделиться:TelegramВКонтакте

Источники

  1. Varjo Support — Eye tracker in VR
  2. HTC VIVE — VR eye tracking
  3. Khronos OpenXR — XR_EXT_eye_gaze_interaction
  4. Tobii — Eye tracking in VR