Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de
Desenvolvimento de Aplicações
Conferencista:
Prof. MSc. Edinaldo J. C. de La-Roque [email protected]
http://www.unama.br
Belém - PA 2016
2
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
3
Sobre o conferencista
Edinaldo João Costa de La-Roque Mestre em Ciência da Computação pela UFPA, linha de pesquisa Redes de Computadores. Formação em Telecomunicações, Análise e Desenvolvimento de Sistemas e Gerência de Projetos e Gerência da Qualidade (parcial). Experiência em coordenar equipes de infraestrutura de redes e desenvolvimento de software. Forte perfil integrador de sistemas, multidisciplinar, para ambiente de pesquisa, desenvolvimento, documentação.
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
Currículo Lattes: http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4310385E7
4
Agenda
1. Realidade aumentada 2. O sensor Kinect do XBOX 360 3. Um pouco de história 4. Modos de operação 5. Paradigma da Interação Natural (NI) 6. Frameworks para Kinect 7. Recursos de aprendizado 8. Demonstração do Developer Toolkit v1.6.0 9. Demonstração prática
Referências
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
5
1. Realidade aumentada
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
Imagine uma tecnologia com a qual pudéssemos ver mais do que os outros vêem, ouvir mais do que os outros ouvem, ou talvez até mesmo provar coisas que os outros não possam provar. E se tivéssemos tecnologia para percebermos elementos e objetos totalmente computacionais dentro de nossa experiência no mundo real? Criaturas e estruturas completas que pudessem nos ajudar em nossas atividades cotidianas, por meio de interações quase inconscientes pelo uso de gestos e da fala?
Van Krevelen et al. (2010)
6
1. Realidade aumentada (2)
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
A Realidade Aumentada ou AR (Augmented Reality) é esta tecnologia que veio para criar uma nova geração de interfaces baseadas na realidade. A Realidade Aumentada suplementa o mundo real com objetos virtuais (gerados por computador), que parecem coexistir no mesmo espaço do mundo real. Os smartphones da atualidade e os browsers de realidade aumentada (AR browsers) estão começando a abraçar esta nova e excitante forma de interação humano-computador.
Van Krevelen et al. (2010)
7
1. Realidade aumentada (3)
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
Técnicas e posicionamento para a visualização Fonte: Van Krevelen et al. (2010)
8
1. Realidade aumentada (4)
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
Fonte: https://media.licdn.com/mpr/mpr/shrinknp_800_800/AAEAAQAAAAAAAAWmAAAAJGF
hNmU3Y2FhLTlkODItNDU0NC1hNGNiLWQ0M2MxNGUxZGJiNg.png
9
1. Realidade aumentada (5)
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
Fonte: http://idav.ucdavis.edu/~okreylos/ResDev/SARndbox/Instructions.html
10
1. Realidade aumentada (6)
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
Fonte: https://i.ytimg.com/vi/EETkn5_qrhM/hqdefault.jpg
11
1. Realidade aumentada (7)
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
12
1. Realidade aumentada (8)
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
Fonte: http://eandt.theiet.org/magazine/2013/04/images/640_touareg-hybrid.jpg
13
1. Realidade aumentada (9)
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
Fonte: http://losgrillos.com/thumb.php?src=http://losgrillos.com/images/uploads/20
13/cicret-bracelet.png&h=450&w=600&q=90&zc=1
14
1. Realidade aumentada (10)
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
Sobreposição de AR em uma escaneamento médico Fonte: Van Krevelen (2010)
15
2. O sensor Kinect do XBOX 360
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
Sensores 3D de profundidade
Câmera RGB
Inclinação motorizada Microfones direcionais
16
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
O Kinect desmontado por uma equipe especializada. Fonte: Avancini (2012)
2. O sensor Kinect do XBOX 360 (2)
17
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
Item do sensor Especificação
Ângulo de visão Campo de visão vertical de 43o e 57o horizontal
Faixa de inclinação vertical entre +28o e -28o
Taxa de quadros (stream de cor e de profundidade)
30 quadros por segundo (FPS)
Resolução do stream profundidade QVGA (320x240)
Resolução do stream colorido VGA (640x480)
Formato de áudio 16 KHz, 16 bits mono PCM
Características da entrada de áudio Um arranjo de 4 microfones com um conversor analógico-digital (ADC) de 24 bits, com processamento de sinal embutido, incluindo cancelamento de eco e supressão de ruído
Especificações do sensor Kinect Fonte: Avancini (2012)
2. O sensor Kinect do XBOX 360 (3)
18
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
Diagrama de funcionamento do sensor Fonte: Avancini (2012)
2. O sensor Kinect do XBOX 360 (4)
19
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
Adaptador USB com fonte de alimentação para o Kinect Fonte: Avancini (2012)
2. O sensor Kinect do XBOX 360 (5)
20
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
Exemplo de padrão de luz infravermelha emitida pelo Kinect Fonte: Avancini (2012)
2. O sensor Kinect do XBOX 360 (6)
21
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
Exemplo de deteção de profundidade com infravermelho Fonte: Avancini (2012)
2. O sensor Kinect do XBOX 360 (7)
22
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
Exemplo de deteção de esqueleto com o framework OpenNI Fonte: Avancini (2012)
2. O sensor Kinect do XBOX 360 (8)
23
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
Faixas de distância de operação do sensor Kinect Fonte: Avancini (2012)
Item do sensor Faixa de distância de operação
Stream de vídeo (cor e profundidade) 1,2 a 3,5 metros
Rastreamento de esqueleto 1,2 a 3,5 metros
2. O sensor Kinect do XBOX 360 (9)
24
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
3. Um pouco de história
• Sensor anunciado pela primeira vez em junho de 2009, durante uma feira de exposições, batizado inicialmente com o nome de Projeto Natal (Natal project).
• Em 2010, a Microsoft deu o nome oficial de Kinect.
• Em 60 dias, 8 milhões de unidades foram vendidas.
• O harware do kinect é baseado em tecnologia desenvolvida pela empresa 3DV System, adquirida pela Microsoft em junho de 2009, cujo produto original era uma câmera de tempo real, a ZCam.
• A empresa israelita PrimeSense fornece a tecnologia de sensores 3D usada no Projeto Natal.
25
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
3. Um pouco de história (2)
• A PrimeSense também trabalha com a ASUS para criar um dispositivo chamado WAVI Xtion, um dispositivo similar ao Kinect, compatível com micros PC, para 2011.
26
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
3. Um pouco de história (3)
• Do ponto de visto do software, o Kinect é desenvolvido pela Rare, uma subsidiária da Microsoft Game Studio, que pertence à Microsoft.
• Em 2010, a PrimeSense lança os seus próprios drivers open source, juntamente com um middleware de rastramento de movimentos, chamado Natural Interaction Technology for End-user (NITE).
• Em parceria com outras duas empresas, a PrimeSense cria uma organização sem fins lucrativos, focada na certificação e melhoria da interoperabilidade dos dispositivos de interação natural, chamada Open Natural Interaction (OpenNI).
27
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
3. Um pouco de história (3)
• OpenNI não é apenas uma organização, mas também uma plataforma cruzada (cross-platform) que provê interface tanto para dispositivos físicos, quanto para componentes middleware.
Logo da OpenNI Fonte: Avancini (2012)
Logo da PrimeSense Fonte: Avancini (2012)
28
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
4. Modos de operação
O Kinect reconhece e deteta:
• Informações de esqueleto
29
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
4. Modos de operação (2)
O Kinect reconhece e deteta:
• Gestos
30
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
4. Modos de operação (3)
O Kinect reconhece e deteta:
• Comandos vocais
31
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
4. Modos de operação (4)
O Kinect reconhece e deteta:
• Informações de rosto
32
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
5. Paradigma da Interação Natural (NI)
• NI (Natural Interaction) é um conceito relacionado à interação com dispositivos baseada nos sentidos humanos (Avancini, 2012).
• Este paradigma torna obsoleto periféricos como controles remotos e mouses.
• O Kinect pode ser definido como um dispositivo de interação natural (NI), que opera no contexto de Interface Natural com o Usuário (NUI - Natural User Interface), que representa um novo paradigma de Interface Humano-Computador (HCI).
Evolução dos paradigmas de HCI Fonte: Avancini (2012)
33
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
6. Frameworks para Kinect
• OpenNI http://openni.ru/openni-sdk/
• NITE
http://openni.ru/files/nite/
• Kinect for Windows SDK http://research.microsoft.com/en-us/um/redmond/projects/kinectsdk/
• OpenKinect - Libfreenect
https://openkinect.org/wiki/Main_Page
• Flexible Action and Articulated Skeleton Toolkit (FAAST) http://projects.ict.usc.edu/mxr/faast/
34
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
7. Recursos de aprendizado
https://channel9.msdn.com/Search?term=kinect#ch9Search
35
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
7. Recursos de aprendizado (2)
36
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
7. Recursos de aprendizado (3)
37
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
7. Recursos de aprendizado (4)
38
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
7. Recursos de aprendizado (5)
39
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
8. Demonstração do Developer Toolkit v1.6.0
40
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
8. Demonstração do Developer Toolkit v1.6.0 (2)
41
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
8. Demonstração do Developer Toolkit v1.6.0 (3)
42
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
8. Demonstração do Developer Toolkit v1.6.0 (4)
43
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
8. Demonstração do Developer Toolkit v1.6.0 (5)
44
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
8. Demonstração do Developer Toolkit v1.6.0 (6)
45
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
9. Demonstração Prática
Aplicação WPF escrita em .Net C#, usando o MS Visual Studio 2010, com o Kinect for Windows SDK v1.6. A aplicação reconhece e rastreia a mão direita do usuário, executando ou encerrando as aplicações CALC.EXE e CMD. EXE do MS Windows 7.
46
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
9. Demonstração Prática (2)
Imagem da janela da linha de comandos.
Imagem da calculadora.
47
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
9. Demonstração Prática (3)
48
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
9. Demonstração Prática (4)
49
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
9. Demonstração Prática (5)
50
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
9. Demonstração Prática (6)
51
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
9. Demonstração Prática (7)
52
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
9. Demonstração Prática (8)
53
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
9. Demonstração Prática (9)
mão direita sendo rastreada
mão direita sobre essas áreas verdes iniciam a
calculadora ou a janela de comandos do Windows.
mão direita sobre essas áreas laranjas encerram a calculadora ou a janela de comandos do Windows.
Uma vez compilada a aplicação e posta em execução, o sensor Kinect reconhece e rastreia a mão direita do usuário, permitindo que as aplicações CALC.EXE e CMD.EXE sejam executadas ou encerradas ao passar a mão direita sobre as áreas verdes ou laranjas.
54
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
9. Demonstração Prática (10)
Aplicações iniciadas apenas passando-se a mão direira em frente ao sensor Kinect sobre as áreas verdes.
55
Referências
JANA, Abhijit. Kinect for Windows SDK Programming Guide. Birmingham, UK: Packt Publishing Ltd, 2012. p.392. AVANCINI, Mattia. Using Kinect to emulate an Interactive Whiteboard. Tese de Mestrado. Trento, IT: Università Degli Studi de Trento, 2012. p.129. Disponível em: http://latemar.science.unitn.it/segue_userFiles/LITSA/Avancini_Mattia_138793_Thesis.pdf. Acesso em: 14/09/2016. VAN KREVELEN, D. W. F.; POELMAN, R. A survey of augmented reality technologies, applications and limitations. International Journal of Virtual Reality, v. 9, n. 2, p. 1, 2010. Natural Interaction Technology for End-user (NITE) Open Source Framework. Disponível em: http://openni.ru/files/nite. Acesso em: 15/09/2016.
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações
56
Obrigado!
Realidade Aumentada com o Sensor Kinect XBOX 360: Introdução ao Ambiente de Desenvolvimento de Aplicações