Vector correlation system for automatically locating patterns in an image
First Claim
1. For use in an automatic image processing system, a method for locating a position of an object within an image, the image defined by a plurality of image pixels, each image pixel having a known intensity value and a known coordinate point, comprising the steps of:
- determining an estimation of the object;
translating the estimation of the object into an abstract template by defining said abstract template using a number of vectors comprising a set of coordinate points and corresponding edge directions, each coordinate point lying on an edge of said estimation of the object and a corresponding edge direction passing through said coordinate point substantially perpendicular to said edge at said coordinate point;
converting the abstract template into a template based on the estimation of the object including a plurality of coordinate edge pairs, at least one coordinate edge pair formed of a pair of coordinate edge points spaced on opposite sides of the one edge of the estimation of the object;
using an equal number of vectors along substantially vertical and substantially horizontal extents of said template; and
selecting at least one vector for one edge of said estimation of the object subject to a sufficiently large angular difference between adjacent edges;
displacing said template to each of a plurality of known coordinating point locations within said image; and
correlating said template with said image at each of said locations until a maximum correlation is located, wherein the location corresponding to said maximum correlation indicates the position of the object.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention relates to a combined approach of image and template correlation, and vector correlation wherein edge detection and pattern searching are joined in a single operation to provide great flexibility without requiring extensive computational facilities. A template is devised from a sparse set of coordinate points that model only the important edges of an object to be located within an image. Different templates are dynamically reconstructed as an estimation of the object location within the image becomes more precise.
-
Citations
24 Claims
-
1. For use in an automatic image processing system, a method for locating a position of an object within an image, the image defined by a plurality of image pixels, each image pixel having a known intensity value and a known coordinate point, comprising the steps of:
-
determining an estimation of the object; translating the estimation of the object into an abstract template by defining said abstract template using a number of vectors comprising a set of coordinate points and corresponding edge directions, each coordinate point lying on an edge of said estimation of the object and a corresponding edge direction passing through said coordinate point substantially perpendicular to said edge at said coordinate point; converting the abstract template into a template based on the estimation of the object including a plurality of coordinate edge pairs, at least one coordinate edge pair formed of a pair of coordinate edge points spaced on opposite sides of the one edge of the estimation of the object; using an equal number of vectors along substantially vertical and substantially horizontal extents of said template; and selecting at least one vector for one edge of said estimation of the object subject to a sufficiently large angular difference between adjacent edges; displacing said template to each of a plurality of known coordinating point locations within said image; and correlating said template with said image at each of said locations until a maximum correlation is located, wherein the location corresponding to said maximum correlation indicates the position of the object.
-
-
2. For use in an automatic image processing system, a method for locating a position of an object within an image, the image defined by a plurality of image pixels, each image pixel having a known intensity value and a known coordinate point, comprising the steps of:
-
determining an estimation of the object; translating the estimation of the object into an abstract template by defining said abstract template using a number of vectors comprising a set of coordinate points and corresponding edge directions, each coordinate point lying on an edge of said estimation of the object and a corresponding edge direction passing through said coordinate point substantially perpendicular to said edge at said coordinate point; converting the abstract template into the template including a plurality of coordinate edge pairs, at least one coordinate edge pair formed of a pair of coordinate edge points spaced on opposite sides of the one edge of the estimation of the object; determining a displacement defined from said coordinate points of said vectors and extending along corresponding edge directions; positioning, for each vector of said abstract template, one of the pairs of coordinate points lying equally spaced from said coordinate point for said vector along said corresponding edge direction, a positive coordinate point corresponding to a positive value of said displacement and a negative coordinate point corresponding to a negative value of said displacement; displacing said template to each of a plurality of known coordinating point locations within said image; and correlating said template with said image at each of said locations until a maximum correlation is located, wherein the location corresponding to said maximum correlation indicates the position of the object. - View Dependent Claims (3, 4, 5, 6, 7)
-
-
8. An apparatus for locating a position of an object within an image, the image defined by a plurality of image pixels, each image pixel having a known intensity value and a known coordinate point, comprising the steps of:
-
determining an estimation of the object; means for translating the estimation of the object to an abstract template; means for defining said abstract template using a series of vectors comprising a set of coordinate points and corresponding edge directions, each coordinate point lying on an edge of said estimation of the object and a corresponding edge direction passing through said coordinate point substantially perpendicular to said edge at said coordinate point; means for converting the abstract template into a template including a plurality of coordinate edge pairs, at least one coordinate edge pair formed of a pair of coordinate edge points spaced on opposite sides of the one edge of the estimation of the object; means for determining a displacement defined from said coordinate points of said vectors and extending along corresponding edge direction; means for positioning, for each vector of said abstract template, a pair of coordinate points lying equally spaced from said coordinate point for said vector along said corresponding edge direction, a positive coordinate point corresponding to a positive value of said displacement and a negative coordinate point corresponding to a negative value of said displacement; means for displacing said template to each of a plurality of known coordinate point locations within said image; and means for correlating said template with said image at each of said locations until a maximum correlation is located, wherein the location corresponding to said maximum correlation indicates the position of the object.
-
-
9. A computer readable storage medium containing software executable by a computer to perform process steps for locating a position of an object within an image, the image defined by a plurality of image pixels, each image pixel having a known intensity value and a known coordinate point, the process steps comprising:
-
determining an estimation of the object; translating the estimation of the object into an abstract template by defining said abstract template using a series of vectors comprising a set of coordinate points and corresponding edge directions, each coordinate point lying on a edge of said estimation of the object and a corresponding edge direction passing through said coordinate point substantially perpendicular to said edge at said coordinate point; converting the abstract template into a template including a plurality of coordinate edge pairs, at least one coordinate edge pair formed of a pair of coordinate edge points spaced on opposite sides of the one edge of the estimation of the object; determining a displacement defined from said coordinate points of said vectors and extending along corresponding edge directions; positioning, for each vector of said abstract template, one of the pairs of coordinate points lying equally spaced from said coordinate point from said vector along said corresponding edge direction, a positive point corresponding to a positive value of said displacement and a negative coordinate point corresponding to a negative value of said displacement; displacing said template to each of a plurality of known coordinate point locations within said image; and correlating said template with said image at each of said locations until a maximum correlation is located, wherein the location corresponding to said maximum correlation indicates the position of the object. - View Dependent Claims (10, 11, 12)
-
-
13. For use in an automatic image processing system, a method for locating a position of an object within an image, the image defined by a plurality of image pixels, each image pixel having a known intensity value and a known coordinate point, comprising the steps of:
-
determining a template corresponding to an estimation of the object; translating said template to an abstract template by defining said abstract template using a number of vectors comprising a set of coordinate points and corresponding edge directions, each coordinate point lying on an edge of said template and a corresponding edge direction passing through said coordinate point perpendicular to said edge at said coordinate point, and using an equal number of vectors along substantially vertical and substantially horizontal extents of said template; minimizing said number of said vectors; selecting at least one vector for each different edge of said template subject to a threshold determination of a sufficiently large angular difference between adjacent edges; converting said abstract template to a ranging template; displacing said ranging template to each of a plurality of known coordinate point locations within said image; and correlating said ranging template with said image at each of said locations until a maximum correlation is located, wherein the location corresponding to said maximum correlation indicates the position of the object.
-
-
14. For use in an automatic image processing system, a method for locating a position of an object within an image, the image defined by a plurality of image pixels, each image pixel having a known intensity value and a known coordinate point, comprising the steps of:
-
determining a template corresponding to an estimation of the object; defining an abstract template using a number of vectors comprising a set of coordinate points and corresponding edge directions, each coordinate point lying on an edge of said template and a corresponding edge direction passing through said coordinate point perpendicular to said edge at said coordinate point; converting said abstract template into a ranging template including the further steps of; determining a displacement defined from said coordinate points of said vectors and extending along corresponding edge directions; positioning, for each vector of said abstract template, a pair of coordinate points lying equally spaced from said coordinate point for said vector along said corresponding edge direction, a positive coordinate point corresponding to a positive value of said displacement and a negative coordinate point corresponding to a negative value of said displacement; displacing said ranging template to each of a plurality of known coordinating point locations within said image; and correlating said ranging template with said image at each of said locations until a maximum correlation is located, wherein the location corresponding to said maximum correlation indicates the position of the object. - View Dependent Claims (15, 16, 17, 18, 19)
-
-
20. An apparatus for locating a position of an object within the image, the image defined by a plurality of image pixels, each image pixel having a known intensity value and a known coordinate point, comprising:
-
means for determining a template corresponding to an estimation of the object; means for translating said template to an abstract template; means for defining said abstract template using a series of vectors comprising a set of coordinate points and corresponding edge directions, each coordinate point lying on an edge of said template and a corresponding edge direction passing through said coordinate point perpendicular to said edge at said coordinate point; means for determining a displacement defined from said coordinate points of said vectors and extending along corresponding edge direction; means for positioning, for each vector of said abstract template, a pair of coordinate points lying equally spaced from said coordinate point for said vector along said corresponding edge direction, a positive coordinate point corresponding to a positive value of said displacement and a negative coordinate point corresponding to a negative value of said displacement; means for converting said abstract template to a ranging template; means for displacing said ranging template to each of a plurality of known coordinate point locations within said image; and means for correlating said ranging template with said image at each of said locations until a maximum correlation is located, wherein the location corresponding to said maximum correlation indicates the position of the object.
-
-
21. A computer readable storage medium containing software executable by a computer to perform process steps for locating a position of an object within an image, the image defined by a plurality of image pixels, each image pixel having a known intensity value and a known coordinate point, the process steps comprising:
-
determining a template corresponding to an estimation of the object; translating said template to an abstract template by defining said abstract template using a series of vectors comprising a set of coordinate points and corresponding edge directions, each coordinate point lying on a edge of said template and a corresponding edge direction passing through said coordinate point perpendicular to said edge at said coordinate point; converting said abstract template to a ranging template including the steps of; determining a displacement defined from said coordinate points of said vectors and extending along corresponding edge directions; and positioning, for each vector of said abstract template, a pair of coordinate points lying equally spaced from said coordinate point from said vector along said corresponding edge direction, a positive point corresponding to a positive value of said displacement and a negative coordinate point corresponding to a negative value of said displacement; displacing said ranging template to each of a plurality of known coordinating point locations within said image; and correlating said ranging template with said image at each of said locations until a maximum correlation is located, wherein the location corresponding to said maximum correlation indicates the position of the object. - View Dependent Claims (22, 23, 24)
-
Specification