Дмитрий Гуров и Сергей Лушковский — победители VIII Всероссийского конкурса научно-инновационных проектов для старшеклассников. Конкурс проводится в рамках международной образовательной программы «Поколение21» компании «Сименс».
Дмитрий Гуров и Сергей Лушковский, г. Москва, Университетский лицей 1511 предуниверситария НИЯУ «МИФИ»
Научный руководитель: Петр Евгеньевич Минин
Научный консультант: Даниил Андреевич Данилкин
Проект: Управление компьютером с помощью жестов
В работе представлен метод, позволяющий управлять компьютером (или любым другим устройством) при помощи жестов с использованием стандартной веб-камеры. При этом предлагается не заменять традиционные методы управления, такие как клавиатура и мышь, а дополнить в ситуациях, где их применение является затруднительным или не совсем удобным.
В качестве примера эксплуатации программы может служить переключение слайдов презентации при помощи жестов прокрутки (например, горизонтальной прокрутки влево или вправо). Также программа потенциально применима в сфере торговли и услуг: реализация управления интерактивным каталогом, который представляет собой экран, отображающий все товары магазина. Так, потенциальный покупатель получит возможность ознакомиться с ассортиментом магазина, не заходя внутрь. Программа может использоваться и в процессе управления мультимедийной системой в автомобиле. Водитель будет переключать радиостанции или управлять громкостью звука жестами рук, не отвлекаясь от дороги, что способно повысить безопасность движения.
Для реализации вышеназванного метода было написано кроссплатформенное приложение, работа которого осуществляется в три основных этапа.
Первый этап включает распознавание руки на изображении, поступающем с камеры. В первую очередь используется метод Виолы-Джонса при помощи обученного каскада Хаара, после чего результаты применения метода к изображению дополнительно проверяются SVM (Support Vector Machines) классификатором. Для создания вектора признаков классификатора используются дескрипторы, в основе которых лежат LBP (Local Binary Patterns).
Затем осуществляется захват и отслеживание перемещения руки при помощи сочетания методов шаблонного трекинга (Template tracking) и трекинга по цветовой сегментации (CamShift tracking). Для улучшения качества работы трекинга по цветовой сегментации производится предварительная калибровка, т.е. программа настраивается под цветопередачу камеры компьютера и под освещение в помещении при первом запуске в полуавтоматическом режиме.
По результатам трекинга определяется траектория движения руки, которая сопоставляется с известными жестами по изменению угла в ключевых точках. Если находится такой жест, с которым траектория достаточно точно совпадает, происходит эмуляция нажатия сочетания клавиш, заданного для этого жеста и того приложения, которое в данный момент активно.
Настройка соответствия жестов и сочетаний клавиш задается при помощи GUI (Графического Пользовательского Интерфейса). Таким образом, одной из отличительных особенностей разработанной программы является возможность пользователя самостоятельно настраивать жесты для управления необходимыми ему приложениями, например, мультимедиа проигрывателем. Тогда как другие подобные программы направлены только на управление ограниченным списком приложений.
Программа написана на языке С++ с использованием библиотеки OpenCV и инструментария Qt и была протестирована на компьютерах под управлением операционных систем Windows 7, Ubuntu 13.10 и OS X 10.9. Вычисления распараллелены с помощью API OpenMP.
Перспективы развития:
• Внедрение новых алгоритмов (AdaBoost, фильтр Габора, контурный анализ и т. д.);
• Разработка версии приложения для мобильных операционных систем (iOS, Android, Windows Phone);
• Внедрение новых жестов (например, языка немых).
В настоящее время ведутся переговоры с представителями сферы медицинских услуг для внедрения программного обеспечения. Предполагается, что врачи будут просматривать 3D-модель результата томографии с использованием жестов рук.