MULTI-TRACKER OBJECT TRACKING
First Claim
1. A computing device, comprising:
- one or more processors;
one or more cameras; and
memory including instructions that, when executed by the one or more processors, cause the computing device to;
capture, at a first time, one or more first images using the one or more cameras;
detect at least a portion of a representation of a face of a user in the one or more first images using a facial detection process;
capture, at a second time, one or more second images using the one or more cameras;
track the at least the portion of the representation of the face of the user between the one or more first images and the one or more second images by concurrently executing a plurality of facial tracking processes; and
determine a position of the face of the user based at least in part upon where at least one of the plurality of facial tracking processes tracked the at least the portion of the representation of the face of the user in the one or more second images.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and approaches are provided for tracking an object using multiple tracking processes. By combining multiple lightweight tracking processes, object tracking can be robust, use a limited amount of power, and enable a computing device to respond to input corresponding to the motion of the object in real time. The multiple tracking processes can be run in parallel to determine the position of the object by selecting the results of the best performing tracker under certain heuristics or combining the results of multiple tracking processes in various ways. Further, other sensor data of a computing device can be used to improve the results provided by one or more of the tracking processes.
190 Citations
20 Claims
-
1. A computing device, comprising:
-
one or more processors; one or more cameras; and memory including instructions that, when executed by the one or more processors, cause the computing device to; capture, at a first time, one or more first images using the one or more cameras; detect at least a portion of a representation of a face of a user in the one or more first images using a facial detection process; capture, at a second time, one or more second images using the one or more cameras; track the at least the portion of the representation of the face of the user between the one or more first images and the one or more second images by concurrently executing a plurality of facial tracking processes; and determine a position of the face of the user based at least in part upon where at least one of the plurality of facial tracking processes tracked the at least the portion of the representation of the face of the user in the one or more second images. - View Dependent Claims (2, 3, 4)
-
-
5. A computer-implemented method for tracking an object, comprising:
under control of one or more computer systems configured with executable instructions, obtaining data corresponding to where at least a portion of a representation of the object is located in one or more first images; obtaining one or more second images, at least one of the second images including the at least the portion of the representation of the object; tracking the at least the portion of the representation of the object between the one or more first images and the one or more second images by concurrently executing a plurality of object tracking processes; and determining a position of the object based at least in part upon where at least one of the plurality of tracking processes tracked the at least the portion of the representation of the object in the one or more second images. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
16. A non-transitory computer-readable storage medium storing instructions for tracking an object, the instructions when executed by a processor causing the processor to:
-
obtain one or more first images, at least one of the first images including at least a portion of a representation of the object; detect the at least the portion of the representation of the object in the one or more first images; obtain one or more second images, at least one of the second images including at least the portion of the representation of the object; track the at least the portion of the representation of the object between the one or more first images and the one or more second images by concurrently executing a plurality of object tracking processes; and determine a position of the object based at least in part upon where at least one of the plurality of tracking processes tracked the at least the portion of the representation of the object in the one or more second images. - View Dependent Claims (17, 18)
-
-
19. The non-transitory computer-readable storage medium 16, wherein the instructions when executed further cause the processor to:
-
weighting respective data corresponding to each of at least a subset of the plurality of object tracking processes, a weight of the respective data corresponding to each of the at least the subset of the plurality of object tracking processes being based at least in part upon at least one of a respective level of confidence for each of the at least the subset of the plurality of object tracking processes, a respective error rate for each of the at least the subset of the plurality of object tracking processes, a respective amount of memory used by each of the at least the subset of the plurality of object tracking processes, a respective amount of processing used by each of the at least the subset of the plurality of object tracking processes, or a respective amount of power used by each of the at least the subset of the plurality of object tracking processes, wherein the position of the object is further determined based at least in part upon the weight of the respective data corresponding to each of the at least the subset of the plurality of object tracking processes.
-
-
20. The non-transitory computer-readable storage medium 16, wherein the instructions when executed further cause the processor to:
-
determine a first position of the object based at least in part upon where the at least the portion of the representation of the object is detected in the one or more first images; cause to be displayed a first view of content, the first view of the content including one or more graphical elements rendered according to a first three-dimensional perspective that is based at least in part upon the first position of the object; and cause to be displayed a second view of the content, the second view of the content including the one or more graphical elements rendered according to a second three-dimensional perspective that is based at least in part upon the position of the object.
-
Specification