The present invention relates to the field of image processing, and, more particularly, to processing mosaic images and related methods.
In certain applications, detailed imagery of large and expansive surfaces may be needed. These applications may include geographic satellite mapping, for example, where imagery of portions of the Earth's surface are gathered via satellite. A typical approach for displaying the expansive data in these applications is a mosaic image. The typical mosaic image may be formed by several smaller sized images. Before production of the mosaic image, each of the smaller images is typically registered between each other to determine their relative position. In large mosaic image applications, the registration process may be computer implemented.
Indeed, during this registration process, it is not uncommon for there to be significant overlapping portions between images. When two or more images overlap, the overlapping portions need to be resolved, i.e. one image may take precedence over the other overlapping image. An approach to resolving this conflict between overlapping image portions is image order.
Before registration of the images for a mosaic image, the images are typically subject to some form of pre-processing, which may not be automated. During the pre-processing, the images forming the mosaic image may be given an order based upon the quality of data they have, for example, geographic satellite images including substantial cloud cover would be ranked lower than satellite images including little to no cloud cover, i.e. providing a clear view of the desired geography.
Another approach to addressing the conflict in overlapping images portions is providing cut lines for each smaller image in the mosaic image. The cut lines form polygons around areas marked for retention after registration. The step for determining cut lines may be manual or computer implemented.
The above discussed process of generating a mosaic image may be subject to certain drawbacks. For example, the mosaic image may include noticeable seam lines, i.e. the boundaries between one image and a directly adjacent image. The boundaries may be noticeable for several reasons, for example, atmospheric differences between the images, tonal differences (brightness, contrast, and gamma) between the images, seasonal differences between the images, and collection differences between the images. More so, in applications without cut lines, the boundary may be readily noticeable since image borders make no allowances for features at or near the image extents.
Approaches to the balancing of the tonal differences in images of a mosaic image include, for example, seam feathering, manual adjustment of tonal properties of each image, and pair-wise adjustments. Pair-wise approaches include image-to-image histogram matching, for example. These processes are continued in a pair-wise fashion until each image in the mosaic is processed. A drawback to these methods may include noticeable propagation effects in mutually overlapping imagery in the mosaic image.
Another approach to balancing the tonal differences in mosaic images is disclosed in U.S. Pat. No. 7,317,844 to Horne. The method includes identifying in overlapping regions of the mosaic image a set of corresponding points that correspond to a single location and are indicative of a tonal variation, establishing a tonal variation threshold, and eliminating from the overlapping regions a subset of corresponding points. The subset has tonal variation deviating from the tonal variation threshold. The method also includes repeating the eliminating until substantially all subsets have been eliminated, producing adjusted overlapping regions that include a set of remaining corresponding points, obtaining gains and biases for each spectral band in the adjusted overlap regions, applying the gains and biases to transform intensities of the set of remaining corresponding points, producing transformed corresponding points, and producing a tonally balanced image mosaic using the transformed corresponding points.
Yet another approach to balancing the tonal differences in mosaic images is disclosed in U.S. Pat. No. 7,236,646 to Horne. This method includes using a subset of corresponding points in each of a plurality of image overlap regions to solve a set of minimization equations for gains and biases for each spectral band of each image. The corresponding points are points from different images having locations that correspond to each other. The subset includes corresponding points whose intensities differ less than a threshold. The method also includes applying the gains and biases to the images, and iterating the using and applying actions for a predetermined number of iterations.
In view of the foregoing background, it is therefore an object of the present invention to provide an image processing device that efficiently provides image mosaics.
This and other objects, features, and advantages in accordance with the present invention are provided by an image processing device comprising a memory, and a controller. The controller cooperates with the memory for registering a plurality of images including overlapping portions to define a mosaic image. The controller also determines an exemplar, generates tonal values for the exemplar, and generates adjustment tonal values for at least some of the images based upon the tonal values for the exemplar to thereby provide tonal balancing for the mosaic image. Advantageously, the mosaic image has less noticeable seam lines since tonal values have been balanced.
For example, determining the exemplar may comprise at least one of: selecting a closest-to-mean image from among the images, selecting a desired image from among the images, and generating a virtual exemplar based upon the images. In some embodiments, the controller may associate the generated adjustment tonal values as metadata with the plurality of images. Also, the adjustment tonal values may comprise at least one of brightness adjustment tonal values and contrast adjustment tonal values.
Furthermore, the controller may generate adjustment tonal values based upon at least one predetermined value. The controller generates the adjustment tonal values based upon a cost function. More specifically, the images may comprise aerial images of the Earth.
Moreover, the controller may permit defining exclusion areas in the images. The adjustment tonal values may affect both brightness and contrast. The tonal values may be independent of color values.
Another aspect is directed to a computer implemented method for processing a plurality of images. The method may include registering the images including overlapping portions to define a mosaic image, determining an exemplar, generating tonal values for the exemplar, and generating adjustment tonal values for at least some of the images based upon the tonal values for the exemplar to thereby provide tonal balancing for the mosaic image.
a is a satellite image of the Earth for input into the device of
b is the satellite image of
c is the satellite image of
a-7d are detailed diagrams illustrating the flooding operation according to the present invention.
a is a mosaic image including a plurality of satellite Earth images for input into the device of
b is the mosaic image of
a is a mosaic image including a plurality of satellite Earth images for input into the device of
b is the mosaic image of
The present invention will now be described more fully hereinafter with reference to the accompanying drawings, in which preferred embodiments of the invention are shown. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Like numbers refer to like elements throughout.
Referring initially to
The controller 22 cooperates with the memory 21 for registering the plurality of images at Block 33, for example, aerial Earth images, including overlapping portions 76 to define a mosaic image 70. As will be appreciated by those skilled in the art, the aerial Earth images may be remotely sensed and provided from a mobile aircraft platform or low/high altitude satellite, for example. Also, as will be appreciated by those skilled in the art, the image processing device 20 processes the images 71-73 to provide the mosaic image 70 to a user, i.e. piecing together the many smaller images to provide a larger cumulative image, for example, geospatially referenced images. Indeed, the images 71-73 may have varying forms of data, for example, optical, infrared, ultraviolet, or Synthetic-aperture radar (SAR). Although discussed illustratively herein in the context of aerial Earth images, the aerial Earth mosaic image is used for exemplary purposes, and the image processing device 20 may process any set of images that are to be formed into a larger mosaic image.
At Block 34, the controller 22 illustratively establishes initial cut line estimates as image valid polygons. Additionally at Block 35, the controller 22 illustratively performs at least one operation on the images 71-73 to determine features of mutual interest for the overlapping portions 76. More specifically, the operation may comprise at least one of a high pass filter operation, a low pass filter operation, a threshold filter operation, or a combination thereof, in other words, a band pass filter operation. The areas of mutual interest may include, for example, at least one of geographic feature edges and structure edges. For example, the features of mutual interest may comprise edges of areas having either high frequency data or low frequency data for each of the plurality of images. As will be appreciated by those skilled in the art, other operations may be used to determine features of mutual interest, for example, cloud/water anomaly detection operations.
At Block 37, the controller 22 also determines cut lines for the mosaic image 70 set based upon the features of mutual interest for the overlapping portions 76 and reach from current cut line estimates. At Decision Block 41, the controller 22 may iteratively perform the operation, i.e. the operation for determining features of mutual interest, on the images 71-73 to determine the cut lines more accurately. Advantageously, the cut lines are less noticeable to the user and are provided without user interaction, i.e. automatically. In short, the cut lines define masks for features in the images 71-73.
In some embodiments, the controller 22 may associate the cut lines as metadata with the images. Helpfully, the cut lines are not permanently “burned” into the images 71-73, i.e. the cut lines can be used downstream in the process since the metadata stores the cut lines rather than permanently applying the cut lines to the image data. Indeed, the cut lines are stored separately and independently in the form of polygons in the metadata. Advantageously, this method disclosed herein may be readily incorporated into existing mosaic image processing technology.
As will be appreciated by those skilled in the art, each image 71-73 in the mosaic image 70 may have a corresponding image order. Moreover, the controller 22 may determine the cut lines for the mosaic image 70 based upon corresponding order for each image 71-73.
In certain advantageous embodiments, if processing at finer more detailed resolutions is desired, the method moves to Block 43. The controller 22 may perform the operation on each image at a plurality of successively finer resolutions to determine the cut lines. More specifically, the resolutions may comprise a first resolution and a second resolution, the second resolution having greater detail than the first.
The controller 22 determines the cut lines for the mosaic image 70 based upon the first and second resolutions, each resolution associated with an interior reach 75 comprising at least one pixel, for example, sixteen pixels. The controller 22 may determine the cut line for the mosaic image 70 based upon the first and second resolutions by at least at the first resolution, performing a first flooding operation from an original edge 74 of the image at the first resolution and a cropped image based upon the interior reach, the first flooding operation defining a first cut line based upon the first resolution, and at the second resolution, performing a second flooding operation from an original edge of the image at the second resolution and a cropped image based upon the interior reach and using the first cut line as a seed. The second flooding operation may define the cut line based upon the first and second resolutions. More specifically, the controller 22 assigns an interest value on a per pixel basis. In other words, the flooding operation mimics flooding of a liquid from the interior reach 75 and the original edge 74, the pseudo elevation defining the progress of the flooding being based upon the mutual interest value of each pixel. The flooding from the interior reach 75 and the original edge 74 lines meet at the new cut line.
The method may continue until the greatest resolution level has been processed, moving to greater resolutions with each iteration. If a greater resolution level remains, the method returns back to Block 35 to determine the features of mutual interest at that resolutions. Moreover, the features of mutual interest across all resolution levels may be determined by, for example, defining features having a threshold, i.e. minimum, level of interest across each resolution level.
At Decision Block 41, once the controller 22 has determined the cut lines for each image 71-73 to a desired accuracy level or if the greatest resolution level has been processed, the method ends at Block 45.
In other embodiments, the controller 22 may perform the operation to determine the cut lines on only one resolution of the images 71-73, thereby reducing computational overhead. In other words, these embodiments provide a coarser determination of the cut lines in trade off for speed, which may be helpful given the large number of images that may be in the mosaic image 70.
The features of mutual interest in the overlapping portions 76 of the images 71-73 may vary as resolution increases. At the low resolution levels, the features of mutual interest may include large geographical features, for example, terrain features and highways. At the high resolution levels, the features of mutual interest may include smaller manmade structures, for example, edges of buildings and homes.
Referring now additionally to
Referring now additionally to
Referring to
Referring now to
Hereinbelow, a method for balancing tonal values, for example, brightness and contrast tonal values, of the images forming a mosaic mage is disclosed. As will be appreciated by those skilled in the art, this method may be used in conjunction with the above method of determining cut lines for images before mosaic image formation, or in conjunction with other methods of forming mosaic images to reduce the appearance of seam lines due to tonal value imbalances.
Referring now to
At Block 115, the controller 102 also determines at least one exemplar. In some embodiments, the exemplar may comprise an exemplar image. For example, determining the exemplar may comprise at least one of: selecting a closest-to-mean image (representative exemplar) from among the images, selecting a desired image (intensity response representative exemplar) from among the images, and generating a virtual exemplar (statistical exemplar) based upon the images.
With the closest-to-mean exemplar image, the controller 102 automatically locks, i.e. the tonal values for this image are static/invariant during balancing, onto a contributing image in the mosaic image. This locked image represents the least deviation across all bands relative to the set average mean and average mean absolute deviations per band.
With the desired exemplar, the controller 102 automatically locks onto the contributing image in the mosaic image that demonstrates the most ideal response signature across all bands. In other words, the desired exemplar is the image that looks the best to the user for features contained within the images, for example, clouded over images and water body images. As will be appreciated by those skilled in the art, the desired exemplar may alternatively be based upon user preferences for the intended application of the mosaic image, i.e. the exemplar may comprise a set of user desired tonal values. For example, the desired exemplar may have tonal values for highly saturated tones.
With the virtual exemplar, none of the contributing images in the mosaic image are locked. Rather, a statistical representation of the desired set of tonal values is generated. In other words, all of the images of the mosaic image have their tonal values adjusted. At Block 117, the controller 102 generates tonal values for the exemplar. In other words, the controller 102 derives what are the desired tonal values, for example, a brightness value, a contrast value, and a gamma value.
At Block 121, the controller 102 generates adjustment tonal values for at least some of the images based upon the tonal values for the exemplar to thereby provide tonal balancing for the mosaic image. For example, the adjustment tonal values may affect perceived contrast and brightness independently of color values, for example, red, green, and blue hue values. Advantageously, the mosaic image has less noticeable seam lines since tonal values have been balanced. In some embodiments, the controller 102 may associate the generated adjustment tonal values as metadata with the plurality of images. The method ends at Block 123.
In some embodiments, the controller 102 may generate adjustment tonal values based upon at least one predetermined value. In other embodiments, the controller 102 may generate the adjustment tonal values based upon a cost function. More specifically, based upon a cost minimization function, the adjusted tonal values may approach the desired tonal values but likely will not actually reach the desired tonal values. Moreover, the controller 102 may generate adjustment tonal values in an iteratively manner. In other words, once the exemplar has been determined and the adjustment tonal values have been applied, a second exemplar may be selected and the process may be repeated.
In some embodiments, the controller 102 may associate the generated adjustment tonal values as metadata with the plurality of images. Advantageously, this method disclosed herein may be readily incorporated into existing mosaic image processing technology deployed downstream.
Advantageously, the controller 102 may permit defining exclusion areas in the images. Thereby, areas of known or discoverable anomalies, for example, water bodies and clouds, may be excluded to improve the generated adjustment tonal values.
As discussed above, there are at least three methods for determining an exemplar for the mosaic image, each method having desirable traits. For example, the closest-to-mean image exemplar (representative exemplar) may tend to adjust the images the least while maintaining band relativity and may be less sensitive to outlier influences. With the desired exemplar (intensity response representative exemplar) method, the method may adjust images from the mosaic image significantly from their original state, but still maintains band-relativity while adjusting the overall set to a desired response. With the virtual exemplar (statistical exemplar), this method is the most fluid approach since all the images are permitted to adjust. Although providing a balanced approach, depending on the statistical representation, this method may cause the mosaic image to become de-saturated. Moreover, since none of the images are locked, band relativity may be lost unless mitigated in some way, for example, by adjusting in luminance-chrominance space.
Referring now additionally to
Referring now additionally to
Referring now additionally to
Referring now to
The method illustratively includes laying out match points at Block 155, and computing statistics at Block 156. At Block 157, the wild points are removed to improve the reliability of the balancing. For example, points outside a statistical threshold may be removed. At Block 158, the exemplar is either selected or computed if not explicitly provided, and a minimization cost function is applied at Block 159. The method ends at Block 160.
Referring now to
Referring now to
Other features relating to processing mosaic images are disclosed in co-pending application “IMAGE PROCESSING DEVICE FOR DETERMINING CUT LINES AND RELATED METHODS”, Attorney Docket No. 61683, incorporated herein by reference in its entirety.
Many modifications and other embodiments of the invention will come to the mind of one skilled in the art having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is understood that the invention is not to be limited to the specific embodiments disclosed, and that modifications and embodiments are intended to be included within the scope of the appended claims.
The United States Government was given two (2) site-licensed copies for the Harris ORIGIN tool software in this invention. This was provided with Restricted Rights per the terms contained in the contract No. 2003-K-068250-000, which was awarded by the National Geospatial-Intelligence Agency. Harris retained the right to sell licenses for the defined software functions on future Government programs.