Method and apparatus for determining mis-registration

Abstract: An image processing apparatus includes a data acquisition stage for acquiring data representative of several spatially separated regions of a sample. The apparatus also includes data storage means for storing reference data corresponding to the sample data. The two sets of data are compiled and analyzed to determine if the sample is shifted from a nominal position.

Description: This invention relates to an electronic image processing device which uses automatic image registration techniques and equipment for assuring valid registration of the images and more particularly to an apparatus in which several regions are used for the comparison. Many image processing steps require two or more images to be mutually aligned, based on the content of the images. Several methods exist to determine the amount of mis-registration, and to utilize the detected mis-registration to re-register images for further processing. The simplest re-registration technique is to shift the image data of one or more images to align with a single reference image. The amount of shift used is detected by the quantitative mis-registration detection. Quantitative mis-registration detection methods currently in use include edge recognition, point recognition, correlation of row and column sums, correlation of local regions and others. These methods are useful in many situations, but have limitations due to accuracy, computation complexity, and limited application in certain image situations. EP-A-0 440 137 discloses one prior art technique which uses area, mean and variance calculations to detect mis-registration. Another quantitative mis-registration detection method performs a comparison of a test image local region with a reference image local region by summing the absolute value of the difference of the two local regions, on a pixel-by-pixel basis. One of the two local regions is then shifted along the X axis by one pixel and the summation performed again. This operation is repeated a number of times and the summation result recorded for each position. The X axis shift amount is then returned to the original point and the region is shifted along the Y axis by one pixel. The X axis shifting and summation is then repeated for this new Y axis position. This Y axis shifting, and subsequent X axis shifting and summing is repeated a number of times. The recorded summation results are then examined and the minimum value noted. The minimum summation result corresponds to the pixel shift that best aligns the features within the local region. US_3, 898, 617 discloses such a method using at least two local regions. The amount of shifting is determined by the expected maximum mis-registration amount, and is centered about the nominal position. The size and position of the local region is selected to include an image feature which has significant contrast and non-repeating information content in both the horizontal and vertical directions. This mis-registration detection method is similar in operation to unnormalized correlation of local regions, but requires much simpler computations as no multiplications are needed. It is an object of the invention to provide method and means to detect mis-registration of test images with respect to a reference image. Another objective of the present invention is to provide a method and apparatus which may readily be adapted to several misalignment detection processes. A limitation of the unnormalized correlation of local regions and the minimum of sums of absolute differences of local regions methods is that, for real world objects, there may not be a local region with sufficient contrast and non-repeating information content in both the horizontal and vertical directions. In the present invention local region comparison is performed using two or more local regions from a reference image and two or more local regions from the test image. The local regions are selected to include approximately orthogonal information content in the two local regions. The information in the two local regions is spatially linked, but may be widely separated within the image frame. To use this concept with the sum of absolute differences method, a summation of the absolute value of the difference of one of the local regions in the reference image and the corresponding local region in the test image, on a pixel-by-pixel basis is performed. Then the sum of the absolute differences of the other local region in the reference image and the corresponding local region in the test image is performed. These two sums are then added to each other and the result recorded. The two local regions in the reference image are then shifted along-the X axis by one pixel with respect to the test image and the two summations and final sum performed again. This operation is repeated a number of times and the sum of summations recorded for each position. The X axis shift amount is then returned to the original point and the regions are shifted along the Y axis by one pixel. The X axis shifting and sum of summations is then repeated for this new Y axis position. This Y axis shifting, and subsequent X axis shifting and summing is repeated a number of times. The minimum sum of summations result corresponds to the pixel shift that best aligns the features within the two local regions. The concept of using two local regions from a reference image to compare against two local regions from a test image can be extended to the unnormalized correlation of local regions method of mis-registration determination. The operation is the same as the previously described two region minimum of sums of absolute differences method, except that a sum of products is performed at each X and Y axis shift position for each local region, the sums added, and the result recorded. When all shifts have been completed, the recorded results are examined and the maximum value corresponds to the pixel shift that best aligns the features within the two local regions. The concept of using two local regions from a reference image to compare against two local regions from a test image using correlation, minimum of sums of the absolute differences, or other comparison method, can be extended to use any number of local regions from a reference image to compare against the same number of local regions from a reference allows including multiple spatially linked features in the comparison, thus ensuring a robust mis-registration determination. An apparatus and a method according to the invention are set out in claims 1 and 3. Figure 1 shows an image acquisition system constructed in accordance with this invention; Figure 2 shows an object being scanned by the system of Figure 1; Figure 3 shows several local regions of a reference region; and Figure 4 shows the elements of the image processor of the system of Figure 1. The image acquisition system disclosed herein is particularly suited for an apparatus for checking printed patterns. The system 10 may include for example a rotating drum 12 which carries a sheet 14 past a scanner 16. Sheet 14 may be imprinted with a plurality of printed patterns arranged in a rectangular array. Scanner 16 is used to scan sheet 14 to produce an image of thereof for image acquisition means 18. The image of the sheet 14, or at least portions of the sheet are loaded in a digital form from means 18 to a memory 20. Apparatus 10 also includes another memory 22, used to store the image of a reference sheet. The two images from memories 20 and 22 are provided to an image processor 24 which is used to determine if the image from scanner 16 has been shifted in one or both orthogonal directions. Figure 2 shows a printed pattern banknote 26 from sheet 14 bearing an image 28. In order to determine whether the image 28 has been shifted, three local areas 30, 32, 34 are selected and analyzed as follows. The three local areas may be chosen arbitrarily, however preferably they are selected to contain prominent features extending either in one of two orthogonal directions X or Y. For the purposes of this discussion an image 28 is assumed to have been produced from a single plate, for example by offset printing. Frequently, the a printed pattern is printed with several superimposed images, each image being generated by a different printing method. In such situations, the steps presented here are repeated for each image so that the orthogonal shift of each image may be determined. Each local image area 30, 32, 34 preferably comprises a two dimensional array of pixels. Memory 22 may contain either a complete reference image, or local areas of-the reference image corresponding to the local areas 30, 32, 34. These local reference areas are illustrated in Figure 3 by three pixel arrays 30', 32', 34'. Advantageously each pixel of the local arrays may be represented as a two dimensional coordinate. For example, the pixel at the upper left hand corner of arrays 30', 32', 34' can be referred to as pixels A11', B11' and C11' respectively. Originally, it is assumed that the local areas of the actual image 28 coincide exactly with the local areas of the reference image. In other words, it is assumed that center pixel of region 30' (shaded in Figure 3) coincides with the center pixel of region 30. As shown in more detail in Figure 4, the image processor 24 includes five counters 40, 42, 44, 46, 48, a summer network 50, a memory 52, a comparator 54 and a shift selector 56. It should be understood that the image processor of Figure 4 is preferably implemented as a digital computer and the components shown in the Figure are shown for illustrative purposes. In order to determine if the actual image from memory 20 is shifted orthogonally with respect to the reference image of memory 22, a reiterative process is performed as follows. Counter 40 sequentially designates one of the local regions 30', 32' 34' of the reference image to the summer network 50. Initially counters 42, 44 are set to zero indicating that no shift has yet occurred. Counters 46 and 48 are used as pointers to indicate to the network 50 which pixel of an array is to be processed. After the counter 40 designates the first local region 30', the summer network 50 obtains the values of each pixel of region 30 and takes the absolute value of the difference of the value of each pixel of array 30 and array 30'. Thus, the summing network 50 calculates the differences |A11-A11'|, |A12-A12'| and so on. These differences are summed and stored. The first position of a results array in memory 52 and in a "best match" location also in memory 52. When the differences for all the pixels of arrays 30 and 30' have been calculated and stored, counter 40 is incremented and the whole process is repeated for arrays 32, 32', with the difference from each pixel being summed with the difference of the calculation for the same position for arrays 30, 30'. In other words, for the second set of arrays 32, 32', the summing network 50 first obtains the difference B11-B11' and adds this difference to the difference A11-A11'. The same process is repeated for each of the other pixels of arrays 32, 32' under the direction of counters 46, 48. Finally, the same process is again repeated for the third set of arrays 34, 34'. Once the calculations are completed, counter 42 is incremented by one to indicate that the reference arrays 30', 32' and 34' must be offset along the x-axis by one pixel. The summer network 50 again performs the above-described process, but this time the pixels of the reference image are offset so that for example the difference A12-A11' is calculated and stored temporarily until the calculations for all the three sets of arrays are completed. Comparator 54 then compares the resulting value with the value resulting with no shift. This value is placed in the second position in the results array in memory 52. If the new results meet certain criteria (i.e. they are equal to or smaller than the old results) the old value in the best match location in memory 52 is replaced with the new ones. If the results are replaced, the shifts in the X and Y direction as indicated by counters 42, 44 are also stored in memory 52. The arrays 30' 32' 34' are then shifted again and the whole process is repeated. The three arrays 30' 32' 34' are shifted a predetermined number of times to the left and right of the original position. Thereafter, the arrays are also shifted up and down a preselected number of times. When all the shifts and calculations are completed, memory 52 contains the results array showing the values due to the orthogonal shiftings, and the best match value and the amount of shift in the X and Y direction which generated this result. This information is provided to shift selector 56 which generates a corresponding X- and Y- shift indicating the orthogonal offset of image 28 from a reference image. The results array of summations in memory 52 may be used as a quantitative measure which may be used to determine the level of confidence in the process. In the embodiment described above, three local areas are used for illustrative purposes. It should be understood that any number of such areas may be used higher than one.

Claims: An image processing apparatus comprising : image acquisition means (18, 20) for acquiring data corresponding to at least two local regions (30,32, 34) of an image (28), said local regions being represented as two-dimensional arrays of pixels; storage means (22) for storing at least two reference local regions (30', 32' 34') of a reference image, said reference local regions corresponding to said local regions; compiling means for compiling information from said local regions and said reference local regions; analyzing means (54) for analyzing said compiled information to determine if said acquired image is shifted from said reference image; and shifting means for shifting said local regions along the X axis and the Y axis. characterized in that said local regions (30, 32, 34) of the image (20) are spatially linked by a predetermined amount, and in that said compiling means comprise summing means (50) for calculating the absolute values of the differences between each of said at least two local regions and the corresponding one of each of said at least two reference local regions on a pixel-by-pixel basis, and for successively summing on a pixel-by-pixel basis the absolute values obtained from a local region with the absolute values obtained from at least one other local region; and memory means (52) for storing said absolute values and said sums. An apparatus as claimed in claim 1 in which said analyzing means further comprise a shift selector (56) for generating X- and Y- shift values corresponding to a best match of said acquired image with respect to said reference image. A method for determining linear shift of a sample from a nominal position comprising the steps of: (a) acquiring data corresponding to at least two local regions of an image, said local regions being represented as two-dimensional arrays of pixels; (b) storing at least two reference local regions of a reference image, said reference local regions corresponding to said local regions; (c) compiling information from said local regions and from said reference local regions; (d) analyzing said compiled information to determine if said acquired image is shifted from said reference image; (e) shifting said local region along the X axis by one pixel; (f) repeating said steps (c) to (e) a predetermined number of times; (g) shifting said local region along the Y axis by one pixel; (h) repeating said steps (c) to (g) a predetermined number of times. characterized in that said local regions (30, 32, 34) of the image (20) are spatially linked by a predetermined amount, in that said information is compiled by (i) calculating the absolute values of the differences between each of said local regions and the corresponding one of said reference local regions on a pixel-by-pixel basis; (ii) storing said absolute values in memory means (iii) successively summing on a pixel-by-pixel basis the absolute values obtained from a local region with the absolute values obtained from at least one other local region, and (iv) storing said sums in memory means. A method as claimed in claim 3 in which said summing comprises the steps of i.) summing said absolute values of a first one of said at least two local regions; ii.) summing said absolute values of each pixel of said first local region with said absolute values of each corresponding pixel of the others of said at least two local regions; iii.) summing said subsequent sums. A method as claimed in claim 3 or 4 in which said analyzing comprises the steps of i.) comparing said calculated sums with corresponding sums determined before shifting; ii.) determining a best match if said calculated sums are equal or smaller than said sums determined before shifting; iii.) storing the X-shift and Y-shift values in memory means if said best match is determined; iv.) storing said best match value in a best match memory means; v.) once all predetermined X- and Y-shifts are done, providing the X- and Y- shifts values corresponding to said best match to a shift selector for indicating the orthogonal offset of said image from a reference image.

Inventors: EISENBARTH CHRISTOPH, FINKELSTEIN IRA, MCGHIE DENNIS, PANOFSKY EDWARD, EISENBARTH, CHRISTOPH, FINKELSTEIN, IRA, MCGHIE, DENNIS, PANOFSKY, EDWARD
Applicants: KBA GIORI SA, KBA-GIORI S.A.
Application year: 1993
Main classification: H04N1
IPC codes: G06T3, G06T7, G07D7, H04N1, G06K9