SlideShare ist ein Scribd-Unternehmen logo
1 von 58
Bruno Capuano @elbruno MVP – Visual Studio ALM b.capuano@gmail.com Avanade www.elbruno.com Kinect y C#Otra forma de conquistar el mundo …
Una nueva forma de jugar, donde TU eres el mando ¿QuéesKinect? Voice Recognition Gesture Recognition Face Recognition You Recognition
Opción A: ¿Porqué Kinect?
Opción TU: ¿Porqué Kinect?
Dispositivo que combina una cámara RGB, un sensor de profundidad y un array de micrófonos Cámara RBG para el reconocimiento de los tres colores básicos Sensor de Profundidad que permite “ver una habitación en 3D” El array de micrófonos detecta las voces y las aisla del ruido ambiental Caja negra de software que une todo y hace toda la magia ¿Qué es Kinect?
¿Qué es Kinect? ① ③ ②
¿Qué es Kinect? Source: iFixit 9
3D Depth Sensors ① ③ ¿Qué es Kinect?
Invisible Infrared (IR) Dots  320x240
RGB Camera ② ¿Qué es Kinect?
¿Qué es Kinect? IR laser projector IR camera RGB camera Source: iFixit 13
Se utiliza para el reconocimiento facial El reconocimiento facial requiere una fase de “training”  Necesita una buena iluminación RGB Camera 14
Multi-array Microphone ¿Qué es Kinect?
Sensores de sonido ,[object Object]
Sincronizado con la consola para eliminar el sonido de los juegos16
Motorized Tilt ¿Qué es Kinect?
Software Research Testing Data collection Y la “cajanegra”
Prime Sense Chip Xbox Hardware Engineering mejorónotablemente la calidad y velocidadbasado en los diseños de Prime Sense 19
Projected IR pattern 20 Source: www.ros.org
Depth computation Source: http://j.mp/eXsCiE 21
Depth map Source: www.insidekinect.com 22
30 HZ frame rate 57deg field-of-view Salida de video en Kinect 8-bit VGA RGB640 x 480 11-bit monochrome320 x 240 23
XBox 360 Hardware ,[object Object]
Hyperthreaded, 2 threads/core
500 MHz ATI graphics card
DirectX 9.5
512 MB RAM
2005 performance envelope
Must handle
real-time vision AND
a modern gameSource: http://www.pcper.com/article.php?aid=940&type=expert 24
¿Cómo funciona Kinect? (I)
1- ¿Cómo sabe Kinectlo que hago? “Xbox?!” “Let’s Play!”
“Xbox?!” “Let’s Play!” 2- ¿Cómo aprendió Kinecttodo esto?
J. Shotton, J. Winn, C. Rother, A. Criminisi, TextonBoost: Joint Appearance, Shape and Context Modeling for Multi-Class Object Recognition and Segmentation.  European Conference on Computer Vision, 2006 MSResearch: Reconocimiento de Objetos
Amplio campo de acción Pero poca “agilidad” Y no es real-time MS Research: Human Body Tracking R Navaratnam, A Fitzgibbon, R Cipolla The Joint Manifold Model for  Semi-supervised Multi-valued RegressionIEEE Intl Conf on Computer Vision, 2007
Necesitamos un body tracker con All body motions… Allagilities… 10x Real-time… Formultipleplayers… … and it has to be 3D  XBOX llama a MSR: Septiembre 2008
Paso 1: Recolección de información El equipo visita diferentes ubicaciones y se dedica a filmar usuarios reales de Xbox Hollywood motion capture studiogeneratesbillions of CG images MSR & xBox: Machine Learning
Overlay Training Data
Identificar cada pixel asociado a una de las 32 partes del cuerpo humano Crear un cluster con las posibles configuraciones de “partes” que coincidan con las articulaciones Presentar la probabilidad más acercada a la realidad al usuario t=1 t=2 t=3 Indenticando el cuerpo
Millones de imágenescomoreferncias-> millones de parámetros de clasificación Very far from “embarrassingly parallel” Nuevo algoritomopara resolver árboles de decisióndistribuidos Utilizaciónmasiva de DryadLINQ Disponibleparadescargar Training Distributed Data-Parallel Computing Using a High-Level Programming Language M Isard, Y Yu International Conference on Management of Data (SIGMOD), July 2009
Programmers View
¿Cómo funciona Kinect? (II)
Architectura extensible Expert 1 fuses the hypotheses Arbiter Expert 2 Expert 3 probabilistic Final estimate Raw data Skeleton estimates Sensor Stateless Statefull 37
Sensor Mapa de  profundidad Separación por jugador basado en el fondo Paso a paso para el reconocimiento 38 Clasificación de  partes del cuerpo Identificación de  “joints” Creación de “Skeleton”
Ejemplos 39
Sin calibración ,[object Object]
Sin calibración para el fondo
Sin calibración para el cuerpoUso mínimo de la CPU Independiente de la iluminación Carta a los reyes manos 40
body size hair FOV body type clothes angle pets furniture Pruebas: The test matrix 41
Preproceso ,[object Object]
Aislar el fondo (aislar un sofá)
Identificar los jugadores42
Seguimiento de cabeza y manos 2 “Seguidores” (trackers) Seguimiento de cuerpo not exposed through SDK 43
El problema del seguimiento de cuerpo Classifier Input Depth map Output Body parts Runs on GPU @ 320x240 44
Entrenando a Kinect Comienza desde datos ground-truth Alineados con partes del cuerpo Es necesario entrenar a Kinect para trabajar con Poses Posición por escena Tamaño y formas del cuerpo 45

Weitere ähnliche Inhalte

Ähnlich wie 2011 03 01 MindCamp - Kinect y C#

Proyecto kinect
Proyecto kinectProyecto kinect
Proyecto kinect
Cesar Vele
 
Realidad aumentada
Realidad aumentadaRealidad aumentada
Realidad aumentada
Pato Lara
 
Qué es la realidad aumentada
Qué es la realidad aumentadaQué es la realidad aumentada
Qué es la realidad aumentada
Marjorie Herrera
 

Ähnlich wie 2011 03 01 MindCamp - Kinect y C# (20)

Motion Control Computing - Kinect
Motion Control Computing - KinectMotion Control Computing - Kinect
Motion Control Computing - Kinect
 
Proyecto kinect
Proyecto kinectProyecto kinect
Proyecto kinect
 
Presentacion kinect
Presentacion kinectPresentacion kinect
Presentacion kinect
 
‌Kinect v2 descripción
‌Kinect v2 descripción‌Kinect v2 descripción
‌Kinect v2 descripción
 
Preguntas ti
Preguntas tiPreguntas ti
Preguntas ti
 
Kinect en la medicina
Kinect en la medicinaKinect en la medicina
Kinect en la medicina
 
Ar
ArAr
Ar
 
Iniciación a Kinect
Iniciación a KinectIniciación a Kinect
Iniciación a Kinect
 
Iniciación a Kinect .ppt
Iniciación a Kinect .pptIniciación a Kinect .ppt
Iniciación a Kinect .ppt
 
Expo kinect
Expo kinectExpo kinect
Expo kinect
 
2 gestos para controlar el mundo con KinectSdk
2 gestos para controlar el mundo con KinectSdk2 gestos para controlar el mundo con KinectSdk
2 gestos para controlar el mundo con KinectSdk
 
Trabajo periodico'
Trabajo periodico'Trabajo periodico'
Trabajo periodico'
 
Noticia lomeli gonzalez
Noticia lomeli gonzalezNoticia lomeli gonzalez
Noticia lomeli gonzalez
 
Realidad aumentada
Realidad aumentadaRealidad aumentada
Realidad aumentada
 
Interfaces humanas con kinect
Interfaces humanas con kinectInterfaces humanas con kinect
Interfaces humanas con kinect
 
Mundos vi3d
Mundos vi3dMundos vi3d
Mundos vi3d
 
VIRTUAL REALITY. TRENDS AND APPLICATIONS
VIRTUAL REALITY. TRENDS AND APPLICATIONSVIRTUAL REALITY. TRENDS AND APPLICATIONS
VIRTUAL REALITY. TRENDS AND APPLICATIONS
 
Kinect como funciona
Kinect como funcionaKinect como funciona
Kinect como funciona
 
Realidad aumentad1
Realidad aumentad1Realidad aumentad1
Realidad aumentad1
 
Qué es la realidad aumentada
Qué es la realidad aumentadaQué es la realidad aumentada
Qué es la realidad aumentada
 

Mehr von Bruno Capuano

Mehr von Bruno Capuano (20)

Let's code a drone to follow faces using Python 🐍
Let's code a drone to follow faces using Python 🐍Let's code a drone to follow faces using Python 🐍
Let's code a drone to follow faces using Python 🐍
 
Using Azure IoT to feed my squirrels ️
Using Azure IoT to feed my squirrels ️Using Azure IoT to feed my squirrels ️
Using Azure IoT to feed my squirrels ️
 
2021 12 01 Global XR Conference - My experiences adapting a Digital Twin WebG...
2021 12 01 Global XR Conference - My experiences adapting a Digital Twin WebG...2021 12 01 Global XR Conference - My experiences adapting a Digital Twin WebG...
2021 12 01 Global XR Conference - My experiences adapting a Digital Twin WebG...
 
2021 06 19 ms student ambassadors nigeria ml net 01 slide-share
2021 06 19 ms student ambassadors nigeria ml net 01   slide-share2021 06 19 ms student ambassadors nigeria ml net 01   slide-share
2021 06 19 ms student ambassadors nigeria ml net 01 slide-share
 
Global AI on Virtual Tour Oslo - Anomaly Detection using ML.Net on a drone te...
Global AI on Virtual Tour Oslo - Anomaly Detection using ML.Net on a drone te...Global AI on Virtual Tour Oslo - Anomaly Detection using ML.Net on a drone te...
Global AI on Virtual Tour Oslo - Anomaly Detection using ML.Net on a drone te...
 
2021 04 21 Azure Sydney User Group - Scaling a POC to an Enterprise using Azu...
2021 04 21 Azure Sydney User Group - Scaling a POC to an Enterprise using Azu...2021 04 21 Azure Sydney User Group - Scaling a POC to an Enterprise using Azu...
2021 04 21 Azure Sydney User Group - Scaling a POC to an Enterprise using Azu...
 
2021 02 23 MVP Fusion Getting Started with Machine Learning.Net and AutoML
2021 02 23 MVP Fusion Getting Started with Machine Learning.Net and AutoML2021 02 23 MVP Fusion Getting Started with Machine Learning.Net and AutoML
2021 02 23 MVP Fusion Getting Started with Machine Learning.Net and AutoML
 
2021 02 13 CodeGen Verona - Let’s code a drone to follow faces syncing everyt...
2021 02 13 CodeGen Verona - Let’s code a drone to follow faces syncing everyt...2021 02 13 CodeGen Verona - Let’s code a drone to follow faces syncing everyt...
2021 02 13 CodeGen Verona - Let’s code a drone to follow faces syncing everyt...
 
2020 11 19 MVP Days Israel 2020 - Introduction to Machine Learning.Net and Au...
2020 11 19 MVP Days Israel 2020 - Introduction to Machine Learning.Net and Au...2020 11 19 MVP Days Israel 2020 - Introduction to Machine Learning.Net and Au...
2020 11 19 MVP Days Israel 2020 - Introduction to Machine Learning.Net and Au...
 
2020 10 22 AI Fundamentals - Azure Machine Learning
2020 10 22 AI Fundamentals - Azure Machine Learning2020 10 22 AI Fundamentals - Azure Machine Learning
2020 10 22 AI Fundamentals - Azure Machine Learning
 
2020 09 24 - CONDG ML.Net
2020 09 24 - CONDG ML.Net2020 09 24 - CONDG ML.Net
2020 09 24 - CONDG ML.Net
 
2020 08 06 Global XR Talks - Lessons Learned creating a multiplatform AI proj...
2020 08 06 Global XR Talks - Lessons Learned creating a multiplatform AI proj...2020 08 06 Global XR Talks - Lessons Learned creating a multiplatform AI proj...
2020 08 06 Global XR Talks - Lessons Learned creating a multiplatform AI proj...
 
2020 06 27 Global AI On Tour Virtual GTA
2020 06 27 Global AI On Tour Virtual GTA2020 06 27 Global AI On Tour Virtual GTA
2020 06 27 Global AI On Tour Virtual GTA
 
2020 06 13 Best of Build 2020 - Canada Community Edition - Artificial Intelli...
2020 06 13 Best of Build 2020 - Canada Community Edition - Artificial Intelli...2020 06 13 Best of Build 2020 - Canada Community Edition - Artificial Intelli...
2020 06 13 Best of Build 2020 - Canada Community Edition - Artificial Intelli...
 
Global Azure AI Tour Buenos Aires Argentina, Drones and AI
Global Azure AI Tour Buenos Aires Argentina, Drones and AIGlobal Azure AI Tour Buenos Aires Argentina, Drones and AI
Global Azure AI Tour Buenos Aires Argentina, Drones and AI
 
2020 04 18 Global AI On Tour Monterrey - Program a Drone using AI
2020 04 18 Global AI On Tour Monterrey - Program a Drone using AI2020 04 18 Global AI On Tour Monterrey - Program a Drone using AI
2020 04 18 Global AI On Tour Monterrey - Program a Drone using AI
 
2020 04 10 Catch IT - Getting started with ML.Net
2020 04 10 Catch IT - Getting started with ML.Net2020 04 10 Catch IT - Getting started with ML.Net
2020 04 10 Catch IT - Getting started with ML.Net
 
2020 04 09 Global AI Community Virtual Tour - Drones and AI
2020 04 09 Global AI Community Virtual Tour - Drones and AI2020 04 09 Global AI Community Virtual Tour - Drones and AI
2020 04 09 Global AI Community Virtual Tour - Drones and AI
 
2020 04 04 NetCoreConf - Machine Learning.Net
2020 04 04 NetCoreConf - Machine Learning.Net2020 04 04 NetCoreConf - Machine Learning.Net
2020 04 04 NetCoreConf - Machine Learning.Net
 
2020 02 29 TechDay Conf - Getting started with Machine Learning.Net
2020 02 29 TechDay Conf - Getting started with Machine Learning.Net2020 02 29 TechDay Conf - Getting started with Machine Learning.Net
2020 02 29 TechDay Conf - Getting started with Machine Learning.Net
 

Kürzlich hochgeladen

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 

Kürzlich hochgeladen (11)

pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 

2011 03 01 MindCamp - Kinect y C#

Hinweis der Redaktion

  1. kinetic," which means to be in motion, and "connect," which means it "connects you to the friends and entertainment you loveNatural User InterfaceMaking Beginners Feel Like Experts
  2. Play video if you have time and if people have not seen Kinect in action
  3. Color VGA video camera - This video camera aids in facial recognition and other detection features by detecting three color components: red, green and blue. Microsoft calls this an "RGB camera" referring to the color components it detects.Depth sensor - An infrared projector and a monochrome CMOS (complimentary metal-oxide semiconductor) sensor work together to "see" the room in 3-D regardless of the lighting conditions. Complementary metal–oxide–semiconductor (CMOS) (pronounced /ˈsiːmɒs/) is a technology for constructing integrated circuits. CMOS technology is used in microprocessors, microcontrollers, static RAM, and other digital logic circuits. CMOS technology is also used for several analog circuits such as image sensors, data converters, and highly integrated transceivers for many types of communicationMulti-array microphone - This is an array of four microphones that can isolate the voices of the players from the noise in the room. This allows the player to be a few feet away from the microphone and still use voice controls.What comes in the boxKinect sensor for Xbox 360Power supply cableUser's manualWi-Fi extension cableKinect Adventures gameColor VGA Motion Camera 640 x 480 pixel resolution at 30FPSDepth Camera 640 x 480 pixel resolution at 30FPSArray of 4 microphones supporting single speaker voice recognitionKinect's software layer is the essential component to add meaning to what the hardware detects. When you first start up Kinect, it reads the layout of your room and configures the play space you'll be moving in. Then, Kinect detects and tracks 32 points on each player's body, mapping them to a digital reproduction of that player's body shape and skeletal structure, including facial details.http://electronics.howstuffworks.com/microsoft-kinect3.htmhttp://www.popsci.com/gadgets/article/2010-01/exclusive-inside-microsofts-project-natalKinect Software Learns from "Experience"Kinect's software layer is the essential component to add meaning to what the hardware detects. When you first start up Kinect, it reads the layout of your room and configures the play space you'll be moving in. Then, Kinect detects and tracks 48 points on each player's body, mapping them to a digital reproduction of that player's body shape and skeletal structure, including facial details [source: Rule].In an interview with Scientific American, Alex Kipman, Microsoft's Director of Incubation for Xbox 360, explains Project Natal's approach to developing the Kinect software. Kipman explains, "Every single motion of the body is an input," which creates seemingly endless combinations of actions [source: Kuchinskas]. Knowing this, developers decided not to program that seemingly endless combination into pre-established actions and reactions in the software. Instead, it would "teach" the system how to react based on how humans learn: by classifying the gestures of people in the real world.To start the teaching process, Kinect developers gathered massive amounts of data from motion-capture in real-life scenarios. Then, they processed that data using a machine-learning algorithm by Jamie Shotton, a researcher at Microsoft Research Cambridge in England. Ultimately, the developers were able to map the data to models representing people of different ages, body types, genders and clothing. With select data, developers were able to teach the system to classify the skeletal movements of each model, emphasizing the joints and distances between those joints. An article in Popular Science describes the four steps Kinect's "brain" goes through 30 times per second to read and respond to your movements [source: Duffy].The Kinect software goes a step further than just detecting and reacting to what it can "see." Kinect can also distinguish players and their movements even if they're partially hidden. Kinect extrapolates what the rest of your body is doing as long as it can detect some parts of it. This allows players to jump in front of each other during a game or to stand behind pieces of furniture in the room.
  4. Depth sensor. An infrared projector combined with a monochrome CMOS sensor allows Kinect to see the room in 3-D (as opposed to inferring the room from a 2-D image) under any lighting conditions.
  5. a 320×240 depth stream. Depth is recovered by projecting invisible infrared (IR) dots into a room. The way the optical system works, on a hardware level, is fairly basic. A class 1 laser is projected into the room. The sensor is able to detect what's going on based on what's reflected back at it. Together, the projector and sensor create a depth map. The regular old video camera is held at a specific distance away from the 3D part of the optical system in a precise alignment, so that Kinect can blend together the depth map and RGB picture for dynamic, on-the-fly green screening.
  6. RGB camera. Kinect has a video camera that delivers the three basic color components. As part of the Kinect sensor, the RGB camera helps enable facial recognition and more.
  7. Four different microphones allow Kinect to figure out where the sound is coming from
  8. Multiarray microphone. Kinect has a microphone that is able to locate voices by sound and extract ambient noise. The multiarray microphone enables headset-free Xbox LIVE party chat and more.
  9. Microsoft software. A proprietary software layer makes the magic of Kinect possible. This layer differentiates Kinect from any other technology on the market through its ability to enable human body recognition and extract other visual noise.
  10. Micron scale tolerances on large componentsManufacturing process to yield ~1 device / 1.5 seconds
  11. http://research.microsoft.com/apps/video/default.aspx?id=139295
  12. http://research.microsoft.com/apps/video/default.aspx?id=139295
  13. http://research.microsoft.com/en-us/projects/DryadLINQ/DryadLINQ is a simple, powerful, and elegant programming environment for writing large-scale data parallel applications running on large PC clusters.