FAST DETERMINANT OF HESSIAN FILTERING FOR IMAGE TIEPOINT CANDIDATE AREA ASSESSMENT
20210110195 ยท 2021-04-15
Inventors
Cpc classification
International classification
Abstract
A system identifies strong features in conjugate digital images and correlates the conjugate digital images for an identification of candidate tie points using only portions of the conjugate digital images that include the strong features.
Claims
1. A process comprising: identifying strong features in a plurality of conjugate digital images; and correlating the conjugate digital images for an identification of candidate tie points using only portions of the plurality of conjugate digital images that include the strong features.
2. The process of claim 1, wherein the strong features comprise blobs or highly-textured areas in the plurality of conjugate digital images.
3. The process of claim 1, wherein the identifying the strong features comprises utilizing second order image statistics to identify the strong features.
4. The process of claim 3, wherein the second order image statistics comprise a Determinant of Hessian (DOH) process.
5. The process of claim 1, wherein image coordinates of the strong features are projected from a first image space to a second image space using image geometry support data.
6. The process of claim 1, wherein the correlating the plurality of conjugate digital images comprises an image matching process that is executed only at regions of the conjugate digital images comprising strong features.
7. The process of claim 1, comprising outputting the candidate tie points for downstream processing.
8. A non-transitory computer-readable medium comprising instructions that when executed by a process execute a process comprising: identifying strong features in a plurality of conjugate digital images; and correlating the conjugate digital images for an identification of candidate tie points using only portions of the plurality of conjugate digital images that include the strong features.
9. The non-transitory computer-readable medium of claim 8, wherein the strong features comprise blobs in the plurality of conjugate digital images.
10. The non-transitory computer readable medium of claim 8, wherein the identifying the strong features comprises utilizing second order image statistics to identify the strong features.
11. The non-transitory computer readable medium of claim 10, wherein the second order image statistics comprise a Determinant of Hessian (DOH) process.
12. The non-transitory computer readable medium of claim 8, wherein image coordinates of the strong features are projected from a first image space to a second image space using image geometry support data.
13. The non-transitory computer readable medium of claim 8, comprising instructions for outputting the candidate tie points for downstream processing.
14. The non-transitory computer readable medium of claim 8, wherein the correlating the plurality of conjugate digital images comprises an image matching process that is executed only at regions of the conjugate digital images comprising the strong features.
15. A system comprising: a computer processor; and a computer memory coupled to the computer processor; wherein the computer processor is operable for: identifying strong features in a plurality of conjugate digital images; and correlating the conjugate digital images for an identification of candidate tie points using only portions of the plurality of conjugate digital images that include the strong features.
16. The system of claim 15, wherein the strong features comprise blobs in the plurality of conjugate digital images.
17. The system of claim 15, wherein the identifying the features comprises utilizing second order image statistics to identify the features.
18. The system of claim 17, wherein the second order image statistics comprise a Determinant of Hessian (DOH) process.
19. The system of claim 15, wherein the correlating the plurality of conjugate digital images comprises a normalized cross correlation (NCC).
20. The system of claim 15, wherein the correlating the plurality of conjugate digital images comprises an image matching process that is executed only at regions of the conjugate digital images comprising the strong features.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0007] In the drawings, which are not necessarily drawn to scale, like numerals may describe similar components in different views. Like numerals having different letter suffixes may represent different instances of similar components. Some embodiments are illustrated by way of example, and not limitation, in the figures of the accompanying drawings.
[0008]
[0009]
[0010]
[0011]
DETAILED DESCRIPTION
[0012] The process of determining tiepoints finds conjugate locations in multiple images that represent the same point on the ground, area, or field of view. Automatic determination of these tiepoints is often achieved via image matching techniques, such as normalized cross-correlation (NCC). In these image matching techniques, when measuring the similarity between two patches from two different but related images, the success of an NCC-like algorithm requires image patches with good texture that have blob-like features. Some current matching algorithms provide a fast way of finding good texture in blobs. One technique is referred to as a fast determinant of Hessian filtering, which is essentially an edge and/or blob finder algorithm.
[0013] An embodiment leverages such approaches for finding good features for correlation of conjugate images for the location of candidate image tiepoints. Some such algorithms often operate at video rates. Thus, these algorithms such as a determinant of Hessian (DOH) filtering process are faster than an expensive brute force NCC. This identification of good features eliminates the need to perform expensive image matching processing in featureless areas that are prone to produce bad correlation results. By implementing a version of the DOH approach, the speed of the feature finding of the DOH approach is combined with elimination of non-productive correlations in areas of low contrast and texture. This embodiment can further be combined with an approach of finding conjugates using good geometric support data. For example, commercial imaging satellites typically have geolocation accuracy less than ten meters. The embodiment can therefore be thought of as a hybrid approach of merging DOH feature finding with current accurate conjugate matching algorithms, resulting in a significant speedup for tiepoint matching. If there is a location in a first image, that location can be projected down to the ground and then back up to a second image. This provides a precise and accurate result, even though the ground image mapping between images have error, and the exact location is not obtained. However, an image pixel matching process (such as NCC) is executed to correct for the error.
[0014] These fast feature-finding algorithms, such as the Speeded Up Robust Features (SURF) algorithm, entail efficient use of integral images. The SURF and other algorithms find candidate regions by using second order image statistics, such as the aforementioned determinant of Hessian (DOH) filtering. However, these algorithms typically do not easily find conjugates (matches) since they do not typically include good support data.
[0015] In an embodiment, the fast aspect of the DOH computations is first invoked, and then the good feature locations determined by the DOH computations are used as a seed location for traditional accurate image matching approaches. The filtering based on the DOH process eliminates featureless regions that would otherwise result in poor matching performance (i.e., wasted processing). As noted, the embodiments disclosed herein are hybrid in nature. That is, they use fast integral images and a DOH process to find good areas for correlation, and then use excellent image support data to easily match conjugates. The hybrid processing methods described herein (e.g., utilizing fast DOH with good geometry) significantly reduce wasted processing time while achieving accurate conjugate pairing.
[0016] In an embodiment, feature rich areas are combined with good geometry for conjugate pairing. The geometry refers to the mapping between the ground (or other object in the field of view) and the image of the ground. Then, the current image matching algorithm is only needed to be run in those candidate areas, so that processing is faster and thereby results in reduction of wasted processing time while still achieving accurate tiepoint pairing results.
[0017] In
[0018]
[0019]
[0020] Referring now to
[0021] At 320, the DOH values are thresholded for regions that have strong edge or texture. Such thresholded areas will be highly conducive to successful image matching. Within 320, the image coordinates (i.e. image row and column locations) of such candidate areas from image one are denoted as (r1,c1). Note that there is a plurality of such coordinates. To simplify the following descriptions, one such image coordinate is concentrated on.
[0022] Since the images both have very good geometric support data, the candidate coordinates from image one (r1,c1) are first projected to the ground using support data from image one as depicted in 330. The result is a ground coordinate (gx,gy,gz) associated with the image coordinate (r1,c1) from image one. Within block 340, the ground coordinates (gx,gy,gz) from 330 are then projected to the space of image two via image-two's geometric support data, resulting in a candidate conjugate location (i.e., image row and column coordinates) in image two. The candidate conjugate location within image two is denoted as (r2,c2). If the image geometry were perfect, then image coordinates (r1,c1) and (r2,c2) would represent true conjugates (i.e., identical image features). However, the image geometry data for image one and image two contain slight errors. Within block 350, this slight error is corrected by image matching processing (such as NCC). The image matching processing is seeded at image 1 coordinates (r1,c1) and image 2 coordinates (r2,c2). The output of the matching processing are corrected image-two coordinates (denoted as (r2Corr, c2Corr) within block 350.)
[0023] Within block 360, the true conjugates (r1,c1) from image one and (r2Corr,c2Corr) from image two are output as the tiepoint locations. Downstream photogrammetry algorithms as depicted in block 370 can then use the true conjugate locations for further processing and subsequent correction of image geometric errors.
[0024] It is to be noted that the process in
[0025]
[0026] The example computer system 400 includes a processor 402 (e.g., a central processing unit (CPU), a graphics processing unit (GPU) or both), a main memory 401 and a static memory 406, which communicate with each other via a bus 408. The computer system 400 may further include a display unit 410, an alphanumeric input device 417 (e.g., a keyboard), and a user interface (U) navigation device 411 (e.g., a mouse). In one embodiment, the display, input device and cursor control device are a touch screen display. The computer system 400 may additionally include a storage device 416 (e.g., drive unit), a signal generation device 418 (e.g., a speaker), a network interface device 420, and one or more sensors 424, such as a global positioning system sensor, compass, accelerometer, or other sensor.
[0027] The drive unit 416 includes a machine-readable medium 422 on which is stored one or more sets of instructions and data structures (e.g., software 423) embodying or utilized by any one or more of the methodologies or functions described herein. The software 423 may also reside, completely or at least partially, within the main memory 401 and/or within the processor 402 during execution thereof by the computer system 400, the main memory 401 and the processor 402 also constituting machine-readable media.
[0028] While the machine-readable medium 422 is illustrated in an example embodiment to be a single medium, the term machine-readable medium may include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more instructions. The term machine-readable medium shall also be taken to include any tangible medium that is capable of storing, encoding or carrying instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present invention, or that is capable of storing, encoding or carrying data structures utilized by or associated with such instructions. The term machine-readable medium shall accordingly be taken to include, but not be limited to, solid-state memories, and optical and magnetic media. Specific examples of machine-readable media include non-volatile memory, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
[0029] The software 423 may further be transmitted or received over a communications network 426 using a transmission medium via the network interface device 420 utilizing any one of a number of well-known transfer protocols (e.g., HTTP). Examples of communication networks include a local area network (LAN), a wide area network (WAN), the Internet, mobile telephone networks, Plain Old Telephone (POTS) networks, and wireless data networks (e.g., Wi-Fi and WiMax networks). The term transmission medium shall be taken to include any intangible medium that is capable of storing, encoding or carrying instructions for execution by the machine, and includes digital or analog communications signals or other intangible medium to facilitate communication of such software.
[0030] The above detailed description includes references to the accompanying drawings, which form a part of the detailed description. The drawings show, by way of illustration, specific embodiments that may be practiced. These embodiments are also referred to herein as examples. Such examples may include elements in addition to those shown or described. However, also contemplated are examples that include the elements shown or described. Moreover, also contemplated are examples using any combination or permutation of those elements shown or described (or one or more aspects thereof), either with respect to a particular example (or one or more aspects thereof), or with respect to other examples (or one or more aspects thereof) shown or described herein.
[0031] Publications, patents, and patent documents referred to in this document are incorporated by reference herein in their entirety, as though individually incorporated by reference. In the event of inconsistent usages between this document and those documents so incorporated by reference, the usage in the incorporated reference(s) are supplementary to that of this document; for irreconcilable inconsistencies, the usage in this document controls.
[0032] In this document, the terms a or an are used, as is common in patent documents, to include one or more than one, independent of any other instances or usages of at least one or one or more. In this document, the term or is used to refer to a nonexclusive or, such that A or B includes A but not B, B but not A, and A and B, unless otherwise indicated. In the appended claims, the terms including and in which are used as the plain-English equivalents of the respective terms comprising and wherein. Also, in the following claims, the terms including and comprising are open-ended, that is, a system, device, article, or process that includes elements in addition to those listed after such a term in a claim are still deemed to fall within the scope of that claim. Moreover, in the following claims, the terms first, second, and third, etc. are used merely as labels, and are not intended to suggest a numerical order for their objects.
[0033] The above description is intended to be illustrative, and not restrictive. For example, the above-described examples (or one or more aspects thereof) may be used in combination with others. Other embodiments may be used, such as by one of ordinary skill in the art upon reviewing the above description. The Abstract is to allow the reader to quickly ascertain the nature of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. Also, in the above Detailed Description, various features may be grouped together to streamline the disclosure. However, the claims may not set forth every feature disclosed herein as embodiments may feature a subset of said features. Further, embodiments may include fewer features than those disclosed in a particular example. Thus, the following claims are hereby incorporated into the Detailed Description, with a claim standing on its own as a separate embodiment. The scope of the embodiments disclosed herein is to be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.