kinect

42
Kinect Thiago Ribeiro da Motta [email protected]

Upload: nelle-garcia

Post on 30-Dec-2015

44 views

Category:

Documents


1 download

DESCRIPTION

Kinect. Thiago Ribeiro da Motta [email protected]. Summary. O que é o Kinect? Características Operacionais Do que ele é feito ? Como funciona? The Brain Kinect SDKs. O que é o Kinect?. Kinetic + Connect Inicialmente desenvolvido para o XBOX 360 - PowerPoint PPT Presentation

TRANSCRIPT

Apresentao do PowerPoint

KinectThiago Ribeiro da [email protected]

SummaryO que o Kinect?Caractersticas OperacionaisDo que ele feito ?Como funciona?The BrainKinect SDKs

O que o Kinect?Kinetic + ConnectInicialmente desenvolvido para o XBOX 360Sistema criado para interao com o usurio sem a necessidade de controle por intermdio da Natural Interaction (NI). Conceito onde a interao homem-dispositivo baseada principalmente na viso e audio.

Caractersticas OperacionaisCenrios estticos.Idealmente de 1.2m a 3.5m.Limites operacionais: 0.8m a 4.0m .Angulo de viso: 43 vertical e 57 horizontal.Temperatura de operao: 5C a 35C.

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 Do que ele feito ?

Motor de AjusteAjusta o Kinect em 28 graus.No 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 ?

Array de MicrofonesArray de 4 microfones com conversor analgico-digital (ADC) de 24 bits.Chip de processamento de udio: Echo Cancellation e Noise Supression.Por que um array?Melhor qualidade de audioMelhores algoritmos de Echo Cancellation e Noise Supression.Melhor reconhecimento de fala (Speech SDK da Microsoft)Beamforming e localizao do som

Formato de Audio: 16-kHz sample rate16-bit mono pulse code modulation (PCM)

Do que ele feito ?

Camera RGBResoluo de 8-bit VGA(640480pixels) com um filtro de cor BayerAt 30 quadros por segundo (FPS)Resoluo mnima, a 80cm, (87 x 63 cm) de 1.3mm por pixel.Especificaes : VNA38209015Do que ele feito ?

Camera IRResoluo QVGA de11 bits (320240 pixels), gerando 2,048 nveis de sensibilidade.

Especificaes: Microsoft / X853750001 / VCA379C7130Do que ele feito ?

Projetor de IREspecificaes : OG12 / 0956 / D306 / JG05ALaser difuso de 830nm com potncia de 60 mW.Chega ao usurio com 780nm e 0.4 W. A perda dada pela passagem do laser no elemento ptico que cria o padro de disperso.Esse elemento cria padres semi-randmicos no ambiente.Do que ele feito ?

O Light Coding codifica informaes em padres de luz ao sair do projetor.Aps ser projetado em qualquer superfcie, uma deformao gerada.Essa deformao fornece as informaes necessrias para o clculo da distncia.3D Depth SensorComo funciona ?

Como funciona ?The BrainThe Brain1 - O projetor IR gera a nuvem de pontos e o Chip calcula a distncia entre o projetor e o que foi projetado

2 - O usurio detectado graas ao uso do algoritmo de redes neurais.Ao lado so mostrados os diferentes nveis de confiana no resultado obtido: Maior intensidade de luz e quadrados maiores implicam maior certeza.

The Brain3 - Dezenas de esqueletos so calculados para encontrar aquele com maior probabilidade de acerto.Clculos realizados com:Algoritmo de Redes NeuraisModelos cinemticos

The Brain4 - Um avatar 3D simplificado criado.

5 - Tudo se repete, 30 vezes por segundo.

The Brain

Kinect SDKsOpenNiMicrosoft Kinect SDK

CL NUI PlatformOpenKinect (libfreenect)KinectCoreVisionMicrosoft SDKVisual Studio 2010.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.

Microsoft Kinect driversAPIs do Windows 7NUI Library

NUI APIPermite acesso a:SensoresCamerasSkeletal Tracking

Uso do Kernel para reconhecimento e enumerao de mltiplos Kinects.Permite o reconhecimento e administrao de mltiplos Kinects, porm s um aplicativo pode usar cada Sensor.Reconhecimento de esqueletos e varredura de profundidade com indexao de usurios s funcionar para o Kinect com ndice zero.

O uso de elementos do Kinect deve ser explicitada na inicializao do programa.Os elementos:CorProfundidadeProfundidade com indexao de usuriosEsqueletoAps a inicializao possvel dizer quais parmetros queremos sobre a informao recebida:ResoluoQualidade de ImagemNmero de buffersSe todos os buffers forem preenchidos, os frames mais antigos sero descartados.Obs: Mximo de buffers = 4. Geralmente se usam 2.

Resoluo da imagem de profundidade:640x480320x24080x60Qualidade de imagem:Qualidade Normal 30 FPSMaior Qualidade 15 FPSFormatos:RGB 32-bit, X8R8G8B8, sRGBYUV 16-bit, UYVYS funciona em 640x480 e a 15FPS

Capturando informaes sobre a Imagem/EsqueletosPolling 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 ento informaes sobre o esqueleto. Fornece maior flexibilidade e preciso no uso do esqueleto.

Contedos do EsqueletoPosio(Vector4) que indica o centro de massa ID nicaTimestamp da imagem de profundidade correspondenteEstado atualTracking ativo Contm informao sobre o esqueletoAt dois usurios ativos por vez.Tracking passivo S indica posio Mximo de seis usurios contando os ativos.Contm informao limitada sobre o usurio.

Skeleton Joints Kinect SDKSensorJointSensorJoint0Hip Center10Wrist Right1Spine11Hand Right2Shoulder Center12Hip Left3Head13Knee Left4Shoulder Left14Ankle Left5Elbow Left15Foot Left6Wrist Left16Hip Right7Hand Left17Knee Right8Shoulder Right18Ankle Right9Elbow Right19Foot Right

Sistemas de Coordenadas possvel espelhar as coordenadas.Espao da Imagem de Profundidade: Cada pixel representa a distncia em milmetros do objeto mais prximo.

Espao do Esqueleto:(x,y,z) em metros.

Compensando desnveis:Usa um acelermetro interno calibrado pra ser alinhado com o sensor de imagem.Normal gravidade = Vetor pra cima.

Determinando o cho:Ax + By + Cz + D = 0.A,B,C = vFloorClipPlane.coordenada.D = Altura do cho camera.Recalculado a cada frame.Caso o cho no esteja visvel, retorna zero.

Array de MicrofonesTipos de captura suportados:Raw CaptureKinectAudioDMODMOObjeto COM para trocar informao com o SONovo modo de Microfone (suporte ao array do Kinect)Beamforming e localizao do som (ISoundSourceLocalizer)Suporte a at 11 beams desde que tenham variao incremental de 10 (-50 a 50)Otimizado para selecionar a melhor fonte de som.Possui um Wrapper para facilitar o usoMultithread apartment (MTA)

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

Software com suporte a gestos e Natural Interaction construdo sobre o OpenNi e Nite.

Interface de comunicao entre o sensor e o Middleware que analisa os dados do sensor.

Hardware que captura dados da cena.

NITE Software OverviewOpenNi ModulesGesture GeneratorHand GeneratorNITEScene AnalyzerDiferena entre Foreground e BackgroundCoordenadas do cho.Distino de usurios na cena.User Generator com EsqueletoControlesFuncionam como Listeners.Recebem e tratam dados.Repassam a informao tratada para eventos registrados.Production NodesProduction Chains

Capacidades Suportadas

Vista alternativaOtimizao do mapa de profundidade para uma rea especfica.Deteco da Pose Deteco do EsqueletoDiminuir a ResoluoAumento de performanceSincronizao de Frames de diferentes SensoresEspelhamento de Coordenadas

Uso de BuffersWaitAnyUpdateAllWaitOneUpdateAllWaitNoneUpdateAllWaitAndUpdateAllPermite o uso de mais de um aplicativo por hardwareGravar/tocar/pausar uma execuo dos sensores do Kinect

Geradores de DadosProfundidadeDistncia mximaConfigurao dos valores de ngulo horizontal e verticalPosio do UsurioImagemFormato do PixelIRScene AnalyzerCoordenadas do choMapa onde cada pixel possui uma informao sobre a cenaudioConfigura o Sample Rate, Nmero de canais e bits-per-sampleGestureAdicionar/Remover GestoGestos ativosRegistrar/Retirar callback de GestosRegistrar/Retirar mudanas de Gesto

Hand PointComear/Parar capturaRegistrar/Retirar callbacks de Hand PointUser GeneratorNmero de usuriosUsurioCentro de MassaPixels relativos ao usurioRegistrar/Retirar callbacks do Usurio

Funcionalidades em comum:Frame SyncAlternative ViewCroppingPropriedades

Geradores de Dados

Skeleton Joints - OpenNiSensorJointSensorJoint0Head12Right Elbow1Neck13Right Wrist2Torso14Right Hand3Waist15Right Fingertip4Left Collar16Left Hip5Left Shoulder17Left Knee6Left Elbow18Left Ankle7Left Wrist19Left Foot8Left Hand20Right Hip9Left Fingertip21Right Knee10Right Collar22Right Ankle11Right Shoulder23Right Foot

Pros x ConsSuportaMicrosoft SDKOpenNi/NITEudio/Reconhecimento de falaRegulao do MotorCom CLNUI motor driverNmero de Juntas20Suporte a 24 (15 implementadas)Previso de JuntasCalcula Rotao das JuntasMltiplos KinectsGambiarraInstalao1 instalador3 instaladoresRGB Camera Resolution1024768 800x600 Tipo de LicenaNo-ComercialComercialFramework para Hand TrackingPose de CalibraoSistemas OperacionaisWindows 7Windows XP, Vista, 7 MAC OSX+ - Linux Ubuntu 10.10+ Uso da CPUMaiorMenor

Pros x ConsSuportaMicrosoft SDKOpenNi/NITEFramework para Reconhecimento de GestosStream do vdeo IR puroFalso-positivosEvento para chegada de novo frame de vdeo/profundidadeSincronizaao entre stream de imagem e profundidadeEvento para quando Usurio Entra/Sai da CenaVisual Studio20102008/2010Unity 3DGravar/Tocar/Pausar Execuo

Faast KinEmoteRoS http://kinecthacks.net/r2-d2-replica-using-the-kinect-and-ros-for-automation/Brekel (SLAM)Kinvi3d http://www.kinvi3d.net/wp/KinVi http://kinecthacks.net/kinvi-1-0-an-extreme-3d-kinect-enabled-virtual-interface-gadget-for-controlling-windows-7/Treinamento http://kinecthacks.net/zombie-preparedness-training/ Teleconferncia http://kinecthacks.net/kinect-teleconferencing-with-real-time-3d-capture-and-3d-display/Integrao entre o Windows 7 e o Kinect http://www.youtube.com/watch?v=dihnP7d3brs

Programas ConhecidosLinks para Refernciahttp://mirror2image.wordpress.com/2010/11/30/how-kinect-works-stereo-triangulation/http://en.wikipedia.org/wiki/Kinecthttp://www.wired.com/magazine/2011/06/mf_kinect/2/http://www.takesontech.com/microsoft-shows-off-the-kinect-at-e3 (foto do kinect)http://www.ifixit.com/Teardown/Microsoft-Kinect-Teardown/4066/2 (cada pea do kinect) http://blog.makezine.com/archive/2011/06/things-you-cant-do-with-the-microsoft-kinect-sdk.htmlhttp://www.brekel.com/?page_id=671 (pros and cons)http://labs.vectorform.com/2011/06/windows-kinect-sdk-vs-openni-2/ (pros and cons 2)http://www.tecgraf.puc-rio.br/~eribeiro/I3D/ (site do Eduardo)http://www.codeproject.com/KB/dotnet/KinectGettingStarted.aspx?display=Printhttp://www.joystiq.com/2010/06/19/kinect-how-it-works-from-the-company-behind-the-tech/ http://research.microsoft.com/en-us/um/redmond/projects/kinectsdk/http://www.primesense.com/http://www.openni.org/