Kinect: Muito além do XBOX - SEMCOMP 2012

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.

Text of Kinect: Muito além do XBOX - SEMCOMP 2012

  • 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!