View
211
Download
4
Category
Tags:
Preview:
Citation preview
KINECT FOR WINDOWS
NUI - Natural User Interface Utilizando o Kinect
1
KINECT FOR WINDOWS
APRESENTAÇÃO● Vitor A. Reis - vitor.reis7@gmail.com● Desenvolvedor VBA, .NET no Grupo Custom
Software● Blog: www.vitorreis7.wordpress.com
2
KINECT FOR WINDOWS
QUICKSTART SERIES3
KINECT FOR WINDOWS
● Instalando e Usando o Sensor Kinect● Configurando o Ambiente de Desenvolvimento● Fundamentos da Camera● Trabalhando com Dados de Profundidade● Fundamentos de Rastreamento de Esqueleto● Fundamentos de Audio
QUICKSTART SERIES
4
KINECT FOR WINDOWS
INSTALANDO EUSANDO O KINECT
5
KINECT FOR WINDOWS
INTRODUÇÃO● Elaborado para quem esta começando● Assumindo que você tem alguma experiência
em programação.● API Gerenciada - Conceitos funcionam em
VB/C#
6
KINECT FOR WINDOWS
SENSORES DO KINECTEmissor de I.V Sensor de Cor Sensor I.V de
ProfundidadeEixo Motorizado
Microfone Multidirecional
7
KINECT FOR WINDOWS
COMEÇANDO● http://kinectforwindows.org
● Adquira o Hardware Kinect● Baixar a SDK do Kinect
8
KINECT FOR WINDOWS
DEMO
9
KINECT FOR WINDOWS
CONFIGURANDO O AMBIENTE DE DESENVOLVIMENTO
10
KINECT FOR WINDOWS
● Instalando e Usando o Sensor Kinect● Configurando o Ambiente de
Desenvolvimento● Fundamentos da Camera● Trabalhando com Dados de Profundidade● Fundamentos de Rastreamento de Esqueleto● Fundamento de Audio
QUICKSTART SERIES
11
KINECT FOR WINDOWS
KINECT API - BASICO● Gerenciar o estado do Kinect
● Conectado● Ativar Cor, Profundidade, Esqueleto● Iniciar o Kinect
● Obter Dados● Eventos - AllFramesReady● Polling (Sondagem) – OpenNextFrame
12
KINECT FOR WINDOWS
RECURSOS● Instalar Kinect Explorer
● KinectWpfViewers● Coding4Fun Toolkit
● Skeletal scaling
13
KINECT FOR WINDOWS
DEMO
14
KINECT FOR WINDOWS
FUNDAMENTOSDA CAMERA
15
KINECT FOR WINDOWS
● Instalando e Usando o Sensor Kinect● Configurando o Ambiente de Desenvolvimento● Fundamentos da Camera● Trabalhando com Dados de Profundidade● Fundamentos de Rastreamento de Esqueleto● Fundamento de Audio
QUICKSTART SERIES
16
KINECT FOR WINDOWS
DADOS DA CAMERA● Eventos retornam objetos do tipo ImageFrame
● PixelDataLength● FrameNumber● Timestamp● Dimensões: Height, Width
● Usa o evento AllFramesReady para sincronizar.
17
KINECT FOR WINDOWS
RESOLUÇÕES● Cor
● 12 FPS: 1280X960 RGB● 15 FPS: Raw YUV 640x480● 30 FPS: 640x480
● Profundidade ● 30 FPS: 80x60, 320x240, 640x480
18
KINECT FOR WINDOWS
DEMO
19
KINECT FOR WINDOWS
TRABALHANDOCOM DADOS DEPROFUNDIDADE
20
KINECT FOR WINDOWS
● Instalando e Usando o Sensor Kinect● Configurando o Ambiente de Desenvolvimento● Fundamentos da Camera● Trabalhando com Dados de Profundidade● Fundamentos de Rastreamento de Esqueleto● Fundamento de Audio
QUICKSTART SERIES
21
KINECT FOR WINDOWS
DADOS DE PROFUNDIDADE● Retorna a distancia e jogador para cada pixel
● Ex: 320x240 = 76,800 pixels● Distancia
● Distancia em mm do Kinect ex: 2,000mm (2 metros)● Jogadores
● 1-6 jogadores
22
KINECT FOR WINDOWS
MODO
Modo Profundidade & Jogador
Centro de Articulação do Quadril
Outras 19 Articulações
Default (Padrão) Sim Sim Yes
Near (Perto) Sim Sim Não, para v1.0
23
KINECT FOR WINDOWS
DISTÂNCIAS1.3’ 2.6’ 9.8’ 13.1’ 26.2’
.4 .8 3 4 8
DefaultMode
Near Mode
Passos
Metros
24
KINECT FOR WINDOWS
FORMULAS● Distance Formula
int profundidade = depthPoint >> DepthImageFrame.PlayerIndexBitmaskWidth;
● Player Formulaint jogador = depthPoint & DepthImageFrame.PlayerIndexBitmask;
25
KINECT FOR WINDOWS
DEMO
26
KINECT FOR WINDOWS
FUNDAMENTOS DE RASTREAMENTODE ESQUELETO
27
KINECT FOR WINDOWS
● Instalando e Usando o Sensor Kinect● Configurando o Ambiente de Desenvolvimento● Fundamentos da Camera● Trabalhando com Dados de Profundidade● Fundamentos de Rastreamento de Esqueleto● Fundamento de Audio
QUICKSTART SERIES
28
KINECT FOR WINDOWS
DADOS DE ESQUELETO
29
KINECT FOR WINDOWS
ARTICULAÇÕES DO ESQUELETO
● Cada jogador possuí um conjunto <x, y, z> de articulações em metros
● Cada articulação é associada a um estado● Tracked, Not tracked, or Inferred
● Inferred - Occluded, clipped, ou low confidence joints● Use TransformSmoothParameters para suavizar o jitter (atraso de
rede) nos dados de articulações.
30
KINECT FOR WINDOWS
RASTREAMENTO DE ESQUELETO
● Máximo de 2 jogadores rastreados simultaneamente● Cada esqueleto possui um identificador único - TrackingID ● SkeletonStream
● Configurar AppChoosesSkeletons em false● Utilizar o método ChooseSkeletons para escolher qual esqueleto irá
rastrear
31
KINECT FOR WINDOWS
DEMO
32
KINECT FOR WINDOWS
FUNDAMENTOS DE AUDIO
33
KINECT FOR WINDOWS
● Instalando e Usando o Sensor Kinect● Configurando o Ambiente de Desenvolvimento● Fundamentos da Camera● Trabalhando com Dados de Profundidade● Fundamentos de Rastreamento de Esqueleto● Fundamento de Audio
QUICKSTART SERIES
34
KINECT FOR WINDOWS
POSIÇÃO DO SOM● Sound Source Angle – O ângulo e o nivel de confiança da onde o
audio esta vindo● Beam Angle – O ângulo usado para gravar o audio que voce pode
considerar de "microfone direcional"
-50 0 +50
35
KINECT FOR WINDOWS
GRAVAÇÃO● KinectAudioSource audio buffer● Utiliza "Echo Cancellation" para não gravar o
som do PC.
36
KINECT FOR WINDOWS
RECONHECIMENTO DE FALA● Grammar – O que estamos escutando
● Code – GrammarBuilder, Choices● Nota: Garantir que AutomaticGainControl = false
37
KINECT FOR WINDOWS
GRAMATICA<!-- 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>
var grammar = new Choices();grammar.Add(“yes please");grammar.Add(“yes");grammar.Add(“yeah");grammar.Add(“ok");
38
KINECT FOR WINDOWS
● Modelo de Engajamento● Indicação por fala para menus speech-enable● Palavra chave para engajar
● Feedback e confirmação
MULTI-MODAL FEEDBACK
39
KINECT FOR WINDOWS
DEMO
40
KINECT FOR WINDOWS
PROJETOS
41
KINECT FOR WINDOWS
DÚVIDAS?
45
KINECT FOR WINDOWS
FIM46
Recommended