Advanced Kinect Tricks

Slides:



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

Chapter 16 Graphical User Interfaces John Keyser’s Modifications of Slides by Bjarne Stroustrup
Microsoft® Small Basic Advanced Games Estimated time to complete this lesson: 1 hour.
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
Kinect H4x Gesture Recognition and Playback Tools (+Inspiration)
Work With Skeleton Data
Kinect SDK Tutorial Skeleton and Camera (RGB) Anant Bhardwaj.
CPVR 2013 Tutorial. Native Managed Applications Toolkit Drivers Runtime Skeletal Tracking.
SM1205 Interactivity Topic 01: Introduction Spring 2011SCM-CityU1.
Geometry: Dilations. We have already discussed translations, reflections and rotations. Each of these transformations is an isometry, which means.
Page 1 | Microsoft Work With Color Data Kinect for Windows Video Courses Jan 2013.
Graphical User Interfaces A Quick Outlook. Interface Many methods to create and “interface” with the user 2 most common interface methods: – Console –
MSDN How do I add Voice Commands to my application Find Install Voice Command Sets Search Search for {dictatedSearchTerms} Find Find.
Page 1 | Microsoft Introduction to audio stream Kinect for Windows Video Courses.
Page 1 | Microsoft Streams sync and coordinate mapping Kinect for Windows Video Courses.
CS 2511 Fall UML Diagram Types  2 Main Types Structure Diagrams ○ Class Diagrams ○ Component Diagrams ○ Object Diagrams Behavior Diagrams ○
CHUCK NORRIS HAD TO DESTROY THE PERIODIC TABLE… HE ONLY RECOGNIZES THE ELEMENT OF SURPRISE!
EEC-492/592 Kinect Application Development Lecture 10 Wenbing Zhao
Kinect SDK Crash Course (In 12 slides or less) Elliot Babchick.
Rujchai Ung-arunyawee Department of Computer Engineering Khon Kaen University.
Introduction to Programming with Java. Overview What are the tools we are using – What is Java? This is the language that you use to write your program.
Page 1 | Microsoft Work With Skeleton Data Kinect for Windows Video Courses Jan 2013.
Tom Ritsert Dave Galey.  With a single Kinect sensor, skeletal tracking becomes difficult if there are obstacles in the field of view  Extra sensors.
CIS 601 Fall 2003 Introduction to Computer Vision Longin Jan Latecki Based on the lectures of Rolf Lakaemper and David Young.
1 EEC-492/592 Kinect Application Development Lecture 2 Wenbing Zhao
1 Input and Interaction. 2 Input Devices Physical input devices Keyboard devices and pointing devices Logical input devices.
Project By: Brent Elder, Mike Holovka, Hisham Algadaibi.
Programming with the Kinect for Windows SDK
11 Adding Tomato Targets Session Session Overview  We now have a game which lets a player bounce a piece of cheese on a bread bat  Now we have.
Yingcai Xiao Game Development Animation. Video Game Interactive animation: user-> interface (look) -> action (feel) -> feedback (A/V, haptic)
Microsoft® Small Basic Collision Detection Estimated time to complete this lesson: 1 hour.
Vocabulary Sheets Why??? Do I have to?? Code. Angle [definition] Formed by two rays with the same endpoint [picture or example of term] [symbol]
EDITING How to make your own!. esf Laboratory for Applied GIS 2 Manuscript Maps Paper maps drawn by a cartographer Generalization is a problem Scale is.
KINECT FOR WINDOWS Ken Casada Developer Evangelist, Microsoft Switzerland | blogblog.
Digital Media Dr. Jim Rowan ITEC Vector Graphics Elegant way to construct digital images that –have a compact representation –are scalable –are.
04 |Sharing Code Between Windows 8 and Windows Phone 8 in Visual Studio Ben Riga
EEC-693/793 Applied Computer Vision with Depth Cameras Lecture 8 Wenbing Zhao
Billy Overton Getting back to software.
The Early Childhood Center Colleen McGaunn. Target Audience The target audience of ‘The Early Childhood Center’ is children ages 2 to 5 years old. - There.
EEC-693/793 Applied Computer Vision with Depth Cameras Lecture 9 Wenbing Zhao
Creating Enrollment Goals in Recruiter 2.0
EEC-492/592 Kinect Application Development
Introduction to Microsoft Kinect Sensor Programming
EEC-693/793 Applied Computer Vision with Depth Cameras
EEC-693/793 Applied Computer Vision with Depth Cameras
CS250 Introduction to Computer Science II
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
Fusion, Face, HD Face Matthew Simari | Program Manager, Kinect Team
EEC-693/793 Applied Computer Vision with Depth Cameras
Follow Directions with Colors and Shapes
EEC-693/793 Applied Computer Vision with Depth Cameras
Chapter 10 Algorithms.
EEC-693/793 Applied Computer Vision with Depth Cameras
Fractions 1/2 1/8 1/3 6/8 3/4.
Hour of Code.
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
Chapter 10 Algorithms.
Let’s Learn the Basic Colors
Presentation transcript:

Advanced Kinect Tricks

Shapes Game Goal is to demonstrate how to create a simple game that uses Kinect audio and skeletal tracking information The game displays the tracked skeleton of the players and shapes (circles, triangles, stars, and so on) falling from the sky. Players can move their limbs to make shapes change direction or even explode, and speak commands such as "make bigger"/"make smaller" to increase/decrease the size of the shapes or "show yellow stars" to change the color and type of falling shapes.

Demo

How does it work? App.xaml App.xaml.cs FallingShapes.cs Declaration of application level resources. App.xaml.cs Interaction logic behind app.xaml. FallingShapes.cs Shape rendering, physics, and hit-testing logic. MainWindow.xaml Declaration of layout within main application window. MainWindow.xaml.cs NUI initialization, player skeleton tracking, and main game logic. Recognizer.cs Speech verb definition and speech event recognition.

Step 1 (Register for Events) Kinect.Initialize(RuntimeOptions.UseDepthAndPlayerIndex | RuntimeOptions.UseSkeletalTracking | RuntimeOptions.UseColor ) Kinect.SkeletonFrameReady += new EventHandler<SkeletonFrameReadyEventArgs>(SkeletonsReady); speechRecognizer = SpeechRecognizer.Create(); speechRecognizer.Start(new KinectAudioSource()); speechRecognizer.SaidSomething += new EventHandler<SpeechRecognizer.SaidSomethingEventArgs>(recognizer_SaidSomething);

Process Events Process skeleton data Process speech MainWindow.xaml.cs Method: void SkeletonsReady(object sender, SkeletonFrameReadyEventArgs e) Update the joint data positions Process speech Method: void recognizer_SaidSomething(object sender, speechRecognizer.SaidSomethingEventArgs e) Match it with the speech vocabulary and get the command

Translate the speech command to a list of operations for the falling objects For ex. the speech commands “reset” will get translated to: SetPolies(PolyType.All); SetDropRate(dropRate); SetGravity(dropGravity); SetSize(dropSize); SetShapesColor(Color.FromRgb(0, 0, 0), true);

How do you find out a hit? Any guess?

How do you find out a hit? Convert joints data into bones/segments data (a bone is a segment that connects two joints) Now, we can maintain a dictionary of {bone, <bone-data>} Update the segment's position and compute a smoothed velocity for the circle or the endpoints of the segment based on the time it took to move from the last position to the current one. The velocity is in pixels per second.

How do you find out a hit? Let’s see FailingShapes.cs class FallingThings public bool Hit(Segment seg, ref Point ptHitCenter, ref double lineHitLocation) if hit, the center point on the segment being hit is returned, along with the spot on the line from 0 to 1 if a line segment was hit.

Bouncing off after a hit Let’s see FailingShapes.cs class FallingThings public void BounceOff(double x1, double y1, double otherSize, double fXv, double fYv)

The useful code that you can reuse SpeechRecognizer.cs We have already covered it in lab3 Finding out a hit between the skeleton and an object The bouncing off effect.