1 EEC-492/592 Kinect Application Development Lecture 2 Wenbing Zhao

Slides:



Advertisements
Similar presentations
Page 1 | Microsoft Work With Depth Data Kinect for Windows Video Courses Jan 2013.
Advertisements

What’s New in Kinect for Windows v2 Click to add title
Capturing Your Audience with Kinect
KINECT REHABILITATION
Wait, what? More than just technology catch-up. Johnny Lee (Carnegie Mellon) * Motion-Tracking/Head-Tracking/Virtual Whiteboard
By : Adham Suwan Mohammed Zaza Ahmed Mafarjeh. Achieving Security through Kinect using Skeleton Analysis (ASKSA)
5/19/2015 EEC484/584: Computer Networks 1 EEC-490 Senior Design (CE) Kinect Programming Tutorial 1 Wenbing Zhao
EEC-492/592 Kinect Application Development Lecture 15 Wenbing Zhao
ALFRED THOMPSON MICROSOFT ACADEMIC TEAM Kinect for FRC 2012.
Work With Skeleton Data
CPVR 2013 Tutorial. Native Managed Applications Toolkit Drivers Runtime Skeletal Tracking.
By Rishabh Maheshwari. Objective of today’s lecture Play Angry Birds in 3D.
Page 1 | Microsoft Work With Color Data Kinect for Windows Video Courses Jan 2013.
Page 1 | Microsoft Introduction to audio stream Kinect for Windows Video Courses.
EEC-492/592 Kinect Application Development
EEC-492/592 Kinect Application Development Lecture 10 Wenbing Zhao
Kinect Part II Anna Loparev.
Professor : Yih-Ran Sheu Student’s name : Nguyen Van Binh Student ID: MA02B203 Kinect camera 1 Southern Taiwan University Department of Electrical Engineering.
Page 1 | Microsoft Work With Skeleton Data Kinect for Windows Video Courses Jan 2013.
Page 1 | Microsoft Work With Color Data Kinect for Windows Video Courses Jan 2013.
Project By: Brent Elder, Mike Holovka, Hisham Algadaibi.
Ben Lower Kinect Community Evangelism Kinect for Windows in 5 Minutes.
Professor : Tsung Fu Chien Student’s name : Nguyen Trong Tuyen Student ID: MA02B208 An application Kinect camera controls Vehicles by Gesture 1 Southern.
12/5/2015 EEC492/693/793 - iPhone Application Development 1 EEC-693/793 Applied Computer Vision with Depth Cameras Lecture 4 Wenbing Zhao
CONTENT 1. Introduction to Kinect 2. Some Libraries for Kinect 3. Implement 4. Conclusion & Future works 1.
Magic pyramid Towards a 3D world Feras Khateeb Yousef Azem supervisor Dr.Lui Malhis.
KINECT FOR WINDOWS Ken Casada Developer Evangelist, Microsoft Switzerland | blogblog.
Introduction to Kinect For Windows SDK
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras Lecture 8 Wenbing Zhao
2/16/2016 EEC492/693/793 - iPhone Application Development 1 EEC-693/793 Applied Computer Vision with Depth Cameras Lecture 4 Wenbing Zhao
Product: Microsoft Kinect Team I Alex Styborski Brandon Sayre Brandon Rouhier Section 2B.
3/3/2016 EEC492/693/793 - iPhone Application Development 1 EEC-693/793 Applied Computer Vision with Depth Cameras Lecture 4 Wenbing Zhao
Kinect for Windows By: Craig Delzangle COSC 380. What I’m going to cover: History How Kinect works Kinect and Windows Uses Conclusion Questions.
EEC-693/793 Applied Computer Vision with Depth Cameras Lecture 9 Wenbing Zhao
Creative Coding & the New Kinect
Southern Taiwan University Department of Electrical Engineering
Introduction to Microsoft Kinect Sensor Programming
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-492/592 Kinect Application Development
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras
Presentation transcript:

1 EEC-492/592 Kinect Application Development Lecture 2 Wenbing Zhao

2 2 Outline Reminder  No class next Monday: Martin Luther King Day Components of Kinect sensor Kinect for Windows SDK Building first Kinect application

3 3 Components of Kinect for Windows Color camera Infrared (IR) emitter IR depth sensor Tilt motor Microphone array LED

4 4 The Color Camera Red, blue, green color images (RGB) Frame rate:  30 FPS at 640x480  12 FPS at 1280x960 Viewing range:  43 degrees vertical by 57 degrees horizontal

5 5 IR Emitter & IR Depth Sensor IR emitter emits IR light in a pseudo-random dot pattern Dotted light reflects off different objects IR depth sensor reads reflected light => depth info Depth stream resolution  640x480  320x240  80x60

6 6 Depth Data Processing

7 7 Tilt Motor Used to change the camera and sensor’s angles to get the correct position of the human skeleton Can tilt vertically (upwards/downwards) up to 27 degrees

8 8 Microphone Array 4 different microphones: locate the direction of the audio wave, not just capture the sound Enhanced noise suppression, echo cancellation, beam-forming

9 9 LED Placed between camera and IR emitter Used for indicating the status of the Kinect Green indicates Kinect drivers loaded properly

10 Kinect for Xbox vs. Kinect for Windows Kinect for Windows  Near mode: as close as 40cm away from Kinect  Can be used for commercial applications  Can be used in a Win7 virtual machine: HyperV, VMWare, Parallels For both  Track motion up to 12 feet (4 meters) away  Identical resolution

11 Kinect for Windows SDK Supported operating systems  Windows 7, Windows 8, Windows Embedded 7 Hardware requirements  Dual core 2.66 GHz or faster CPU  Dedicated USB 2.0 bus  2GB or higher RAM Software requirement  Microsoft Visual Studio 2010 or higher  Kinect for Windows SDK: current version 1.8

12 Kinect for Windows SDK

13 Kinect for Windows SDK

14 How Applications Interact with Kinect

15 Classification of Kinect SDK APIs

16 Kinect Driver The Kinect driver controls the camera, depth sensor, audio microphone array, and motion Data passes between the sensor and the app in the form of data streams  Color data stream  Depth data stream  Audio data stream  Infrared data stream (for low light environment)  Accelerameter data

17 The Near Mode Track a human upper body as close as 40 cm Only Kinect for Windows supports the near mode

18 Tracking Human Skeleton and Joint Movement Kinect SDK does the magic to extract the skeleton and joint positions from the data streams received Can track up to two users at the same time with full joint positions Each skeleton consists of 20 joints

19 Building First Kinect App Modified KinectInfoBox app Steps  Create a new project: C# WPF application  Adding Kinect reference  Draw the GUI  Modify MainWindow.xaml  Adding code

20 Creating a New Project

21 Adding Kinect Libraries

22 Create User Interface

23 Modify MainWindow.xaml

24 Adding Code (MainWindow.xaml.cs) Setting up name space  using Microsoft.Kinect; Setting up state variable for the Kinect sensor  An instance of Microsoft.Kinect.KinectSensor class  It represents the complete runtime pipeline for the Kinect sensor during life cycle of the app public partial class MainWindow : Window { KinectSensor sensor; // remaining code goes here }

25 Adding Code private void WindowLoaded(object sender, RoutedEventArgs e) { if (KinectSensor.KinectSensors.Count > 0) { this.sensor = KinectSensor.KinectSensors[0]; if (this.sensor != null && !this.sensor.IsRunning) { this.sensor.Start(); displayInfo(); } else { MessageBox.Show("No device is connected with system!"); this.Close(); } private void WindowClosing(object sender, System.ComponentModel.CancelEventArgs e) { if (this.sensor != null && this.sensor.IsRunning) { this.sensor.Stop(); }

26 Adding Code Double click “Increase” button, the template for the button1_Click() method will be automatically created Double click “Decrease” button, the template for the button2_Click() method will be automatically created private void displayInfo() { this.textBlock1.Text = this.sensor.DeviceConnectionId; this.textBlock2.Text = this.sensor.Status.ToString(); this.textBlock3.Text = this.sensor.ElevationAngle.ToString(); } private void button1_Click(object sender, RoutedEventArgs e) { this.sensor.ElevationAngle = this.sensor.ElevationAngle + 1; displayInfo(); } private void button2_Click(object sender, RoutedEventArgs e) { this.sensor.ElevationAngle = this.sensor.ElevationAngle - 1; displayInfo(); }

27 More In-depth Stuff Starting Kinect sensor: sensor.Start() In the Start() method  First check the status of Kinect, if no sensor connected, runtime will throw an InvalidOperationException object with the KinectNotReady message  Init the sensor if connected Init options  None: default option  UseDepthAndPlayerIndex  UseColor  UseSkeletonTracking  UseDepth  UseAudio

28 More In-depth Stuff Open data streams  ColorImageStream: this.sensor.ColorStream.Enable();  DepthImageStream: this.sensor.ColorStream.Enable();  SkeletonStream: this.sensor.SkeletonStream.Enable(); Stopping the Kinect sensor  this.sensor.Stop();  Stops the color, depth, and skeleton data stream  Stops audio source, if open  Kills all threads spawned  Shuts down Kinect sensor and sets init option to None