DEPTH MAP MOVEMENT TRACKING VIA OPTICAL FLOW AND VELOCITY PREDICTION
First Claim
1. A method for performing optical flow on a depth map comprising a plurality of points, each point indicating a depth value, the method comprising:
- for each of at least one selected point in the depth map, determining an associated region comprising at least two of the points in the depth map including the respective selected point;
processing each region by assigning a grayscale value to each point in the region as a function of each point'"'"'s associated depth value;
processing each region using an optical flow algorithm to determine optical flow vectors for the region;
for each selected point, using the optical flow vectors for the associated region that includes the selected point to determine a new point location; and
setting each selected point to a respective new point.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques for efficiently tracking points on a depth map using an optical flow are disclosed. In order to optimize the use of optical flow, isolated regions of the depth map may be tracked. The sampling regions may comprise a 3-dimensional box (width, height and depth). Each region may be “colored” as a function of depth information to generate a “zebra” pattern as a function of depth data for each sample. The disclosed techniques may provide for handling optical flow tracking when occlusion occurs by utilizing a weighting process for application of optical flow vs. velocity prediction to stabilize tracking.
-
Citations
20 Claims
-
1. A method for performing optical flow on a depth map comprising a plurality of points, each point indicating a depth value, the method comprising:
-
for each of at least one selected point in the depth map, determining an associated region comprising at least two of the points in the depth map including the respective selected point; processing each region by assigning a grayscale value to each point in the region as a function of each point'"'"'s associated depth value; processing each region using an optical flow algorithm to determine optical flow vectors for the region; for each selected point, using the optical flow vectors for the associated region that includes the selected point to determine a new point location; and setting each selected point to a respective new point. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer readable medium having stored thereon computer executable instructions for performing a process for determining user input to a computer based on optical flow, the process comprising:
-
receiving depth map data representing positions of a computer user with respect to a depth camera; performing optical flow on the depth map data to track movement of the user; and determining a user input to the computer based on the calculated movement. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system for performing optical flow on depth map data comprising:
-
a point selection module, the point selection module receiving a point selection input comprising at least one point to be tracked using optical flow and a depth map; a sampling module that generates at least one region data element, each region data element corresponding to a respective point and comprising filtered depth map data; a depth map processing module that processes each region data element to generate a respective colored region data element comprising a plurality of values as a function of the depth map data for the region data element; a velocity prediction component that predicts a velocity of each point; a confidence module that generates a confidence value of each region data element; and an optical flow tracking module that, for each region data element, is adapted to; process the region data element using an optical flow algorithm to determine optical flow vectors for the corresponding point; and determine an updated position of the corresponding point by weighting the optical flow vectors as a function of the velocity for the point and the confidence value for the region. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification