Смартфон – Generation NEXT (часть 4)

В. Ерухимов,   В. Елин, к.т.н., А. Бовярин.

 

От мечты к реальности

В предыдущий статьях Часть 1-я, 2-я и 3-я о «Смартфоне будущего» нами уже затрагивалась тема инновационного управления перспективным девайсом, без участия рук его обладателя. Возможно, тогда всё это и выглядело фантастически, но сейчас, когда получен патент РФ на полезную модель «Электронного персонального коммуникатора», можно слегка приоткрыть завесу тайны над авангардными технологиями.

По нашему мнению,  интерфейс управления мобильным устройством основанный на оценке направления взгляда человека позволит упростить и ускорить ввод информации и коммуникацию с устройством [1]: вводить символы с помощью взгляда [2], управлять курсором мыши [3], выделять элементы графического интерфейса и запускать приложения [4], выделять объекты в приложениях виртуальной и дополненной реальности [5]-[7]. Востребованность данной технологии подтверждается большим количеством исследовательских работ [8]-[10] и существованием коммерческих разработок и продуктов [11]-[13].

Разрабатываемая технология жизненно необходима людям с ограниченными способностями. Фокусом научной конференции COGAIN 2008 Communication Environment and Mobility Control by Gaze’ был именно этот аспект применения технологий управления взглядом.

 

Предлагаемое решение

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

Мобильное устройство будет оборудовано двумя камерами, направленными в одну сторону и образующими стереопару. Благодаря этим камерам процессор мобильного устройства может вычислять направление взгляда пользователя по положению зрачка и времени его фиксации на виртуальной клавиатуре мобильного устройства. В результате можно реализовать функцию «touchscreen» без физического касания дисплея. Наличие двух откалиброванных камер позволит значительно улучшить качество визуальной оценки взгляда, поскольку появляется возможность взаимного перекрестного контроля  положения зрачка, а также возможность использовать более точную оценку позиции головы человека, необходимую для расчёта направления взгляда. 

 

Конструкция прототипа

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

1.    Модуль обнаружения и трекинга лица на изображении
2.    Модуль оценки 3D положения головы относительно системы координат мобильного устройства
3.    Модуль поиска области глаза на изображении лица
4.    Модуль оценки точного местоположения центров зрачков на изображении
5.    Модуль расчёта точки взгляда на экране мобильного устройства

 

Рассмотрим возможное устройство каждого их этих модулей отдельно.

Поиск лица на изображении считается решённой задачей. Эта функциональность уже присутствует во многих мобильных устройствах. При создании прототипа мы будем использовать метод поиска местоположения лица, описанный в работе [14] и реализованный в библиотеке с открытым кодом opencv [15].

После обнаружения лица оценивается его положение относительно систем координат камер мобильного устройства. Для этого на лице находятся ключевые точки (уголки глаз, центр носа, уголки рта и другие). Поскольку мы имеет две откалиброванные камеры в устройстве, то, зная соответствие между точками лица на левой и правой камере, мы можем оценить расстояние до этих точек [16]. Зная оценку положения этих точек, можно оценить 3 угла поворота головы и вектор смещения относительно мобильного устройства. Для этого может быть применён метод, описанный в работе [17].

Для оценки ключевых точек лица будет использоваться метод Active Shape Model (ASM) [18]. При этом классический метод ASM, изначально разработанный для одной камеры и фронтального положения лица, будет модифицирован с целью получения лучших результатов c использованием двух откалиброванных камеры. Метод ASM основан на обучении статистической модели расположения точек лица и их локального описания. Для обучения будут использованы публично доступные базы размеченных лиц. Для более стабильного нахождения области глаз финальный результат будет проверяться другими методами поиска области глаз, описанными в работах [14], [19].

 

Алгоритмы решения

Для точной оценки взгляда необходимо точно детектировать позицию зрачков на изображении. Согласно исследованию [20] алгоритмы детектирования зрачков неустойчиво работают на камерах с низким разрешением. Также было указано на существенное улучшение качества детекции зрачков при применении инфракрасной подсветки. Мы провели собственное исследование нескольких популярных современных алгоритмов детектирования зрачков [9], [10], в рамках которого выяснили, что приемлемое качество детектирования достигается при разрешении зрачка не менее 15 пикселей в диаметре. Под приемлемым качеством мы понимали точность детектирования зрачка с погрешностью 0.015 см – такая точность позволит осуществлять управление элементами интерфейса мобильного устройства. Такое разрешение зрачка примерно соответствует разрешению камеры 1 мегапиксель при условии, что лицо занимает 50-70% кадра. Мы также исследовали влияние изменения контраста зрачка на фоне роговицы на точность детектирования. Эксперименты показали необходимость применения инфракрасной подсветки для увеличения контраста до приемлемого уровня.

Одним из лучших алгоритмов детектирования зрачка является алгоритм Starburst [9]. Изначально алгоритм разрабатывался для инфракрасных камер, закреплённых на голове человека. Входом алгоритма является черно-белое изображение, на котором глаз расположен в центре, и зрачок имеет тёмный оттенок. Выход алгоритма - точное положение центра зрачка на изображении. Первым шагом алгоритма является обнаружение и затирание бликов на роговице и зрачке, которые неизбежно присутствуют в кадре. Затем происходит генерация гипотез местоположения точек, принадлежащих границе зрачка. При этом допускается, что некоторые точки могут быть найдены неверно, например, на границе радужки или верхнего века. Третий шаг алгоритма осуществляет поиск эллипса, оптимально вписанного в найденные точки-гипотезы границы зрачка. Этот шаг делается с помощью широко известного метода Random Sample Consensus (RANSAC) [21]. Алгоритм итеративно выбирает подмножество точек, на котором методом наименьших квадратов строится оптимальный эллипс [22], а затем проверяется критерий оптимальности этого эллипса уже на всех точках-гипотезах. В ходе предварительного исследования мы выяснили, что на качество работы Starburst сильно влияет наличие бликов в области зрачка и других помех.

Другой перспективный метод обнаружения зрачка представлен в работе [10]. Вход и выход этого алгоритма идентичен входу и выходу алогритма Starburst. Одной из ключевых особенностей этого алгоритма является робастность к бликам и частичному перекрытию зрачка веками. Такая робастность важна для нашего сценария управления мобильным устройством с помощью взгляда с использованием инфракрасной подсветки.

 

Этот алгоритм состоит из трёх шагов:

1. Приблизительное нахождение области зрачка на фрагменте изображения глаза. Этот шаг делается для уменьшения области поиска и сокращения вычислений. Поиск этой области осуществляется с помощью свёртки изображения глаза со специально спроектированными Haar вейвлетами [14]. Область зрачка соответствует большим значениям этой свёртки.

2. В найденной области зрачка осуществляется сегментация пикселей изображения на зрачок и не зрачок с помощью алгоритма кластеризации k-means [23]. Находятся связные компоненты на результатах сегментации k-means. Центр тёмной связной компоненты соответствует начальному приближению центра зрачка. В области зрачка находятся рёбра изображения с помощью метода Canny [24].

3. Используя начальную оценку центра эллипса и найдённые рёбра в области зрачка, итеративно находится эллипс, покрывающий как можно больше рёбер изображения. Эллипс, как и в методе Starburst, находится с помощью метода Random Sample Consensus (RANSAC). 

Следует отметить ещё один метод поиска зрачков, реализованный в проекте ITU Gaze Tracker (http://www.gazegroup.org/downloads/23-gazetracker), который распространяется в открытом исходном коде. Программа предназначена для трекинга зрачка по изображению, получаемому с инфракрасной камеры, закрепленной на голове.

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

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

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

В работе [20] указано, что ни один из методов оценки положения зрачка не работает одинаково при различных условиях съёмки. Мы провели сравнение методов Starburst и Swirski. Метод Swirski показал хорошие результаты на слабоконтрастных изображениях, но не на всех тестовых данных он превосходил метод Starburst. Поэтому в рамках проекта будет осуществлено дополнительное исследование, направленное на создание гибридного метода, который вобрал бы лучшие части описанных выше методов и работал более устойчиво при различных условиях съёмки. Поскольку точность определения позиции зрачка должна быть максимальна, мы планируем создать метод, работающий с суб-пиксельной точностью, что позволит находить зрачки на большем расстоянии лица от камеры мобильного устройства. Использование двух откалиброванных камер позволит существенно уменьшить число ложных детекций и повысить точность оценки центра зрачка. В дополнение будет создана система слежения за зрачками, основанная на методах стохастической оптимизации [25], в которой будет учтена динамическая составляющая системы.

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

 

Заключение

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

 

Список литературы:

[1] R. Jacob, The use of eye movements in human-computer interaction techniques: what you look at is what you get, ACM Transactions on Information Systems 9 (2) (1991) 152-169.

[2] P. Majaranta, K. Raiha, Twenty years of eye typing: systems and design issues, in: ACM Eye tracking research and applications symposium, New Orleans, Louisiana, USA, 2002, pp. 15-22.

[3] A. J. Hornof, A. Cavender, R. Hoselton, Eyedraw: A system for drawing pictures with eye movements, in: ACM SIGACCESS Conference on Computers and Accessibility, Atlanta, Georgia, 2004, pp. 86-93.

[4] L. Sibert, R. Jacob, Evaluation of eye gaze interaction, in: SIGCHI conference on Human factors in computing systems, The Hague, The Netherlands, 2000, pp. 281-288.

[5] V. Tanriverdi, R. Jacob, Interacting with eye movements in virtual environments, in: Proceedings of the SIGCHI conference on Human factors in computing systems, 2000, pp. 265-272.

[6] Eye Gaze Interaction with Second Life, demo clip: http://www.youtube.com/watch?v=UUeqrYEzNi4

[7]  http://www.cogain.org/wiki/Snap_Clutch

[8] COGAIN project http://www.cogain.org/

[9] Dongheng Li, David Winfield, Derrick J. Parkhurst, "Starburst: A hybrid algorithm for video-based eye tracking combining feature-based and model-based approaches," CVPR, pp.79, 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition

[10] Lech Swirski, Andreas Bulling, Neil A. Dodgson, “Robust real-time pupil tracking in highly off-axis images“,Proceedings of ETRA, 2012
[11] Seeingmachines, FaceLab 5.0   http://www.seeingmachines.com/product/facelab/
[12] http://www.eyetracking.com/About-Us/
[13] Tobii gaze tracking product http://www.tobii.com/

[14]  VIOLA, P., AND JONES, M. 2001. Rapid object detection using a boosted cascade of simple features. In Proc. CVPR, I–511–I–518.

[15] OpenCV library: www.opencv.org

[16] R.I. Hartley and A. Zisserman (2004). Multiple View Geometry in computer vision (2nd ed.). Cambridge University Press.

[17] Yan Tong, Yang Wang, Zhiwei Zhu, and Qiang Ji, “Robust Facial Feature Tracking under Varying Face Pose and Facial Expression”, Pattern Recognition, Vol. 40, No. 11, pp. 3195-3208, November 2007. 

[18] T.F. Cootes, D. Cooper, C.J. Taylor and J. Graham, "Active Shape Models - Their Training and Application." Computer Vision and Image Understanding. Vol. 61, No. 1, Jan. 1995, pp. 38-59

[19] D.S. Bolme, B.A. Draper, and  J.R. Beveridge. Average of Synthetic Exact Filters. Computer Vision and Pattern Recognition. June 2009

[20] Detlev Droege, Carola Schmidt, Dietrich Paulus “A Comparison of Pupil Centre Estimation Algorithms”, COGAIN 2008.

[21] Martin A. Fischler and Robert C. Bolles (June 1981). «Random Sample Consensus: A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography». Comm. Of the ACM 24: 381–395

[22] FITZGIBBON, A., PILU, M., AND FISHER, R. B. 1999. Direct least square fitting of ellipses. IEEE TPAMI 21, 5, 476–480.

[23] Kanungo, T.; Mount, D. M.Netanyahu, N. S.; Piatko, C. D.; Silverman, R.; Wu, A. Y. (2002). "An efficient k-means clustering algorithm: Analysis and implementation". IEEE Trans. Pattern Analysis and Machine Intelligence 24: 881–892

[24] Canny, J., A Computational Approach To Edge Detection, IEEE Trans. Pattern Analysis and Machine Intelligence, 8(6):679–698, 1986.

[25] Liu, J. (2001).