HAND-LOCATION POST-PROCESS REFINEMENT IN A TRACKING SYSTEM
First Claim
1. A processor-implemented method for tracking user movement in a motion capture system, comprising the processor-implemented steps of:
- tracking a user'"'"'s hand in a field of view of the motion capture system over time, including obtaining a 3-D depth image of the hand at different points in time; and
for a point in time;
obtaining an initial estimate of a location of the hand in the field of view based on the tracking;
determining a difference of the initial estimate relative to a corresponding estimate of a prior point in time;
determining if the difference is less than a threshold;
if the difference is less than the threshold, providing a current estimate of the location by changing the initial estimate by an amount which is less than the difference; and
if the difference is not less than the threshold, providing a current estimate of the location substantially as the initial estimate;
based on the current estimate, defining a volume in the field of view;
searching the 3-D depth image in the volume to determine a new estimate of a location of the hand in the field of view; and
providing a control input to an application which represents the hand in the field of view based, at least in part, on the new estimate of the location, or a value derived from the new estimate of the location.
2 Assignments
0 Petitions
Accused Products
Abstract
A tracking system having a depth camera tracks a user'"'"'s body in a physical space and derives a model of the body, including an initial estimate of a hand position. Temporal smoothing is performed when the initial estimate moves by less than a threshold level from frame to frame, while little or no smoothing is performed when the movement is more than the threshold. The smoothed estimate is used to define a local volume for searching for a hand extremity to define a new hand position. Another process generates stabilized upper body points that can be used as reliable reference positions, such as by detecting and accounting for occlusions. The upper body points and a prior estimated hand position are used to define an arm vector. A search is made along the vector to detect a hand extremity to define a new hand position.
91 Citations
20 Claims
-
1. A processor-implemented method for tracking user movement in a motion capture system, comprising the processor-implemented steps of:
-
tracking a user'"'"'s hand in a field of view of the motion capture system over time, including obtaining a 3-D depth image of the hand at different points in time; and for a point in time; obtaining an initial estimate of a location of the hand in the field of view based on the tracking; determining a difference of the initial estimate relative to a corresponding estimate of a prior point in time; determining if the difference is less than a threshold; if the difference is less than the threshold, providing a current estimate of the location by changing the initial estimate by an amount which is less than the difference; and if the difference is not less than the threshold, providing a current estimate of the location substantially as the initial estimate; based on the current estimate, defining a volume in the field of view; searching the 3-D depth image in the volume to determine a new estimate of a location of the hand in the field of view; and providing a control input to an application which represents the hand in the field of view based, at least in part, on the new estimate of the location, or a value derived from the new estimate of the location. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A processor-implemented method for tracking user movement in a motion capture system, comprising the processor-implemented steps of:
-
tracking a body in a field of view of the motion capture system, including obtaining a 3-D depth image and determining a 3-D skeletal model of the body; for one point in time, identifying a location of a hand of the 3-D skeletal model in the field of view; and for a next point in time; identifying a reference point of the 3-D skeletal model; defining at least one vector from the reference point in the next point in time to the location of the hand in the one point in time; traversing the at least one vector to look for a most probable location of the hand in the next point in time, including scoring candidate locations which are part of the 3-D skeletal model based on their distance along the at least one vector and their distance perpendicularly from the at least one vector; based on the most probable location of the hand, defining a volume in the field of view; searching the 3-D depth image in the volume to determine a location of the hand in the field of view; and providing a control input to an application which represents the hand in the field of view based at least in part on the determined location of the hand, or a value derived from the determined location of the hand. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. Tangible computer readable storage having computer readable software embodied thereon for programming at least one processor to perform a method in a motion capture system, the method comprising:
-
tracking a user'"'"'s hand in a field of view of the motion capture system over time, including obtaining a 3-D depth image of the hand at different points in time; and for a point in time; obtaining an initial estimate of a location of the hand in the field of view based on the tracking; determining a difference of the initial estimate relative to a corresponding estimate of a prior point in time; determining if the difference is less than a threshold; if the difference is less than the threshold, providing a current estimate of the location which trails the initial estimate; if the difference is not less than the threshold, providing a current estimate of the location by one of;
(a) setting the current estimate as substantially the initial estimate, and (b) providing the current estimate so that it trails the initial estimate less than when the difference is less than the threshold; andproviding a control input to an application which represents the hand in the field of view based, at least in part, on the current estimate of the location, or a value derived from the current estimate of the location. - View Dependent Claims (18, 19, 20)
-
Specification