SlideShare a Scribd company logo
Writing applications using the
  Microsoft Kinect sensor
           Phil Denoncourt
    phil@denoncourtassociates.com
            Philknows.net
About me
   Consultant based in Concord NH

 Writing software for over 20 years
 Writing .NET applications for 10 years

 MCPD, MCITP, MCSD, MCDBA, MCSE



   Philknows.net
Kinect Features
   Motion sensing
    device for Xbox 360 +
    Windows
   Contains
       RGB Camera
       Depth Sensor
       Multi array microphone
Kinect SDK
Hardware                         Software
 Dual Core > 2.66                Windows 7
  GHz                                   Windows 7 Embedded
 2 GB Ram (4 Rec’d)                DirectX 9.0c
                                    Visual Studio 2010
   Kinect for Windows
       Can use Xbox Kinect         Microsoft Speech
        with power adapter for       Platform 11
        development
SDK Features
   Kinect Drivers
       Supports up to 4 connected devices
       Each device needs a dedicated USB bus
 Managed + Native libraries
 Access to the various streams
       Video
       Depth
       Skeleton
 Manipulate Camera Elevation
 Access to multi-array microphone
What it doesn’t do
   Doesn’t work with XNA for Xbox
       Need XDK to develop Kinect for Xbox
       Does work with XNA for Windows
   Skeleton Limitations
       Doesn’t determine fingers
       Doesn’t determine skull features
            Eyes, Jaw, Nose…
       Only works on humanoid figures
 No person/face recognition
 Speech Recognition doesn’t support Dictation
Depth Stream
 Depth “Image” captured 30/sec
 Returned as byte array
       Left-Right, Top to Bottom
   Returns distance of pixel in millimeters
     Between 850 – 4000 mm
     -1 = unknown (Shadows, reflectivity)

     Near mode allows between 400-3000 mm

   Also contains info describing which player
    occupies that pixel.
Skeleton Streams
   Can capture and track up 2
    skeletons
        Can monitor up to 6
   Captures data at 30/sec
   Captures a collection of 20
    joints
        X,Y,Z position in meters from
         the sensor
   Some joints are inferred
        Recognizes “partial” skeletons
   No indication of joint’s
    orientation
        Where is the person looking?
   No built in gesture support
   Choose which skeleton to
    track, or sensor can
    automatically determine.
Basic Models of Interaction
   Event based
     Event is raised for every frame
     You must copy data from frame before next
      frame comes in
     Routines should read data quickly

   Interrogation based
     You ask the sensor for the latest frame
     Up to you when you ask

     Might miss frames
Audio Processing
 4 microphone array
 Processing occurs on Kinect hardware
 Echo Cancelation
 Position Tracking
 Other
     Noise Suppression
     Reduction

   Recording is done on separate thread
       Make sure apps are MTA, not STA
Speech Recognition
 Command based recognition only
 Kinect uses Microsoft.Speech libraries
     Not System.Speech
     Needs Speech Platform Runtime (v11)




   App needs to be MTA, not STA
Possible Applications
 Kiosk / Self Service Portals
 Cheap Security Monitors

 Video Conferencing / Recording
Upcoming
   New SDK released late May
     Should be compatible with v1
     Gesture Recording

     Stronger support for “seated” skeleton

   ASUS is rumored to be releasing laptop
    with embedded Kinect
Resources
http://www.microsoft.com/en-us/kinectforwindows/
--SDK Site
http://channel9.msdn.com/coding4fun/kinect
--Bunch of good samples, walkthroughs
http://www.codeplex.com
--Bunch of user submitted code
--Make sure samples have been updated from the Beta SDK.
http://www.meetup.com/kinectboston/
--Next meeting April 12 2012

More Related Content

What's hot

Enhanced Computer Vision with Microsoft Kinect Sensor: A Review
Enhanced Computer Vision with Microsoft Kinect Sensor: A ReviewEnhanced Computer Vision with Microsoft Kinect Sensor: A Review
Enhanced Computer Vision with Microsoft Kinect Sensor: A Review
Abu Saleh Musa
 
Touchless technology Seminar Presentation
Touchless technology Seminar PresentationTouchless technology Seminar Presentation
Touchless technology Seminar Presentation
Aparna Nk
 

What's hot (20)

Kinect
KinectKinect
Kinect
 
Kinect
Kinect Kinect
Kinect
 
Enhanced Computer Vision with Microsoft Kinect Sensor: A Review
Enhanced Computer Vision with Microsoft Kinect Sensor: A ReviewEnhanced Computer Vision with Microsoft Kinect Sensor: A Review
Enhanced Computer Vision with Microsoft Kinect Sensor: A Review
 
Kinect for Xbox 360: the world's first viral 3D technology
Kinect for Xbox 360: the world's first viral 3D technologyKinect for Xbox 360: the world's first viral 3D technology
Kinect for Xbox 360: the world's first viral 3D technology
 
SIT - Microsoft Kinect
SIT - Microsoft KinectSIT - Microsoft Kinect
SIT - Microsoft Kinect
 
Sit microsoft kinect
Sit  microsoft kinectSit  microsoft kinect
Sit microsoft kinect
 
Hololens: Primo Contatto - Marco Dal Pino - Codemotion Milan 2016
Hololens: Primo Contatto - Marco Dal Pino - Codemotion Milan 2016Hololens: Primo Contatto - Marco Dal Pino - Codemotion Milan 2016
Hololens: Primo Contatto - Marco Dal Pino - Codemotion Milan 2016
 
Intel RealSense Hands-on Lab - Rome
Intel RealSense Hands-on Lab - RomeIntel RealSense Hands-on Lab - Rome
Intel RealSense Hands-on Lab - Rome
 
Developing For Kinect For Windows
Developing For Kinect For WindowsDeveloping For Kinect For Windows
Developing For Kinect For Windows
 
Touch Less touch screen
Touch Less touch screenTouch Less touch screen
Touch Less touch screen
 
Augmented Reality with the Intel® RealSense™ SDK and R200 Camera
Augmented Reality with the Intel® RealSense™ SDK and R200 CameraAugmented Reality with the Intel® RealSense™ SDK and R200 Camera
Augmented Reality with the Intel® RealSense™ SDK and R200 Camera
 
Communitydays2015
Communitydays2015Communitydays2015
Communitydays2015
 
Intel® RealSense™ Technology Adding Human-Like Sensing to Computing Devices
Intel® RealSense™ Technology Adding Human-Like Sensing to Computing DevicesIntel® RealSense™ Technology Adding Human-Like Sensing to Computing Devices
Intel® RealSense™ Technology Adding Human-Like Sensing to Computing Devices
 
Programming with RealSense using .NET
Programming with RealSense using .NETProgramming with RealSense using .NET
Programming with RealSense using .NET
 
Touchless interactivity is the new frontier
Touchless interactivity is the new frontierTouchless interactivity is the new frontier
Touchless interactivity is the new frontier
 
Natural User Interfaces
Natural User InterfacesNatural User Interfaces
Natural User Interfaces
 
Touchless technology Seminar Presentation
Touchless technology Seminar PresentationTouchless technology Seminar Presentation
Touchless technology Seminar Presentation
 
Touchless touchscreen
Touchless touchscreenTouchless touchscreen
Touchless touchscreen
 
Intel real sense handson
Intel real sense handsonIntel real sense handson
Intel real sense handson
 
Intel RealSense technology : Overview and demos
Intel RealSense technology : Overview and demosIntel RealSense technology : Overview and demos
Intel RealSense technology : Overview and demos
 

Viewers also liked (8)

Building your own arcade cabinet
Building your own arcade cabinetBuilding your own arcade cabinet
Building your own arcade cabinet
 
25 things i’ve learned about c#
25 things i’ve learned about c#25 things i’ve learned about c#
25 things i’ve learned about c#
 
Poster Competition - Hwan Lee
Poster Competition - Hwan LeePoster Competition - Hwan Lee
Poster Competition - Hwan Lee
 
Unama br edinaldo_la-roque_oficina_kinect_20160917_2030
Unama br edinaldo_la-roque_oficina_kinect_20160917_2030Unama br edinaldo_la-roque_oficina_kinect_20160917_2030
Unama br edinaldo_la-roque_oficina_kinect_20160917_2030
 
Motion sensing and detection
Motion sensing and detectionMotion sensing and detection
Motion sensing and detection
 
Monitoring of patient in intensive care unit (ICU)
Monitoring of patient in intensive care unit (ICU)Monitoring of patient in intensive care unit (ICU)
Monitoring of patient in intensive care unit (ICU)
 
Patient Monitoring
Patient Monitoring	Patient Monitoring
Patient Monitoring
 
motion sensing technology
motion sensing technologymotion sensing technology
motion sensing technology
 

Similar to Writing applications using the Microsoft Kinect Sensor

Xbox one development kit 2 copy - copy
Xbox one development kit 2   copy - copyXbox one development kit 2   copy - copy
Xbox one development kit 2 copy - copy
rojizo frio
 
Gam02 kinect1, kinect2
Gam02   kinect1, kinect2Gam02   kinect1, kinect2
Gam02 kinect1, kinect2
DotNetCampus
 
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
pycontw
 

Similar to Writing applications using the Microsoft Kinect Sensor (20)

Xbox One Kinect
Xbox One KinectXbox One Kinect
Xbox One Kinect
 
Xbox one development kit 2 copy - copy
Xbox one development kit 2   copy - copyXbox one development kit 2   copy - copy
Xbox one development kit 2 copy - copy
 
Human interface guidelines_v1.8.0
Human interface guidelines_v1.8.0Human interface guidelines_v1.8.0
Human interface guidelines_v1.8.0
 
Kinect krishna kumar-itkan
Kinect krishna kumar-itkanKinect krishna kumar-itkan
Kinect krishna kumar-itkan
 
Kinect krishna kumar-itkan
Kinect krishna kumar-itkanKinect krishna kumar-itkan
Kinect krishna kumar-itkan
 
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
 
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
 
Community Day 2013 - The Power of Kinect
Community Day 2013 - The Power of KinectCommunity Day 2013 - The Power of Kinect
Community Day 2013 - The Power of Kinect
 
Kinect for Windows SDK Dr David Brown
Kinect for Windows SDK Dr David BrownKinect for Windows SDK Dr David Brown
Kinect for Windows SDK Dr David Brown
 
Becoming a kinect hacker innovator v2
Becoming a kinect hacker innovator v2Becoming a kinect hacker innovator v2
Becoming a kinect hacker innovator v2
 
Gam02 kinect1, kinect2
Gam02   kinect1, kinect2Gam02   kinect1, kinect2
Gam02 kinect1, kinect2
 
Microsoft Kinect
Microsoft Kinect Microsoft Kinect
Microsoft Kinect
 
Nui e biometrics in windows 10
Nui e biometrics in windows 10Nui e biometrics in windows 10
Nui e biometrics in windows 10
 
Jancke kinect programming
Jancke kinect programmingJancke kinect programming
Jancke kinect programming
 
Motion Game
Motion GameMotion Game
Motion Game
 
BA_Kinect1.7SDK
BA_Kinect1.7SDKBA_Kinect1.7SDK
BA_Kinect1.7SDK
 
Natural User Interface Microsoft Kinect and Surface Computing
Natural User Interface Microsoft Kinect and Surface ComputingNatural User Interface Microsoft Kinect and Surface Computing
Natural User Interface Microsoft Kinect and Surface Computing
 
Introduction to Kinect v2
Introduction to Kinect v2Introduction to Kinect v2
Introduction to Kinect v2
 
Programming with kinect v2
Programming with kinect v2Programming with kinect v2
Programming with kinect v2
 
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
 

Recently uploaded

Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 

Recently uploaded (20)

To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 

Writing applications using the Microsoft Kinect Sensor

  • 1. Writing applications using the Microsoft Kinect sensor Phil Denoncourt phil@denoncourtassociates.com Philknows.net
  • 2. About me  Consultant based in Concord NH  Writing software for over 20 years  Writing .NET applications for 10 years  MCPD, MCITP, MCSD, MCDBA, MCSE  Philknows.net
  • 3. Kinect Features  Motion sensing device for Xbox 360 + Windows  Contains  RGB Camera  Depth Sensor  Multi array microphone
  • 4. Kinect SDK Hardware Software  Dual Core > 2.66  Windows 7 GHz  Windows 7 Embedded  2 GB Ram (4 Rec’d)  DirectX 9.0c  Visual Studio 2010  Kinect for Windows  Can use Xbox Kinect  Microsoft Speech with power adapter for Platform 11 development
  • 5. SDK Features  Kinect Drivers  Supports up to 4 connected devices  Each device needs a dedicated USB bus  Managed + Native libraries  Access to the various streams  Video  Depth  Skeleton  Manipulate Camera Elevation  Access to multi-array microphone
  • 6. What it doesn’t do  Doesn’t work with XNA for Xbox  Need XDK to develop Kinect for Xbox  Does work with XNA for Windows  Skeleton Limitations  Doesn’t determine fingers  Doesn’t determine skull features  Eyes, Jaw, Nose…  Only works on humanoid figures  No person/face recognition  Speech Recognition doesn’t support Dictation
  • 7. Depth Stream  Depth “Image” captured 30/sec  Returned as byte array  Left-Right, Top to Bottom  Returns distance of pixel in millimeters  Between 850 – 4000 mm  -1 = unknown (Shadows, reflectivity)  Near mode allows between 400-3000 mm  Also contains info describing which player occupies that pixel.
  • 8. Skeleton Streams  Can capture and track up 2 skeletons  Can monitor up to 6  Captures data at 30/sec  Captures a collection of 20 joints  X,Y,Z position in meters from the sensor  Some joints are inferred  Recognizes “partial” skeletons  No indication of joint’s orientation  Where is the person looking?  No built in gesture support  Choose which skeleton to track, or sensor can automatically determine.
  • 9. Basic Models of Interaction  Event based  Event is raised for every frame  You must copy data from frame before next frame comes in  Routines should read data quickly  Interrogation based  You ask the sensor for the latest frame  Up to you when you ask  Might miss frames
  • 10. Audio Processing  4 microphone array  Processing occurs on Kinect hardware  Echo Cancelation  Position Tracking  Other  Noise Suppression  Reduction  Recording is done on separate thread  Make sure apps are MTA, not STA
  • 11. Speech Recognition  Command based recognition only  Kinect uses Microsoft.Speech libraries  Not System.Speech  Needs Speech Platform Runtime (v11)  App needs to be MTA, not STA
  • 12. Possible Applications  Kiosk / Self Service Portals  Cheap Security Monitors  Video Conferencing / Recording
  • 13. Upcoming  New SDK released late May  Should be compatible with v1  Gesture Recording  Stronger support for “seated” skeleton  ASUS is rumored to be releasing laptop with embedded Kinect
  • 14. Resources http://www.microsoft.com/en-us/kinectforwindows/ --SDK Site http://channel9.msdn.com/coding4fun/kinect --Bunch of good samples, walkthroughs http://www.codeplex.com --Bunch of user submitted code --Make sure samples have been updated from the Beta SDK. http://www.meetup.com/kinectboston/ --Next meeting April 12 2012