автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Интерфейс бесконтактного человеко-машинного взаимодействия на основе данных сенсора-дальномера

кандидата технических наук
Котюжанский, Леонид Анатольевич
город
Екатеринбург
год
2014
специальность ВАК РФ
05.13.11
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Интерфейс бесконтактного человеко-машинного взаимодействия на основе данных сенсора-дальномера»

Автореферат диссертации по теме "Интерфейс бесконтактного человеко-машинного взаимодействия на основе данных сенсора-дальномера"

На правах рукописи

КОТЮЖАНСКИЙ ЛЕОНИД АНАТОЛЬЕВИЧ

ИНТЕРФЕЙС БЕСКОНТАКТНОГО ЧЕЛОВЕКО-МАШИННОГО ВЗАИМОДЕЙСТВИЯ НА ОСНОВЕ ДАННЫХ СЕНСОРА-ДАЛЬНОМЕРА

Специальность 05.13.11 - Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата технических наук

005547616

2 4 АПР 2014

Екатеринбург - 2014

005547616

Работа выполнена на кафедре информационных систем и технологий ФГАОУ ВПО «Уральский федеральный университет имени первого Президента России Б.Н.Ельцина»

Научный руководитель д-р физ.-мат. наук, доцент

ОСИПОВ Александр Владимирович профессор кафедры «Информационные системы и технологии» ФГАОУ ВПО «Уральский федеральный университет имени первого Президента России Б.Н.Ельцина»

Официальные оппоненты

д-р техн. наук, проф. ЖУКОВ Дмитрий Олегович профессор Института криптографии, связи и информатики ФГБОУ ВПО «Академия ФСБ РФ»

Ведущая организация

канд. техн. наук

НИКОНОВ Вячеслав Викторович

доцент кафедры «Автоматизированные системы управления и информационные технологию) ФГБОУ ВПО «Московский государственный университет приборостроения и информатики»

ФГБОУ ВПО «Уральский государственный университет путей сообщения»

Защита диссертации состоится 21 мая 2014 г. в Ю00 часов на заседании диссертационного совета Д-212.288.07 на базе ФГБОУ ВПО «Уфимский государственный авиационный технический университет» по адресу:

450000, г. Уфа, ул. К. Маркса, 12.

С диссертацией можно ознакомиться в библиотеке ФГБОУ ВПО «Уфимский государственный авиационный технический университет» и на сайте http://www.ugatu.ac.ru/.

Автореферат разослан « » _ 2014 г.

Ученый секретарь диссертационного совета

И. Л. Виноградова

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

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

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

Исследования в области естественных интерфейсов управления жестами стали появляться еще в конце восьмидесятых годов, в частности была представлена сенсорная перчатка, позволяющая отслеживать сгибание пальцев и положение ладони пользователя посредством ультразвуковых датчиков для манипулирования виртуальным содержимым (Thomas G. Zimmerman). В ряде работ (Laura Dipietro, Angelo М, 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 г.г.), позволяющим получить трехмерную видео информацию в виде карты глубины или трехмерного облака точек видимого сенсору пространства.

Именно трехмерность данных позволяет решить одну из основных и весьма сложных задач машинного зрения - отсечение заднего фона и сегментацию объектов для их последующего анализа.

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

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

Объект исследования — процесс обработки данных сенсора-дальномера в задачах распознавания жестов для бесконтактного управления программным обеспечением.

Предмет исследования — возможность детектирования жестов в потоке данных сенсора-дальномера для реализации функций бесконтактного управления.

Цель исследования - создание эффективного интерфейса бесконтактного человеко-машинного взаимодействия.

Задачи исследования:

1) разработать концепцию системы управления жестами на основе данных сенсора-дальномера;

2) предложить модель интерфейса бесконтактного управления программным обеспечением на основе обработки данных сенсора-дальномера;

3) предложить методы детектирования физических объектов, участвующих в формировании жеста: пользователь, руки, пальцы и прикосновений к поверхности;

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

• отслеживание пользователя;

• распознавание вытянутых рук пользователя;

• распознавание пальцев пользователя;

• детектирование жестов;

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

Научная новизна

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

По существу новизна результатов определяется следующими отличительными признаками:

1) концепция системы управления жестами: а) система использует сенсор дальномер, который устанавливается рядом с экраном; б) перед сенсором имеется некая интерактивная зона, в которой система детектирует пользователя, его видимые руки и пальцы; в) на основе полученных от сенсора-дальномера координат и вычисленных скоростей найденных объектов система детектирует производимые пользователем эталонные жесты; г) каждый эталонный жест транслируется в управляющую команду;

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

3) методы иерархического детектирования пользователя на основе Z-сегментации облака точек и определения его характеристических параметров; рук и пальцев на основе геометрических критериев; метод распознавания жестов по анализу координат, скоростей, форм выделенных подоблаков; метод детектирования прикосновений к любой поверхности в поле зрения сенсора по вычисляемым картам отклонений.

4) программные модули (техническая новизна), осуществляющие необходимые действия для эффективного управления жестами:

• отслеживание пользователя;

• распознавание вытянутых рук пользователя;

• распознавание пальцев пользователя;

• детектирование жестов;

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

Теоретическая и практическая значимость работы

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

ных, расширяет возможности проектирования интерфейсов взаимодействия нового типа.

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

Методология и методы исследования

В работе использовались методы математического моделирования и численного эксперимента, математическая статистика и математический анализ, методы цифровой обработки изображений, элементы теории алгоритмов, объектно-ориентированный анализ, объектно-ориентированное программирование и др. Алгоритмизация распознавания изображений проводилась с использованием библиотек OpenCV, OpenGL, Openframeworks, протокола UDP и языков программирования С++ и GLSL.

Положения, выносимые на защиту:

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

2) модель интерфейса бесконтактного управления программным обеспечением на основе обработки данных сенсора-дальномера, отличающаяся тем, что

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

б) обеспечена возможность реализации универсального набора жестов, где каждый жест используется для определенной операции;

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

3) Методы иерархического детектирования пользователя, его рук, пальцев, отличающиеся последовательным способом разбиения данных об ис-

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

4) Программные модули для эффективного управления жестами на расстоянии, отличающиеся соответствием концепции (см. п. 1) и модели (см. п. 2) интерфейса бесконтактного управления и являющиеся практической реализацией предложенных методов (см. п. 3).

5) Программное обеспечение интерфейса бесконтактного управления, отличающееся соответствием концепции (см. п. 1), модели (см. п. 2) интерфейса бесконтактного управления и детектирования прикосновений к поверхности, интегрирующее программные модули распознавания (см. п. 4).

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

Проект Котюжанского Л.А. «Человеко-машинный интерфейс на базе устойчивого распознавания движений и жестов» стал победителем конкурса проектов по Уральскому федеральному округу по программе «СТАРТ-10», работа «Разработка сенсорных контактных и бесконтактных мультимедийных устройств» представлялась на II Всероссийском конкурсе «Умник на СТАРТ» (Самара 2011, 26 сентября - 1 октября), в итоге был выигран грант для проведения НИОКР.

Публикации. По результатам выполненных исследований опубликовано 14 работ, среди них 3 статьи в рецензируемых научных журналах из перечня ВАК, 7 публикаций без соавторов. Получено свидетельство о государственной регистрации программы для ЭВМ.

Структура диссертации. Диссертация включает введение, три главы, заключение, список литературы и приложения. Общий объем диссертации составляет 146 страниц машинописного текста, из них 129 страниц - основной текст, 75 рисунков, 3 таблицы. Библиографический список содержит 177 наименований.

СОДЕРЖАНИЕ ДИССЕРТАЦИИ

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

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

На данный момент известны активные и пассивные методы восстановления информации о глубине реальной сцены. Активные методы используют ультразвуковые преобразователи или лазерное освещение рабочего пространства, дающие на выходе быструю и точную информацию о глубине (Feiner S., Maclntyre В., Seligmann D., Iddan G. J., Yahav G.). Однако у этих методов есть ограничения по отношению к диапазону измерений и стоимости аппаратных компонентов.

Пассивные методы, основанные на компьютерном зрении, обычно реализуются более простыми и недорогими сенсорами, определяющими расстояние. Такие методы способны генерировать информацию о глубине по полученной паре изображений и параметрам двух камер (Fehn С., Cooke Е., Schreer О., Kauff P., Kanade Т., Yoshida А., Oda К., Капо Н., Tanaka М.).

Одна из фундаментальных проблем стереозрения заключается в установлении точного соответствия между левым и правым изображением стереопары (рис. 1). Под соответствием понимается расстояние (диспаритет) между пикселями одного и того же объекта на левом и правом изображении. Существующие локальные методы по вычислению карты диспаритета основаны на принципе «скользящего окна». Особенностью локальных методов является то, что при увеличении размеров скользящего окна с одной стороны уменьшается вероятность ошибки определении диспаритета пикселя, а с другой стороны значительно возрастает объем вычислений, что делает данные методы малопригодными для расчетов на стереопарах высокого разрешения в реальном времени. Кроме того появляется эффект «раздувания» переднего плана.

В данной работе предложен метод вычисления карты глубины, основанный на использовании двух одномерных разреженных окон - вертикального и горизонтального. Каждое окно строится из центра рассматриваемого пикселя. Под разряжением понимается, что окно состоит не из ближайших друг к другу пикселей, а из пикселей находящихся на некотором заданном расстоянии друг от друга, например, два, четыре, шесть пикселей. Это позволило существенно увеличить скорость вычислений при незначительном увеличении ошибки.

В основу расчетов положено определение итоговой стоимости двух окон Cj , путем выбора минимального значения из стоимостей каждого окна Crf = min {С(,, С,.}.

Стоимость горизонтального окна вычисляется по формулам

Ch(x,y,d)= £ pe(l-,(1)

Рс(х,а,у)=\р(х,у)-д(х-с1,у) |, (2)

р - пиксель на левом изображении, - пиксель на правом изображении,

Л - перебираемый диспаритет, И^- горизонтальная окрестность пикселя с центром в точке (х,у).

Аналогично проводятся вычисления стоимости вертикального окна. Подчеркнем, что операция суммирования выполняется по индексам суммирования, меняющимся с шагом неравным единице (эффект прореженности окна (окрестности).

Левое изображение

Карта глубины - чем ближе объект, тем ярче его изображение (60 уровней глубины)

Рисунок 1 - Формирование карты глубины по двум плоским изображениям

В настоящий момент в области GPU вычислений наиболее активно развиваются технологии CUDA и OpenCL, обеспечивающие высокую гибкость при взаимодействии между ЦПУ и GPU. В данной работе был выбран язык для программирования шейдеров GLSL, реализующий обработку графических данных, таких как текстуры, полигоны фрагментными и вершинными программами. Выбор в пользу GLSL обусловлен тем, что входными и выходными данными разработанного алгоритма являются изображения.

В процессе разработки данного метода обозначились пути возможного улучшения качества и оптимизации скорости вычислений. Так для практически полного удаления шумов и повышения четкости границ объектов на карте глубины предложено использование сегментации входного изображения. Это позволило находить глубину не для каждого конкретного пикселя изображения, а для группы пикселей - сегмента изображения. Дополняющие

Правое изображение

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

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

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

Связь между приемником и передатчиком осуществляется по специально разработанному протоколу передачи данных GUIO (gestare user interface output), обеспечивающему передачу данных по локальной сети или сети интернет. Такое разделение архитектуры на два отдельных модуля дает системе ряд важных преимуществ:

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

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

- разделение системы на два отдельных модуля выгодно с точки зрения оптимального использования ресурсов ЦПУ и памяти.

Функциональная структура передатчика показана на рис. 3.

Передатчик является своеобразным фильтром трехмерного облака точек, который пошагово анализирует трехмерное облако точек видимых сенсору, отбрасывая ненужные точки.

Рисунок 2 - Общая архитектура системы

Рисунок 3 - Функциональная архитектура передатчика - модуля распознавания пользователя, его рук и пальцев

На вход модуля распознавания жестов (рис. 3) в каждый момент времени t с шагом At = ~с от сенсора дальномера поступают данные о карте глубины

dm, которая представляет собой двумерный массив значений глубины (удаленности от сенсора отдельных точек объекта воспринимаемого сенсором), dm=(dmiJ), где »,/- целочисленные координаты точки (г = 04,..., width, j = 0Х-, height).

Далее карта глубины сегментируется первичным Z- отсечением по правилу

Г0, dm,. > ft

где ft- константа (пороговое значение удаленности точки), являющаяся эмпирическим параметром моделируемой системы управления.

Следующая обработка бинаризированных данных заключается в «размытии» массива bm=(bmIJ), когда с помощью процедуры свертки строится массив

Ът = (¿>mj:

bmit= Yj>m<s-mu • (4)

IJiiV(IJ)

Здесь N(i,j) - (3 x 3) окрестность элемента bmt,, m,s -элемент известной матрицы свертки

fl 1 Г

М= 1 1 1 . (5)

_ Ь 1 V

Далее множество Ьт разделяется на подмножества - сегменты (блобы). Отдельный сегмент с номером S — соответствует множеству точек PSt (i, j), к -1,2,..., Ns, удовлетворяющих условиям:

Щф о,

p(PSi,PsJ<R, (б)

ms <Nt <MS, где R,ms,Ms — эмпирические параметры.

Для каждого сегмента формируется массив (облако) трехмерных точек Q, (х> У> z)> к ~ 1Л—7 > (7)

определяются его центроид

Ctd, = (8)

другие интегральные характеристики облака, значения которых используются для вычленения подмножества точек, возможно относящихся к голове пользователя, включая характеристические точки St max и CtdH— точку вероятного

центроида головы пользователя. Окончательный вывод об идентификации облака делается на основании анализа пикселей прямоугольной области цветного кадра в характеристической точке См1н методом Виолы-Джонса (рис. 4).

С-ЗСС 'ЭТС,':£д=-:0с ГГуЕ:>з

Рисунок 4 - Использование алгоритма Виолы-Джонса для определения пользователей

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

Основная идея сегментирования рук заключается в Z -отсечении части пикселей карты глубины некоторой плоскостью

*:(z-zo) = 0, (9)

где

[ {Ctd„):+Z„ z„ Ч ((¿X).- + пих); -Z,))-0.85

(S„max)__ <(Ctd„\+Zc (St max). > (Ctdh)_ + Z/

(10)

2~ эмпирический параметр.

Сегментированная карта глубины предполагаемых рук (рис. 5) для каждого конкретного пользователя строится по следующему правилу

= (11)

где р - значение пикселя карты глубины £>.

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

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

некий манипулятор курсора, то пальцы могут играть роль модификатора кур-

Рисунок 5 - Первичная сегментация рук по характеристическим точкам пользователя

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

Рисунок 6 - Получение бинаризованного изображения и его контура

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

В третьей главе описывается работа детектора жестов из предложенного конечного множества.

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

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

Отдельно представлен специальный алгоритм фильтрации координат курсора руки.

В силу недостаточно высокого разрешения сенсоров-дальномеров (как правило, максимальное разрешение не превышает порог в 640 * 480 пикселей) в системе используется сглаживание координат пальцев по времени. Это делается для того, чтобы минимизировать возможное колебание координат пальцев, при достаточно большой удаленности пользователя от сенсора. Сглаживание координат пальцев выполняется по формулам усреднения. Чем больше величина п (число усредняемых значений), тем более сглаженным выглядит отображаемое движение, но возрастает и эффект отставания сглаженных координат от реальных.

Тестирование показало, что оптимальное значение «попадает в промежуток от 5 до 10. В этом случае дрожание пальцев практически полностью отсутствует при сохранении достаточной реакции на движения пальцев пользователя.

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

Для решения данной задачи необходимо сохранить баланс между чувствительностью системы к изменению положения руки и минимально допустимым дрожанием курсора.

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

Предложенный подход детектирования рук и фильтрации курсора позволил добиться приемлемой точности работы системы, практически полностью устранив резкие ошибочные смещения координат заметные в OpenNi, и Kinect SDK.

Для реализации системы использовался язык С++, а также множество различных вспомогательных программных библиотек и технологий, в частности, OpenCV, OpenGL, GLSL и библиотеки работы с протоколом UDP. Связь с сенсором kinect осуществляется при помощи открытой библиотеки libfreenect.

В качестве основного каркаса приложения был выбран кроссплатформер-ный инструментарий Open Source Toolkit — OpenFrameworks.

Тестирование итогового программного комплекса проводилось для каждого модуля в отдельности и для всей системы в целом на записанном наборе данных из 1800 кадров. В результате были определены оптимальные значения

эмпирических параметров, что позволило поднять вероятность распознавания вытянутой руки до 95,7%, а вероятность корректного определения видимых пальцев до 94,8%.

В заключении сформулированы основные результаты работы.

В приложениях приведены: листинги модулей детектирования жестов и касания поверхности; представлены акты использования результатов диссертации.

ОСНОВНЫЕ ВЫВОДЫ И РЕЗУЛЬТАТЫ РАБОТЫ

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

При этом получены результаты:

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

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

2) модель интерфейса бесконтактного управления программным обеспечением на основе обработки данных сенсора-дальномера, отличающаяся тем, что

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

б) предусмотрена возможность реализации универсального набора жестов, где каждый жест используется для определенной операции;

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

Это позволяет задавать инструментарий проектирования гибких сценариев бесконтактного управления.

3) Методы иерархического детектирования пользователя, его рук, пальцев, отличающиеся последовательным способом разбиения данных об исходном облаке трехмерных точек на отдельные области, вычислением их интегральных характеристик и детектированием определенного объекта на основе геометрических критериев; метод распознавания жестов, отличающийся ис-

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

Это позволяет выполнять надежное, быстрое детектирование управляющих элементов на основе анализа данных сенсора дальномера.

4) Программные модули, написанные на языках С++ и GLSL для эффективного управления жестами на расстоянии, отличающиеся соответствием концепции (см. п. 1) и модели (см. п. 2) интерфейса бесконтактного управления и являющиеся практической реализацией предложенных методов (см. п. 3).

Это позволяет получить набор программных модулей для создания различных систем бесконтактного управления.

5) Программное обеспечение на языках С++ и GLSL интерфейса бесконтактного управления, отличающееся соответствием концепции (см. п. 1), модели (см. п. 2) интерфейса бесконтактного управления и детектирования прикосновений к поверхности, интегрирующее программные модули распознавания (см. п. 4).

Это позволяет:

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

6) создать сенсорный экран на любой поверхности, находящейся в поле зрения сенсора дальномера;

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

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

ПУБЛИКАЦИИ ПО ТЕМЕ ДИССЕРТАЦИИ В рецензируемых журналах из списка ВАК

1. Вычисление карты глубины стереоизображения на графическом процессоре в реальном времени / ДА. Котюжанский // Фундаментальные исследования. 2012. №6 (2). С. 444-449.

2. Реализация симуляции флюидов в системе интерактивной проекции / JI.A. Котюжанский // Вектор науки Тольяттинского государственного университета. 2012. №3(21) . С. 23-26.

3. Интерфейс бесконтактного управления / ЛА. Котюжанский // Фундаментальные исследования. 2013.4 (1). С. 44-48.

В других изданиях

4. Нейросетевые технологии распознавания сложных образов / Л.Л. Копожан-ский // Отчетная конференция молодых ученых: науч. труды XI отчетной конф. молодых ученых ГОУ ВПО УГГУ - УПИ: сб. статей. Екатеринбург: ГОУ ВПО УГТУ-УПИ, 2007. Ч 3. С. 223-225.

5. Модель авторской системы универсального распознавания образов / ЛА. Котюжанский, Н.И. Потанин // Отчетная конференция молодых ученых: науч. труды XII отчетной конф. молодых ученых ГОУ ВПО УГТУ-УПИ: сб. статей. Екатеринбург: ГОУ ВПО УГТУ-УПИ, 2007- С.21-26.

6. Сеид, о гос. per. программы для ЭВМ № 2006612201. SKYNKT АЛ. CORE / Л.А. Котюжанский. Зарег. 15.01.2007. М.: Фед. сл. по интел. собств. (Роспатент).

7. Универсальная система распознания образов - структура, обучение и тестирование системы / Л А Котюжанский, В. А. Пухов // Отчетная конференция молодых ученых: науч. труды XIV отчетной копф. молодых ученых УГТУ-УПИ: сб. статей. Екатеринбург: УГТУ-УПИ, 2008. Ч. 3. С. 297-300.

8. Компактные нейронные сети, распознающие лица / Н.И. Потанин, JIA. Котюжанский // Интерфейс «Мозг-Компьютер»: мат. XV междунар. конф. Ростов-на-Дону: Изд. ЮФУ, 2009. Т. 2. С. 146.

9. Физическая симуляция и визуализация поверхности воды для интерактивной проекции изображения на плоскость / ЛА. Котюжанский, M.JI. Щелкунов, В.М. Коренберг, Т.А. Матвеева II Новые образовательные технологии в вузе: сб. мат. 7-й междунар. науч.-метод. конф. Екатеринбург: ГОУ ВПО «УГТУ-УПИ имени первого Президента России Б.Н. Ельцина», 2010.4. 2. С. 293-296:

10. Интерактивные системы. Человеко-машинный интерфейс, основанный на распознавании жестов / В.М. Коренберг, МЛ. Щелкунов, JI.A. Котюжанский II XVII международная конференция молодых ученых по приоритетным направлениям развития науки и техники: науч. труды XVII междунар. конф. молодых ученых по приоритетным направлениям развития науки и техники. Екатеринбург: ГОУ ВПО «УГТУ-УПИ имени первого Президента России Б.Н. Ельцина», 2010. Ч. 3. С. 27- 34.

11. Дополненная реальность как новый интерфейс взаимодействия человека с компьютером / В.М. Коренберг, МЛ. Щелкунов, ЛА. Котюжанский // XVII международная конференция молодых ученых по приоритетным направлениям развития науки и техники: науч. труды XVII междунар. конф. молодых ученых по приоритетным направлениям развития науки и техники. Екатеринбург: ГОУ ВПО «УГТУ-УПИ имени первого Президента России Б.Н. Ельцина», 2010. Ч. 3. С. 41-46.

12. Реализация симуляции флюидов в системе интерактивной проекции / ЛА. Котюжанский // Современные инструментальные системы, информационные технологии а инновации: маг. IX междунар. науч.-пракг. конф. Курск: Юго-Зап. гос. ун-т, 2012. С. 104-107.

13. Лабораторный мулътитач стол / ЛА. Котюжанский, Н.В.Четверкин, Л.Е. Королев//Новые образовательные технологии в вузе (НОТВ- 2012): сб. мат. IX междунар. науч.-метод. конф. Екатеринбург: УрФУ, 2012. С.80-84.

14. Visiontouch - новая технология интерактивных проекций для учебного процесса / ЛА. Котюжанский, Л.Е. Королев, А.С. Курлов // Новые образовательные технологии в вузе (НОТВ - 2013): сб. мат. X междунар. науч.-метод. конф. Екатеринбург: УрФУ, 2013 [Электронный ресурс]. - Режим доступа: http://notv.urfii.ru/notv/818/1839 (дата обращения 14.04.2013).

Диссертант JI. А. Котюжанский

КОТЮЖАНСКИЙ ЛЕОНИД АНАТОЛЬЕВИЧ

ИНТЕРФЕЙС БЕСКОНТАКТНОГО ЧЕЛОВЕКО-МАШИННОГО ВЗАИМОДЕЙСТВИЯ НА ОСНОВЕ ДАННЫХ СЕНСОРА-ДАЛЬНОМЕРА

Специальность 05.13.11 — Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата технических наук

Подписано в печать 18.03.2014. Формат 60x84 1/16 Бумага офсетная. Печать плоская. Гарнитура Times New Roman. Усл. печ. л. 1,0. Усл. кр.-отт. 1,0. Уч.-изд. л. 0,9 Тираж 100 экз. Заказ № 79

ООО «Издательство ЦДУМ» 450000 г.Уфа, ул. Тукаева, 50

Текст работы Котюжанский, Леонид Анатольевич, диссертация по теме Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

Уральский федеральный университет имени первого Президента России Б.Н.Ельцина

04201457628

Котюжанский Леонид Анатольевич

ИНТЕРФЕЙС БЕСКОНТАКТНОГО ЧЕЛОВЕКО-МАШИННОГО ВЗАИМОДЕЙСТВИЯ НА ОСНОВЕ ДАННЫХ СЕНСОРА-ДАЛЬНОМЕРА

13.11 - Математическое и программное обеспечение вычислительных машин,

комплексов и компьютерных сетей Диссертация на соискание ученой степени кандидата технических наук

Научный руководитель - доктор физико-математических наук, доцент Осипов Александр Владимирович

На правах рукописи

Екатеринбург - 2014

ОГЛАВЛЕНИЕ

Основные термины, обозначения и сокращения.........................................................3

ВВЕДЕНИЕ......................................................................................................................5

ГЛАВА 1 АНАЛИЗ ПОДХОДОВ К СОЗДАНИЮ СИСТЕМ ЗАХВАТА ДВИЖЕНИЯ...................................................................................................................И

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

Основные термины, обозначения и сокращения

Бесконтактное управление - в контексте данной работы управление программным обеспечением посредством движения рук пользователя на расстоянии от 0,5 до 3 м перед сенсором. При этом на руках пользователя отсутствуют какие-либо датчики, фиксирующие движение. Распознавание жестов происходит посредством анализа данных с сенсора-дальномера.

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

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

Захват движения - определение положения частей тела человека и формирование кинематической модели для возможности ее использования в системах управления жестами и 3D анимации.

Шейдер — программа, выполняемая на ГПУ.

GLSL (OpenGL Shading Language) - высокоуровневый язык программирования шейдеров. Используется для написания программ обработки изображений в области компьютерной графики и машинного зрения.

Kinect - сенсор, изначально разработанный компанией Microsoft в качестве игрового контроллера. Сочетает в себе два отдельных сенсора - цветную камеру и дальномер с инфракрасным прожектором.

SDK (Software Development Kit) - комплект средств разработки программных продуктов, позволяющий создавать приложения определенного типа и направленности.

OpenCV (Open Source Computer Vision Library) - библиотека алгоритмов компьютерного зрения, обработки изображений и численных алгоритмов общего

назначения с открытым кодом.

OpenGL (Open Graphics Library) - открытая графическая библиотека, предоставляющая программный интерфейс для написания приложений, использующих двумерную и трехмерную графику. Обеспечивает аппаратное ускорение при визуализации 2D и 3D графики.

ГПУ (GPU - Graphics Processing Unit) - отдельное устройство персонального компьютера или игровой приставки, выполняющее графический рендеринг и параллельные вычисления.

ЦПУ (CPU - Central Processing Unit) - центральный процессор компьютера.

Трекинг - отслеживание объектов в поле зрения сенсора, как правило, с присвоением отслеживаемому объекту целочисленного номера.

Blob или блоб ~ сегментированный фрагмент (регион) изображения. Сегментация происходит согласно отклонениям по яркости, контрасту, цвету на изображении.

Медианный фильтр - цифровой фильтр, используемый для обработки сигналов и изображений для уменьшения уровня шума.

Фильтр Калмана - эффективный рекурсивный фильтр, корректирующий вектор состояния динамической системы.

Метод Виолы-Джонса - метод детектирования объектов на изображении на основе использования признаков Хаара.

ВВЕДЕНИЕ

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

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

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

Для некоторых типов устройств и приложений управление жестами является более практичным и интуитивным выбором. Например, при управлении мобильным роботом основные команды, такие как «идти вперед (назад)», «увеличить (уменьшить) скорость», могут наиболее эффективно выражаться в форме жестов [10, 11, 12]. Использование жестов напрашивается при работе с графическим содержимым [13, 14] для выполнения операций вращения [15],

перемещения и масштабирования [16]; в компьютерных играх [17, 18] и других приложениях, где происходит взаимодействие с виртуальной реальностью [19,20,21]; в работе терминалов для быстрого ознакомления с информацией в местах массового скопления людей.

Исследования в области естественных интерфейсов управления жестами стали появляться еще в конце восьмидесятых годов, в частности была представлена сенсорная перчатка [22], позволяющая отслеживать сгибание пальцев и положение ладони пользователя посредством ультразвуковых датчиков для манипулирования виртуальным содержимым (Thomas G. Zimmerman). В ряде работ (Laura Dipietro, Angelo M, Hoa Phan, Jeffrey Ellen, Mike Bruch) описывалось управление при помощи жестов посредством закрепленных на руке человека сенсоров - магнитных [23, 24, 25], инерционных [26], ультразвуковых [27], инфракрасных [28] и прочих видов датчиков [29, 30, 31, 32]. Обладая, как правило, высокой точностью отслеживания, что имеет решающее значение в системах захвата движения, использующихся в киноиндустрии и компьютерных играх, этот подход показал целый ряд недостатков. В частности, механическая составляющая устройств подвержена физическому износу, имеют место определенные неудобства для пользователя при длительном применении, зависимость конструктива от конституции конкретного пользователя, высокая стоимость устройств.

Альтернативой данному решению является использование технологий машинного зрения и обработки изображения для отслеживания положения рук, пальцев и других частей тела при помощи различных оптических сенсоров, находящихся на некотором расстоянии от пользователя. С середины девяностых годов [33,34,35,36] появляется тенденция к использованию веб-камер как инструмента взаимодействия с компьютером (R. Cipolla [37, 38], A. Pentland [39], Lars Bretzner [40], Ivan Laptev, Tony Lindeberg, Vincent John Vincent).

Рассматривая преимущества и недостатки использования оптической камеры в качестве сенсора жестов, следует отметить высокую зависимость качества распознавания [41] от окружающего пространства, сложности фона и

уровня освещенности. Отсутствие равномерного освещения достаточной степени яркости и наличие сложного, движущегося фона сильно снижает качество работы даже самых высококачественных [42] и сложных алгоритмов машинного зрения. Кроме того, сложные рекурсивные и иерархические алгоритмы распознавания жестов часто являются ресурсоемкими [43, 44, 45, 46, 47, 48, 49], а их программные реализации выдают производительность на уровне нижнего предела (около 15-30 кадров в секунду) реального времени даже на высокопроизводительных компьютерах. В то же время «веб-камера» сегодня является стандартным оборудованием для большинства существующих моделей ноутбуков, планшетов, телефонов. Поэтому в сочетании с постоянным ростом вычислительной мощности элементной базы компьютеров веб-камера по-прежнему является привлекательным решением в качестве сенсора управления мультимедийным контентом.

Наибольший рост количества практических приложений [50, 51, 52, 53], реализующих технологии распознавания пользователей и жестов, в последнее время связан с разработкой компании Microsoft - сенсором-дальномером Kinect [54, 55, 56, 57] (2010-2012 г.г.), позволяющим получить

трехмерную [58,59,60,61,62] видео информацию в виде карты глубины [63,64, 65,66] или трехмерного облака точек видимого сенсору пространства.

Именно трехмерность данных позволяет решить одну из основных и весьма сложных задач машинного зрения - отсечение заднего фона [67, 68, 69, 70] и сегментацию [71, 72, 73] объектов для их последующего анализа.

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

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

Цель и задачи исследования

Целью работы является создание эффективного интерфейса бесконтактного человеко-машинного взаимодействия.

Для достижения этой цели потребовалось решение следующих задач:

1) разработать концепцию системы управления жестами на основе данных сенсора-дальномера;

2) предложить модель интерфейса бесконтактного управления программным обеспечением на основе обработки данных сенсора-дальномера;

3) предложить методы детектирования физических объектов, участвующих в формировании жеста: пользователь, руки, пальцы и прикосновений к поверхности;

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

• отслеживание пользователя;

• распознавание вытянутых рук пользователя;

• распознавание пальцев пользователя;

• детектирование жестов;

5) разработать программное обеспечение для реализации модели интерфейса бесконтактного управления, интегрирующее программные модули распознавания;

6) разработать программное обеспечение детектирования прикосновений к поверхности для создания сенсорных мультитач экранов;

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

Методы исследования

Для решения выше указанных задач использовались методы математического моделирования и вычислительного эксперимента,

математическая статистика и математический анализ, цифровая обработка изображений, элементы теории алгоритмов, объектно-ориентированный анализ, компонентно-ориентированное программирование и др. Алгоритмизация распознавания изображений проводилась с использованием библиотеки ОрепСУ [74, 75, 76, 77, 78], протокола ЕГОР и языков программирования С++ и

Содержание работы по главам

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

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

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

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

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

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

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

Основные положения, выносимые на защиту:

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

Предложенн