NUI Natural User Interface Utilizando o Kinect KINECT





































![GRAMATICA <!-- Confirmation_Yes. _value: string ["Yes"] --> <rule id="Confirmation_Yes" scope="public"> <example> yes </example> <example> GRAMATICA <!-- Confirmation_Yes. _value: string ["Yes"] --> <rule id="Confirmation_Yes" scope="public"> <example> yes </example> <example>](https://slidetodoc.com/presentation_image_h2/0505d2f6b711f64f27c3a4902d78fbeb/image-38.jpg)








- Slides: 46
NUI - Natural User Interface Utilizando o Kinect KINECT FOR WINDOWS 1
APRESENTAÇÃO • Vitor A. Reis - vitor. reis 7@gmail. com • Desenvolvedor VBA, . NET no Grupo Custom Software • Blog: www. vitorreis 7. wordpress. com KINECT FOR WINDOWS 2
QUICKSTART SERIES KINECT FOR WINDOWS 3
QUICKSTART SERIES • • • 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 KINECT FOR WINDOWS 4
INSTALANDO E USANDO O KINECT FOR WINDOWS 5
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# KINECT FOR WINDOWS 6
SENSORES DO KINECT Emissor de I. V Sensor de Cor Sensor I. V de Profundidade Eixo Motorizado Microfone Multidirecional KINECT FOR WINDOWS 7
COMEÇANDO • http: //kinectforwindows. org • Adquira o Hardware Kinect • Baixar a SDK do Kinect KINECT FOR WINDOWS 8
DEMO KINECT FOR WINDOWS 9
CONFIGURANDO O AMBIENTE DE DESENVOLVIMENTO KINECT FOR WINDOWS 10
QUICKSTART SERIES • 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 KINECT FOR WINDOWS 11
KINECT API - BASICO • Gerenciar o estado do Kinect • Conectado • Ativar Cor, Profundidade, Esqueleto • Iniciar o Kinect • Obter Dados • Eventos - All. Frames. Ready • Polling (Sondagem) – Open. Next. Frame KINECT FOR WINDOWS 12
RECURSOS • Instalar Kinect Explorer • Kinect. Wpf. Viewers • Coding 4 Fun Toolkit • Skeletal scaling KINECT FOR WINDOWS 13
DEMO KINECT FOR WINDOWS 14
FUNDAMENTOS DA CAMERA KINECT FOR WINDOWS 15
QUICKSTART SERIES • • • 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 KINECT FOR WINDOWS 16
DADOS DA CAMERA • Eventos retornam objetos do tipo Image. Frame • Pixel. Data. Length • Frame. Number • Timestamp • Dimensões: Height, Width • Usa o evento All. Frames. Ready para sincronizar. KINECT FOR WINDOWS 17
RESOLUÇÕES • Cor • 12 FPS: 1280 X 960 RGB • 15 FPS: Raw YUV 640 x 480 • 30 FPS: 640 x 480 • Profundidade • 30 FPS: 80 x 60, 320 x 240, 640 x 480 KINECT FOR WINDOWS 18
DEMO KINECT FOR WINDOWS 19
TRABALHANDO COM DADOS DE PROFUNDIDADE KINECT FOR WINDOWS 20
QUICKSTART SERIES • • • 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 KINECT FOR WINDOWS 21
DADOS DE PROFUNDIDADE • Retorna a distancia e jogador para cada pixel • Ex: 320 x 240 = 76, 800 pixels • Distancia em mm do Kinect ex: 2, 000 mm (2 metros) • Jogadores • 1 -6 jogadores KINECT FOR WINDOWS 22
MODO Modo Profundidade & Jogador Centro de Articulação do Quadril Outras 19 Articulações Default (Padrão) Sim Yes Near (Perto) Sim Não, para v 1. 0 KINECT FOR WINDOWS 23
DIST NCIAS Passos 1. 3’ 2. 6’ Metros . 4 . 8 9. 8’ 13. 1’ 26. 2’ 3 4 8 Default Mode Near Mode KINECT FOR WINDOWS 24
FORMULAS • Distance Formulaint profundidade = depth. Point >> Depth. Image. Frame. Player. Index. Bitmask. Width; • Player Formulaint jogador = depth. Point & Depth. Image. Frame. Player. Index. Bitmask; KINECT FOR WINDOWS 25
DEMO KINECT FOR WINDOWS 26
FUNDAMENTOS DE RASTREAMENTO DE ESQUELETO KINECT FOR WINDOWS 27
QUICKSTART SERIES • • • 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 KINECT FOR WINDOWS 28
DADOS DE ESQUELETO KINECT FOR WINDOWS 29
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 Transform. Smooth. Parameters para suavizar o jitter (atraso de rede) nos dados de articulações. KINECT FOR WINDOWS 30
RASTREAMENTO DE ESQUELETO • Máximo de 2 jogadores rastreados simultaneamente • Cada esqueleto possui um identificador único - Tracking. ID • Skeleton. Stream • Configurar App. Chooses. Skeletons em false • Utilizar o método Choose. Skeletons para escolher qual esqueleto irá rastrear KINECT FOR WINDOWS 31
DEMO KINECT FOR WINDOWS 32
FUNDAMENTOS DE AUDIO KINECT FOR WINDOWS 33
QUICKSTART SERIES • • • 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 KINECT FOR WINDOWS 34
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 KINECT FOR WINDOWS +50 35
GRAVAÇÃO • Kinect. Audio. Source audio buffer • Utiliza "Echo Cancellation" para não gravar o som do PC. KINECT FOR WINDOWS 36
RECONHECIMENTO DE FALA • Grammar – O que estamos escutando • Code – Grammar. Builder, Choices • Nota: Garantir que Automatic. Gain. Control = false KINECT FOR WINDOWS 37
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"); KINECT FOR WINDOWS 38
MULTI-MODAL FEEDBACK • Modelo de Engajamento • Indicação por fala para menus speech-enable • Palavra chave para engajar • Feedback e confirmação KINECT FOR WINDOWS 39
DEMO KINECT FOR WINDOWS 40
PROJETOS KINECT FOR WINDOWS 41
FUSION 4 D KINECT FOR WINDOWS 42
BOARD OF AWESOMENESS KINECT FOR WINDOWS 43
MINORITY REPORT UI KINECT FOR WINDOWS 44
DÚVIDAS? KINECT FOR WINDOWS 45
FIM KINECT FOR WINDOWS 46