Aspects of the present invention relate to digital environmental mapping and, more particularly, aspects of the present invention involve a system and method for reducing systematic errors in digital elevation maps by recognizing patterns of systematic errors associated with the elevation model acquisition system and removing them.
Digital maps are ubiquitous in today's society. They can be found in applications and web pages being run or accessed by personal computers, cellular phones, automobiles, or other computing devices. Digital maps come in many different varieties and often include elevation models to deliver a more complete view of an area. Elevation models allow for the digital map to include elevation data thus allowing for a three dimensional depiction of terrain, buildings, and other objects. Common examples of a map featuring digital elevation models include Google® Earth, Google® Maps, and Microsoft® Bing Maps.
In order to generate an elevation model, a series of elevation measurements of the area being modeled are taken. This series of elevation measurements form an elevation model dataset that may then be interpreted to produce a digital elevation model (DEM). An elevation model dataset may be created in a number of ways using various technologies. For example, an elevation model dataset could be generated by manually taking altitude measurements across an area. More modern methods of generating elevation model datasets also exist. For example, Photogrammetry, LIDAR, and RADAR are often used to produce elevation model datasets.
Photogrammetry involves the determination of geometric properties using photographic images. The fundamental concept behind photogrammetry is the idea of co-linearity. Co-linearity allows one to establish a relationship between an image and the ground using a bundle of (light) rays defined by the geometry and lens model of the camera (interior and exterior orientation of the camera). Photogrammetry allows for the distance between two points that lie on a plane parallel to the photographic image plane to be determined by measuring their distance on the image assuming that the scale(s) of the images is known. Photographs may be taken using a variety of methods and may include the use of satellites, airplanes, or any other camera with a known location, elevation, and exterior and interior orientation. In stereo photogrammetry, two photographs are taken from disparate positions and compared to generate a dataset for producing a DEM.
Light detection and ranging (LIDAR) based systems operate using an optical sensor and light source. A target is illuminated using the light source, light is reflected back, and a distance calculation is made. If the location and orientation of the LIDAR is known, then the distance may be translated into elevation measurements and assembled into a dataset for constructing a DEM.
RADAR, or more specifically Interferometric Synthetic Aperture Radar (InSAR or IfSAR) is another method of taking elevation measurements for creating a DEM. This method may use two or more synthetic aperture radar (SAR) images to generate an elevation model dataset by using differences in the phase of the waves returning to the sensor.
Each of these methods has varying levels of accuracy and costs associated with them. More accurate systems are naturally more expensive. Each method also is subject to certain levels of systematic error due to inherent attributes of the technology, the quality of system components, the calibration of the system, and the experience of the technician operating them. Furthermore, these systematic errors are usually related to the geometry of the system; being associated with along-collection-track, across-collection-track or upon some boundary condition within the system (frame etc.).
Elevation models can provide either specific point measurements or represent average, minimum, maximum or some other statistical representation of height within an area. Elevation models may also have varying levels of spatial resolution, where the above measurements are made at higher or lower (denser or sparser) spatial resolutions. For example, an elevation model which represents the average height within an area with a resolution of ten meters will have a data point that represents the average elevation of a ten meter by ten meter segment of the terrain.
An ideally calibrated system should yield the same dataset each time when measuring the same area multiple times with the differences being related to noise, temporal errors (for example, plant growth), and changes in height that have occurred between the measurements. Technicians are responsible for creating the DEM using the dataset. A technician is trained to identify errors in the measurements associated with the height measurement approach being used and to minimize them in the DEM. Depending on the level of skill of the technician and the care taken to calibrate the measurement system, the level of systematic errors present in the DEM will be impacted. For example, if two good technicians create elevation models of the same area twice using the same machine and collection methodology, the same data should be produced with the only difference between the datasets being noise. Conversely, if a less experienced technician improperly calibrates equipment and improperly calibrates a dataset, the improper calibrations will be imparted onto the datasets leading to a systematic error being introduced into the DEM.
A common way to improve the quality of a DEM is to use data from multiple datasets. Both errors and noise found in datasets may be reduced by averaging multiple datasets together. One problem with averaging datasets is that if the datasets are exactly aligned, averaging will reduce the sharpness (resolution) of the resulting DEM, but will reduce noise. For example, if five datasets with the same relative noise are averaged, the overall error of the average dataset will be 1/√5 of the original datasets. One problem with this method arises when the datasets have systematic errors. When two datasets are averaged and one or both of the datasets have systematic errors, the average dataset will include both sets of errors at reduced magnitudes depending on the alignment of the systematic errors in each datasets. Thus, if five datasets are averaged, the average dataset will include systematic errors from each of the five datasets each with a reduced magnitude. The result is that the average dataset actually has significantly more errors than any of the original datasets, but each of the errors will be smaller than the originals.
Thus, techniques are described herein to reduce systematic errors in elevation datasets. Among other benefits this allows improvement of all previously corrected data without costly collection of new data. It is with these and other issues in mind that various aspects of the present disclosure were developed.
A system and method for generating corrected digital elevation models is configured to remove errors from digital datasets. These datasets may include digital elevation models. Two or more sampled datasets representing the same data may be used to generate residual datasets. A residual dataset is the difference between a first dataset and a second dataset. Error patterns related to systematic errors may be identified in the residual datasets and error models representing the error patterns may be generated. The error models may then be removed from the contributing datasets to create the corrected datasets.
Error patterns may be identified in the spatial domain using morphological techniques or through a manual approach with an experienced user. In order to ease the identification of the patterns, the residual datasets may be transformed into the frequency domain using conventional mathematical methods such as a Fourier transform, discrete cosine transform, Laplace transform, wavelet transform or any other time to frequency domain transform. The patterns may be identified in the frequency domain residual datasets and error models may be made to remove the patterns while in the frequency domain. This may include filtering out frequencies where the error patterns are present.
Implementations of the present disclosure involve a system and method for removing systematic errors from elevation datasets. In particular, the present disclosure provides a system and method for using two or more datasets to identify and remove systematic errors in one or more datasets. This may be done by comparing the datasets to generate residual datasets and identifying patterns in the residual datasets associated with known systematic errors. Once the errors have been identified, the system may remove them from the contributing datasets and more accurate datasets are produced.
In this example, the dataset fusion system 100 includes a difference engine 110, a pattern identifier 120, and a sensor error modeler 130. The datasets may include a source DEM dataset 102 and a reference DEM dataset 104. The difference engine 110 may use the source DEM dataset 102 and the reference DEM dataset 104 to produce a residual dataset 112 (operation 220) which may then be outputted to the pattern identifier 120. The pattern identifier 120 may be configured to identify patterns 122, 124 present in the residual dataset 112 that are related to known systematic errors (operation 230). These patterns 122, 124 may then be outputted to the sensor error modeler 130. The sensor error modeler 130 may utilize the patterns 122, 124 identified to define filtering parameters for the source DEM dataset 102. The source DEM dataset 102 may then be filtered and a corrected dataset 140 may be outputted (operation 230).
The source DEM dataset 102 may include any dataset used for producing a DEM that may or may not have systematic errors present. In this example, the source DEM dataset 102 represents a DEM generated by one of the above identified methods of creating an elevation model dataset or any other method for creating an elevation model dataset. For example, the source dataset 102 may comprise a raster representation of a region describing an x-y location and an associated height value with a five meter resolution. Furthermore, the datasets 102, 104 may be stored in one of various data formats that can including a regular spaced grid, a sparse grid (normally associated with a triangular irregular network (TIN)), a random point file (point cloud data), or any other method of storage. These data formats are stored in standard file formats (containers) including, but not limited to, .bil, .tif (normally geoTIFF) and .las. The process is not specific to or dependent on any elevation specific format of data or file format.
The reference DEM dataset 104 may include an additional DEM dataset that describes the same geographical location as the source DEM dataset 102, but was taken by a different means, at a different time, and/or at a different resolution or collection geometry. In this example, the reference DEM dataset 104 may similarly include an elevation model dataset generated by one of the above identified methods of creating an elevation model dataset or any other method of creating an elevation model dataset. In another example, the source DEM dataset 102 and the reference DEM dataset 104 may be created using the same mapping device, but taken a different time using a different configuration. For example, an aircraft taking a first set of measurements may be flying at a first altitude and thus be configured for the first altitude. The same aircraft may then use the same mapping device, but takes the measurements at a different altitude and thus the mapping device has a different configuration. The reference dataset 104 may comprise a dataset describing the same region as the source DEM dataset 102 and likewise is in raster format describing locations and elevations in a region, but has a twenty meter resolution.
In this example, the source DEM dataset 102 has a higher resolution than the reference DEM dataset 104. In some cases, the source DEM dataset 102 and the reference DEM dataset 104 may be of equal resolutions. Generally, the source DEM dataset 102 will be selected to have a greater than or equal resolution than the reference DEM dataset 104. The source DEM dataset 102 and the reference DEM dataset 104 may also include information related to the gathering of the datasets. For example, the source DEM dataset 102 may include that the data was collected using LIDAR and the reference DEM dataset 104 may include that the data was collected using InSAR. The datasets 102, 104 may also include information regarding the details of the data collection. For example, InSAR measurements may be made by an airplane that travels in a relatively straight line for 1000 km taking measurements of a swath of land one kilometer wide for that 1000 km. The dataset created by this InSAR measurement may then include this information. In some cases, the datasets 102, 104 may not need to include specific information about collection techniques because they are known standards.
In various embodiments, the difference engine 110 may be configured to accept the source dataset 102 and the reference dataset 104 as inputs (operation 210). The difference engine 110 may then produce a residual dataset 112 by finding the difference between the source and reference datasets 102,104 (operation 220). The residual dataset 112 may indicate the presence of errors in each of the datasets 102,104. Ideally, there should be no difference between the two datasets 102, 104. In most cases, systematic errors have been introduced into the dataset due to the management of calibration and/or base survey or survey dynamics during the creation of the source dataset 102 and the reference dataset 104. The residual dataset 112 also includes the “noise” associated with the technology used in the survey as well as any errors that correspond to noise inherently generated in the process of creating a DEM.
In many cases the resolution of the source DEM dataset 102 will be higher than the resolution of the reference DEM dataset 104, meaning that the source DEM dataset 102 comprises more data points than the reference dataset 104. Thus, the difference engine 110 cannot directly use the datasets 102, 104 to create the residual dataset 112 since the various data points don't match up. In these cases, each data point in the source DEM dataset 102 may be mapped to a lower resolution equivalent before generating the residual dataset 112. For example, referring to
Referring to
Returning to
The pattern database 126 may include a database of patterns associated with systematic errors. For example, each type of sensor used for gathering data for a DEM may be associated with certain error patterns in a residual dataset. LIDAR systems are associated with certain known error patterns, RADAR systems are associated with different known error patterns, and photography-based systems are associated with different known error patterns. Patterns may also be associated with a platform that the measurements are taken from, such as a satellite or airplane. For example, patterns may be known for range errors, motion errors, off-cardinal range errors, and combinations of these errors for radar systems. Additionally, patterns may be known for warps or biases caused by stereo model calibration errors over the footprint of one or more photography-based stereo scenes. Each of these known residual error patterns may be included in the pattern database 126, and may be associated with the appropriate input DEM dataset when the error models are extracted from the residual dataset(s).
Information regarding the method of collecting the data in the source DEM dataset 102 and the reference DEM dataset 104 may also be used to help identify patterns in the residual dataset 112. Referring now to
In other cases, the system may be configured to take measurements of the region 500 at various angles relative to the aircraft as shown by
The identified patterns 122, 124 may be fed into the sensor error modeler 130 for constructing a filter 132 to remove the errors associated with the pattern. Once the error patterns have been identified as being caused by systematic errors, they can be removed without worrying about harming the reference DEM dataset 102. This is done by constructing the filter 132 using the patterns 122, 124 and the residual values contained in residual dataset 112. In a simplified example, the pattern 122 was found to be in the residual dataset 112. This pattern 122 extends across two data points in the residual dataset and each residual data point is equal to one meter. A filter 132 may then be constructed to remove one meter from the source DEM dataset 102 at the corresponding two data points. In other words, the filter will include information for modifying the source DEM dataset 102 to remove the identified systematic errors. Once the filter is constructed, the systematic errors may be removed from the source DEM dataset 102 and the resulting corrected DEM dataset 140 may be outputted (operation 240).
Referring now to
Referring now to
For the particular radar case in this embodiment, two types of low frequency errors may be removed using this process, including range errors and motion ripples, whether they be present in various collection geometries. Each type of error is exhibited at a different frequency or range of frequencies. One or more filters may be created to remove these frequencies from the dataset and thus remove the errors from the dataset.
With continued reference to
With continued reference to
With continued reference to
With continued reference to
In various other embodiments, once the corrected dataset has been produced, it may be used to reduce the noise in the reference DEM dataset. Once the systematic errors have been removed from a DEM dataset, the errors in the corrected dataset should only include noise. This noise may be reduced by simply averaging the corrected dataset with another DEM dataset of the same area assuming the DEMs are properly aligned.
The system bus 1190 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, a switched fabric, point-to-point connections, and a local bus using any of a variety of bus architectures. The system memory may also be referred to as simply the memory, and includes read only memory (ROM) 1170 and random access memory (RAM) 1180. A basic input/output system (BIOS) 1172, containing the basic routines that help to transfer information between elements within the general purpose computer 1100 such as during start-up, is stored in ROM 1170. The general purpose computer 1100 further includes a hard disk drive 1120 for reading from and writing to a persistent memory such as a hard disk, not shown and an optical disk drive 1130 for reading from or writing to a removable optical disk such as a CD ROM, DVD, or other optical media.
The hard disk drive 1120 and optical disk drive 1130 are connected to the system bus 1190. The drives and their associated computer-readable media provide nonvolatile storage of computer-readable instructions, data structures, program engines and other data for the general purpose computer 1100. It should be appreciated by those skilled in the art that any type of computer-readable media which can store data that is accessible by a computer, such as magnetic cassettes, flash memory cards, digital video disks, random access memories (RAMs), read only memories (ROMs), and the like, may be used in the example operating environment.
A number of program engines may be stored on the hard disk 1120, optical disk 1130, ROM 1170, or RAM 1180, including an operating system 1182, a digital elevation model and systematic error correction and fusion program 1184, one or more application programs 1186, and program data 1188. A user may enter commands and information into the general purpose computer 1100 through input devices such as a keyboard and pointing device connected to the USB or Serial Port 1140. These and other input devices are often connected to the processor 110 through the USB or serial port interface 1140 that is coupled to the system bus 1190, but may be connected by other interfaces, such as a parallel port. A monitor or other type of display device may also be connected to the system bus 1190 via an interface, such as a video adapter 1160. In addition to the monitor, computers typically include other peripheral output devices (not shown), such as speakers and printers.
The general purpose computer 1100 may operate in a networked environment using logical connections to one or more remote computers. These logical connections are achieved by a network interface 1150 coupled to or a part of the general purpose computer 1100; the invention is not limited to a particular type of communications device. The remote computer may be another computer, a server, a router, a network PC, a client, a peer device, or other common network node, and typically includes many or all of the elements described above relative to the general purpose computer 1100. The logical connections include a local-area network (LAN) a wide-area network (WAN), or any other network. Such networking environments are commonplace in office networks, enterprise-wide computer networks, intranets and the Internet, which are all types of networks.
The network adapter 1150, which may be internal or external, is connected to the system bus 1150. In a networked environment, programs depicted relative to general purpose computer 1100, or portions thereof, may be stored in the remote memory storage device. It is appreciated that the network connections shown are example and other means of and communications devices for establishing a communications link between the computers may be used.
The embodiments of the invention described herein are implemented as logical steps in one or more computer systems. The logical operations of the present invention are implemented (1) as a sequence of processor-implemented steps executing in one or more computer systems and (2) as interconnected machine or circuit engines within one or more computer systems. The implementation is a matter of choice, dependent on the performance requirements of the computer system implementing the invention. Accordingly, the logical operations making up the embodiments of the invention described herein are referred to variously as operations, steps, objects, or engines. Furthermore, it should be understood that logical operations may be performed in any order, unless explicitly claimed otherwise or a specific order is inherently necessitated by the claim language.
The foregoing merely illustrates the principles of the invention. Various modifications and alterations to the described embodiments will be apparent to those skilled in the art in view of the teachings herein. It will thus be appreciated that those skilled in the art will be able to devise numerous systems, arrangements and methods which, although not explicitly shown or described herein, embody the principles of the invention and are thus within the spirit and scope of the present invention. From the above description and drawings, it will be understood by those of ordinary skill in the art that the particular embodiments shown and described are for purposes of illustrations only and are not intended to limit the scope of the present invention. References to details of particular embodiments are not intended to limit the scope of the invention.