Você está na página 1de 5

Chapter

1
Desenvolvimento de Ambientes Virtuais
Interativos usando Java e Kinect
Almerindo Nascimento Rehem, Celso Alberto Saibel Santos, Clebeson
Canuto dos Santos e Lucas Arago de Carvalho
Abstract
This course has a mission to show the new concepts of the framework OpenNI2.2 -
Open Natural Interaction and the development of applications using hardware capture
depth, such as the Microsoft Kinect sensors and Carmine 1:08 PrimeSense's so
adherent the standards of OpenNI
Resumo
Este curso tem a misso de mostrar os novos conceitos do framework OpenNI2.2
Open Natural Interaction e o desenvolvimento de aplicaes que utilizem hardware de
captura de profundidade, como os sensores Kinect da Microsoft e o Carmine 1.08 da
Primesense, de forma adepta aos padres do OpenNI.
1.1 Durao do Tutorial
Este curso dever ser ministrado em 6horas, sendo que nas primeiras 3 horas ser feita
explanao do professor e as ltimas duas horas sero utilizadas para dvidas e
exerccios por parte dos alunos.
1.2 Idioma que ser ministrado
O minicurso ser lecionado no idioma portugus.
1.3 Evento ao qual o curso est melhor relacionado
O minicurso tem maior identificao com o evento IHC.

1.4 Pblico Alvo
Desenvolvedores e alunos de graduao e ps-graduao envolvidos ou que possuam
interesse no desenvolvimento de aplicaes interativas. recomendado, mas no
restritivo, possuir conhecimento da linguagem Java, uma vez que este curso mostrar
implementaes como exemplos em tal linguagem.
1.5 Sumrio Descritivo dos Tpicos
1.5.1 Introduo e contextualizao
Este tpico ir mostrar alguns conceitos envolvidos na Interao Natural e na
implementao de sistemas que a utilizem como interface, a nova estrutura do
framework OpenNI e como desenvolver aplicaes extraindo o melhor do framework.
Ir tambm, demonstrar os middlewares a serem utilizados (NITE) para que se possam
desenvolver aplicaes que necessitem de reconhecimento de poses ou gestos manuais.
1.5.2 Interao Natural
Este tpico ir mostrar ao espectador, os conceitos de Interao Natural e fazer uma
abordagem sobre o tema, definindo gestos, movimentos, comunicao verbal e no
verbal e mostrar os tipos de comunicao proveniente de cada um deles.
1.5.3 O Hardware Utilizado
Este tpico ir falar um pouco sobre as especificaes tcnicas dos sensores utilizados
no mercado. O surgimento do Kinect e como ele revolucionou o mundo dos videogames
alm da sua contribuio para as aplicaes de Interao Natural. Abordar tambm os
novos sensores que esto surgindo e algumas tendncias de mercado nessa rea.
1.5.4 O framework OpenNI 2.2
Neste tpico ser abordado a nova estrutura do framework OpenNI, sero mostradas as
diferenas em relao a 1 verso, seus novos recursos e mtodos, quais so suas
vantagens em relao a verso anterior e a outras formas de utilizao do Kinect ou
outros sensores similares.
1.5.5 Montagem do ambiente utilizado
Aqui ser feita toda a configurao necessria para o ambiente de trabalho. Partindo de
uma aplicao exemplo ser mostrado como configurar a IDE (Netbeans) que ser
utilizada no desenvolvimento, bem como as bibliotecas que sero necessrias para poder
utilizar o Framework OpenNI2.2 junto com o sensor Kinect. As etapas a serem
realizadas neste tpico esto descritas como se seguem:
1) Instalao do J DK: Ser mostrado onde encontrar e como instalar o Java
Developement Kit (JDK) utilizado no desenvolvimento com a linguagem Java.
2) Instalao do kinect SDK: Nesta etapa veremos como e qual SDK dever
instalar para que a aplicao possa se comunicar com o sensor Kinect;

3) Instalao do framework: Partindo de uma instalao padro do Windows 7
sero instalados os requisitos para a compilao do OpenNI2.2;
4) Instalao do Netbeans: Ser mostrado como instalar uma das distribuies do
Netbeans e como configur-lo para utilizar o JDK, demonstrado no tpico 1;
5) Criao e configurao do projeto java: Aqui ser mostrado como criar e
configurar um projeto java utilizando o framework OpenNI. Veremos como
importar e como incluir as bibliotecas necessrias para a comunicao entre
cdigo Java e o cdigo nativo do OpenNI 2.2, que em C/C++, e como incluir
os drivers que sero necessrios para que a aplicao possa se comunicar com o
Kinect;
6) Execuo da aplicao exemplo para validar o ambiente: Nessa parte do
minicurso ser mostrado como validar toda a configurao e preparao do
ambiente com a execuo de exemplos, onde poderemos ver as principais
funcionalidades do framework OpenNI.2.2.
1.5.6 Obteno dos dados provenientes dos sensores
Este tpico mostrar a forma de obteno de dados oriundos dos sensores (Kinect,
Carmine), tanto dados crus como dados pr-processados, e como realizar a manipulao
desses dados pelo framework OpenNI2.2. Por fim, ser apresentada as principais
funes do OpenNI, atravs de trechos de cdigos em linguagem Java, que ilustram a
captura das informaes dos sensores de profundidade, sensores de infravermelho e de
RGB.
1.5.7 Emulando o Kinect
Este tpico ilustra como o desenvolvedor poder utilizar o framework e seus
middlewares para criar aplicaes sem a necessidade de possuir um dispositivo do tipo
Kinect conectado em seu computador. Ou seja, mostrar a possibilidade de se capturar
os dados crus dos sensores do kinect (RGB, IR, DEPTH) e armazen-los em arquivo no
disco. Alm de como utilizar o arquivo capturado para emular o Kinect, simulando uma
stream de dados, transmitida por cada sensor, para o computador.
Neste tpico sero demonstradas todas as funes do framework necessrias para: i)
capturar e gravar as imagens obtidas dos 3 tipos de sensores (RGB, profundidade e
Infravermelho); ii) para reproduzir a gravao e iii) como controlar a reproduo,
atravs de comandos tpicos como avanar, play, pause e retornar.
1.5.8 O Middleware NITE
Este tpico introduzir os conceitos por trs desse middleware, explicar seu
funcionamento na arquitetura do framework e mostrar exemplos de extrao e deteco
de articulaes do corpo humano (Skeleton Traking) e da deteco dos movimentos das
mos (Hand Tracking). Alm disso, sero explanadas todas as principais funes Java
utilizadas para executar os exemplos.
1.5.9 Concluso
Inicialmente ser mostrado alguns exemplos que foram construdos por nosso grupo de
pesquisa TTAir Research Group, tal como:

TAirTVRemote Controle Remoto Virtual de TV
1
: Esta aplicao permite
que usurios posicionados frente do sensor do Kinect executem movimentos
que sero reconhecidos pelo software e que iro disparar aes no ambiente
virtual e real. Neste caso, a ao um comando infravermelho simulando o
controle de uma TV
Ao final, ser feito um resumo do que foi apresentado e as inmeras aplicaes de
softwares interativos, assim como um insight sobre as possibilidades a serem
desenvolvidas com esses tipos de aplicaes interativas, partindo do contedo e da
utilizao do framework OpenNI2.2.
1.6 Justificativa de interesse e atrao do pblico alvo
Com o advento do Kinect, o surgimento do OpenNI e sua plataforma de cdigo fonte
aberto, aliado disseminao de vdeos com resultados experimentais na Web
(principalmente atravs do YouTube) desencadeou uma corrida para a criao e
desenvolvimento de aplicaes para a plataforma Kinect e para o paradigma de interao
baseado no reconhecimento de gestos
O interesse do minicurso esta vinculado ao interesse em desenvolvimento de aplicaes
interativas. O curso introduz ao espectador as primeiras noes de como desenvolver
aplicaes interativas atravs de exemplos para reconhecer usurios, reconhecer gestos,
etc. Esses conceitos introdutrios so um importante alicerce para uma gama de
aplicaes em reas distintas. possvel encontrar diversos portais que disponibilizam
uma boa gama de exemplos de utilizao da plataforma lecionada, para mapeamento
tridimensional de ambientes, sistemas de auxlio de navegao, sistemas de controle por
gestos, automao residencial, dentre outros.
1.7 Currculo simplificado dos autores do minicurso
Almerindo Nascimento Rehem est Fazendo Doutorado em Redes e Multimdia na
UFBA, possui mestrado em Sistemas e Computao pela Universidade Salvador (2005),
Ps Graduao em redes de computadores e telecomunicaes, graduao em Ciencia da
Computao pela Universidade Tiradentes (2001). Foi diretor de Tecnologia e
Informao da Prefeitura do Municpio de Aracaju. Professor efetivo do Instituto
Federal de Sergipe, Diretor de Tecnologia da Secretaria Estadual da Fazenda,
pesquisador do Instituto de Tecnologia e Pesquisa (ITP), professor de Ps-Graduao da
FAMA, Professor de Ps-Graduao da FANESE e professor de graduao titular da
Universidade Tiradentes. Tem diversos artigos publicados em anais cientficos;
experincia na rea de Cincia da Computao, com nfase em Multimdia, atuando
principalmente nos temas multimdia, vdeo digital, software livre e Linux.
Celso Alberto Saibel Santos possui graduao em Engenharia Eltrica pela
Universidade Federal do Esprito Santo (1991), mestrado em Engenharia Eltrica pela
Escola Politcnica da Universidade de So Paulo (1994) e Doutorado em Informatique
Fondamentalle et Parallelisme pela Universit Paul Sabatier de Toulouse III (1999).
Atualmente Chefe do Departamento de Cincia da Computao (DCC) da
Universidade Federal da Bahia (UFBA). Tem grande experincia de orientao e de

1
https://www.youtube.com/watch?v=MgJxJ2zVgo0

coordenao de projetos de pesquisa e inovao, atuando, principalmente, nas reas de
Multimdia, Hipermdia, Web, TV Digital Interativa.
Clebeson Canuto dos Santos graduando no ltimo semestre do Curso de Sistemas de
Informao da Universidade Tiradentes/SE. Est atualmente em um programa de
mobilidade internacional, Cincia sem Fronteiras, estudando Ingeniera Informtica na
Universidad de Alcal- Madrid/ES. Seu trabalho de concluso de curso est ligado a
programao paralela para GPUs. J foi programador Java por mais de um ano na
Prefeitura Municipal de Estancia/SE e est desenvolvendo prticas nas reas de
computao de alto desempenho, Arduino e Android.
Lucas Arago de Carvalho graduando do ltimo perodo do curso de Sistemas de
Informao da Universidade Tiradentes/SE. Tem seu trabalho de concluso de curso
ligado ao desenvolvimento da biblioteca TTAirCoyoteKMC, que oferece facilidades
na programao com Kinect para a linguagem Java. Atualmente pesquisador do TTAir
Research Group tendo atuado como programador no Tribunal de Justia do Estado de
Sergipe.
1.8 Apresentador do minicurso
Almerindo Nascimento Rehem Neto ir ministrar o minicurso.
1.9 Recursos utilizados
O equipamento bsico ao minicurso um notebook conectado ao Kinect, ambos
fornecidos pelo apresentador. Ser necessria a utilizao de um projetor multimdia a
ser fornecido pela organizao do evento.
1.10 Referncias
Principal referncia ser o minicurso ministrado no Webmedia 2012, alm das
respectivas referncias de exemplos oficiais de utilizao do Kinect, bem como o site
oficial do projeto do framework e conceitos bsicos de interao natural.
REHEM NETO, Almerindo Nascimento;SANTOS, Celso Alberto Saibel;
ANDRADE, M. V. . Interfaces para aplicaes de Interao Natural baseadas na
API OpenNI e na Plataforma Kinect. In: Patrcia Vilain, Valter Roesler. (Org.).
Tpicos em Banco de Dados, Multimdia e Web. Florianopolis: Sociedade Brasileira de
Computao, 2011, v. , p. 35-59.
Kinect Hacks (URL: http://www.kinect-hacks.com acessado em 27/04/2013 s 16:57)
Framework OpenNI (URL: http://www.openni.org/ acessado em 27/04/2013 s 17:00)
J. A. Gallud, P. G. Villanueva, R. Tesoriero, G. Sebastin, S. Molina e A.
Navarrete em Gesture-based Interaction: Concept Map and Application Scenarios,
Terceira Conferncia Internacional em avanos dos mecanismos personalizados e
humanamente orientados, tecnologias e servios.

Você também pode gostar