Публикация научных статей.
Вход на сайт
E-mail:
Пароль:
Запомнить
Регистрация/
Забыли пароль?
Международный научно-исследовательский журнал публикации ВАК
Научные направления
Поделиться:
Статья опубликована в №45 (май) 2017
Разделы: Техника
Размещена 23.05.2017. Последняя правка: 22.06.2017.

KINNECT КАК УСТРОЙСТВО ДЛЯ ТРЕХМЕРНОГО СКАНИРОВАНИЯ, А ТАК ЖЕ МЕТОДЫ РАСПОЗНАВАНИЯ ОБЪЕКТОВ

Попов Владимир Владимирович

Магистр

НАУЧНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Студент

Кизеев Вениамин Михайлов, старший преподаватель, Национальный исследовательский Томский политехнический университет


Аннотация:
Статья посвящена системе технического зрения Kinect, разработанная компанией Microsoft для игровой консоли Xbox 360. Но при её возможностях можно реализовать множество научных проектов, где требуется система технического зрения нового поколения. Например, для выполнения простейших операция роботом - хирургом. Или оценка местности беспилотного летательного аппарата.


Abstract:
The article is devoted to the system of technical vision Kinect, developed by Microsoft for the Xbox 360 game console. But with its capabilities it is possible to implement many scientific projects where a new generation of vision system is required. For example, to perform the simplest operation by a robot - a surgeon. Or the assessment of the terrain of an unmanned aerial vehicle.


Ключевые слова:
Kinnect; системы технического зрения; инноватика; алгоритмы распознавания изображения; камера.

Keywords:
Kinect; vision systems; innovation; image recognition algorithms; camera.


УДК 681.3.014

Введение

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

Актуальность работы с контроллером Kinect

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

Статья посвящена актуальной научной задаче: на основе трехмерного сканирования, совмещение виртуальной и дополненной реальностей. Где для трехмерного сканнирование берется игровой контроллер Kinect, а програмными средствами выступят Visual Studio 2010, Kinect for Windows SDK.

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

Основные задачи исследования:

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

Разработать метод совмещения виртуальной и дополненной реальностей.

Продемонстрировать разработанный метод на реальной компьютерной системе.

Объект исследования: метод сканирования и совмещения виртуальной и дополненной реальностей.

Предмет исследования: существующие способы позволяющие совмещать элементы виртуальной и дополненной реальностей в реальном времени с помощью системы трехмерного сканирования Kinect.

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

Kinect - бесконтактный сенсорный игровой контроллер, созданный компанией Microsoft (Рис. 1).

Рисунок 1. Kinect

Позволяет взаимодействовать пользователю с ним с помощью голосового управления, жестов тела и т.д.[1].

Kinect имеет 2 сенсора, RGB-камеру и множество микрофонов в основании конструкции (Рис. 2). Первый инфракрасный сенсор служит для распознавания пространства вокруг игрока, второй монохромный CMOS-сенсор предназначен для перенесения полученных данных в игровое пространство.  Камера служит для распознавания лиц, съемки видео и фотографий. Так же устройство оснащено механической подставкой, при необходимости  механический привод автоматически наклоняет сенсор вверх и вниз. Дальность распознавания 3-5 метров.

Наклон вниз позволяет обнаружить пол, а наклон вверх позволяет  «увидеть» игроков в их игровом пространстве.

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

Рис 2. Kinect изнутри.

VGA‑камера «видит» и записывает ваши движения в цвете, с частотой 30 кадров в секунду.

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

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

Игрок движется перед экраном, Kinect считывает информацию, а Xbox 360 обрабатывает ее.

Но что же передается с контроллера на консоль?

Это конечно же RGB-видео потоковое видео с разрешением VGA (640х480 пикселей) и частотой 30 кадров в секунду. Затем - с таким же разрешением монохромный видеопоток, следящий за глубиной изображения.

И, в конце, 16-битное аудио с частотой дискретизации 16 кГц.

С микрофоном и монохромным датчиком разработчики придумали несколько хитростей.

В конструкцию Kinect встроено 4 микрофона, что позволяет  определять кто говорит и в какой части комнаты этот человек находится. Но раньше для того что бы распознать речь человека оптимальное расстояние от микрофона было 2 см, а что если игрок стоит за 3-4 метра от микрофона? Шум из окна, домашние животные, а так же другие люди в комнате мешали бы распознавать устройству речь играющего,  плюс динамики от самой приставки Xbox 360, ведь игроки часто ставят громкость на максимум. То есть перед разработчиками стояло две задачи: отделить шум динамиков от речи человека и второе это уменьшить реверберации и шум. Только в этом случае в "распознаватель речи" будет поступать разборчивый звук относительно высокого качества. Поэтому разработчикам пришлось ввести несколько технологий. Первая это технология направленных микрофонов. Четыре микрофона позволяют системе захвата определить, откуда идет звук, и отсечь шумы и реверберацию. Вторая технология – эхоподавление. Это одна из старых разработок, она давно применяется в спикерфонах (телефонах с громкоговорителем). Но в спикерфонах уровень громкости приближен к уровню человеческого голоса, а в приставке Xbox 360 громкость динамиков намного выше человеческого голоса. Так же сигнал от динамиков является не монофоническим, а стереофоническим. Разработчики нашли выход – это алгоритм стереоакустического эхоподавления. Создать такой алгоритм было непростой исследовательской задачей и такая технология впервые применялась в Kinect, более того устройство теперь могло распознавать речь с расстояния 3-4 метров. Так же важно что в Kinect в отличии от других речераспознающих устройств нет кнопки Push-to-talk ("Нажми и говори"), то есть пользователю не нужно выполнять каких либо действий что бы подать знак о том что он говорит.А чтобы распознать положение тела игрока используется такая же технология как и в дальномерах (Рис.3), Инфракрасный проектор накладывает на пространство перед Kinect сетку из точек. 30 раз в секунду инфракрасная камера считывает картинку и передает данные на консоль, где для каждой из этих точек определяется пространство от нее до камеры. Что бы определять положение игрока использован алгоритм Kinect Fusion. На основе анализа кадров глубины, получаемых с сенсора Kinect формируется детализированное 3D-представление обозреваемой сцены(пол, стены). Данные обрабатываются в реальном режиме. Высокая детализация и скорость достигается за счет использования для всех расчетов GPU.

Рис. 3. Персонаж на экране полностью повторяет движения человека.

Алгоритм Kinect Fusion

Основной цикл работы алгоритма Kinect Fusion включает в себя следующие шаги:

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

Очевидное ограничение на размер сцены присутствует в модуле KinFu. Расширение алгоритма Kinect Fusion – Kintinuous предлагает по мере приближения камеры к границам куба – выгружать часть сцены из памяти видеокарты во внутренее представление модели “всего мира”. Эта идея нашла свое отражение в модуле KinFu Large Scale.

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

Рис. 4. Пример работы алгоритма Kinect Fusion.

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

Результаты работы

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

Рис. 5. Структура работы подсистем

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

Когда программа запускается, она переходит в режим прослушки движений в пространстве. И, смотря какой тип события произошел, в систему посылаются нужные команды посредством метода SendInput (). Таким образом этот метод является очень эластичным и универсальным, так как команды передаются в любое активное приложение. То есть наша система будет подходить для управления любого приложения путем изменения положения тела юзера.

Вывод

Kinect очень интересное приспособление и имеет большой потенциал использования помимо игр. Недавно была представлена система с использованием алгоритма Kinect Fusion: планшет с закрепленным на нем сенсором Kinect создает модель головы пациента, что позволяет нейрохирургам определить оптимальное место для начала операции. Преемущества данной система относительно других устройств трехмерного сканирования можно выделить несколько. Во-первых это цена, даже любительские устройства данного типа стоят на порядок дороже, а функции выполняет те же самые, но в некоторых случаях у системы Kinect есть больший функционал. Во-вторых это специльное приложение от Microsoft: "Microsoft kinnect for windows" - данное приложение бесплатно доступно на официальном сайте Microsoft, что делает эту хорошим вариантом для обучения. То есть если необходимо научиться работать с техническим зрением и трехмерным сканированием не выходя из дома и потратить на это минимум денежных вложений и времени, тогда данная система подходит как можно лучше.
Данный концепт очередной раз демонстрирует, что Kinect давно вышел за рамки индустрии развлечений и в скором времени сможет найти применение в самых различных областях нашей жизни.

Библиографический список:

1. Обзор xBox360 kinect [Электронный ресурс]. – URL: http://xbox66.ru/blog/category/1-review-360/entry/11-obzor-review-xbox360-slim.html (Дата обращения 24.10.15).
2. Kinect вид изнутри [Электронный ресурс]. – URL: http://www.gamer.ru/hardware/kinect-vid-iznutri (Дата обращения 24.10.15).




Рецензии:

23.05.2017, 19:32 Лобанов Игорь Евгеньевич
Рецензия: Автору следует уделить внимание на то, чем используемый аппарат предпочтительнее других аппаратов трёхмерного сканирования. Это следует отразить в выводах. После чего статью можно будет рекомендовать к публикации.

15.06.2017 12:12 Ответ на рецензию автора Попов Владимир Владимирович:
Благодарю за рецензию. В вывод добавлены пункты по которым данная система будет лучше профессиональных устройств сканирования именно начинающим разработчикам. Конечно же для сверх сложных систем, как автопилот автомобиля понадобится устройство сложнее, так как у устройства Kinect как минимум область сканирования ограниченна 3-5 метрами.

25.05.2017, 22:45 Феофанов Александр Николаевич
Рецензия: Техническое зрение существовало и на советских заводах для автоматизированного контроля качества продукции. В аннотации данной статьи приведены очень хорошие примеры области использования технического зрения. Один из таких — медицина, но даже там, порой при проведении простой внутри тельной операции по удалению полипа, выполняемой хирургом посредством манипуляторов, приходится вводить в удаляемые ткани окрашивающие вещества. Понятно что при техническом зрении эта проблема не исчезнет. Не говоря о сложности реализации технического рения с большим количеством объектов не различимых по цвету и форме (желеобразные объекты). Хочется узнать у автора почему он хочет построить систему визуального распознавания на базе игровой платформы KINNECT и какие цели преследует? Ведь все эти системы переноса в виртуальную реальность никогда не передадут точные ощущения испытываемые в реальности. Из минусов: не вынесены позиции датчиков на платах изделия. В тексте статьи дается пояснение «Рядом расположен сенсор», но непонятно рядом с чем. В начале очень много говорится о аудио и анализе звука, о расположении микрофонов, хотя тема обозначена как трехмерное сканирование и распознавания объектов. Термин — фрейм, думаю, тут не уместен, так как он обозначает каркас (структуру/схему) для описания объектов, а тут, скорее всего, создаются снимки состояний, которые подвергаются сравнению программными способами.
15.06.2017 12:12 Ответ на рецензию автора Попов Владимир Владимирович:
Добрый день, благодарю за проявленное внимание к моей работе. Да, бесспорно техническое зрение существовало и ранее, но во-первых это громоздкие системы, во-вторых по большей части дорогие. То есть со стороны цена-функционал данная система хорошо подходит начинающим разработчикам, так как имеет открытую библиотеку (специальное приложение от Microsoft, библиотека OPENCV для C#) и привлекательную цену по сравнению со специализированными аналогами. Но в принципе для реализации тестовых проектов эта система подходит. Например, для тех же операций. Конечно для сложных хирургических операций необходимо множество тестов и отработка сложнейшего алгоритма, возможно, с применением ИИ. Но даже человек не может сразу приступить к выполнению операций после обучения. И даже после 1000 проделанных действий все равно бывают врачебные ошибки. А если у автоматизированной системы произойдет ошибка, то нетрудно представить последствия. Позиции датчиков представлены на рисунке 1 и 2. Точное расположение по моему мнению не имеет особой важности. И эта информация есть в свободном доступе в интернете. В статье я рассматриваю конкретно функционал и возможности.

21.06.2017, 15:47 Лобанов Игорь Евгеньевич
Рецензия: Если автор добавит в статью комментарий об ограничении сканирования, как он сам говорит, 3--5 метров, а также укажет ограничения для других подобных устройств, то статью можно будет рекомендовать к публикации.
22.06.2017 8:08 Ответ на рецензию автора Попов Владимир Владимирович:
Благодарю за рекомендацию.



Комментарии пользователей:

Оставить комментарий


 
 

Вверх