Conhecendo o Kinect: Muito além do XBOX - InfoTech 2012

Embed Size (px)

DESCRIPTION

Aprenda a usar o Kinect e bibliotecas de fisica como a Farseer Physic para criar jogos e até mesmo aplicações dinâmicos em .NET. 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 Conhecendo o Kinect: Muito além do XBOX - InfoTech 2012

  • 1. Kinect: muito alm do XboxAndr Luiz de Rocha Castro | Andr Paulovich | Idevar Junior
  • 2. Andr Castro@alrcastroandrecastro@100loop.comwww.100loop.comwww.raptors.com.br
  • 3. Andr Paulovich@andrepaulovichpaulovich@100loop.comwww.100loop.comwww.raptors.com.br
  • 4. Idevar Junior@idevarjridevarjr@hotmail.comidevar.wordpress.comwww.raptors.com.br For Windows 7
  • 5. Viso Geral Cmera RGB Cmera de Profundidade (Depth) Rastreio de Esqueleto (Skeletal Tracking) Microfone Emissor do InfraVermelho Cmera RGB Sensor do InfraVermelho Tilt Motor Microfones Channel9
  • 6. NUI Natural User InterfaceNUI um sistema que facilita a interao Homem-Maquinacriando uma interface natural para o usurio.
  • 7. NUI Natural User Interface Essa interface supimpa em!
  • 8. Kinect SDK - Nvel de dificuldadeO SDK trabalha com muitas coisas que a maioria dos desenvolvedoresno esta acostumado.O kinect no retorna Imagens, apenas bytes, que devem serconvertidos/interpretados pelo aplicativo. O que voc imagina quando v os primeiros cdigos:
  • 9. Kinect SDK - Nvel de dificuldadeA API do NUI detecta tudo automtico.A nica coisa que voc tem que preocupar so com as conversesde valores. Como de verdade:
  • 10. O que iremos usar?Kinect SDK v1.0http://kinectforwindows.orgCoding4Fun Toolkithttp://channel9.msdn.com/coding4fun/kinect
  • 11. 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();
  • 12. EventosQuando cada imagem detectada ele invoca um evento:DepthFrameReady;ColorFrameReady;SkeletonFrameReady;AllFrameReady;AllFrameReady sempre que todos os frames so detectados,sempre no tempo do mais lento.
  • 13. ColorStream e Tilt DEMOHabilitar o ColorStream.Converter o array de bytes para uma imagem ou usar abiblioteca Coding4Fun.Jogar o Bitmap em um componente de imagem.Controle do motor do Kinect.
  • 14. Srio, no fique usando muitoo motor, ele no um rob!
  • 15. Skeletal TrackingDetecta at 6 pessoas no sensor do kinectDestes, apenas 2 so inteiramenteCompreendidos (20 articulaes)Valores das posies de cada articulao est em metros.Os outros 4 so parcialmente compreendidos(somente a localizao)
  • 16. 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 achara articulao e presume sua posio baseado nasoutras.
  • 17. 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
  • 18. Trabalhando o Audio - DemoO Kinect composto por vrios microfones, aumentandoassim 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;
  • 19. Posio e confiabilidade do som O 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.SoundSourceAngle KinectSensor.AudioSensor.SoundSourceAngleConfidence
  • 20. Concluso Os sensores de movimentos vieram para ficar. E o Kinect abre uma gama de possibilidades, que os desenvolvedores no tinham antes. Sua utilizao vai muito alm dos games.
  • 21. Perguntas?
  • 22. Procurando um desafiante? Teste sua sorte com esses aqui:Andr Castro alrcastro BloodGlocks
  • 23. 12/05/12