Создание приложений, управляемых жестами и голосом,...

23

Upload: sian

Post on 08-Feb-2016

82 views

Category:

Documents


0 download

DESCRIPTION

DEV211. Эксперт по разработке информационных систем. Microsoft. Создание приложений, управляемых жестами и голосом, для Windows с использованием Kinect. Андреев Дмитрий. Содержание. Сенсор Kinect Использование Камеры Данные глубины Отслеживание скелета Аудио. 3D Сенсор глубины. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Создание приложений, управляемых жестами и голосом, для  Windows  с использованием  Kinect
Page 2: Создание приложений, управляемых жестами и голосом, для  Windows  с использованием  Kinect

DEV211

Создание приложений, управляемых жестами и голосом, для Windows с использованием KinectАндреев ДмитрийЭксперт по разработке информационных системMicrosoft

Page 3: Создание приложений, управляемых жестами и голосом, для  Windows  с использованием  Kinect

Содержание

Сенсор KinectИспользование КамерыДанные глубиныОтслеживание скелетаАудио

Page 4: Создание приложений, управляемых жестами и голосом, для  Windows  с использованием  Kinect

RGB Камера

Мультимикрофон Моторизованная платформа

3D Сенсор глубины

Page 5: Создание приложений, управляемых жестами и голосом, для  Windows  с использованием  Kinect

Демонстрация

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

Page 6: Создание приложений, управляемых жестами и голосом, для  Windows  с использованием  Kinect

Данные датчика глубины

Дистанция от Kinect для каждого пикселяОпционально включается информация о Игроке

Page 7: Создание приложений, управляемых жестами и голосом, для  Windows  с использованием  Kinect

Как устроены данные глубины

ImageFrame.ImageBitsМассив байтов public byte [] Bits;Массив

Начинается с верхнего левого углаС лева на право, с верху в низОтображает дистацию до пикселя

Page 8: Создание приложений, управляемых жестами и голосом, для  Windows  с использованием  Kinect

Вычисление дистанции

Два байта на пиксель (16 бит)Depth – дистанция до пикселя

Ротируем второй байт на 8Distance (0,0) = (int)(Bits[0] | Bits[1] << 8);

DepthAndPlayer Index – включает номер ИгрокаРотируем 3 первых байта (индекс игрока), 5 следующий байтDistance (0,0) =(int)(Bits[0] >> 3 | Bits[1] << 5);

Page 9: Создание приложений, управляемых жестами и голосом, для  Windows  с использованием  Kinect

Глубина: как измерять

Границы дистанции: от 850мм до 4000ммЗначение 0: Unknow

Тень, низкая освещенность, высокий уровень отражений,…Индекс игрока

0: нет игрока1: скелет 12: скелет 23: игрок 34:…

Page 10: Создание приложений, управляемых жестами и голосом, для  Windows  с использованием  Kinect

Демонстрация

Работа с данными глубины

Page 11: Создание приложений, управляемых жестами и голосом, для  Windows  с использованием  Kinect

Данные скелета

Page 12: Создание приложений, управляемых жестами и голосом, для  Windows  с использованием  Kinect

Сочленения (Joints)

Отслеживается максимум два игрока одновременноКаждый игрок является набором <x,y,z> сочленений, измерение в метрахКаждое сочленение имеет состояние Tracked, NotTracked, InferredInferred – закрыто, не наблюдается, низкая уверенность в предсказанииNot Tracked состояние бывает редко но вы все равно должны проверять его в коде

Page 13: Создание приложений, управляемых жестами и голосом, для  Windows  с использованием  Kinect

Сглаживание данных оскелете

Используйте чтобы снизить «дрожание» данных о скелете (jitter)

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

nui.SkeletonEngine.TransformSmooth = true;Тонкая настройка с помощью TransformSmoothParameters

Correction, JitterRadius, MaxDeviationRadius, Prediction, Smoothing

Page 14: Создание приложений, управляемых жестами и голосом, для  Windows  с использованием  Kinect

Демонстрация

Работа с данными о скелете

Page 15: Создание приложений, управляемых жестами и голосом, для  Windows  с использованием  Kinect

Аудио

Kinect как микрофонKinect и распознавание голоса

Page 16: Создание приложений, управляемых жестами и голосом, для  Windows  с использованием  Kinect

Мульти-модальная обратная связь

Модель ВзаимодействияИндикатор микрофона для меню с голосомОжидаемое ключевое слово

Обратная связьи подтверждение

Page 17: Создание приложений, управляемых жестами и голосом, для  Windows  с использованием  Kinect

Распознавание голоса

Набор грамматик доступен для загрузкиГрамматика – то что мы ожидаем услышать

Код – GrammarBuilder, ChoisesСпецификация (Speech Recognition Grammar Specification, SRGS)

C:\Program Files (x86)\Microsoft Speech Platform SDK\Samples\Sample Grammars\

Page 18: Создание приложений, управляемых жестами и голосом, для  Windows  с использованием  Kinect

Грамматика

<!-- Confirmation_YesNo._value: string ["Yes", "No"] --><rule id="Confirmation_YesNo" scope="public"> <example> yes </example> <example> no </example> <one-of> <item> <ruleref uri="#Confirmation_Yes" /> </item> <item> <ruleref uri="#Confirmation_No" /> </item> </one-of> <tag> out = rules.latest() </tag></rule></rule>

<!-- Confirmation_Yes._value: string ["Yes"] --><rule id="Confirmation_Yes" scope="public"> <example> yes </example> <example> yes please </example> <one-of> <item> yes </item> <item> yeah </item> <item> yep </item> <item> ok </item> </one-of> <item repeat="0-1"> please </item> <tag> out._value = "Yes";</tag>

Page 19: Создание приложений, управляемых жестами и голосом, для  Windows  с использованием  Kinect

Демонстрация

Аудио

Page 20: Создание приложений, управляемых жестами и голосом, для  Windows  с использованием  Kinect

Ресурсы

Загрузкаhttp://research.microsoft.com/kinectsdk

Примерыhttp://research.microsoft.com/kinectsdk/

Coding4Fun Kinect Toolkithttp://c4fkinect.codeplex.com

Быстрй старт с Kinect SDKhttp://channel9.msdn.com/series/KinectSDKQuickstarts

Page 21: Создание приложений, управляемых жестами и голосом, для  Windows  с использованием  Kinect

Обратная связь

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

Спасибо!

Page 22: Создание приложений, управляемых жестами и голосом, для  Windows  с использованием  Kinect

Вопросы

DEV211Дмитрий Андреев

Эксперт по разработке информационных систем[email protected]: @dmandreevhttp://blogs.msdn.com/dmandreev

Вы сможете задать вопросы докладчику в зоне Microsoft в зале №17 в течение часа после завершения этой сессии

Page 23: Создание приложений, управляемых жестами и голосом, для  Windows  с использованием  Kinect