Robust detection and classification of body parts in a depth map
First Claim
Patent Images
1. A method for processing data, comprising:
- receiving a depth map of a scene containing at least a part of a body of a humanoid form, the depth map comprising a matrix of pixels having respective pixel depth values;
using a digital processor, extracting from the depth map a curvature map of the scene, the curvature map comprising respective curvature values and curvature orientations of at least some of the pixels in the matrix; and
segmenting the depth map using the curvature values and curvature orientations in the curvature map so as to extract three-dimensional (3D) coordinates of one or more limbs of the humanoid form,wherein segmenting the depth map comprises;
identifying blobs of the pixels in the depth map that correspond to the one or more limbs of the humanoid form;
computing, for each blob, a dominant curvature direction of the blob responsively to the curvature orientations;
defining a respective axis of each limb running perpendicular to the dominant curvature direction of a corresponding blob;
processing the depth map so as to locate ridges running along respective axes of the one or more limbs, each ridge comprising a chain of the pixels whose respective curvature values are local maxima; and
identifying locations and orientations of the one or more limbs based on the ridges.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for processing data includes receiving a depth map of a scene containing at least a part of a body of a humanoid form. The depth map includes a matrix of pixels having respective pixel depth values. A digital processor extracts from the depth map a curvature map of the scene. The curvature map includes respective curvature values and curvature orientations of at least some of the pixels in the matrix. The depth map is segmented using the curvature values and curvature orientations in the curvature map so as to extract three-dimensional (3D) coordinates of one or more limbs of the humanoid form.
-
Citations
15 Claims
-
1. A method for processing data, comprising:
-
receiving a depth map of a scene containing at least a part of a body of a humanoid form, the depth map comprising a matrix of pixels having respective pixel depth values; using a digital processor, extracting from the depth map a curvature map of the scene, the curvature map comprising respective curvature values and curvature orientations of at least some of the pixels in the matrix; and segmenting the depth map using the curvature values and curvature orientations in the curvature map so as to extract three-dimensional (3D) coordinates of one or more limbs of the humanoid form, wherein segmenting the depth map comprises; identifying blobs of the pixels in the depth map that correspond to the one or more limbs of the humanoid form; computing, for each blob, a dominant curvature direction of the blob responsively to the curvature orientations; defining a respective axis of each limb running perpendicular to the dominant curvature direction of a corresponding blob; processing the depth map so as to locate ridges running along respective axes of the one or more limbs, each ridge comprising a chain of the pixels whose respective curvature values are local maxima; and identifying locations and orientations of the one or more limbs based on the ridges. - View Dependent Claims (2, 3, 4, 5)
-
-
6. Apparatus for processing data, comprising:
-
an imaging assembly, which is configured to capture a depth map of a scene containing at least a part of a body of a humanoid form, the depth map comprising a matrix of pixels having respective pixel depth values; and a processor, which is configured to extract from the depth map a curvature map of the scene, the curvature map comprising respective curvature values and curvature orientations of at least some of the pixels in the matrix, and to segment the depth map using the curvature values and curvature orientations in the curvature map so as to extract three-dimensional (3D) coordinates of one or more limbs of the humanoid form, wherein the processor is configured to identify blobs of the pixels in the depth map that correspond to the one or more limbs of the humanoid form, to compute, for each blob, a dominant curvature direction of the blob responsively to the curvature orientations, to define a respective axis of each limb running perpendicular to the dominant curvature direction of a corresponding blob, to process the depth map so as to locate ridges running along respective axes of the one or more limbs, each ridge comprising a chain of the pixels whose respective curvature values are local maxima, and to identify locations and orientations of the one or more limbs based on the ridges. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A computer software product, comprising a non-transitory computer-readable medium in which program instructions are stored, which instructions, when read by a computer, cause the computer to receive a depth map of a scene containing at least a part of a body of a humanoid form, the depth map comprising a matrix of pixels having respective pixel depth values, to extract from the depth map a curvature map of the scene, the curvature map comprising respective curvature values and curvature orientations of at least some of the pixels in the matrix, and to segment the depth map using the curvature values and curvature orientations in the curvature map so as to extract three-dimensional (3D) coordinates of one or more limbs of the humanoid form,
wherein the instructions cause the computer to identify blobs of the pixels in the depth map that correspond to the one or more limbs of the humanoid form, to compute, for each blob, a dominant curvature direction of the blob responsively to the curvature orientations, to define a respective axis of each limb running perpendicular to the dominant curvature direction of a corresponding blob, to process the depth map so as to locate ridges running along respective axes of the one or more limbs, each ridge comprising a chain of the pixels whose respective curvature values are local maxima, and to identify locations and orientations of the one or more limbs based on the ridges.
Specification