Object recognition and tracking
AssigneeAmazon Technologies, Inc.
InventorsGeoffrey Scott Heller, Chang Yuan
Life of this patent
Estimating the term…
Abstract
Various embodiments utilize geometric hashing to automatically recognize and track and an object. For example, a user can capture an image of a product, or other object, and a point detection algorithm can identify particular features of the product and designate feature points of the product within the captured image. Hash values are then determined for each feature point by determining a basis for the image and determining the location of each feature point relative to that basis. A hash table including the identified hash values is then created and compared to hash values for either a stored product when performing object recognition or from a reference image when performing object tracking.
Claims20
A computer-implemented method, comprising:
- under the control of one or more computer systems configured with executable instructions,
- capturing, using a camera of a computing device, a first image including a first representation of an object;
- identifying, in the first image, a plurality of first feature points corresponding to the first representation of the object;
- analyzing, using at least one processor of the computing device, each combination of four feature points in the plurality of first feature points, each said combination having a local coordinate system defined by a first pair of the four feature points and a first geometric relationship defined by relative coordinates of a second pair of the four feature points to the local coordinate system;
- identifying at least one subset of the first geometric relationships determined to be representative of the object in the first image;
- storing information for the at least one subset as entries in a geometric descriptor table;
- determining that a first subset of the first geometric relationships matches a second subset of the first geometric relationships;
- omitting at least one of the first subset of the first geometric relationships or the second subset of the first geometric relationships from entry into the geometric descriptor table;
- capturing, using the camera of the computing device, a second image including a second representation of the object;
- identifying, in the second image, a plurality of second feature points corresponding to the second representation of the object;
- analyzing, using the at least one processor of the computing device, each combination of four feature points in the plurality of second feature points, each said combination having a local coordinate system defined by a first pair of the four feature points and a second geometric relationship defined by relative coordinates of a second pair of the four feature points to the local coordinate system;
- comparing each of the second geometric relationships for the second image to the entries stored in the geometric descriptor table for the first image;
- and
- determining at least one of a presence or an approximate location of the object in the second image in response to identifying at least one second geometric relationship matching at least one entry in the geometric descriptor table to within an allowable deviation.
A computer-implemented method, comprising:
- under the control of one or more computer systems configured with executable instructions,
- obtaining an image including a view of an object;
- identifying a plurality of feature points of the object in the image;
- analyzing each of a plurality of subsets of the feature points to determine, for each of the subsets, a geometric relationship with respect to a local coordinate system defined by two points of the subset;
- comparing each geometric relationship to reference geometric relationships stored for at least one reference object;
- determining that at least one of the geometric relationship of the image matches at least one of the reference geometric relationships stored for a reference object of the at least one reference object;
- identifying the object as the reference object;
- identifying at least one subset of the geometric relationships determined to be representative of the object in the image;
- storing information for the at least one subset as entries in a geometric descriptor table;
- determining that a first geometric relationship of the geometric relationships matches a second geometric relationship of the geometric relationships;
- and
- omitting at least one of the first geometric relationship or the second geometric relationship from entry into the geometric descriptor table.
A computing device, comprising:
- a processor;
- a display screen;
- and
- memory including instructions that, when executed by the processor, cause the computing device to:
- obtain an image including a view of an object;
- identify a plurality of feature points of the object in the image;
- analyze each of a plurality of subsets of the feature points to determine, for each of the subsets, a geometric relationship with respect to a local coordinate system defined by two points of the subset;
- compare each geometric relationship to reference geometric relationships stored for at least one reference object;
- determine that at least one of the geometric relationship of the image matches at least one of the reference geometric relationships stored for a reference object of the at least one reference object;
- identify the object as the reference object;
- identify at least one subset of the geometric relationships determined to be representative of the object in the image;
- store information for the at least one subset as entries in a geometric descriptor table;
- determine that a first geometric relationship of the geometric relationships matches a second geometric relationship of the geometric relationships;
- and
- omit at least one of the first geometric relationship or the second geometric relationship from entry into the geometric descriptor table.
A non-transitory computer-readable storage medium storing instructions that, when executed by at least one processor, cause a computing device to:
- obtain an image including a view of an object;
- identify a plurality of feature points of the object in the image;
- analyze each of a plurality of subsets of the feature points to determine, for each of the subsets, a geometric relationship with respect to a local coordinate system defined by two points of the subset;
- compare each geometric relationship to reference geometric relationships stored for at least one reference object;
- determine that at least one of the geometric relationship of the image matches at least one of the reference geometric relationships stored for a reference object of the at least one reference object;
- identify the object as the reference object;
- identify at least one subset of the geometric relationships determined to be representative of the object in the image;
- store information for the at least one subset as entries in a geometric descriptor table;
- determine that a first geometric relationship of the geometric relationships matches a second geometric relationship of the geometric relationships;
- and
- omit at least one of the first geometric relationship or the second geometric relationship from entry into the geometric descriptor table.
Dependencies are inferred from the claim text.