Download presentation
Presentation is loading. Please wait.
Published byLinda Lawson Modified over 9 years ago
1
Tom Ritsert Dave Galey
2
With a single Kinect sensor, skeletal tracking becomes difficult if there are obstacles in the field of view Extra sensors can be added at different angles around the field to continue tracking when primary sensor looses sight of joints
4
Captures frames directly from Kinect sensor Serializes and transmits to server application for processing
5
Copies a Kinect Frame Contains: MyColorFrame MyDepthFrame MySkeletalFrame Timestamp Provides Serialization Of Camera Data Data compression for more efficient network transmission
6
Maintains TCP connections with client applications Collects frame data from each client Saves each frame to a file on the disk Can perform calibration calculations and generate configuration file for replay
8
Reads in frames from disk, displays data on screen Uses SkeletalViewer to display 3D skeletal models Reads in configuration file to determine calibration between multiple sources Transforms skeletal data from secondary sources to match reference frame of primary source Uses timestamp from frames to synchronize data from both sources
10
WPF 3D model viewer Can plot joint positions for up to 6 skeletons at a time Draws spherical joint objects, as well as cylindrical bones connecting them Can be zoomed, rotated, and re- centered from the UI
12
Skeletal display: Each skeleton is colored differently, so they can be distinguished Inferred joints are colored in a lighter color than actual tracked joints
13
Performs calibration between multiple cameras Stores data taken during calibration for easy serialization and reuse Calibration data is valid for as long as the camera setup remains unchanged
14
[Serializable] public class Calibration { public double theta { get; set; } public Vector3D trans { get; private set; } public Vector3D origin { get; private set; } public Calibration(double t, Vector3D tr, Vector3D o) { theta = t; trans = tr; origin = o; }
15
public void Initialize(JointCollection first, JointCollection second) Calculates the xyz-offset and angular rotation between two cameras Assumes pre-defined calibration pose Joints passed in through the ‘first’ collection are assumed to be the reference frame Stores transform data in Calibration object
16
public Vector3D[] Transform(JointCollection jc) Takes a joint collection from a non- reference frame camera Returns the vectors of all of the joints transformed into the reference frame, based on stored Calibration object data
17
Skeletal tracking is not as precise as we would prefer Baggy clothing, etc. can throw joint positions off True camera synchronization is difficult Variable number of frames produced Clock differences between systems
18
Support for 3 or more Kinect sensors Data analysis/filtering Time synchronization
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.