Multi-tracker object tracking
First Claim
Patent Images
1. A computing device, comprising:
- one or more processors;
one or more cameras; and
memory including instructions that, upon being 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 one 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 one 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 types of object tracking processes, the plurality of types of object tracking processes including two or more of a feature-based tracking process, an elliptical tracking process, a template matching tracking process, an optical flow tracking process, or a silhouette or contour tracking process;
select an object tracking process from among the plurality of object tracking processes based at least in part upon the object tracking process best satisfying a condition; and
determine a position of the face of the user based at least in part upon where the selected object tracking process tracked the at least one 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.
215 Citations
18 Claims
-
1. A computing device, comprising:
-
one or more processors; one or more cameras; and memory including instructions that, upon being 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 one 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 one 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 types of object tracking processes, the plurality of types of object tracking processes including two or more of a feature-based tracking process, an elliptical tracking process, a template matching tracking process, an optical flow tracking process, or a silhouette or contour tracking process; select an object tracking process from among the plurality of object tracking processes based at least in part upon the object tracking process best satisfying a condition; and determine a position of the face of the user based at least in part upon where the selected object tracking process tracked the at least one portion of the representation of the face of the user in the one or more second images. - View Dependent Claims (2, 3)
-
-
4. 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 one 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 one portion of the representation of the object; tracking the at least one 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 types of object tracking processes, the plurality of types of object tracking processes including two or more of a feature-based tracking process, an elliptical tracking process, a template matching tracking process, an optical flow tracking process, or a silhouette or contour tracking process; selecting an object tracking process from among the plurality of object tracking processes based at least in part upon the object tracking process best satisfying a condition; and determining a position of the object based at least in part upon where the selected object tracking process tracked the at least one portion of the representation of the object in the one or more second images. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11, 12, 13)
-
14. A non-transitory computer-readable storage medium storing instructions for tracking an object, the instructions upon being executed by a processor causing the processor to:
-
obtain one or more first images, at least one of the first images including at least one portion of a representation of the object; detect the at least one 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 the at least one portion of the representation of the object; track the at least one 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 types of object tracking processes, the plurality of types of object tracking processes including two or more of a feature-based tracking process, an elliptical tracking process, a template matching tracking process, an optical flow tracking process, or a silhouette or contour tracking process; select an object tracking process from among the plurality of object tracking processes based at least in part upon the object tracking process best satisfying a condition; and determine a position of the object based at least in part upon where the selected object tracking process tracked the at least one portion of the representation of the object in the one or more second images. - View Dependent Claims (15, 16, 17, 18)
-
Specification