SlideShare a Scribd company logo
KINECT FOR WINDOWS
It’s All NUI to me:
Building Apps with the Microsoft Kinect SDK
David Silverlight
Founder and Chief Software Architect
TheSilverlightGroup.com
IsYourWebMasterDead.com
KINECT FOR WINDOWS
Agenda
• NUI – What?
• Demo’s – See what all the hullabaloo is about
• Getting Started/Kinect Explorer/QuickStarts
• Building Your Own Kinect apps.
• (Video, Depth, Skeleton, Audio)
• Resources
KINECT FOR WINDOWS
Kinect: Setter of World Records!
KINECT FOR WINDOWS
And Some Disasters
KINECT FOR WINDOWS
It’s in the headlines
KINECT FOR WINDOWS
What is NUI?
• Natural User Interface
• Common term used by designers and
developers of computer interfaces to refer to a
user interface that is effectively invisible, or
becomes invisible with successive learned
interactions, to its users
KINECT FOR WINDOWS
What is NUI?
• An Invisible Interface.
• The Content is the Interface.
• Removing the Proxy
• Direct Manipulation
• Gestural interfaces
KINECT FOR WINDOWS
Seeing is believing – Kinect Development
Allows you to capture
your movements and
opens up a whole new
world to animators on
a tight budget.
12 Best Kinect Hacks Personal Data Mirror
Catch up with the
latest headlines,
weather and health
all whilst brushing
your teeth
Real Time Motion
Capture with XNA
Sample showing just
what people are
doing with the
Kinect
KINECT FOR WINDOWS
Fitnect Virtual Vacation
Now another reason
to never leave the
house.
Interactive Fitting
room showing how
Kinect and business
can connect.
Seeing is believing – Kinect Development
KINECT FOR WINDOWS
What can you do with Kinect on a PC or Mac ?
KINECT FOR WINDOWS
RGB CAMERA
MULTI-ARRAY MIC MOTORIZED TILT
3D DEPTH SENSORS
KINECT FOR WINDOWS
Getting Started: Building Your Own Apps
• Designed to get you started
• Assumes you have some programming experience
• Managed API - Concepts work in both VB/C#
KINECT FOR WINDOWS
Kinect USB cable
KINECT FOR WINDOWS
System Requirements
• You must run applications that are built by using the Kinect for Windows
SDK in a native Windows environment. You cannot run applications in a
virtual machine, because the Microsoft Kinect drivers and this SDK must be
installed on the computer that is running the application.
• Supported Operating Systems and Architectures
• Windows 7 (x86 or x64)
• Hardware Requirements
• Computer with a dual-core, 2.66-GHz or faster processor
• Windows 7–compatible graphics card that supports Microsoft® DirectX® 9.0c
capabilities
• 2 GB of RAM
• Kinect for Xbox 360® sensor—retail edition, which includes special USB/power cabling
KINECT FOR WINDOWS
System Requirements
• Software Requirements
• Microsoft Visual Studio® 2010 Express or other Visual Studio 2010 edition
• Microsoft .NET Framework 4.0 (installed with Visual Studio 2010)
• For C++ SkeletalViewer samples:
• DirectX Software Development Kit, June 2010 or later version
• DirectX End-User Runtime Web Installer
• For Speech sample (x86 only):
• Microsoft Speech Platform - Server Runtime, version 10.2 (x86 edition)
• Microsoft Speech Platform - Software Development Kit, version 10.2 (x86
edition)
• Kinect for Windows Runtime Language Pack, version 0.9
(acoustic model from Microsoft Speech Platform for the Kinect for Windows
SDK Beta)
KINECT FOR WINDOWS
It all starts here: http://www.microsoft.com/en-us/kinectforwindows/
Developing your own Kinect aps
KINECT FOR WINDOWS
Kinect for Windows SDK Quickstarts
• http://channel9.msdn.com/Series/KinectQuickstart - All are
great, IMHO
• The Kinect Explorer is new from the Beta
• Kinect for Windows SDK Browser.
• Installing and Using the Kinect Sensor
• Setting up your development environment
• Skeletal Tracking fundamentals
• Camera Fundamentals
• Working with Depth Data
• Audio Fundamentals
KINECT FOR WINDOWS
SETTING UP
YOUR DEVELOPMENT
ENVIRONMENT
KINECT FOR WINDOWS
Setting up your Development Environment
Add our references to:
- The Microsoft.Samples.Kinect.WpfViewers Project
- The Coding4Fun.Wpf.dll
Reference the assembly:
• using Microsoft.Kinect;
KINECT FOR WINDOWS
KINECT API BASICS
• Manage Kinect state
• Connected
• Enable Color, Depth, Skeleton
• Start Kinect
• Get Data
• Events - AllFramesReady
• Polling – OpenNextFrame
KINECT FOR WINDOWS
RESOURCES
• Install Kinect Explorer
• KinectWpfViewers
• Coding4Fun Toolkit
• Skeletal scaling
KINECT FOR WINDOWS
SETTING UP YOUR DEV
ENVIRONMENT
DEMO
KINECT FOR WINDOWS
Setting the
Camera Tilt Angle
CAMERA
FUNDAMENTALS
KINECT FOR WINDOWS
Setting the Camera Tilt Angle
• Warning: The tilt mechanism in the sensor array is not rated for
frequent use. Your code should not make calls to tilt the device more
than 15 times in any two-minute window. Changing the tilt too often
results in an error message from the function.
• To adjust the tilt or pitch, set the ElevationAngle property to a value
between –27 (Camera.ElevationMinimum) and +27
(Camera.ElevationMaximum). The code below sets the camera to the
maximum elevation:
• kinectSensorChooser.Kinect.ElevationAngle =
Convert.ToInt16(slider1.Value);
KINECT FOR WINDOWS
CAMERA
FUNDAMENTALS
KINECT FOR WINDOWS
RESOLUTIONS
• Color
• 12 FPS: 1280X960 RGB
• 15 FPS: Raw YUV 640x480
• 30 FPS: 640x480
• Depth
• 30 FPS: 80x60, 320x240, 640x480
KINECT FOR WINDOWS
Camera Data
KINECT FOR WINDOWS
CAMERA DATA
• Events return ImageFrame
• PixelDataLength
• FrameNumber
• Timestamp
• Dimensions: Height, Width
• Use AllFramesReady event to synchronize
KINECT FOR WINDOWS
CAMERA FUNDAMENTALS
DEMO
KINECT FOR WINDOWS
WORKING WITH
DEPTH DATA
KINECT FOR WINDOWS
DEPTH DATA
• Returns the distance and player for every pixel
• Ex: 320x240 = 76,800 pixels
• Distance
• Distance in mm from Kinect ex: 2,000mm (6.56 feet)
• Player
• 1-6 players
KINECT FOR WINDOWS
MODE
Mode Depth & Player Center Hip Joint Other 19 Joints
Default Yes Yes Yes
Near Yes Yes No, for v1.0
KINECT FOR WINDOWS
DISTANCES
1.3’ 2.6’ 9.8’ 13.1’ 26.2’
.4 .8 3 4 8
Default
Mode
Near
Mode
Feet
Meters
KINECT FOR WINDOWS
FORMULAS
• Distance Formula
int depth = depthPoint >> DepthImageFrame.PlayerIndexBitmaskWidth;
• Player Formula
int player = depthPoint & DepthImageFrame.PlayerIndexBitmask;
KINECT FOR WINDOWS
WORKING WITH DEPTH DATA
DEMO
KINECT FOR WINDOWS
SKELETAL
TRACKING
FUNDAMENTALS
KINECT FOR WINDOWS
Joints
• Maximum two players tracked at once
• Six player proposals
• Each player with set of <x, y, z> joints in meters
• Each joint has associated state
• Tracked, Not tracked, or Inferred
• Inferred - Occluded, clipped, or low confidence joints
• Not Tracked - Rare, but your code must check for this state
KINECT FOR WINDOWS
Skeleton Data
KINECT FOR WINDOWS
Skeleton API
KINECT FOR WINDOWS
SKELETAL TRACKING
DEMO
KINECT FOR WINDOWS
AUDIO
FUNDAMENTALS
KINECT FOR WINDOWS
QUICKSTART SERIES
• Installing and Using the Kinect Sensor
• Setting up your Development Environment
• Camera Fundamentals
• Working with Depth Data
• Skeletal Tracking Fundamentals
• Audio Fundamentals
KINECT FOR WINDOWS
SOUND POSITION
• Sound Source Angle – the angle and confidence level of where
audio is coming from
• Beam Angle – The angle used to record audio that you can set as a
“directional microphone”
-50 0 +50
KINECT FOR WINDOWS
RECORDING
• KinectAudioSource audio buffer
• Use Echo Cancellation to not record PC sound
KINECT FOR WINDOWS
SPEECH RECOGNITION
• Grammar – What we are listening for
• Code – GrammarBuilder, Choices
• Note: Ensure AutomaticGainControl = false
KINECT FOR WINDOWS
GRAMMAR
<!-- Confirmation_Yes._value: string ["Yes"]
-->
<rule id="Confirmation_Yes" scope="public">
<example> yes </example>
<example> yes please </example>
<one-of>
<item> yes </item>
<item> yeah </item>
<item> yep </item>
<item> ok </item>
</one-of>
<item repeat="0-1"> please </item>
<tag> out._value = "Yes";</tag>
var grammar = new Choices();
grammar.Add(“yes please");
grammar.Add(“yes");
grammar.Add(“yeah");
grammar.Add(“ok");
KINECT FOR WINDOWS
MULTI-MODAL FEEDBACK
• Engagement model
– Mic indicator for speech-enabled menus
– Keyword to engage
• Feedback and confirmation
KINECT FOR WINDOWS
Audio Data
KINECT FOR WINDOWS
AUDIO
DEMO
KINECT FOR WINDOWS
The Future of Kinect
• Better close up
KINECT FOR WINDOWS
Gesture Libraries
KINECT FOR WINDOWS
Gesture Libraries
KINECT FOR WINDOWS
Kinect version of Siri (other CodePlex)
KINECT FOR WINDOWS
KINECT FOR WINDOWS
Resources
• Coding 4 Fun - Coding4Fun Kinect Toolkit
• OpenSource Projects
• SilverlightKinect
KINECT FOR WINDOWS
What we have learned
• Examples of the amazing things that can be
done with the Kinect
• How amazing the Kinect Device is, equivalent to
$200,000 in capabilities
• How to create our own Kinect applications,
Video, Skeletal and Audio tracking.
• The future of Kinect
KINECT FOR WINDOWS
Thank You
• David Silverlight
• David@TheSilverlightGroup.com

More Related Content

What's hot

Getting Started with Patching (Patching 101)
Getting Started with Patching (Patching 101)Getting Started with Patching (Patching 101)
Getting Started with Patching (Patching 101)
Dell World
 
Zoom Rooms Kit from Video Conference Gear featuring the Poly EagleEye Directo...
Zoom Rooms Kit from Video Conference Gear featuring the Poly EagleEye Directo...Zoom Rooms Kit from Video Conference Gear featuring the Poly EagleEye Directo...
Zoom Rooms Kit from Video Conference Gear featuring the Poly EagleEye Directo...
VideoConferenceGear.com
 
Conviva at Inter BEE 2017
Conviva at Inter BEE 2017Conviva at Inter BEE 2017
Conviva at Inter BEE 2017
Olivier Wellmann
 
Intel 6th Gen vPro
Intel 6th Gen vProIntel 6th Gen vPro
Intel 6th Gen vPro
Low Hong Chuan
 
xbox one #infusc6
xbox one #infusc6xbox one #infusc6
xbox one #infusc6renownkev
 
AMD Opteron A1100 Series SoC Launch Presentation
AMD Opteron A1100 Series SoC Launch PresentationAMD Opteron A1100 Series SoC Launch Presentation
AMD Opteron A1100 Series SoC Launch Presentation
Low Hong Chuan
 
Sec285 final presentation_joshua_brown
Sec285 final presentation_joshua_brownSec285 final presentation_joshua_brown
Sec285 final presentation_joshua_brown
JoshuaBrown233
 
Virtual Video Wall with Mersive Solstice
Virtual Video Wall with Mersive SolsticeVirtual Video Wall with Mersive Solstice
Virtual Video Wall with Mersive Solstice
Paul Richards
 

What's hot (8)

Getting Started with Patching (Patching 101)
Getting Started with Patching (Patching 101)Getting Started with Patching (Patching 101)
Getting Started with Patching (Patching 101)
 
Zoom Rooms Kit from Video Conference Gear featuring the Poly EagleEye Directo...
Zoom Rooms Kit from Video Conference Gear featuring the Poly EagleEye Directo...Zoom Rooms Kit from Video Conference Gear featuring the Poly EagleEye Directo...
Zoom Rooms Kit from Video Conference Gear featuring the Poly EagleEye Directo...
 
Conviva at Inter BEE 2017
Conviva at Inter BEE 2017Conviva at Inter BEE 2017
Conviva at Inter BEE 2017
 
Intel 6th Gen vPro
Intel 6th Gen vProIntel 6th Gen vPro
Intel 6th Gen vPro
 
xbox one #infusc6
xbox one #infusc6xbox one #infusc6
xbox one #infusc6
 
AMD Opteron A1100 Series SoC Launch Presentation
AMD Opteron A1100 Series SoC Launch PresentationAMD Opteron A1100 Series SoC Launch Presentation
AMD Opteron A1100 Series SoC Launch Presentation
 
Sec285 final presentation_joshua_brown
Sec285 final presentation_joshua_brownSec285 final presentation_joshua_brown
Sec285 final presentation_joshua_brown
 
Virtual Video Wall with Mersive Solstice
Virtual Video Wall with Mersive SolsticeVirtual Video Wall with Mersive Solstice
Virtual Video Wall with Mersive Solstice
 

Similar to Building Applications with the Microsoft Kinect SDK

Kinect seminar 120919
Kinect seminar 120919Kinect seminar 120919
Kinect seminar 120919cs Kang
 
Kinect seminar 121215v1
Kinect seminar 121215v1Kinect seminar 121215v1
Kinect seminar 121215v1cs Kang
 
Kinect seminar 121027
Kinect seminar 121027Kinect seminar 121027
Kinect seminar 121027cs Kang
 
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
 
Kinect seminar 121208v1(동영상x)
Kinect seminar 121208v1(동영상x)Kinect seminar 121208v1(동영상x)
Kinect seminar 121208v1(동영상x)cs Kang
 
Kinect seminar 121020v1
Kinect seminar 121020v1Kinect seminar 121020v1
Kinect seminar 121020v1cs Kang
 
IEEE VR-SEARIS 2014 Keynote - MiddleVR - Philosophy and architecture
IEEE VR-SEARIS 2014 Keynote - MiddleVR - Philosophy and architectureIEEE VR-SEARIS 2014 Keynote - MiddleVR - Philosophy and architecture
IEEE VR-SEARIS 2014 Keynote - MiddleVR - Philosophy and architecture
Sebastien Kuntz
 
Kinect seminar 121110v1
Kinect seminar 121110v1Kinect seminar 121110v1
Kinect seminar 121110v1cs Kang
 
Kinect seminar 121103v1
Kinect seminar 121103v1Kinect seminar 121103v1
Kinect seminar 121103v1cs Kang
 
The power of Kinect in 10 minutes
The power of Kinect in 10 minutesThe power of Kinect in 10 minutes
The power of Kinect in 10 minutes
Tom Kerkhove
 
Nui e biometrics in windows 10
Nui e biometrics in windows 10Nui e biometrics in windows 10
Nui e biometrics in windows 10
Marco D'Alessandro
 
Becoming a kinect hacker innovator v2
Becoming a kinect hacker innovator v2Becoming a kinect hacker innovator v2
Becoming a kinect hacker innovator v2
Jeff Sipko
 
HD CCTV -Arecont Exacq Pivot3.ppt
HD CCTV -Arecont Exacq Pivot3.pptHD CCTV -Arecont Exacq Pivot3.ppt
HD CCTV -Arecont Exacq Pivot3.ppt
PawachMetharattanara
 
“A Platform Approach to Developing Networked Visual AI Systems,” a Presentati...
“A Platform Approach to Developing Networked Visual AI Systems,” a Presentati...“A Platform Approach to Developing Networked Visual AI Systems,” a Presentati...
“A Platform Approach to Developing Networked Visual AI Systems,” a Presentati...
Edge AI and Vision Alliance
 
“Visual AI at the Edge: From Surveillance Cameras to People Counters,” a Pres...
“Visual AI at the Edge: From Surveillance Cameras to People Counters,” a Pres...“Visual AI at the Edge: From Surveillance Cameras to People Counters,” a Pres...
“Visual AI at the Edge: From Surveillance Cameras to People Counters,” a Pres...
Edge AI and Vision Alliance
 
Richard Bronson Full Resume 2015
Richard Bronson Full Resume 2015Richard Bronson Full Resume 2015
Richard Bronson Full Resume 2015Richard Bronson
 
Vuzix i wear vr920
Vuzix i wear vr920Vuzix i wear vr920
Vuzix i wear vr920
Aalaa Khattab
 
Nvidia Toolkits- DeepStream.pptx
Nvidia Toolkits- DeepStream.pptxNvidia Toolkits- DeepStream.pptx
Nvidia Toolkits- DeepStream.pptx
ismaielmehrabi
 
Software and Machine Vision Competencies
Software and Machine Vision CompetenciesSoftware and Machine Vision Competencies
Software and Machine Vision Competencies
Amita Chitale
 

Similar to Building Applications with the Microsoft Kinect SDK (20)

Kinect seminar 120919
Kinect seminar 120919Kinect seminar 120919
Kinect seminar 120919
 
Kinect seminar 121215v1
Kinect seminar 121215v1Kinect seminar 121215v1
Kinect seminar 121215v1
 
Kinect seminar 121027
Kinect seminar 121027Kinect seminar 121027
Kinect seminar 121027
 
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
 
Kinect seminar 121208v1(동영상x)
Kinect seminar 121208v1(동영상x)Kinect seminar 121208v1(동영상x)
Kinect seminar 121208v1(동영상x)
 
Kinect seminar 121020v1
Kinect seminar 121020v1Kinect seminar 121020v1
Kinect seminar 121020v1
 
IEEE VR-SEARIS 2014 Keynote - MiddleVR - Philosophy and architecture
IEEE VR-SEARIS 2014 Keynote - MiddleVR - Philosophy and architectureIEEE VR-SEARIS 2014 Keynote - MiddleVR - Philosophy and architecture
IEEE VR-SEARIS 2014 Keynote - MiddleVR - Philosophy and architecture
 
Kinect seminar 121110v1
Kinect seminar 121110v1Kinect seminar 121110v1
Kinect seminar 121110v1
 
Kinect seminar 121103v1
Kinect seminar 121103v1Kinect seminar 121103v1
Kinect seminar 121103v1
 
The power of Kinect in 10 minutes
The power of Kinect in 10 minutesThe power of Kinect in 10 minutes
The power of Kinect in 10 minutes
 
Nui e biometrics in windows 10
Nui e biometrics in windows 10Nui e biometrics in windows 10
Nui e biometrics in windows 10
 
Becoming a kinect hacker innovator v2
Becoming a kinect hacker innovator v2Becoming a kinect hacker innovator v2
Becoming a kinect hacker innovator v2
 
Nikon film scanners2
Nikon film scanners2Nikon film scanners2
Nikon film scanners2
 
HD CCTV -Arecont Exacq Pivot3.ppt
HD CCTV -Arecont Exacq Pivot3.pptHD CCTV -Arecont Exacq Pivot3.ppt
HD CCTV -Arecont Exacq Pivot3.ppt
 
“A Platform Approach to Developing Networked Visual AI Systems,” a Presentati...
“A Platform Approach to Developing Networked Visual AI Systems,” a Presentati...“A Platform Approach to Developing Networked Visual AI Systems,” a Presentati...
“A Platform Approach to Developing Networked Visual AI Systems,” a Presentati...
 
“Visual AI at the Edge: From Surveillance Cameras to People Counters,” a Pres...
“Visual AI at the Edge: From Surveillance Cameras to People Counters,” a Pres...“Visual AI at the Edge: From Surveillance Cameras to People Counters,” a Pres...
“Visual AI at the Edge: From Surveillance Cameras to People Counters,” a Pres...
 
Richard Bronson Full Resume 2015
Richard Bronson Full Resume 2015Richard Bronson Full Resume 2015
Richard Bronson Full Resume 2015
 
Vuzix i wear vr920
Vuzix i wear vr920Vuzix i wear vr920
Vuzix i wear vr920
 
Nvidia Toolkits- DeepStream.pptx
Nvidia Toolkits- DeepStream.pptxNvidia Toolkits- DeepStream.pptx
Nvidia Toolkits- DeepStream.pptx
 
Software and Machine Vision Competencies
Software and Machine Vision CompetenciesSoftware and Machine Vision Competencies
Software and Machine Vision Competencies
 

More from DataLeader.io

An Introduction to Amazon Aurora Cloud-native Relational Database
An Introduction to Amazon Aurora Cloud-native Relational DatabaseAn Introduction to Amazon Aurora Cloud-native Relational Database
An Introduction to Amazon Aurora Cloud-native Relational Database
DataLeader.io
 
Amazon Aurora Cloud-native Relational Database, Section 2.0
Amazon Aurora Cloud-native Relational Database, Section 2.0Amazon Aurora Cloud-native Relational Database, Section 2.0
Amazon Aurora Cloud-native Relational Database, Section 2.0
DataLeader.io
 
Amazon Aurora Relational Database Built for the AWS Cloud, Version 1 Series
Amazon Aurora Relational Database Built for the AWS Cloud, Version 1 SeriesAmazon Aurora Relational Database Built for the AWS Cloud, Version 1 Series
Amazon Aurora Relational Database Built for the AWS Cloud, Version 1 Series
DataLeader.io
 
Kim Schmidt's Resume
Kim Schmidt's ResumeKim Schmidt's Resume
Kim Schmidt's Resume
DataLeader.io
 
Microsoft DigiGirlz, Teaching Teens About Databases (Trick!)
Microsoft DigiGirlz, Teaching Teens About Databases (Trick!)Microsoft DigiGirlz, Teaching Teens About Databases (Trick!)
Microsoft DigiGirlz, Teaching Teens About Databases (Trick!)
DataLeader.io
 
The Zen of Silverlight
The Zen of SilverlightThe Zen of Silverlight
The Zen of Silverlight
DataLeader.io
 
The Fundamentals of HTML5
The Fundamentals of HTML5The Fundamentals of HTML5
The Fundamentals of HTML5
DataLeader.io
 
How to Build Composite Applications with PRISM
How to Build Composite Applications with PRISMHow to Build Composite Applications with PRISM
How to Build Composite Applications with PRISM
DataLeader.io
 
Microsoft Kinect & the Microsoft MIX11 Game Preview
Microsoft Kinect & the Microsoft MIX11 Game PreviewMicrosoft Kinect & the Microsoft MIX11 Game Preview
Microsoft Kinect & the Microsoft MIX11 Game Preview
DataLeader.io
 
Managing High Availability with Low Cost
Managing High Availability with Low CostManaging High Availability with Low Cost
Managing High Availability with Low Cost
DataLeader.io
 
A Microsoft Silverlight User Group Starter Kit Made Available for Everyone to...
A Microsoft Silverlight User Group Starter Kit Made Available for Everyone to...A Microsoft Silverlight User Group Starter Kit Made Available for Everyone to...
A Microsoft Silverlight User Group Starter Kit Made Available for Everyone to...
DataLeader.io
 

More from DataLeader.io (11)

An Introduction to Amazon Aurora Cloud-native Relational Database
An Introduction to Amazon Aurora Cloud-native Relational DatabaseAn Introduction to Amazon Aurora Cloud-native Relational Database
An Introduction to Amazon Aurora Cloud-native Relational Database
 
Amazon Aurora Cloud-native Relational Database, Section 2.0
Amazon Aurora Cloud-native Relational Database, Section 2.0Amazon Aurora Cloud-native Relational Database, Section 2.0
Amazon Aurora Cloud-native Relational Database, Section 2.0
 
Amazon Aurora Relational Database Built for the AWS Cloud, Version 1 Series
Amazon Aurora Relational Database Built for the AWS Cloud, Version 1 SeriesAmazon Aurora Relational Database Built for the AWS Cloud, Version 1 Series
Amazon Aurora Relational Database Built for the AWS Cloud, Version 1 Series
 
Kim Schmidt's Resume
Kim Schmidt's ResumeKim Schmidt's Resume
Kim Schmidt's Resume
 
Microsoft DigiGirlz, Teaching Teens About Databases (Trick!)
Microsoft DigiGirlz, Teaching Teens About Databases (Trick!)Microsoft DigiGirlz, Teaching Teens About Databases (Trick!)
Microsoft DigiGirlz, Teaching Teens About Databases (Trick!)
 
The Zen of Silverlight
The Zen of SilverlightThe Zen of Silverlight
The Zen of Silverlight
 
The Fundamentals of HTML5
The Fundamentals of HTML5The Fundamentals of HTML5
The Fundamentals of HTML5
 
How to Build Composite Applications with PRISM
How to Build Composite Applications with PRISMHow to Build Composite Applications with PRISM
How to Build Composite Applications with PRISM
 
Microsoft Kinect & the Microsoft MIX11 Game Preview
Microsoft Kinect & the Microsoft MIX11 Game PreviewMicrosoft Kinect & the Microsoft MIX11 Game Preview
Microsoft Kinect & the Microsoft MIX11 Game Preview
 
Managing High Availability with Low Cost
Managing High Availability with Low CostManaging High Availability with Low Cost
Managing High Availability with Low Cost
 
A Microsoft Silverlight User Group Starter Kit Made Available for Everyone to...
A Microsoft Silverlight User Group Starter Kit Made Available for Everyone to...A Microsoft Silverlight User Group Starter Kit Made Available for Everyone to...
A Microsoft Silverlight User Group Starter Kit Made Available for Everyone to...
 

Recently uploaded

Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
vrstrong314
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
e20449
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
Srikant77
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
kalichargn70th171
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 

Recently uploaded (20)

Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 

Building Applications with the Microsoft Kinect SDK

  • 1. KINECT FOR WINDOWS It’s All NUI to me: Building Apps with the Microsoft Kinect SDK David Silverlight Founder and Chief Software Architect TheSilverlightGroup.com IsYourWebMasterDead.com
  • 2. KINECT FOR WINDOWS Agenda • NUI – What? • Demo’s – See what all the hullabaloo is about • Getting Started/Kinect Explorer/QuickStarts • Building Your Own Kinect apps. • (Video, Depth, Skeleton, Audio) • Resources
  • 3. KINECT FOR WINDOWS Kinect: Setter of World Records!
  • 4. KINECT FOR WINDOWS And Some Disasters
  • 5. KINECT FOR WINDOWS It’s in the headlines
  • 6. KINECT FOR WINDOWS What is NUI? • Natural User Interface • Common term used by designers and developers of computer interfaces to refer to a user interface that is effectively invisible, or becomes invisible with successive learned interactions, to its users
  • 7. KINECT FOR WINDOWS What is NUI? • An Invisible Interface. • The Content is the Interface. • Removing the Proxy • Direct Manipulation • Gestural interfaces
  • 8. KINECT FOR WINDOWS Seeing is believing – Kinect Development Allows you to capture your movements and opens up a whole new world to animators on a tight budget. 12 Best Kinect Hacks Personal Data Mirror Catch up with the latest headlines, weather and health all whilst brushing your teeth Real Time Motion Capture with XNA Sample showing just what people are doing with the Kinect
  • 9. KINECT FOR WINDOWS Fitnect Virtual Vacation Now another reason to never leave the house. Interactive Fitting room showing how Kinect and business can connect. Seeing is believing – Kinect Development
  • 10. KINECT FOR WINDOWS What can you do with Kinect on a PC or Mac ?
  • 11. KINECT FOR WINDOWS RGB CAMERA MULTI-ARRAY MIC MOTORIZED TILT 3D DEPTH SENSORS
  • 12. KINECT FOR WINDOWS Getting Started: Building Your Own Apps • Designed to get you started • Assumes you have some programming experience • Managed API - Concepts work in both VB/C#
  • 14. KINECT FOR WINDOWS System Requirements • You must run applications that are built by using the Kinect for Windows SDK in a native Windows environment. You cannot run applications in a virtual machine, because the Microsoft Kinect drivers and this SDK must be installed on the computer that is running the application. • Supported Operating Systems and Architectures • Windows 7 (x86 or x64) • Hardware Requirements • Computer with a dual-core, 2.66-GHz or faster processor • Windows 7–compatible graphics card that supports Microsoft® DirectX® 9.0c capabilities • 2 GB of RAM • Kinect for Xbox 360® sensor—retail edition, which includes special USB/power cabling
  • 15. KINECT FOR WINDOWS System Requirements • Software Requirements • Microsoft Visual Studio® 2010 Express or other Visual Studio 2010 edition • Microsoft .NET Framework 4.0 (installed with Visual Studio 2010) • For C++ SkeletalViewer samples: • DirectX Software Development Kit, June 2010 or later version • DirectX End-User Runtime Web Installer • For Speech sample (x86 only): • Microsoft Speech Platform - Server Runtime, version 10.2 (x86 edition) • Microsoft Speech Platform - Software Development Kit, version 10.2 (x86 edition) • Kinect for Windows Runtime Language Pack, version 0.9 (acoustic model from Microsoft Speech Platform for the Kinect for Windows SDK Beta)
  • 16. KINECT FOR WINDOWS It all starts here: http://www.microsoft.com/en-us/kinectforwindows/ Developing your own Kinect aps
  • 17. KINECT FOR WINDOWS Kinect for Windows SDK Quickstarts • http://channel9.msdn.com/Series/KinectQuickstart - All are great, IMHO • The Kinect Explorer is new from the Beta • Kinect for Windows SDK Browser. • Installing and Using the Kinect Sensor • Setting up your development environment • Skeletal Tracking fundamentals • Camera Fundamentals • Working with Depth Data • Audio Fundamentals
  • 18. KINECT FOR WINDOWS SETTING UP YOUR DEVELOPMENT ENVIRONMENT
  • 19. KINECT FOR WINDOWS Setting up your Development Environment Add our references to: - The Microsoft.Samples.Kinect.WpfViewers Project - The Coding4Fun.Wpf.dll Reference the assembly: • using Microsoft.Kinect;
  • 20. KINECT FOR WINDOWS KINECT API BASICS • Manage Kinect state • Connected • Enable Color, Depth, Skeleton • Start Kinect • Get Data • Events - AllFramesReady • Polling – OpenNextFrame
  • 21. KINECT FOR WINDOWS RESOURCES • Install Kinect Explorer • KinectWpfViewers • Coding4Fun Toolkit • Skeletal scaling
  • 22. KINECT FOR WINDOWS SETTING UP YOUR DEV ENVIRONMENT DEMO
  • 23. KINECT FOR WINDOWS Setting the Camera Tilt Angle CAMERA FUNDAMENTALS
  • 24. KINECT FOR WINDOWS Setting the Camera Tilt Angle • Warning: The tilt mechanism in the sensor array is not rated for frequent use. Your code should not make calls to tilt the device more than 15 times in any two-minute window. Changing the tilt too often results in an error message from the function. • To adjust the tilt or pitch, set the ElevationAngle property to a value between –27 (Camera.ElevationMinimum) and +27 (Camera.ElevationMaximum). The code below sets the camera to the maximum elevation: • kinectSensorChooser.Kinect.ElevationAngle = Convert.ToInt16(slider1.Value);
  • 26. KINECT FOR WINDOWS RESOLUTIONS • Color • 12 FPS: 1280X960 RGB • 15 FPS: Raw YUV 640x480 • 30 FPS: 640x480 • Depth • 30 FPS: 80x60, 320x240, 640x480
  • 28. KINECT FOR WINDOWS CAMERA DATA • Events return ImageFrame • PixelDataLength • FrameNumber • Timestamp • Dimensions: Height, Width • Use AllFramesReady event to synchronize
  • 29. KINECT FOR WINDOWS CAMERA FUNDAMENTALS DEMO
  • 30. KINECT FOR WINDOWS WORKING WITH DEPTH DATA
  • 31. KINECT FOR WINDOWS DEPTH DATA • Returns the distance and player for every pixel • Ex: 320x240 = 76,800 pixels • Distance • Distance in mm from Kinect ex: 2,000mm (6.56 feet) • Player • 1-6 players
  • 32. KINECT FOR WINDOWS MODE Mode Depth & Player Center Hip Joint Other 19 Joints Default Yes Yes Yes Near Yes Yes No, for v1.0
  • 33. KINECT FOR WINDOWS DISTANCES 1.3’ 2.6’ 9.8’ 13.1’ 26.2’ .4 .8 3 4 8 Default Mode Near Mode Feet Meters
  • 34. KINECT FOR WINDOWS FORMULAS • Distance Formula int depth = depthPoint >> DepthImageFrame.PlayerIndexBitmaskWidth; • Player Formula int player = depthPoint & DepthImageFrame.PlayerIndexBitmask;
  • 35. KINECT FOR WINDOWS WORKING WITH DEPTH DATA DEMO
  • 37. KINECT FOR WINDOWS Joints • Maximum two players tracked at once • Six player proposals • Each player with set of <x, y, z> joints in meters • Each joint has associated state • Tracked, Not tracked, or Inferred • Inferred - Occluded, clipped, or low confidence joints • Not Tracked - Rare, but your code must check for this state
  • 42. KINECT FOR WINDOWS QUICKSTART SERIES • Installing and Using the Kinect Sensor • Setting up your Development Environment • Camera Fundamentals • Working with Depth Data • Skeletal Tracking Fundamentals • Audio Fundamentals
  • 43. KINECT FOR WINDOWS SOUND POSITION • Sound Source Angle – the angle and confidence level of where audio is coming from • Beam Angle – The angle used to record audio that you can set as a “directional microphone” -50 0 +50
  • 44. KINECT FOR WINDOWS RECORDING • KinectAudioSource audio buffer • Use Echo Cancellation to not record PC sound
  • 45. KINECT FOR WINDOWS SPEECH RECOGNITION • Grammar – What we are listening for • Code – GrammarBuilder, Choices • Note: Ensure AutomaticGainControl = false
  • 46. KINECT FOR WINDOWS GRAMMAR <!-- Confirmation_Yes._value: string ["Yes"] --> <rule id="Confirmation_Yes" scope="public"> <example> yes </example> <example> yes please </example> <one-of> <item> yes </item> <item> yeah </item> <item> yep </item> <item> ok </item> </one-of> <item repeat="0-1"> please </item> <tag> out._value = "Yes";</tag> var grammar = new Choices(); grammar.Add(“yes please"); grammar.Add(“yes"); grammar.Add(“yeah"); grammar.Add(“ok");
  • 47. KINECT FOR WINDOWS MULTI-MODAL FEEDBACK • Engagement model – Mic indicator for speech-enabled menus – Keyword to engage • Feedback and confirmation
  • 50. KINECT FOR WINDOWS The Future of Kinect • Better close up
  • 53. KINECT FOR WINDOWS Kinect version of Siri (other CodePlex)
  • 55. KINECT FOR WINDOWS Resources • Coding 4 Fun - Coding4Fun Kinect Toolkit • OpenSource Projects • SilverlightKinect
  • 56. KINECT FOR WINDOWS What we have learned • Examples of the amazing things that can be done with the Kinect • How amazing the Kinect Device is, equivalent to $200,000 in capabilities • How to create our own Kinect applications, Video, Skeletal and Audio tracking. • The future of Kinect
  • 57. KINECT FOR WINDOWS Thank You • David Silverlight • David@TheSilverlightGroup.com