Pattern matching using multiple techniques
First Claim
1. A method for detecting patterns in an image, the method comprising:
- performing first pattern matching on the image using a first pattern matching technique, wherein said performing pattern matching determines a plurality of candidate areas;
performing second pattern matching on each of the candidate areas using a second different pattern matching technique, wherein said performing second pattern matching generates final pattern match results; and
generating an output indicating the final pattern match results;
wherein at least a portion of said first pattern matching and at least a portion of said second pattern matching are performed concurrently.
5 Assignments
0 Petitions
Accused Products
Abstract
A system and method for performing pattern matching to locate zero or more instances of a template image in a target image. An image is received by a computer from an image source, e.g., a camera. First pattern matching is performed on the image using a first pattern matching technique to determine a plurality of candidate areas. Second pattern matching is performed on each of the candidate areas using a second different pattern matching technique to generate final pattern match results. An output is generated indicating the final pattern match results. The second pattern matching may determine a second plurality of candidate areas which may be analyzed to determine the final pattern match results. The first pattern matching may use a plurality of pattern matching techniques, the results of which may be used to select a best technique from the plurality of techniques to use for the second pattern match.
33 Citations
71 Claims
-
1. A method for detecting patterns in an image, the method comprising:
-
performing first pattern matching on the image using a first pattern matching technique, wherein said performing pattern matching determines a plurality of candidate areas; performing second pattern matching on each of the candidate areas using a second different pattern matching technique, wherein said performing second pattern matching generates final pattern match results; and generating an output indicating the final pattern match results; wherein at least a portion of said first pattern matching and at least a portion of said second pattern matching are performed concurrently.
-
-
2. A method for detecting patterns in an image, the method comprising:
-
performing first pattern matching on the image using a first pattern matching technique, wherein said performing pattern matching determines a plurality of candidate areas; performing second pattern matching on each of the candidate areas using a second different pattern matching technique, wherein said performing second pattern matching generates final pattern match results; and generating an output indicating the final pattern match results; wherein the first pattern matching technique is a geometric pattern matching technique.
-
-
3. A method for detecting patterns in an image, the method comprising:
-
performing first pattern matching on the image using a first pattern matching technique, wherein said performing pattern matching determines a plurality of candidate areas; performing second pattern matching on each of the candidate areas using a second different pattern matching technique, wherein said performing second pattern matching generates final pattern match results; and generating an output indicating the final pattern match results; wherein the first pattern matching technique is a correlation-based pattern matching technique. - View Dependent Claims (4)
-
-
5. A method for detecting patterns in an image, the method comprising:
-
performing first pattern matching on the image using a first pattern matching technique, wherein said performing pattern matching determines a plurality of candidate areas; performing second pattern matching on each of the candidate areas using a second different pattern matching technique, wherein said performing second pattern matching generates final pattern match results; and generating an output indicating the final pattern match results; wherein the first pattern matching technique is a color matching technique; and
wherein the second pattern matching technique is a geometric pattern matching technique.
-
-
6. A method for detecting patterns in an image, the method comprising:
-
performing first pattern matching on the image using a first pattern matching technique, wherein said performing pattern matching determines a plurality of candidate areas; performing second pattern matching on each of the candidate areas using a second different pattern matching technique, wherein said performing second pattern matching generates final pattern match results; and generating an output indicating the final pattern match results; wherein the first pattern matching technique is a color matching technique; and wherein the second pattern matching technique is a hue plane pattern matching technique.
-
-
7. A method for detecting patterns in an image, the method comprising:
-
performing first pattern matching on the image using a first pattern matching technique, wherein said performing pattern matching determines a plurality of candidate areas; performing second pattern matching on each of the candidate areas using a second different pattern matching technique, wherein said performing second pattern matching generates final pattern match results; and generating an output indicating the final pattern match results; wherein the first pattern matching technique is a hue plane pattern matching technique; and wherein the second pattern matching technique is a color matching technique.
-
-
8. A method for detecting patterns in an image, the method comprising:
-
performing first pattern matching on the image using a first pattern matching technique, wherein said performing pattern matching determines a plurality of candidate areas; performing second pattern matching on each of the candidate areas using a second different pattern matching technique, wherein said performing second pattern matching generates final pattern match results; and generating an output indicating the final pattern match results; wherein said performing first pattern matching comprises generating a first pattern matching score for each of the plurality of candidate areas, and wherein said determining a plurality of candidate areas is based on said first pattern matching scores; and wherein said performing second pattern matching comprises generating a second pattern matching score for each of the plurality of candidate areas, and wherein said generating final pattern match results is based on said second pattern matching scores.
-
-
9. A method for detecting patterns in an image, the method comprising:
-
performing first pattern matching on the image using a first pattern matching technique, wherein said performing pattern matching determines a plurality of candidate areas; performing second pattern matching on each of the candidate areas using a second different pattern matching technique, wherein said performing second pattern matching generates final pattern match results; and generating an output indicating the final pattern match results; wherein the first pattern matching technique is one of a hue plane pattern matching technique, a color matching technique, a correlation-based pattern matching technique, a geometric pattern matching technique, and a luminance pattern matching technique; wherein the second pattern matching technique is one of a color matching technique, a correlation-based pattern matching technique, a geometric pattern matching technique, and a luminance pattern matching technique; and wherein said first pattern matching technique is a different technique from said second pattern matching technique.
-
-
10. A method for detecting patterns in an image, the method comprising:
-
performing first pattern matching on the image using a first pattern matching technique, wherein said performing pattern matching determines a plurality of candidate areas; performing second pattern matching on each of the candidate areas using a second different pattern matching technique, wherein said performing second pattern matching generates final pattern match results; and generating an output indicating the final pattern match results; wherein said first pattern matching technique is a coarse pattern matching technique; and wherein said second pattern matching technique is a fine pattern matching technique.
-
-
11. A method for detecting patterns in an image, the method comprising:
-
performing first pattern matching on the image using a first pattern matching technique, wherein said performing first pattern matching determines a first plurality of candidate areas; performing second pattern matching on the image using a second different pattern matching technique, wherein said performing second pattern matching determines a second plurality of candidate areas; analyzing the first plurality of candidate areas and the second plurality of candidate areas to determine final pattern match results; and generating an output indicating the final pattern match results; wherein said analyzing the first plurality of candidate areas and the second plurality of candidate areas to determine final pattern match results comprises; determining one or more final candidate areas which are common to said first plurality of candidate areas and said second plurality of candidate areas; and wherein said final pattern match results comprise said one or more final candidate areas.
-
-
12. A method for detecting patterns in an image, the method comprising:
-
performing first pattern matching on the image using a first pattern matching technique, wherein said performing first pattern matching determines a first plurality of candidate areas; performing second pattern matching on the image using a second different pattern matching technique, wherein said performing second pattern matching determines a second plurality of candidate areas; analyzing the first plurality of candidate areas and the second plurality of candidate areas to determine final pattern match results; and generating an output indicating the final pattern match results; wherein said analyzing the first plurality of candidate areas and the second plurality of candidate areas comprises generating a third plurality of candidate areas, the method further comprising; performing third pattern matching on each of said third plurality of candidate areas using a third different pattern matching technique to determine final pattern match results.
-
-
13. A method for detecting patterns in an image, the method comprising:
-
performing first pattern matching on the image using a first pattern matching technique, wherein said performing first pattern matching determines a first plurality of candidate areas; performing second pattern matching on the image using a second different pattern matching technique, wherein said performing second pattern matching determines a second plurality of candidate areas; analyzing the first plurality of candidate areas and the second plurality of candidate areas to determine final pattern match results; and generating an output indicating the final pattern match results; wherein at least a portion of said second pattern matching is performed concurrently with said performing first pattern matching. - View Dependent Claims (14, 15, 16)
-
-
17. A method for detecting patterns in an image, the method comprising:
-
performing first pattern matching on the image using a first pattern matching technique, wherein said performing first pattern matching determines a first plurality of candidate areas;
generating a pattern matching score for each of the first plurality of candidate areas;performing second pattern matching on the image using a second different pattern matching technique, wherein said performing second pattern matching determines a second plurality of candidate areas; generating a pattern matching score for each of the second plurality of candidate areas; analyzing the first plurality of candidate areas and the second plurality of candidate areas to determine final pattern match results, wherein said analyzing comprises analyzing the pattern matching scores for each of the first plurality of candidate areas and the second plurality of candidate areas; and generating an output indicating the final pattern match results.
-
-
18. A method for detecting patterns in an image, the method comprising:
-
performing first pattern matching on the image using a first pattern matching technique, wherein said performing first pattern matching determines a first plurality of candidate areas, wherein the first pattern matching technique is one of a hue plane pattern matching technique, a color matching technique, a correlation-based pattern matching technique, a geometric pattern matching technique, and a luminance pattern matching technique; performing second pattern matching on the image using a second different pattern matching technique, wherein said performing second pattern matching determines a second plurality of candidate areas, wherein the second pattern matching technique is one of a color matching technique, a correlation-based pattern matching technique, a geometric pattern matching technique, and a luminance pattern matching technique, and wherein said first pattern matching technique is a different technique from said second pattern matching technique; analyzing the first plurality of candidate areas and the second plurality of candidate areas to determine final pattern match results; and generating an output indicating the final pattern match results.
-
-
19. A method for detecting patterns in an image, the method comprising:
-
performing first pattern matching on the image using a first pattern matching technique, wherein said performing first pattern matching determines a first plurality of candidate areas; performing second pattern matching on the image using a second different pattern matching technique, wherein said performing second pattern matching determines a second plurality of candidate areas; performing third pattern matching on the image using a third different pattern matching technique, wherein said performing pattern matching determines a third plurality of candidate areas; analyzing the first plurality of candidate areas, the second plurality of candidate areas, and the third plurality of candidate areas to determine final pattern match results; and generating an output indicating the final pattern match results. - View Dependent Claims (20)
-
-
21. A method for detecting patterns in an image, the method comprising:
-
performing first pattern matching on the image using a first pattern matching technique, wherein said performing first pattern matching determines a first plurality of candidate areas, wherein said first pattern matching technique is a coarse pattern matching technique; performing second pattern matching on the image using a second different pattern matching technique, wherein said performing second pattern matching determines a second plurality of candidate areas, wherein said second pattern matching technique is a fine pattern matching technique; analyzing the first plurality of candidate areas and the second plurality of candidate areas to determine final pattern match results; and generating an output indicating the final pattern match results.
-
-
22. A method for detecting patterns in an image, the method comprising:
-
performing first pattern matching on the image using a first pattern matching technique, wherein said performing first pattern matching determines a first plurality of candidate areas; performing second pattern matching on the image using a second different pattern matching technique, wherein said performing second pattern matching determines a second plurality of candidate areas, wherein at least one of said first pattern matching technique and said second pattern matching technique uses a hill-climbing technique; analyzing the first plurality of candidate areas and the second plurality of candidate areas to determine final pattern match results; and generating an output indicating the final pattern match results.
-
-
23. A method for detecting patterns in an image, the method comprising:
-
performing first pattern matching on the image using a plurality of different pattern matching techniques, wherein said performing first pattern matching determines a plurality of candidate areas for each of said plurality of different pattern matching techniques, wherein said performing first pattern matching on the image using a plurality of different pattern matching techniques comprises calculating a matching score for each of the plurality of candidate areas; analyzing the plurality of candidate areas produced by each of said plurality of different pattern matching techniques to determine pattern match results, wherein said analyzing comprises analyzing said matching scores to determine said pattern match results; and generating an output indicating the pattern match results. - View Dependent Claims (24, 25)
-
-
26. A method for detecting patterns in an image, the method comprising:
-
performing first pattern matching on the image using a plurality of different pattern matching techniques, wherein said performing first pattern matching determines a plurality of candidate areas for each of said plurality of different pattern matching techniques; analyzing the plurality of candidate areas produced by each of said plurality of different pattern matching techniques to determine pattern match results, wherein said analyzing the plurality of candidate areas comprises generating a plurality of intermediate candidate areas; performing second pattern matching on each of said plurality of intermediate candidate areas using a high-resolution pattern matching technique to determine final pattern match results; and generating an output indicating the pattern match results.
-
-
27. A method for detecting patterns in an image, the method comprising:
-
performing first pattern matching on the image using a plurality of different pattern matching techniques, wherein said performing first pattern matching determines a plurality of candidate areas for each of said plurality of different pattern matching techniques, wherein the first pattern matching comprises coarse pattern matching, and wherein the plurality of candidate areas comprises a plurality of coarse candidate areas; analyzing the plurality of candidate areas produced by each of said plurality of different pattern matching techniques to determine pattern match results, wherein the analyzing comprises determining a subset of the plurality of pattern matching techniques based on a metric; generating an output indicating the pattern match results; performing second pattern matching on each of the plurality of coarse candidate areas using the subset of pattern matching techniques, wherein the performing second pattern matching determines one or more fine candidate areas for each of the subset of pattern matching techniques; analyzing the one or more fine candidate areas produced by each of the subset of pattern matching techniques to determine final pattern match results; and generating an output indicating the final pattern match results. - View Dependent Claims (28, 29, 30, 31, 32, 33)
-
-
34. A method for detecting patterns in an image, the method comprising:
-
performing first pattern matching on the image using a plurality of different pattern matching techniques, wherein said performing first pattern matching determines a plurality of candidate areas for each of said plurality of different pattern matching techniques, wherein at least a portion of said plurality of pattern matching techniques are performed concurrently; analyzing the plurality of candidate areas produced by each of said plurality of different pattern matching techniques to determine pattern match results; and generating an output indicating the pattern match results.
-
-
35. A method for detecting a pattern in an image, the method comprising:
-
a Graphical User Interface (GUI) receiving user input specifying a desired characteristic of a pattern matching task; performing coarse pattern matching on the image using a plurality of different pattern matching techniques, wherein said performing coarse pattern matching determines a plurality of coarse candidate areas for each of said plurality of different pattern matching techniques; analyzing the plurality of coarse candidate areas produced by each of said plurality of different pattern matching techniques to select one or more of the pattern matching techniques in accordance with said desired characteristic; performing fine pattern matching on each of the plurality of coarse candidate areas using said selected one or more pattern matching techniques to determine one or more final match candidate areas; and generating an output indicating the final match candidate areas, wherein the final match candidate areas each includes the detected pattern. - View Dependent Claims (36, 37, 38, 39, 40, 41, 42)
-
-
43. A method for detecting patterns in an image, the method comprising:
-
performing first pattern matching on the image using a first pattern matching technique, wherein said performing pattern matching determines a first plurality of candidate areas; performing second pattern matching on the image using a second different pattern matching technique, wherein said performing pattern matching determines a second plurality of candidate areas; analyzing the first plurality of candidate areas and the second plurality of candidate areas to determine a third plurality of candidate areas; performing third pattern matching on each of the third plurality of candidate areas using a third different pattern matching technique, wherein said performing third pattern matching generates final pattern match results; and generating an output indicating the final pattern match results. - View Dependent Claims (44, 45, 46, 47)
-
-
48. A method for detecting patterns in an image, the method comprising:
-
performing first pattern matching on the image using a first pattern matching technique, wherein said performing first pattern matching determines a first plurality of candidate areas; performing second pattern matching on the image using a second pattern matching technique, wherein the second pattern matching technique is different than the first pattern matching technique, wherein said performing second pattern matching determines a second plurality of candidate areas; performing third pattern matching on the first plurality of candidate areas using the second pattern matching technique to generate first pattern match results; performing fourth pattern matching on the second plurality of candidate areas using the first pattern matching technique to generate second pattern match results; analyzing the first match results and the second match results to determine final pattern match results; and generating an output indicating the final pattern match results. - View Dependent Claims (49, 50, 51, 52, 53, 54, 55, 56)
-
-
57. A method for detecting patterns in an image, the method comprising:
-
performing coarse pattern matching on the image using a plurality of different pattern matching techniques, wherein said performing coarse pattern matching determines one or more coarse candidate areas for each of said plurality of different pattern matching techniques, and wherein said performing coarse pattern matching generates a match score associated with each pattern matching technique for each coarse candidate area; determining a best score from said match scores, wherein said best score indicates a best pattern match; selecting a pattern matching technique from said plurality of different pattern matching techniques based on said best score; performing fine pattern matching on each of the plurality of coarse candidate areas using said selected pattern matching technique to determine one or more final match candidate areas; and generating an output indicating the final match candidate areas, wherein the final match candidate areas each include the detected pattern. - View Dependent Claims (58, 59, 60, 61, 62, 63)
-
-
64. A system for detecting a pattern in an image, the system comprising:
-
a camera which is operable to generate an image; a processor; and a memory medium coupled to the processor, wherein the memory medium stores one or more pattern matching programs for detecting patterns in the image, and wherein the memory medium further stores a Graphical User Interface (GUI) program; wherein the processor is operable to execute the GUI program to implement; receiving user input specifying a desired characteristic of a pattern matching task; wherein the processor is further operable to execute the one or more pattern matching programs to implement; performing a coarse pattern matching search on the image using a plurality of different pattern matching techniques, wherein said performing a coarse pattern matching search determines one or more coarse candidate areas for each of said plurality of different pattern matching techniques; analyzing the one or more coarse candidate areas produced by each of said plurality of different pattern matching techniques to select one or more of the pattern matching techniques in accordance with said desired characteristic; performing a fine pattern matching search on each of the coarse candidate areas using said selected one or more pattern matching techniques to determine one or more final match candidate areas; and generating an output indicating the one or more final match candidate areas, wherein the one or more final match candidate areas each include the detected pattern.
-
-
65. A system for detecting patterns in an image, the system comprising:
-
a camera which is operable to generate an image; a processor; and a memory medium coupled to the processor, wherein the memory medium stores one or more pattern matching programs for detecting patterns in the image; wherein the processor is operable to execute the one or more pattern matching programs to implement; applying a first pattern matching technique to the image to determine a first plurality of candidate areas; applying a second pattern matching technique to the image to determine a second plurality of candidate areas; analyzing the first plurality of candidate areas and the second plurality of candidate areas to determine a third plurality of candidate areas; generating output indicating the final match candidate areas, wherein the final match candidate areas each includes the detected pattern. applying a third different pattern matching technique to each of the third plurality of candidate areas, thereby generating final pattern match results; and generating output indicating the final pattern match results.
-
-
66. A system for detecting patterns in an image, the system comprising:
-
a camera which is operable to generate an image; a processor; and a memory medium coupled to the processor, wherein the memory medium stores one or more pattern matching programs for detecting patterns in the image; wherein the processor is operable to execute the one or more pattern matching programs to implement; performing a coarse pattern matching search on the image using a plurality of different pattern matching techniques, wherein said performing a coarse pattern matching search determines one or more coarse candidate areas for each of said plurality of different pattern matching techniques, and wherein said performing a coarse pattern matching search generates a match score associated with each pattern matching technique for each coarse candidate area; determining a best score from said match scores, wherein said best score indicates a best pattern match; selecting a pattern matching technique from said plurality of different pattern matching techniques based on said best score; performing a fine pattern matching search on each of the plurality of coarse candidate areas using said selected pattern matching technique to determine one or more final match candidate areas; and generating output indicating the final match candidate areas, wherein the final match candidate areas each includes the detected pattern.
-
-
67. A system for detecting a pattern in an image, the system comprising:
-
means for receiving user input specifying a desired characteristic of a pattern matching task; means for performing coarse pattern matching on the image using a plurality of different pattern matching techniques, thereby generating a plurality of coarse candidate areas for each of said plurality of different pattern matching techniques; means for analyzing the plurality of coarse candidate areas generated by each of the plurality of different pattern matching techniques to select one or more of the pattern matching techniques in accordance with said desired characteristic; means for performing fine pattern matching on each of the plurality of coarse candidate areas using the selected one or more pattern matching techniques, thereby generating one or more final match candidate areas; and means for producing an output indicating the final match candidate areas, wherein each of the final match candidate areas includes the detected pattern.
-
-
68. A system for detecting patterns in an image, the system comprising:
-
means for performing first pattern matching on the image using a first pattern matching technique to generate a first plurality of candidate areas in the image; means for performing second pattern matching on the image using a second different pattern matching technique to generate a second plurality of candidate areas in the image; means for analyzing the first plurality of candidate areas and the second plurality of candidate areas to determine a third plurality of candidate areas; means for performing third pattern matching on each of the third plurality of candidate areas using a third different pattern matching technique to generate final pattern match results; and means for generating an output indicating the final pattern match results.
-
-
69. A computer readable medium comprising program instructions for detecting a pattern in an image, wherein the program instructions are executable by one or more processors to implement:
-
a Graphical User Interface (GUI) receiving user input specifying a desired characteristic of a pattern matching task; performing coarse pattern matching on the image using two or more different pattern matching techniques, thereby generating a plurality of coarse candidate areas for each of the plurality of different pattern matching techniques; performing an analysis of the plurality of coarse candidate areas generated by each of the two or more different pattern matching techniques to select one or more of the pattern matching techniques in accordance with said desired characteristic; performing fine pattern matching on each of the plurality of coarse candidate areas using said selected one or more pattern matching techniques to determine one or more final match candidate areas; and producing an output indicating the one or more final match candidate areas, wherein the final match candidate areas each includes the detected pattern.
-
-
70. A computer readable medium comprising program instructions for detecting a pattern in an image, wherein the program instructions are executable by one or more processors to implement:
-
performing a first pattern matching search on the image using a first pattern matching technique to generate a first plurality of candidate areas; performing a second pattern matching search on the image using a second different pattern matching technique to generate a second plurality of candidate areas; performing an analysis of the first plurality of candidate areas and the second plurality of candidate areas to determine a third plurality of candidate areas; performing a third pattern matching search on each of the third plurality of candidate areas using a third different pattern matching technique, thereby producing final pattern match results; and output the final pattern match results.
-
-
71. A computer readable medium comprising program instructions for detecting a pattern in an image, wherein the program instructions are executable by one or more processors to implement:
-
performing coarse pattern matching on the image using a plurality of different pattern matching techniques to determine one or more coarse candidate areas for each of said plurality of different pattern matching techniques, wherein said performing coarse pattern matching generates a match score for each coarse candidate area associated with each pattern matching technique; determining a best score from said match scores, wherein said best score indicates a best pattern match; selecting a pattern matching technique from said plurality of different pattern matching techniques corresponding to said best score; performing fine pattern matching on each of the plurality of coarse candidate areas using said selected pattern matching technique to determine one or more final match candidate areas; and generating an output indicating the one or more final match candidate areas, wherein the one or more final match candidate areas each includes the detected pattern.
-
Specification