US20080123996A1 - Method of registering and aligning multiple images - Google Patents

Method of registering and aligning multiple images Download PDF

Info

Publication number
US20080123996A1
US20080123996A1 US11/931,465 US93146507A US2008123996A1 US 20080123996 A1 US20080123996 A1 US 20080123996A1 US 93146507 A US93146507 A US 93146507A US 2008123996 A1 US2008123996 A1 US 2008123996A1
Authority
US
United States
Prior art keywords
registration
alignment
layer
mosaic
correspondence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US11/931,465
Inventor
Vyacheslav Zavadsky
Jason Abt
Mark Braverman
Edward Keyes
Vladimir Martincevic
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Semiconductor Insights Inc
Original Assignee
Semiconductor Insights Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Semiconductor Insights Inc filed Critical Semiconductor Insights Inc
Priority to US11/931,465 priority Critical patent/US20080123996A1/en
Publication of US20080123996A1 publication Critical patent/US20080123996A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4038Scaling the whole image or part thereof for image mosaicing, i.e. plane images composed of plane sub-images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/16Image acquisition using multiple overlapping images; Image stitching

Definitions

  • the present invention relates to a method of registration and vertical alignment of multiple images, and more specifically to a vertical alignment method whereby two or more mosaicked images represent separate layers of a common object in a stacked overlay configuration.
  • An image mosaic is a powerful analytical tool when observing large areas in fine detail. It is often necessary, when tracking ice drifts or the movement of geographical features, to mosaic multiple photographs with a common resolution, into a single image that shows the entire area of interest. These mosaics typically occur only in two dimensions, where the images are mosaicked only along the width and length of the image.
  • Integrated circuits are sometimes analysed using similar techniques, in order that the IC may be reverse-engineered or examined for quality control.
  • ICs are made up of multiple layers of semiconductor and metal, overlaid on top of one another in order to create interconnected circuitry.
  • multiple images of each layer of the IC are collected in a matrix pattern of rows and columns and then “stitched” together to form a mosaic.
  • this may introduce errors in the analysis.
  • pair-wise registration is a well-known technique in the art, is used to digitally stitch together the images on a common plane by minimizing registration errors. Pair-wise registration accomplishes this through calculation of the relative image coordinates of a pair of images, and the selection of a single pair of corresponding points between the two images. More images may be pair-wise registered by applying a similar technique to another image and the previously registered image pair. Such a registration can be performed by techniques described in the paper “A survey of image registration techniques” by L. Brown, ACM Computing Surveys , Vol 24, Issue 4, 1992, incorporated by reference herein.
  • Global image registration allows for the finding of relative coordinates of overlapped images, in order to compensate for errors introduced by the image acquisition system.
  • all of the images to be registered are manipulated until a registration is achieved that minimizes and distributes the registration errors between them and across each image. This can be done by, for example, using least squares energy minimization.
  • least squares based energy minimization The details of least squares based energy minimization are given in Chapter One of the Proceedings of Sixth Annual PIMS Industrial Problem Solving Workshop, 2002, Pacific Institute for Mathematical Sciences, which is incorporated by reference herein.
  • the prior art does not address several issues. In some cases, there is not enough information in the overlapping section of the images to define relative coordinates with enough precision. Alternatively, there may be no overlapping section, due to issues with the image acquisition system, or erroneous pair-wise registration. The presence of such erroneous relative coordinates adversely affects the quality of registration of large numbers of nearby images, as the error is distributed by the energy minimization procedure across the image.
  • the present invention provides an improved registration method to compensate for alignment errors in multiple layer mosaicking applications.
  • the present invention provides a method of creating a horizontally registered and vertically aligned multiple-layered mosaic of images of an object, comprising the steps of: a) for each layer of detail of the object to be imaged: i) capturing the detail of the layer in a series of overlapping captured images; ii) performing pair-wise registration of the captured images of the layer into a mosaic; and iii) performing global registration of the mosaic of the layer, into an optimised mosaic layer; b) identifying at least one alignment correspondence pair, located on an image on a first optimised mosaic layer and on at least one image on a separate optimised mosaic layer, so that the first layer may be more accurately aligned with the other layers using the at least one alignment correspondence pair; and c) iteratively:
  • the present invention provides a method of creating a horizontally registered and vertically aligned multiple-layered mosaic of images of an object, comprising the steps of:
  • a method of creating a horizontally registered and vertically aligned multiple-layered mosaic of images of a portion of an object comprising the steps of:
  • the registration method of the present invention may further comprise a notification means to inform a human operator of the need to inspect outliers (points of correspondence which fall outside of the norm) or low confidence pairs and apply user-defined registration correspondence points and/or alignment correspondence pairs.
  • FIG. 1 (PRIOR ART) is a representational view of a matrix of images in a row and column configuration
  • FIG. 2 (PRIOR ART) is a partial representational view of two overlaid layers of the type shown in FIG. 1 .
  • FIG. 3 is a flow chart illustrating the steps for registering a number of images into layers and aligning a number of vertical layers while searching for alignment errors, in accordance with a first aspect of the present invention
  • FIG. 4 is a flow chart illustrating the steps for registering a number of images into layers and aligning a number of vertical layers while searching for alignment errors, in accordance with a second aspect of the present invention
  • FIG. 5 is a representational view of two layers of image grids having points of correspondence between them in accordance with an embodiment of the present invention
  • FIG. 6 is a photograph of an overlapped pair of images showing substantial registration error
  • FIG. 7 is a photograph of the pair of images depicted in FIG. 6 after relative coordinates had been corrected according to the results of pair-wise image registration in accordance with the embodiment of FIG. 3 ;
  • FIG. 8 is a photograph of a pair of overlapped images where the overlapped region does not contain enough information to perform pair-wise registration
  • FIG. 9 is a photograph of the pair of overlapped images of FIG. 8 , showing two different results of the pair-wise registration procedure
  • FIG. 10 is a mosaic photograph of four images that are missing an overlapping area.
  • FIG. 11 is a photograph of a layer of metal from an integrated circuit, showing the presence of vias.
  • the imaging may for example, be done in a three-dimensional matrix of images in the form of a plurality of layers 10 , each comprising a matrix of smaller images corresponding to the viewing area of the imaging device, as shown in FIG. 1 .
  • An imaging system (not shown) designed for gathering images in such a fashion and known to those having ordinary skill in this art, captures each image and assigns it a set of coordinates.
  • each image 12 is represented as (k, i, j) where k is the layer number, i is the column number and j is the row number of the image within the matrix corresponding to the layer, then the image will be assigned coordinates ⁇ (k,i,j) as defined by the imaging system used.
  • the images may slightly overlap 14 , in order to provide some points of reference for registering the images having a common column and/or row together.
  • the coordinate space defined by the imaging system may depend on the specific settings used by the imaging system. For example, one system may define the scope of the image taken in terms of a global (x,y) coordinate reference point corresponding to a known point within the viewing area of the imaging device, and a magnification level to be applied to all images in the matrix. Alternatively, the imaging system may define the image scope by the global (x,y) coordinate reference point and a rotation or an affine transform (a transform of coordinates needed to arrive at a new point). For example, one could introduce a coordinate system with the origin in the center of the viewing area. The affine distortion transformation could be denoted by:
  • imaging systems are not perfect, and may define ⁇ (k,i,j) with some error.
  • image capture Being a physical process, image capture inherently introduces distortions in the registration, which may be sufficient to affect the correctness of the overall mosaic.
  • distortions include shifts, rotations, dilations and shearing or skewing.
  • Shifts are due to imperfections in the positioning of the microscope, which causes one layer of images to be slightly shifted relatively to another, even though nominally they are at the same location.
  • the lowest wiring layer may be denoted M 1 , the second lowest wiring layer by M 2 and so on.
  • the layer of vias connecting M 1 to M 2 could be denoted by V 1 , and the vias layer connecting M 2 to M 3 by V 2 etc.
  • V i considered denoted by v i
  • M i+1 considered denoted by m i+1
  • the shift of v i relative to m i+1 needed to correct the situation by s X in the x-direction and s y in the y-direction 6 .
  • both s X and s Y should be less than forty pixels. This estimate will vary substantially depending on the imaging system, focus level, resolution, and the field size of the image. The forty pixel estimate is based on an image having a field size 4096 pixels.
  • Rotations are similar to shifts in that it is possible that V i is slightly rotated relatively to m i+1 .
  • the angle by which one would need to rotate V i to improve the situation.
  • is measured counter-clockwise. Typically, ⁇ is at most a few degrees.
  • Shearing or skewing constitutes a non-linear distortion in either the x- or y-direction of the image. Typically, the shear would be less than one percent in either direction.
  • the error occasioned by the vagaries of the image capture process can be minimized by selecting identifiable registration correspondence points on the overlapping portions of adjacent images within the matrix and performing image registration on the matrix of images in light of the registration correspondence points, using an error minimization algorithm, such as least squares energy minimization.
  • Least squares energy minimization is typically used to calculate ⁇ ′ (k,i,j) using the registration correspondence points and the existing coordinates ⁇ (k,i,j) .
  • Other error minimization algorithms could be used, such as are known by those having ordinary skill in this art.
  • the first images of each layer may be ideally registered 26 , however, even small (half pixel) registration errors 28 on each layer can accumulate into a substantial misalignment over the course of a large area.
  • small (half pixel) registration errors 28 on each layer can accumulate into a substantial misalignment over the course of a large area.
  • is the visible imperfection in the overlap area in number of pixels and M is a column and N is a row within the layer's matrix and max (M, N) identifies the magnitude of the misalignment of the matrix element that has the maximum misalignment between the layers in question.
  • the logic flow of a first preferred embodiment of the present invention is described in the flow chart of FIG. 3 .
  • the flow chart details steps designed to iteratively minimize the registration and alignment errors in creating a vertically aligned mosaic of two or more layers of images.
  • Images of a portion of the target object are captured for each layer individually 30 .
  • a first attempt is made at pair-wise registering a layer of a multiple-layered image area 34 using pair-wise registration, or such other registration technique as may be known to those having ordinary skill in this art. This may be accomplished by the image capturing system by storing the captured images in a matrix corresponding to the notional parameters of the viewing area and applying pair-wise registration using common overlapping structures, such as gray areas, as notional clusters of registration correspondence points.
  • step 34 The steps of registration and error minimization as performed in step 34 are now further illustrated. Let us consider the case when two matrices are of the same size M ⁇ N; and the coordinate system is an affine transform:
  • ⁇ k,i,j H , ⁇ k,i,j V are relative coordinates found by pair-wise registration for horizontal and vertical overlap areas respectively.
  • r z x k,i,j ⁇ x k,i,j+1 ⁇ k,i,j V x,
  • the results of the pair-wise registration attempt 34 are then analysed in order to identify statistical outliers and general errors in the registration 36 .
  • this may be a manual visual inspection.
  • the examination of the results of the registration attempt could be automated. For example, one could use a computer algorithm with the following parameters to assess the reliability of a particular local matching:
  • the amount of vias in the particular patch one cannot base judgment on the correct shift of the patch if there are no vias or just one or two vias in it, which could constitute noise entries; b.
  • the amount of matching after the shift ideally, this would be 100%, but in practice should be almost to this level, which suggests virtually all of the vias are matched; and c.
  • the variance and the solution one would want the matching to be unique or near unique. Otherwise one would not know the different optimal matchings is the appropriate one. For example, if the patch happens to be above a wide metal bus, all the matchings would be “good” and one would have no way of knowing which one to choose. In the case where the variance is too large, it may be preferable to ignore the particular patch and look for a better one.
  • the objective would be to find three different reliable local matchings. One starts in different corners in order that the matchings be kept far apart from each other in order to optimize the three point matching.
  • the registration could be accomplished by a three-point matching, which maps their respective upper-left corner to their positions, as modified by the shifts identified by the energy function.
  • M i+1 may be generated as a black and white bitmap with a brightness of 255 whenever there is metal on layer M i+1 and zero everywhere else.
  • V i could be a black and white bitmap with a brightness of 255 whenever there is a via. It is a design rule that any vias on the V i layer must be connected to metal on both the M i and the M i+1 layers. An ideal solution, therefore would be one where each via in V i is matched to a metal in M i+1 .
  • the energy function of a solution is a sum of all penalties for individual pixels/vias.
  • One of the reasons that one might never get a perfect solution is the possibility of false vias in V i (i.e., the via appears in the image but is not really in existence), and omissions of metal from M i+1 .
  • w z is a non-negative weight assigned to the seams or edges of two images which are to be registered or aligned, according to a reliability estimate in which more reliable seams have substantially higher weights and user input.
  • changing the minimum number of vias per patch, the amount of matching after the shift and the variance in the solution will not typically affect the outcome of the computation in most cases, since those parameters only become relevant with problematic patches with poor quality parameters. Rather, the most important parameter appears to be the basic patch size.
  • selecting the size is the best outcome and provides good results.
  • the set of errors detected could lead to the identification of certain correspondence registration points between image pairs thought to be useful in increasing the accuracy of the registration attempt.
  • certain existing registration correspondence points may be discarded as constituting an outlier or an error 38 .
  • the initial registration attempt did not rely on the identification of any specific registration correspondence points, these could only be discarded after the second (global) registration attempt.
  • the matrix part of the affine transform is not present in the error equations for one layer and is not computed during step 36 of the first embodiment shown in FIG. 3 .
  • Registration correspondence points are then identified, which are thought to keep the error to a minimum 38 .
  • Each registration correspondence point is found on or associated with at least two images in the layer. We have found that, on average, one registration correspondence point associated with both of the two images in the layer for every nine images proves sufficient in this regard. Indeed, by deconstructing sample registration approaches, using a matrix of 160 images, we have found that satisfactory registration occurred in the best case with a total of only 7 registration correspondence points. In the worst case, registration required 30 such registration correspondence points.
  • the registration attempt is not done on a pair-wise basis, as was the case in the original registration attempt, but on a global basis wherein any of the images in the layer could be moved relative to the others in order to provide a more satisfactory result.
  • the result of the registration is determined by applying an energy minimization approach, such as a weighted least squares energy minimization.
  • the weighted least squares energy minimization problem can be efficiently solved by publicly available software LSQR, described by C. C. Paige and M. A. Saunders, LSQR: An algorithm for sparse linear equations and sparse least squares , TOMS 8(1), 43-71 (1982), incorporated by reference herein.
  • Outlier terms in the energy function can be found by the methods described in Robust Regression and Outlier Detection by Peter J. Rousseeuw, Annick M. Leroy, 2003 incorporated by reference herein. Overlapping areas corresponding to such areas can be brought to the operator for inspection.
  • order statistic refers to statistical methods that depend only on the ordering of the data and not on its numerical values. So, for instance, the mean, or average of the data, while easy to compute and very important as an estimate of a central value, is not an order statistic.
  • the mode most commonly occurring value also does not depend on ordering, although the most efficient methods for computing it in a comparison-based model involve sorting algorithms.
  • the most commonly used order statistic is the median, the value in the middle position in the sorted order of the values.
  • Another formulation would be to group the data into two or more groups according to their reliability level, then minimizing the weighted least squares energy, taking into the account the most reliable group, and minimizing the energy in the least reliable groups, subject to a non-increase of the energy in the most reliable groups.
  • TSNNLS A Solver for Large Sparse Least Squares with Non - Negative Variables by Jason Cantarella, preprint of Department of Mathematics and Computer Science, Duquesne University, incorporated by reference herein.
  • the overlap area does not contain enough information to reliably compute relative coordinates.
  • the set of registration correspondence points will be further adjusted 38 and then a further global registration attempt made 40 .
  • This process of adjusting the set of registration correspondence points 38 , performing a global registration attempt using the adjusted set of registration correspondence points 40 and inspecting the results of the registration attempt 42 could be iteratively repeated until a satisfactory level of registration is ultimately achieved.
  • At least one pair of alignment correspondence points must be selected between each adjacent layer pair 46 .
  • These points of alignment correspondence are points that represent the identical space between at least two adjacent layers.
  • a human operator could manually identify points of correspondence between the adjacent layers.
  • markers may be inserted into the layers, before they are imaged, to be used as points of correspondence during the alignment stage. Such markers must be visible between layers.
  • a computer could be configured to automatically select points of correspondence using image recognition software. In IC applications, for example, as discussed above, it is known that via interconnects visible on the bottom layer should go to metallization areas on the top layer.
  • a template of a via pattern can be selected on one layer, and a search initiated on an adjacent layer, for this template.
  • This provides better points of correspondence between the adjacent layers.
  • it is preferable to use a template of a small area, in order to ensure that all vias arrive at a destination on the adjacent layer. Occasionally vias are intentionally left “floating” between layers and do not connect to the adjacent layer.
  • the computer can be directed to perform a rough alignment.
  • FIG. 11 shows vias on one layer being roughly matched to vias on an adjacent layer.
  • a combined alignment and global registration attempt is made by computing global coordinates on all layers substantially simultaneously using an error minimization technique, such as least squares energy minimization 48 . This results in both alignment and global registration of the images.
  • the results of the alignment attempt 50 are then analysed in order to identify statistical outliers and general errors in the alignment 46 .
  • this may be a manual visual inspection.
  • the examination of the results of the alignment attempt could be automated. Whichever method is used, the set of errors detected could lead to the identification of certain additional alignment correspondence pairs thought to be useful in increasing the accuracy of the alignment attempt.
  • certain existing alignment correspondence pairs may be discarded as constituting an outlier or an error 46 .
  • This process of adjusting the set of alignment correspondence pairs 46 , performing a combined alignment and global registration attempt using the adjusted set of alignment correspondence pairs and the existing set of registration correspondence points 48 and inspecting the results of the registration attempt 50 could be iteratively repeated until a satisfactory level of alignment and global registration is ultimately achieved.
  • the method may be adjusted to permit greater degrees of freedom (such as degrees of movement or rotation of individual images) in order to accurately minimize the overall alignment and registration errors.
  • the alignment in step 48 is substantially different from the registration performed in step 34 .
  • the equation for the alignment correspondence pair error is given by the following equation:
  • the energy function has to be optimized with respect to the variables
  • the registration process occurs sequentially before alignment is attempted.
  • FIG. 5 illustrates two overlaid layers 82 , 84 in a matrix configuration of overlapping images 86 (for clarity, regions of overlap are not shown).
  • the layers 82 , 84 include points of correspondence defined as pairs 80 a , 80 b , 88 a , 88 b and 92 a , 92 b , which may be selected by the human operator, or alternately computer selected based on a number of image recognition techniques as earlier described. Points 80 a , 88 a and 92 a are located on layer 82 and points 80 b , 88 b and 92 b are located on layer 84 .
  • the process of this first embodiment uses these correspondence pairs to align the two mosaicked image layers.
  • the points of registration and alignment correspondence are correct. After the system calculates the global coordinates for the two mosaicked image layers, it may be determined by inspection that the images are not correctly aligned. Before selecting new alignment correspondence pairs, the initial set of alignment correspondence pairs is inspected. In this case, it may be observed that points 80 a and 80 b do not actually correspond. Thus, these points are removed from the list of alignment correspondence pairs and new pairs may be identified. Another alignment and global registration attempt is performed, and the alignment correspondence pairs are again inspected. This process continues until there is satisfaction that the two layers are satisfactorily aligned and registered.
  • a second embodiment of the present invention is described in detail with reference to the flow chart illustrated in FIG. 4 .
  • the steps describe the algorithm used to vertically align two or more layers in a stacked overlay configuration representing the same area.
  • the registration and alignment steps are performed substantially simultaneously.
  • the preliminary steps of performing iterative registration on a layer-by-layer basis are omitted.
  • process simplicity is obtained, it may be at the cost of the quality of the overall result, and may result in a more computationally complex alignment step.
  • images of the components of at least two adjacent layers are captured in the initiating step 54 .
  • all of the target layers could be acquired in this initial step, but it is sufficient to acquire the images of only two adjacent layers.
  • a first attempt is made at globally registering and aligning the imaged layers of a multiple-layered image area 60 using an error minimization technique such as least squares energy minimization, or such other error minimization algorithm as may be known to those having ordinary skill in this art.
  • an error minimization technique such as least squares energy minimization, or such other error minimization algorithm as may be known to those having ordinary skill in this art.
  • the results of the registration and alignment attempt 62 are then analysed in order to identify statistical outliers and general errors in the registration and alignment. Typically, this may be a manual visual inspection. However, the examination of the results of the registration attempt could be automated. Whichever method is used, the set of errors detected could lead to the identification of certain additional registration correspondence points between adjacent image in a layer and/or alignment correspondence pairs between corresponding images on different layers thought to be useful in increasing the accuracy of the registration and alignment attempt 58 . Alternatively, certain existing registration correspondence points and/or alignment correspondence pairs may be discarded as constituting an outlier or an error.
  • This process of adjusting the set of registration correspondence points and alignment correspondence pairs 58 , performing a global registration and alignment attempt using the adjusted set of registration correspondence points and alignment correspondence pairs 60 and inspecting the results of the registration and alignment attempt 62 could be iteratively repeated until a satisfactory level of registration and alignment is ultimately achieved.
  • FIG. 6 a pair of images is shown 94 , 96 that have an overlap region 98 that has not been correctly registered.
  • FIG. 7 the images from FIG. 6 are shown again 94 , 96 .
  • the overlap regions have now been correctly registered and the seam 100 , shows the transition line that can be seen from the first photo 94 to the second 96 .
  • FIG. 8 a pair of images is shown 102 a and 104 a that do not contain sufficient information to easily register the two images.
  • the seam 106 a between them shows the point at which the two have currently been registered.
  • FIG. 9 shows the pair of images as registered from FIG. 8 , and the subsequent results of another registration attempt, showing the images 102 b and 104 b in another registration with a new seam 106 b.
  • FIG. 10 shows four images 108 , 110 , 116 , 114 in a registration configuration, which is missing an overlap region 112 .
  • FIG. 11 shows a metal layer 124 , with an overlaid via layer 122 , which is slightly out of alignment. Some vias are located in a likely location 120 , while others appear to be floating 126 .
  • the present invention advantageously provides an efficient means to compensate for the accumulation of misalignment errors in imaging application in which two or more layers are imaged.
  • the present invention can be implemented in digital electronic circuitry, or in hardware, firmware, software, or in combination thereof.
  • Apparatus of the invention can be implemented in a computer program product tangibly embodied in a machine-readable storage device for execution by a programmable processor; and methods actions can be performed by a programmable processor executing a program of instructions to perform functions of the invention by operating on input data and generating output.
  • the invention can be implemented advantageously in one or more computer programs that are executable on a programmable system including at least one input device, and at least one output device.
  • Each computer program can be implemented in a high-level procedural or object oriented programming language, or in assembly or machine language if desired; and in any case, the language can be a compiled or interpreted language.
  • Suitable processors include, by way of example, both general and specific microprocessors. Generally, a processor will receive instructions and data from a read-only memory and/or a random access memory. Generally, a computer will include one or more mass storage devices for storing data files; such devices include magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks. Storage devices suitable for tangibly embodying computer program instructions and data include al forms of non-volatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM disks. Any of the foregoing can be supplemented by, or incorporated in ASICs (application-specific integrated circuits).
  • ASICs application-specific integrated circuits
  • the system may comprise a processor, a random access memory, a hard drive controller, and an input/output controller coupled by a processor bus.

Abstract

A method of registering and vertically aligning multiply-layered images into a mosaic is described. The method comprises performing an iterative process of vertical alignment of layers into a mosaic using a series of defined alignment correspondence pairs and global registration of images in a layer using a series of defined registration correspondence points and then redefining the identified alignment correspondence pairs and/or registration correspondence points until a satisfactory result is obtained. Optionally, an initial global registration of each layer could be performed initially before commencing the alignment process. The quality of the result could be determined using a least squares error minimization or other technique.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This is a continuation under 35 U.S.C. § 111(a) of U.S. Ser. No. 11/201,233 filed Aug. 10, 2005, and claims priority of CA 2,507,175 filed May 13, 2005, incorporated by reference.
  • FIELD OF THE INVENTION
  • The present invention relates to a method of registration and vertical alignment of multiple images, and more specifically to a vertical alignment method whereby two or more mosaicked images represent separate layers of a common object in a stacked overlay configuration.
  • BACKGROUND OF THE INVENTION
  • The creation of an image mosaic is a powerful analytical tool when observing large areas in fine detail. It is often necessary, when tracking ice drifts or the movement of geographical features, to mosaic multiple photographs with a common resolution, into a single image that shows the entire area of interest. These mosaics typically occur only in two dimensions, where the images are mosaicked only along the width and length of the image.
  • Integrated circuits (ICs) are sometimes analysed using similar techniques, in order that the IC may be reverse-engineered or examined for quality control. ICs are made up of multiple layers of semiconductor and metal, overlaid on top of one another in order to create interconnected circuitry. When analyzing these devices, multiple images of each layer of the IC are collected in a matrix pattern of rows and columns and then “stitched” together to form a mosaic. In performing the analysis, one can examine the mosaic of each layer of the IC, and understand the interconnections of the overall circuit. Alternatively, to save time, one can overlay partially transparent mosaics of each layer to more clearly understand the interconnections of the overall circuit. However, as there will be small errors between the layers in the alignment of the overlaid images in each mosaic, this may introduce errors in the analysis.
  • A procedure called pair-wise registration, which is a well-known technique in the art, is used to digitally stitch together the images on a common plane by minimizing registration errors. Pair-wise registration accomplishes this through calculation of the relative image coordinates of a pair of images, and the selection of a single pair of corresponding points between the two images. More images may be pair-wise registered by applying a similar technique to another image and the previously registered image pair. Such a registration can be performed by techniques described in the paper “A survey of image registration techniques” by L. Brown, ACM Computing Surveys, Vol 24, Issue 4, 1992, incorporated by reference herein.
  • Global image registration allows for the finding of relative coordinates of overlapped images, in order to compensate for errors introduced by the image acquisition system. When the images are globally registered, all of the images to be registered are manipulated until a registration is achieved that minimizes and distributes the registration errors between them and across each image. This can be done by, for example, using least squares energy minimization. The details of least squares based energy minimization are given in Chapter One of the Proceedings of Sixth Annual PIMS Industrial Problem Solving Workshop, 2002, Pacific Institute for Mathematical Sciences, which is incorporated by reference herein.
  • However, the prior art does not address several issues. In some cases, there is not enough information in the overlapping section of the images to define relative coordinates with enough precision. Alternatively, there may be no overlapping section, due to issues with the image acquisition system, or erroneous pair-wise registration. The presence of such erroneous relative coordinates adversely affects the quality of registration of large numbers of nearby images, as the error is distributed by the energy minimization procedure across the image.
  • Also, when different mosaics, showing the same area but in relation to different layers, are registered independently of one another, it may happen that error will be accumulated such that vertical alignment of these two mosaics would be impossible without changing the way they were registered, which the prior art does not consider.
  • As well, in the prior art, there is no way to collect human operator feedback or integrate inspection results as to the fit of the registration. Thus, should the results of the energy minimization approach be unacceptable, an operator may have to move a large number of images manually.
  • Therefore, a need exists in the art for an image-mosaicking algorithm that will compensate not only for registration errors within a single layer, but also alignment errors across multiple layers of the same area in an overlay configuration that will allow for inspection and correction of both the registration and alignment of the constituent images.
  • SUMMARY OF THE INVENTION
  • The present invention provides an improved registration method to compensate for alignment errors in multiple layer mosaicking applications.
  • According to a first broad aspect, the present invention provides a method of creating a horizontally registered and vertically aligned multiple-layered mosaic of images of an object, comprising the steps of: a) for each layer of detail of the object to be imaged: i) capturing the detail of the layer in a series of overlapping captured images; ii) performing pair-wise registration of the captured images of the layer into a mosaic; and iii) performing global registration of the mosaic of the layer, into an optimised mosaic layer; b) identifying at least one alignment correspondence pair, located on an image on a first optimised mosaic layer and on at least one image on a separate optimised mosaic layer, so that the first layer may be more accurately aligned with the other layers using the at least one alignment correspondence pair; and c) iteratively:
      • i. Performing alignment and global registration of all of the optimised mosaic layers into a substantially aligned mosaic, using the identified alignment correspondence pairs and the registration correspondence points associated with each optimised mosaic layer; and
      • ii. Redefining the identified alignment correspondence pairs;
      • until the alignment of the layers is optimized.
  • According to a second broad aspect, the present invention provides a method of creating a horizontally registered and vertically aligned multiple-layered mosaic of images of an object, comprising the steps of:
  • a. Capturing the detail of each of the layers in a series of overlapping images;
    b. Performing pair-wise registration of the captured images of each of the layers into a mosaic;
    c. for a plurality of layers of detail of the object to be imaged:
      • i. identifying at least one registration correspondence point, each located on two images, so that a captured image may be more accurately registered with the other images on the same layer using the at least one registration correspondence point and identifying at least one alignment correspondence pair, located on an image on a first layer and on at least one image on a different one of the plurality of layers, so that the first layer may be more accurately aligned with the other layers using the at least one alignment correspondence pair;
      • ii. iteratively:
        • A. performing global registration of the captured images of each of the plurality of layers into a mosaic, using the identified registration correspondence points for the layer and performing alignment of all of the plurality of layers into a mosaic, using the identified alignment correspondence pairs;
        • B. redefining the identified registration correspondence points for each of the plurality of layers and the identified alignment correspondence pairs;
        • C. until the registration and alignment of the plurality of layers is optimised; and adding at least one layer to the plurality of layers;
        • until the alignment of all of the layers of detail of the object is imaged and optimized.
  • According to a third broad aspect of an embodiment of the present invention, there is disclosed a method of creating a horizontally registered and vertically aligned multiple-layered mosaic of images of a portion of an object, comprising the steps of:
  • (a) for each layer of detail of the portion of the object to be imaged; (i) capturing the detail of the layer in a series of captured images; (ii) performing pair-wise registration of the captured images of the layer into a mosaic; (iii) identifying at least one registration correspondence point, associated with at least two images; (iv) performing global registration of the mosaic of the layer, into an optimized mosaic layer using the identified registration correspondence points associated with the layer; and (v) redefining the identified registration correspondence points for the layer;
  • (b) Identifying at least one alignment correspondence pair, located on an image of a first optimised mosaic layer and on at least one image on a separate optimized mosaic layer; and
  • (c) Iteratively:
      • (i) performing alignment and global registration of all of the optimised mosaic layers into a substantially aligned mosaic, using the identified alignment correspondence pairs associated with each optimized mosaic layer; and
      • (ii) redefining the identified alignment correspondence pairs and the identified registration correspondence points;
      • until the alignment of the layers is optimized.
  • The registration method of the present invention may further comprise a notification means to inform a human operator of the need to inspect outliers (points of correspondence which fall outside of the norm) or low confidence pairs and apply user-defined registration correspondence points and/or alignment correspondence pairs.
  • Other aspects and advantages of the invention, as well as the structure and operation of various embodiments of the invention, will become apparent to those ordinarily skilled in the art upon review of the following description of the invention in conjunction with the accompanying drawings.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The invention will be described with reference to the accompanying drawings, wherein:
  • FIG. 1 (PRIOR ART) is a representational view of a matrix of images in a row and column configuration
  • FIG. 2 (PRIOR ART) is a partial representational view of two overlaid layers of the type shown in FIG. 1.
  • FIG. 3 is a flow chart illustrating the steps for registering a number of images into layers and aligning a number of vertical layers while searching for alignment errors, in accordance with a first aspect of the present invention;
  • FIG. 4 is a flow chart illustrating the steps for registering a number of images into layers and aligning a number of vertical layers while searching for alignment errors, in accordance with a second aspect of the present invention;
  • FIG. 5 is a representational view of two layers of image grids having points of correspondence between them in accordance with an embodiment of the present invention;
  • FIG. 6 is a photograph of an overlapped pair of images showing substantial registration error;
  • FIG. 7 is a photograph of the pair of images depicted in FIG. 6 after relative coordinates had been corrected according to the results of pair-wise image registration in accordance with the embodiment of FIG. 3;
  • FIG. 8 is a photograph of a pair of overlapped images where the overlapped region does not contain enough information to perform pair-wise registration;
  • FIG. 9 is a photograph of the pair of overlapped images of FIG. 8, showing two different results of the pair-wise registration procedure;
  • FIG. 10 is a mosaic photograph of four images that are missing an overlapping area; and
  • FIG. 11 is a photograph of a layer of metal from an integrated circuit, showing the presence of vias.
  • DETAILED DESCRIPTION OF THE INVENTION
  • For purposes of explanation, specific embodiments are set forth to provide a thorough understanding of the present invention. However, it will be understood by one skilled in the art, from reading this disclosure, that the invention may be practised without these specific details. Moreover, well-known elements, devices, process steps and the like are not set forth in detail in order to avoid obscuring the scope of the invention described.
  • In cases where a substantially planar object is to be imaged and the viewing area of the imaging device is smaller than the object area, the imaging may for example, be done in a three-dimensional matrix of images in the form of a plurality of layers 10, each comprising a matrix of smaller images corresponding to the viewing area of the imaging device, as shown in FIG. 1. An imaging system (not shown) designed for gathering images in such a fashion and known to those having ordinary skill in this art, captures each image and assigns it a set of coordinates. If each image 12 is represented as (k, i, j) where k is the layer number, i is the column number and j is the row number of the image within the matrix corresponding to the layer, then the image will be assigned coordinates θ(k,i,j) as defined by the imaging system used. The images may slightly overlap 14, in order to provide some points of reference for registering the images having a common column and/or row together.
  • The coordinate space defined by the imaging system may depend on the specific settings used by the imaging system. For example, one system may define the scope of the image taken in terms of a global (x,y) coordinate reference point corresponding to a known point within the viewing area of the imaging device, and a magnification level to be applied to all images in the matrix. Alternatively, the imaging system may define the image scope by the global (x,y) coordinate reference point and a rotation or an affine transform (a transform of coordinates needed to arrive at a new point). For example, one could introduce a coordinate system with the origin in the center of the viewing area. The affine distortion transformation could be denoted by:

  • T(x)=Mx+(s X ,s Y).  (1)
  • Since the distortion is small, M should be close to the identity matrix I2. We denote M=I2+E, where E is a small matrix. Those having ordinary skill in this art will nevertheless readily recognize that different ways of defining the coordinate space defined by the imaging system may be used without departing from the scope of the invention.
  • Unfortunately, imaging systems are not perfect, and may define θ(k,i,j) with some error.
  • Being a physical process, image capture inherently introduces distortions in the registration, which may be sufficient to affect the correctness of the overall mosaic. Such distortions include shifts, rotations, dilations and shearing or skewing.
  • Shifts are due to imperfections in the positioning of the microscope, which causes one layer of images to be slightly shifted relatively to another, even though nominally they are at the same location.
  • For example in the context of an attempt to image an integrated circuit, the lowest wiring layer may be denoted M1, the second lowest wiring layer by M2 and so on. The layer of vias connecting M1 to M2 could be denoted by V1, and the vias layer connecting M2 to M3 by V2 etc. During the data capture process, using a microscope, two dimensional images of Mi and Vi are obtained together, because a metal layer Mi appears with the vias Vi on top of it. Thus, notionally, the images for Mi and Vi should be aligned perfectly. The objective is in reality, to align Vi by to Mi+1 in a perfect or close to perfect way.
  • Thus, with a shift, it is possible that the portion of Vi considered, denoted by vi, is shifted slightly relative to the portion of Mi+1 considered, denoted by mi+1, even though nominally they are at the same location. We denote the shift of vi relative to mi+1 needed to correct the situation by sX in the x-direction and sy in the y-direction6. In our specific example, both sX and sY should be less than forty pixels. This estimate will vary substantially depending on the imaging system, focus level, resolution, and the field size of the image. The forty pixel estimate is based on an image having a field size 4096 pixels.
  • Rotations are similar to shifts in that it is possible that Vi is slightly rotated relatively to mi+1. We denote by α the angle by which one would need to rotate Vi to improve the situation. α is measured counter-clockwise. Typically, α is at most a few degrees.
  • Although the nominal magnification for an imaging system would be the same for vi and Mi+1, the actual magnification might vary slightly. Thus, Vi might have to be dilated slightly to fit Mi+1. We denote the factor by which Vi should be dilated in the x-direction to fit Mi+1 by kX and in the y-direction by kY. The values kX and kY may not necessarily be equal. Typically, such dilation or scaling errors would be in the order of a few percent each.
  • Shearing or skewing constitutes a non-linear distortion in either the x- or y-direction of the image. Typically, the shear would be less than one percent in either direction.
  • The combination of shifts, rotation, dilations and shear gives rise to a general affine transform, a (2×2 Matrix) plus a shift vector.
  • The error occasioned by the vagaries of the image capture process, such as lens distortion, rotation of the image due to a change in field strength of the electromagnetic coils, dilation or contraction due to changes in gain of the scan coils, thermal drift or stage movement of the sample, can be minimized by selecting identifiable registration correspondence points on the overlapping portions of adjacent images within the matrix and performing image registration on the matrix of images in light of the registration correspondence points, using an error minimization algorithm, such as least squares energy minimization.
  • Least squares energy minimization is typically used to calculate θ′(k,i,j) using the registration correspondence points and the existing coordinates θ(k,i,j). Other error minimization algorithms could be used, such as are known by those having ordinary skill in this art.
  • However, as the registration is done independently of the consideration of vertical alignment with adjacent superior or inferior layers, the error in alignment can accumulate, increasing the chance of misalignment. This is illustrated in FIG. 2, where a misalignment problem has occurred, as the registration errors on adjacent layers increase cumulatively but in opposing directions.
  • As further illustrated in FIG. 2, when two layers 22 and 24 of images are aligned, the first images of each layer may be ideally registered 26, however, even small (half pixel) registration errors 28 on each layer can accumulate into a substantial misalignment over the course of a large area. Although a more detailed probabilistic study is needed, a simple Brownian motion model estimate of the magnitude of the inter-layer alignment error EA would be:

  • E A=ε√{square root over (2·max(M,N))}  (2)
  • where ε is the visible imperfection in the overlap area in number of pixels and M is a column and N is a row within the layer's matrix and max (M, N) identifies the magnitude of the misalignment of the matrix element that has the maximum misalignment between the layers in question.
  • The logic flow of a first preferred embodiment of the present invention is described in the flow chart of FIG. 3. The flow chart details steps designed to iteratively minimize the registration and alignment errors in creating a vertically aligned mosaic of two or more layers of images.
  • Images of a portion of the target object are captured for each layer individually 30.
  • Those having ordinary skill in this art will recognize that the entirety of the object of the object need not be imaged. Nevertheless, it is possible that the entire is to be imaged. To cover this possibility the term “portion” is used in this specification in a sense that may include the entirety of the object.
  • Alternatively, one may choose to capture more than one type of image, using different sensors, substantially simultaneously, of the target object. For example, one could capture thermal information and then standard visual information, in order that the two may be overlaid for analysis. In such case, each type of image would constitute a separate layer in need of alignment with the remaining layers.
  • After the images are captured for one layer, a first attempt is made at pair-wise registering a layer of a multiple-layered image area 34 using pair-wise registration, or such other registration technique as may be known to those having ordinary skill in this art. This may be accomplished by the image capturing system by storing the captured images in a matrix corresponding to the notional parameters of the viewing area and applying pair-wise registration using common overlapping structures, such as gray areas, as notional clusters of registration correspondence points.
  • The steps of registration and error minimization as performed in step 34 are now further illustrated. Let us consider the case when two matrices are of the same size M×N; and the coordinate system is an affine transform:
  • θ ( k , i , j ) = ( a k b k c k d k ) , [ x k , i , j y k , i , j ] , ( 3 )
  • where it is known a priori that the matrix component
  • ( a k b k c k d k )
  • of the transform is the same for all images in the layer k.
  • Let us further assume that we have p pairs of points of correspondences (kt,it,jt,xt,yt), (k′t,i′t,j′t,x′t,y′t), t=1, . . . , p, that suggest that the point (xt,yt) on the (it, jt) image of the layer k should match the point (x′t, y′t) on the (i′t, j′t) image of the layer k′.
  • Thus, the error against pair-wise registration information is given by:

  • r z =x k,i,j −x k,i+1,j−∇k,i,j H x  (4)
  • where:
      • rz is the error;
      • z is a separate index for error terms; and
  • k,i,j H, ∇k,i,j V are relative coordinates found by pair-wise registration for horizontal and vertical overlap areas respectively.
  • Further errors for pair-wise registration data are given by:

  • r z =y k,i,j −y k,i+1,j−∇k,i,j H y,

  • r z =x k,i,j −x k,i,j+1−∇k,i,j V x,

  • r z =y k,i,j −y k,i,j+1−∇k,i,j V y  (5)
  • The results of the pair-wise registration attempt 34 are then analysed in order to identify statistical outliers and general errors in the registration 36. Typically, this may be a manual visual inspection. However, the examination of the results of the registration attempt could be automated. For example, one could use a computer algorithm with the following parameters to assess the reliability of a particular local matching:
  • a. The amount of vias in the particular patch—one cannot base judgment on the correct shift of the patch if there are no vias or just one or two vias in it, which could constitute noise entries;
    b. The amount of matching after the shift—ideally, this would be 100%, but in practice should be almost to this level, which suggests virtually all of the vias are matched; and
    c. The variance and the solution—one would want the matching to be unique or near unique. Otherwise one would not know the different optimal matchings is the appropriate one. For example, if the patch happens to be above a wide metal bus, all the matchings would be “good” and one would have no way of knowing which one to choose. In the case where the variance is too large, it may be preferable to ignore the particular patch and look for a better one.
  • One could systematically look for patches that would provide a reliable matching. For example one could look beginning in the upper-left, upper-right and bottom-left corners of the overall matrix. If one of these searches fails one could look from the bottom right corner.
  • The objective would be to find three different reliable local matchings. One starts in different corners in order that the matchings be kept far apart from each other in order to optimize the three point matching.
  • One looks for all of the possible shifts by the amount not exceeding D (maximum number of pixels between the actual location of the via in the image and where it should be) in each direction, to find the minimum or minima of the energy function. If the patch is considered reliable in accordance with the criteria above, its corner could be used as one of the points in the three-point matching.
  • Once three patches have been reliably locally matched, the registration could be accomplished by a three-point matching, which maps their respective upper-left corner to their positions, as modified by the shifts identified by the energy function.
  • Mi+1 may be generated as a black and white bitmap with a brightness of 255 whenever there is metal on layer Mi+1 and zero everywhere else. Vi could be a black and white bitmap with a brightness of 255 whenever there is a via. It is a design rule that any vias on the Vi layer must be connected to metal on both the Mi and the Mi+1 layers. An ideal solution, therefore would be one where each via in Vi is matched to a metal in Mi+1.
  • Because in real life, there may not be a perfect solution, as discussed above, a penalty is applied to the solution for every unmatched via. The objective is to find the solution with the lowest number of penalty points. The penalty can be summarized in the following table:
  • Vias in Vi Metal in Mi Penalty?
    No No No
    No Yes No
    Yes No Yes
    Yes Yes No
  • Ideally, one would want to minimize the distortion between the vias and the metal to which they are matched. However, such distortion is not an observable parameter. However, an energy function, defined as the product of the number of unmatched vias and the number of all vias, is an observable parameter. Thus, one could use the energy in order to assess the quality of the solution.
  • The energy function of a solution is a sum of all penalties for individual pixels/vias. One of the reasons that one might never get a perfect solution is the possibility of false vias in Vi (i.e., the via appears in the image but is not really in existence), and omissions of metal from Mi+1.
  • A perfect solution, or a solution with just a couple of pixels of distortion will have an almost zero energy while other solutions would probably have a high energy.
  • Different energy functions could be used to minimize overall errors. The simplest one is weighted least squares formulation:

  • E=Σw z r z 2→min  (6)
  • where wz is a non-negative weight assigned to the seams or edges of two images which are to be registered or aligned, according to a reliability estimate in which more reliable seams have substantially higher weights and user input.
  • Optionally, one could improve the overall performance of the algorithm by running it several times with different parameters and to choose the best solutions from the series of runs. We have found that changing the minimum number of vias per patch, the amount of matching after the shift and the variance in the solution will not typically affect the outcome of the computation in most cases, since those parameters only become relevant with problematic patches with poor quality parameters. Rather, the most important parameter appears to be the basic patch size. We have found that selecting the size is the best outcome and provides good results.
  • Whichever method is used, the set of errors detected could lead to the identification of certain correspondence registration points between image pairs thought to be useful in increasing the accuracy of the registration attempt. Alternatively, certain existing registration correspondence points may be discarded as constituting an outlier or an error 38. As the initial registration attempt did not rely on the identification of any specific registration correspondence points, these could only be discarded after the second (global) registration attempt.
  • For a user-defined registration correspondence point associated with a number of images on the same layer, the error terms are defined by the equation:
  • ( r z r z + 1 ) = ( x k t , i t , j t y k t , i t , j t ) + ( x t y t ) - ( x k t , i t , j t y k t , i t , j t ) - ( x t y t ) ( 7 )
  • The matrix part of the affine transform is not present in the error equations for one layer and is not computed during step 36 of the first embodiment shown in FIG. 3.
  • Certain registration correspondence points are then identified, which are thought to keep the error to a minimum 38. Each registration correspondence point is found on or associated with at least two images in the layer. We have found that, on average, one registration correspondence point associated with both of the two images in the layer for every nine images proves sufficient in this regard. Indeed, by deconstructing sample registration approaches, using a matrix of 160 images, we have found that satisfactory registration occurred in the best case with a total of only 7 registration correspondence points. In the worst case, registration required 30 such registration correspondence points.
  • Thereafter, a global registration attempt is performed, using the newly modified set of registration correspondence points 40. The registration attempt is not done on a pair-wise basis, as was the case in the original registration attempt, but on a global basis wherein any of the images in the layer could be moved relative to the others in order to provide a more satisfactory result. The result of the registration is determined by applying an energy minimization approach, such as a weighted least squares energy minimization.
  • The weighted least squares energy minimization problem can be efficiently solved by publicly available software LSQR, described by C. C. Paige and M. A. Saunders, LSQR: An algorithm for sparse linear equations and sparse least squares, TOMS 8(1), 43-71 (1982), incorporated by reference herein.
  • Outlier terms in the energy function can be found by the methods described in Robust Regression and Outlier Detection by Peter J. Rousseeuw, Annick M. Leroy, 2003 incorporated by reference herein. Overlapping areas corresponding to such areas can be brought to the operator for inspection.
  • Another energy function can be given by

  • e z =w z r z 2 ,E=e (95%)→min  (8)
  • where e(95%) is the 95% order statistic of the remaining useable correspondence data.
  • The phrase “order statistic” refers to statistical methods that depend only on the ordering of the data and not on its numerical values. So, for instance, the mean, or average of the data, while easy to compute and very important as an estimate of a central value, is not an order statistic. The mode (most commonly occurring value) also does not depend on ordering, although the most efficient methods for computing it in a comparison-based model involve sorting algorithms. The most commonly used order statistic is the median, the value in the middle position in the sorted order of the values.
  • This formulation provides the advantage of robustness over ordinary least squares energy minimization, in that a certain percentage of erroneous data or user input will not affect the results. Such a problem can also be solved by the methods described in Robust Regression and Outlier Detection by Peter J. Rousseeuw, Annick M. Leroy, 2003.
  • Another formulation would be to group the data into two or more groups according to their reliability level, then minimizing the weighted least squares energy, taking into the account the most reliable group, and minimizing the energy in the least reliable groups, subject to a non-increase of the energy in the most reliable groups. Such a procedure can be implemented using publicly available TSNNLS software, described in TSNNLS: A Solver for Large Sparse Least Squares with Non-Negative Variables by Jason Cantarella, preprint of Department of Mathematics and Computer Science, Duquesne University, incorporated by reference herein.
  • To analyse the results of pair-wise registration for errors as described in step 36, one may split the overlapping area into two or more parts, and compute the relative image coordinates ∇θ(l,i,j) of each part independently.
  • In the case shown in FIG. 10, the overlap area does not contain enough information to reliably compute relative coordinates. Thus, there will be a substantial difference between each divided section's relative coordinates. This situation can then be brought to the attention of an operator for manual inspection, or alternatively, can be deemed as a non-reliable image pair and discarded before the next registration attempt with error minimization.
  • Once the error associated with the latest global registration attempt has been calculated and evaluated 42, the set of registration correspondence points will be further adjusted 38 and then a further global registration attempt made 40.
  • This process of adjusting the set of registration correspondence points 38, performing a global registration attempt using the adjusted set of registration correspondence points 40 and inspecting the results of the registration attempt 42 could be iteratively repeated until a satisfactory level of registration is ultimately achieved.
  • Once a layer of images has been satisfactorily registered, the entire process is repeated for a different layer.
  • Once all of the layers have been satisfactorily registered, the process of vertical alignment may be commenced.
  • In order to vertically align the various layers, at least one pair of alignment correspondence points must be selected between each adjacent layer pair 46. These points of alignment correspondence are points that represent the identical space between at least two adjacent layers. There are several methods of selecting points of alignment correspondence that could be used by those having ordinary skill in this art. First, a human operator could manually identify points of correspondence between the adjacent layers. Second, markers may be inserted into the layers, before they are imaged, to be used as points of correspondence during the alignment stage. Such markers must be visible between layers. Third, a computer could be configured to automatically select points of correspondence using image recognition software. In IC applications, for example, as discussed above, it is known that via interconnects visible on the bottom layer should go to metallization areas on the top layer. Thus, a template of a via pattern can be selected on one layer, and a search initiated on an adjacent layer, for this template. This provides better points of correspondence between the adjacent layers. When performing this template matching, it is preferable to use a template of a small area, in order to ensure that all vias arrive at a destination on the adjacent layer. Occasionally vias are intentionally left “floating” between layers and do not connect to the adjacent layer. By using a small template, the computer can be directed to perform a rough alignment. FIG. 11 shows vias on one layer being roughly matched to vias on an adjacent layer.
  • Once one layer is associated with at least one other layer by at least one selected alignment correspondence pair, a combined alignment and global registration attempt is made by computing global coordinates on all layers substantially simultaneously using an error minimization technique, such as least squares energy minimization 48. This results in both alignment and global registration of the images.
  • As in the steps above, the results of the alignment attempt 50 are then analysed in order to identify statistical outliers and general errors in the alignment 46. Typically, this may be a manual visual inspection. However, the examination of the results of the alignment attempt could be automated. Whichever method is used, the set of errors detected could lead to the identification of certain additional alignment correspondence pairs thought to be useful in increasing the accuracy of the alignment attempt. Alternatively, during subsequent iterations, certain existing alignment correspondence pairs may be discarded as constituting an outlier or an error 46.
  • This process of adjusting the set of alignment correspondence pairs 46, performing a combined alignment and global registration attempt using the adjusted set of alignment correspondence pairs and the existing set of registration correspondence points 48 and inspecting the results of the registration attempt 50 could be iteratively repeated until a satisfactory level of alignment and global registration is ultimately achieved. Generally, the more the planes of the image mosaics are misaligned, the more alignment correspondence pairs will be required. As such, the method may be adjusted to permit greater degrees of freedom (such as degrees of movement or rotation of individual images) in order to accurately minimize the overall alignment and registration errors.
  • By allowing the registration of a particular layer to be recalculated during the alignment process, the problem demonstrated by FIG. 2, in which registration of different layers tends to diverge can be avoided. Rather, a relatively sub-optimal registration of the two layers will be chosen over optimal registrations in order to minimize the overall error, taking into account the need to achieve a satisfactory alignment as well.
  • The alignment in step 48 is substantially different from the registration performed in step 34. The equation for the alignment correspondence pair error is given by the following equation:
  • ( r z r z + 1 ) = ( a k b k t c k t d k ) × ( x k t , i t , j t y k t , i t , j t ) + ( x t y t ) - ( a k t b k c k d k t ) × ( x k t , i t , j t y k t , i t , j t ) - ( x t y t ) ( 9 )
  • The energy function has to be optimized with respect to the variables
  • θ ( k , i , j ) = ( a k b k c k d k ) , [ x k , i , j y k , i , j ] ,
  • substantially simultaneously. This renders the optimization problem non-convex and therefore harder to solve. In practice, an iterative algorithm can be used to approximate a solution, when
  • ( a k b k c k d k )
  • is minimized with fixed
  • [ x k , i , j y k , i , j ]
  • using the same methods as described in step 34. Then, when
  • [ x k , i , j y k , i , j ]
  • is modified with fixed
  • ( a k b k c k d k )
  • the solution converges to an acceptable solution in just a few repetitions.
  • Thus, in this first embodiment, the registration process occurs sequentially before alignment is attempted.
  • By way of example, FIG. 5 illustrates two overlaid layers 82, 84 in a matrix configuration of overlapping images 86 (for clarity, regions of overlap are not shown). For ease of explanation, it is assumed that the images 86 have already been independently registered, and relative coordinates have been defined. The layers 82, 84 include points of correspondence defined as pairs 80 a, 80 b, 88 a, 88 b and 92 a, 92 b, which may be selected by the human operator, or alternately computer selected based on a number of image recognition techniques as earlier described. Points 80 a, 88 a and 92 a are located on layer 82 and points 80 b, 88 b and 92 b are located on layer 84. The process of this first embodiment uses these correspondence pairs to align the two mosaicked image layers.
  • It is initially assumed that the points of registration and alignment correspondence are correct. After the system calculates the global coordinates for the two mosaicked image layers, it may be determined by inspection that the images are not correctly aligned. Before selecting new alignment correspondence pairs, the initial set of alignment correspondence pairs is inspected. In this case, it may be observed that points 80 a and 80 b do not actually correspond. Thus, these points are removed from the list of alignment correspondence pairs and new pairs may be identified. Another alignment and global registration attempt is performed, and the alignment correspondence pairs are again inspected. This process continues until there is satisfaction that the two layers are satisfactorily aligned and registered.
  • A second embodiment of the present invention is described in detail with reference to the flow chart illustrated in FIG. 4. The steps describe the algorithm used to vertically align two or more layers in a stacked overlay configuration representing the same area. In this second embodiment, the registration and alignment steps are performed substantially simultaneously. In effect, the preliminary steps of performing iterative registration on a layer-by-layer basis are omitted. Thus, while certain process simplicity is obtained, it may be at the cost of the quality of the overall result, and may result in a more computationally complex alignment step.
  • Thus, images of the components of at least two adjacent layers are captured in the initiating step 54. Conceivably, all of the target layers could be acquired in this initial step, but it is sufficient to acquire the images of only two adjacent layers.
  • An initial pair-wise registration attempt is performed on each layer 56, much in the same manner as described in FIG. 3.
  • Afterwards, the pair-wise results are subjected to global registration 57, much in the same manner as described in FIG. 3.
  • Certain global registration correspondence points and alignment correspondence pairs are then identified 58, so that each registration correspondence point is found on at least two images in the same layer and that at least one image on one layer is linked with a corresponding image on another layer through an alignment correspondence pair. Those having ordinary skill in this art will readily recognize that the selection of registration correspondence points and alignment correspondence pairs could be effected in any order.
  • After the images are captured and the registration correspondence points and alignment correspondence pairs identified, a first attempt is made at globally registering and aligning the imaged layers of a multiple-layered image area 60 using an error minimization technique such as least squares energy minimization, or such other error minimization algorithm as may be known to those having ordinary skill in this art.
  • The results of the registration and alignment attempt 62 are then analysed in order to identify statistical outliers and general errors in the registration and alignment. Typically, this may be a manual visual inspection. However, the examination of the results of the registration attempt could be automated. Whichever method is used, the set of errors detected could lead to the identification of certain additional registration correspondence points between adjacent image in a layer and/or alignment correspondence pairs between corresponding images on different layers thought to be useful in increasing the accuracy of the registration and alignment attempt 58. Alternatively, certain existing registration correspondence points and/or alignment correspondence pairs may be discarded as constituting an outlier or an error.
  • This process of adjusting the set of registration correspondence points and alignment correspondence pairs 58, performing a global registration and alignment attempt using the adjusted set of registration correspondence points and alignment correspondence pairs 60 and inspecting the results of the registration and alignment attempt 62 could be iteratively repeated until a satisfactory level of registration and alignment is ultimately achieved.
  • Once these layers of images have been satisfactorily registered and aligned, the entire process is repeated for a different layer. Examples of the process and results obtained will now be discussed.
  • Once all of the layers have been satisfactorily registered and aligned, the process has been completed.
  • In FIG. 6, a pair of images is shown 94, 96 that have an overlap region 98 that has not been correctly registered.
  • In FIG. 7, the images from FIG. 6 are shown again 94, 96. However, the overlap regions have now been correctly registered and the seam 100, shows the transition line that can be seen from the first photo 94 to the second 96.
  • In FIG. 8, a pair of images is shown 102 a and 104 a that do not contain sufficient information to easily register the two images. The seam 106 a between them shows the point at which the two have currently been registered.
  • FIG. 9 shows the pair of images as registered from FIG. 8, and the subsequent results of another registration attempt, showing the images 102 b and 104 b in another registration with a new seam 106 b.
  • FIG. 10 shows four images 108, 110, 116, 114 in a registration configuration, which is missing an overlap region 112.
  • FIG. 11, shows a metal layer 124, with an overlaid via layer 122, which is slightly out of alignment. Some vias are located in a likely location 120, while others appear to be floating 126.
  • The present invention advantageously provides an efficient means to compensate for the accumulation of misalignment errors in imaging application in which two or more layers are imaged.
  • The present invention can be implemented in digital electronic circuitry, or in hardware, firmware, software, or in combination thereof. Apparatus of the invention can be implemented in a computer program product tangibly embodied in a machine-readable storage device for execution by a programmable processor; and methods actions can be performed by a programmable processor executing a program of instructions to perform functions of the invention by operating on input data and generating output. The invention can be implemented advantageously in one or more computer programs that are executable on a programmable system including at least one input device, and at least one output device. Each computer program can be implemented in a high-level procedural or object oriented programming language, or in assembly or machine language if desired; and in any case, the language can be a compiled or interpreted language.
  • Suitable processors include, by way of example, both general and specific microprocessors. Generally, a processor will receive instructions and data from a read-only memory and/or a random access memory. Generally, a computer will include one or more mass storage devices for storing data files; such devices include magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks. Storage devices suitable for tangibly embodying computer program instructions and data include al forms of non-volatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM disks. Any of the foregoing can be supplemented by, or incorporated in ASICs (application-specific integrated circuits).
  • Examples of such types of computers are programmable processing systems to implement the processing shown in FIGS. 3 and 4. The system may comprise a processor, a random access memory, a hard drive controller, and an input/output controller coupled by a processor bus.
  • It will be apparent to those having ordinary skill in this art that various modifications and variations may be made to the embodiments disclosed herein, consistent with the present invention, without departing from the spirit and scope of the present invention. Other embodiments consistent with the present invention will become apparent from consideration of the specification and the practice of the invention disclosed therein.
  • Accordingly, while the invention has been described according to what is presently considered to be the most practical and preferred embodiments, the specification and embodiments are to be considered exemplary only. Those having ordinary skill in this art will readily recognize that various modifications and equivalent structures and functions may be made without departing from the spirit and scope of the invention. Therefore, the invention must be accorded the broadest possible interpretation so as to encompass all such modifications and equivalent structures and functions, with a true scope and spirit of the invention being disclosed by the following claims.

Claims (16)

1. A method of creating a horizontally registered and vertically aligned multiple-layered mosaic of images of an object, comprising the steps of:
a. for each layer of detail of the portion of the object to be imaged:
i. capturing the detail of the layer in a series of captured images;
ii. performing pair-wise registration of the captured images of the layer into a mosaic; and
iii. performing global registration of the mosaic of the layer, into an optimised mosaic layer;
b. identifying at least one alignment correspondence pair, located on an image on a first optimised mosaic layer and on at least one image on a separate optimised mosaic layer; and
c. iteratively:
i. performing alignment and global registration of all of the optimised mosaic layers into a substantially aligned mosaic, using the identified alignment correspondence pairs associated with each optimised mosaic layer; and
ii. redefining the identified alignment correspondence pairs;
until the alignment of the layers is optimized;
wherein the step of redefining the identified alignment correspondence pairs comprises inspecting the results of the registration performed;
wherein the step of inspecting comprises calculating and assigning a minimum energy function to error in the alignment performed; and
wherein the step of calculating and assigning a minimum energy function comprises applying a least squares energy minimization algorithm.
2. A method according to claim 1, wherein the step of applying a least squares energy minimization algorithm comprises the steps of:
a. grouping data concerning registration error into a plurality of groups according to reliability;
b. minimizing weighted least squares energy value obtained from application of the least squares energy minimizing algorithm, taking into account the most reliable group; and
c. minimizing energy value obtained from application of the least squares energy minimizing algorithm in the least reliable groups while ensuring no increase in the energy value of the most reliable group.
3. A method of creating a horizontally registered and vertically aligned multiple-layered mosaic of images of an object, comprising the steps of:
a. for each layer of detail of the portion of the object to be imaged:
i. capturing the detail of the layer in a series of captured images;
ii. performing pair-wise registration of the captured images of the layer into a mosaic; and
iii. performing global registration of the mosaic of the layer, into an optimised mosaic layer;
b. identifying at least one alignment correspondence pair, located on an image on a first optimised mosaic layer and on at least one image on a separate optimised mosaic layer; and
c. iteratively:
i. performing alignment and global registration of all of the optimised mosaic layers into a substantially aligned mosaic, using the identified alignment correspondence pairs associated with each optimised mosaic layer; and
ii. redefining the identified alignment correspondence pairs;
until the alignment of the layers is optimized;
wherein the step of redefining the identified alignment correspondence pairs comprises inspecting the results of the registration performed;
wherein the step of inspecting comprises calculating and assigning a minimum energy function to error in the alignment performed; and
wherein the step of calculating and assigning a minimum energy comprises applying a 95% order statistical energy function.
4. A method of creating a horizontally registered and vertically aligned multiple-layered mosaic of images of an object, comprising the steps of:
a. Capturing the detail of each of the layers in a series of images;
b. Performing pair-wise registration of the captured images of each of the layers into a mosaic;
c. for a plurality of layers of detail of the object to be imaged:
i. identifying at least one registration correspondence point, each associated with two images, and identifying at least one alignment correspondence pair, located on an image on a first layer and on at least one image on a different one of the plurality of layers;
ii. iteratively:
a) performing global registration of the captured images of each of the plurality of layers into a mosaic, using the identified registration correspondence points for the layer and performing alignment of all of the plurality of layers into a mosaic, using the identified alignment correspondence pairs;
b) redefining the identified registration correspondence points for each of the plurality of layers and the identified alignment correspondence pairs;
until the registration and alignment of the plurality of layers is optimised; and
iii. adding at least one layer to the plurality of layers;
until the alignment of all of the layers of detail of the portion of the object is imaged and optimized.
5. A method according to claim 4, wherein the step of performing pair-wise registration the captured images into a mosaic before the iteration step.
6. A method according to claim 4, wherein the step of identifying comprises the step of identifying registration correspondence points followed by the step of identifying alignment correspondence pairs.
7. A method according to claim 4, wherein the step of identifying comprises the step of identifying alignment correspondence pairs followed by the step of identifying registration correspondence pairs.
8. A method according to claim 4, wherein the step of redefining the identified registration correspondence points comprises discarding previously identified registration correspondence points as being unreliable.
9. A method according to claim 8, wherein the step of discarding previously identified registration correspondence points comprises discarding previously identified registration correspondence points as constituting outliers.
10. A method according to claim 8, wherein the step of discarding previously identified registration correspondence points comprises discarding previously identified registration correspondence points as constituting errors.
11. A method according to claim 4, wherein the step of redefining the identified registration correspondence points comprises identifying additional registration correspondence points.
12. A method according to claim 4, wherein the step of redefining the identified alignment correspondence pairs comprises discarding previously identified alignment correspondence pairs as being unreliable.
13. A method according to claim 12, wherein the step of discarding previously identified alignment correspondence points as constituting outliers.
14. A method according to claim 12, wherein the step of discarding previously identified alignment correspondence points as constituting errors.
15. A method according to claim 4, wherein the step of redefining the identified alignment correspondence pairs comprises identifying additional alignment correspondence points.
16. A method of creating a horizontally registered and vertically aligned multiple-layered mosaic of images of a portion of an object, comprising the steps of:
(b) for each layer of detail of the portion of the object to be imaged;
(i) capturing the detail of the layer in a series of captured images;
(ii) performing pair-wise registration of the captured images of the layer into a mosaic;
(iii) identifying at least on registration correspondence point, associated with at least two images;
(iv) performing global registration of the mosaic of the layer, into an optimized mosaic layer using the identified registration correspondence points associated with the layer; and
(v) redefining the identified registration correspondence points for the layer;
(c) Identifying at least one alignment correspondence pair, located on an image of a first optimised mosaic layer and on at least one image on a separate optimized mosaic layer; and
(d) Iteratively:
(i) performing alignment and global registration of all of the optimised mosaic layers into a substantially aligned mosaic, using the identified alignment correspondence pairs associated with each optimized mosaic layer; and
(ii) redefining the identified alignment correspondence pairs and the identified registration correspondence points;
until the alignment of the layers is optimized.
US11/931,465 2005-05-13 2007-10-31 Method of registering and aligning multiple images Abandoned US20080123996A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/931,465 US20080123996A1 (en) 2005-05-13 2007-10-31 Method of registering and aligning multiple images

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CA2507175 2005-05-13
CA2507174A CA2507174C (en) 2005-05-13 2005-05-13 Method of registering and aligning multiple images
US11/201,233 US7693348B2 (en) 2005-05-13 2005-08-10 Method of registering and aligning multiple images
US11/931,465 US20080123996A1 (en) 2005-05-13 2007-10-31 Method of registering and aligning multiple images

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US11/201,233 Continuation US7693348B2 (en) 2005-05-13 2005-08-10 Method of registering and aligning multiple images

Publications (1)

Publication Number Publication Date
US20080123996A1 true US20080123996A1 (en) 2008-05-29

Family

ID=37390019

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/201,233 Active 2028-09-01 US7693348B2 (en) 2005-05-13 2005-08-10 Method of registering and aligning multiple images
US11/931,465 Abandoned US20080123996A1 (en) 2005-05-13 2007-10-31 Method of registering and aligning multiple images

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US11/201,233 Active 2028-09-01 US7693348B2 (en) 2005-05-13 2005-08-10 Method of registering and aligning multiple images

Country Status (3)

Country Link
US (2) US7693348B2 (en)
CN (1) CN1862597B (en)
CA (1) CA2507174C (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070206881A1 (en) * 2006-03-03 2007-09-06 Fuji Xerox Co., Ltd. Image processing apparatus, image processing method, computer readable medium storing program and data signal embedded with the program
US20090135272A1 (en) * 2004-03-25 2009-05-28 Ozluturk Fatih M Method and apparatus to correct digital image blur due to motion of subject or imaging device
US20100039682A1 (en) * 2008-08-18 2010-02-18 Waterloo Industries, Inc. Systems And Arrangements For Object Identification
US20130083996A1 (en) * 2011-09-29 2013-04-04 Fujitsu Limited Using Machine Learning to Improve Visual Comparison
WO2012037419A3 (en) * 2010-09-16 2014-03-20 Omnyx, LLC Digital pathology image manipulation
US8976056B2 (en) 2011-10-21 2015-03-10 Conocophillips Company Ice data collection, processing and visualization system
US9826159B2 (en) 2004-03-25 2017-11-21 Clear Imaging Research, Llc Method and apparatus for implementing a digital graduated filter for an imaging apparatus
US10721405B2 (en) 2004-03-25 2020-07-21 Clear Imaging Research, Llc Method and apparatus for implementing a digital graduated filter for an imaging apparatus

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7593599B2 (en) * 2005-06-30 2009-09-22 Corning Incorporated Method of assembling a composite data map having a closed-form solution
US8126257B2 (en) * 2006-04-12 2012-02-28 Kabushiki Kaisha Toshiba Alignment of semiconductor wafer patterns by corresponding edge groups
US7945117B2 (en) * 2006-08-22 2011-05-17 Siemens Medical Solutions Usa, Inc. Methods and systems for registration of images
US20080119712A1 (en) * 2006-11-20 2008-05-22 General Electric Company Systems and Methods for Automated Image Registration
US8121347B2 (en) * 2006-12-12 2012-02-21 Rutgers, The State University Of New Jersey System and method for detecting and tracking features in images
CA2605234C (en) * 2007-10-03 2015-05-05 Semiconductor Insights Inc. A method of local tracing of connectivity and schematic representations produced therefrom
US20100265313A1 (en) * 2009-04-17 2010-10-21 Sony Corporation In-camera generation of high quality composite panoramic images
US8701058B2 (en) * 2009-06-18 2014-04-15 Semiconductor Insights Inc. Integrated circuit analysis systems and methods
JP5498189B2 (en) * 2010-02-08 2014-05-21 株式会社日立ハイテクノロジーズ Defect inspection method and apparatus
WO2012015732A1 (en) * 2010-07-26 2012-02-02 Siemens Corporation Global error minimization in image mosaicking using graph laplacians and its applications in microscopy
US8600192B2 (en) 2010-12-08 2013-12-03 Cognex Corporation System and method for finding correspondence between cameras in a three-dimensional vision system
US11488322B2 (en) 2010-12-08 2022-11-01 Cognex Corporation System and method for training a model in a plurality of non-perspective cameras and determining 3D pose of an object at runtime with the same
US9124873B2 (en) 2010-12-08 2015-09-01 Cognex Corporation System and method for finding correspondence between cameras in a three-dimensional vision system
US8437497B2 (en) 2011-01-27 2013-05-07 Seiko Epson Corporation System and method for real-time image retensioning and loop error correction
US8253985B2 (en) * 2011-01-27 2012-08-28 Seiko Epson Corporation Image registration parameters and confidence estimation from sensor data
US8279500B2 (en) 2011-01-27 2012-10-02 Seiko Epson Corporation System and method for integrated pair-wise registration of images using image based information and sensor coordinate and error information
CN103377382A (en) * 2012-04-27 2013-10-30 通用电气公司 Optimum gradient pursuit for image alignment
US8890894B2 (en) 2012-06-28 2014-11-18 The University Of Utah Research Foundation Seam processing for panorama weaving
US9275485B2 (en) 2012-06-28 2016-03-01 The University Of Utah Research Foundation Seam network processing for panorama weaving
KR102126355B1 (en) * 2013-06-04 2020-06-25 삼성전자주식회사 Radiography imaging apparatus and method for generating an radiographic image
EP3183612A4 (en) * 2014-08-18 2018-06-27 ViewsIQ Inc. System and method for embedded images in large field-of-view microscopic scans
US9286682B1 (en) * 2014-11-21 2016-03-15 Adobe Systems Incorporated Aligning multi-view scans
US9940704B2 (en) * 2015-06-19 2018-04-10 KLA—Tencor Corporation Pre-layer defect site review using design
US9530199B1 (en) * 2015-07-13 2016-12-27 Applied Materials Israel Ltd Technique for measuring overlay between layers of a multilayer structure
US10157439B2 (en) 2015-07-20 2018-12-18 Qualcomm Incorporated Systems and methods for selecting an image transform
CN105335931A (en) * 2015-11-09 2016-02-17 广州视源电子科技股份有限公司 Board card image stitching method, processing device and system
US10074167B2 (en) * 2015-12-06 2018-09-11 Kla-Tencor Corporation Reducing registration and design vicinity induced noise for intra-die inspection
WO2017172611A1 (en) * 2016-03-28 2017-10-05 General Dynamics Mission Systems, Inc. System and methods for automatic solar panel recognition and defect detection using infrared imaging
JP7128203B2 (en) * 2017-04-14 2022-08-30 ヴェンタナ メディカル システムズ, インク. Local tile-based registration and global placement for stitching
US11308633B2 (en) * 2017-10-27 2022-04-19 King Abdullah University Of Science And Technology Apparatus and method for fiducial marker alignment in electron tomography
CN108199686B (en) * 2017-12-22 2019-09-17 晶科电力科技股份有限公司 Hot spot localization method in a kind of photovoltaic plant
US11182043B2 (en) * 2018-11-27 2021-11-23 Anduril Industries Inc. Interactive virtual interface

Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5633951A (en) * 1992-12-18 1997-05-27 North America Philips Corporation Registration of volumetric images which are relatively elastically deformed by matching surfaces
US5649032A (en) * 1994-11-14 1997-07-15 David Sarnoff Research Center, Inc. System for automatically aligning images to form a mosaic image
US5694481A (en) * 1995-04-12 1997-12-02 Semiconductor Insights Inc. Automated design analysis system for generating circuit schematics from high magnification images of an integrated circuit
US5832110A (en) * 1996-05-28 1998-11-03 Ricoh Company, Ltd. Image registration using projection histogram matching
US5974198A (en) * 1996-08-26 1999-10-26 Adobe Systems Incorporated Adjustment layers for composited image manipulation
US6078701A (en) * 1997-08-01 2000-06-20 Sarnoff Corporation Method and apparatus for performing local to global multiframe alignment to construct mosaic images
US6097854A (en) * 1997-08-01 2000-08-01 Microsoft Corporation Image mosaic construction system and apparatus with patch-based alignment, global block adjustment and pair-wise motion-based local warping
US6101238A (en) * 1998-11-25 2000-08-08 Siemens Corporate Research, Inc. System for generating a compound x-ray image for diagnosis
US6236746B1 (en) * 1996-10-01 2001-05-22 Semiconductor Insights, Inc. Method to extract circuit information
US6249616B1 (en) * 1997-05-30 2001-06-19 Enroute, Inc Combining digital images based on three-dimensional relationships between source image data sets
US6359617B1 (en) * 1998-09-25 2002-03-19 Apple Computer, Inc. Blending arbitrary overlaying images into panoramas
US6470100B2 (en) * 1998-04-23 2002-10-22 International Business Machines Corporation Image composition processing apparatus and method thereof
US6549651B2 (en) * 1998-09-25 2003-04-15 Apple Computers, Inc. Aligning rectilinear images in 3D through projective registration and calibration
US20030084409A1 (en) * 2001-10-12 2003-05-01 Semiconductor Insights, Inc. Computer aided method of circuit extraction
US6597818B2 (en) * 1997-05-09 2003-07-22 Sarnoff Corporation Method and apparatus for performing geo-spatial registration of imagery
US6684379B2 (en) * 2000-10-18 2004-01-27 Chipworks Design analysis workstation for analyzing integrated circuits
US20050078881A1 (en) * 2003-09-22 2005-04-14 Chenyang Xu Method and system for hybrid rigid registration based on joint correspondences between scale-invariant salient region features
US20050110621A1 (en) * 2002-06-18 2005-05-26 Bayerische Motoren Werke Aktiengesellschaft Method and system for visualizing the environment of a vehicle with a distance-dependent merging of an infrared and a visual image
US20060110069A1 (en) * 2004-11-23 2006-05-25 Tong William M Sensing alignment of multiple layers

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6757445B1 (en) * 2000-10-04 2004-06-29 Pixxures, Inc. Method and apparatus for producing digital orthophotos using sparse stereo configurations and external models
CN1168047C (en) * 2002-12-19 2004-09-22 上海交通大学 Non-linear registration method for remote sensing image

Patent Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5633951A (en) * 1992-12-18 1997-05-27 North America Philips Corporation Registration of volumetric images which are relatively elastically deformed by matching surfaces
US5649032A (en) * 1994-11-14 1997-07-15 David Sarnoff Research Center, Inc. System for automatically aligning images to form a mosaic image
US5694481A (en) * 1995-04-12 1997-12-02 Semiconductor Insights Inc. Automated design analysis system for generating circuit schematics from high magnification images of an integrated circuit
US5832110A (en) * 1996-05-28 1998-11-03 Ricoh Company, Ltd. Image registration using projection histogram matching
US5974198A (en) * 1996-08-26 1999-10-26 Adobe Systems Incorporated Adjustment layers for composited image manipulation
US6236746B1 (en) * 1996-10-01 2001-05-22 Semiconductor Insights, Inc. Method to extract circuit information
US6597818B2 (en) * 1997-05-09 2003-07-22 Sarnoff Corporation Method and apparatus for performing geo-spatial registration of imagery
US6249616B1 (en) * 1997-05-30 2001-06-19 Enroute, Inc Combining digital images based on three-dimensional relationships between source image data sets
US6078701A (en) * 1997-08-01 2000-06-20 Sarnoff Corporation Method and apparatus for performing local to global multiframe alignment to construct mosaic images
US6097854A (en) * 1997-08-01 2000-08-01 Microsoft Corporation Image mosaic construction system and apparatus with patch-based alignment, global block adjustment and pair-wise motion-based local warping
US6470100B2 (en) * 1998-04-23 2002-10-22 International Business Machines Corporation Image composition processing apparatus and method thereof
US6549651B2 (en) * 1998-09-25 2003-04-15 Apple Computers, Inc. Aligning rectilinear images in 3D through projective registration and calibration
US6359617B1 (en) * 1998-09-25 2002-03-19 Apple Computer, Inc. Blending arbitrary overlaying images into panoramas
US6101238A (en) * 1998-11-25 2000-08-08 Siemens Corporate Research, Inc. System for generating a compound x-ray image for diagnosis
US6684379B2 (en) * 2000-10-18 2004-01-27 Chipworks Design analysis workstation for analyzing integrated circuits
US20030084409A1 (en) * 2001-10-12 2003-05-01 Semiconductor Insights, Inc. Computer aided method of circuit extraction
US20050110621A1 (en) * 2002-06-18 2005-05-26 Bayerische Motoren Werke Aktiengesellschaft Method and system for visualizing the environment of a vehicle with a distance-dependent merging of an infrared and a visual image
US20050078881A1 (en) * 2003-09-22 2005-04-14 Chenyang Xu Method and system for hybrid rigid registration based on joint correspondences between scale-invariant salient region features
US20060110069A1 (en) * 2004-11-23 2006-05-25 Tong William M Sensing alignment of multiple layers

Cited By (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9826159B2 (en) 2004-03-25 2017-11-21 Clear Imaging Research, Llc Method and apparatus for implementing a digital graduated filter for an imaging apparatus
US11627391B2 (en) 2004-03-25 2023-04-11 Clear Imaging Research, Llc Method and apparatus for capturing digital video
US11924551B2 (en) 2004-03-25 2024-03-05 Clear Imaging Research, Llc Method and apparatus for correcting blur in all or part of an image
US11812148B2 (en) 2004-03-25 2023-11-07 Clear Imaging Research, Llc Method and apparatus for capturing digital video
US11800228B2 (en) 2004-03-25 2023-10-24 Clear Imaging Research, Llc Method and apparatus for capturing digital video
US8630484B2 (en) * 2004-03-25 2014-01-14 Fatih M. Ozluturk Method and apparatus to correct digital image blur due to motion of subject or imaging device
US9800787B2 (en) 2004-03-25 2017-10-24 Clear Imaging Research, Llc Method and apparatus to correct digital video to counteract effect of camera shake
US11706528B2 (en) 2004-03-25 2023-07-18 Clear Imaging Research, Llc Method and apparatus for implementing a digital graduated filter for an imaging apparatus
US8922663B2 (en) 2004-03-25 2014-12-30 Fatih M. Ozluturk Method and apparatus to correct digital image blur due to motion of subject or imaging device
US11627254B2 (en) 2004-03-25 2023-04-11 Clear Imaging Research, Llc Method and apparatus for capturing digital video
US9001221B2 (en) 2004-03-25 2015-04-07 Fatih M. Ozluturk Method and apparatus for using motion information and image data to correct blurred images
US9013587B2 (en) 2004-03-25 2015-04-21 Fatih M. Ozluturk Method and apparatus to correct digital image blur by combining multiple images
US9154699B2 (en) 2004-03-25 2015-10-06 Fatih M. Ozluturk Method and apparatus to correct blur in all or part of a digital image by combining plurality of images
US9167162B2 (en) 2004-03-25 2015-10-20 Fatih M. Ozluturk Method and apparatus to correct digital image blur due to motion of subject or imaging device by adjusting image sensor
US9294674B2 (en) 2004-03-25 2016-03-22 Fatih M. Ozluturk Method and apparatus to correct digital image blur due to motion of subject or imaging device
US9338356B2 (en) 2004-03-25 2016-05-10 Fatih M. Ozluturk Method and apparatus to correct digital video to counteract effect of camera shake
US9392175B2 (en) 2004-03-25 2016-07-12 Fatih M. Ozluturk Method and apparatus for using motion information and image data to correct blurred images
US9800788B2 (en) 2004-03-25 2017-10-24 Clear Imaging Research, Llc Method and apparatus for using motion information and image data to correct blurred images
US11595583B2 (en) 2004-03-25 2023-02-28 Clear Imaging Research, Llc Method and apparatus for capturing digital video
US20090135272A1 (en) * 2004-03-25 2009-05-28 Ozluturk Fatih M Method and apparatus to correct digital image blur due to motion of subject or imaging device
US9774785B2 (en) 2004-03-25 2017-09-26 Clear Imaging Research, Llc Method and apparatus to correct blur in all or part of a digital image by combining plurality of images
US9860450B2 (en) 2004-03-25 2018-01-02 Clear Imaging Research, Llc Method and apparatus to correct digital video to counteract effect of camera shake
US10171740B2 (en) 2004-03-25 2019-01-01 Clear Imaging Research, Llc Method and apparatus to correct blur in all or part of a digital image by combining plurality of images
US10341566B2 (en) 2004-03-25 2019-07-02 Clear Imaging Research, Llc Method and apparatus for implementing a digital graduated filter for an imaging apparatus
US10382689B2 (en) 2004-03-25 2019-08-13 Clear Imaging Research, Llc Method and apparatus for capturing stabilized video in an imaging device
US10389944B2 (en) 2004-03-25 2019-08-20 Clear Imaging Research, Llc Method and apparatus to correct blur in all or part of an image
US10721405B2 (en) 2004-03-25 2020-07-21 Clear Imaging Research, Llc Method and apparatus for implementing a digital graduated filter for an imaging apparatus
US10880483B2 (en) 2004-03-25 2020-12-29 Clear Imaging Research, Llc Method and apparatus to correct blur in all or part of an image
US11108959B2 (en) 2004-03-25 2021-08-31 Clear Imaging Research Llc Method and apparatus for implementing a digital graduated filter for an imaging apparatus
US11165961B2 (en) 2004-03-25 2021-11-02 Clear Imaging Research, Llc Method and apparatus for capturing digital video
US11457149B2 (en) 2004-03-25 2022-09-27 Clear Imaging Research, Llc Method and apparatus for capturing digital video
US11490015B2 (en) 2004-03-25 2022-11-01 Clear Imaging Research, Llc Method and apparatus for capturing digital video
US11589138B2 (en) 2004-03-25 2023-02-21 Clear Imaging Research, Llc Method and apparatus for using motion information and image data to correct blurred images
US20070206881A1 (en) * 2006-03-03 2007-09-06 Fuji Xerox Co., Ltd. Image processing apparatus, image processing method, computer readable medium storing program and data signal embedded with the program
US7889929B2 (en) * 2006-03-03 2011-02-15 Fuji Xerox Co., Ltd. Image processing apparatus, image processing method, computer readable medium storing program and data signal embedded with the program
US20100039682A1 (en) * 2008-08-18 2010-02-18 Waterloo Industries, Inc. Systems And Arrangements For Object Identification
WO2012037419A3 (en) * 2010-09-16 2014-03-20 Omnyx, LLC Digital pathology image manipulation
US8805094B2 (en) * 2011-09-29 2014-08-12 Fujitsu Limited Using machine learning to improve detection of visual pairwise differences between browsers
US20130083996A1 (en) * 2011-09-29 2013-04-04 Fujitsu Limited Using Machine Learning to Improve Visual Comparison
US8976056B2 (en) 2011-10-21 2015-03-10 Conocophillips Company Ice data collection, processing and visualization system

Also Published As

Publication number Publication date
CN1862597B (en) 2010-12-29
US20060257051A1 (en) 2006-11-16
CN1862597A (en) 2006-11-15
CA2507174A1 (en) 2006-11-13
CA2507174C (en) 2013-07-16
US7693348B2 (en) 2010-04-06

Similar Documents

Publication Publication Date Title
US7693348B2 (en) Method of registering and aligning multiple images
US20110038527A1 (en) Image pattern matching systems and methods for wafer alignment
US9124873B2 (en) System and method for finding correspondence between cameras in a three-dimensional vision system
US8600192B2 (en) System and method for finding correspondence between cameras in a three-dimensional vision system
US6381302B1 (en) Computer assisted 2D adjustment of stereo X-ray images
US7474802B2 (en) Method and apparatus for automatically estimating the layout of a sequentially ordered series of frames to be used to form a panorama
Lucchese Geometric calibration of digital cameras through multi-view rectification
TWI474363B (en) Pattern evaluation device and pattern evaluation method
US9818034B1 (en) System and method for pattern detection and camera calibration
US9253449B2 (en) Mosaic picture generation
KR20120054689A (en) Inspection method
US8606041B2 (en) Method of local tracing of connectivity and schematic representations produced therefrom
Kataria et al. Improving structure from motion with reliable resectioning
CN116625239B (en) Step hole detection method, device and system based on image processing
JP3545558B2 (en) Method for determining wafer measurement position
CN116258666A (en) Wafer detection Mark point positioning method and application
JP4097255B2 (en) Pattern matching apparatus, pattern matching method and program
US20050226521A1 (en) Method and apparatus for producing a 3-D model of a semiconductor chip from mosaic images
JP4530723B2 (en) PATTERN MATCHING METHOD, PATTERN MATCHING DEVICE, AND ELECTRONIC COMPONENT MOUNTING METHOD
KR100287319B1 (en) Rotation direction detection method, measurement position determination method and apparatus therefor
Bella Imaging distortion correction in panorama stitching in sem
JP7399632B2 (en) Photography processing device and photography processing method
CN114594664B (en) Method, system and equipment for optimizing wafer scanning path and wafer detection method
US20210349218A1 (en) System and method for processing measured 3d values of a scene
CN114187294A (en) Regular wafer positioning method based on prior information

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: EXPRESSLY ABANDONED -- DURING PUBLICATION PROCESS