Исследование движений глаз – саккад и фиксаций – является одним из наиболее интересных направлений анализа в нейронауках, включающих в себя и эмоциональную проблематику. Действительно, глаза – релевантный канал для сбора данных о текущем состоянии и реакциях человека на стимулы внешней среды, важный источник информации о физиологии, эмоциях, когнитивных аспектах жизнедеятельности в естественных, повседневных условиях, в контексте коммуникаций разного рода, происходящих между людьми. Без данных видеоокулографии говорить о мультимодальности в распознавании эмоций было бы затруднительно.
Не будем забывать и о том, что айтрекинг — серьезный рыночный сегмент:
По оценкам влиятельного агентства Markets&Markets, глобальный рынок собственно айтрекинга достигнет показателя в 1,376.5 млрд. $ к 2023 году, с ежегодным ростом в 27.4% и стабильным прогнозом, отгрузки готовых единиц – айтрекеров составят порядка 756 тыс. шт./год. Разумеется, цифры возрастают в разы, когда мы рассматриваем айтрекинг в приложении к крупным отраслям (например, нейромаркетингу, AR/VR, игровой индустрии, цифровой медицине и пр.).
В целом в индустрии айтрекинга в последние несколько лет наблюдается феномен последовательного сокращения числа независимых игроков. Однако крупнейшие производители окулографических систем — вроде шведской компании Tobii и канадской SR Research (Eyelink) — успешно черпают дополнительные ресурсы из внешних источников и укрепляют свои полумонопольные позиции.
Параллельно с этим корпорации скупают компании и стартапы средних размеров. Например:
— Google приобрел Eyefluence,
— Facebook – EyeTribe,
— а Apple в июне 2017 года – немецкую компанию SMI с её брендированной технологией захвата и записи взгляда в режиме реального времени с частотой дискретизации до 120 Гц.
Случаются и будоражащие события. Так, совсем недавно рыночная стоимость компании Tobii всего за 48 часов ощутимо взлетела…Аналитики теряются в догадках и выдвигают конспирологические версии.
Мы в Neurodata Lab не только ведем регулярный мониторинг рынка и разрабатываем собственный софтовый айтрекер, но и накопили значительный опыт в работе со сторонними решениями. Их и обсудим подробнее.
В настоящее время айтрекинг (иначе называемый видеоокулографией) — популярный инструмент для изучения зрительного внимания человека. Многие психофизиологические процессы находят свое отражение в параметрах движений глаз, в динамике морганий и изменении ширины зрачка (усталость, когнитивная загрузка, эмоциональные реакции и др.). Сейчас в практических целях айтрекинг используется в основном для юзабилити исследований в нейромаркетинге. Кроме того, видеоокулография нашла свое применение в геймерских и ассистивных контроллерах для управления взглядом (например, Tobii4С или более ранняя модель TobiiEyeX). На базе айтрекинга активно разрабатываются системы контроля внимания водителей и диспетчеров (см. статьи Sampei et al., 2016; Dongare, Shah, 2016; Anguliar et al., 2017), элементы «умного дома», или вот Eye of Horus — проект создания очков для управления предметами.
Лабораторные айтрекеры представлены ограниченным числом брендов (наиболее известные среди них — EyeLink и Tobii) и не слишком доступны для широкого использования в связи с их заоблачной стоимостью. Сравнительно бюджетные коммерческие айтрекеры – это монтируемые под монитор трекеры GazePoint (стоимостью от 675$), но у них есть ряд недостатков: небольшой допустимый диапазон движений головы испытуемого — всего 25x11x15см — и достаточно «сырой» софт.
С учетом сложившейся ситуации на рынке и возрастающего интереса к видеоокулографии можно констатировать, что в наличии имеется большое разнообразие хенд-мейд решений (хардверных и софтверных) для дизайна исследований глазодвигательного поведения человека и анализа данных, а также разработки в области айтрекинга с использованием вебкамеры.
Айтрекер из подручных материалов
С практически полным списком опенсорсного софта и трекеров для самостоятельной сборки можно ознакомиться тут. В дополнение к нему стоит добавить Open Eyes, PupilLabs и PyGaze. Кстати, создатель PyGaze Эдвин Далмайер (Edwin Dalmaijer) опубликовал книгу “Python for experimental psychologists” c подробным руководством, рекомендуем добавить её в закладки.
Айтрекинг на базе веб-камеры
Айтрекинговые решения на базе обычной веб-камеры можно разделить на две категории: онлайн-платформы («заточенные» преимущественно на проведение юзабилити-тестирований) и любительские либо коммерческие SDK.
Онлайн-платформы предлагают создать аккаунт, сформировать эксперимент (например, загрузить набор изображений) и отправить ссылку участникам исследования. Испытуемому требуется разрешить доступ к своей веб-камере, подготовиться к эксперименту (снять очки, убрать яркие источники света подальше от камеры, провести калибровку и как можно меньше шевелиться). Очевидно, что проконтролировать поведение испытуемого и условия при таком дизайне эксперимента невозможно, поэтому точность варьируется и порой оставляет желать лучшего.
Итак, в порядке перечисления:
— EyesDecide (Xlabs): платформа с приемлемо грубой локализацией взора (при условии, что испытуемый не шевелится). Есть детекция лица (строится 3D-модель), калибровка по 30 точкам, каждая из которых предъявляется несколько раз + дополнительная калибровка в конце теста.
— WebGazer: есть детекция лица. Калибровка осуществляется самим испытуемым посредством перемещения курсора по экрану и фиксации взора на нем. Трекер нельзя назвать точным. К тому же в том случае, когда смотришь на одну часть экрана и двигаешь курсор у другой части, трекер при прочих равных предпочитает детектировать положение взора на курсоре.
— Eyezag: на этой платформе можно поставить краткий эксперимент. Тестирование начинается с калибровки (16 точек) и завершается ею же, но уже по 9 точкам. Системы отслеживания движений головы на данной платформе нет, поэтому время возможного эксперимента ограничено несколькими минутами и обычной просьбой к испытуемому не шевелиться. Результаты демо-тестирования направляются по запросу. Вполне подходит для задачи приблизительной локализации взора при большом количестве испытуемых и потоковом тестировании.
— User zoom и Sticky – еще две платформы для юзабилити-тестирования с помощью веб-камеры, но тестовые результаты нам посмотреть пока не удалось (User zoom – высылают примеры своих юзабилити-исследований, но демо-версией софта с нами не поделились; а вот в демо-версии Sticky можно попробовать задать рамки эксперимента, выделить зоны интереса на изображениях, запустить, но оценить итоговый результат в демо-версии нельзя в принципе. Процедура тестирования начинается с вопросов о положении компьютера пользователя, освещении и т.д., после чего калибровка – во всяком случае в предложенной демо-версии – не последовала).
Имеющиеся в свободном доступе любительские проекты и коммерческие SDK работают неудовлетворительно, но взглянуть на них любопытно. Упомянем некоторые из них:
— GazeRecorder: включает в себя систему распознавания лица, калибровку (от 5 до 17 точек). Калибровка по 17 точкам обрабатывалась довольно долго (почти 2 минуты) и уже спустя 3-5 секунд “сползла”.
-TrackEye: трекер на базе камеры, подключаемой через USB 2.0., также есть опция анализа загружаемого видео. Помимо основного видео при трекинге запускается несколько окон, показывающих работу алгоритма, на них отчетливо видно, что зрачок отслеживается некорректно.
— GazeTracker: есть настройки параметров детекции (зрачок, блик), контраста видео и калибровки (9, 12 и 16 точек; разрешено настраивать разную скорость). Калибровка не подстраивается под размер монитора, несмотря на то, что в опциях можно указать его разрешение. Алгоритм детекции зрачка неточный, даже если предварительно повозиться с настройками: вместо него иногда распознается что-то другое — темное и круглое, напоминающее зрачок (например, пожарная сигнализация на потолке или ноздри с определенного ракурса). Трекер не учитывает положение головы и «теряет» глаза при небольших поворотах.
— SentiGazeSDK: не учитывает положение головы, детекция лица ниже среднего. Во время моргания SDK выдает ошибку, оповещая о невозможности задетектировать лицо, вдобавок не работает при резких поворотах головы.
- InSightSDK (Sightcorp) – работает с загружаемым видео. Детектирует лицо на видео при фронтальной съемке, однако при поворотах происходит ошибочная детекция (при загрузке видео, где голова человека изначально повернута в сторону, – выдает ошибку). Детекция глаз тоже низкого качества (на загруженном видео, длительностью 18 секунд, где испытуемый был записан фронтально, — по координате Х потеряно 77,2% данных, по координате Y — 33,18%).
Несомненно, подобных проектов гораздо больше, чем перечислено в нашей статье. Пока такие разработки, конечно же, не могут заменить или превзойти лабораторные айтрекеры, однако проблема известна – и адекватное решение (по соотношению цена-качество) не за горами. Речь идет о комплексной, интересной задаче – и о рыночных перспективах, которыми не стоит пренебрегать.
Анализ движений глаз на самом обычном видео требует, как минимум, дополнительного трекинга движений головы, идеальной детекции лица, и усложняется тем, что зрачок занимает крайне небольшую площадь в кадре. Все эти нюансы несомненно будут учтены. Резюмируя, отметим, что создание такой технологии позволит досконально изучить поведение и составить детальную «карту эмоциональных реакций» человека в привычных условиях, особенно в эпизодах дву- и многосторонней коммуникации, а достичь этого при помощи айтрекеров-очков и сложных стационарных установок едва ли получится.
Над материалом работала:
Мария Константинова, научный сотрудник в Neurodata Lab, биолог, физиолог, специалист по зрительной сенсорной системе, окулографии и окуломоторике.
Литература:
Aguilar W.G., Estrella J.I., Lopez W.,Vanessa Abad V. Driver fatigue detection based on real-time eye gaze pattern analysis//International Conference on Intelligent Robotics and Applications. 2017. P. 683-694.
Dongare H., Shah S. Eye gaze tracking and eyes off the road detection for traffic safety on raspberry Pi// International journal of innovative research in electrical, electronics, instrumentation and control engineering. 2016. V.4 (6). P.154-157.
Sampei K., Ogawa M., Torres C.C.C., Sato M., Miki N. Mental fatigue monitoring using a wearable transparent eye detection system//Micromachines. 2016. V.7(2). P. 20.
Не будем забывать и о том, что айтрекинг — серьезный рыночный сегмент:
По оценкам влиятельного агентства Markets&Markets, глобальный рынок собственно айтрекинга достигнет показателя в 1,376.5 млрд. $ к 2023 году, с ежегодным ростом в 27.4% и стабильным прогнозом, отгрузки готовых единиц – айтрекеров составят порядка 756 тыс. шт./год. Разумеется, цифры возрастают в разы, когда мы рассматриваем айтрекинг в приложении к крупным отраслям (например, нейромаркетингу, AR/VR, игровой индустрии, цифровой медицине и пр.).
В целом в индустрии айтрекинга в последние несколько лет наблюдается феномен последовательного сокращения числа независимых игроков. Однако крупнейшие производители окулографических систем — вроде шведской компании Tobii и канадской SR Research (Eyelink) — успешно черпают дополнительные ресурсы из внешних источников и укрепляют свои полумонопольные позиции.
Параллельно с этим корпорации скупают компании и стартапы средних размеров. Например:
— Google приобрел Eyefluence,
— Facebook – EyeTribe,
— а Apple в июне 2017 года – немецкую компанию SMI с её брендированной технологией захвата и записи взгляда в режиме реального времени с частотой дискретизации до 120 Гц.
Случаются и будоражащие события. Так, совсем недавно рыночная стоимость компании Tobii всего за 48 часов ощутимо взлетела…Аналитики теряются в догадках и выдвигают конспирологические версии.
Мы в Neurodata Lab не только ведем регулярный мониторинг рынка и разрабатываем собственный софтовый айтрекер, но и накопили значительный опыт в работе со сторонними решениями. Их и обсудим подробнее.
В настоящее время айтрекинг (иначе называемый видеоокулографией) — популярный инструмент для изучения зрительного внимания человека. Многие психофизиологические процессы находят свое отражение в параметрах движений глаз, в динамике морганий и изменении ширины зрачка (усталость, когнитивная загрузка, эмоциональные реакции и др.). Сейчас в практических целях айтрекинг используется в основном для юзабилити исследований в нейромаркетинге. Кроме того, видеоокулография нашла свое применение в геймерских и ассистивных контроллерах для управления взглядом (например, Tobii4С или более ранняя модель TobiiEyeX). На базе айтрекинга активно разрабатываются системы контроля внимания водителей и диспетчеров (см. статьи Sampei et al., 2016; Dongare, Shah, 2016; Anguliar et al., 2017), элементы «умного дома», или вот Eye of Horus — проект создания очков для управления предметами.
Лабораторные айтрекеры представлены ограниченным числом брендов (наиболее известные среди них — EyeLink и Tobii) и не слишком доступны для широкого использования в связи с их заоблачной стоимостью. Сравнительно бюджетные коммерческие айтрекеры – это монтируемые под монитор трекеры GazePoint (стоимостью от 675$), но у них есть ряд недостатков: небольшой допустимый диапазон движений головы испытуемого — всего 25x11x15см — и достаточно «сырой» софт.
С учетом сложившейся ситуации на рынке и возрастающего интереса к видеоокулографии можно констатировать, что в наличии имеется большое разнообразие хенд-мейд решений (хардверных и софтверных) для дизайна исследований глазодвигательного поведения человека и анализа данных, а также разработки в области айтрекинга с использованием вебкамеры.
Айтрекер из подручных материалов
С практически полным списком опенсорсного софта и трекеров для самостоятельной сборки можно ознакомиться тут. В дополнение к нему стоит добавить Open Eyes, PupilLabs и PyGaze. Кстати, создатель PyGaze Эдвин Далмайер (Edwin Dalmaijer) опубликовал книгу “Python for experimental psychologists” c подробным руководством, рекомендуем добавить её в закладки.
Айтрекинг на базе веб-камеры
Айтрекинговые решения на базе обычной веб-камеры можно разделить на две категории: онлайн-платформы («заточенные» преимущественно на проведение юзабилити-тестирований) и любительские либо коммерческие SDK.
Онлайн-платформы предлагают создать аккаунт, сформировать эксперимент (например, загрузить набор изображений) и отправить ссылку участникам исследования. Испытуемому требуется разрешить доступ к своей веб-камере, подготовиться к эксперименту (снять очки, убрать яркие источники света подальше от камеры, провести калибровку и как можно меньше шевелиться). Очевидно, что проконтролировать поведение испытуемого и условия при таком дизайне эксперимента невозможно, поэтому точность варьируется и порой оставляет желать лучшего.
Итак, в порядке перечисления:
— EyesDecide (Xlabs): платформа с приемлемо грубой локализацией взора (при условии, что испытуемый не шевелится). Есть детекция лица (строится 3D-модель), калибровка по 30 точкам, каждая из которых предъявляется несколько раз + дополнительная калибровка в конце теста.
— WebGazer: есть детекция лица. Калибровка осуществляется самим испытуемым посредством перемещения курсора по экрану и фиксации взора на нем. Трекер нельзя назвать точным. К тому же в том случае, когда смотришь на одну часть экрана и двигаешь курсор у другой части, трекер при прочих равных предпочитает детектировать положение взора на курсоре.
— Eyezag: на этой платформе можно поставить краткий эксперимент. Тестирование начинается с калибровки (16 точек) и завершается ею же, но уже по 9 точкам. Системы отслеживания движений головы на данной платформе нет, поэтому время возможного эксперимента ограничено несколькими минутами и обычной просьбой к испытуемому не шевелиться. Результаты демо-тестирования направляются по запросу. Вполне подходит для задачи приблизительной локализации взора при большом количестве испытуемых и потоковом тестировании.
— User zoom и Sticky – еще две платформы для юзабилити-тестирования с помощью веб-камеры, но тестовые результаты нам посмотреть пока не удалось (User zoom – высылают примеры своих юзабилити-исследований, но демо-версией софта с нами не поделились; а вот в демо-версии Sticky можно попробовать задать рамки эксперимента, выделить зоны интереса на изображениях, запустить, но оценить итоговый результат в демо-версии нельзя в принципе. Процедура тестирования начинается с вопросов о положении компьютера пользователя, освещении и т.д., после чего калибровка – во всяком случае в предложенной демо-версии – не последовала).
Имеющиеся в свободном доступе любительские проекты и коммерческие SDK работают неудовлетворительно, но взглянуть на них любопытно. Упомянем некоторые из них:
— GazeRecorder: включает в себя систему распознавания лица, калибровку (от 5 до 17 точек). Калибровка по 17 точкам обрабатывалась довольно долго (почти 2 минуты) и уже спустя 3-5 секунд “сползла”.
-TrackEye: трекер на базе камеры, подключаемой через USB 2.0., также есть опция анализа загружаемого видео. Помимо основного видео при трекинге запускается несколько окон, показывающих работу алгоритма, на них отчетливо видно, что зрачок отслеживается некорректно.
— GazeTracker: есть настройки параметров детекции (зрачок, блик), контраста видео и калибровки (9, 12 и 16 точек; разрешено настраивать разную скорость). Калибровка не подстраивается под размер монитора, несмотря на то, что в опциях можно указать его разрешение. Алгоритм детекции зрачка неточный, даже если предварительно повозиться с настройками: вместо него иногда распознается что-то другое — темное и круглое, напоминающее зрачок (например, пожарная сигнализация на потолке или ноздри с определенного ракурса). Трекер не учитывает положение головы и «теряет» глаза при небольших поворотах.
— SentiGazeSDK: не учитывает положение головы, детекция лица ниже среднего. Во время моргания SDK выдает ошибку, оповещая о невозможности задетектировать лицо, вдобавок не работает при резких поворотах головы.
- InSightSDK (Sightcorp) – работает с загружаемым видео. Детектирует лицо на видео при фронтальной съемке, однако при поворотах происходит ошибочная детекция (при загрузке видео, где голова человека изначально повернута в сторону, – выдает ошибку). Детекция глаз тоже низкого качества (на загруженном видео, длительностью 18 секунд, где испытуемый был записан фронтально, — по координате Х потеряно 77,2% данных, по координате Y — 33,18%).
Несомненно, подобных проектов гораздо больше, чем перечислено в нашей статье. Пока такие разработки, конечно же, не могут заменить или превзойти лабораторные айтрекеры, однако проблема известна – и адекватное решение (по соотношению цена-качество) не за горами. Речь идет о комплексной, интересной задаче – и о рыночных перспективах, которыми не стоит пренебрегать.
Анализ движений глаз на самом обычном видео требует, как минимум, дополнительного трекинга движений головы, идеальной детекции лица, и усложняется тем, что зрачок занимает крайне небольшую площадь в кадре. Все эти нюансы несомненно будут учтены. Резюмируя, отметим, что создание такой технологии позволит досконально изучить поведение и составить детальную «карту эмоциональных реакций» человека в привычных условиях, особенно в эпизодах дву- и многосторонней коммуникации, а достичь этого при помощи айтрекеров-очков и сложных стационарных установок едва ли получится.
Над материалом работала:
Мария Константинова, научный сотрудник в Neurodata Lab, биолог, физиолог, специалист по зрительной сенсорной системе, окулографии и окуломоторике.
Литература:
Aguilar W.G., Estrella J.I., Lopez W.,Vanessa Abad V. Driver fatigue detection based on real-time eye gaze pattern analysis//International Conference on Intelligent Robotics and Applications. 2017. P. 683-694.
Dongare H., Shah S. Eye gaze tracking and eyes off the road detection for traffic safety on raspberry Pi// International journal of innovative research in electrical, electronics, instrumentation and control engineering. 2016. V.4 (6). P.154-157.
Sampei K., Ogawa M., Torres C.C.C., Sato M., Miki N. Mental fatigue monitoring using a wearable transparent eye detection system//Micromachines. 2016. V.7(2). P. 20.