The present invention relates generally to systems and methods for visualizing and measuring data. More specifically, the present invention relates to systems and methods for visualizing and measuring real world 3-D spatial data.
3-D spatial data can be acquired using photogrammetric or light detection and ranging (LIDAR) systems and methods. Acquired 3-D spatial data, however, typically lacks the resolution required. Satellites can capture relatively high resolution images for large areas. Accurate 3-D spatial data, however, is not always as easy to attain at a high resolution. 3-D spatial data acquisition devices are not as efficient as imaging devices. High resolution images obtained from satellites or other means are often mapped to lower resolution 3-D spatial data acquired from, for example, land-based surveys or aerial scanners. However, systems and methods for efficiently viewing and measuring real world 3-D spatial data do not exist. Modern systems in the current state of the art are not organized in a way that they can be rendered or processed efficiently on computer graphics hardware or software systems. Consequently, systems and methods for efficiently visualizing and measuring real world 3-D spatial data are desirable.
Exemplary embodiments of the invention will become more fully apparent from the following description and appended claims, taken in conjunction with the accompanying drawings. Understanding that these drawings depict only exemplary embodiments and are, therefore, not to be considered limiting of the invention's scope, the exemplary embodiments of the invention will be described with additional specificity and detail through use of the accompanying drawings in which:
The following description of several exemplary embodiments of the present invention, as disclosed below, is not intended to limit the scope of the invention, but is merely representative of the embodiments of the invention.
The word “exemplary” is used exclusively herein to mean “serving as an example, instance, or illustration.” Any embodiment described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments. Furthermore, as used herein the term “embodiment” or “embodiments” may refer to one or more different variations of the disclosed invention and does not necessarily refer to a single variation of the disclosed invention.
Many features of the embodiments disclosed herein may be implemented as computer software, electronic hardware, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various components will be described generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
Where the described functionality is implemented as computer software, such software may include any type of computer instruction or computer executable code located within a memory device and/or transmitted as electronic signals over a system bus or network. Software that implements the functionality associated with components described herein may comprise a single instruction, or many instructions, and may be distributed over several different code segments, among different programs, and across several memory devices.
The term “determining” (and grammatical variants thereof) is used in an extremely broad sense. The term “determining” encompasses a wide variety of actions and therefore “determining” can include calculating, computing, processing, deriving, investigating, looking up (e.g., looking up in a table, a database or another data structure), ascertaining and the like. Also, “determining” can include receiving (e.g., receiving information), accessing (e.g., accessing data in a memory) and the like. Also, “determining” can include resolving, selecting, choosing, establishing, and the like.
The phrase “based on” does not mean “based only on,” unless expressly specified otherwise. In other words, the phrase “based on” describes both “based only on” and “based at least on.”
The present invention uses data organization to efficiently render 3-D spatial data and interpolation to enhance the resolution of the 3-D spatial data to correspond with the higher resolution image data. Further, expensive and time-consuming data acquisition techniques can be minimized using the present invention. High resolution 3-D spatial data can be determined or estimated using image data and low resolution 3-D spatial data or 3-D spatial data for smaller areas.
The present invention includes image data and low 3-D spatial data or high resolution 3-D data for a smaller area to achieve or estimate high resolution 3-D spatial data. For the purpose of describing this invention, the 3-D spatial data could include or be determined using Geographical Information Systems (GIS) data, Light Detection and Ranging (LIDAR) data, Global Positioning System (GPS) data, Global Coordinate System (GCS) Data, or other spatial data.
One possible embodiment of the present invention might include a first, a second, and a third 3-D spatial points 101, 111, 121, respectively, that can be connected to form a triangle superimposed over or associated with image data, as shown in
The position of the 3-D spatial data points within a specified coordinate system may be determined in various ways. For example, the position of 3-D spatial data points may be “monuments” of known GCS position. Alternatively, the position of 3-D spatial data points within a global coordinate system may be determined using a GPS gathering device. Alternatively, image data aligned with LIDAR data may be utilized to determine the global position of data points within a scanned area using various techniques, such as U.S. Pat. No. 6,759,979 to Vashisth et al. and U.S. Pat. No. 6,664,529 to Pack et al., which are incorporated by this reference.
The divided highway shown in
Dx=(1−F)Ax+(F)Cx
Dy=(1−I)Ay+(I)Cy
Dz=(1−F)(1−I)Az+(F)(1−I)Bz+(I)Cz
Furthermore, a non-linear interpolation technique could be used, if desired. One example of a non-linear interpolation technique is the sinc method:
Cg(x) is the cardinal function (or Whittaker cardinal function), h is the sampling interval or period (the inverse of the sampling rate), k is the scaling factor for the interpolation points, x is the resulting domain variable (at the new, interpolated resolution), g is the input function (the existing 3-D spatial data points), and sinc is the common function used in signal processing and analytical mathematics:
The result of sinc interpolation is an arbitrarily high resolution of interpolated points between existing points. Thus, the existing 3-D spatial data can be used to generate as many intermediate points as necessary, equal to or greater than the resolution of the image data. One may benefit from having a higher resolution of 3-D spatial data than the image resolution because one could visually select a point on the image at a higher resolution than the image would yield, and attain high resolution 3-D spatial information about that point, even if no further image data were available. The sinc method described above also allows the edges of adjacent polygons to connect smoothly and may be more desirable in certain circumstances.
The component to organize the 3-D spatial data may be utilized to organize data into a structure that can be easily managed by existing 3-D computer graphics hardware and software. Some examples of such structures consist of, but are not limited to, triangle polygons, quads, nurbs, point sets, line sets, triangle sets, or other form. The 3-D spatial data may be in the form of a DEM, a DTM, a contour, a set of LIDAR scan data, or another form derived from photogrammetry or any other 3-D spatial data acquisition technique.
Image data may comprise an orthorectified image, a multi-spectral image, infrared (IR) spectral image, aerial photograph, elevation map, normal map, shadow map, digital photograph or other data that may be represented visually. One exemplary embodiment of the component to align the 3-D spatial data to the image data 531 may utilize an orthorectified image and a DEM. The alignment may be accomplished by selecting the points on the image and the 3-D spatial data and then calculating the proper alignment parameters (shift and rotation, for example) by a numerical optimization technique such as bisection method, Newton's method, linear least squares, recursive least squares, genetic algorithm, or other.
The corresponding image data are organized, as illustrated by the component to organize the image data 561. The image data are organized in a manner to be efficiently stored or rendered on graphics hardware and software systems, as shown by the component to render image and 3-D spatial data 521. Some exemplary embodiments of organization of image data may include sizing image data into horizontal and vertical dimensions each being a power of two in size, segmenting image data to smaller sections to efficiently fit in memory on graphics hardware, for example. Image data may be stored in compressed, uncompressed, indexed, or unindexed, or any variety of forms supported by said systems.
In certain circumstances, one may wish to acquire data from multiple sources and then combine data sets to simultaneously measure, visualize, or otherwise process, as shown in
Also, it should be noted that the 3-D spatial data points may be determined by reference to any number of coordinate systems, such as a local coordinate system or a global coordinate system. The coordinate system could be a well-known and commonly used coordinate system or could be a single-use or proprietary coordinate system that may be used only for specific project.
Using the 3-D spatial data points of known or determined position, the image data is scaled and oriented. In other words, the image data may not be scaled to a proper size or may have become distorted for various reasons. The image data may be stretched or compressed to position corresponding portions of the image data over or at the correct location of the 3-D spatial data points, establishing a more accurate scale for the entire image. Thus, the image data will more accurately reflect the scale of the actual scene. Furthermore, the image data may not be properly oriented within the selected coordinate system. Positioning the corresponding portions of the image data directly on or at the 3-D spatial data points also orients the corresponding portions of the image data and thus the entire image data within the coordinate system.
Correlation between the image data and the 3-D spatial data points may be done in various ways. For example, manual correlation may be performed. One of the 3-D spatial data points could be the base of the flagpole or a fire hydrant, which is easily discernible in the image data, thus enabling manual scaling and orientation of the image data. Alternatively, automated or semi-automated techniques could be used for correlation between the 3-D spatial data points and the image data to enable automated or semi-automated orientation and scaling of the image data, which may also be used within the scope of the disclosed invention. Once the image data is properly scaled and oriented, distances between objects and sizes of objects shown on the image data are proportional to distances between and sizes of the real-world objects.
While specific embodiments and applications of the present invention have been illustrated and described, it is to be understood that the invention is not limited to the precise configuration and components disclosed herein. Various modifications, changes, and variations which will be apparent to those skilled in the art may be made in the arrangement, operation, and details of the methods and systems of the present invention disclosed herein without departing from the spirit and scope of the invention. For example, the foregoing discussion uses a triangle is the reference polygon. Other polygons may be used, such as a rectangle. Also, the foregoing discussion relates to the estimation of points within the polygon. The same or similar techniques may be utilized to estimate the position of points outside the polygon. Of course, other “edge smoothing” techniques, beyond the sinc method, may be used within the scope of the invention. For example, an averaging or low-pass filtering technique could be used.
The disclosed invention may be utilized in various ways. For example, high-resolution 3-D scan data for a scene may be imported into or utilized with independently gathered image data. The high-resolution 3-D scan data can be utilized to determine reference points, which can be used as vertices for the polygon. Using the reference points, the independently gathered image data may be more accurately scaled and oriented, enabling interpolation of the position of other three-dimensional points. Using this technique, for example, a small area within a city or region may be scanned at a high 3-D resolution to determine 3-D reference points for vertices of the polygon. Thereafter, existing satellite images may be scaled and oriented using the 3-D reference points to enable interpolation of other 3-D points.
Information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.
The various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
The various illustrative logical blocks, modules, and circuits described in connection with the embodiments disclosed herein may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array signal (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
Functions such as executing, processing, performing, running, determining, notifying, sending, receiving, storing, requesting, and/or other functions may include performing the function using a web service. Web services may include software systems designed to support interoperable machine-to-machine interaction over a computer network, such as the Internet. Web services may include various protocols and standards that may be used to exchange data between applications or systems. For example, the web services may include messaging specifications, security specifications, reliable messaging specifications, transaction specifications, metadata specifications, XML specifications, management specifications, and/or business process specifications. Commonly used specifications like SOAP, WSDL, XML, and/or other specifications may be used.
The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. The ASIC may reside in a user terminal. In the alternative, the processor and the storage medium may reside as discrete components in a user terminal.
The methods disclosed herein comprise one or more steps or actions for achieving the described methods. The method steps and/or actions may be interchanged with one another without departing from the scope of the present invention. In other words, unless a specific order of steps or actions is required for proper operation of the embodiment, the order and/or use of specific steps and/or actions may be modified without departing from the scope of the present invention.
While specific embodiments and applications of the present invention have been illustrated and described, it is to be understood that the invention is not limited to the precise configuration and components disclosed herein. Various modifications, changes, and variations which will be apparent to those skilled in the art may be made in the arrangement, operation, and details of the methods and systems of the present invention disclosed herein without departing from the spirit and scope of the invention.
Number | Date | Country | |
---|---|---|---|
60828794 | Oct 2006 | US |