SlideShare uma empresa Scribd logo
1 de 36
Baixar para ler offline
Kinect Tutorial
Nicholas Gillian
Responsive Environments, MIT Media Lab
Thursday, September 12th, 2013
Thursday, September 12, 13
Kinect
RGB Camera
3D Depth Sensors
•Depth map is constructed by analyzing a speckle pattern
of infrared laser light
•Body position is inferred using machine learning
•Kinect uses structured light
Thursday, September 12, 13
Kinect
•Structured light: project a known pattern onto the scene
and infer depth from the deformation of that pattern
Jason Geng, Structured-light 3D surface imaging: a tutorial,
Advances in Optics and Photonics,Vol. 3, Issue 2, pp. 128-160 (2011)
Zhang et al, 3DPVT (2002)
Thursday, September 12, 13
Kinect
•Kinect uses an astigmatic lens with different focal length
in x- and y directions
•The lens causes a projected circle to become an ellipse
whose orientation depends on depth
Thursday, September 12, 13
Kinect
•The Kinect also uses parallax, i.e. if you look at a scene
from different angle, things that are closer get shifted to
the side more than things that are far away
•The Kinect analyzes the shift of the speckle pattern by
projecting from one location and observing from another
3D Depth Sensors
Thursday, September 12, 13
Kinect
•Body position is inferred using machine learning
Jamie Shutton et. al, Real-Time Human Pose Recognition in Parts from Single Depth Images, CVPR, 2011
Thursday, September 12, 13
Kinect
•Body position is inferred using machine learning
100K poses 1 million training samples
Jamie Shutton et. al, Real-Time Human Pose Recognition in Parts from Single Depth Images, CVPR, 2011
Thursday, September 12, 13
Kinect
•Randomized Decision Forests
The probability of pixel u
belonging to body part c is:
Jamie Shutton et. al, Real-Time Human Pose Recognition in Parts from Single Depth Images, CVPR, 2011
Thursday, September 12, 13
Kinect
•Features
Jamie Shutton et. al, Real-Time Human Pose Recognition in Parts from Single Depth Images, CVPR, 2011
Thursday, September 12, 13
Kinect Libraries, APIs & Tools
•OpenNI SDK
•Openframeworks
•Microsoft Official Kinect SDK
•Synapse
Thursday, September 12, 13
OpenNI - Installation
•OpenNI
•NITE
•Sensor Kinect
Thursday, September 12, 13
OpenNI - Data
RGB Image Depth Image
Label Image
[640 480]
Depth: Unsigned short
Label: Unsigned short
RGB: Unsigned char
Thursday, September 12, 13
OpenNI - Generators
XnGenerator
AudioGenerator GestureGenerator HandsGenerator UserGenerator ...
//For example
DepthGenerator depthGenerator;
ImageGenerator imageGenerator;
Thursday, September 12, 13
OpenNI - Configuration
<OpenNI>
	

 <Licenses>
	

 	

 <License vendor="PrimeSense" key="0KOIk2JeIBYClPWVnMoRKn5cdY4="/>
	

 </Licenses>
	

 <Log writeToConsole="true" writeToFile="false">
	

 	

 <!-- 0 -Verbose, 1 - Info, 2 - Warning, 3 - Error (default) -->
	

 	

 <LogLevel value="3"/>
	

 	

 <Masks>
	

 	

 	

 <Mask name="ALL" on="false"/>
	

 	

 </Masks>
	

 	

 <Dumps>
	

 	

 </Dumps>
	

 </Log>
	

 <ProductionNodes>
	

 	

 <Node type="Depth">
	

 	

 	

 <Configuration>
	

 	

 	

 	

 <Mirror on="true"/>
	

 	

 	

 </Configuration>
	

 	

 </Node>
	

 	

 <Node type="Image" stopOnError="false" />
	

 	

 <Node type="User" />
	

 </ProductionNodes>
</OpenNI>
This key is common
PrimeSense key
Enable the depth camera
Enable the RGB camera
Enable the user tracker
Thursday, September 12, 13
OpenNI - Manual Configuration
XnStatus nRetVal = context.FindExistingNode(XN_NODE_TYPE_DEPTH, depthGenerator);
Thursday, September 12, 13
OpenNI - Manual Configuration
XnStatus nRetVal = context.FindExistingNode(XN_NODE_TYPE_DEPTH, depthGenerator);
if (nRetVal != XN_STATUS_OK){
xn::MockDepthGenerator mockDepth;
nRetVal = mockDepth.Create(context);
// set some defaults
XnMapOutputMode defaultMode;
defaultMode.nXRes = 640;
defaultMode.nYRes = 480;
defaultMode.nFPS = 30;
nRetVal = mockDepth.SetMapOutputMode(defaultMode);
// set FOV
XnFieldOfView fov;
fov.fHFOV = 1.0225999419141749;
fov.fVFOV = 0.79661567681716894;
nRetVal = mockDepth.SetGeneralProperty(XN_PROP_FIELD_OF_VIEW, sizeof(fov), &fov);
XnUInt32 nDataSize = defaultMode.nXRes * defaultMode.nYRes * sizeof(XnDepthPixel);
XnDepthPixel* pData = (XnDepthPixel*)xnOSCallocAligned(nDataSize, 1, XN_DEFAULT_MEM_ALIGN);
nRetVal = mockDepth.SetData(1, 0, nDataSize, pData);
CHECK_RC(nRetVal, "set empty depth map");
depthGenerator = mockDepth;
}
Thursday, September 12, 13
OpenNI - Accessing Data
// Read next available data
context.WaitOneUpdateAll( userGenerator );
userSelector->UpdateFrame();
//Variables
UserGenerator userGenerator;
Context context;
Thursday, September 12, 13
OpenNI - Get the depth data
//Get the latest depth and image meta data
depthGenerator.GetMetaData( depthMD );
//Get a pointer to the depth data
const XnDepthPixel* pDepth = depthMD.Data();
//Loop over the depth pixels
for (XnUInt y = 0; y < depthMD.YRes(); y++){
for (XnUInt x = 0; x < depthMD.XRes(); x++){
//Access the current depth value
*pDepth;
//Increase the depth pixel
pDepth++;
}
}
//Variables
DepthGenerator depthGenerator;
DepthMetaData depthMD;
Thursday, September 12, 13
OpenNI - Get the RGB data
//Get the latest image meta data
imageGenerator.GetMetaData( imageMD );
//Get a pointer to the image data
const XnRGB24Pixel* pImage = imageMD.RGB24Data();
//Loop over the image pixels
for (XnUInt y = 0; y < imageMD.YRes(); y++){
for (XnUInt x = 0; x < imageMD.XRes(); x++){
//Access the current pixel value
* pImage;
//Increase the pixel pointer
pImage++;
}
}
//Variables
ImageGenerator imageGenerator;
ImageMetaData imageMD;
Thursday, September 12, 13
OpenNI - Skeleton data
//Variables
UserGenerator userGenerator;
XnUserID userIDs[ numTrackedUsers ];
XnUInt16 numUsers = userGenerator->GetNumberOfUsers();
userGenerator->GetUsers(userIDs, numUsers);
for( int i=0; i < numUsers; i++ ){
if( userGenerator->GetSkeletonCap().IsTracking( userIDs[i] ) ){
XnPoint3D userCenterOfMass;
userGenerator->GetSkeletonCap().IsCalibrating( userIDs[i] );
userGenerator->GetSkeletonCap().IsCalibrated( userIDs[i] );
userGenerator->GetCoM( userIDs[i], userCenterOfMass );
XnSkeletonJointTransformation jointData;
if( userGenerator->GetSkeletonCap().IsJointAvailable( XN_SKEL_HEAD ) ){
userGenerator->GetSkeletonCap().GetSkeletonJoint(userIDs[i], XN_SKEL_HEAD, jointData );
}
}
}
Thursday, September 12, 13
Kinect Gesture Recognition
Thursday, September 12, 13
SUPERVISED LEARNING
Thursday, September 12, 13
Supervised Learning
Training Data
Thursday, September 12, 13
Supervised Learning
Training Data
Thursday, September 12, 13
Supervised Learning
Input Vector
Training Data
Thursday, September 12, 13
Supervised Learning
Input Vector
Training Data
{Feature Vector}
Thursday, September 12, 13
Supervised Learning
Input Vector
Training Data
{Feature Vector}
Feature
Thursday, September 12, 13
Supervised Learning
Input Vector
Training Data
{Feature Vector}
Feature
{Attribute}
Thursday, September 12, 13
Supervised Learning
Input Vector Target Vector
Training Data
Thursday, September 12, 13
Supervised Learning
Learning Algorithm
Input Vector Target Vector
Training Data
Thursday, September 12, 13
Supervised Learning
Learning Algorithm
Model
Input Vector Target Vector
Training Data
Thursday, September 12, 13
Supervised Learning
Learning Algorithm
Prediction
New Datum
Model
Training Data
Thursday, September 12, 13
Supervised Learning
Learning Algorithm
Prediction
Predicted Class
Class A
Model
Training Data
New Datum
Thursday, September 12, 13
Supervised Learning
Learning Algorithm
Prediction
Predicted Class
Class A
Model
Training Data
New Datum
Thursday, September 12, 13
Kinect Gesture Recognition
Synapse
OSC
Skeleton Data
Openframeworks
www.nickgillian.com/wiki/pmwiki.php/GRT/
OpenframeworksKinectExample
Thursday, September 12, 13
Kinect Code Tutorial Slides
www.nickgillian.com/09-12-13.html
Thursday, September 12, 13

Mais conteúdo relacionado

Mais procurados

Nui e biometrics in windows 10
Nui e biometrics in windows 10Nui e biometrics in windows 10
Nui e biometrics in windows 10Marco D'Alessandro
 
Kinect Hacks for Dummies
Kinect Hacks for DummiesKinect Hacks for Dummies
Kinect Hacks for DummiesTomoto Washio
 
Kinect krishna kumar-itkan
Kinect krishna kumar-itkanKinect krishna kumar-itkan
Kinect krishna kumar-itkanPat Maher
 
Introduction to Kinect - Update v 1.8
Introduction to Kinect - Update v 1.8Introduction to Kinect - Update v 1.8
Introduction to Kinect - Update v 1.8Matteo Valoriani
 
Kinect v1+Processing workshot fabcafe_taipei
Kinect v1+Processing workshot fabcafe_taipeiKinect v1+Processing workshot fabcafe_taipei
Kinect v1+Processing workshot fabcafe_taipeiMao Wu
 
3 track kinect@Bicocca - sdk e camere
3   track kinect@Bicocca - sdk e camere3   track kinect@Bicocca - sdk e camere
3 track kinect@Bicocca - sdk e camereMatteo Valoriani
 
Develop store apps with kinect for windows v2
Develop store apps with kinect for windows v2Develop store apps with kinect for windows v2
Develop store apps with kinect for windows v2Matteo Valoriani
 
Kinectic vision looking deep into depth
Kinectic vision   looking deep into depthKinectic vision   looking deep into depth
Kinectic vision looking deep into depthppd1961
 
Introduction to development
Introduction to developmentIntroduction to development
Introduction to developmentMatteo Valoriani
 
PyKinect: Body Iteration Application Development Using Python
PyKinect: Body Iteration Application Development Using PythonPyKinect: Body Iteration Application Development Using Python
PyKinect: Body Iteration Application Development Using Pythonpycontw
 
2 track kinect@Bicocca - hardware e funzinamento
2   track kinect@Bicocca - hardware e funzinamento2   track kinect@Bicocca - hardware e funzinamento
2 track kinect@Bicocca - hardware e funzinamentoMatteo Valoriani
 
Solving Visibility and Streaming in the The Witcher 3: Wild Hunt with Umbra 3
Solving Visibility and Streaming in the The Witcher 3: Wild Hunt with Umbra 3Solving Visibility and Streaming in the The Witcher 3: Wild Hunt with Umbra 3
Solving Visibility and Streaming in the The Witcher 3: Wild Hunt with Umbra 3Umbra
 
Visibility Optimization for Games
Visibility Optimization for GamesVisibility Optimization for Games
Visibility Optimization for GamesUmbra
 
Shadow Techniques for Real-Time and Interactive Applications
Shadow Techniques for Real-Time and Interactive ApplicationsShadow Techniques for Real-Time and Interactive Applications
Shadow Techniques for Real-Time and Interactive Applicationsstefan_b
 
Siggraph 2011: Occlusion culling in Alan Wake
Siggraph 2011: Occlusion culling in Alan WakeSiggraph 2011: Occlusion culling in Alan Wake
Siggraph 2011: Occlusion culling in Alan WakeUmbra
 
Itcs 4120 introduction (c)
Itcs 4120 introduction (c)Itcs 4120 introduction (c)
Itcs 4120 introduction (c)yaminigoyal
 
Final_draft_Practice_School_II_report
Final_draft_Practice_School_II_reportFinal_draft_Practice_School_II_report
Final_draft_Practice_School_II_reportRishikesh Bagwe
 
Game Worlds from Polygon Soup: Visibility, Spatial Connectivity and Rendering
Game Worlds from Polygon Soup: Visibility, Spatial Connectivity and RenderingGame Worlds from Polygon Soup: Visibility, Spatial Connectivity and Rendering
Game Worlds from Polygon Soup: Visibility, Spatial Connectivity and RenderingUmbra
 
Khronos Munich 2018 - Halcyon and Vulkan
Khronos Munich 2018 - Halcyon and VulkanKhronos Munich 2018 - Halcyon and Vulkan
Khronos Munich 2018 - Halcyon and VulkanElectronic Arts / DICE
 

Mais procurados (19)

Nui e biometrics in windows 10
Nui e biometrics in windows 10Nui e biometrics in windows 10
Nui e biometrics in windows 10
 
Kinect Hacks for Dummies
Kinect Hacks for DummiesKinect Hacks for Dummies
Kinect Hacks for Dummies
 
Kinect krishna kumar-itkan
Kinect krishna kumar-itkanKinect krishna kumar-itkan
Kinect krishna kumar-itkan
 
Introduction to Kinect - Update v 1.8
Introduction to Kinect - Update v 1.8Introduction to Kinect - Update v 1.8
Introduction to Kinect - Update v 1.8
 
Kinect v1+Processing workshot fabcafe_taipei
Kinect v1+Processing workshot fabcafe_taipeiKinect v1+Processing workshot fabcafe_taipei
Kinect v1+Processing workshot fabcafe_taipei
 
3 track kinect@Bicocca - sdk e camere
3   track kinect@Bicocca - sdk e camere3   track kinect@Bicocca - sdk e camere
3 track kinect@Bicocca - sdk e camere
 
Develop store apps with kinect for windows v2
Develop store apps with kinect for windows v2Develop store apps with kinect for windows v2
Develop store apps with kinect for windows v2
 
Kinectic vision looking deep into depth
Kinectic vision   looking deep into depthKinectic vision   looking deep into depth
Kinectic vision looking deep into depth
 
Introduction to development
Introduction to developmentIntroduction to development
Introduction to development
 
PyKinect: Body Iteration Application Development Using Python
PyKinect: Body Iteration Application Development Using PythonPyKinect: Body Iteration Application Development Using Python
PyKinect: Body Iteration Application Development Using Python
 
2 track kinect@Bicocca - hardware e funzinamento
2   track kinect@Bicocca - hardware e funzinamento2   track kinect@Bicocca - hardware e funzinamento
2 track kinect@Bicocca - hardware e funzinamento
 
Solving Visibility and Streaming in the The Witcher 3: Wild Hunt with Umbra 3
Solving Visibility and Streaming in the The Witcher 3: Wild Hunt with Umbra 3Solving Visibility and Streaming in the The Witcher 3: Wild Hunt with Umbra 3
Solving Visibility and Streaming in the The Witcher 3: Wild Hunt with Umbra 3
 
Visibility Optimization for Games
Visibility Optimization for GamesVisibility Optimization for Games
Visibility Optimization for Games
 
Shadow Techniques for Real-Time and Interactive Applications
Shadow Techniques for Real-Time and Interactive ApplicationsShadow Techniques for Real-Time and Interactive Applications
Shadow Techniques for Real-Time and Interactive Applications
 
Siggraph 2011: Occlusion culling in Alan Wake
Siggraph 2011: Occlusion culling in Alan WakeSiggraph 2011: Occlusion culling in Alan Wake
Siggraph 2011: Occlusion culling in Alan Wake
 
Itcs 4120 introduction (c)
Itcs 4120 introduction (c)Itcs 4120 introduction (c)
Itcs 4120 introduction (c)
 
Final_draft_Practice_School_II_report
Final_draft_Practice_School_II_reportFinal_draft_Practice_School_II_report
Final_draft_Practice_School_II_report
 
Game Worlds from Polygon Soup: Visibility, Spatial Connectivity and Rendering
Game Worlds from Polygon Soup: Visibility, Spatial Connectivity and RenderingGame Worlds from Polygon Soup: Visibility, Spatial Connectivity and Rendering
Game Worlds from Polygon Soup: Visibility, Spatial Connectivity and Rendering
 
Khronos Munich 2018 - Halcyon and Vulkan
Khronos Munich 2018 - Halcyon and VulkanKhronos Munich 2018 - Halcyon and Vulkan
Khronos Munich 2018 - Halcyon and Vulkan
 

Destaque

Kinect V2: what's new!!!
Kinect V2: what's new!!!Kinect V2: what's new!!!
Kinect V2: what's new!!!Massimo Bonanni
 
[PDF] the molecular control toolkit - Controlling 3D molecular graphics via g...
[PDF] the molecular control toolkit - Controlling 3D molecular graphics via g...[PDF] the molecular control toolkit - Controlling 3D molecular graphics via g...
[PDF] the molecular control toolkit - Controlling 3D molecular graphics via g...Quân Lê
 

Destaque (20)

Kinect V2: what's new!!!
Kinect V2: what's new!!!Kinect V2: what's new!!!
Kinect V2: what's new!!!
 
Raskar UIST Keynote 2015 November
Raskar UIST Keynote 2015 NovemberRaskar UIST Keynote 2015 November
Raskar UIST Keynote 2015 November
 
What is Media in MIT Media Lab, Why 'Camera Culture'
What is Media in MIT Media Lab, Why 'Camera Culture'What is Media in MIT Media Lab, Why 'Camera Culture'
What is Media in MIT Media Lab, Why 'Camera Culture'
 
Google Glass Breakdown
Google Glass BreakdownGoogle Glass Breakdown
Google Glass Breakdown
 
Coded Photography - Ramesh Raskar
Coded Photography - Ramesh RaskarCoded Photography - Ramesh Raskar
Coded Photography - Ramesh Raskar
 
Stereo and 3D Displays - Matt Hirsch
Stereo and 3D Displays - Matt HirschStereo and 3D Displays - Matt Hirsch
Stereo and 3D Displays - Matt Hirsch
 
Multiview Imaging HW Overview
Multiview Imaging HW OverviewMultiview Imaging HW Overview
Multiview Imaging HW Overview
 
Leap Motion Development (Rohan Puri)
Leap Motion Development (Rohan Puri)Leap Motion Development (Rohan Puri)
Leap Motion Development (Rohan Puri)
 
What is SIGGRAPH NEXT? Intro by Ramesh Raskar
What is SIGGRAPH NEXT? Intro by Ramesh RaskarWhat is SIGGRAPH NEXT? Intro by Ramesh Raskar
What is SIGGRAPH NEXT? Intro by Ramesh Raskar
 
Introduction to Camera Challenges - Ramesh Raskar
Introduction to Camera Challenges - Ramesh RaskarIntroduction to Camera Challenges - Ramesh Raskar
Introduction to Camera Challenges - Ramesh Raskar
 
Google Glass Overview
Google Glass OverviewGoogle Glass Overview
Google Glass Overview
 
Raskar stanfordextremecompuimagingapr2016
Raskar stanfordextremecompuimagingapr2016Raskar stanfordextremecompuimagingapr2016
Raskar stanfordextremecompuimagingapr2016
 
Compressed Sensing - Achuta Kadambi
Compressed Sensing - Achuta KadambiCompressed Sensing - Achuta Kadambi
Compressed Sensing - Achuta Kadambi
 
Light Field Photography Introduction
Light Field Photography IntroductionLight Field Photography Introduction
Light Field Photography Introduction
 
Introduction to Photography
Introduction to PhotographyIntroduction to Photography
Introduction to Photography
 
Time of Flight Cameras - Refael Whyte
Time of Flight Cameras - Refael WhyteTime of Flight Cameras - Refael Whyte
Time of Flight Cameras - Refael Whyte
 
[PDF] the molecular control toolkit - Controlling 3D molecular graphics via g...
[PDF] the molecular control toolkit - Controlling 3D molecular graphics via g...[PDF] the molecular control toolkit - Controlling 3D molecular graphics via g...
[PDF] the molecular control toolkit - Controlling 3D molecular graphics via g...
 
Leap Motion - Aydin Akcasu
Leap Motion - Aydin AkcasuLeap Motion - Aydin Akcasu
Leap Motion - Aydin Akcasu
 
Developing "True HDR" for the iPhone
Developing "True HDR" for the iPhoneDeveloping "True HDR" for the iPhone
Developing "True HDR" for the iPhone
 
Introduction to Light Fields
Introduction to Light FieldsIntroduction to Light Fields
Introduction to Light Fields
 

Semelhante a Kinect Tutorial

High-Quality Server Side Rendering using the OGC’s 3D Portrayal Service – App...
High-Quality Server Side Rendering using the OGC’s 3D Portrayal Service – App...High-Quality Server Side Rendering using the OGC’s 3D Portrayal Service – App...
High-Quality Server Side Rendering using the OGC’s 3D Portrayal Service – App...Martin Christen
 
Becoming a kinect hacker innovator v2
Becoming a kinect hacker innovator v2Becoming a kinect hacker innovator v2
Becoming a kinect hacker innovator v2Jeff Sipko
 
Hacking the Kinect with GAFFTA Day 2
 Hacking the Kinect with GAFFTA Day 2 Hacking the Kinect with GAFFTA Day 2
Hacking the Kinect with GAFFTA Day 2benDesigning
 
Using the Kinect for Fun and Profit by Tam Hanna
Using the Kinect for Fun and Profit by Tam HannaUsing the Kinect for Fun and Profit by Tam Hanna
Using the Kinect for Fun and Profit by Tam HannaCodemotion
 
Dataset creation for Deep Learning-based Geometric Computer Vision problems
Dataset creation for Deep Learning-based Geometric Computer Vision problemsDataset creation for Deep Learning-based Geometric Computer Vision problems
Dataset creation for Deep Learning-based Geometric Computer Vision problemsPetteriTeikariPhD
 
Rendering Techniques for Augmented Reality and a Look Ahead at AR Foundation
Rendering Techniques for Augmented Reality and a Look Ahead at AR FoundationRendering Techniques for Augmented Reality and a Look Ahead at AR Foundation
Rendering Techniques for Augmented Reality and a Look Ahead at AR FoundationUnity Technologies
 
Cardboard VR: Building Low Cost VR Experiences
Cardboard VR: Building Low Cost VR ExperiencesCardboard VR: Building Low Cost VR Experiences
Cardboard VR: Building Low Cost VR ExperiencesMark Billinghurst
 
Digital Fabrication Studio: 3D Scanning
Digital Fabrication Studio: 3D ScanningDigital Fabrication Studio: 3D Scanning
Digital Fabrication Studio: 3D ScanningMassimo Menichinelli
 
Focused Image Creation Algorithms for digital holography
Focused Image Creation Algorithms for digital holographyFocused Image Creation Algorithms for digital holography
Focused Image Creation Algorithms for digital holographyConor Mc Elhinney
 
A Wireless Network Infrastructure Architecture for Rural Communities
A Wireless Network Infrastructure Architecture for Rural CommunitiesA Wireless Network Infrastructure Architecture for Rural Communities
A Wireless Network Infrastructure Architecture for Rural CommunitiesAIRCC Publishing Corporation
 
Complete End-to-End Low Cost Solution to a 3D Scanning System with Integrate...
 Complete End-to-End Low Cost Solution to a 3D Scanning System with Integrate... Complete End-to-End Low Cost Solution to a 3D Scanning System with Integrate...
Complete End-to-End Low Cost Solution to a 3D Scanning System with Integrate...AIRCC Publishing Corporation
 
Complete End-to-End Low Cost Solution to a 3D Scanning System with Integrated...
Complete End-to-End Low Cost Solution to a 3D Scanning System with Integrated...Complete End-to-End Low Cost Solution to a 3D Scanning System with Integrated...
Complete End-to-End Low Cost Solution to a 3D Scanning System with Integrated...AIRCC Publishing Corporation
 

Semelhante a Kinect Tutorial (20)

High-Quality Server Side Rendering using the OGC’s 3D Portrayal Service – App...
High-Quality Server Side Rendering using the OGC’s 3D Portrayal Service – App...High-Quality Server Side Rendering using the OGC’s 3D Portrayal Service – App...
High-Quality Server Side Rendering using the OGC’s 3D Portrayal Service – App...
 
Becoming a kinect hacker innovator v2
Becoming a kinect hacker innovator v2Becoming a kinect hacker innovator v2
Becoming a kinect hacker innovator v2
 
cs247 slides
cs247 slidescs247 slides
cs247 slides
 
First kinectslides
First kinectslidesFirst kinectslides
First kinectslides
 
Hacking the Kinect with GAFFTA Day 2
 Hacking the Kinect with GAFFTA Day 2 Hacking the Kinect with GAFFTA Day 2
Hacking the Kinect with GAFFTA Day 2
 
Computer vision
Computer visionComputer vision
Computer vision
 
Using the Kinect for Fun and Profit by Tam Hanna
Using the Kinect for Fun and Profit by Tam HannaUsing the Kinect for Fun and Profit by Tam Hanna
Using the Kinect for Fun and Profit by Tam Hanna
 
Dataset creation for Deep Learning-based Geometric Computer Vision problems
Dataset creation for Deep Learning-based Geometric Computer Vision problemsDataset creation for Deep Learning-based Geometric Computer Vision problems
Dataset creation for Deep Learning-based Geometric Computer Vision problems
 
Rendering Techniques for Augmented Reality and a Look Ahead at AR Foundation
Rendering Techniques for Augmented Reality and a Look Ahead at AR FoundationRendering Techniques for Augmented Reality and a Look Ahead at AR Foundation
Rendering Techniques for Augmented Reality and a Look Ahead at AR Foundation
 
Kinect
KinectKinect
Kinect
 
Cardboard VR: Building Low Cost VR Experiences
Cardboard VR: Building Low Cost VR ExperiencesCardboard VR: Building Low Cost VR Experiences
Cardboard VR: Building Low Cost VR Experiences
 
3D scanner using kinect
3D scanner using kinect3D scanner using kinect
3D scanner using kinect
 
Kinect connect
Kinect connectKinect connect
Kinect connect
 
Getmoving as3kinect
Getmoving as3kinectGetmoving as3kinect
Getmoving as3kinect
 
Digital Fabrication Studio: 3D Scanning
Digital Fabrication Studio: 3D ScanningDigital Fabrication Studio: 3D Scanning
Digital Fabrication Studio: 3D Scanning
 
Mini Project- 3D Graphics And Visualisation
Mini Project- 3D Graphics And VisualisationMini Project- 3D Graphics And Visualisation
Mini Project- 3D Graphics And Visualisation
 
Focused Image Creation Algorithms for digital holography
Focused Image Creation Algorithms for digital holographyFocused Image Creation Algorithms for digital holography
Focused Image Creation Algorithms for digital holography
 
A Wireless Network Infrastructure Architecture for Rural Communities
A Wireless Network Infrastructure Architecture for Rural CommunitiesA Wireless Network Infrastructure Architecture for Rural Communities
A Wireless Network Infrastructure Architecture for Rural Communities
 
Complete End-to-End Low Cost Solution to a 3D Scanning System with Integrate...
 Complete End-to-End Low Cost Solution to a 3D Scanning System with Integrate... Complete End-to-End Low Cost Solution to a 3D Scanning System with Integrate...
Complete End-to-End Low Cost Solution to a 3D Scanning System with Integrate...
 
Complete End-to-End Low Cost Solution to a 3D Scanning System with Integrated...
Complete End-to-End Low Cost Solution to a 3D Scanning System with Integrated...Complete End-to-End Low Cost Solution to a 3D Scanning System with Integrated...
Complete End-to-End Low Cost Solution to a 3D Scanning System with Integrated...
 

Mais de Camera Culture Group, MIT Media Lab

God’s Eye View: Will global AI empower us or destroy us? | Ramesh Raskar
God’s Eye View: Will global AI empower us or destroy us? | Ramesh Raskar God’s Eye View: Will global AI empower us or destroy us? | Ramesh Raskar
God’s Eye View: Will global AI empower us or destroy us? | Ramesh Raskar Camera Culture Group, MIT Media Lab
 
Dont follow the rainbow: How to avoid career traps that can lead you to fail,...
Dont follow the rainbow: How to avoid career traps that can lead you to fail,...Dont follow the rainbow: How to avoid career traps that can lead you to fail,...
Dont follow the rainbow: How to avoid career traps that can lead you to fail,...Camera Culture Group, MIT Media Lab
 
Making Invisible Visible, Ramesh Raskar Keynote at Embedded Vision 2019
Making Invisible Visible, Ramesh Raskar Keynote at Embedded Vision 2019Making Invisible Visible, Ramesh Raskar Keynote at Embedded Vision 2019
Making Invisible Visible, Ramesh Raskar Keynote at Embedded Vision 2019Camera Culture Group, MIT Media Lab
 
Split Learning versus Federated Learning for Data Transparent ML, Camera Cult...
Split Learning versus Federated Learning for Data Transparent ML, Camera Cult...Split Learning versus Federated Learning for Data Transparent ML, Camera Cult...
Split Learning versus Federated Learning for Data Transparent ML, Camera Cult...Camera Culture Group, MIT Media Lab
 

Mais de Camera Culture Group, MIT Media Lab (13)

Raskar Sig2017 Siggraph Achievement Award Talk
Raskar Sig2017 Siggraph Achievement Award TalkRaskar Sig2017 Siggraph Achievement Award Talk
Raskar Sig2017 Siggraph Achievement Award Talk
 
Lost Decade of Computational Photography
Lost Decade of Computational PhotographyLost Decade of Computational Photography
Lost Decade of Computational Photography
 
Covid Safe Paths
Covid Safe PathsCovid Safe Paths
Covid Safe Paths
 
God’s Eye View: Will global AI empower us or destroy us? | Ramesh Raskar
God’s Eye View: Will global AI empower us or destroy us? | Ramesh Raskar God’s Eye View: Will global AI empower us or destroy us? | Ramesh Raskar
God’s Eye View: Will global AI empower us or destroy us? | Ramesh Raskar
 
Dont follow the rainbow: How to avoid career traps that can lead you to fail,...
Dont follow the rainbow: How to avoid career traps that can lead you to fail,...Dont follow the rainbow: How to avoid career traps that can lead you to fail,...
Dont follow the rainbow: How to avoid career traps that can lead you to fail,...
 
Raskar PhD and MS Thesis Guidance
Raskar PhD and MS Thesis GuidanceRaskar PhD and MS Thesis Guidance
Raskar PhD and MS Thesis Guidance
 
Making Invisible Visible, Ramesh Raskar Keynote at Embedded Vision 2019
Making Invisible Visible, Ramesh Raskar Keynote at Embedded Vision 2019Making Invisible Visible, Ramesh Raskar Keynote at Embedded Vision 2019
Making Invisible Visible, Ramesh Raskar Keynote at Embedded Vision 2019
 
Augmented Surgeons: AI AR for Anatome, Raskar Aria 2019
Augmented Surgeons: AI AR for Anatome, Raskar Aria 2019Augmented Surgeons: AI AR for Anatome, Raskar Aria 2019
Augmented Surgeons: AI AR for Anatome, Raskar Aria 2019
 
Geo-spatial Research: Transition from Analysis to Synthesis
Geo-spatial Research: Transition from Analysis to SynthesisGeo-spatial Research: Transition from Analysis to Synthesis
Geo-spatial Research: Transition from Analysis to Synthesis
 
Split Learning versus Federated Learning for Data Transparent ML, Camera Cult...
Split Learning versus Federated Learning for Data Transparent ML, Camera Cult...Split Learning versus Federated Learning for Data Transparent ML, Camera Cult...
Split Learning versus Federated Learning for Data Transparent ML, Camera Cult...
 
Unspoken Challenges in AR and XR
Unspoken Challenges in AR and XRUnspoken Challenges in AR and XR
Unspoken Challenges in AR and XR
 
Computer Vision Introduction
Computer Vision IntroductionComputer Vision Introduction
Computer Vision Introduction
 
Raskar TEDMED 2013
Raskar TEDMED 2013Raskar TEDMED 2013
Raskar TEDMED 2013
 

Último

How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 

Último (20)

How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 

Kinect Tutorial

  • 1. Kinect Tutorial Nicholas Gillian Responsive Environments, MIT Media Lab Thursday, September 12th, 2013 Thursday, September 12, 13
  • 2. Kinect RGB Camera 3D Depth Sensors •Depth map is constructed by analyzing a speckle pattern of infrared laser light •Body position is inferred using machine learning •Kinect uses structured light Thursday, September 12, 13
  • 3. Kinect •Structured light: project a known pattern onto the scene and infer depth from the deformation of that pattern Jason Geng, Structured-light 3D surface imaging: a tutorial, Advances in Optics and Photonics,Vol. 3, Issue 2, pp. 128-160 (2011) Zhang et al, 3DPVT (2002) Thursday, September 12, 13
  • 4. Kinect •Kinect uses an astigmatic lens with different focal length in x- and y directions •The lens causes a projected circle to become an ellipse whose orientation depends on depth Thursday, September 12, 13
  • 5. Kinect •The Kinect also uses parallax, i.e. if you look at a scene from different angle, things that are closer get shifted to the side more than things that are far away •The Kinect analyzes the shift of the speckle pattern by projecting from one location and observing from another 3D Depth Sensors Thursday, September 12, 13
  • 6. Kinect •Body position is inferred using machine learning Jamie Shutton et. al, Real-Time Human Pose Recognition in Parts from Single Depth Images, CVPR, 2011 Thursday, September 12, 13
  • 7. Kinect •Body position is inferred using machine learning 100K poses 1 million training samples Jamie Shutton et. al, Real-Time Human Pose Recognition in Parts from Single Depth Images, CVPR, 2011 Thursday, September 12, 13
  • 8. Kinect •Randomized Decision Forests The probability of pixel u belonging to body part c is: Jamie Shutton et. al, Real-Time Human Pose Recognition in Parts from Single Depth Images, CVPR, 2011 Thursday, September 12, 13
  • 9. Kinect •Features Jamie Shutton et. al, Real-Time Human Pose Recognition in Parts from Single Depth Images, CVPR, 2011 Thursday, September 12, 13
  • 10. Kinect Libraries, APIs & Tools •OpenNI SDK •Openframeworks •Microsoft Official Kinect SDK •Synapse Thursday, September 12, 13
  • 11. OpenNI - Installation •OpenNI •NITE •Sensor Kinect Thursday, September 12, 13
  • 12. OpenNI - Data RGB Image Depth Image Label Image [640 480] Depth: Unsigned short Label: Unsigned short RGB: Unsigned char Thursday, September 12, 13
  • 13. OpenNI - Generators XnGenerator AudioGenerator GestureGenerator HandsGenerator UserGenerator ... //For example DepthGenerator depthGenerator; ImageGenerator imageGenerator; Thursday, September 12, 13
  • 14. OpenNI - Configuration <OpenNI> <Licenses> <License vendor="PrimeSense" key="0KOIk2JeIBYClPWVnMoRKn5cdY4="/> </Licenses> <Log writeToConsole="true" writeToFile="false"> <!-- 0 -Verbose, 1 - Info, 2 - Warning, 3 - Error (default) --> <LogLevel value="3"/> <Masks> <Mask name="ALL" on="false"/> </Masks> <Dumps> </Dumps> </Log> <ProductionNodes> <Node type="Depth"> <Configuration> <Mirror on="true"/> </Configuration> </Node> <Node type="Image" stopOnError="false" /> <Node type="User" /> </ProductionNodes> </OpenNI> This key is common PrimeSense key Enable the depth camera Enable the RGB camera Enable the user tracker Thursday, September 12, 13
  • 15. OpenNI - Manual Configuration XnStatus nRetVal = context.FindExistingNode(XN_NODE_TYPE_DEPTH, depthGenerator); Thursday, September 12, 13
  • 16. OpenNI - Manual Configuration XnStatus nRetVal = context.FindExistingNode(XN_NODE_TYPE_DEPTH, depthGenerator); if (nRetVal != XN_STATUS_OK){ xn::MockDepthGenerator mockDepth; nRetVal = mockDepth.Create(context); // set some defaults XnMapOutputMode defaultMode; defaultMode.nXRes = 640; defaultMode.nYRes = 480; defaultMode.nFPS = 30; nRetVal = mockDepth.SetMapOutputMode(defaultMode); // set FOV XnFieldOfView fov; fov.fHFOV = 1.0225999419141749; fov.fVFOV = 0.79661567681716894; nRetVal = mockDepth.SetGeneralProperty(XN_PROP_FIELD_OF_VIEW, sizeof(fov), &fov); XnUInt32 nDataSize = defaultMode.nXRes * defaultMode.nYRes * sizeof(XnDepthPixel); XnDepthPixel* pData = (XnDepthPixel*)xnOSCallocAligned(nDataSize, 1, XN_DEFAULT_MEM_ALIGN); nRetVal = mockDepth.SetData(1, 0, nDataSize, pData); CHECK_RC(nRetVal, "set empty depth map"); depthGenerator = mockDepth; } Thursday, September 12, 13
  • 17. OpenNI - Accessing Data // Read next available data context.WaitOneUpdateAll( userGenerator ); userSelector->UpdateFrame(); //Variables UserGenerator userGenerator; Context context; Thursday, September 12, 13
  • 18. OpenNI - Get the depth data //Get the latest depth and image meta data depthGenerator.GetMetaData( depthMD ); //Get a pointer to the depth data const XnDepthPixel* pDepth = depthMD.Data(); //Loop over the depth pixels for (XnUInt y = 0; y < depthMD.YRes(); y++){ for (XnUInt x = 0; x < depthMD.XRes(); x++){ //Access the current depth value *pDepth; //Increase the depth pixel pDepth++; } } //Variables DepthGenerator depthGenerator; DepthMetaData depthMD; Thursday, September 12, 13
  • 19. OpenNI - Get the RGB data //Get the latest image meta data imageGenerator.GetMetaData( imageMD ); //Get a pointer to the image data const XnRGB24Pixel* pImage = imageMD.RGB24Data(); //Loop over the image pixels for (XnUInt y = 0; y < imageMD.YRes(); y++){ for (XnUInt x = 0; x < imageMD.XRes(); x++){ //Access the current pixel value * pImage; //Increase the pixel pointer pImage++; } } //Variables ImageGenerator imageGenerator; ImageMetaData imageMD; Thursday, September 12, 13
  • 20. OpenNI - Skeleton data //Variables UserGenerator userGenerator; XnUserID userIDs[ numTrackedUsers ]; XnUInt16 numUsers = userGenerator->GetNumberOfUsers(); userGenerator->GetUsers(userIDs, numUsers); for( int i=0; i < numUsers; i++ ){ if( userGenerator->GetSkeletonCap().IsTracking( userIDs[i] ) ){ XnPoint3D userCenterOfMass; userGenerator->GetSkeletonCap().IsCalibrating( userIDs[i] ); userGenerator->GetSkeletonCap().IsCalibrated( userIDs[i] ); userGenerator->GetCoM( userIDs[i], userCenterOfMass ); XnSkeletonJointTransformation jointData; if( userGenerator->GetSkeletonCap().IsJointAvailable( XN_SKEL_HEAD ) ){ userGenerator->GetSkeletonCap().GetSkeletonJoint(userIDs[i], XN_SKEL_HEAD, jointData ); } } } Thursday, September 12, 13
  • 25. Supervised Learning Input Vector Training Data Thursday, September 12, 13
  • 26. Supervised Learning Input Vector Training Data {Feature Vector} Thursday, September 12, 13
  • 27. Supervised Learning Input Vector Training Data {Feature Vector} Feature Thursday, September 12, 13
  • 28. Supervised Learning Input Vector Training Data {Feature Vector} Feature {Attribute} Thursday, September 12, 13
  • 29. Supervised Learning Input Vector Target Vector Training Data Thursday, September 12, 13
  • 30. Supervised Learning Learning Algorithm Input Vector Target Vector Training Data Thursday, September 12, 13
  • 31. Supervised Learning Learning Algorithm Model Input Vector Target Vector Training Data Thursday, September 12, 13
  • 32. Supervised Learning Learning Algorithm Prediction New Datum Model Training Data Thursday, September 12, 13
  • 33. Supervised Learning Learning Algorithm Prediction Predicted Class Class A Model Training Data New Datum Thursday, September 12, 13
  • 34. Supervised Learning Learning Algorithm Prediction Predicted Class Class A Model Training Data New Datum Thursday, September 12, 13
  • 35. Kinect Gesture Recognition Synapse OSC Skeleton Data Openframeworks www.nickgillian.com/wiki/pmwiki.php/GRT/ OpenframeworksKinectExample Thursday, September 12, 13
  • 36. Kinect Code Tutorial Slides www.nickgillian.com/09-12-13.html Thursday, September 12, 13