1. Необходимость и постановка задачи
Статья написана, прежде всего, для людей, которым трудно или невозможно работать на компьютере общепринятым способом: нажимая кнопки на клавиатуре и двигая мышь. Постараюсь рассказать, как была сделана система, которая позволяет управлять компьютером при помощи одного только взгляда. Сразу оговорюсь, что приведённое решение плохо работает (пока), если человек носит очки.
Итак, есть только глаза и компьютер. Ничего другого использовать нельзя, — ни педалей, ни поворота головы, ни преобразования речи в текст.
2. Выбор из существующих решений
Поиск в интернете по ключевым словам «Eye Gaze Tracking» и «Assisitive Technology» даёт множество ссылок, после копания в которых прихожу к выводам:
- Готовые устройства существуют, но стоят удивительных денег; на территории России их никто не продаёт, не обслуживает; программное обеспечение не предусматривает работу с русским языком (в частности, нет клавиатуры с кириллицей).
- Есть программное обеспечение с открытым исходным кодом, нацеленное на создание самодельных систем. Испытания со своей камерой не дают приемлемого качества работы.
- Есть возможность купить устройства для разработчиков (developer edition) по сходной цене в компаниях Tobii и TheEyeTribe. Но по схеме «утром — деньги, вечером — стулья», то есть предзаказ можно оформить осенью 2013 года, а получить устройство — в начале 2014 года.
Для справки, в разделе «5. Другие способы, которые я не попробовал» привожу описание разных устройств, о которых я набрал информацию.
Неожиданно в середине декабря компания Tobii меняет концепцию, переходит на разработку нового устройства EyeX, а своё старое устройство REXX рассылает разработчикам по цене, в три раза ниже первоначальной и прямо сейчас, уверяя, что написанный для REXX код будет работать и с EyeX.
Долго думать не стал, заказал REXX, на основе которого и сделана система.
3. Детали реализации
3.1. Аппаратная часть
Итак, заказываем устройство Tobii REXX на сайте Tobii. Не перепутайте, на этой странице заказывается и EyeX, и REXX, но EyeX придёт только в конце марта 2014г.
Доставляют UPS'ом из Швеции. Как растаможить посылки UPS — отдельная большая тема, в интернете есть много советов на эту тему. Замечу только две вещи: при заказе указывайте только свой домашний адрес (адрес прописки), чтобы не доказывать, что это посылка для частного лица, а не для организации. И второе — если вы в Москве, то гораздо проще и дешевле растаможить самому, приехав в офис UPS на грузовом терминале аэропорта Внуково, чем целый день дозваниваться до UPS, пересылать им всякие бумажки и ждать до 10 дней.
В коробке находится следующее: само устройство, удлинитель кабеля USB, флешка с программным обеспечением, пара магнитных держателей с липким слоем для крепления к монитору, пара бесполезных бумажек.
После установки драйверов не забудьте войти в контрольную панель Windows и запустить программу настройки устройства и калибровки под конкретного пользователя. Без этого ничего не заработает!
Мне пришла версия устройства для ноутбуков, довольно маленькая. Но она заработала и с довольно большим монитором, больше 20 дюймов.
В комплекте идут только демонстрационные программы, призванные показать, на что способно устройство, и средства для написания своих собственных программ (SDK). Документация, которая идёт с SDK, можно сказать, никакая. Но есть примеры на С++ и С#, изучив которые, можно понять, как надо делать.
При попытке использовать программное обеспечение от других, более дорогих моделей Tobii, именуемое Tobii Gaze Interaction, ничего не получилось. Но понравилась идея, там реализованная.
Итак, программное обеспечение пришлось писать самому.
3.2 Программное обеспечение
Была написана программа, которая позволяет имитировать глазами действия мышью: левый, правый, двойной щелчок, drag-and-drop, колесо прокрутки, а также набирать текст глазами на виртуальной клавиатуре.
Лучше, впрочем, один раз увидеть. Демонстрацию работы программы приглашаю посмотреть здесь.
Программа доступна в исходных кодах на github. Там же есть её скомпилированная версия (32-разрядный исполняемый файл). Если будете компилировать сами, то не забудьте добавить в проект каталоги include и lib из SDK, а также файлы TobiiGazeConfig32.lib и TobiiGazeCore32.lib.
Исполняемый файл: перейти по ссылке, затем нажать на кнопку «RAW» для скачивания.
Исходники: перейти по ссылке, затем нажать на кнопку «RAW» для скачивания.
Важное замечание: для работы программы необходимы файлы, которые идут в комплекте с SDK:
TobiiGazeConfig32.dll
TobiiGazeCore32.dll
Скопируйте эти файлы в каталог, где находится программа.
4. Проблема работы в очках
Используемое устройство, так же как и большинство других аналогичных, использует для определения направления взгляда блики на зрачках, которые получаются от инфракрасной подсветки. К сожалению, очки добавляют паразитные блики.
Несмотря на то, что при настройке устройства под конкретного пользователя есть возможность указать, что человек носит очки, это не слишком помогает, устройство постоянно теряет положение зрачков.
Буду благодарен за проверенные рекомендации по устранению бликов на линзах очков в инфракрасном диапазоне.
5. Другие способы, которые я не попробовал
Сразу оговорюсь, что устройства используются не только для облегчения работы на компьютере для людей с ограниченными возможностями, но и, например, для исследования того, каким частям веб-страниц пользователи уделяют наибольшее внимание. Поэтому иногда за такие системы заламывают чудовищные деньги. Впрочем, и за устройства для инвалидов часто заламывают удивительные деньги.
5.1. Продукты коммерческих компаний.<.h3>
TheEyeTribe
На первое место поставлю TheEyeTribe за то, что они были первыми, кто провозгласил, что устройство должно быть доступным, и стали принимать предварительные заказы на устройство ценой в $99. И это при ценах в несколько тысяч долларов у других компаний! Спасибо, ребята, ваше устройство пока до меня не доехало, но другие компании цены серьёзно снизили, думаю, благодаря вам.
А уж будет ли ваша коробочка работать — узнаем в ближайшее время.
SMI — senso-motoric instruments
Их устройства можно посмотреть вот здесь.
Устройства можно купить в России (не буду давать ссылку), но когда я поинтересовался ценой самого дешёвого, мне озвучили цену в один миллион двести тысяч рублей. До свидания, SMI.
Tobii
Фирма давно выпускает продукты для людей с ограниченными возможностями. Даже Intel инвестировала в них несколько миллионов долларов. У них был альянс с фирмой Dell, когда планшет поставлялся с железкой для отслеживания глаз, причём техническую поддержку оказывала Dell.
На русском можно прочитать здесь.
На английском — на их сайте.
Много всего про эти устройства можно посмотреть на youtube.
Совсем недавно цены начинались с $4000. В настоящее время (январь 2014) цена на PCEye упала до $2000, но софт не русифицирован (Tobii Gaze Interaction).
EyeTech
Тоже давно работают в этой сфере, кажется с конца 90-х. Их устройства более ляповатые, но очень понравился софт, демонстрацию которого можно посмотреть вот здесь.
В то же время есть клип, на котором человек моргает глазами для нажатия на кнопку мыши — это не понравилось, обморгаешься. У Tobii такого не видел.
Есть три устройства, различающихся только размером, для разных мониторов, от ноутбука до 30 дюймов. Цена, которую мне удалось найти — $8700. Господа не скромничают.
Но то, как работает их софт, приметим.
DynaVox
Специализированное устройство, нельзя пользоваться стандартными компьютерными программами.
EyeGaze Edge (от LC Technologies)
Монстроподобное устройство, включающее в себя камеру и компьютер, который обрабатывает её данные. Можно подсоединить весь этот агрегат к своему компьютеру (в том числе беспроводно), тогда он заменит мышь и клавиатуру, что позволит работать с обычными программами. Опять 8-10 тысяч долларов.
Вроде бы есть набор «EyeGaze Edge Pack», где компьютер вы используете свой, просто добиваете в него их камеру и софт, но цены на него не нашёл нигде.
Это основные игроки на рынке. Одна из маленьких новых амбициозных контор, которая сама не смогла довести до ума свой продукт, тем не менее не поленилась раскритиковать лидеров и привела вот такую табличку, из которой понятно, что сами они самые крутые (хотя продукта ещё нет, а демо-ролик показывает, что позиция зрачка всё время скачет). Но сравнение остальных весьма показательно. Хотя оборудование там приведено часто уже устаревшее, но можно оценить порядок цен и кто продвинулся дальше.
5.2. Проекты с открытым исходным кодом
К сожалению, ни одна из упомянутых ниже программ не дала достаточно точного определения направления взгляда на имеющемся оборудовании (видеокамера PC104E с режимом ночной съёмки и отдельно расположенная инфракрасная светодиодная подсветка). Тем не менее, возможно у кого-то заработает лучше.
GazeTracker
Рекомендую начать с того, что посмотреть клип на этой странице.
Проект развивался в университете ИТ Копенгагена. Развивался где-то до конца 2010 года, после чего впал в апатию. Тем не менее многими уважаем за свою открытость, некоммерциализованность и определённые достижения. Изначально был нацелен на возможность работы с оборудованием типа «сделай сам» (DIY — do it yourself). Многие самодельщики использовали этот софт со своими железками, часто обходившимися им в 20-30 долларов. См., например, вот это.
Текущая версия 2.0 beta, до этого был ряд стабильных версий, например 1.6, 1.8.
В инструкции по использованию упоминается, что сами разработчики использовали камеру Sony HDR-HC5 с одной или двумя лампами подсветки от той же Sony, модель HVL-IRM.
На сайте [относительно] живой форум, можно пообщаться если не с разработчиками, то с апологетами.
Haytham
Университет ИТ в городе Копенгагене не забросил работы после того, как команда GazeTracker свалила. Теперь у них есть куда более красивая система:
Это не одна программа, а сервер, раздающий положение зрачка клиентам по сети. Один из клиентов — это программа Haytham_Monitor, которая управляет курсором мыши. Если бы хорошо заработала на моём железе, не было бы нужды ничего делать. Удачи ребятам.
Автор: MastaLomaster