Введение в разработку под Kinect

Содержание

Слайд 3

Версии

Kinect for Windows
Коммерческая лицензия
Оптимизирован для использования с компьютерами под управлением Windows
Оптимизирован для

Версии Kinect for Windows Коммерческая лицензия Оптимизирован для использования с компьютерами под
работы на близких дистанциях
Kinect for Xbox 360
Может использоваться только для девелоперских целей
Оптимизирован для использования в Xbox 360

Слайд 4

Устройство Kinect

RGB камера
3D камера глубины
(+ определение пользователя)
Массив из 4х микрофонов
Мотор изменения наклона

Устройство Kinect RGB камера 3D камера глубины (+ определение пользователя) Массив из
девайса

Слайд 5

Kinect SDKs

OpenKinect SDK (Community)
OpenNI Kinect SDK (PrimeSense)
Kinect For Windows SDK (Microsoft)

Kinect SDKs OpenKinect SDK (Community) OpenNI Kinect SDK (PrimeSense) Kinect For Windows SDK (Microsoft)

Слайд 6

Инициализация девайса

Доступ к устройству осуществляется через коллекцию KinectSensor.KinectSensors. Пример получения доступа к

Инициализация девайса Доступ к устройству осуществляется через коллекцию KinectSensor.KinectSensors. Пример получения доступа
первому устройству: var kinect = KinectSensor.KinectSensors[0];
Запуск устройства: kinect.Start();

Слайд 7

RGB-камера

RGB камера

ИК-сенсор

ИК-проектор

RGB-камера RGB камера ИК-сенсор ИК-проектор

Слайд 8

RGB-камера

Поддерживаемые разрешения
RGB 640x480 (30 FPS)
RGB 1280x960 (12 FPS)
YUV 640x480 (15 FPS)
Данные с

RGB-камера Поддерживаемые разрешения RGB 640x480 (30 FPS) RGB 1280x960 (12 FPS) YUV
камеры поступают в виде одномерного байтового массива, содержащего по 4 элемента на каждый пиксель
Данные в массиве хранятся в формате BGRA

Слайд 9

RGB-камера

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

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

Слайд 10

Камера глубины

Камера глубины

Слайд 11

Камера глубины

Датчик глубины состоит из инфракрасного проектора, объединенного с монохромной КМОП-матрицей (CMOS

Камера глубины Датчик глубины состоит из инфракрасного проектора, объединенного с монохромной КМОП-матрицей
APS Matrix), что позволяет датчику Kinect получать трёхмерное изображение при любом естественном освещении.
Поддерживаемые разрешения
640x480 (30 FPS)
320x240 (30 FPS)
80x60 (30 FPS)
Поддерживаемые дистанции
80см – 4м (DepthRange.Default - Kinect for xBox 360)
40см – 3м (DepthRange.Near - Kinect for PC, Kinect SDK v1.5)
Данные с камеры глубины поступают в виде одномерного массива типа short[]

Слайд 12

Дистанции

0.4

0.8

3

4

8

Default
Mode

Near
Mode

Meters

Дистанции 0.4 0.8 3 4 8 Default Mode Near Mode Meters

Слайд 14

Черные тени – что это?

ИК Сенсор

ИК проектор

Препятствие 2

Препятствие 1

Тень вызвана препятствием 1 таким

Черные тени – что это? ИК Сенсор ИК проектор Препятствие 2 Препятствие
образом, что нет проекции на эту часть препятствия 2

Слайд 15

Индекс игрока

Массив данных глубины содержит информацию как по удаленности каждой точки,

Индекс игрока Массив данных глубины содержит информацию как по удаленности каждой точки,
так и индекс игрока
Получение индекса игрока:
var player = depthMatrix[i] & DepthImageFrame.PlayerIndexBitmask;//7
Получение глубины:
var realDepth = depthMatrix[i] >> DepthImageFrame.PlayerIndexBitmaskWidth; //3

3003

7

375

Слайд 16

Камера глубины

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

Камера глубины Демонстрация

Слайд 17

Массив микрофонов

Массив микрофонов

Слайд 18

Массив микрофонов

Микрофонная решетка позволяет производить локализацию источника звука и подавление шумов, что

Массив микрофонов Микрофонная решетка позволяет производить локализацию источника звука и подавление шумов,
дает возможность говорить без наушников и микрофона.
Поддерживается 16-битный звук с частотой дискретизации 16 kHz
Sound Source Angle – угол и степень уверенности того, где находится источник звука
Beam Angle – угол, использующийся при записи аудио, можно трактовать как направленный микрофон
Максимальный угол определения звука ±50

-50

0

+50

Слайд 19

Массив микрофонов

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

Массив микрофонов Демонстрация

Слайд 20

Мотор изменения угла наклона Kinect

Мотор изменения угла наклона Kinect

Слайд 21

Мотор изменения угла наклона Kinect

Служит для изменения градуса наклона устройства
Минимальный угол наклона

Мотор изменения угла наклона Kinect Служит для изменения градуса наклона устройства Минимальный
-27 градусов; максимальный +27
Не существует прямого доступа к мотору через методы. Угол наклона можно изменить только через свойство kinect.ElevationAngle типа int

Слайд 22

Мотор изменения угла наклона Kinect

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

Мотор изменения угла наклона Kinect Демонстрация

Слайд 23

SkeletonFrame – собери меня полностью

SkeletonFrame – собери меня полностью

Слайд 24

Скелет человека и Kinect

Скелет состоит из:
20 суставов (Joint) для обычного режима
10 суставов

Скелет человека и Kinect Скелет состоит из: 20 суставов (Joint) для обычного
для сидячего режима
Возможна поддержка одновременно 2х активных игроков
Может следить одновременно за 6 игроками
Данные, полученные из SkeletonFrame являются массивом типа Skeleton[], каждый элемент которого содержит коллекцию суставов Joints с 3D-координатами своего положения в прост-ве

Слайд 25

Параметры сглаживания скелета

Smoothing(сглаживание) – default 0.5
Correction(коррекция) – default 0.5
Prediction(прогнозирование) – default 0.5
JitterRadius(радиус

Параметры сглаживания скелета Smoothing(сглаживание) – default 0.5 Correction(коррекция) – default 0.5 Prediction(прогнозирование)
дрожания) – default 0.05
MaxDeviationRadius(максимальный радиус отклонения) – default 0.05

Слайд 26

Позиционирование

Класс DepthImageFrame содержит:
DepthImagePoint MapFromSkeletonPoint(SkeletonPoint skeletonPoint) – позволяет получить координаты пикселя глубины из

Позиционирование Класс DepthImageFrame содержит: DepthImagePoint MapFromSkeletonPoint(SkeletonPoint skeletonPoint) – позволяет получить координаты пикселя
сустава скелета
ColorImagePoint MapToColorImagePoint(int depthX, int depthY, ColorImageFormat colorImageFormat) – позволяет получить координаты пикселя цвета из координат пикселя глубины
SkeletonPoint MapToSkeletonPoint (int depthX, int depthY) – позволяет получить координаты сустава скелета из координат пикселя глубины
Актуально для преобразований координат между разными системами координат.

Слайд 27

SkeletonFrame

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

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

Слайд 28

FaceTracking API

В основе алгоритма распознавания лежит алгоритм Active appearance model (AAM –

FaceTracking API В основе алгоритма распознавания лежит алгоритм Active appearance model (AAM
активная модель внешности/активная видовая модель)
При работе с Face Tracking API, разработчик посылает структуру данных, содержащую информацию с RGBA-изображением и массив данных глубин. В результате обработки этих данных, разработчик получает на выходе коллекцию 2D-координат точек элементов лица
При сопоставлении лица и распознанных точек лица, используется Candide-3 маска

Слайд 29

FaceTracking API

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

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

Слайд 30

Цена вопроса

Kinect for Xbox 360 – $150 (~6 тыс. р.)
Kinect for PC

Цена вопроса Kinect for Xbox 360 – $150 (~6 тыс. р.) Kinect
– $250 (undefined тыс. р.)
Комплект поставки:
девайс
кабель питания
руководство пользователя
игра (Kinect Adventures)

Слайд 31

Источники

http://kinectforwindows.org – портал для Kinect-разработчиков
http://channel9.msdn.com/coding4fun/kinect – канал, посвященный Kinect
http://channel9.msdn.com/Series/KinectQuickstart – краткое видео

Источники http://kinectforwindows.org – портал для Kinect-разработчиков http://channel9.msdn.com/coding4fun/kinect – канал, посвященный Kinect http://channel9.msdn.com/Series/KinectQuickstart
руководство
http://blogs.msdn.com/b/kinectforwindows/ – блог разработчиков Kinect
http://msdn.microsoft.com/en-us/library/hh855348 – Kinect for Windows Programming Guide
Имя файла: Введение-в-разработку-под-Kinect.pptx
Количество просмотров: 199
Количество скачиваний: 1