Tracking objects between images
First Claim
1. A computing device comprising:
- a camera;
one or more processors;
a memory device including instructions that, when executed by the one or more processors, cause the computing device to;
acquire a first image and a second image by the camera;
identify a first point in the first image;
determine a first patch in the first image using a feature detector, the first patch including the first point and being associated with a first feature descriptor;
identify a set of candidate points in the second image;
determine a set of patches in the second image using the feature detector, each patch of the set of patches including a respective candidate point from the set of candidate points, each patch of the set of patches being associated with a respective feature descriptor;
determine a candidate point from the set of candidate points that corresponds to the first point in the first image, the determined candidate point being determined based at least in part on a second feature descriptor associated with a second patch of the candidate point matching the first feature descriptor associated with the first point above a predetermined matching threshold;
determine that the candidate point and the first point satisfy at least one geometric constraint; and
generate a confirmation indicating at least that the candidate point and the first point satisfy at least one geometric constraint.
0 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods track one or more points between images. A point for tracking may be selected, at least in part, on a determination of how discriminable the point is relative to other points in a region containing the point. A point of an image being tracked may be located in another image by matching a patch containing the point with another patch of the other image. A search for a matching patch may be focused in a region that is determined based at least in part on an estimate of movement of the point between images. Points may be tracked across multiple images. If an ability to track one or more points is lost, information about the points being tracked may be used to relocate the points in another image.
24 Citations
20 Claims
-
1. A computing device comprising:
-
a camera; one or more processors; a memory device including instructions that, when executed by the one or more processors, cause the computing device to; acquire a first image and a second image by the camera; identify a first point in the first image; determine a first patch in the first image using a feature detector, the first patch including the first point and being associated with a first feature descriptor; identify a set of candidate points in the second image; determine a set of patches in the second image using the feature detector, each patch of the set of patches including a respective candidate point from the set of candidate points, each patch of the set of patches being associated with a respective feature descriptor; determine a candidate point from the set of candidate points that corresponds to the first point in the first image, the determined candidate point being determined based at least in part on a second feature descriptor associated with a second patch of the candidate point matching the first feature descriptor associated with the first point above a predetermined matching threshold; determine that the candidate point and the first point satisfy at least one geometric constraint; and generate a confirmation indicating at least that the candidate point and the first point satisfy at least one geometric constraint. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer-implemented method, comprising:
-
receiving a first image and a second image; identifying a first point in the first image; determining a first patch in the first image using a feature detector, the first patch including the first point and being associated with a first feature descriptor; identifying a set of candidate points in the second image; determining a set of patches in the second image using the feature detector, each patch of the set of patches including a respective candidate point from the set of candidate points, each patch of the set of patches being associated with a respective feature descriptor; and determining a candidate point from the set of candidate points that corresponds to the first point in the first image, the determined candidate point being determined based at least in part on a second feature descriptor associated with a second patch of the candidate point matching the first feature descriptor associated with the first point above a predetermined matching threshold. - View Dependent Claims (7, 8, 9, 10, 11, 12)
-
-
13. A non-transitory computer readable storage medium storing instructions, the instructions when executed by a processor causing the processor to:
-
acquire a first image and a second image, the second image being acquired after the first image; identify a first point in the first image; determine a first patch in the first image using a first feature detector, the first patch including the first point and being associated with a first feature descriptor; identify a set of candidate points in the second image; determine a set of patches in the second image using a second feature detector, each patch in the set of patches being associated with a feature descriptor, each patch of the set of patches including a representative candidate point from the set of candidate points, each patch of the set of patches being associated with a respective feature descriptor; and determine a candidate point from the set of candidate points that corresponds to the first point in the first image, the determined candidate point being determined based at least in part on a second feature descriptor associated with a second patch of the candidate point matching the first feature descriptor associated with the first point above a predetermined threshold. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification