1 / 57

Kinect

Bruno C. de Paula. Kinect. Semana Acadêmica de Ciência da Computação - PUCPR. Quem sou eu?. Bruno Campagnolo de Paula brunodepaula@gmail.com http://www.brunocampagnolo.com http://twitter.com/bcp. Por que estou aqui?. Centro de Engenharia de Sistemas Inteligentes.

conley
Download Presentation

Kinect

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Bruno C. de Paula Kinect Semana Acadêmica de Ciência da Computação - PUCPR

  2. Quem sou eu? Bruno Campagnolo de Paula brunodepaula@gmail.com http://www.brunocampagnolo.com http://twitter.com/bcp

  3. Por que estou aqui? Centro de Engenharia de Sistemas Inteligentes

  4. Interesse em aplicações para a GGJ12!Global Game Jam 2010 e 2011 (Curitiba) Saiba mais em: http://www.ggjcwb.com/2011/02/relatorio/

  5. Resumo Vamos aprender o que é o Kinect; Arquitetura básica; Falar sobre o princípios de funcionamento; Demonstrar ferramentas de desenvolvimento e o SDK oficial. Comentar sobre aplicações e projetos.

  6. Público-alvo da palestra • Pessoal da computação em geral; • Interessados em robótica; • Desenvolvedores de jogos; • Pesquisadores e desenvolvedores interessados no futuro dos sistemas de informação; • Educadores (gesture based learning).

  7. O que é o Kinect? • Dispositivo de interação natural; • Microsoft; • XBOX 360 (jogos); • Lançamento: 4/11/2010; • 8 milhões vendidos em 60 dias (recorde); • 10 milhões até março de 2011; $$$

  8. Motivação para criação do Kinect • Sucesso do Wii;

  9. Wii / Kinect não são tão pioneiros!Dispositivos de interface natural • Trabalhos de Myron Krueger (Video Place), Activator, EyeToy, Track IR, projetos finais; • Problemas sempre foram: performance e reconhecimento facial.

  10. Kinect não é o único dispositivo moderno de interface natural atual • Wavi Xtion da Asus

  11. Kinect não vai ser o único dispositivo futuro de interface natural • Windows 8/9; • iOs 6;

  12. Projeto Natal - Origem • Forte P&D; • Alex Kipmann - Diretor de incubação da Microsoft; • PrimeSense; • 3DV Systems.

  13. History is about to be rewritten. This time human beings will be at the centre -- and the machines will be the ones that adapt. (apresentação do Kinect 2010)

  14. Se você sabe mover-se você sabe usar o Kinect

  15. Qualquer tecnologia suficientemente avançada é indistinguível de magia. Arthur C. Clarke

  16. Arquitetura do Kinect

  17. Arquitetura do Kinect Projetor de Luz Infravermelha (invisível) Câmera RGB (“comum”) Câmera infravermelha Motor Conjunto de microfones

  18. Arquitetura do Kinect

  19. Arquitetura do KinectImage Stream • Cada pixel representa uma cor; • 640x480 (30 fps) OU • 1280x1024 (máximo 15 fps);

  20. Arquitetura do KinectDepth Stream • Cada pixel representa a distância em relação ao objeto; • 11 bits de precisão (2048 níveis de sensibilidade); • 1.2 a 3.5 metros; • 640x480 (30 fps – sem informação do jogador) e 320x240 (30 fps – com informação do jogador);

  21. Arquitetura do KinectAudio Stream • 4 microfones; • Anula ruído e eco. • Permite gravação de audio; • Excelente reconhecimento de fala (em inglês);

  22. Arquitetura do KinectMotor • 27 graus para cima ou para baixo; • Não chamar com muita freqüencia; • SDK limita em 15 vezes a cada 20 segundos.

  23. Sensor de profundidade 3d do Kinect Projetor de Luz Infravermelha Sensor de Profundidade 3D Câmera infravermelha

  24. Princípio de funcionamento do sensor de profundidade 3D • Medição de um “padrão” invisível projetado no corpo; Observação: não é uma câmera estereoscópica!

  25. Informações de esqueleto dos jogadores • Detecta até 6 jogadores; • Obtém informação de esqueleto de 2 jogadores; • Dá para obter a qualidade da captura; • Este é o grande destaque do Kinect na área de Machine Learning.

  26. O que dá para fazer com tudo isto? • Vídeo sobre Os 5 primeiros meses do Kinect; • Antes do lançamento do SDK Oficial!!

  27. Desenvolvendo para o Kinect • Drivers abertos (Open Kinect): • Windows XP, Vista, 7; • MacOS X; • Linux; • Open Source; • OpenNI (PrimeSense): • Windows, Linux, Mac OS X; • Kinect SDK: • Oficial da Microsoft; • Apenas para Windows 7;

  28. Desenvolvendo para o KinectDrivers abertos • Após o lançamento foi “hackeado” em poucos dias; • Ele é um dispositivo USB não criptografado! • Microsoft já estava prevendo usos fora do XBOX; • Open Kinect Contest • US$ 3.000,00;

  29. Desenvolvendo para o KinectOpenNI • Wrappers para linguagens diversas: • C, C++, Processing, Java, Scratch; • Fácil de integrar com o FAAST; • O FAAST permite a criação de programas para o Kinect sem saber programar para o Kinect.

  30. Desenvolvendo para o Kinect SDK oficial • 13/junho/2011 • Windows 7; • 2GB RAM; • DirectX 9.0c; • Dual Core 2.66 GHz; • Versão Beta; • Licença não-comercial (cuidado!!);

  31. DEMOS do QuickStart do Kinecthttp://channel9.msdn.com/Series/KinectSDKQuickstarts/ • 1)Instalação do Sensor / Download do SDK; • 2) Configurando o ambiente; • 3) Criando um projeto Kinect no Visual Studio; • 4) Exibindo a imagem da câmera; • 5) Alterando o ângulo de elevação da câmera; • 6) Trabalhando com a informação de profundidade; • 7) Obtendo informações do esqueleto

  32. 1)Instalação do Sensor • O Kinect que vem no Bundle do XBOX não tem o cabo de energia (pode ser comprado a parte); • Não coloque 2 Kinects ou 2 câmeras no mesmo hub USB; • Verifique a versão do Windows (64 / 32 bits).

  33. 2) Configurando o ambiente • Instalar Visual Studio (pode ser o Express); • Instalar DirectX SDK – Junho 2010; • Instalar Runtime do DirectX; • Se quiser usar o reconhecimento de voz: • Speech Runtime 10.2; • Kinect Speech Platform; • Speech SDK;

  34. 3) Criando um projeto Kinect no Visual Studio

  35. 3) Criando um projeto Kinect no Visual Studio

  36. 3) Criando um projeto Kinect no Visual Studio *

  37. 4) Exibindo a imagem da câmera • Ver eventos VideoFrameReady e DepthFrameReady;

  38. 5) Alterando o ângulo de elevação da câmera • nui.NuiCamera.ElevationAngle = (int)slider1.Value; • Máximo de 15 mudanças em 20 segundos; • -27 a +27 graus;

  39. 6) Trabalhando com informação de profundidade • Cálculo da distância em milímetros: • Depth Image Type; • Bitshift o segundo byte por 8; • Distância = (int) Bits[0] | Bits[1] << 8; • DepthAndPlayerIndex Type: • Bitshift do primeiro por 3 e do segundo por 5; • Distância = (int) Bits[0] | Bits[1] << 5; • O Player Index indica o jogador que está contido naquele ponto; • Máximo de 6 jogadores;

  40. 7) Obtendo informações do esqueleto • Evento SkeletonFrameReady.

  41. 7) Obtendo informações do esqueleto • Cada joint retorna: • X – Posição horizontal entre -1 e 1 • Y – Posição vertical entre -1 e 1 • Z – Distância até o Kinect em metros • Cada joint tem um estado associado: • Tracked; • Not Tracked: raro; • Inferred: oclusão, cortado, baixa confiança.

  42. Demos diversos • Skeletal Viewer; • ShapeGame; • Kinect Mouse Cursor; • Kinect NUI; • Demos no Processing e do FAAST (se der tempo!);

  43. Aplicações e possibilidades do Kinect • Controle de dispositivos através das mãos (Minority Report);

  44. Aplicações e possibilidades do Kinect • Controle robótico: • Kits que eram $28.000 agora são $500; • Exemplo com quadricóptero;

  45. Aplicações e possibilidades do Kinect • Mocap baratíssimo!

  46. Aplicações e possibilidades do Kinect • Video conferência 3D;

  47. Aplicações e possibilidades do Kinect • Scanner 3D (melhor ainda se integrado com uma impressora 3D);

  48. Aplicações e possibilidades do Kinect • Kinect + Realidade Aumentada

  49. Aplicações e possibilidades do Kinect • Kinect Shopping

More Related