NUI Natural User Interface Utilizando o Kinect KINECT

  • Slides: 46
Download presentation
NUI - Natural User Interface Utilizando o Kinect KINECT FOR WINDOWS 1

NUI - Natural User Interface Utilizando o Kinect KINECT FOR WINDOWS 1

APRESENTAÇÃO • Vitor A. Reis - vitor. reis 7@gmail. com • Desenvolvedor VBA, .

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 KINECT FOR WINDOWS 3

QUICKSTART SERIES • • • Instalando e Usando o Sensor Kinect Configurando o Ambiente

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

INSTALANDO E USANDO O KINECT FOR WINDOWS 5

INTRODUÇÃO • Elaborado para quem esta começando • Assumindo que você tem alguma experiência

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

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

COMEÇANDO • http: //kinectforwindows. org • Adquira o Hardware Kinect • Baixar a SDK do Kinect KINECT FOR WINDOWS 8

DEMO KINECT FOR WINDOWS 9

DEMO KINECT FOR WINDOWS 9

CONFIGURANDO O AMBIENTE DE DESENVOLVIMENTO KINECT FOR WINDOWS 10

CONFIGURANDO O AMBIENTE DE DESENVOLVIMENTO KINECT FOR WINDOWS 10

QUICKSTART SERIES • Instalando e Usando o Sensor Kinect • Configurando o Ambiente de

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

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

RECURSOS • Instalar Kinect Explorer • Kinect. Wpf. Viewers • Coding 4 Fun Toolkit • Skeletal scaling KINECT FOR WINDOWS 13

DEMO KINECT FOR WINDOWS 14

DEMO KINECT FOR WINDOWS 14

FUNDAMENTOS DA CAMERA KINECT FOR WINDOWS 15

FUNDAMENTOS DA CAMERA KINECT FOR WINDOWS 15

QUICKSTART SERIES • • • Instalando e Usando o Sensor Kinect Configurando o Ambiente

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.

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

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

DEMO KINECT FOR WINDOWS 19

TRABALHANDO COM DADOS DE PROFUNDIDADE KINECT FOR WINDOWS 20

TRABALHANDO COM DADOS DE PROFUNDIDADE KINECT FOR WINDOWS 20

QUICKSTART SERIES • • • Instalando e Usando o Sensor Kinect Configurando o Ambiente

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:

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

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’

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.

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

DEMO KINECT FOR WINDOWS 26

FUNDAMENTOS DE RASTREAMENTO DE ESQUELETO KINECT FOR WINDOWS 27

FUNDAMENTOS DE RASTREAMENTO DE ESQUELETO KINECT FOR WINDOWS 27

QUICKSTART SERIES • • • Instalando e Usando o Sensor Kinect Configurando o Ambiente

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

DADOS DE ESQUELETO KINECT FOR WINDOWS 29

ARTICULAÇÕES DO ESQUELETO • Cada jogador possuí um conjunto <x, y, z> de articulações

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

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

DEMO KINECT FOR WINDOWS 32

FUNDAMENTOS DE AUDIO KINECT FOR WINDOWS 33

FUNDAMENTOS DE AUDIO KINECT FOR WINDOWS 33

QUICKSTART SERIES • • • Instalando e Usando o Sensor Kinect Configurando o Ambiente

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

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

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.

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>

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 •

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

DEMO KINECT FOR WINDOWS 40

PROJETOS KINECT FOR WINDOWS 41

PROJETOS KINECT FOR WINDOWS 41

FUSION 4 D KINECT FOR WINDOWS 42

FUSION 4 D KINECT FOR WINDOWS 42

BOARD OF AWESOMENESS KINECT FOR WINDOWS 43

BOARD OF AWESOMENESS KINECT FOR WINDOWS 43

MINORITY REPORT UI KINECT FOR WINDOWS 44

MINORITY REPORT UI KINECT FOR WINDOWS 44

DÚVIDAS? KINECT FOR WINDOWS 45

DÚVIDAS? KINECT FOR WINDOWS 45

FIM KINECT FOR WINDOWS 46

FIM KINECT FOR WINDOWS 46