SlideShare uma empresa Scribd logo
1 de 46
Baixar para ler offline
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 SERIES
3
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
E
USANDO 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 KINECT
Emissor de I.V Sensor de Cor Sensor I.V de
Profundidade
Eixo 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
FUNDAMENTOS
DA 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
TRABALHANDO
COM DADOS DE
PROFUNDIDADE
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ÂNCIAS
1.3’ 2.6’ 9.8’ 13.1’ 26.2’
.4 .8 3 4 8
Default
Mode
Near
Mode
Passos
Metros
24
KINECT FOR WINDOWS
FORMULAS
● Distance Formula
int profundidade = depthPoint >> DepthImageFrame.PlayerIndexBitmaskWidth;
● Player Formula
int jogador = depthPoint & DepthImageFrame.PlayerIndexBitmask;
25
KINECT FOR WINDOWS
DEMO
26
KINECT FOR WINDOWS
FUNDAMENTOS
DE RASTREAMENTO
DE 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
FUSION 4D
42
KINECT FOR WINDOWS
BOARD OF AWESOMENESS
43
KINECT FOR WINDOWS
MINORITY REPORT UI
44
KINECT FOR WINDOWS
DÚVIDAS?
45
KINECT FOR WINDOWS
FIM
46

Mais conteúdo relacionado

Destaque

Programando razor
Programando razorProgramando razor
Programando razorVitor Reis
 
Criando aplicações web com tecnologias Microsoft
Criando aplicações web com tecnologias MicrosoftCriando aplicações web com tecnologias Microsoft
Criando aplicações web com tecnologias MicrosoftFabrício Lopes Sanchez
 
K19 k31-csharp-e-orientacao-a-objetos
K19 k31-csharp-e-orientacao-a-objetosK19 k31-csharp-e-orientacao-a-objetos
K19 k31-csharp-e-orientacao-a-objetosTrioBlack Trioblack
 
Entity Framework 4
Entity Framework 4Entity Framework 4
Entity Framework 4CDS
 
Conhecendo o NuGet e utilizando com ASP.NET MVC
Conhecendo o NuGet e utilizando com ASP.NET MVCConhecendo o NuGet e utilizando com ASP.NET MVC
Conhecendo o NuGet e utilizando com ASP.NET MVCFabrício Lopes Sanchez
 
Desenvolvimento Ágil com Twitter Bootstrap
Desenvolvimento Ágil com Twitter BootstrapDesenvolvimento Ágil com Twitter Bootstrap
Desenvolvimento Ágil com Twitter BootstrapFlavio Souza
 
ASP.NET MVC com jQuery (Retome o controle da sua aplicação web)
ASP.NET MVC com jQuery (Retome o controle da sua aplicação web)ASP.NET MVC com jQuery (Retome o controle da sua aplicação web)
ASP.NET MVC com jQuery (Retome o controle da sua aplicação web)Giovanni Bassi
 
ASP .NET MVC na Prática - C. Augusto Proiete
ASP .NET MVC na Prática - C. Augusto ProieteASP .NET MVC na Prática - C. Augusto Proiete
ASP .NET MVC na Prática - C. Augusto ProieteComunidade NetPonto
 
Bootstrap, desenvolvendo uma interface responsiva na prática!
Bootstrap, desenvolvendo uma interface responsiva na prática!Bootstrap, desenvolvendo uma interface responsiva na prática!
Bootstrap, desenvolvendo uma interface responsiva na prática!Cristofer Sousa
 
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Daniel Makiyama
 
Introdução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular jsIntrodução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular jsCloves Moreira Junior
 
Mini-Curso sobre Bootstrap 3
Mini-Curso sobre Bootstrap 3Mini-Curso sobre Bootstrap 3
Mini-Curso sobre Bootstrap 3Diego Doná
 
ANGULARJS: UM FRAMEWORK PARA FACILITAR SUA VIDA
ANGULARJS: UM FRAMEWORK PARA FACILITAR SUA VIDAANGULARJS: UM FRAMEWORK PARA FACILITAR SUA VIDA
ANGULARJS: UM FRAMEWORK PARA FACILITAR SUA VIDAWilson Mendes
 
ASP.NET MVC & Entity Framework
ASP.NET MVC & Entity FrameworkASP.NET MVC & Entity Framework
ASP.NET MVC & Entity FrameworkWaldyr Felix
 
Desenvolvendo com Bootstrap: um framework front-end que vale a pena!
Desenvolvendo com Bootstrap: um framework front-end que vale a pena!Desenvolvendo com Bootstrap: um framework front-end que vale a pena!
Desenvolvendo com Bootstrap: um framework front-end que vale a pena!Thiago Nascimento Oliveira
 

Destaque (20)

Programando razor
Programando razorProgramando razor
Programando razor
 
Criando aplicações web com tecnologias Microsoft
Criando aplicações web com tecnologias MicrosoftCriando aplicações web com tecnologias Microsoft
Criando aplicações web com tecnologias Microsoft
 
K19 k31-csharp-e-orientacao-a-objetos
K19 k31-csharp-e-orientacao-a-objetosK19 k31-csharp-e-orientacao-a-objetos
K19 k31-csharp-e-orientacao-a-objetos
 
Asp net mvc
Asp net mvcAsp net mvc
Asp net mvc
 
Entity Framework 4
Entity Framework 4Entity Framework 4
Entity Framework 4
 
Conhecendo o NuGet e utilizando com ASP.NET MVC
Conhecendo o NuGet e utilizando com ASP.NET MVCConhecendo o NuGet e utilizando com ASP.NET MVC
Conhecendo o NuGet e utilizando com ASP.NET MVC
 
Desvendando ASP.NET MVC
Desvendando ASP.NET MVCDesvendando ASP.NET MVC
Desvendando ASP.NET MVC
 
Relatório Técnico: .NET Framework, ASP.NET MVC 3 e Silverlight
Relatório Técnico: .NET Framework, ASP.NET MVC 3 e SilverlightRelatório Técnico: .NET Framework, ASP.NET MVC 3 e Silverlight
Relatório Técnico: .NET Framework, ASP.NET MVC 3 e Silverlight
 
Desenvolvimento Ágil com Twitter Bootstrap
Desenvolvimento Ágil com Twitter BootstrapDesenvolvimento Ágil com Twitter Bootstrap
Desenvolvimento Ágil com Twitter Bootstrap
 
ASP.NET MVC com jQuery (Retome o controle da sua aplicação web)
ASP.NET MVC com jQuery (Retome o controle da sua aplicação web)ASP.NET MVC com jQuery (Retome o controle da sua aplicação web)
ASP.NET MVC com jQuery (Retome o controle da sua aplicação web)
 
ASP .NET MVC na Prática - C. Augusto Proiete
ASP .NET MVC na Prática - C. Augusto ProieteASP .NET MVC na Prática - C. Augusto Proiete
ASP .NET MVC na Prática - C. Augusto Proiete
 
Bootstrap, desenvolvendo uma interface responsiva na prática!
Bootstrap, desenvolvendo uma interface responsiva na prática!Bootstrap, desenvolvendo uma interface responsiva na prática!
Bootstrap, desenvolvendo uma interface responsiva na prática!
 
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
 
Introdução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular jsIntrodução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular js
 
Desenvolviemento web com ASP.Net e MVC
Desenvolviemento web com ASP.Net e MVCDesenvolviemento web com ASP.Net e MVC
Desenvolviemento web com ASP.Net e MVC
 
Mini-Curso sobre Bootstrap 3
Mini-Curso sobre Bootstrap 3Mini-Curso sobre Bootstrap 3
Mini-Curso sobre Bootstrap 3
 
Treinamento MVC .Net
Treinamento MVC .NetTreinamento MVC .Net
Treinamento MVC .Net
 
ANGULARJS: UM FRAMEWORK PARA FACILITAR SUA VIDA
ANGULARJS: UM FRAMEWORK PARA FACILITAR SUA VIDAANGULARJS: UM FRAMEWORK PARA FACILITAR SUA VIDA
ANGULARJS: UM FRAMEWORK PARA FACILITAR SUA VIDA
 
ASP.NET MVC & Entity Framework
ASP.NET MVC & Entity FrameworkASP.NET MVC & Entity Framework
ASP.NET MVC & Entity Framework
 
Desenvolvendo com Bootstrap: um framework front-end que vale a pena!
Desenvolvendo com Bootstrap: um framework front-end que vale a pena!Desenvolvendo com Bootstrap: um framework front-end que vale a pena!
Desenvolvendo com Bootstrap: um framework front-end que vale a pena!
 

Semelhante a NUI - Natural User Interface utilizando kinect

DelphiConferenceBrasil2011 Delphi + Kinect
DelphiConferenceBrasil2011 Delphi + KinectDelphiConferenceBrasil2011 Delphi + Kinect
DelphiConferenceBrasil2011 Delphi + KinectVic Fernandes
 
Desenvolvendo aplicações com Kinect
Desenvolvendo aplicações com KinectDesenvolvendo aplicações com Kinect
Desenvolvendo aplicações com KinectErick Mendonça
 
Conhecendo o Kinect: Muito além do XBOX - InfoTech 2012
Conhecendo o Kinect: Muito além do XBOX - InfoTech 2012Conhecendo o Kinect: Muito além do XBOX - InfoTech 2012
Conhecendo o Kinect: Muito além do XBOX - InfoTech 2012André Paulovich
 
Unama br edinaldo_la-roque_oficina_kinect_20160917_2030
Unama br edinaldo_la-roque_oficina_kinect_20160917_2030Unama br edinaldo_la-roque_oficina_kinect_20160917_2030
Unama br edinaldo_la-roque_oficina_kinect_20160917_2030la-roque
 
Kinect: Muito além do XBOX - SEMCOMP 2012
Kinect: Muito além do XBOX - SEMCOMP 2012Kinect: Muito além do XBOX - SEMCOMP 2012
Kinect: Muito além do XBOX - SEMCOMP 2012André Paulovich
 
Curso (2010) - Desenvolvimento de Jogos 2D com XNA
Curso (2010) - Desenvolvimento de Jogos 2D  com XNACurso (2010) - Desenvolvimento de Jogos 2D  com XNA
Curso (2010) - Desenvolvimento de Jogos 2D com XNAKleber de Oliveira Andrade
 
Palestra Intel Perceptual Computing SDK (Java)
Palestra Intel Perceptual Computing SDK (Java)Palestra Intel Perceptual Computing SDK (Java)
Palestra Intel Perceptual Computing SDK (Java)Felipe Pedroso
 
Netduino e .NET Micro Framework
Netduino e .NET Micro FrameworkNetduino e .NET Micro Framework
Netduino e .NET Micro FrameworkIgor Kondrasovas
 
Desenvolvimento com Kinect
Desenvolvimento com KinectDesenvolvimento com Kinect
Desenvolvimento com KinectMarcos Castro
 
Catalogo Samsung Techwin 2014
Catalogo Samsung Techwin  2014Catalogo Samsung Techwin  2014
Catalogo Samsung Techwin 2014Rodrigo Martini
 
Utilização do NVidia DeepStream para execução de modelos de IA no Azure IoT Edge
Utilização do NVidia DeepStream para execução de modelos de IA no Azure IoT EdgeUtilização do NVidia DeepStream para execução de modelos de IA no Azure IoT Edge
Utilização do NVidia DeepStream para execução de modelos de IA no Azure IoT EdgeWalter Coan
 

Semelhante a NUI - Natural User Interface utilizando kinect (20)

Kinect
KinectKinect
Kinect
 
Kinect
KinectKinect
Kinect
 
DelphiConferenceBrasil2011 Delphi + Kinect
DelphiConferenceBrasil2011 Delphi + KinectDelphiConferenceBrasil2011 Delphi + Kinect
DelphiConferenceBrasil2011 Delphi + Kinect
 
Kinect
KinectKinect
Kinect
 
Desenvolvendo aplicações com Kinect
Desenvolvendo aplicações com KinectDesenvolvendo aplicações com Kinect
Desenvolvendo aplicações com Kinect
 
OpenKinect, o Kinect para todos
OpenKinect, o Kinect para todosOpenKinect, o Kinect para todos
OpenKinect, o Kinect para todos
 
Kinect
KinectKinect
Kinect
 
Desenvolvendo com Kinect
Desenvolvendo com KinectDesenvolvendo com Kinect
Desenvolvendo com Kinect
 
Conhecendo o Kinect: Muito além do XBOX - InfoTech 2012
Conhecendo o Kinect: Muito além do XBOX - InfoTech 2012Conhecendo o Kinect: Muito além do XBOX - InfoTech 2012
Conhecendo o Kinect: Muito além do XBOX - InfoTech 2012
 
TDC - Desenvolvendo com Kinect
TDC - Desenvolvendo com KinectTDC - Desenvolvendo com Kinect
TDC - Desenvolvendo com Kinect
 
Unama br edinaldo_la-roque_oficina_kinect_20160917_2030
Unama br edinaldo_la-roque_oficina_kinect_20160917_2030Unama br edinaldo_la-roque_oficina_kinect_20160917_2030
Unama br edinaldo_la-roque_oficina_kinect_20160917_2030
 
Kinect: Muito além do XBOX - SEMCOMP 2012
Kinect: Muito além do XBOX - SEMCOMP 2012Kinect: Muito além do XBOX - SEMCOMP 2012
Kinect: Muito além do XBOX - SEMCOMP 2012
 
Seminario Kinect
Seminario KinectSeminario Kinect
Seminario Kinect
 
Curso (2010) - Desenvolvimento de Jogos 2D com XNA
Curso (2010) - Desenvolvimento de Jogos 2D  com XNACurso (2010) - Desenvolvimento de Jogos 2D  com XNA
Curso (2010) - Desenvolvimento de Jogos 2D com XNA
 
Palestra Intel Perceptual Computing SDK (Java)
Palestra Intel Perceptual Computing SDK (Java)Palestra Intel Perceptual Computing SDK (Java)
Palestra Intel Perceptual Computing SDK (Java)
 
Realidade Aumentada
Realidade AumentadaRealidade Aumentada
Realidade Aumentada
 
Netduino e .NET Micro Framework
Netduino e .NET Micro FrameworkNetduino e .NET Micro Framework
Netduino e .NET Micro Framework
 
Desenvolvimento com Kinect
Desenvolvimento com KinectDesenvolvimento com Kinect
Desenvolvimento com Kinect
 
Catalogo Samsung Techwin 2014
Catalogo Samsung Techwin  2014Catalogo Samsung Techwin  2014
Catalogo Samsung Techwin 2014
 
Utilização do NVidia DeepStream para execução de modelos de IA no Azure IoT Edge
Utilização do NVidia DeepStream para execução de modelos de IA no Azure IoT EdgeUtilização do NVidia DeepStream para execução de modelos de IA no Azure IoT Edge
Utilização do NVidia DeepStream para execução de modelos de IA no Azure IoT Edge
 

NUI - Natural User Interface utilizando kinect