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

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

Kinect Thiago Ribeiro da Motta

Apresentações semelhantes


Apresentação em tema: "Kinect Thiago Ribeiro da Motta"— Transcrição da apresentação:

1 Kinect Thiago Ribeiro da Motta

2 Summary O que é o Kinect? Características Operacionais Do que ele é feito ? Como funciona? The Brain Kinect SDKs

3 O que é o Kinect? Kinetic + Connect Inicialmente desenvolvido para o XBOX 360 Sistema criado para interação com o usuário sem a necessidade de controle por intermédio da Natural Interaction (NI). Conceito onde a interação homem-dispositivo é baseada principalmente na visão e audição.

4 Características Operacionais Cenários estáticos. Idealmente de 1.2m a 3.5m. Limites operacionais: 0.8m a 4.0m. Angulo de visão: 43° vertical e 57° horizontal. Temperatura de operação: 5°C a 35°C. What is the difference in game experience enabled by PrimeSensor technology, compared to Wii? The Wii system is a 6 Degrees of Freedom (DoF) system: the Wii remote supports 2 points with 3 DoF. The PrimeSensor has VGA resolution, meaning 640x480 points, where each pixel is a 3D data point – totaling over 300,000 DoF. PrimeSense

5 Do que ele é feito ?

6 Motor de Ajuste Ajusta o Kinect em ± 28 graus. Não recomendado o uso constante. SDK da Microsoft impede mais de um movimento por segundo ou mais de 15 vezes em 20 segundos. Do que ele é feito ?

7 Array de Microfones Array de 4 microfones com conversor analógico-digital (ADC) de 24 bits. Chip de processamento de áudio: Echo Cancellation e Noise Supression. Por que um array? Melhor qualidade de audio Melhores algoritmos de Echo Cancellation e Noise Supression. Melhor reconhecimento de fala (Speech SDK da Microsoft) Beamforming e localização do som Formato de Audio: 16-kHz sample rate 16-bit mono pulse code modulation (PCM) Do que ele é feito ?

8 Camera RGB Resolução de 8-bit VGA (640 × 480 pixels) com um filtro de cor Bayer Até 30 quadros por segundo (FPS) Resolução mínima, a 80cm, (87 x 63 cm) de 1.3mm por pixel. Especificações : VNA Do que ele é feito ?

9 Camera IR Resolução QVGA de 11 bits (320 × 240 pixels), gerando 2,048 níveis de sensibilidade. Especificações: Microsoft / X / VCA379C7130 Do que ele é feito ?

10 Projetor de IR Especificações : OG12 / 0956 / D306 / JG05A Laser difuso de 830nm com potência de 60 mW. Chega ao usuário com 780nm e 0.4 µW. A perda é dada pela passagem do laser no elemento óptico que cria o padrão de dispersão. Esse elemento cria padrões semi- randômicos no ambiente. Do que ele é feito ?

11

12

13 O Light Coding codifica informações em padrões de luz ao sair do projetor. Após ser projetado em qualquer superfície, uma deformação é gerada. Essa deformação fornece as informações necessárias para o cálculo da distância. 3D Depth Sensor Como funciona ?

14 The Brain

15 1º - O projetor IR gera a nuvem de pontos e o Chip calcula a distância entre o projetor e o que foi projetado

16 2º - O usuário é detectado graças ao uso do algoritmo de redes neurais. Ao lado são mostrados os diferentes níveis de confiança no resultado obtido: Maior intensidade de luz e quadrados maiores implicam maior certeza. The Brain

17 3º - Dezenas de esqueletos são calculados para encontrar aquele com maior probabilidade de acerto. Cálculos realizados com: Algoritmo de Redes Neurais Modelos cinemáticos The Brain

18 4º - Um avatar 3D simplificado é criado. 5º - Tudo se repete, 30 vezes por segundo. The Brain

19 Kinect SDKs OpenNi Microsoft Kinect SDK CL NUI Platform OpenKinect (libfreenect ) KinectCoreVision

20 Microsoft SDK Visual Studio Windows 7. C#, C++ e.Net. Some effects might seem counter-intuitive when you attempt to work with the data streams. For a general conceptual discussion, see the Beamforming topic on Wikipedia.

21 Microsoft Kinect drivers APIs do Windows 7 NUI Library

22 NUI API Permite acesso a: Sensores Cameras Skeletal Tracking Uso do Kernel para reconhecimento e enumeração de múltiplos Kinects. Permite o reconhecimento e administração de múltiplos Kinects, porém só um aplicativo pode usar cada Sensor. Reconhecimento de esqueletos e varredura de profundidade com indexação de usuários só funcionará para o Kinect com índice zero.

23 O uso de elementos do Kinect deve ser explicitada na inicialização do programa. Os elementos: Cor Profundidade Profundidade com indexação de usuários Esqueleto Após a inicialização é possível dizer quais parâmetros queremos sobre a informação recebida: Resolução Qualidade de Imagem Número de buffers Se todos os buffers forem preenchidos, os frames mais antigos serão descartados. Obs: Máximo de buffers = 4. Geralmente se usam 2.

24 Resolução da imagem de profundidade: 640x x240 80x60 Qualidade de imagem: Qualidade Normal – 30 FPS Maior Qualidade – 15 FPS Formatos: RGB 32-bit, X8R8G8B8, sRGB YUV 16-bit, UYVY Só funciona em 640x480 e a 15FPS

25 Capturando informações sobre a Imagem/Esqueletos Polling Model – Retorna quando um tempo predeterminado é atingido ou quando um novo frame está pronto. Event Model – Funciona com EventHandles sendo ativados assim que um frame está pronto, recebendo então informações sobre o esqueleto. Fornece maior flexibilidade e precisão no uso do esqueleto.

26 Conteúdos do Esqueleto Posição(Vector4) que indica o centro de massa ID única Timestamp da imagem de profundidade correspondente Estado atual Tracking ativo – Contém informação sobre o esqueleto Até dois usuários ativos por vez. Tracking passivo – Só indica posição Máximo de seis usuários contando os ativos. Contém informação limitada sobre o usuário.

27 Skeleton Joints – Kinect SDK SensorJointSensorJoint 0 Hip Center 10 Wrist Right 1Spine11 Hand Right 2 Shoulder Center 12Hip Left 3Head13Knee Left 4 Shoulder Left 14Ankle Left 5 Elbow Left 15Foot Left 6Wrist Left16Hip Right 7Hand Left17 Knee Right 8 Shoulder Right 18 Ankle Right 9 Elbow Right 19Foot Right

28 Sistemas de Coordenadas É possível espelhar as coordenadas. Espaço da Imagem de Profundidade: Cada pixel representa a distância em milímetros do objeto mais próximo. Espaço do Esqueleto: (x,y,z) em metros.

29 Compensando desníveis: Usa um acelerômetro interno calibrado pra ser alinhado com o sensor de imagem. Normal à gravidade = Vetor pra cima. Determinando o chão: Ax + By + Cz + D = 0. A,B,C = vFloorClipPlane.coordenada. D = Altura do chão à camera. Recalculado a cada frame. Caso o chão não esteja visível, retorna zero.

30 Array de Microfones Tipos de captura suportados: Raw Capture KinectAudioDMO DMO Objeto COM para trocar informação com o SO Novo modo de Microfone (suporte ao array do Kinect) Beamforming e localização do som (ISoundSourceLocalizer) Suporte a até 11 beams desde que tenham variação incremental de 10° (-50° a 50°) Otimizado para selecionar a melhor fonte de som. Possui um Wrapper para facilitar o uso Multithread apartment (MTA)

31 OpenNi / NITE Visual Studio 2008/2010. Windows XP, Vista e 7 (x86). Linux Ubuntu (x86). Mac OSX. C#, C++,.Net. Suporte ao Kinect, WAVI Xtion (Asus) e PrimeSensor (Prime Sense).

32 Software com suporte a gestos e Natural Interaction construído sobre o OpenNi e Nite. Interface de comunicação entre o sensor e o Middleware que analisa os dados do sensor. Hardware que captura dados da cena.

33 NITE Software Overview OpenNi Modules Gesture Generator Hand Generator NITE Scene Analyzer Diferença entre Foreground e Background Coordenadas do chão. Distinção de usuários na cena. User Generator com Esqueleto Controles Funcionam como Listeners. Recebem e tratam dados. Repassam a informação tratada para eventos registrados. Production Nodes Production Chains

34 Capacidades Suportadas Vista alternativa Otimização do mapa de profundidade para uma área específica. Detecção da Pose Ψ Detecção do Esqueleto Diminuir a Resolução Aumento de performance Sincronização de Frames de diferentes Sensores Espelhamento de Coordenadas

35 Uso de Buffers WaitAnyUpdateAll WaitOneUpdateAll WaitNoneUpdateAll WaitAndUpdateAll Permite o uso de mais de um aplicativo por hardware Gravar/tocar/pausar uma execução dos sensores do Kinect

36 Geradores de Dados Profundidade Distância máxima Configuração dos valores de ângulo horizontal e vertical Posição do Usuário Imagem Formato do Pixel IR Scene Analyzer Coordenadas do chão Mapa onde cada pixel possui uma informação sobre a cena Áudio Configura o Sample Rate, Número de canais e bits-per-sample Gesture Adicionar/Remover Gesto Gestos ativos Registrar/Retirar callback de Gestos Registrar/Retirar mudanças de Gesto

37 Hand Point Começar/Parar captura Registrar/Retirar callbacks de Hand Point User Generator Número de usuários Usuário Centro de Massa Pixels relativos ao usuário Registrar/Retirar callbacks do Usuário Funcionalidades em comum: Frame Sync Alternative View Cropping Propriedades Geradores de Dados

38 Skeleton Joints - OpenNi SensorJointSensorJoint 0Head12 Right Elbow 1Neck13Right Wrist 2Torso14Right Hand 3Waist15 Right Fingertip 4Left Collar16Left Hip 5 Left Shoulder 17Left Knee 6Left Elbow18Left Ankle 7Left Wrist19Left Foot 8Left Hand20Right Hip 9 Left Fingertip 21Right Knee 10 Right Collar 22Right Ankle 11 Right Shoulder 23Right Foot

39 Pros x Cons SuportaMicrosoft SDKOpenNi/NITE Áudio/Reconhecimento de fala Regulação do MotorCom CLNUI motor driver Número de Juntas20Suporte a 24 (15 implementadas) Previsão de Juntas Calcula Rotação das Juntas Múltiplos KinectsGambiarra Instalação1 instalador3 instaladores RGB Camera Resolution1024×768800x600 Tipo de LicençaNão-ComercialComercial Framework para Hand Tracking Pose de Calibração Sistemas OperacionaisWindows 7 Windows XP, Vista, 7 – MAC OSX+ - Linux Ubuntu Uso da CPUMaiorMenor

40 Pros x Cons SuportaMicrosoft SDKOpenNi/NITE Framework para Reconhecimento de Gestos Stream do vídeo IR puro Falso-positivos Evento para chegada de novo frame de vídeo/profundidade Sincronizaçao entre stream de imagem e profundidade Evento para quando Usuário Entra/Sai da Cena Visual Studio /2010 Unity 3D Gravar/Tocar/Pausar Execução

41 Faast KinEmote RoS for-automation/http://kinecthacks.net/r2-d2-replica-using-the-kinect-and-ros- for-automation/ Brekel (SLAM) Kinvi3d KinVi virtual-interface-gadget-for-controlling-windows-7/http://kinecthacks.net/kinvi-1-0-an-extreme-3d-kinect-enabled- virtual-interface-gadget-for-controlling-windows-7/ Treinamento Teleconferência real-time-3d-capture-and-3d-display/http://kinecthacks.net/kinect-teleconferencing-with- real-time-3d-capture-and-3d-display/ Integração entre o Windows 7 e o Kinect Programas Conhecidos

42 Links para Referência triangulation/ triangulation/ (foto do kinect) (cada peça do kinect) microsoft-kinect-sdk.htmlhttp://blog.makezine.com/archive/2011/06/things-you-cant-do-with-the- microsoft-kinect-sdk.html (pros and cons) (pros and cons 2) (site do Eduardo) behind-the-tech/ behind-the-tech/


Carregar ppt "Kinect Thiago Ribeiro da Motta"

Apresentações semelhantes


Anúncios Google