Method and computer program for detecting rotation and magnification of images

Abstract: An improved method and computer program product for detecting an amount of rotation or magnification in a modified image, of the type including the steps of: a) embedding a marker image having a pair of identical features separated by a distance d and oriented at an angle a in an original image to produce a marked image, the marked image having been rotated and/or magnified to produce the modified image; b) performing an autocorrelation on the modified image to produce a pair of autocorrelation peaks corresponding to the location of the features of the marker image in the modified image; and c) comparing the separation d and orientation a of the autocorrelation peaks with the separation d and orientation a of the features in the marker image to determine the amount of rotation and magnification in the modified image, wherein the improvement comprises the step of: d) preprocessing the modified image to have a constant standard deviation over all local regions in the image.

Description: The invention relates generally to the field of image processing, and in particular to methods for detecting when an image has been rotated or resized (magnified). U. S. Patent 5,835,639 issued November 10, 1998 to Honsinger et al., entitled "Method For Detecting Rotation And Magnification In Images" describes a method for embedding two identical carriers in an image in order to track rotation and magnification changes. The method is based on the fact that the autocorrelation of the image will contain the cross-correlation of the two carriers and the cross-correlation will exhibit two delta functions whose distance apart will be proportional to magnification and whose angle will be maintained under no rotation or will be rotated in the same amount as the rotation of the original image. Thus, by identifying the location (separation and rotation) of the two delta functions one can determine the amount of rotation and magnification that an image has undergone. In images that contain a large amount of pronounced linear and angular features, these features tend to cause the autocorrelation of the image to exhibit a number of features that mask the delta functions, thereby making the detection of the delta functions difficult. There is a need therefore for an improved method of detecting angular rotation and magnification of the type disclosed in the above referenced patent that avoids this problem. The present invention is directed to overcoming one or more of the problems set forth above. Briefly summarized, according to one aspect of the present invention an improved method and computer program product for detecting an amount of rotation or magnification in a modified image, including the steps of: a) embedding a marker image having a pair of identical features separated by a distance d and oriented at an angle α in an original image to produce a marked image, the marked image having been rotated and/or magnified to produce the modified image; b) performing an autocorrelation on the modified image to produce a pair of autocorrelation peaks corresponding to the location of the features of the marker image in the modified image; and c) comparing the separation d and orientation α of the autocorrelation peaks with the separation d and orientation α of the features in the marker image to determine the amount of rotation and magnification in the modified image, characterised by: d) preprocessing the modified image prior to autocorrelation to have a constant local standard deviation of the pixel values over all regions in the image. The present invention has the advantage of being able to more easily detect the autocorrelation peaks in an image having large amounts of linear and angular detail. These and other aspects, objects, features and advantages of the present invention will be more clearly understood and appreciated from a review of the following detailed description of the preferred embodiments and appended claims, and by reference to the accompanying drawings. Fig. 1 is a schematic diagram showing the prior art method of adding of a marker image to an original image; Fig. 2 is a flow chart illustrating one prior art method of generating a marker image; Fig. 3 is a schematic diagram showing a prior art rotation and magnification of the marked image to produce a modified image; Fig. 4 is a schematic diagram illustrating the prior art method of recovery of the separation and orientation of the features in a marker image in the modified image; Fig. 5 is a flow chart showing the determination of the rotation and magnification of the modified image and the recovery of the original image size and orientation according to the present invention; Fig. 6 is a flow chart showing the steps employed in preprocessing the image according to the present invention; and Figs. 7 and 8 are diagrams useful in describing a preferred filter for filtering the autocorrelation according to a preferred method of practicing the present invention. Referring to Figs. 1 and 2, a digital image 10 is prepared by adding 12 a marker image 11 having a pair of identical features 14 and 16 to produce a combined image 18. The identical features 14 and 16 in the marker image 11 are oriented a distance "d" from each other and at an angle "α" with respect to the vertical in image 10. Referring to Fig. 2, prior to adding the marker image 11 to the image 10, the features 14 and 16 in the marker image 11 are convolved 20 with a carrier image 22 and magnified (or minified) such that their amplitude is low relative to the amplitude of the original image so that the marker image is not visible in the combined image 18. In one example, the marker image features 14 and 16 are delta functions (one pixel at maximum amplitude) convolved with a random carrier signal 22 having a uniform frequency amplitude and random phase. In an alternative example, the marker image may contain information such as digital code (such as 0's and 1's ordered in such a way as to effect a message) or text image such as a copyright notice. The identical digital code or text images are convolved with the carrier signal 22 as described above and then added to the image 10. Referring to Fig. 3, the angular orientation and/or magnification of the combined image 18 is changed, for example in an optical or digital printing or copy process to produce a modified combined image 24. Referring to Figs. 4 and 5, to determine if and how much the modified combined image 24 has been rotated and magnified, the modified combined image 24 is first preprocessed 25 to have a desired constant local standard deviation. Referring to Fig. 6, this may be achieved by specifying a desired standard deviation σ D that is chosen to be relatively low, but not too low (preferably 0.1 to 0.3) and a surrounding area A (preferably over 3x3 to 5x5 pixel regions) for the normalization to be performed 38. For each pixel within the modified image, a local standard deviation σ A is calculated 40. The local standard deviation is tested 42 and if the calculated standard deviation is less than the desired standard deviation σ D , it is replaced 44 with a random number generated from a process 46 having the same standard deviation as the desired standard deviation. The pixel value is then multiplied 48 by the ratio of the desired standard deviation and the local standard deviation to form a modified pixel value. Finally, all of the pixel values in the modified image are replaced 50 with the modified pixel values. The resulting image will have the desired constant local standard deviation σ D · Since the preprocessed image has a constant local standard deviation, the effect on the autocorellation due to the high contrast of the edges and angular features of the image is substantially reduced. Next, the preprocessed image is autocorrelated 26. The autocorrelation will result in two autocorrelation peaks 28 and 30 corresponding to the centers of the features in the marker image 11. Preferably the autocorrelation is performed in the frequency domain using Fourier transform techniques. The autocorrelation is simply the inverse Fourier transform of the magnitude of the forward Fourier transform. The two autocorrelation peaks may, optionally, be further emphasized during the processes of autocorrelation in the frequency domain by weighting the Fourier transform coefficients by the frequency domain representation of a Wiener filter 32 that emphasizes isolated peaks and suppresses smooth regions. An example of a Wiener filter useful for this purpose is illustrated in Figs. 6 and 7. Fig. 6 is a two dimensional frequency plot having frequency axes f x and f y from zero to the Nyquist frequency N x , N y . The filter has the effect of setting to zero the Fourier transform coefficients for frequencies in a region 52 having a radius R centered about zero frequency. For regions outside this radius, the weighting function is a monotonically increasing function as shown by line 54 in Fig. 7. The Wiener filter can be expressed as follows: For ( f 2 x + f 2 y ) 0.5 > R w ( f x ,f y ) = a ( f 2 x + f 2 y ) β and for ( f 2 x + f 2 y ) 0.5 ≤ R w ( f x ,f y ) = 0 where a is an arbitrary constant and β ranges from 0.50 to 1.00 in a preferred embodiment. Optionally, a linear ramp may be applied to smooth the transition region at the radius R. The autocorrelation peak positions 28 and 30 of the modified image may be measured 34 to obtain the modified distance "d"' and the modified angle "α"' measured with respect to the vertical. If it is of interest to measure rotations greater than 180 degrees, the amplitude of the autocorrelation peaks should be measured. The modified distance "d'" and the modified angle "α'" may be used to calculate 36 the magnification and rotation that the image has undergone by use of the following formulae: Magnification M = d'/dx100percent. If the autocorrelation peak of the upper left hand comer is stronger than the lower right: Rotation angle Ω=α'-α If the autocorrelation peak of the lower right hand comer is stronger than the upper left: Rotation angle Ω=α'-α+180 degrees The present invention is preferably practiced in an image processing system including a source of digital images, such as a scanner, a computer programmed to process digital images, and an output device such as a thermal or inkjet printer. The method of the present invention may be sold as a computer program product including a computer readable storage medium bearing computer code for implementing the steps of the invention. Computer readable storage medium may include, for example: magnetic storage media such as a magnetic disc (e.g. a floppy disc) or magnetic tape; optical storage media such as optical disc or optical tape; bar code; solid state electronic storage devices such as random access memory (RAM)or read only memory (ROM); or any other physical device or medium employed to store a computer program.

Claims: A method for detecting an amount of rotation or magnification in a modified image, including the steps of: a) embedding a marker image having a pair of identical features separated by a distance d and oriented at an angle α in an original image to produce a marked image, the marked image having been rotated and/or magnified to produce the modified image; b) performing an autocorrelation on the modified image to produce a pair of autocorrelation peaks corresponding to the location of the features of the marker image in the modified image; and c) comparing the separation d and orientation αof the autocorrelation peaks with the separation d and orientation α of the features in the marker image to determine the amount of rotation and magnification in the modified image, characterised by : d) preprocessing the modified image prior to autocorrelation to have a constant local standard deviation of the pixel values over all regions in the image. The method claimed in claim 1, wherein the autocorrelation and filtering operations are performed in the frequency domain. The method claimed in claim 1, further comprises the step of processing the autocorrelation with a Wiener filter to improve the signal to noise ratio of the autocorrelation peaks. The method claimed in claim 1, wherein the preprocessing step comprises the steps of a) specifying a desired standard deviation; b) for each pixel within the modified image, i) calculating a local standard deviation, and if calculated standard deviation is less than the desired standard deviation, replacing it with a random number generated from a process having the same standard deviation as the desired standard deviation, ii) multiplying the pixel value by the ratio of the desired standard deviation and the local standard deviation to form a modified pixel value; and c) replacing all of the pixel values in the modified image with the modified pixel values. A computer program product, including a computer readable storage medium having a computer program stored thereon for detecting an amount of rotation or magnification in a modified image, for performing the steps of: a) embedding a marker image having a pair of identical features separated by a distance d and oriented at an angle a in an original image to produce a marked image, the marked image having been rotated and/or magnified to produce the modified image; b) performing an autocorrelation on the modified image to produce a pair of autocorrelation peaks corresponding to the location of the features of the marker image in the modified image; and c) comparing the separation d' and orientation a' of the autocorrelation peaks with the separation d and orientation a of the features in the marker image to determine the amount of rotation and magnification in the modified image, characterised by : preprocessing the modified images prior to autocorrelation to have a constant local standard deviation of the pixel values over all regions in the image. The computer program product claimed in claim 5, wherein the autocorrelation and filtering operations are performed in the frequency domain. The computer program product method claimed in claim 6, further comprising the step of processing the autocorrelation with a Wiener filter to improve the signal to noise ratio of the autocorrelation peaks. The computer program product claimed in claim 5, wherein the preprocessing step comprises the steps of: a) specifying a desired standard deviation; b) for each pixel within the modified image, i) calculating a local standard deviation, and if calculated standard deviation is less than the desired standard deviation, replacing it with a random number generated from a process having the same standard deviation as the desired standard deviation, ii) multiplying the pixel value by the ratio of the desired standard deviation and the local standard deviation to form a modified pixel value; and c) replacing all of the pixel values in the modified image with the modified pixel values.

Inventors: HONSINGER CHRIS W, HONSINGER, CHRIS W., Honsinger, Chris W., c/o Eastman Kodak Company
Applicants: EASTMAN KODAK CO, EASTMAN KODAK COMPANY
Application year: 2000
Main classification: G06T7
IPC codes: G03G15, G06T7, G06T3, B41J21, G06T1