US8411961B1ActiveUtility

Method and apparatus for image feature matching in automatic image stitching

86
Assignee: JIN HAILINPriority: Aug 22, 2007Filed: Oct 31, 2011Granted: Apr 2, 2013
Est. expiryAug 22, 2027(~1.1 yrs left)· nominal 20-yr term from priority
Inventors:Hailin Jin
G06V 10/757G06T 3/4038H04N 23/698G06V 10/16G06T 2207/20092G06T 7/33
86
PatentIndex Score
12
Cited by
26
References
20
Claims

Abstract

Method and apparatus for image feature matching in automatic image stitching processes. Embodiments may provide a computer-implemented method for performing a portion of an automatic image stitching process where feature correspondences are established between pairs of images. In embodiments, a computer-implemented image feature matching component may use a combination of one or more of heuristic techniques, information obtained from the user, file information related to the component images, and/or information obtained from previous feature matching iterations to narrow the number of images that are in a subset of component images to be compared for any given component image, and thus to narrow the number of pairs of component images on which image feature comparisons are performed.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A method, comprising:
 iteratively performing, by one or more computers:
 selecting a target image from a plurality of component images;
 selecting, according to one or more heuristics for selecting subsets of component images, a component image subset from among one or more subsets of the plurality of component images, wherein each component image subset includes one or more of the plurality of component images, and wherein the target image is not in a subset; 
 comparing features of the target image to features of the component images in the one or more component image subsets starting at the selected component image subset until locating a component image subset that includes a component image that overlaps the target image according to respective features of the images or until all of the component image subsets have been searched; 
 
 if said comparing locates a component image subset that includes a component image that overlaps the target image, adding the target image to the component image subset; and 
 if said comparing does not locate a component image subset that includes a component image that overlaps the target image, forming a new component image subset that includes the target image; 
 
 until all of the component images in the plurality of component images have been processed. 
 
     
     
       2. The method as recited in  claim 1 , wherein the one or more heuristics for selecting subsets of component images include one or more of file information about the component images or geometric relationship information about the component images. 
     
     
       3. The method as recited in  claim 2 , wherein the file information about the component images includes one or more of file names, image sequence numbers, or timestamps, and wherein the geometric relationship information includes one or more of information indicating overlapping images, information indicating non-overlapping images, or information describing a region of overlap between two images if the images overlap. 
     
     
       4. The method as recited in  claim 1 , wherein comparing features of the target image to features of a given one of the component images in the one or more component image subsets comprises:
 determining a region of overlap between the target image and the component image; and 
 comparing features of the target image and the component image only within the region of overlap. 
 
     
     
       5. The method as recited in  claim 1 , further comprising, if said comparing locates a component image subset that includes a component image that overlaps the target image:
 determining that the component image subset includes a component image that overlaps at least one component image in another component image subset; and 
 merging the component image subset and the other component image subset. 
 
     
     
       6. The method as recited in  claim 1 , further comprising, if said comparing locates a component image subset that includes a component image that overlaps the target image, generating feature correspondences for the target image and at least one component image in the component image subset. 
     
     
       7. The method as recited in  claim 6 , further comprising generating, from said feature correspondences, geometric relationship information about the component images in the component image subset. 
     
     
       8. The method as recited in  claim 7 , wherein the geometric relationship information includes one or more of information indicating overlapping images, information indicating non-overlapping images, or information describing a region of overlap between two images if the images overlap. 
     
     
       9. The method as recited in  claim 1 , wherein said selecting a target image from a plurality of component images comprises selecting the target image from the plurality of component images according to one or more heuristics for selecting a target image, wherein the heuristics for selecting a target image include file information about the component images. 
     
     
       10. The method as recited in  claim 9 , wherein the file information about the component images includes one or more of file names, image sequence numbers, or timestamps. 
     
     
       11. A system, comprising:
 at least one processor; and 
 a memory comprising program instructions, wherein the program instructions are executable by the at least one processor to:
 iteratively perform:
 select a target image from a plurality of component images; 
 select, according to one or more heuristics for selecting subsets of component images, a component image subset from among one or more subsets of the plurality of component images, wherein each component image subset includes one or more of the plurality of component images, and wherein the target image is not in a subset; 
 compare features of the target image to features of the component images in the one or more component image subsets starting at the selected component image subset until locating a component image subset that includes a component image that overlaps the target image according to respective features of the images or until all of the component image subsets have been searched; 
 if said comparing locates a component image subset that includes a component image that overlaps the target image, add the target image to the component image subset; and 
 if said comparing does not locate a component image subset that includes a component image that overlaps the target image, form a new component image subset that includes the target image; 
 
 until all of the component images in the plurality of component images have been processed. 
 
 
     
     
       12. The system as recited in  claim 11 , wherein the one or more heuristics for selecting subsets of component images include one or more of file information about the component images or geometric relationship information about the component images. 
     
     
       13. The system as recited in  claim 11 , wherein, to compare features of the target image to features of a given one of the component images in the one or more component image subsets, the program instructions are executable by the at least one processor to:
 determine a region of overlap between the target image and the component image; and 
 compare features of the target image and the component image only within the region of overlap. 
 
     
     
       14. The system as recited in  claim 11 , wherein the program instructions are executable by the at least one processor to, if said comparing locates a component image subset that includes a component image that overlaps the target image:
 determine that the component image subset includes a component image that overlaps at least one component image in another component image subset; and 
 merge the component image subset and the other component image subset. 
 
     
     
       15. The system as recited in  claim 11 , wherein the program instructions are executable by the at least one processor to, if said comparing locates a component image subset that includes a component image that overlaps the target image, generate geometric relationship information about the component images in the component image subset, wherein the geometric relationship information includes one or more of information indicating overlapping images, information indicating non-overlapping images, or information describing a region of overlap between two images if the images overlap. 
     
     
       16. A non-transitory computer-readable storage medium comprising program instructions, wherein the program instructions are computer-executable to implement:
 iteratively performing:
 selecting a target image from a plurality of component images; 
 selecting, according to one or more heuristics for selecting subsets of component images, a component image subset from among one or more subsets of the plurality of component images, wherein each component image subset includes one or more of the plurality of component images, and wherein the target image is not in a subset; 
 comparing features of the target image to features of the component images in the one or more component image subsets starting at the selected component image subset until locating a component image subset that includes a component image that overlaps the target image according to respective features of the images or until all of the component image subsets have been searched; 
 if said comparing locates a component image subset that includes a component image that overlaps the target image, adding the target image to the component image subset; and 
 if said comparing does not locate a component image subset that includes a component image that overlaps the target image, forming a new component image subset that includes the target image; 
 
 until all of the component images in the plurality of component images have been processed. 
 
     
     
       17. The non-transitory computer-readable storage medium as recited in  claim 16 , wherein the one or more heuristics for selecting subsets of component images include one or more of file information about the component images or geometric relationship information about the component images. 
     
     
       18. The non-transitory computer-readable storage medium as recited in  claim 16 , wherein, in said comparing features of the target image to features of a given one of the component images in the one or more component image subsets, the program instructions are computer-executable to implement:
 determining a region of overlap between the target image and the component image; and 
 comparing features of the target image and the component image only within the region of overlap. 
 
     
     
       19. The non-transitory computer-readable storage medium as recited in  claim 16 , wherein the program instructions are computer-executable to implement, if said comparing locates a component image subset that includes a component image that overlaps the target image:
 determining that the component image subset includes a component image that overlaps at least one component image in another component image subset; and 
 merging the component image subset and the other component image subset. 
 
     
     
       20. The non-transitory computer-readable storage medium as recited in  claim 16 , wherein, in said selecting a target image from a plurality of component images, the program instructions are computer-executable to implement selecting the target image from the plurality of component images according to one or more heuristics for selecting a target image, wherein the heuristics for selecting a target image include one or more of file names, image sequence numbers, or timestamps for the component images.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.