Microsoft Kinect
Sumário
- 1 - Antes de tudo
- 1.1 - Sobre o autor
- 1.2 - Agradecimentos
- 2 - Introdução a interfaces naturais
- 2.1 - Apresentando o Kinect
- 2.2 - O que você encontrará neste livro
- 2.3 - Antes de começar
- 3 - Primeira aplicação com o sensor
- 3.1 - Criando o projeto AuxiliarKinect
- 3.2 - Criando a regra de nossa aplicação
- 3.3 - Testando e depurando nossa aplicação
- 3.4 - Continuando
- 4 - Acelerômetro e eixo motorizado
- 4.1 - Acelerômetro
- 4.2 - Eixo motorizado
- 5 - Fluxo de cores
- 5.1 - Formatos
- 5.2 - Aplicação
- 5.3 - Refatoração
- 6 - Fluxo de profundidade
- 6.1 - Formatos
- 6.2 - Entendendo um pouco mais sobre a profundidade
- 6.3 - Aplicação
- 7 - Fluxo de esqueleto do usuário
- 7.1 - Esqueleto do usuário
- 7.2 - Desenhando o esqueleto do usuário
- 8 - Rastreando e identificando movimentos
- 8.1 - Iniciando a estrutura base para detectar movimentos
- 8.2 - Utilizando poses em nossa aplicação
- 8.3 - Finalizando a estrutura base para detectar movimentos
- 8.4 - Utilizando gestos em nossa aplicação
- 9 - Interagindo com a aplicação através do KinectInteractions
- 9.1 - Principais conceitos
- 9.2 - Melhorando nossa aplicação com os controles do KinectInteractions
- 9.3 - Utilizando o fluxo de interação
- 10 - Utilizando os microfones do sensor
- 10.1 - Inicializando a fonte de áudio e detectando a direção do som
- 10.2 - Detectando comandos de voz
- 10.3 - Conclusão
Introdução a interfaces naturais
Formas inovadoras de interação com o usuário têm sido propostas por interfaces focadas ao paradigma de interface natural ao longo dos anos. Os softwares em diversas áreas não devem exigir que o usuário tenha grande conhecimento em computação para usá-lo, devem sempre buscar por simplicidade e facilidade.
A primeira interface com o usuário a aparecer foi a CLI (Command Line Interface) que utiliza comandos de entrada textuais específicas para desempenhar funções em um aplicativo, algo que exigia uma grande curva de aprendizado. Algum tempo depois surgiu a famosa GUI (Graphical User Interface) que utiliza janelas gráficas, mouse, botões e diversos outros componentes visuais, arrisco dizer que graças à GUI os computadores conseguiram atingir tantas pessoas e se popularizar tão rápido. Hoje em dia este conceito é o mais utilizado em sistemas operacionais e aplicações.
Devido à quantidade de usuários e demanda por aplicações cada vez mais intuitivas e simples surgiu o conceito de NUI (Natural User Interface) ou simplesmente interfaces naturais. Este tipo de interface foca em utilizar uma linguagem natural para a interação humana com o aplicativo, como gestos, poses e comandos de voz *.
2.1 - Apresentando o Kinect
Como proposta de interface natural inicialmente focada para a área de jogos, a empresa Microsoft em parceria com a empresa israelita PrimeSense construiu o sensor de movimentos que hoje é chamado de Kinect. O hardware do Kinect teve boa parte herdado pelo hardware do PrimeSense. Na figura * podemos visualizar o "irmão mais velho" do Kinect.
O Kinect certamente causou uma revolução na área de interações com jogos, pois a partir de agora, não é mais necessário utilizar um controle: o sensor capta movimentos e comandos de voz do usuário, abrindo um leque de possibilidades totalmente novo, utilizando a linguagem natural para a interação com os jogos.
Inicialmente o sensor Kinect era conhecido pelo codinome Projeto Natal, fazendo referência à cidade brasileira Natal, isso ocorreu devido ao fato de que um dos idealizadores do projeto foi um brasileiro chamado Alex Kipman *.
A figura * exibe o sensor concebido pela Microsoft, podemos notar que, apesar de um design mais elegante e robusto ele possui grandes semelhanças com o PrimeSense.
Em fevereiro de 2011, quatro meses após o sensor ter sido lançado no Brasil, a Microsoft anunciava o lançamento oficial de um SDK (software development kit) que pode ser obtido de forma gratuita. Com este kit de desenvolvimento a Microsoft permite que desenvolvedores possam criar aplicativos para computadores nas linguagens C++, C# e Visual Basic utilizando o hardware Kinect, ou seja, a limitação de que o Kinect era um dispositivo apenas para a área de jogos não era mais verdadeira *.
Atualmente existem três tipos diferentes de Kinect, iremos diferenciá-los pelos seguintes nomes: Kinect, Kinect for Windows e Kinect for Xbox 360. O sensor conhecido comercialmente como Kinect for Windows possui um hardware diferenciado, seus microfones possuem uma melhor qualidade e ele é capaz de rastrear o usuário mais próximo ao sensor ou quando ele estiver sentado. Explicaremos melhor sobre isso ao decorrer do livro.
A diferença mais importante que você deve ter em mente agora é entre o Kinect for Xbox 360 e os outros. Esta diferença trata-se do cabo de conexão do sensor, esta versão é vendida somente junto com um console Xbox 360 e seu cabo de conexão possui uma entrada específica, caso seu sensor seja deste tipo é necessário comprar um adaptador para conectar o Kinect em um computador, a figura * ilustra o cabo e o adaptador para este tipo de sensor.
O sensor possui um hardware que oferece diversos recursos que iremos explorar ao longo do livro, os principais são: Emissor de luz infravermelho, sensor RGB, sensor infravermelho, eixo motorizado e um conjunto de microfones dispostos ao longo do sensor. A figura * apresenta uma visão do interior do sensor com indicativos de onde estão localizados estes recursos *.
2.2 - O que você encontrará neste livro
Este livro é escrito para desenvolvedores que já possuem conhecimento referente aos principais conceitos relacionados à orientação a objetos e que já tiveram contato com à linguagem C#, para facilitar a compreensão de desenvolvedores menos experiêntes nessa linguagem será dado pequenas explicações sobre alguns conceitos da linguagem. Nos capítulos iniciais iremos desenvolver aplicações de testes e a partir do capítulo 4 iremos construir uma aplicação até o fim do livro. Estas implementações serão focadas em conceitos de interfaces naturais específicos utilizando um sensor Kinect. As aplicações criadas neste livro não irão levar em consideração padrões arquiteturais e melhorias de performance, será levado em consideração a clareza e facilidade de entendimento do leitor e todas as implementações terão seu código centralizado no repositório: https://github.com/gabrielschade/CrieAplicacoesInterativascomoMicrosoftKinect.
Ao longo deste livro nos capítulos mais avançados iremos construir uma aplicação utilizando todos os conceitos e recursos estudados, no fim do livro teremos uma aplicação completa utilizando o Kinect.
A grande meta deste livro é encorajar e iniciar o leitor a ingressar neste mundo desafiador (e muito divertido!) da programação seguindo os conceitos de NUI através do sensor Kinect, o que invariavelmente irá envolver bastante teoria e prática, de uma forma fluída, simples e divertida!
2.3 - Antes de começar
Antes de começarmos a falar da nossa primeira aplicação, é necessário que você tenha feito o download do SDK, ele é gratuito e pode ser baixado através deste link: http://www.microsoft.com/en-us/kinectforwindows/develop/developer-downloads.aspx. Além da ultima versão do SDK, também é aconselhável já fazer o download do developer toolkit e do Microsoft Speech Platform SDK para utilizarmos em nossas futuras implementações.
Neste livro utilizaremos o Visual Studio 2012 como IDE de desenvolvimento, caso você ainda não possua esta ferramenta, existe uma versão gratuita que pode ser baixada através do link: http://www.microsoft.com/visualstudio/eng/products/visual-studio-express-products.
É importante lembrar que caso você possua um Kinect for Xbox 360 é preciso que você tenha um adaptador para conectá-lo ao seu computador.
Dados do produto
- Número de páginas:
- Data publicação: