interação com ambientes de realidade virtual por gestos corporais

34
Interação com ambientes de realidade virtual por gestos corporais Gustavo Jordan Castro Brasil Ao meu anjo da guarda

Upload: gustavo-jordan

Post on 07-Nov-2014

747 views

Category:

Technology


0 download

DESCRIPTION

Interação com ambientes de realidade virt

TRANSCRIPT

Interação com ambientes

de realidade virtual por gestos

corporais

Gustavo Jordan Castro Brasil

Ao meu anjo da guarda

laviic.dc.ufscar.br 2

Índice

Evolução das interfaces de usuário e de seus dispositivos

•CLI

•GUI

•NUI

•OUI

Dispositivos de captura de gestos baseados em imagens de profundidade

•Como funciona

•Dispositivos Atuais

•Possibilidades de uso

Desenvolvimento

•Framework e Middlewares

•Aplicações práticas

laviic.dc.ufscar.br

• Interface de usuário é o sistema pelo qual as pessoas

(usuários) interagem com uma máquina.

• Interface do usuário inclui hardware (físico) e software

(lógico) componentes. – Entrada: permitindo que os usuários manipulem um sistema

– Saída: permitindo que o sistema para indicar os efeitos da manipulação

dos utilizadores

3

Desenvolvimento Dispositivos de captura de gestos

baseados em imagens de

profundidade

Evolução das interfaces de usuário e de seus

dispositivos

laviic.dc.ufscar.br 4

Humanos possuem a capacidade de comunicação pela linguagem corporal

Gestos do corpo podem representar algum tipo de significado

Desenvolvimento Dispositivos de captura de gestos

baseados em imagens de

profundidade

Evolução das interfaces de usuário e de seus

dispositivos

laviic.dc.ufscar.br 5

Como representar os gestos do corpo humano para uma interface que possa

interpretar por meio de dispositivos computacionais?

Desenvolvimento Dispositivos de captura de gestos

baseados em imagens de

profundidade

Evolução das interfaces de usuário e de seus

dispositivos

laviic.dc.ufscar.br 6

CLI

•Estática

•Desconectada (abstrata)

•Baixo-nível

•Estrita

•Direta

•Difícil

GUI

• Responsiva

• Indireta

• Exploratória

• Limitada

NUI

•Evocativa

• Imediata (direta)

•Contextual

• Interativa

• Intuitiva

OUI

• Fluida

• Extensiva

• Antecipada

• Sintética

Desenvolvimento Dispositivos de captura de gestos

baseados em imagens de

profundidade

Evolução das interfaces de usuário e de seus

dispositivos

laviic.dc.ufscar.br 7

Segundo Weiyuan (2010), a NUI possuí as seguintes características

Design centrado

no usuário

Largura de banda alta

Multi canal Simples e natural

Interação baseada

por imagens

Interação baseada por voz

Interação baseada

no comporta

mento

Desenvolvimento Dispositivos de captura de gestos

baseados em imagens de

profundidade

Evolução das interfaces de usuário e de seus

dispositivos

laviic.dc.ufscar.br 8

• A evolução dos computadores e das suas interfaces permitiram que o ser

humano possa se comunicar cada vez mais de uma maneira intuitiva e

natural.

• O desenvolvimento de ferramentas e soluções para que essa comunicação

se torne efetiva tem sido o foco de pesquisas nos últimos anos.

• A capacidade de monitorar e reconhecer os movimentos de uma pessoa

pode ser alcançado através de vários sensores.

• Com o surgimento de câmeras de luz estruturada com informação de

distância/profundidade (Z-buffer) e não apenas cor (RGB) foi possível

realizar esta tarefa Gnecco et al (2012).

Desenvolvimento Dispositivos de captura de gestos

baseados em imagens de

profundidade

Evolução das interfaces de usuário e de seus

dispositivos

laviic.dc.ufscar.br 9

• Modelagem tridimensional por luz estruturada

• São padrões de luz com características conhecidas que são projetados

sobre a superfície do objeto e um instrumento sensor captura a imagem

dos padrões que são distorcidos pela superfície de projeção.

• Pela medição desta distorção e pelo conhecimento das características

geométricas (e/ou radiométrica) dos padrões que são projetados se faz a

determinação das coordenadas de pontos que compõem a superfície do

objeto.

Desenvolvimento Evolução das interfaces de usuário e de seus

dispositivos

Dispositivos de captura de gestos baseados em

imagens de profundidade

laviic.dc.ufscar.br 10

• Dispositivos referência PrimeSense

Desenvolvimento Evolução das interfaces de usuário e de seus

dispositivos

Dispositivos de captura de gestos baseados em

imagens de profundidade

laviic.dc.ufscar.br 11

• Dispositivos referência PrimeSense

Desenvolvimento Evolução das interfaces de usuário e de seus

dispositivos

Dispositivos de captura de gestos baseados em

imagens de profundidade

laviic.dc.ufscar.br 12

• Dispositivos referência PrimeSense

Desenvolvimento Evolução das interfaces de usuário e de seus

dispositivos

Dispositivos de captura de gestos baseados em

imagens de profundidade

PRO LIVE

US 199,00

PRO

US 150,00

for Windows

US 240,00

for Xbox 360

US 110,00

laviic.dc.ufscar.br 13

• Dispositivos referência PrimeSense

Desenvolvimento Evolução das interfaces de usuário e de seus

dispositivos

Dispositivos de captura de gestos baseados em

imagens de profundidade

CARMINE

1.08

CARMINE

1.09

CARMINE

1.25

laviic.dc.ufscar.br

• Suas características e benefícios são amplos, podendo ser aplicados em áreas como :

• Robótica

• Realidade virtual

• Vigilância

• Educação (fisioterapia etc..)

• Captura de movimento de pessoas ou objetos

• Rastreamento

• Captura de vídeo ou imagem 3D

14

Desenvolvimento Evolução das interfaces de usuário e de seus

dispositivos

Dispositivos de captura de gestos baseados em

imagens de profundidade

laviic.dc.ufscar.br

• Existem diversas ferramentas de

desenvolvimento para dispositivos

referência PrimeSense, cada uma com

suas características.

15

Dispositivos de captura de gestos baseados

em imagens de profundidade Evolução das interfaces de usuário e de seus

dispositivos Desenvolvimento

laviic.dc.ufscar.br 16

Dispositivos de captura de gestos baseados

em imagens de profundidade Evolução das interfaces de usuário e de seus

dispositivos Desenvolvimento

laviic.dc.ufscar.br 17

• O projeto surgiu na corrida para ganhar acesso do Microsoft Kinect no PC

• Héctor Martin liberou o código da libfreenect no Github

• Primeiro commit em 10 Novembro de 2010

• 17 de dezembro já foi implementado libfreenect plataforma win32

• A libfreenect compõe classes de desenvolvimento para acesso ao hardware do dispositivo.

• OpenKinect é uma comunidade de pessoas interessadas em utilizar o Microsoft Kinect em

computadores e outros dispositivos criando bibliotecas livres para que o Kinect seja utilizada em

diferentes plataformas

Google Groups: OpenKinect

#openkinect - Freenode Código fonte disponível em: https://github.com/OpenKinect/libfreenect

Dispositivos de captura de gestos baseados

em imagens de profundidade Evolução das interfaces de usuário e de seus

dispositivos Desenvolvimento

laviic.dc.ufscar.br 18

• Captura de histogramas para geração de imagens de profundidade e RGB

• Controle do Motor (posição de orientação vertical)

• Captura de dados do Acelerômetro

• LED de status

• Áudio

• Bindings (C#, C++ , Python, Java , AS3)

• Suporte nas plataformas Windows, GNU/Linux e OS X

Dispositivos de captura de gestos baseados

em imagens de profundidade Evolução das interfaces de usuário e de seus

dispositivos Desenvolvimento

laviic.dc.ufscar.br 19

• Não possui integração com a NITE (middleware NUI)

• Derivada da engenharia reversa do driver oficial do

Kinect

• A OpenKinect não é um framework

• A libfreenect é apenas um modulo (driver), uma API para

acesso ao hardware do dispositivo Microsoft Kinect

Dispositivos de captura de gestos baseados

em imagens de profundidade Evolução das interfaces de usuário e de seus

dispositivos Desenvolvimento

laviic.dc.ufscar.br 20

Dispositivos de captura de gestos baseados

em imagens de profundidade Evolução das interfaces de usuário e de seus

dispositivos Desenvolvimento

laviic.dc.ufscar.br 21

Dispositivos de captura de gestos baseados

em imagens de profundidade Evolução das interfaces de usuário e de seus

dispositivos Desenvolvimento

laviic.dc.ufscar.br 22

Dispositivos de captura de gestos baseados

em imagens de profundidade Evolução das interfaces de usuário e de seus

dispositivos Desenvolvimento

● PrimeSense reconhece o interesse e as realizações da comunidade

de código aberto

● Surgi um mês depois da libfreenect ser lançada em 09 de dezembro

2010

● Lança seus drivers do PrimeSensor em (LGPLv3+)

● Surgi fork do PrimeSensor para o Kinect (SensorKinect by Avin2)

● Lança sua OpenNI framework, atualmente 2.(LGPLv3+)

● Promove iniciativas, sem fins lucrativos de utilização da NUI

laviic.dc.ufscar.br

• É um framework que fornece uma API para o desenvolvimento de aplicações que necessitam de interação natural.

• API abrange a comunicação com dispositivos de baixo nível (por exemplo, sensores de visão e áudio), bem como soluções de alto nível (por exemplo, o acompanhamento visual utilizando visão computacional).

• O framework está escrito e distribuído sob a GNU Lesser General Public License (LGPL)

23

Dispositivos de captura de gestos baseados

em imagens de profundidade Evolução das interfaces de usuário e de seus

dispositivos Desenvolvimento

laviic.dc.ufscar.br 24

Dispositivos de captura de gestos baseados

em imagens de profundidade Evolução das interfaces de usuário e de seus

dispositivos Desenvolvimento

laviic.dc.ufscar.br 25

Dispositivos de captura de gestos baseados

em imagens de profundidade Evolução das interfaces de usuário e de seus

dispositivos Desenvolvimento

laviic.dc.ufscar.br

• O NITE é um middleware usado pela interface OpenNI, e desenvolvido pela PrimeSense.

• Apesar de possuir código fechado, é gratuito e pode ser usado comercialmente.

• Responsável por identificar os usuários nas imagens de profundidade e rastrear seus movimentos, além de prover uma API que detecta gestos.

• Modos de operação: • Rastrear mãos, com detecção de gestos em particular

• Rastrear o corpo todo (esqueleto)

26

Dispositivos de captura de gestos baseados

em imagens de profundidade Evolução das interfaces de usuário e de seus

dispositivos Desenvolvimento

laviic.dc.ufscar.br 27

Dispositivos de captura de gestos baseados

em imagens de profundidade Evolução das interfaces de usuário e de seus

dispositivos Desenvolvimento

Captura e rastreia o centro da mão e oferece coordenadas X, Y e Z do plano

cartesiano em tempo real. Detecção de gestos (Push, swipe, steady, wave, circle)

laviic.dc.ufscar.br 28

Dispositivos de captura de gestos baseados

em imagens de profundidade Evolução das interfaces de usuário e de seus

dispositivos Desenvolvimento

Captura e rastreia 15 joints (juntas) e oferece coordenadas X, Y e Z do plano cartesiano do corpo

em tempo real.

laviic.dc.ufscar.br 29

Dispositivos de captura de gestos baseados

em imagens de profundidade Evolução das interfaces de usuário e de seus

dispositivos Desenvolvimento

laviic.dc.ufscar.br 30

Dispositivos de captura de gestos baseados

em imagens de profundidade Evolução das interfaces de usuário e de seus

dispositivos Desenvolvimento

• O Microsoft Kinect SDK 1.0 para Windows

• Destinado aos sistemas operacionais Windows 7 e Windows

Embedded Standard

• O SDK fornece suporte para os componentes de hardware do

dispositivo Kinect.

• É um SDK proprietário, sendo a distribuição de licença, para o uso

comercial, vinculada ao somente ao dispositivo Microsoft Kinect

para Windows.

laviic.dc.ufscar.br 31

OpenKinect OpenNI Microsoft Kinect SDK v1.0

Licença LGPLv3+ LGPLv3+ (Nite tem código fechado mas que pode ser usado comercialmente)

Proprietária e uso não comercial para o Microsoft Kinect para Xbox360.

Hardware Microsoft Kinect para Xbox360 e Microsoft Kinect para Windows

Qualquer compatível com padrão OpenNI

Microsoft Kinect

Driver libfreenect SensorKinect Avin2 Microsoft Kinect SDK v1.0

Multiplataforma de S.O Sim Sim Não

Múltiplos Kinects Sim Sim Sim

Câmera RGB Sim Sim Sim

Câmera Infravermelho Sim Sim Sim

Projetor Infravermelho Sim Sim Sim

LED de estatus Sim Sim Não

Motor de inclinação vertical Sim Não Sim

Vetor de microfones Implementado Não Sim

Detecção de gestos Implementação a partir do OpenCV

Sim, pelo middleware *

Detecção do esqueleto Não Sim, pelo middleware Sim

Detecção da mãos e módulos de reconhecimento de gestos

Não Sim, pelo middleware Não

Análisador de cena Não Sim Não

laviic.dc.ufscar.br 32

Dispositivo

Microsoft Kinect XBOX 360

Framework/Middleware OpenNI 1.X/NITE

Linguagem de programação

Dispositivos de captura de gestos baseados

em imagens de profundidade Evolução das interfaces de usuário e de seus

dispositivos Desenvolvimento

laviic.dc.ufscar.br

Agradecimentos Referências Trabalho Futuros Conclusão Lições Aprendidas

33

GNECCO, B. B. ; BRASIL, G. J. C. ; DIAS, D. R. C. ; GUIMARÃES, M. P. . Desenvolvimento de Interface

Naturais de Interação usando o hardware Kinect. Tendências e Técnicas em Realidade Virtual e

Aumentada, v. 2, p. 1-264, 2012.

Weiyuan Liu. Natural user interface- next mainstream product user interface.Computer-Aided

Industrial Design & Conceptual Design (CAIDCD), IEEE 11th International Conference on , vol.1, no.,

pp.203-205, 17-19 Nov. 2010.

OpenNI Documentation. http://openni.org/Documentation/

OpenKinect. http://openkinect.org

Kinect SDK EULA. http://www.microsoft.com/en-us/kinectforwindows/develop/sdkeula.aspx

PrimeSense. “PrimeSense has delivered an important component to the technology, helping us

deliver revolutionary controller-free entertainment experiences”. http://www.primesense.com

WAVI Xtion. Intuitive living room experience. http://event.asus.com/wavi/

laviic.dc.ufscar.br

Perguntas?

[email protected]

[email protected]

http://laviic.dc.ufscar.br

34