Управление в играх с помощью глаз
В этом практическом кейсе рассматривается разработка продукта с применением технологий отслеживания взгляда и положения головы для удаленного управления устройством. Используя методы распознавания изображений, мы стремимся улучшить взаимодействие с пользователем, особенно с точки зрения временных задержек и точности позиционирования.
Задача
Выпуск уникального продукта, который объединит простую игровую механику и систему управления устройством на расстоянии без использования тактильных методов ввода. Внедрение новой технологии в приложение должно позволить усовершенствовать методы распознавания изображений, используя лояльную аудиторию в игровом сегменте. Применение в игре как основа выбрана как наиболее требовательная к временным задержкам, так и к точности позиционирования.
Как расширение внедрения технологии планируются следующие направления, уже не связанные с игровой индустрией, например:
- интерфейсы для людей со спец. способностями
- навигация в играх и приложениях
- исследования в психологии и медицине
- маркетинг и юзабилити
- мониторинг в системах безопасности (авто, диспетчеры)
Исследования в создании инновационных подходов к управлению навигации в приложениях. Проведенные исследования мобильных устройств показали, что около половины пользователей смартфонов используют только одну руку для взаимодействия с интерфейсом, при этом часто они кладут смартфон на ладонь другой руки; и только 15% пользователей используют обе руки. Мы хотели показать, что для навигации можно использовать положение головы и направление взгляда.
Обзор решения
Ведущие компании проводят исследования в поисках альтернативных способов управления персональными устройствами, в частности Google в своём приложении "Ассистент" для управления приложением используют голос. Наша команда решила сосредоточится на идее управления при помощи камеры. Задача распознавания лица в текущий момент хорошо описана, и существуют несколько быстрых алгоритмов. Мы провели исследования, как внедрить идею управления через положение головы и глаз.
На примере прототипа игры про было показано, что, используя положение головы и направления взгляда, можно добиться управления без использования рук.
Особенности решения:
- работает на consumer-grade hardware
- не требует специальной подготовки пользователя
- работает универсально независимо от локализации
- нечувствительно к внешним факторам, но, естественно, чувствительно к освещению.
Технические детали
Проект был реализован как прототип игры, в котором через камеру получали видеопоток лица игрока. Из потока анализировались отдельные кадры, в которых определялся регион головы, и в нём детектировалось направление взгляда. По этим параметрам генерировалась команда, которая передавалась основному движку игры. В качестве базового фреймворка использовалась библиотека с открытым исходным кодом OpenCV. OpenCV является библиотекой компьютерного зрения, которая хорошо документирована и насчитывает более 2500 алгоритмов. К преимуществам также можно отнести кроссплатформенность (можно собрать приложение, как под десктоп операционные системы: Windows, MacOS, Linux, так и мобильные: Android, iOS). Дополнительным удобством являются биндинги под большое количество языков программирования, таких как java, python, семейство dotnet языков.
В решении был использован один из передовых методов LBF (Local Binary Features); мы также рассматривали метод ERT (Ensemble of Regression Trees) из библиотеки Dlib.