# Patent

## Title
Methods and processes for interactive display of three dimensional covariance

## Abstract

A system and method for displaying a three-dimensional surface along with ellipsoids representing covariances. In one embodiment, at a point on a three dimensional surface, an ellipsoid is formed having principal axes proportional to the eigenvalues of a covariance matrix. The ellipsoid and the three-dimensional surface are projected onto a two-dimensional plane for display on a two-dimensional screen to a user. The covariance matrix may be an estimated error covariance or a sample covariance.

## Background
CROSS-REFERENCE TO RELATED APPLICATION(S)
The present application claims priority to and the benefit of Provisional Application No. 61/828,644, filed May 29, 2013, entitled “METHODS AND PROCESSES FOR INTERACTIVE DISPLAY OF THREE DIMENSIONAL COVARIANCE”, the entire content of which is incorporated herein by reference.


BACKGROUND
1. Field
This invention relates to improved methods and processes for dynamic display of three-dimensional (3D) covariance information.
2. Description of Related Art
Three dimensional (3D) processing may involve estimation of errors associated with such processing in the form of three-dimensional error covariance (a 3×3 covariance matrix). In related art embodiments, such information may be quantified via reduction to two values for the entire data set. These two values may be, for example, circular error, 90-percent probable (CE90) and linear error, 90-percent probable (LE90). While such a reduction is useful for a “ballpark” estimate of accuracy, it does not preserve the full rigorous error. Furthermore, it is not a useful way of capturing the error on a per-point basis in a 3D data set, since only two values are typically specified for the entire data set.
Examples in which such 3D error characterizations are important include digital elevation models (DEM), stereo image coordinates for targeting, laser detection and ranging (LADAR) data sets, and point clouds generated from multiple electro-optical (EO) images. Each of these 3D data sets has the potential for capturing a full 3×3 error covariance at every 3D point. Such error covariances are often referred to as “geopositioning error” or “geopositioning accuracy”.
SUMMARY
Embodiments of the present invention provide a method for computing visualization parameters in the form of 3D error covariance ellipsoids and processes for dynamic display of such ellipsoids at every point in a 3D data set. Both absolute accuracy and relative (point-to-point) accuracies are accommodated by the present methods and processes. Further, since the methods are general to covariance, they are also suitable for accommodating sample covariance.
Embodiments of the present invention provide interactive user based visualization, the ability to dynamically scale ellipsoids, dynamic real-time computation and display of sample covariance, and dynamic real-time display of relative error covariance (error in distance measurement).
According to an embodiment of the present invention there is provided a method for displaying a three-dimensional surface, the method including: associating a covariance matrix with a first point on the surface; forming an ellipsoid, the ellipsoid including three major axes, each major axis having a length proportional to the square root of an eigenvalue of the covariance matrix, and being parallel to an eigenvector of the covariance matrix; displaying a two-dimensional projection of the surface; and displaying a two-dimensional projection of the ellipsoid at the first point.
In one embodiment, the covariance matrix is an estimated error covariance provided by a photogrammetric bundle adjustment algorithm.
In one embodiment, the covariance matrix is the sample covariance of points on the surface in a region around the first point.
In one embodiment, the method includes: receiving, through a user interface, a selection of a point of interest on the surface, wherein the covariance matrix is an estimated error covariance provided by a photogrammetric bundle adjustment algorithm at the point of interest.
In one embodiment, the receiving of a selection of a point of interest on the surface, the forming of an ellipsoid, and the displaying of a two-dimensional projection of the ellipsoid at the point on the surface include: receiving a selection of a point of interest on the surface in real time; forming an ellipsoid in real time; and displaying a two-dimensional projection of the ellipsoid in real time.
In one embodiment, the method includes: receiving an ellipsoid scale change command; and displaying an ellipsoid with a scale adjusted according to the received ellipsoid scale change command.
In one embodiment, the method includes: receiving, through a user interface, a selection of a point of interest, wherein the covariance matrix is the sample covariance of points on the surface in a region around the point of interest.
In one embodiment, the receiving of a selection of a point of interest on the surface, the forming of an ellipsoid, and the displaying of a two-dimensional projection of the ellipsoid at the point on the surface include: receiving a selection of a point of interest on the surface in real time; forming an ellipsoid in real time; and displaying a two-dimensional projection of the ellipsoid in real time.
In one embodiment, the method includes: receiving an ellipsoid scale change command; and displaying an ellipsoid with a scale adjusted according to the received ellipsoid scale change command.
In one embodiment, the covariance matrix is an estimated error covariance corresponding to a distance between the first point and a second point on the surface.
According to an embodiment of the present invention there is provided a system for displaying a three-dimensional surface, the system including a processing unit configured to: associate a covariance matrix with a first point on the surface; form an ellipsoid, the ellipsoid including three major axes, each major axis having a length proportional to the square root of an eigenvalue of the covariance matrix, and being parallel to an eigenvector of the covariance matrix; display a two-dimensional projection of the surface; and display a two-dimensional projection of the ellipsoid at the first point.
In one embodiment, the covariance matrix is an estimated error covariance provided by a photogrammetric bundle adjustment algorithm.
In one embodiment, the covariance matrix is the sample covariance of points on the surface in a region around the first point.
In one embodiment, the processing unit is further configured to: receive, through a user interface, a selection of a point of interest on the surface, and the covariance matrix is an estimated error covariance provided by a photogrammetric bundle adjustment algorithm at the point of interest.
In one embodiment, the receiving of a selection of a point of interest on the surface, the forming of an ellipsoid, and the displaying of a two-dimensional projection of the ellipsoid at the first point include: receiving a selection of a point of interest on the surface in real time; forming an ellipsoid in real time; and displaying a two-dimensional projection of the ellipsoid in real time.
In one embodiment, the processing unit is further configured to: receive an ellipsoid scale change command; and display an ellipsoid with a scale adjusted according to the received ellipsoid scale change command.
In one embodiment, the processing unit is further configured to receive, through a user interface, a selection of a point of interest, and the covariance matrix is the sample covariance of points on the surface in a region around the point of interest.
In one embodiment, the receiving of a selection of a point of interest on the surface, the forming of an ellipsoid, and the displaying of a two-dimensional projection of the ellipsoid at the point on the surface include: receiving a selection of a point of interest on the surface in real time; forming an ellipsoid in real time; and displaying a two-dimensional projection of the ellipsoid in real time.
In one embodiment, the processing unit is further configured to: receive an ellipsoid scale change command; and display an ellipsoid with a scale adjusted according to the received ellipsoid scale change command.
In one embodiment, the covariance matrix is an estimated error covariance corresponding to a distance between the first point and a second point on the surface.



BRIEF DESCRIPTION OF THE DRAWINGS
These and other features and advantages of the present invention will become appreciated as the same become better understood with reference to the specification, claims and appended drawings wherein:
FIG. 1A is an illustration of a principal error ellipsoid according to an embodiment of the present invention;
FIG. 1B is an illustration of a rotated error ellipsoid according to an embodiment of the present invention;
FIG. 2A is a polar plot of the sensor azimuth and off-nadir angles for two images, according to an embodiment of the present invention;
FIG. 2B is an illustration of a set of two-image predicted geolocation error ellipsoids according to an embodiment of the present invention;
FIG. 3A is a polar plot of the sensor azimuth and off-nadir angles for four images, according to an embodiment of the present invention;
FIG. 3B is an illustration of a set of four-image predicted geolocation error ellipsoids according to an embodiment of the present invention;
FIG. 4A is a polar plot of the sensor azimuth and off-nadir angles for twelve images, according to an embodiment of the present invention;
FIG. 4B is an illustration of a set of twelve-image predicted geolocation error ellipsoids according to an embodiment of the present invention;
FIG. 5A is an illustration of a relative error ellipsoid according to an embodiment of the present invention;
FIG. 5B is an illustration of a relative error ellipsoid along with two absolute error ellipsoids according to an embodiment of the present invention;
FIG. 6A is an illustration of a sample covariance ellipsoid at a point on a three-dimensional surface according to an embodiment of the present invention;
FIG. 6B is a magnified view of a portion of the illustration of FIG. 5A, showing a sample covariance ellipsoid at a point on a three-dimensional surface according to an embodiment of the present invention; and
FIG. 7 is a flow chart illustrating a method for interactive display of three-dimensional covariance according to an embodiment of the present invention.



DETAILED DESCRIPTION
The detailed description set forth below in connection with the appended drawings is intended as a description of exemplary embodiments of methods and processes for interactive display of three-dimensional covariance provided in accordance with the present invention and is not intended to represent the only forms in which the present invention may be constructed or utilized. The description sets forth the features of the present invention in connection with the illustrated embodiments. It is to be understood, however, that the same or equivalent functions and structures may be accomplished by different embodiments that are also intended to be encompassed within the spirit and scope of the invention. As denoted elsewhere herein, like element numbers are intended to indicate like elements or features.
The methods of embodiments of the present invention for computing visualization parameters in the form of 3D covariance ellipsoids are as follows:
Let




  
    
      
        
          C
          
            3
            ⁢
            X3
          
        
        =
        
          [
          
            
              
                
                  c
                  xx
                
              
              
                
                  c
                  xy
                
              
              
                
                  c
                  xz
                
              
            
            
              
                
                  c
                  yx
                
              
              
                
                  c
                  yy
                
              
              
                
                  c
                  yz
                
              
            
            
              
                
                  c
                  zx
                
              
              
                
                  c
                  zy
                
              
              
                
                  c
                  zz
                
              
            
          
          ]
        
      
    
    
      
        (
        1
        )
      
    
  




represent a 3D covariance matrix in x, y, z. Note that C can represent either an error covariance or a sample covariance. Such a covariance matrix is symmetric and real. The finite-dimensional spectral theorem states that any such matrix can be diagonalized by an orthogonal 3×3 matrix Q such that

D=QTCQ  (2)

where D is 3×3 and diagonal:





  
    
      
        D
        ≡
        
          [
          
            
              
                
                  d
                  00
                
              
              
                0
              
              
                0
              
            
            
              
                0
              
              
                
                  d
                  11
                
              
              
                00
              
            
            
              
                0
              
              
                0
              
              
                
                  d
                  22
                
              
            
          
          ]
        
      
    
    
      
        (
        3
        )
      
    
  




Finding matrices D and Q is an eigenvalue-eigenvector problem for real symmetric matrices. Eigen-decomposition of C thus provides matrices Q and D such that

C=QDQT  (4)

where the columns of the matrix Q provide the eigenvectors and the diagonal elements of D provide the corresponding eigenvalues.

The general law of propagation of errors states that if CR is a 3×3 covariance in a 3D space, R, and CS is a corresponding 3×3 covariance in space S, then




  
    
      
        
          C
          S
        
        =
        
          
            
              ∂
              S
            
            
              ∂
              R
            
          
          ⁢
          
            
              
                C
                R
              
              ⁡
              
                [
                
                  
                    ∂
                    S
                  
                  
                    ∂
                    R
                  
                
                ]
              
            
            T
          
        
      
    
    
      
        (
        5
        )
      
    
  




where





  
    ∂
    S
  
  
    ∂
    R
  




is the Jacobian of partial derivatives of space S with respect to space R. In particular if a vector VR in space R is rotated to a vector VS in space S via a 3×3 rotation matrix U (i.e. VS=UVR) then the Jacobian is simply the rotation matrix U. Equation (5) is then of the form

CS=UCRUT  (6)

One can see that the matrix Q in equation (4) fits the form of equation (6). An eigenfactoring of C thus provides the following:

    
    
        1. Eigenvalues from the diagonal of D provide the lengths of the axes of a “principal” ellipsoid associated with C
        2. Eigenvectors in the matrix of eigenvectors, Q, provide the principal directions of C, and thus a rotation matrix characterizing how the principal ellipsoid is rotated. (A “principal” ellipsoid in this context is one whose axes are aligned with the canonical X, Y and Z axes.)
    
    


The general equation of a principal ellipsoid is given by




  
    
      
        
          
            
              x
              2
            
            
              a
              2
            
          
          +
          
            
              y
              2
            
            
              b
              2
            
          
          +
          
            
              z
              2
            
            
              c
              2
            
          
        
        =
        1
      
    
    
      
        (
        7
        )
      
    
  




where the values a, b, and c are the lengths of the principal x, y, and z axes respectively. Using the eigenvalues from the matrix D, we can construct a principal (i.e. non-rotated) error ellipse via the following substitutions

a2=d00 

b2=d11 

c2=d22  (8)

Rotating such a “principal” ellipsoid by the eigenmatrix Q provides an ellipsoid which is consistent with the original covariance matrix C via the law of propagation of errors.
The process for visualization of a covariance matrix C in its proper orientation is achieved by invoking standard eigenfactor routines to C to arrive at matrices Q and D:

[Q,D]=eigenfactor(C)  (9)

For visualization, a 3D principal ellipsoid is constructed via equations (7) and (8) and translated to the 3D location of interest (e.g. a user's 3D cursor location). Points x, y, z on the principal ellipsoid are obtained via evaluation of equation (7). These points are then rotated via matrix Q:




  
    
      
        
          [
          
            
              
                
                  x
                  ′
                
              
            
            
              
                
                  y
                  ′
                
              
            
            
              
                
                  z
                  ′
                
              
            
          
          ]
        
        =
        
          Q
          ⁡
          
            [
            
              
                
                  x
                
              
              
                
                  y
                
              
              
                
                  z
                
              
            
            ]
          
        
      
    
    
      
        (
        10
        )
      
    
  




The result is a set of points ([x′y′z′]T) oriented consistent with C. FIG. 1 illustrates a principal ellipsoid 110 and a rotated ellipsoid 115. For this figure, the principal axes were also plotted and rotated via [{circumflex over (x)}ŷ{circumflex over (z)}]=QD. Within FIG. 1A and FIG. 1B, a first line 120, a second line 125, and a third line 130 represent the principal axes for x, y, z respectively. Each of the 2D ellipses is normal to one of the axes. FIG. 1A shows a canonical ellipsoid whose axis lengths are the square roots of the eigenvalues a, b, c. FIG. 1B shows an oriented ellipsoid consistent with the rotation matrix formed from the eigenvectors (Q).
EXAMPLES
The following figures show some real-world examples. The ellipsoids were produced via computations from formulations described above and displayed interactively from a custom-built 3D visualization tool designed for dynamic display of such ellipsoids.
Elements of embodiments of the present invention may be implemented using one or more processing units. Processing unit hardware may include, for example, application specific integrated circuits (ASICs), general purpose or special purpose central processing units (CPUs), digital signal processors (DSPs), graphics processing units (GPUs), and programmable logic devices such as field programmable gate arrays (FPGAs). The term “processing unit” is used herein to include any combination of hardware, firmware, and software, employed to process data or digital signals. In a processing unit, as used herein, each function is performed either by hardware configured, i.e., hard-wired, to perform that function, or by more general purpose hardware, such as a CPU, configured to execute instructions stored in a non-transitory storage medium. The processing unit receives data from which it generates, internally, three-dimensional objects, such as 3D surfaces and ellipsoids, and from which it forms two-dimensional projections for display on a two-dimensional display screen. A user may interact with the processing unit using, e.g., a keyboard and a mouse for input, and viewing the results on the display.
FIG. 2B shows a perspective view of a 3D surface 210 formed, in one embodiment, by combining two images of the ground, obtained with the two sensor viewing geometries 215, 220 illustrated in FIG. 2A. FIG. 2A shows a polar plot illustrating the image viewing geometries, in the form of azimuth angle to sensor (polar angle) and off-nadir sensor angle (polar radius). The sensor may be an electro-optical (EO) sensor such as a commercial imaging satellite. The 3D surface 210 is composed of a point cloud formed by registering EO images via photogrammetric bundle adjustment from data obtained from the two directions identified in FIG. 2A. The point cloud is extracted from the EO images via a multiray intersection of image coordinates on the ground. Each point in the point cloud is rendered with a brightness corresponding to the average intensity of the EO images. Superimposed on the 3D surface is a plurality of covariance ellipsoids 225, each representing the estimated error covariance provided by a photogrammetric bundle adjustment algorithm. The 3D surface 210 and the ellipsoids 225 are represented internally, in the processing unit, as three-dimensional objects. In this representation, the principal axes of each ellipsoid 225 are oriented parallel to the corresponding eigenvectors of the covariance matrix the ellipsoid represents.
The 3D surface 210 and the ellipsoids 225 are projected numerically onto a two-dimensional projection plane for display, to a user, on a two-dimensional display screen. A user viewing the image of FIG. 2B and using a user interface device, such as a mouse, to control a cursor, may select points of interest on the 3D surface at which error ellipsoids are to be displayed. The user may also change the scale of the ellipsoids by sending to the processing unit an ellipsoid scale change command, e.g., by pressing the “>” key on a keyboard to increase the scale or pressing the “<” key to decrease the scale. In another embodiment, the system computes and displays, dynamically and in real time, an error ellipsoid at the sequence of points of interest corresponding to the instantaneous cursor position as the cursor is moved around the image by the user, with the error ellipsoid updated as the cursor moves. The user may also command the processing unit to adjust the viewing angle, i.e., command the processing unit to rotate the 3D surface and any attached ellipsoids. This command may be issued by the user's dragging of a point on the surface with the mouse. The processing unit may respond to a user command to change the viewing angle by rotating the three-dimensional objects relative to the projection plane. The users may also command the processing unit to change the zoom, i.e., the magnification or “scale” of the entire image including the 3D surface and any attached ellipsoids, and the processing unit may respond by changing the scale of the projection shown on the display.
FIG. 3B shows a perspective view of a 3D surface 310 formed by combining four images of the ground, obtained with the four sensor viewing geometries 315 illustrated in the polar plot of FIG. 3A. The error ellipsoids 320 illustrated in FIG. 3B are smaller than the error ellipsoids 225 of FIG. 2B as a result of the greater number of images and of the greater geometric diversity of the sensor viewing geometries used to obtain the images. FIG. 4B shows a perspective view of a 3D surface 410 formed by combining twelve images of the ground, obtained with the twelve sensor viewing geometries 415 illustrated in the polar plot of FIG. 3A. The error ellipsoids 420 illustrated in FIG. 4B are further reduced in size, again as a result of the still greater number of images and of the still greater geometric diversity of the sensor viewing geometries used to obtain the images.
As can be seen in these examples, including more images in the adjustment with varying geometric diversity improves the geolocation accuracy estimates of the multi-image product. An example of a multi-image product may be a DEM or point cloud extracted from the multiple images. In one embodiment, the user interface provides a method for a user to draw a line (e.g., by dragging a mouse) between two points on the displayed surface, and the system displays the calculated distance between the two points and an error ellipsoid corresponding to the estimated error in the calculated distance.
In addition to absolute covariance ellipsoids discussed above, in one embodiment the process also provides for display of computed point-to-point covariances. Point-to-point covariances represent the relative error between two 3D points (i.e. the error in the distance measurement between two points). Referring to FIG. 5A, for interactive display of relative error, the user selects two 3D points. The first is an “anchor” point 500 and the second is a dynamically selected auxiliary point 502. A line 504 is drawn by the processor between the user-selected anchor point 500 and the dynamically changing auxiliary point 502. At the end of the line is displayed a relative covariance ellipsoid 506 associated with a measurement of the distance between the two points. Referring to FIG. 5B, the process allows for display of absolute covariance ellipsoids 508, 510 at the two points along with the relative covariance ellipsoid 506; alternatively only the relative covariance ellipsoid 506 can be displayed, as in FIG. 5A.
FIGS. 6A and 6B show an example of visualization of dynamically-computed sample covariance ellipsoids. The sample covariance in this example was computed by sampling 3D LADAR points,
Sample covariance differs from error covariance in that it is derived from an actual sampling of local x, y, z coordinates (as contrasted with accuracy of those coordinates). Three-dimensional sample covariance is computed via the following formulas.




  
    
      
        sampleCovariance
        =
        
          
            C
            
              3
              ⁢
              X3
            
          
          =
          
            
              1
              
                N
                -
                1
              
            
            ⁢
            
              (
              
                
                  
                    B
                    
                      3
                      ⁢
                      XN
                    
                  
                  T
                
                ⁢
                
                  B
                  NX3
                
              
              )
            
          
        
      
    
    
      
        (
        11
        )
      
    
  




Where




  
    
      
        
          B
          
            NX
            ⁢
            
              
            
            ⁢
            3
          
        
        =
        
          [
          
            
              
                
                  
                    x
                    1
                  
                  -
                  
                    μ
                    x
                  
                
              
              
                
                  
                    y
                    1
                  
                  -
                  
                    μ
                    y
                  
                
              
              
                
                  
                    z
                    1
                  
                  -
                  
                    μ
                    z
                  
                
              
            
            
              
                
                  
                    x
                    2
                  
                  -
                  
                    μ
                    x
                  
                
              
              
                
                  
                    y
                    2
                  
                  -
                  
                    μ
                    y
                  
                
              
              
                
                  
                    z
                    2
                  
                  -
                  
                    μ
                    z
                  
                
              
            
            
              
                ⋮
              
              
                ⋮
              
              
                ⋮
              
            
            
              
                
                  
                    x
                    N
                  
                  -
                  
                    μ
                    x
                  
                
              
              
                
                  
                    y
                    N
                  
                  -
                  
                    μ
                    y
                  
                
              
              
                
                  
                    z
                    N
                  
                  -
                  
                    μ
                    z
                  
                
              
            
          
          ]
        
      
    
    
      
        (
        12
        )
      
    
  




with




  
    
      
        
          μ
          x
        
        =
        
          
            1
            N
          
          ⁢
          
            
              ∑
              
                i
                =
                1
              
              N
            
            ⁢
            
              
            
            ⁢
            
              x
              i
            
          
        
      
    
    
      
        (
        13
        )
      
    
  
  
    
      
        
          μ
          y
        
        =
        
          
            1
            N
          
          ⁢
          
            
              ∑
              
                i
                =
                1
              
              N
            
            ⁢
            
              
            
            ⁢
            
              y
              i
            
          
        
      
    
    
      
        (
        14
        )
      
    
  
  
    
      
        
          μ
          z
        
        =
        
          
            1
            N
          
          ⁢
          
            
              ∑
              
                i
                =
                1
              
              N
            
            ⁢
            
              
            
            ⁢
            
              z
              i
            
          
        
      
    
    
      
        (
        15
        )
      
    
  




In one embodiment, the point locations [xiyizi] are formed from a sampling of points in a region around the user's cursor. The sample covariance, displayed in FIGS. 6A and 6B as the sample covariance ellipsoid 520, provides characterization of the “local shape” of a surface. In particular, the orientation and direction of the smallest eigenvector (the line 525) may represent the surface normal of the local data.
Referring to FIG. 7, in one embodiment of the present invention a method for interactive display of three-dimensional covariance begins with associating, in an act 610, a covariance matrix with a point on a 3D surface. The covariance matrix may be a sample covariance or an error covariance. Next, in an act 620, an ellipsoid related to the covariance matrix is formed; the ellipsoid has three major axes, the length of each major axis being proportional to the square root of an eigenvalue of the covariance matrix, and each major axis being parallel to an eigenvector of the covariance matrix. In acts 630 and 640, the surface and the ellipsoid may then each be projected onto a two-dimensional plane, for display on a two-dimensional display.
Novel features of embodiments of the present invention include: interactive user based visualization, ability to dynamically scale ellipsoids, dynamic real-time computation and display of sample covariance, dynamic real-time display of relative error covariance (error in distance measurement).
Although limited embodiments of methods and processes for interactive display of three-dimensional covariance have been specifically described and illustrated herein, many modifications and variations will be apparent to those skilled in the art. Accordingly, it is to be understood that the methods and processes for interactive display of three-dimensional covariance employed according to principles of this invention may be embodied other than as specifically described herein. The invention is also defined in the following claims, and equivalents thereof.

## Claims

1. A method for displaying a three-dimensional surface, the method comprising:
using an electro-optical sensor to generate a plurality of images of a physical surface;
generating the three-dimensional surface from the plurality of images, using a multiray intersection of image coordinates on the physical surface and a photogrammetric bundle adjustment algorithm;
associating a covariance matrix with a first point on the three-dimensional surface;
forming an ellipsoid, the ellipsoid comprising three major axes, each major axis having a length proportional to the square root of an eigenvalue of the covariance matrix, and being parallel to an eigenvector of the covariance matrix;
displaying a two-dimensional plane projection of the three-dimensional surface, a brightness of each point of the two-dimensional plane projection of the three-dimensional surface corresponding to an average intensity of corresponding points in the images; and
displaying a two-dimensional plane projection of the ellipsoid at the first point,
wherein the covariance matrix is a sample covariance of points on the three-dimensional surface in a region around the first point, the sample covariance C being given by




  
    
      
        C
        
          3
          ⁢
          X3
        
      
      =
      
        
          1
          
            N
            -
            1
          
        
        ⁢
        
          (
          
            
              
                B
                
                  3
                  ⁢
                  X
                  ⁢
                  
                    
                  
                  ⁢
                  N
                
              
              T
            
            ⁢
            
              
            
            ⁢
            
              B
              
                N
                ⁢
                
                  
                
                ⁢
                X
                ⁢
                
                  
                
                ⁢
                3
              
            
          
          )
        
      
    
    ,
    
      

    
    ⁢
    wherein
  




  
    
      
        B
        
          N
          ⁢
          
            
          
          ⁢
          X
          ⁢
          
            
          
          ⁢
          3
        
      
      =
      
        [
        
          
            
              
                
                  x
                  1
                
                -
                
                  μ
                  x
                
              
            
            
              
                
                  y
                  1
                
                -
                
                  μ
                  y
                
              
            
            
              
                
                  z
                  1
                
                -
                
                  μ
                  z
                
              
            
          
          
            
              
                
                  x
                  2
                
                -
                
                  μ
                  x
                
              
            
            
              
                
                  y
                  2
                
                -
                
                  μ
                  y
                
              
            
            
              
                
                  z
                  2
                
                -
                
                  μ
                  z
                
              
            
          
          
            
              ⋮
            
            
              ⋮
            
            
              ⋮
            
          
          
            
              
                
                  x
                  N
                
                -
                
                  μ
                  x
                
              
            
            
              
                
                  y
                  N
                
                -
                
                  μ
                  y
                
              
            
            
              
                
                  z
                  N
                
                -
                
                  μ
                  z
                
              
            
          
        
        ]
      
    
    ,
    
      

    
    ⁢
    
      
        μ
        x
      
      =
      
        
          1
          N
        
        ⁢
        
          
            ∑
            
              i
              =
              1
            
            N
          
          ⁢
          
            x
            i
          
        
      
    
    ,
    
      

    
    ⁢
    
      
        μ
        y
      
      =
      
        
          1
          N
        
        ⁢
        
          
            ∑
            
              i
              =
              1
            
            N
          
          ⁢
          
            y
            i
          
        
      
    
    ,
    and
  




  
    
      
        μ
        z
      
      =
      
        
          1
          N
        
        ⁢
        
          
            ∑
            
              i
              =
              1
            
            N
          
          ⁢
          
            z
            i
          
        
      
    
    ,
  


wherein xi, yi, and zi are coordinates of an ith point of N points in the region.

2. The method of claim 1, further comprising:
receiving, through a user interface, a selection of a point of interest on the three-dimensional surface.

3. The method of claim 2, wherein:
the receiving of a selection of a point of interest on the three-dimensional surface, the forming of an ellipsoid, and the displaying of a two-dimensional plane projection of the ellipsoid at the point on the three-dimensional surface comprise:
receiving a selection of a point of interest on the three-dimensional surface in real time;
forming an ellipsoid in real time; and
displaying a two-dimensional plane projection of the ellipsoid in real time.

4. The method of claim 2, further comprising:
receiving an ellipsoid scale change command; and
displaying an ellipsoid with a scale adjusted according to the received ellipsoid scale change command.

5. A system for displaying a three-dimensional surface, the system comprising a processing unit configured to:
receive a plurality of images of a physical surface;
generate the three-dimensional surface from the plurality of images, using a multiray intersection of image coordinates on the physical surface and a photogrammetric bundle adjustment algorithm;
associate a covariance matrix with a first point on the three-dimensional surface;
form an ellipsoid, the ellipsoid comprising three major axes, each major axis having a length proportional to the square root of an eigenvalue of the covariance matrix, and being parallel to an eigenvector of the covariance matrix;
display a two-dimensional plane projection of the three-dimensional surface, a brightness of each point of the two-dimensional plane projection of the three-dimensional surface corresponding to an average intensity of corresponding points in the images; and
display a two-dimensional plane projection of the ellipsoid at the first point,
wherein the covariance matrix is a sample covariance of points on the three-dimensional surface in a region around the first point, the sample covariance C being given by




  
    
      
        C
        
          3
          ⁢
          X3
        
      
      =
      
        
          1
          
            N
            -
            1
          
        
        ⁢
        
          (
          
            
              
                B
                
                  3
                  ⁢
                  X
                  ⁢
                  
                    
                  
                  ⁢
                  N
                
              
              T
            
            ⁢
            
              
            
            ⁢
            
              B
              
                N
                ⁢
                
                  
                
                ⁢
                X
                ⁢
                
                  
                
                ⁢
                3
              
            
          
          )
        
      
    
    ,
    
      

    
    ⁢
    wherein
  




  
    
      
        B
        
          N
          ⁢
          
            
          
          ⁢
          X
          ⁢
          
            
          
          ⁢
          3
        
      
      =
      
        [
        
          
            
              
                
                  x
                  1
                
                -
                
                  μ
                  x
                
              
            
            
              
                
                  y
                  1
                
                -
                
                  μ
                  y
                
              
            
            
              
                
                  z
                  1
                
                -
                
                  μ
                  z
                
              
            
          
          
            
              
                
                  x
                  2
                
                -
                
                  μ
                  x
                
              
            
            
              
                
                  y
                  2
                
                -
                
                  μ
                  y
                
              
            
            
              
                
                  z
                  2
                
                -
                
                  μ
                  z
                
              
            
          
          
            
              ⋮
            
            
              ⋮
            
            
              ⋮
            
          
          
            
              
                
                  x
                  N
                
                -
                
                  μ
                  x
                
              
            
            
              
                
                  y
                  N
                
                -
                
                  μ
                  y
                
              
            
            
              
                
                  z
                  N
                
                -
                
                  μ
                  z
                
              
            
          
        
        ]
      
    
    ,
    
      

    
    ⁢
    
      
        μ
        x
      
      =
      
        
          1
          N
        
        ⁢
        
          
            ∑
            
              i
              =
              1
            
            N
          
          ⁢
          
            x
            i
          
        
      
    
    ,
    
      

    
    ⁢
    
      
        μ
        y
      
      =
      
        
          1
          N
        
        ⁢
        
          
            ∑
            
              i
              =
              1
            
            N
          
          ⁢
          
            y
            i
          
        
      
    
    ,
    and
  




  
    
      
        μ
        z
      
      =
      
        
          1
          N
        
        ⁢
        
          
            ∑
            
              i
              =
              1
            
            N
          
          ⁢
          
            z
            i
          
        
      
    
    ,
  


wherein xi, yi, and zi are coordinates of an ith point of N points in the region.

6. The system of claim 5, wherein the processing unit is further configured to receive, through a user interface, a selection of a point of interest on the three-dimensional surface.

7. The system of claim 6, wherein:
the receiving of a selection of a point of interest on the three-dimensional surface, the forming of an ellipsoid, and the displaying of a two-dimensional plane projection of the ellipsoid at the first point comprise:
receiving a selection of a point of interest on the three-dimensional surface in real time;
forming an ellipsoid in real time; and
displaying a two-dimensional plane projection of the ellipsoid in real time.

8. The system of claim 6, wherein the processing unit is further configured to:
receive an ellipsoid scale change command; and
display an ellipsoid with a scale adjusted according to the received ellipsoid scale change command.