kinect: muito além do xbox - semcomp 2012
Post on 07-Nov-2014
679 views
Embed Size (px)
DESCRIPTION
Conheça o Kinect e suas principais bibliotecas e descubra o potencial que este equipamento tem para criar jogos e outras aplicações. Aprenda conceitos de NUI e veja um pouco sobre o que o futuro nos reserva com relação a interação homem-maquina.TRANSCRIPT
- 1. Kinect: muito alm do Xbox Descobrindo o SDK do Kinect como plataforma de desenvolvimento de aplicativos para windows Andr Paulovich
- 2. Andr Paulovichpaulovich@100loop.com@andrepaulovich www.raptors.com.br www.100loop.com
- 3. NUI Natural User InterfaceNUI um sistema que facilita a interaoHomem-Maquina criando uma interfaceintuitiva e natural para o usurio.
- 4. Viso Geral Emissor do InfraVermelho Cmera RGB Sensor do InfraVermelho Tilt Motor Microfones Cmera RGB Rastreio de Esqueleto (Skeletal Tracking) Cmera de Profundidade (Depth) Microfone
- 5. Kinect SDK - Nvel de dificuldadeExiste realmente uma quebra de paradigmas envolvida quando comeamos atrabalhar com o SDK, pois temos que lidar com operaes bastante especficasque boa parte dos desenvolvedores no esta acostumada a trabalhar.Um detalhe importante que o Kinect no retorna imagens montadas (comomuitos supem), ele retorna apenas bytes, que devem ser convertidos ouinterpretados pelo aplicativo.
- 6. Kinect SDK - Nvel de dificuldade O que voc imagina quando v os primeiros cdigos.
- 7. Kinect SDK - Nvel de dificuldadeComo de verdade: A API do NUI detecta tudo automtico. A nica coisa que voc tem que preocupar so com as converses de valores.
- 8. O que iremos usar?Kinect SDK v1.0http://kinectforwindows.orgCoding4Fun Toolkithttp://channel9.msdn.com/coding4fun/kinect
- 9. ProcedimentoPegar o Kinect ativo no sistema.KinectSensorAtivar os recursos do Kinect que voc vai usar:KinectSensor.SkeletonStream.Open()KinectSensor.DepthStream.Open()Adicionar evento para tratar os sensores:KinectSensor.AllFrameReady += ...E finalmente dar um Start no Kinect.KinectSensor.Start();
- 10. EventosQuando cada imagem detectada ele invoca um evento:DepthFrameReady;ColorFrameReady;SkeletonFrameReady;AllFrameReady;AllFrameReady sempre que todos os frames so detectados, sempre notempo do mais lento.
- 11. Tilt DEMO Pegar o sensor ativo. Controlar do motor alterando a propriedade ElevationAngle.
- 12. Tilt importante ressaltar que o ngulo mostrado, relativo a gravidadee no fixo a base, isso quer dizer que se o Kinect tiver preso naparede a posio 1 ser diferente do 1 dele em cima da mesa.
- 13. Srio, no fique usando muitoo motor, ele no um rob!
- 14. Skeletal Tracking Detecta at 6 pessoas Destes, apenas 2 so inteiramente Compreendidos (20 articulaes) Valores das posies de cada articulao est em metros. Os outros 4 so parcialmente compreendidos (somente a localizao)
- 15. Skeletal Tracking - DemoCada esqueleto possui um TrackingID.Articulaes:Cada articulao conta com X, Y e Z e um estado:Tracked, Not Tracked, InferredSendo Inferred quando o Kinect no consegue achar a articulao epresume sua posio baseado nas outras.
- 16. Sensor de Profundidade (Depth) - DemoCaptura a distncia e o jogador de cada ponto.Distncia entre o ponto e Kinect em milmetros.De 1 a 6 jogadores. Eu vim em paz
- 17. Trabalhando o Audio - DemoO Kinect composto por vrios microfones,aumentando assim a confiabilidade da deteco de voz.Ativar o AudioStream:AudioStream.Start()Criar varivel para reconhecimento de voz:SpeechRecognitionEngineAdicionar as palavras que vo ser entendidas:var words = new Choices();words.Add("green");words.Add("blue");Adicionar o evento:sre.SpeechRecognized += this.SreSpeechRecognized;
- 18. Posio e confiabilidade do somO Kinect retorna a confiabilidade de uma sentena:e.Result.Confidence de 0 a 1.Posio: possvel pegar o ngulo da o onde o som vem.O resultado gerado automaticamente dentro do AudioSensor.KinectSensor.AudioSensor.SoundSourceAngleKinectSensor.AudioSensor.SoundSourceAngleConfidence
- 19. ConclusoOs sensores de movimentos vieram para ficar.E o Kinect abre uma gama de possibilidades, que os desenvolvedores no tinhamantes. Sua utilizao vai muito alm dos games.
- 20. Perguntas?!
- 21. Procurando um desafiante? andrepaulovich
- 22. Obrigado!