Silhouette-based limb finder determination
AssigneeMicrosoft Technology Licensing, LLC
InventorsJonathan R. Hoof, Daniel G. Kennett
Life of this patent
Estimating the term…
Abstract
A silhouette-based limb finder may be used to detect limbs from a camera image. This limb determination may be used to control an application, such as a game, or a combination with other image processing. A first distance field indicating a distance from the edge of a silhouette in an image and a second distance field indicating distance from a location in the silhouette may be used to generate a path from an extremity point on the silhouette to the location. This path then may be used to determine a limb in the silhouette. This allows tracking of limbs even for hard to detect player poses.
Claims20
A computer-implemented method comprising:
- detecting a user within a depth image and assigning a first segmentation value to each of a first plurality of pixels that correspond to the user in the depth image, wherein the first plurality of pixels that correspond to the user in the depth image comprise a depth-based silhouette;
- detecting an object within the depth image and assigning a second segmentation value to each of a second plurality of pixels that correspond to the object, wherein the second plurality of pixels in the depth image are not associated with the user;
- assigning a third segmentation value to a third plurality of pixels in the depth image that are not associated with the user or the object;
- generating a path, based at least in part on a first distance field and a second distance field, from an extremity point on the depth-based silhouette to a target location in the depth-based silhouette, wherein the first distance field indicates a first distance from within the depth-based silhouette to a silhouette edge of the depth-based silhouette, and the second distance field indicates a second distance from within the depth-based silhouette to the target location in the depth-based silhouette;
- and
- generating a pixel image representation of the depth-based silhouette depicting the path inside the depth-based silhouette for determining a limb in the depth-based silhouette.
A system for creating silhouettes from a depth image comprising:
- memory;
- and
- a processor storing computer-readable instructions, which when executed by the processor, cause the system to:
- detect a user within a depth image and assign a first segmentation value to each of a first plurality of pixels that correspond to the user in the depth image, wherein the first plurality of pixels that correspond to the user in the depth image comprise a depth-based silhouette;
- detect an object within the depth image and associate a second segmentation value to each of a second plurality of pixels that correspond to the object, wherein the second plurality of pixels in the depth image are not associated with the user;
- assign a third segmentation value to a third plurality of pixels in the depth image that are not associated with the user or the object;
- generate a path, based at least in part on a first distance field and a second distance field, from an extremity point on the depth-based silhouette to a target location in the depth-based silhouette, wherein the first distance field indicates a first distance from within the depth-based silhouette to a silhouette edge of the depth-based silhouette, and the second distance field indicates a second distance from the target location in the depth-based silhouette to an edge of the depth-based silhouette;
- and
- generate a pixel image representation of the depth-based silhouette depicting the path inside the depth-based silhouette for determining a limb in the depth-based silhouette.
A computer-readable storage medium comprising computer executable instructions that when executed by a processor cause the processor to effectuate operations comprising:
- detecting a user within a depth image and assigning a first segmentation value to each of a first plurality of pixels that correspond to the user in the depth image, wherein the first plurality of pixels that correspond to the user in the depth image comprise a depth-based silhouette;
- detecting an object within the depth image and assigning a second segmentation value to each of a second plurality of pixels that correspond to the object, wherein the second plurality of pixels in the depth image are not associated with the user;
- assigning a third segmentation value to a third plurality of pixels in the depth image that are not associated with the user or the object;
- generating a path, based at least in part on a first distance field and a second distance field, from an extremity point on the depth-based silhouette to a target location in the depth-based silhouette, wherein the first distance field indicates a first distance from within the depth-based silhouette to a silhouette edge of the depth-based silhouette, and the second distance field indicates a second distance from within the depth-based silhouette to the target location in the depth-based silhouette;
- and
- generating a pixel image representation of the depth-based silhouette depicting the path inside the depth-based silhouette for determining a limb in the depth-based silhouette.
Dependencies are inferred from the claim text.