A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Kinect Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect Bruno C. de Paula.

Apresentações semelhantes


Apresentação em tema: "Kinect Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect Bruno C. de Paula."— Transcrição da apresentação:

1 Kinect Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect Bruno C. de Paula

2 2 Quem sou eu? Bruno Campagnolo de Paula

3 Material deste tutorial

4 Por que estou aqui? 4 2/11/2013 Centro de Engenharia de Sistemas Inteligentes

5 Por que estou aqui? PUCPR; Professor dos cursos de jogos e do curso de Sistemas de Informação;

6 Resumo Vamos aprender o que é o Kinect; Arquitetura básica; Falar sobre o princípios de funcionamento; Usar o FAAST para prototipação rápida de aplicativos com o Kinect; Demonstrar ferramentas de desenvolvimento e o SDK oficial. Comentar sobre aplicações e projetos.

7 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 2/11/2013

8 PARTE 1 O que é o Kinect?

9 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; 9 2/11/2013

10 Motivação para criação do Kinect Sucesso do Wii; 10 2/11/2013

11 Wii / Kinect não são tão pioneiros! Dispositivos de interface natural Trabalhos de Myron Krueger (Video Place); Problemas sempre foram: performance e reconhecimento facial. 11 2/11/2013

12 Wii / Kinect não são tão pioneiros! Dispositivos de interface natural Activator, EyeToy, Track IR

13 Wii / Kinect não são tão pioneiros! Dispositivos de interface natural Não faça com o Kinect o que uma câmera normal resolve! Exemplo de projeto final.

14 Kinect não é o único dispositivo moderno de interface natural atual Wavi Xtion da Asus 14 2/11/2013

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

16 Projeto Natal - Origem Forte P&D; Alex Kipmann - Diretor de incubação da Microsoft; PrimeSense; PrimeSense 3DV Systems. 16 2/11/2013

17 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)

18 18 2/11/2013 Se você sabe mover-se você sabe usar o Kinect

19 19 2/11/2013 Qualquer tecnologia suficientemente avançada é indistinguível de magia. Arthur C. Clarke

20 Arquitetura do Kinect 20 2/11/2013

21 Arquitetura do Kinect 21 2/11/2013 Projetor de Luz Infravermelha (invisível) Câmera RGB (comum) Câmera infravermelha Conjunto de microfones Motor

22 Arquitetura do Kinect 22 2/11/2013

23 Arquitetura do Kinect Image Stream Cada pixel representa uma cor; 640x480 (30 fps) OU 1280x1024 (máximo 15 fps); 23 2/11/2013

24 Arquitetura do Kinect Depth 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); 24 2/11/2013

25 Arquitetura do Kinect Audio Stream 4 microfones; Anula ruído e eco. Permite gravação de audio; Excelente reconhecimento de fala (em inglês); 25 2/11/2013

26 Arquitetura do Kinect Motor 27 graus para cima ou para baixo; Não chamar com muita freqüencia; SDK, por exemplo, limita em 15 vezes a cada 20 segundos. 26 2/11/2013

27 Sensor de profundidade 3d do Kinect 27 2/11/2013 Projetor de Luz Infravermelha Câmera infravermelha Sensor de Profundidade 3D

28 Princípio de funcionamento do sensor de profundidade 3D Medição de um padrão invisível projetado no corpo; 28 2/11/2013 Observação: não é uma câmera estereoscópica!

29 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. 29 2/11/2013

30 Informações de esqueleto dos jogadores

31 O que dá para fazer com tudo isto? Vídeo sobre Os 5 primeiros meses do Kinect; Antes do lançamento do SDK Oficial!! 31 2/11/2013

32 Desenvolvendo para o Kinect Drivers abertos (Open Kinect):Open Kinect Windows XP, Vista, 7; MacOS X; Linux; Open Source; OpenNI (PrimeSense): OpenNI Windows, Linux, Mac OS X; Kinect SDK: Oficial da Microsoft; Apenas para Windows 7; 32 2/11/2013

33 Desenvolvendo para o Kinect Drivers abertos Após o lançamento foi hackeado em poucos dias; Ele é um dispositivo USB não criptografado!dispositivo USB Microsoft já estava prevendo usos fora do XBOX; Open Kinect Contest US$ 3.000,00; 33 2/11/2013

34 Desenvolvendo para o Kinect OpenNI Wrappers para linguagens diversas: C, C++, Processing, Java, Scratch; Fácil de integrar com o FAAST;FAAST O FAAST permite a criação de programas para o Kinect sem saber programar para o Kinect. 34 2/11/2013

35 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!!) ;cuidado 35 2/11/2013

36 PARTE 2 Prototipação rápida para o Kinect usando o FAAST

37 FAAST Flexible Action and Articulated Skeleton Toolkit; University of Southern California; Permite o mapeamento de movimentos do corpo em ações de dispositivos tradicionais de interação (mouse e teclado); Também faz o streaming via VRPN (Virtual Reality Peripheral Network); Elimina a necessidade de programação; Adequado para prototipação rápida.

38 Instalação Usar o Zigfu Dev Bundle;Zigfu Dev Bundle OU: Instalar OpenNI; Instalar NITE; Instalar sensores. Veja mais detalhes no texto do tutorial.

39 Tela inicial do FAAST

40 Configuração do sensor Full Body: o corpo todo é considerado; Upper Body: apenas a parte superior do corpo; Lower Body: apenas a parte inferior; Hands Only: apenas as mãos, pode utilizar um focus gesture para habilitar o reconhecimento das ações; Smoothing factor: suavização da perturbação do movimento. 0.07~0.08 para controle de mouse preciso.

41 Calibração Pose de psi; Essencial em aplicação baseada em OpenNI.

42 Controle de mouse Associação da mão esquerda ou direita à posição do mouse; Controle absoluto: posição do mouse determinada a partir da posição dentro do bounding rectangle; Controle relativo: velocidade do mouse determinada a partir da distância até o bounding rectangle;

43 Controle do mouse Forward Threshold: distância que a mão deve ser extendida à frente para ativar o controle do mouse. Movement Threshold: valor mínimo em pixels necessário para alterar a posição do mouse; Speed: no movimento relativo, velocidade máxima nos limiares.

44 Mapeamento de ações em eventos nome_ação: nome da pose ou gesto; limiar: mínimo de ativação, depende da ação; tipo_evento: tipo de evento que será gerado; nome_evento: evento específico que será gerado. Ver tabelas 1, 2 e 3 no texto do tutorial!

45 Exemplo 1 lean_left 20 key_hold left_arrow lean_right 20 key_hold right_arrow jump 2 key_press space

46 Exemplo 2 lean_left 20 key_hold a lean_right 20 key_hold d lean_forwards 15 key_hold w lean_backwards 15 key_hold s

47 Atividade! Crie controles para os seguintes jogos: Canabalt; Muulti-Muu. Angry Birds;

48 PARTE 3 Programando para o Kinect Exemplos em: Processing SDK Oficial

49 Usando o Processing Processing é uma linguagem voltada para desenho, animação e interação; Bastante adequada para prototipação rápida de jogos.

50 Exemplos de uso da biblioteca SimpleOpenNI exemplo1; exemplo2; Estudo de caso: 3dpht.

51 DEMOS do QuickStart do Kinect 1)Instalação do Sensor / Download do SDK; 1)Instalação do SensorDownload do SDK 2) Configurando o ambiente; 2) Configurando o ambiente 3) Criando um projeto Kinect no Visual Studio; 4) Exibindo a imagem da câmera; 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;Trabalhando com a informação de profundidade 7) Obtendo informações do esqueleto Obtendo informações do esqueleto 8) Reconhecimento de fala. 51 2/11/2013

52 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). 52 2/11/2013

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

54 3) Criando um projeto Kinect no Visual Studio 54 2/11/2013

55 3) Criando um projeto Kinect no Visual Studio 55 2/11/2013

56 3) Criando um projeto Kinect no Visual Studio 56 2/11/2013 *

57 4) Exibindo a imagem da câmera Ver eventos VideoFrameReady e DepthFrameReady; 57 2/11/2013

58

59 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; 59 2/11/2013

60 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; 60 2/11/2013

61 7) Obtendo informações do esqueleto 61 2/11/2013 Evento SkeletonFrameReady.

62 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. 62 2/11/2013

63 PARTE 4 Aplicações

64 Kinect Effect effect?uid= &tid= effect?uid= &tid

65 Aplicações e possibilidades do Kinect Controle de dispositivos através das mãos (Minority Report); 65 2/11/2013

66 Aplicações e possibilidades do Kinect Controle robótico: Kits que eram $ agora são $500; Exemplo com quadricóptero;quadricóptero 66 2/11/2013

67 Aplicações e possibilidades do Kinect Mocap baratíssimo! Mocap 67 2/11/2013

68 Aplicações e possibilidades do Kinect Video conferência 3D; Video conferência 3D 68 2/11/2013

69 Aplicações e possibilidades do Kinect Scanner 3D (melhor ainda se integrado com uma impressora 3D); 69 2/11/2013

70 Aplicações e possibilidades do Kinect Kinect + Realidade Aumentada 70 2/11/2013

71 Aplicações e possibilidades do Kinect Kinect Shopping 71 2/11/2013

72 Aplicações e possibilidades do Kinect Trocar canal da TV; Adaptação de jogos normais para Kinect; Ensino de idiomas; Ensino em geral; Sistema de navegação para carros; Música; Aplicações médicas; Controle de Apresentação (PowerPoint); COLOQUE A SUA IDEIA AQUI!!!! 72 2/11/2013

73 Mas, não precisa usar o Kinect para tudo... Cliente Twitter usando o Kinect; 73 2/11/2013

74 Links Recomendados Kinect Hacks: Portal que centraliza aplicativos e testes com o Kinect. Kinect Education: Usos do Kinect na educação; 74 2/11/2013

75 Links Recomendados Kinect SDK: us/um/redmond/projects/kinectsdk/ us/um/redmond/projects/kinectsdk/ Portal oficial da Microsoft sobre desenvolvimento para o Kinect; Coding4Fun Kinect Toolkit: Bibliotecas extras úteis para uso com o SDK. 75 2/11/2013

76 Links Recomendados OpenKinect: Download dos drivers open source - libfreenect; OpenNI: Download dos drivers da PrimeSense. 76 2/11/2013

77 Material Extra e Referências on/archive/2011/06/21/kinect-for-windows- sdk-event.aspx on/archive/2011/06/21/kinect-for-windows- sdk-event.aspx cientista-explica-o-microsoft-kinect/ cientista-explica-o-microsoft-kinect/ 10/11/features/the-game-changer?page=all 10/11/features/the-game-changer?page=all 77 2/11/2013

78 78 Obrigado!!


Carregar ppt "Kinect Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect Bruno C. de Paula."

Apresentações semelhantes


Anúncios Google