Содержание к диссертации
Введение
ГЛАВА 1 Анализ подходов к созданию систем захвата движения 11
1.1. Маркерные системы захвата движения 11
1.2. Безмаркерные системы захвата движений 18
1.3. Возможности сенсора-дальномера для создания бесконтактного интерфейса 27
1.4. Алгоритмы и методы стереозрения для получения карты глубины изображения 31
ГЛАВА 2 Архитектура и алгоритмы бесконтактного человеко-машинного интерфейса 49
2.1. Общая архитектура системы бесконтактного управления 49
2.2. Общая архитектура модуля распознавания 54
2.3. Предварительная обработка входных данных 58
2.4. Верификация вероятного пользователя. Поиск лица пользователя в окрестности точки CtdH 65
2.5. Алгоритм распознавания вытянутых рук 70
2.6. Алгоритм распознавания пальцев 80
2.7. Методы фильтрации центроида руки и определение координат управляющего курсора пользователя 90
2.8. Алгоритм детектирования прикосновения к поверхности путем анализа карты глубины. Программный прототип сенсорного экрана на любой поверхности 94
ГЛАВА 3 Концепция и реализация прикладного программного обеспечения для бесконтактного управления 103
3.1. Система жестов и особенности бесконтактного управления 103
3.2. VisionTouch Gallery – интерактивная витрина на базе бесконтактного управления. Предпосылки к разработке 113
3.3. Системные требования и рекомендации по использованию VisionTouch Gallery 113
3.4. Описание функционала VisionTouch Gallery 115
3.5. Особенности программной реализации VisionTouch Gallery и результаты тестирования алгоритмов 123
Заключение 127
Список литературы 129
- Возможности сенсора-дальномера для создания бесконтактного интерфейса
- Общая архитектура модуля распознавания
- Методы фильтрации центроида руки и определение координат управляющего курсора пользователя
- VisionTouch Gallery – интерактивная витрина на базе бесконтактного управления. Предпосылки к разработке
Введение к работе
Актуальность исследования. В настоящее время все большее значение приобретают новые в концептуальном и в программно-аппаратном плане формы человеко-машинного взаимодействия, требующие создания новых интерфейсов, в основном меню которых не используются шаблоны или панели инструментов, а, напротив, при задании спецификаций операций и операндов акцент переносится на обучающие примеры, интуитивность, жесты и распознавание речи.
Концепция подобных интерфейсов получила название естественный пользовательский интерфейс. Основной целью естественного интерфейса является минимизация использования механизмов манипулирования преобладающих в сегодняшних интерфейсах и сокращение «когнитивной» дистанции между намерением и реализацией этого намерения. Иными словами, требуется дать пользователю возможность сосредоточиться на его задаче, а не на технологии, необходимой для специфицирования этой задачи.
Исследования в области естественных интерфейсов управления жестами стали появляться еще в конце восьмидесятых годов, в частности была представлена сенсорная перчатка, позволяющая отслеживать сгибание пальцев и положение ладони пользователя посредством ультразвуковых датчиков для манипулирования виртуальным содержимым (Thomas G. Zimmerman). В ряде работ (Laura Dipietro, Angelo M, Hoa Phan, Jeffrey Ellen, Mike Bruch) описывалось управление при помощи жестов посредством закрепленных на руке человека сенсоров – магнитных, инерционных, ультразвуковых, инфракрасных и прочих видов датчиков. Обладая, как правило, высокой точностью отслеживания, что имеет решающее значение в системах захвата движения, использующихся в киноиндустрии и компьютерных играх, этот подход показал целый ряд недостатков. В частности, механическая составляющая устройств подвержена физическому износу, имеют место определенные неудобства для пользователя при длительном применении, зависимость конструктива от конституции конкретного пользователя, высокая стоимость устройств.
Альтернативой данному решению является использование технологий машинного зрения и обработки изображения для отслеживания положения рук, пальцев и других частей тела при помощи различных оптических сенсоров, находящихся на некотором расстоянии от пользователя. С середины девяностых годов проявилась тенденция к использованию веб-камер как инструмента взаимодействия с компьютером (R. Cipolla, A. Pentland, Lars Bretzner, Ivan Laptev, Tony Lindeberg, Vincent John Vincent).
Степень разработанности темы. Рассматривая преимущества и недостатки использования оптической камеры в качестве сенсора жестов, следует отметить высокую зависимость качества распознавания от окружающего пространства, сложности фона и уровня освещенности. Отсутствие нормального, дневного освещения и наличие сложного, движущегося фона часто сводит на нет всю работу даже самых высококачественных и сложных алгоритмов машинного зрения. Кроме того сложные рекурсивные и иерархические алгоритмы распознавания жестов часто являются ресурсоемкими, и выдают производительность на уровне нижнего предела (около 15-30 кадров в секунду) реального времени даже на высокопроизводительных компьютерах. В то же время «веб-камера» сегодня является стандартной опцией для большинства существующих моделей ноутбуков, планшетов, телефонов. Поэтому в сочетании с постоянным ростом вычислительной мощности элементной базы компьютеров веб-камера по-прежнему является привлекательным решением в качестве сенсора управления мультимедийным контентом.
Наибольший рост практических приложений технологий распознавания жестов в последнее время связан с разработкой компании Microsoft – сенсором Kinect (2011-2012 г.г.), позволяющим получить трехмерную видео информацию в виде карты глубины или трехмерного облака точек видимого сенсору пространства.
Именно трехмерность данных позволяет решить одну из основных и весьма сложных задач машинного зрения – отсечение заднего фона и сегментацию объектов для их последующего анализа.
Сегодня имеется ряд частных решений отдельных аспектов распознавания жестов, однако острой остается проблема повышенной ресурсоемкости реализованных алгоритмов и ограниченной точности наведения курсора на элементы интерфейса.
Настоящая работа сфокусирована на преодоление описанных выше трудностей, развивая идею разработки универсальной системы эффективного бесконтактного управления компьютером.
Объект исследования – процесс обработки данных сенсора-дальномера в задачах распознавания жестов для бесконтактного управления программным обеспечением.
Предмет исследования – возможность детектирования жестов в потоке данных сенсора-дальномера для реализации функций бесконтактного управления.
Цель исследования – создание эффективного интерфейса бесконтактного человеко-машинного взаимодействия.
Задачи исследования:
-
разработать концепцию системы управления жестами на основе данных сенсора-дальномера;
-
предложить модель интерфейса бесконтактного управления программным обеспечением на основе обработки данных сенсора-дальномера;
-
предложить методы детектирования физических объектов, участвующих в формировании жеста: пользователь, руки, пальцы и прикосновений к поверхности;
-
разработать программные модули, осуществляющие необходимые действия для эффективного управления жестами:
-
отслеживание пользователя;
-
распознавание вытянутых рук пользователя;
-
распознавание пальцев пользователя;
-
детектирование жестов;
-
-
разработать программное обеспечение для реализации модели интерфейса бесконтактного управления и детектирования прикосновений к поверхности, интегрирующее программные модули распознавания.
Научная новизна
В целом новизна результатов заключается в создании новых способов человеко-машинного взаимодействия на основе анализа данных сенсора-дальномера: бесконтактное управление жестами и управление с помощью прикосновений к любому объекту в поле зрения сенсора-дальномера.
По существу новизна результатов определяется следующими отличительными признаками:
-
концепция системы управления жестами: а) cистема использует сенсор дальномер, который устанавливается рядом с экраном; б) перед сенсором имеется некая интерактивная зона, в которой система детектирует пользователя, его видимые руки и пальцы; в) на основе полученных от сенсора-дальномера координат и вычисленных скоростей найденных объектов система детектирует производимые пользователем эталонные жесты; г) каждый эталонный жест транслируется в управляющую команду;
-
модель интерфейса бесконтактного управления программным обеспечением на основе обработки данных сенсора-дальномера для иерархического детектирования пользователя, его рук, пальцев и жестов; формирования управляющих команд с возможностями удаленного управления любым программным обеспечением, любыми устройствами на любых платформах и операционных системах, поддерживающих протокол UDP.
-
методы иерархического детектирования пользователя на основе Z-сегментации облака точек и определения его характеристических параметров; рук и пальцев на основе геометрических критериев; метод распознавания жестов по анализу координат, скоростей, форм выделенных подоблаков; метод детектирования прикосновений к любой поверхности в поле зрения сенсора по вычисляемым картам отклонений.
-
программные модули (техническая новизна), осуществляющие необходимые действия для эффективного управления жестами:
-
отслеживание пользователя;
-
распознавание вытянутых рук пользователя;
-
распознавание пальцев пользователя;
-
детектирование жестов;
-
-
программное обеспечение (техническая новизна) для реализации модели интерфейса бесконтактного управления и детектирования прикосновений к поверхности, интегрирующее программные модули распознавания.
Теоретическая и практическая значимость работы
Значение результатов для теории (методологии) естественных человеко-машинных интерфейсов и машинного зрения выражается в том, что предложенный общий подход к бесконтактному управлению компьютером с помощью жестов, основанный на специальной аналитической обработке численных данных, расширяет возможности проектирования интерфейсов взаимодействия нового типа.
Значение результатов для практики использования человеко-машинных интерфейсов: предложенные методы позволяют создавать новые программные и аппаратные решения для управления бытовой техникой (жидкокристаллические дисплеи), информационными терминалами в местах массового скопления людей, конструировать новые типы интерактивных проекторов с сенсорным мультитач экраном. Предложенное бесконтактное управление эффективно из-за высокой интуитивности и отсутствия механических и электронных датчиков в прямом контакте с пользователями. Ряд разработанных методов допускает использование машинного зрения в системах безопасности, сенсорных интерактивных мультитач проекциях, в системах распознавания языка глухонемых, в управлении медицинским оборудованием, в системах медицинской диагностики и др.
Методология и методы исследования
В работе использовались методы математического моделирования и численного эксперимента, математическая статистика и математический анализ, методы цифровой обработки изображений, элементы теории алгоритмов, объектно-ориентированный анализ, объектно-ориентированное программирование и др. Алгоритмизация распознавания изображений проводилась с использованием библиотек OpenCV, OpenGL, Openframeworks, протокола UDP и языков программирования С++ и GLSL.
Положения, выносимые на защиту:
-
Общая концепция и архитектура системы бесконтактного управления компьютером с помощью жестов, отличающиеся ролевыми функциями пользователя, сенсора и экрана в интерактивной зоне, обеспеченными соответствующими программными модулями интерфейса бесконтактного человеко-машинного взаимодействия: детектирование пользователей, рук, пальцев, жестов, прикосновений и их трансляция в сигналы управления.
-
модель интерфейса бесконтактного управления программным обеспечением на основе обработки данных сенсора-дальномера, отличающаяся тем, что
а) архитектура программного обеспечения разделена на два связанных между собой модуля – передатчик – осуществляет анализ данных с сенсора и выполняет функции детектирования пользователя, его рук и пальцев; – приемник – проводит конечный анализ полученных от передатчика данных и формирует управляющие команды;
б) обеспечена возможность реализации универсального набора жестов, где каждый жест используется для определенной операции;
в) обеспечена возможность реализации любого удаленного управления любым программным обеспечением, любыми устройствами на любых платформах и операционных системах, поддерживающих протокол UDP.
-
Методы иерархического детектирования пользователя, его рук, пальцев, отличающиеся последовательным способом разбиения данных об исходном облаке трехмерных точек на отдельные области, вычислением их интегральных характеристик и детектированием определенного объекта на основе геометрических критериев; метод распознавания жестов, отличающийся использованием параметризованных критериев анализа координат, скоростей, форм соответствующих подоблаков; метод детектирования прикосновений к любой поверхности в поле зрения сенсора-дальномера, отличающийся иерархическим анализом карт глубины.
-
Программные модули для эффективного управления жестами на расстоянии, отличающиеся соответствием концепции (см. п. 1) и модели (см. п. 2) интерфейса бесконтактного управления и являющиеся практической реализацией предложенных методов (см. п. 3).
-
Программное обеспечение интерфейса бесконтактного управления, отличающееся соответствием концепции (см. п. 1), модели (см. п. 2) интерфейса бесконтактного управления и детектирования прикосновений к поверхности, интегрирующее программные модули распознавания (см. п. 4).
Степень достоверности и апробация результатов. Достоверность результатов подтверждается обоснованностью применения математического аппарата, оценкой адекватности математических и информационных моделей, результатами тестирования алгоритмов и программного обеспечения, а также результатами использования разработанных систем бесконтактного управления в практике информационной деятельности нескольких предприятий.
Проект Котюжанского Л.А. «Человеко-машинный интерфейс на базе устойчивого распознавания движений и жестов» стал победителем конкурса проектов по Уральскому федеральному округу по программе «СТАРТ-10», работа «Разработка сенсорных контактных и бесконтактных мультимедийных устройств» представлялась на II Всероссийском конкурсе «Умник на СТАРТ» (Самара 2011, 26 сентября – 1 октября), в итоге был выигран грант для проведения НИОКР.
Публикации. По результатам выполненных исследований опубликовано 14 работ, среди них 3 статьи в рецензируемых научных журналах из перечня ВАК, 7 публикаций без соавторов. Получено свидетельство о государственной регистрации программы для ЭВМ.
Структура диссертации. Диссертация включает введение, три главы, заключение, список литературы и приложения. Общий объем диссертации составляет 146 страниц машинописного текста, из них 129 страниц – основной текст, 75 рисунков, 3 таблицы. Библиографический список содержит 177 наименований.
Возможности сенсора-дальномера для создания бесконтактного интерфейса
В настоящее время существует несколько типов сенсоров-дальномеров:
1) Стереокамеры. Позволяют получить карту глубины, используя две обычные камеры.
Преимущества – низкая стоимость, высокая доступность на рынке. Недостатки – высокая вычислительная ресурсоемкость, высокая степень зависимости от уровня освещения.
2) Стереокамера со структурированной инфракрасной подсветкой. Преимущества – высокая точность, низкая стоимость, низкая вычислительная ресурсоемкость, малая зависимость от уровня освещенности.
Недостатки – низкая доступность на рынке, низкая точность на расстояниях более 2 метров.
3) TOF (Time of Flight – времяпролетная) камера. Преимущества – высокая точность, высокая доступность на рынке, низкая вычислительная ресурсоемкость, отсутствие зависимости от уровня освещенности в большинстве случаев. Высокая дальность действия относительно других типов сенсоров-дальномеров.
Недостатки – относительно высокая стоимость.
На основе проведенного сравнения особенностей типов сенсоров-дальномеров для создания бесконтактного интерфейса в большей степени подходит TOF камера. Среди существующих TOF камер – Panasonic D-imager, PrimeSense, Asus Xtion, Kinect.
Исходя из критериев доступности на рынке, низкой стоимости, наличия открытых драйверов и библиотек, а также проработанности и апробированности в качестве сенсора-дальномера удобно ориентироваться на сенсор Kinect. Кроме того, данное аппаратное обеспечение в течение длительного времени было единственным предложением в данном классе устройств. Kinect (старое название Project Natal) – бесконтактный игровой сенсор, первоначально ориентированный в качестве игрового контроллера для консоли Xbox 360. Значительно позднее он появился и для персональных компьютеров под управлением OC Windows. Данный сенсор позволял взаимодействовать с приставкой посредством устных команд, движений тела и видимых ему объектов или рисунков.
Конструктивно Kinect (также как и другие аналоги этого устройства) представлен в горизонтально расположенном прямоугольном корпусе с небольшим круглым основанием. Сенсор, как правило, располагается выше или ниже экрана. Размеры – около 23 см в длину и 4 см в высоту. Состоит из сенсора глубины, цветной камеры и микрофонной решетки. Программное обеспечение Kinect SDK, поставляемое в комплекте, позволяет осуществлять трехмерное отслеживания тела пользователя, определять мимику лица, распознавать голос. Микрофонная решетка сенсора Xbox 360 производит локализацию источника звука и выполняет шумоподавление, что дает возможность говорить без наушников и микрофона Xbox Live. Датчик глубины объединяет в себе инфракрасный проектор и монохромную CMOS -матрицу (complementary metal-oxide-semiconductor). Такая комбинация позволяет сенсору Kinect получать трехмерное изображение при любом естественном освещении.
Сенсор Kinect изначально был основан на программном обеспечении корпорации Microsoft и веб-камеры ZCam, выпущенной в 2000 г. фирмой 3DV Systems. ZCam является разновидностью TOF-камеры, позволяющей получать трехмерную видео информацию.
Основные компоненты сенсора представлены на рисунке 14. IR Emitter – инфракрасный прожектор. Используется для испускания инфракрасных лучей, которые отражаются от объектов и попадают непосредственно на инфракрасный приемник.
IR Depth Sensor – инфракрасный приемник. Собирает отраженные лучи, преобразуя их в расстояние от сенсора до объектов. Формируется матрица расстояний – изображение с разрешением 640480. Инфракрасный приемник передает полученные значения расстояний с частотой 30 герц.
Color Sensor – цветная камера, используемая для захвата видео с максимальным разрешение 1280720. Угол обзора данной камеры: 43 по вертикали и 57 по горизонтали. Формат изображения RGB или YUV.
Microphone Array – массив микрофонов. 4 микрофона обеспечивают определение местоположения источника звука и направления звуковых волн. Встроенный процессор обработки звука выполняет функцию подавления эха и шумоподавления.
Tilt Motor – сервопривод регулировки угла наклона сенсора. Позволяет программно менять угол в диапазоне от -27 до +27 градусов по вертикали.
Подключения сенсора к компьютеру осуществляется через usb-порт, всего к одному компьютеру можно подключить одновременно до 4 сенсоров.
Значительная особенность аппаратной части сенсора – диапазон рабочих расстояний датчика глубины, при котором он способен получать трехмерную информацию о видимых ему объектах.
У сенсора Kinect существуют два режима работы датчика глубины (рис. 15).
Режим «Default Range» доступен как для Kinect for Xbox, так и для Kinect for Windows. Режим «Near Range» доступен только для Kinect for Windows.
Для всех объектов, находящихся в пределах значений удаленности Normal Values, сенсор вернет измеренное расстояние. Для объектов, выходящих за этот диапазон, сенсор вернет либо 0, либо заданную константу.
Отдельно отметим различия двух версий Kinect – для Xbox и для Windows. Первая – разрабатывалась и тестировалась с консолью Xbox 360. Вторая версия, напротив, должна работать с широким диапазоном устройств. Лицензионное соглашение позволяет использовать Kinect for Windows для коммерческих целей, а Kinect for Xbox – нет.
Трехмерность данных получаемых с сенсора Kinect позволяет эффективно, с минимальными вычислительными ресурсами детектировать пользователя, его руки и пальцы, благодаря возможности сегментирования объектов и отсечения фона с учетом их взаимного расположения в пространстве.
Общая архитектура модуля распознавания
Модуль распознавания (рис. 31) является своеобразным фильтром трехмерного облака точек, который пошагово анализирует облако точек, видимых сенсору, отбрасывая ненужные элементы.
На шаге 1 детектируются пользователи, при этом формируются множества точек для каждого пользователя из глобального облака точек сенсора (рис. 30). Далее (шаг 2) на найденном облаке трехмерных точек пользователя система ищет видимые сенсору руки. Результатом работы модуля на шаге 2 будут найденные облака рук пользователя. Также помимо этого на шаге 2 определяется ориентация поворота рук и их геометрические центры.
На шаге 3 для каждого найденного облака руки пользователя находятся видимые сенсору вытянутые пальцы пользователя. Итогом работы шага 3 будут найденные облака пальцев пользователя с вычисленными координатами центра и примерным направлением поворота. Шаг 4 уменьшает ошибки определения центра рук, используя связку из нескольких фильтров. Ошибки при определении координат выглядят как «дрожание» координат руки – случайные незначительные отклонения значений координат при отсутствии движения руки. Тем не менее, эти случайные отклонения удается полностью исключить, используя набор фильтров, работа которых будет подробно описана ниже. Также на данном шаге определяются мгновенные скорости геометрических центров найденных элементов. В дополнение, на этом этапе фильтруются по времени возможные ошибки в детектировании пальцев. Суть данной фильтрации заключается в том, что палец, который был найден на определенной итерации, считается пропавшим, только если он не определяется несколько итераций подряд, по времени это составляет не более 200 миллисекунд. Использование данной фильтрации значительно улучшает качество работы алгоритма детектирования пальцев, прежде всего потому, что при определенных поворотах руки или быстром движении, пальцы, как трехмерное облако, могут кратковременно терять свои геометрические характеристики. В итоге общая суть данной архитектуры заключается в формировании иерархической системы под-облаков из глобального облака, что наглядно отражено на рисунке 32. На глобальном синем облаке формируется большое под облако пользователя из белых точек, на данном под-облаке определяется под облако руки пользователя состоящие из красных точек. На под-облаке руки пользователя определяются под-облака пальцев пользователя состоящие уже из зеленых точек. Наличие под-облаков, являющихся множеством точек трехмерного пространства, дает возможность вычислить основные характеристики, необходимые для управления жестами и общей работы системы – координаты головы пользователя, геометрического центра под-облака, ориентацию. И уже впоследствии, имея данные характеристики, легко определить скорость и траекторию движения под-облаков пользователя. Рисунок 33 отображает работу модуля распознавания, где указаны полученные параметры. Ниже будут подробно рассмотрены детектирование и формирование облаков пользователя, рук и пальцев. На вход модуля распознавания жестов в каждый момент времени t с шагом At = — с от сенсора-дальномера поступают данные о карте глубины dm, которая представляет собой двумерный массив значений глубины (удаленности от сенсора отдельных точек объекта, воспринимаемого сенсором), dm = (dmij), где i,j целочисленные координаты точки / = 0,1,...,width; j = 0,1,...,height.
Далее карта глубины сегментируется первичным Z - отсечением, которое с одной стороны отсекает задний фон (рис. 34), а с другой стороны упрощает задачу распознавания. Необходимо отметить, что полученная карта подвергается незначительному размытию для устранения возможной избыточной сегментации пользователей, поскольку для корректной работы системы необходимо условие однозначности - для каждого пользователя в соответствие поставлен только один контур. С другой стороны, это позволяет ограничить область пространства, в которой система будет реагировать на жесты. Таким образом, это позволит создать некую интерактивную зону, в которой система будет искать пользователей и реагировать на их жесты. Данные вычисления выполняются на шаге 1 при помощи GPU с использованием простейшего пиксельного шейдера, написанного на GLSL [133].
Методы фильтрации центроида руки и определение координат управляющего курсора пользователя
Для уменьшения ошибок и достижения плавного и одновременно точного движения графического курсора вслед за рукой пользователя по аналогии с ранее описанными способами применяется трехступенчатый метод, комбинирующий в себе работу нескольких фильтров. Под ошибками в данном случае выступают, в частности, эффекты хаотического дрожания центра руки. Описанные эффекты возникают из-за недостаточно высокого разрешения сенсора или реального физического смещения руки пользователя во время её фиксации в пространстве. Управляющим курсором в данном случае считается курсор, перемещающийся по экрану и управляемый движением руки, для взаимодействия с графическими элементами интерфейса.
На рисунке 57 показана схема фильтрации исходных данных и вычисления координат управляющего курсора. За исходные данные берется положение центроида облака руки пользователя. К имеющемуся вектору применяется фильтрация Калмана [153, 154, 155, 156], при этом каждая компонента вектора фильтруется отдельно.
В каждый момент времени t координаты курсора определяются следующим образом:
где cr(t) - трехмерный вектор, описывающий смещение руки в пространстве, относительно её первого появления, v(t) - трехмерный вектор скорости руки [157]. При вычислении вектора скорости используется фильтр Калмана для коррекции координат руки где xt,yt,zt - скорректированные значения координат руки, kx(xt),k(yt),kz(zt) модифицированные фильтры Калмана для соответствующих координат руки. В частности, где Kt - динамический поправочный коэффициент 2, R,F,H - эмпирические параметры, значения которых определялись в рамках численного эксперимента. Найденный таким образом вектор скорости дополнительно фильтруется пороговым фильтром v(t) = \ и с ,ue{x,y,z}, (31) [vu(t),vu(t) vc где vc - эмпирическая константа. Значения координат cr{t) корректируются по правилу В дальнейшем для вектора cr(t) применяется фильтр сглаживания по времени: где п - количество итераций, для которых запоминались значения вектора cr(t).
Описанный выше подход к фильтрации исходных данных позволил сделать точным и плавным движение курсора, а также свести к минимуму дрожание и ошибочные смещения координат руки, которые иногда возникают при работе ОрепМ и Kinect SDK. 2.8. Алгоритм детектирования прикосновения к поверхности путем анализа карты глубины. Программный прототип сенсорного экрана на любой поверхности
В результате проведения ряда экспериментов с Z-отсечением и генерированием бинарных карт на основе анализа трехмерных точек облака была разработана в первом приближении технология детектирования прикосновений к поверхности. Суть технологии заключается в следующем: перед сенсором находится некая планарная поверхность, и осуществляется детектирование или сегментирование объектов, находящихся на этой поверхности. Данная методика позволяет получить аналог мультитач-экрана, не прибегая к использованию специальных средств, таких как тач-рамки. Краткая схема основных этапов работы показана на рисунке 58.
VisionTouch Gallery – интерактивная витрина на базе бесконтактного управления. Предпосылки к разработке
На основе опыта, полученного при внедрении систем бесконтактного управления на различных выставках, мероприятиях в качестве информационного стенда, киоска, средства презентации, было принято решение разработать универсальный программный продукт бесконтактного управления, который с одной стороны являлся бы своеобразной альтернативой сенсорных панелей, а с другой – позволял гибко реализовывать просмотр различной информации. Одним из возможных вариантов инновационного программного обеспечения на основе интерактивных технологий является интерактивная витрина VisionTouch Gallery, созданная с использованием предлагаемых в данной работе алгоритмов бесконтактного управления. Взаимодействие с системой VisionTouch Gallery происходит при помощи простых и интуитивных жестов, что позволяет значительно эффективнее использовать площадь презентации и знакомить с информацией гораздо большее количество пользователей, нежели традиционный баннер, ЖК-экран или видео-стена. Интерактивная витрина может быть установлена в местах массового скопления людей – в магазинах, торговых центрах, вокзалах, аэропортах для представления информации самого различного типа.
Программа VisionTouch Gallery запускается на обычном компьютере, к которому подключен любой дисплей и сенсор Kinect.
Изображения выводятся на экран любого размера, при этом собственно управление жестами выполняется на некотором расстоянии от экрана, без какого-либо физического контакта, что значительно увеличивает надежность системы.
VisionTouch Gallery представляет собой интеллектуальную систему распознавания жестов рук и их преобразования в сигналы управления мультимедиа каталогами.
Программа состоит из множества ресурсоемких алгоритмов машинного зрения, поэтому предъявляет высокие требования к аппаратной составляющей компьютера (таблица 3).
Общие требования к установке системы бесконтактного управления и рекомендации по использованию
Алгоритмы бесконтактного управления, а также сенсор Kinect накладывают определенные требования к размещению сенсора, а также наличию свободного пространства перед ним. Ниже приведен список требований, регламентирующих особенности установки и эксплуатации системы:
Сенсор должен быть закреплен под дисплеем (экраном) и отцентрирован по горизонтали относительно него (дисплея или экрана). Исполнение данного требования необходимо поскольку, как правило, пользователь совершает все жесты в направлении экрана, следовательно, при неверном закреплении сенсора качество работы системы может значительно снизиться.
Высота закрепления сенсора: от 115 см до 135 см. В случае невозможности закрепить сенсор на указанной высоте, можно поместить его ниже, но изменив угол наклона.
Рабочее расстояние от сенсора до пользователя: от 120 до 220 см. Оптимальное рабочее расстояние: от 140 до 170 см. Руки, находящиеся к сенсору ближе, чем 80 см, программа не распознает.
Желательно, чтобы в пространстве перед сенсором (интерактивная зона) находился только пользователь системы, не должно быть каких-либо посторонних предметов, мебели или других людей, которые не управляют приложением.
Система определяет вытянутые перед собой руки пользователя находящиеся приблизительно на уровне грудной клетки.
В сенсор не должны попадать прямые яркие солнечные лучи.
Система может работать в условиях полного отсутствия освещения.
Необходимо использовать следующие типы файлов для контента в галерее: mp4, mov, webm, flv, avi, ogg, jpeg, bmp, png, tiff, tga.
Оптимальные параметры для используемых видеороликов: разрешение - 1280x720 пикселей, битрейт - от 2 до 7 мегабит. Максимальное разрешение видео - 1920x1080 пикселей. Использование несжатого или слабо сжатого видео может привести к сильному замедлению работы программы, вплоть до потери возможности управления или даже зависанию. При появлении такого эффекта необходимо сконвертировать ролик так, чтобы он удовлетворял приведенным выше параметрам.
Управление должно осуществляться одной рукой, ладонью вперед, пальцы на ладони должны быть направлены вверх.
Программа воспринимает только тех пользователей, которые находятся в интерактивной зоне. Интерактивная зона - это пространство перед сенсором, в котором осуществляется распознавание пользователей.
Система управляется строго одним активным пользователем с использованием жестов одной руки. Первый пользователь, определенный системой, считается активным. Другие пользователи, попавшие в область восприятия сенсора, считаются неактивными и их жесты игнорируются системой. При детектировании системой пользователей по центру в нижней части экрана появляется маленькое изображение, на котором синим цветом, отображен силуэт активного пользователя, зеленым и красным цветом отображаются руки (рис. 65).
1. Фоновый режим работы. Если некоторое время нет активных пользователей, то циклически воспроизводится видео из указанной директории. Также поверх видео накладывается эффект воды, который искажает его по силуэту пользователя. Этот эффект создан для привлечения внимания проходящих мимо людей. Данный режим отключается при появлении пользователя с одной вытянутой (видимой системе) рукой.
2. Режим отображения мультимедиа каталогов (рис. 66) – «матрица элементов». Данный режим является режимом по умолчанию. Матрица элементов отображает фото и видео контент, находящейся в папке, указанной в настройках программы. При этом учитывается иерархия вложенных директорий в указанной папке. Элементы располагаются в алфавитном порядке. При активации элемента матрицы происходит переход во вложенную директорию либо переход в режим «линейки элементов». Перемещение по каталогу в данном режиме возможно двумя способами:
Жестом захвата (данный жест описан ниже) - перемещая руку в горизонтальном направлении.
При помощи кнопок-стрелок, расположенных по бокам окна. Для перемещения необходимо удерживать курсор на кнопке.
3. Режим «линейка элементов» (рис. 67) отображает контент, находящийся в выбранной папке в виде горизонтальной последовательности фото и видео. При этом всегда отображается только один выбранный элемент на весь экран. В правом верхнем углу отображается номер текущего объекта и общее количество файлов в выбранной папке. В левом верхнем углу отображается кнопка «назад», которая позволяет вернуться в режим «матрица элементов» Если текущий слайд является видео, то рядом с ним появляются дополнительные элементы управления: кнопка воспроизведения, регулятор громкости и перемотки (рис. 68). Для переключения слайдов используется жест «маха».