3D terrain mapping system and method

A terrain mapping system includes an aerial system including at least one camera configured to capture a plurality of aerial images of an area and transmit the plurality of aerial images to an image database, a plurality of machines each having a ground control point (GCP) disposed thereon, and each being configured to periodically record a global location of the GCP in a location history database, and a mapping unit configured to construct a preliminary three-dimensional (3D) terrain map based on the plurality of aerial images, detect at least one GCP within at least one aerial image, determine an estimated global location and an accurate global location of the at least one GCP, and calibrate the preliminary 3D terrain map based on the estimated global location and the accurate global location of the at least one GCP.

TECHNICAL FIELD

This disclosure relates generated to a 3D terrain mapping system and method and, more particularly, to a 3D terrain mapping system and method using ground control points.

BACKGROUND

Worksites, such as, for example, mine sites, landfills, quarries, construction sites, etc., commonly undergo geographic alteration by machines and/or workers performing various tasks thereon. It is thus useful to generate a three-dimensional (3D) terrain map of these work sites.

Photogrammetry is a technique for generating 3D terrain maps. Generally, photogrammetry generates a 3D terrain map of an area being surveyed by combining a plurality of overlapping aerial images of the area. However, sometimes the 3D terrain map generated by photogrammetry has some errors, which renders the map not accurate enough for some applications. To improve the accuracy of the 3D terrain map, ground control points (GCPs) are used for calibrating the 3D terrain map. The GCPs are landmarks with known accurate global locations, i.e., latitude, longitude, and elevation. They are placed manually at different locations in the area being surveyed. These GCPs are also visible in the 3D terrain map generated by photogrammetry. The difference between the accurate global locations of the GCPs and their estimated locations in the 3D terrain map generated by photogrammetry is used to compensate for errors in the 3D terrain map.

U.S. Pat. No. 5,596,494 (the '494 patent) discloses a method of generating maps using photogrammetry. The method includes navigating flight and acquiring images of terrestrial scenes, setting up and collecting geophysical coordinates of GCPs under flight paths, and processing the acquired images to derive absolute geophysical coordinate information using camera parameters and geophysical coordinates of the GCPs.

However, the method disclosed in the '494 patent requires manually setting up and collecting the geophysical coordinates of the GCPs in an area being surveyed. Because the area being surveyed usually undergoes geographic alterations, the GCPs may be changed or even disappear due to the geographic alterations. Therefore, new GCPs may need to be set up and their geophysical coordinates need to be collected frequently. The process of setting up GCPs and collecting the geophysical coordinates of the GCPs is time-consuming and expensive, or even dangerous, as it requires travel to the area being surveyed with appropriate equipment and personnel.

The disclosed methods and systems are directed to solve one or more of the problems set forth above and/or other problems of the prior art.

SUMMARY

In one aspect, this disclosure is directed to a terrain mapping system. The terrain mapping system includes an aerial system, a plurality of machines, and a mapping unit. The aerial system includes at least one camera configured to capture a plurality of aerial images of an area and transmit the plurality of aerial images to an image database. Each one of the plurality of machines has a ground control point (GCP) disposed thereon, and is configured to periodically record a global location of the GCP in a location history database. The mapping unit is in communication with the image database and the location history database, and is configured to retrieve the plurality of aerial images from the image database, and construct a preliminary three-dimensional (3D) terrain map based on the plurality of aerial images. The mapping unit is also configured to detect at least one GCP within at least one aerial image, determine an estimated global location of the at least one GCP in the preliminary 3D terrain map, and determine an accurate global location of the at least one GCP. The mapping unit is further configured to calibrate the preliminary 3D terrain map based on the estimated global location and the accurate global location of the at least one GCP, and output the calibrated 3D terrain map.

In another aspect, this disclosure is directed to a terrain mapping unit for mapping an area. The terrain mapping unit includes a processor and a non-transitory memory configured to store instructions, that, when executed, enable the processor to retrieve a plurality of aerial images from an image database, the plurality of aerial images being taken by at least one camera on an aerial system. The non-transitory memory is also configured to store instructions to enable the processor to construct a preliminary 3-dimensional (3D) terrain map based on the plurality of aerial images, and detect at least one ground control point (GCP) within at least one aerial image. Each GCP is disposed on a machine which periodically records its location in a location history database. The non-transitory memory is further configured to store instructions to enable the processor to determine an estimated global location of the at least one GCP in the preliminary 3D terrain map, determine an accurate global location of the at least one GCP, calibrate the preliminary 3D terrain map based on the estimated global location and the accurate global location of the at least one GCP, and output the calibrated 3D terrain map.

In yet another aspect, this disclosure is directed to a method for generating a terrain map of an area. The method includes capturing, by at least one camera on an aerial system, a plurality of aerial images of the area, and periodically recording, by a plurality of machines moving around the area, global locations of a plurality of ground control points (GCPs) respectively disposed on the machines. The method also includes constructing, by a mapping unit, a preliminary 3-dimensional (3D) terrain map based on the plurality of aerial images, detecting at least one GCP within at least one aerial image, determining an estimated global location of the at least one GCP in the preliminary 3D terrain map, and determining an accurate global location of the at least one GCP. The method further includes calibrating the preliminary 3D terrain map based on the estimated global location and the accurate global location of the at least one GCP, and outputting the calibrated 3D terrain map.

DETAILED DESCRIPTION

FIG. 1schematically illustrates a 3D terrain mapping system100, consistent with a disclosed embodiment. 3D terrain mapping system100is used for generating a 3D terrain map of an area10. Area10may be, for example, a mine site, a landfill, a quarry, a construction site, or any other type of site on which work or labor is performed. As illustrated inFIG. 1, 3D terrain mapping system100includes an aerial system110, an image database120, machines130and140, a location history database150, and a mapping unit160.

Aerial system110may be an airplane or an unmanned aerial system (UAS). Aerial system110may be equipped with a camera112for capturing aerial images of area10. Aerial system110may also include an on-board global positioning system (GPS) receiver114for obtaining global location of GPS receiver114and time stamp information. Aerial system110may be configured to fly over area10along a predetermined flight path while camera112captures aerial images at a fixed time interval. Each pair of consecutive aerial images taken by camera112may overlap with each other such that they can be processed by photogrammetry to obtain a 3D terrain map of area10. Aerial system110may be configured to obtain location information and time stamp information of each aerial image and attach the obtained location information and time stamp information, as image metadata, to the aerial image. The location information of an aerial image may represent a global location of camera112that takes the aerial image. The global location may include global coordinates, i.e., latitude, longitude, and elevation, measured by one or more GPS satellites. The global location of camera112may be determined based on a global location of GPS receiver114and an on-board location of camera112with respect to GPS receiver114. The time stamp information of an aerial image may represent a time when the aerial image was taken. The time stamp information may be GPS time measured by the one or more GPS satellites. Aerial system110may transmit the captured aerial images to image database120and/or mapping unit160.

In some embodiments not illustrated inFIG. 1, aerial system may be equipped with more than one cameras configured to capture aerial images simultaneously. The aerial images simultaneously taken by two adjacent cameras may overlap with each other.

Image database120may be one or more software and/or hardware components that are configured to store, organize, sort, filter, and/or arrange aerial images transmitted from aerial system110. For example, image database120may store the aerial images and their respective image metadata including the global locations of the cameras taking the aerial images and the time stamps indicating the time when the aerial images were taken.

Machines130and140may be excavators, loaders, dozers, motor graders, haul trucks, and/or other types of equipment that move around area10and perform various tasks in area10. Machines130and140may be respectively painted with Ground Control Point (GCP) patterns132and142on top of machines130and140. GCP patterns132and142may be configured to be large enough such that, when they are included in an aerial image taken by camera112on aerial system110flying over area10, they can be recognized by mapping unit160executing, for example, a computer vision program and/or a photogrammetry program. GCP patterns132and142may respectively include GCPs134and144that can be detected from GCP patterns132and142by using the computer vision program. GCP patterns132and142may include at least one of shapes, one-dimensional bar codes, two-dimensional bar codes, checker board patterns, and numbers.

In some embodiments, GCP patterns132and142may be the same as each other. Alternatively, in some other embodiments, GCP patterns132and142may be different from each other. For example, each GCP pattern132or142may be unique and may be associated with a unique machine identifier. In such case, when mapping unit160recognizes a GCP pattern in an aerial image, it may automatically recognize an identifier of the machine on which the GCP pattern is painted. For example, as illustrated inFIG. 1, GCP pattern132of machine130may include a number “12”, indicating that the machine identifier of machine130is “12”; and GCP pattern142of machine140may include a number “10”, indicating that the machine identifier of machine140is “10”. As an alternatively example, GCP patterns132and142may include different bar codes or different shapes for different machines130and140.

Machines130and140may respectively include Real Time Kinematic (RTK) GPS receivers136and146for obtaining global locations of RTK GPS receivers136and146and time stamp information. The global locations of RTK GPS receivers136and146may be measured by the one or more GPS satellites. The time stamp information may be GPS time measured by the one or more GPS satellites. Machines130and140may be respectively configured to determine global locations of GCPs134and144based on the global locations of RTK GPS receivers136and146and on-board locations of GCPs134and144with respect to RTK GPS receivers136and146. Machines130and140may be respectively configured to record the global locations of GCPs134and144and their associated time stamp information as location history information of GCPs134and144in location history database150at a fixed time interval, e.g., every second or even more frequently.

Location history database150may be one or more software and/or hardware components that are configured to store, organize, sort, filter, and/or arrange the location history information of GCPs134and144on machines130and140. For example, location history database150may include sub-databases respectively associated with machines130and140. Each sub-database may be identified by a machine identifier of the corresponding machine130or140. Each sub-database may be configured to store a plurality of global locations of a GCP134or144included in the corresponding machine130or140, and time stamp information, e.g., a plurality of time stamps, respectively associated with the plurality of global locations.

Mapping unit160may include one or more hardware and/or software components configured to display, collect, store, analyze, evaluate, distribute, report, process, record, and/or sort information related to 3D terrain mapping. Mapping unit160may be configured to receive aerial images from aerial system110, or retrieve aerial images from image database120, and construct a preliminary 3D terrain map by using the aerial images. Mapping unit160may also be configured to calibrate the preliminary 3D terrain map based on the location information of GCPs134and144on machines130and140. Detailed description regarding the structure and function of mapping unit160will be provided with respect toFIG. 3.

FIG. 2schematically illustrates an exemplary aerial image200taken by camera112on aerial system110illustrated inFIG. 1, consistent with a disclosed embodiment. As illustrated inFIG. 2, aerial image200may include top views of machine130and machine140. The top view of machine130includes GCP pattern132including GCP134and a number “12” as the identifier of machine130. GCP134may be the center of a circular checkerboard pattern210included in GCP pattern132. When mapping unit160detects GCP pattern132within aerial image200, it may detect the circular checkerboard pattern210within GCP pattern132, and then detect the center of the circular checkerboard pattern210as GCP134. The top view of machine140includes GCP pattern142including GCP144and a number “10” as the identifier of machine140. Similar to GCP134, GCP144may be the center of a circular checkerboard pattern220included in GCP pattern142.

FIG. 3schematically illustrates an exemplary mapping unit160consistent with a disclosed embodiment. As illustrated inFIG. 3, mapping unit160may include an image server310and a data fusion unit320. Image server310and data fusion unit320may respectively include one or more processors312and322configured to perform various processes and methods consistent with certain disclosed embodiments. In addition, each one of image server310and data fusion unit320may respectively include one or more transitory or non-transitory memories314and324configured to store computer program instructions for execution by the respective processors. Image server310and data fusion unit320may be included in a single computer, or may be separated from each other.

Image server310may be communicatively coupled to image database120to retrieve a plurality of aerial images from image database120. Each aerial image may include image metadata including a global location and time stamp. The global location of each aerial image may represent the location of camera112when the aerial image was taken. Image server310may execute a photogrammetry program to process the aerial images and their respective global locations, to generate a preliminary 3D terrain map of area10. The preliminary 3D terrain map may include a plurality of surface points of area10, including surface points of machines130and140in area10as well as GCPs134and144respectively painted on top of machines130and140. Image server310may also determine an estimated global location of each of the surface points and GCPs in the preliminary 3D terrain map based on the global locations of the aerial images. Alternatively, in some embodiments where aerial system110includes multiple cameras for taking aerial images, image server310may calculate an estimated global location of each surface point based on the aerial images taken by the multiple cameras and the global locations of the respective cameras.

Image server310may also search each one of the aerial images for GCP patterns. Once image server310finds an aerial image that includes a GCP pattern, image server310may search for a GCP within the GCP pattern. Once image server310finds a GCP, image server310may record the global location and time stamp associated with the aerial image, and 2-dimensional (2D) coordinates of the GCP within the aerial image. If an aerial image includes more than one GCP, image server310may determine the 2D coordinates of each one of the GCPs within the aerial image. In some embodiments where machine identifiers are available, i.e., where various GCP patterns are associated with various machine identifiers, image server310may perform a pattern recognition program to detect the machine identifier associated with the GCP pattern.

Data fusion unit320may be communicatively coupled to image server310to retrieve global location and time stamps of the aerial images that include GCPs, and the 2D coordinates of GCPs within the respective aerial images. In some embodiments where machine identifiers are available, data fusion unit320may also retrieve the machine identifier associated with each GCP from image server310.

Data fusion unit320may determine an estimated global location of each one of the GCPs that are detected in the aerial images. For example, data fusion unit320may determine the estimated global location of a GCP based on the 2D coordinate of the GCP in an aerial image and a global location of a camera that took the aerial image. As another example, data fusion unit320may determine that the estimated global location of a GCP is the 3D coordinates of the GCP in the preliminary 3D terrain map generated by image server310. In some embodiments, a GCP may be included in more than one consecutive aerial image taken by a camera. In addition, since the GCP is painted on a machine which is in motion, image server310executing the photogrammetry program may not be able to calculate the 3D coordinates of the GCP directly. Therefore, when a GCP is included in more than one consecutive aerial image, data fusion unit320may be configured to choose one (e.g., the first one) of the consecutive aerial images, and project the chosen aerial image onto the preliminary 3D terrain map generated by image server310to obtain the 3D coordinates of the projected GCP in the preliminary 3D terrain map.

Data fusion unit320may be communicatively coupled to location history database150to obtain an accurate global location of each one of the GCPs that are detected in the aerial images, based on the time stamp information associated with the GCP. When a GCP is included in more than one consecutive aerial images and data fusion unit320has chosen one of the consecutive aerial images, the time stamp may be the one that is associated with the chosen aerial image.

In some embodiments where machine identifiers are available, data fusion unit320may look up location history database150to search for a global location that matches the machine identifier and the time stamp associated with the GCP. For example, data fusion unit320may look up a sub database in location history database150that is associated with the machine identifier to search for a global location that matches the time stamp associated with the GCP. That is, data fusion unit320may search for a global location that is associated with a time stamp which is equal to, or approximately equal to, the time stamp associated with the GCP. As used herein, “approximately equal to” refers to a difference between a first time stamp and a second time stamp being within a predetermined error range that is tolerable for mapping unit160.

In some embodiments where machine identifiers are not available, data fusion unit320may look up location history database150to search for a global location that matches the time stamp associated with the GCP and is close to the estimated global location of the GCP. That is, data fusion unit320may search for a global location that matches the time stamp associated with the GCP, and that is also within a predetermined range around the estimated global location of the GCP. If data fusion unit320finds a single global location that matches the time stamp associated with the GCP and is within the predetermined range around the estimated global location of the GCP, data fusion unit320may determine that the single global location is the accurate global location of the GCP. If data fusion unit320finds more than one global locations that match the time stamp associated with the GCP and are within the predetermined range around the estimated global location of the GCP, data fusion unit320may determine that the GCP is useless, and may discard the GCP.

Data fusion unit320may calibrate the preliminary 3D terrain map based on the accurate global location of the GCPs and the estimated global location of the GCPs. For example, data fusion unit320may calibrate the displacement, orientation, scale, rotation (i.e., roll, pitch, yaw) of the preliminary 3D terrain map. Data fusion unit320may perform the calibration based on a difference between the accurate global location of each GCP and the estimated global location of the GCP. In order to perform an accurate calibration, at least three (3) GCPs are needed. In some embodiments where there are more than three (3) GCPs, data fusion unit320may perform a filtering process to eliminate GCPs that are less useful for calibrating the 3D terrain map. For example, data fusion unit320may eliminate every pair of GCPs having a distance less than a threshold value. The threshold value may be a location estimation error of the preliminary 3D terrain map generated by image server310executing the photo photogrammetry program. As another example, data fusion unit320may eliminate at least one of the GCPs that are disposed along a single line. As still another example, data fusion unit320may eliminate at least one of the GCPs that are disposed on the same plane.

Data fusion unit320may be communicatively coupled to output unit330to transmit the calibrated 3D terrain map to output unit330. Output unit330may include a display, a printer, or any other devices that can output the calibrated 3D terrain map. For example, output unit330may include a graphical user interface (GUI) through which a user can interact with the GUI to tilt, rotate, zoom in, zoom out, elevate, etc., the 3D terrain map, or even adjust the appearance of the 3D terrain map.

INDUSTRIAL APPLICABILITY

The disclosed 3D terrain mapping system100may generate an accurate 3D terrain map of an area, without the need to frequently travel to the area to manually set up GCPs and measure the global locations of the GCPs.

FIG. 4illustrates a flow chart of an exemplary process400of generating a 3D terrain map of an area being surveyed, consistent with a disclosed embodiment. Process400may be implemented when machine identifiers are available, i.e., when machine identifiers are detectable via GCP patterns. Process400may be implemented by mapping unit160.

As illustrated inFIG. 4, mapping unit160may first retrieve a plurality of aerial images from image database120(step410). Each aerial image may be tagged with image metadata that includes a global location (e.g., global coordinates) representing the global location of a camera taking the aerial image, and a time stamp representing the time when the aerial image was taken.

At step420, mapping unit160may execute a photogrammetry program to construct a preliminary 3D terrain map by using the plurality of aerial images and their respective global locations. The preliminary 3D terrain map may include a plurality of surface points of the area being surveyed. Mapping unit160may also calculate estimated 3D coordinates of these surface points.

At step430, mapping unit160may scan the plurality of aerial images to search for GCPs within the aerial images. As a result of the scan, mapping unit160may detect at least one GCP within at least one aerial image. Mapping unit160may record the global location and the time stamp of each aerial image that includes a GCP. Mapping unit160may also record 2D coordinates of each detected GCP within the corresponding aerial image.

At step440, mapping unit160may estimate a global location of the at least one GCP detected at step430. In one embodiment, mapping unit160may estimate the global location of a GCP by projecting an aerial image including the GCP onto the preliminary 3D terrain map. In an alternative embodiment where aerial system110includes multiple cameras for taking aerial images, mapping unit160may estimate the global location of a GCP based on the aerial images taken by the multiple cameras and the respective global locations of the multiple cameras.

FIG. 5illustrates a flow chart of an exemplary process500of estimating a global location of a GCP by projecting an aerial image including the GCP onto the preliminary 3D terrain map, consistent with a disclosed embodiment. Process500may be implemented when the GCP is included in two or more consecutive aerial images.

As illustrated inFIG. 5, mapping unit160may first select one of the two or more consecutive aerial images containing the GCP (step510). For example, mapping unit160may select a first one of the consecutive aerial images containing the GCP.

At step520, mapping unit160may project, i.e., overlap, the selected aerial image onto the preliminary 3D terrain map that was constructed at step420. Mapping unit160may determine where to project the aerial image in the preliminary 3D terrain map based on the global location associated with the aerial image and the estimated 3D coordinates of the surface points in the preliminary 3D terrain map. As a result of the projection, the GCP included in the aerial image is also projected onto the preliminary 3D terrain map.

At step530, mapping unit160may obtain the 3D coordinates of the GCP projected in the preliminary 3D terrain map. At step540, mapping unit160may record the obtained 3D coordinates of the GCP as the estimated global location of the GCP. After step540, mapping unit160may finish process500.

Referring back toFIG. 4, in addition to estimating the global location of the at least one GCP at step440, mapping unit160may also determine an accurate global location of the at least one GCP (step450). Because the machine identifiers are available, mapping unit160may determine the accurate global location of a GCP based on the machine identifier associated with the GCP.

FIG. 6illustrates a flow chart of an exemplary process600of determining an accurate global location of a GCP based on a machine identifier associated with the GCP, consistent with a disclosed embodiment. As illustrated inFIG. 6, mapping unit160may first perform a pattern recognition program to determine a machine identifier associated with the GCP (step610). For example, mapping unit160may include a database configured to store relationships between a plurality of patterns and a plurality of machine identifiers. Once mapping unit160detects a GCP pattern surrounding the GCP in an aerial image, mapping unit160may look up the database to search for a pattern that matches the GCP pattern, and then retrieve the machine identifier that corresponds to the matched pattern.

At step620, mapping unit160may retrieve a time stamp associated with the GCP. When the GCP is included in two or more consecutive aerial images, mapping unit160may select one of the two or more consecutive aerial images containing the GCP, and retrieve a time stamp of the selected aerial image as the time stamp associated with the GCP.

At step630, mapping unit160may detect a global location in location history database150that matches the machine identifier and the time stamp associated with the GCP. For example, mapping unit160may look up location history database150to search for a global location that matches the machine identifier and the time stamp associated with the GCP. In some embodiments where location history database150includes a plurality of sub databases respectively corresponding to a plurality of machine identifiers, mapping unit160may look up a sub database in location history database150that is associated with the machine identifier associated with the GCP to search for a global location that matches the time stamp associated with the GCP. Mapping unit160may find a global location that is associated with a time stamp which is equal to, or approximately equal to, the time stamp associated with the GCP.

At step640, mapping unit160may record the global location found in the location history database150as the accurate global location of the GCP. After step640, mapping unit160may finish process600.

Referring back toFIG. 4, after determining the accurate global location of each GCP, mapping unit160may calibrate the preliminary 3D terrain map based on the accurate global location and the estimated global location of the at least one GCP detected at step430(step460). Data fusion unit320may perform the calibration based on a difference between the accurate global location of each GCP and the estimated global location of the GCP. During the calibration process, data fusion unit320may correct errors in displacement, orientation, scale, rotation (i.e., roll, pitch, yaw) of the preliminary 3D terrain map.

Once the 3D terrain map is calibrated, mapping unit160may transfer the calibrated 3D terrain map to output unit330(step470). Output unit330may include a display, a printer, or any other devices that can output the calibrated 3D terrain map. After step470, mapping unit160may finish process400.

FIG. 7illustrates a flow chart of an exemplary process700of generating a 3D terrain map of an area being surveyed, consistent with a disclosed embodiment. Process700may be implemented when machine identifiers are not available, i.e., when machine identifiers cannot be detected via GCP patterns. Process700may be implemented by mapping unit160.

As illustrated inFIG. 7, mapping unit160may first retrieve a plurality of aerial images from image database120(step710). Each aerial image may be tagged with image metadata that includes a global location (e.g., global coordinates) representing the global location of a camera taking the aerial image, and a time stamp representing the time when the aerial image was taken.

At step712, mapping unit160may execute a photogrammetry program to construct a preliminary 3D terrain map by using the plurality of aerial images and their respective global locations. The preliminary 3D terrain map may include a plurality of surface points of the area being surveyed. Mapping unit160may also calculate estimated 3D coordinates of these surface points.

At step714, mapping unit160may scan the plurality of aerial images to search for GCPs within the aerial images. As a result of the scan, mapping unit160may detect a plurality of GCPs within some of the aerial images. Mapping unit160may record the global location and the time stamp of each aerial image that includes a GCP. Mapping unit160may also record 2D coordinates of each detected GCP within the corresponding aerial image.

At step716, mapping unit160may estimate a global location of each one of the plurality of GCPs detected at step714. For example, mapping unit160may perform process500illustrated inFIG. 5to estimate the global location of a GCP.

At step718, mapping unit160may perform a filtering process to filter the plurality of GCPs detected at714based on their respective estimated global locations. Mapping unit160may perform the filtering process according to various criteria. For example, one criterion requires that any two GCPs cannot be too close to each other. Thus, under such criterion, mapping unit160may eliminate every pair of GCPs having a distance less than a threshold value. The threshold value may be a location estimation error of the preliminary 3D terrain map. The location estimation error may be determined by mapping unit160based on an accuracy level of on-board GPS receiver114of aerial system110, the number of pixels of each one of the aerial images taken by camera112, the altitude of aerial system110when the aerial images were taken, etc.

After the filtering process, mapping unit160may select one of the remaining GCPs to determine its accurate global location (step720). Mapping unit160may first determine a time stamp associate with the selected GCP (step722). When the selected GCP is included in two or more consecutive aerial images, mapping unit160may select one of (e.g., a first one of) the two or more consecutive aerial images containing the GCP, and retrieve a time stamp of the selected aerial image as the time stamp associated with the GCP.

At step724, mapping unit160may look up location history database150to search for a global location that matches the time stamp associated with the selected GCP and is close to the estimated global location of the selected GCP. That is, mapping unit160may search for a global location that matches the time stamp associated with the selected GCP, and that is also within a predetermined range around the estimated global location of the selected GCP. As a result of the searching, mapping unit160may find one or more global locations that match the time stamp associated with the selected GCP and are close to the estimated global location of the selected GCP.

At step726, mapping unit160may determine whether only one global location is found at step724. That is, mapping unit160may determine whether there is only one global location in location history database150that matches the time stamp associated with the selected GCP and is close to the estimated global location of the selected GCP.

If mapping unit160determines that only one global location is found at step724(step726, Yes), mapping unit160may record the found global location as the accurate global location of the selected GCP (step728). Otherwise, if mapping unit160determines that multiple global locations are found at step724(step726, No), mapping unit160may determine to eliminate the selected GCP (step730). Then, mapping unit160may proceed to step732.

At step732, mapping unit160may determine whether all of the GCPs have been considered. If not all of the GCPs have been considered (step732, No), mapping unit160may return to step720to select another one of the remaining GCPs to determine its global location.

Otherwise, if all of the GCPs have been considered (step732, Yes), mapping unit160may determine whether at least three (3) GCPs have their respective accurate global location determined (step734). If mapping unit160determines that there are less than three (3) GCPs having their respective accurate global location determined (step734, No), mapping unit160may determine that a calibration process cannot be performed to produce accurate results, and then mapping unit160may finish process700.

Otherwise, if mapping unit160determines that there are at least three (3) GCPs having their respective accurate global location determined (step734, Yes), mapping unit160may calibrate the preliminary 3D terrain map based on the accurate global locations and the estimated global locations of the GCPs (step736). Once the 3D terrain map is calibrated, mapping unit160may transfer the calibrated 3D terrain map to output unit330(step738). Output unit330may include a display, a printer, or any other devices that can output the calibrated 3D terrain map. After step738, mapping unit160may finish process700.

The disclosed 3D terrain mapping system and method may be applicable to generate a 3D terrain map of any area being surveyed, especially worksites that may undergo geographic alteration by machines. The 3D terrain mapping system100may calibrate the 3D terrain map by using GPS generated location of GCPs in the area being surveyed. As a result, the calibrated 3D terrain map is highly accurate.

In addition, in the disclosed 3D terrain mapping system and method, the GCPs for calibrating the 3D terrain map may be set up on machines before the machines are deployed to the area being surveyed. Therefore, the disclosed 3D terrain mapping system and method eliminate the need for frequently traveling to the area to manually set up the GCPs, thus significantly reducing the expense of time and labor for 3D terrain mapping.

Moreover, the disclosed 3D terrain mapping system and method tracks the global locations of the GCPs using GPS on the machines on which the GCPs are disposed. Therefore, the disclosed 3D terrain mapping system and method eliminate the need to manually collect the geophysical coordinates of the GCPs, thus further reducing the expense of time and labor for 3D terrain mapping.