Abstract:
This invention provides a method to transform 3D object points onto 2D image points for linear pushbroom images. The problem is decomposed to the problem of finding sensor line coordinates and the problem of finding sensor column coordinates from linear pushbroom collinearity equations. The procedures to solve the problem are as follows. First, assume an initial value for image line coordinate to be sought for and using this value, calculate the sensor attitude. Next, assume the sensor attitude is constant and calculate a new image line coordinate satisfying linear pushbroom collinearity equations. Next, update the initial value with the image line coordinate calculated and continue the procedures until the difference between an initial value and a new value calculated becomes smaller than a threshold. If the different between an initial value and calculated value is smaller than a threshold, accept the calculated value as the sensor line coordinate. After finding the sensor line coordinate, calculate the sensor column coordinate satisfying linear pushbroom collinearity equations.

Description:
TECHNICAL FIELD 
     The present invention relates to a method for transforming a 3D object point into a 2D image point using linear pushbroom sensors, more particularly to the transformation method for rectification of linear pushbroom images so that the images can be geometrically referenced and for generation of 3D geometric information from linear pushbroom images. 
     Herein, the terms ‘2D’ and ‘3D’ mean ‘2-dimensional’ and ‘3-dimensional’, respectively, unless otherwise specified 
     BACKGROUND OF THE INVENTION 
     Linear pushbroom images are the images taken by sensors in motion during imaging and which have a focal point per line or per part according to sensors&#39; scanning mechanism. The sensors taking images in the manner are referred to as linear pushbroom sensors. Herein, the term ‘sensor’ means ‘linear pushbroom sensor’ unless otherwise specified. In comparison with linear pushbroom images, perspective images are the images that have a single focal point per image. 
     For perspective images, the problem of mapping 3D object point onto 2-dimentional image point is well developed and being widely used. For linear pushbroom images, however, a robust numerical solution for the problem has not been discovered. 
     A previously proposed solution for the problem is based on the Newton-Raphson method. However, the Newton-Raphson method works only within the region where the equation to be solved varies monotonically and hence it is very sensitive to the initial value. In some cases, this method ends up to diverse or create large errors. Although this method may work in others, it is not so easy to choose appropriate initial values. Therefore, the solution cannot be applied to rectification or generation of 3D information of linear pushbroom images. 
     SUMMARY OF THE INVENTION 
     In order to eliminate the difficulties of previous approaches, this invention proposes a new powerful and robust method to transform a 3D object point onto a 2D image point for linear pushbroom images. 
     In order to achieve the goal, this invention proposes a method for transforming an object point in a 3D coordinate system into an image point on a linear pushbroom image captured by a linear pushbroom sensor and represented in a 2D coordinate system. The method comprises steps for: setting collinearity equations in relation with the object point and the image point for the linear pushbroom image; assuming an initial coordinate on a first coordinate axis in the 2D coordinate system and calculating the attitude of the linear pushbroom sensor using the initial coordinate; obtaining a temporary coordinate by solving the collinearity equation, while assuming that the linear pushbroom sensor keeps a constant attitude as calculated; calculating a differential between the initial coordinate and the temporary coordinate; comparing the differential with a given threshold; repeating the attitude calculation step through the differential comparison step after considering the temporary coordinate as the initial coordinate if the differential exceeds the given threshold; deciding on the temporary coordinate to be a final coordinate on the first coordinate axis if the differential does not exceed the given threshold; and obtaining a coordinate on a second coordinate axis in the 2D coordinate system by solving the collinearity equations using the final coordinate on the first coordinate axis. 
     Preferably, the collinearity equations are set on, as follows;        0   =       -   f                           r   11                     (     X   -     X   S       )       +       r   21                     (     Y   -     Y   S       )       +       r   31                     (     Z   -     Z   S       )               r   13                     (     X   -     X   S       )       +       r   23                     (     Y   -     Y   S       )       +       r   33                     (     Z   -     Z   S       )                     y   =       -   f                           r   12                     (     X   -     X   S       )       +       r   22                     (     Y   -     Y   S       )       +       r   32                     (     Z   -     Z   S       )               r   13                     (     X   -     X   S       )       +       r   23                     (     Y   -     Y   S       )       +       r   33                     (     Z   -     Z   S       )                                    
     in which, X, Y and Z mean a coordinate of an object point, respectively; X S , Y S  and Z S  mean a coordinate of the sensor upon capturing an image of the object, respectively; r 11  through r 33  mean an element of a rotation matrix R determined by the sensor attitude upon capturing an image of the object, respectively; ƒ means the focal length of the camera; and x and y mean a coordinate of an image point, respectively. 
     It is also preferred that the temporary coordinate obtainment step comprises sub-steps for: calculating elements of the rotation matrix R using the attitude of the linear pushbroom sensor; and solving the collinearity equation using the elements of the rotation matrix R. 
     According to the present invention, there is also provided a machine-readable medium on which a program is recorded, wherein the program conducts to transform an object point in a 3D coordinate system into an image point on a linear pushbroom image captured by a linear pushbroom sensor and represented in a 2D coordinate system by taking steps for: setting collinearity equations in relation with the object point and the image point for the linear pushbroom image; assuming an initial coordinate on a first coordinate axis in the 2D coordinate system and calculating the attitude of the linear pushbroom sensor using the initial coordinate; obtaining a temporary coordinate by solving the collinearity equation, while assuming that the linear pushbroom sensor keeps a constant attitude as calculated; calculating a differential between the initial coordinate and the temporary coordinate; comparing the differential with a given threshold; repeating the attitude calculation step through the differential comparison step after considering the temporary coordinate as the initial coordinate if the differential exceeds the given threshold; deciding on the temporary coordinate to be a final coordinate on the first coordinate axis if the differential does not exceed the given threshold; and obtaining a coordinate on a second coordinate axis in the 2D coordinate system by solving the collinearity equations using the final coordinate on the first coordinate axis. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The above object, features and advantages of the present invention will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings, in which: 
     FIG. 1 shows a flow chart for illustrating the method for transforming an object point into an image point on a linear pushbroom image captured by a linear pushbroom sensor according to a preferred embodiment of the present invention. 
     FIG.  2  and FIG. 3 show a diagram for illustrating an operation theory of the present invention, respectively. 
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     Hereinafter, provided is a detailed description of the method for transforming an object point into an image point on a linear pushbroom image captured by a linear pushbroom sensor according to a preferred embodiment of the present invention. It is required to use a mathematical model to a 2D linear pushbroom image coordinate system and a 3D object coordinate system. This model is often called as sensor models. Although there are many sensor models proposed so far, the present invention is described using one sensor model based on the collinearity equations expressed in Equations 1 and 2 given below. However, the present invention is not limited to use only the equations given below. This invention works with any collinearity-based sensor models for linear pushbroom images, whose mathematical expression may vary from the equations given below.              0   =       -   f                           r   11                     (     X   -     X   S       )       +       r   21                     (     Y   -     Y   S       )       +       r   31                     (     Z   -     Z   S       )               r   13                     (     X   -     X   S       )       +       r   23                     (     Y   -     Y   S       )       +       r   33                     (     Z   -     Z   S       )                                  (   1   )                 y   =       -   f                           r   12                     (     X   -     X   S       )       +       r   22                     (     Y   -     Y   S       )       +       r   32                     (     Z   -     Z   S       )               r   13                     (     X   -     X   S       )       +       r   23                     (     Y   -     Y   S       )       +       r   33                     (     Z   -     Z   S       )                     (   2   )                                
     in which, X, Y and Z mean a coordinate of an object point, respectively; X S , Y S  and Z S  mean a coordinate of the sensor upon capturing an image of the object, respectively; r 11 , through r 33  mean an element of a rotation matrix R determined by the sensor attitude upon capturing an image of the object, respectively; ƒ means the focal length of the camera; and x and ymean a coordinate of an image point, respectively. 
     The rotation matrix R is to rotate the image coordinate system to be aligned with an object reference coordinate system and is represented by Equation 3.              R   =     (           cos                 φ                 cos                 κ             -   cos                   φ                 sin                 κ           sin                 φ                 sin                 ω                 sin                 φ                 cos                 κ     +     cos                 ω                 sin                 κ                 -   sin                   ω                 sin                 φ                 sin                 κ     +     cos                 ω                 cos                 κ               -   sin                   ω                 cos                 φ                   -   cos                   ω                 sin                 φ                 cos                 κ     +     sin                 ω                 sin                 κ                 -   cos                   ω                 sin                 φ                 sin                 κ     +     sin                 ω                 cos                 κ             cos                 ω                 sin                 φ           )             (   3   )                                
     In Equation 3, κ, φ and ω mean a rotation angle to make the image coordinate system to be aligned with the reference coordinate system in Z, Y and X-axis, respectively. 
     Linear pushbroom images have one focal point per line or part and each line or part may have different sensor attitude. Therefore, the position of the sensor (X S , Y S , Z S ) and the rotation angles κ, φ and ω are represented by linear or non-linear polynomials for a coordinate x on a coordinate axis in the direction of the sensor motion from the image coordinate system according to the scanning mechanism. 
     According to the algorithm of the present invention, it is possible to calculate an image coordinate (x, y) in a 2D coordinate system for a given object coordinate (X, Y, Z) in a 3D coordinate system in a linear pushbroom image using collinearity-based linear pushbroom sensor model where the sensor position and attitude are represented by linear or non-linear polynomials. 
     The procedure of finding the image coordinate (x, y) for the given object coordinate (X, Y, Z) in linear pushbroom images is divided into two steps: one of them for finding a coordinate x on a first coordinate axis from the image coordinate system in Equation 4 derived from Equation 1; and the other of them for finding a coordinate y on a second coordinate axis from the image coordinate system in Equation 2 using the coordinate x on the first coordinate axis. 
     
       
         0=r 11 ( X−X   S )+r 21 ( Y−Y   S ) +r 31 ( Z−Z   S )  (4) 
       
     
     In Equation 4, the sensor position X S , Y S  and Z S  are represented by linear or non-linear polynomials of the coordinate x on the first coordinate axis according to the scanning mechanism, and r 11 , r 21  and r 31  are the combination of sine and cosine functions of the sensor attitude, i.e. rotation angles κ, φ and ω, which are represented by linear or non-linear function of the coordinate x on the first coordinate axis. Therefore, Equation 4 is a non-linear equation of the coordinate x on the first coordinate axis. 
     The previous method to solve Equation 4 finds the coordinate x on the first coordinate axis using Newton-Raphson method by assuming an initial value for the coordinate x on the first coordinate axis. However, it is well known that the Newton-Raphson method works only within the region where the equation to be solved varies monotonically and hence this method is very sensitive to the initial value. It is difficult to find monotonic regions of Equation 4 in advance and to choose an initial value of the coordinate x on the first coordinate axis to lie within such regions. 
     The present invention proposes an access, in which the coordinate x on the first coordinate axis is found by solving Equation 4 with the following new procedures. 
     Firstly, an initial value x 0  of the coordinate x on the first coordinate axis is assumed at a step S 11  shown in FIG. 1, the sensor&#39;s rotation angles κ, φ and ω are calculated using the initial value x 0  at the next step S 12 , and then the rotation matrix (r 11 , r 21 , r 31 ) is calculated using the sensor&#39;s rotation angles κ, φ and ω at the next step S 13 . 
     Preparing that the rotation matrix (r 11 , r 21 , r 31 ) is constant, that is, the sensor attitude is not varied, Equation 4 can be simplified by linear or non-linear equation of x according to the sensor platform (X S , Y S , Z S ). 
     By solving this simplified equation of the coordinate x on the first coordinate axis, a temporary coordinate x 1  on the first coordinate axis is newly obtained at the next step S 14 . 
     Next, a differential between the initial value x 0  and the temporary coordinate x 1  is calculated. After comparing the differential with a given threshold at the next step S 15 , the temporary coordinate x 1  should be decided as a final coordinate on the first coordinate axis at the next step S 17 , if the differential does not exceed the given threshold. However, the steps S 12  through S 15  should be repeated if the differential exceeds the given threshold, while replacing the initial value x 0  with the temporary coordinate x 1  at the next step S 17 . This repeat is continued until the differential does not exceed the given threshold. 
     Finally, a coordinate y on the a second coordinate axis in the perpendicular direction of the sensor motion from the image coordinate system is obtained by solving Equation 2 using the final coordinate on the first coordinate axis, which is calculated from the previous steps at the next step S 18 . 
     More detailed explanation about the flowchart shown in FIG. 1 will be made. Firstly, the iteration number i is set on zero and an initial value is assigned to x i  at the step S 11 . Next, using x i , the sensor attitude, i.e. the rotation angles κ, φ and ω are calculated at the step S 12  and parameters of the rotation matrix (r 11 , r 21 , r 31 ) are calculated at the step S 13 . Then, assuming that the rotation matrix (r 11 , r 21 , r 31 ) is constant, Equation 4 is solved to obtain x i+1  at the step S 14  and the differential between x i  and x i+1  is compared with a given threshold at the step S 15 . If the differential exceeds the given threshold, the iteration number i is increased by 1 at the step S 16  and the aforementioned steps are repeated from the step S 12 . If the differential does not exceed the given threshold, x i+1  obtained at the step S 14  in the current period is accepted as the solution for the coordinate x on the first coordinate axis, which satisfies Equation 4. Once the solution for the coordinate x on the first coordinate axis is obtained, the coordinate y on the second coordinate axis is calculated using Equation 2 at the step S 18 . 
     The principle of the algorithm of the presented invention can be explained with FIG.  2  and FIG.  3 . 
     FIG. 2 shows a flight path of the platform (or sensor), imaging tracks on object surface at a given position and an object point A. At the steps S 12  and S 13 , the attitude of the platform and the elements of the rotation matrix are calculated after assuming an initial value x 0 . This corresponds to defining camera (or sensor) axis at x 0  as shown in the figure. Imaging track at x 0  does not contain the object point A since x 0  is not the right solution to be sought for. 
     At the step S 14 , the elements of the rotation matrix are considered as the constant, respectively, and the coordinate x 1  is found by solving the simplified Equation 4. This corresponds to assuming that the attitude of the platform at x 0  applies throughout the flight path and shifting the position of the platform so that imaging track on object surface contains the object point A. 
     However, as FIG. 3 illustrates, the true attitude of the platform at x 1  is different from the attitude at x 0 , and the true imaging track at x 1  does not contain the object point A. At the step S 15  through S 16 , the initial value is updated with x 1 , and the step S 12  is continued. This corresponds to updating the attitude of the platform at x 1  with the true attitude and iterating the procedures in FIG. 2 until imaging track on object surface at x 1  assuming the attitude at x 0  and the true imaging track at x 1  converge and both contain the object point A. 
     The theme of the present invention is the decomposition of the problem of transforming 3D object point onto 2D image point for linear pushbroom image into the problem of solving a simplified equation assuming the attitude of the platform is constant. The present invention works independent of the choice of initial value and converges to the right solution fast. 
     The above explanation elaborates the principle of the present invention with some examples. However, the above explanation does not confine the scope of the present invention and any variations or derivations from the above explanation should be included in the scope of the present invention. 
     According to the present invention, 3D object coordinates can be mapped directly onto 2D image coordinates for linear pushbroom images. This enables faster rectification of linear pushbroom images and improves the accuracy. Also the present invention enables the fast and accurate extraction of 3D information from linear pushbroom images. 
     Although the preferred embodiment of the present invention have been disclosed for illustrative purposes, those skilled in the art will appreciate that various modifications, additions and substitutions are possible, without departing from the scope and spirit of the invention as disclosed in the accompanying claims.