US 9,811,916 B1
Approaches for head tracking
Dmitri Yurievich Khokhlov, Mountain View, CA (US)
Assigned to Amazon Technologies, Inc., Reno, NV (US)
Filed by Amazon Technologies, Inc., Reno, NV (US)
Filed on Sep. 25, 2013, as Appl. No. 14/37,261.
Int. Cl. G06T 1/00 (2006.01); G06T 7/20 (2017.01); G06T 7/00 (2017.01)
CPC G06T 7/2006 (2013.01) [G06T 7/0075 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A computing device, comprising:
at least one processor;
a camera; and
memory including instructions that, when executed by the at least one processor, cause the computing device to:
acquire an image using the camera, the image including a representation of a plurality of objects;
acquire distance information for the plurality of objects;
determine a foreground portion and a background portion of the image, the foreground portion representing at least one object of the plurality of objects that is closer than a threshold distance to the computing device, based at least in part upon the distance information for the at least one object;
locate a head and shoulder shape of a person represented in the foreground portion;
determine a contour of the head and shoulder shape;
determine a first center point of the head and shoulder shape;
determine a respective distance from the first center point to each pixel location of a plurality of pixel locations along the contour;
determine a first transition point and a second transition point along the contour, the first transition point having a shortest distance to the first center point and the second transition point having a next shortest distance to the first center point;
determine a head shape by segmenting the head and shoulder shape between the first transition point and the second transition point;
determine a head position of the person as a second center point of the head shape; and
perform a head tracking process.
 
6. A computer-implemented method, comprising:
acquiring image data using a camera and a computing device, the image data including a representation of a plurality of objects;
acquiring distance information for the plurality of objects;
determining a foreground portion and a background portion of the image data, the foreground portion representing at least one object of the plurality of objects that is closer than a threshold distance to the computing device, based at least in part upon the distance information for the at least one object;
determining at least a portion of a head and shoulder shape of a person represented in the foreground portion;
determining a first center point of the head and shoulder shape;
determining a contour of the head and shoulder shape;
determining a plurality of distances from the first center point to a plurality of points along the contour;
determining at least one first point that is closer to the first center point of the contour than other points of the plurality of points using the plurality of distances;
determining a head shape by segmenting the head and shoulder shape between the first point that is closer to the first center point of the contour than other points of the plurality of points using the plurality of distances;
determining a head shape by segmenting the head and shoulder shape between the first point and a second point along the contour; and
determining a second center point of the head shape as a location of the head of the person; and
performing a head tracking process.
 
14. A non-transitory computer-readable storage medium including instructions that, when executed by at least one processor of a computing device, cause the computing device to:
acquire an image data using a camera, the image data including a representation of a plurality of objects;
acquire distance information for the plurality of objects;
determine a foreground portion and a background portion of the image data, the foreground portion representing at least one object of the plurality of objects that is closer than a threshold distance to the computing device, based at least in part upon the distance information for the at least one object;
locate a head and shoulder shape of a person represented in the foreground portion;
determine a contour of the head and shoulder shape;
determine a first center point of the head and shoulder shape;
determine a plurality of distances from the first center point to a plurality of points along the contour;
determine at least one first point that is closer to the first center point of the contour than other points of the plurality of points using the plurality of distances;
determine a head shape by segmenting the head and shoulder shape between the first point and a second point along the contour; and
determine a second center point of the head shape as a location of the head of the person; and
perform a head tracking process.