Abstract:
There is disclosed herein, a method used to associate or correspond synthetic aperture radar (SAR) and forward looking infrared (FLIR) images. Based on feature points detectable from both images, a two stage approach is taken to address the issue of SAR and FLIR image registration: an initial registration stage where feature points detected from the FLIR image are transformed into the SAR image coordinates; and a residual registration stage where the SAR and FLIR feature points undergo a “Generalized Hough Transform” from which a maximal subset of matching feature points is obtained and the registration transformation can be derived. These two stages are separated into five steps which comprise the SAR and FLIR Image Registration Method: (1) extracting feature points from said SAR and FLIR images; (2) creating an initial registration of the FLIR image; (3) creating a two-dimensional residual registration utilizing a generalized Hough transform; (4) estimating the registration transformation; and, (5) verifying the registration. This method allows the residual registration to be done in a two-dimensional (rather than six) Hough transform, which results in fast and robust implementation as well as reduce the possibility of false registration.

Description:
FIELD OF THE INVENTION 
     The present invention relates to a method of solving the registration of two images. In particular, this invention relates to a two-stage method of solving the registration of a synthetic aperture radar (SAR) image and of a forward-looking infrared (FLIR) image. 
     BRIEF DESCRIPTION OF THE PRIOR ART 
     Traditional image registration systems rely on similarity between a pair of images to be registered in spatial distribution of the gray-levels using a variant of many correlation techniques. These approaches do not work when spatial gray-level distribution of the image changes between images due to different phenomenology employed by the imaging sensors, such as SAR and FLIR. Feature-based image registration techniques rely on some similarity between the extracted features (other than points) from the two images. Individual feature segments of one image can be matched against those from another using these extracted features. However, these kinds of features either rarely exist in both SAR and FLIR, or are very difficult to extract. Point-based registration techniques, on the other hand, exploit the specific configuration of a set of points in the image that satisfy the imaging models and sensor configurations under perspective transformation. This usually involves searching for a set of parameters in a multi-dimensional space, involving high computational complexity. 
     Registration is needed in a multi-sensor system (such as airborne sensors) to solve the correspondence or matching problem. Given a pair of SAR and FLIR images and the associated sensor models, at least 6 independent parameter values must be determined in order to register the two images. This is generally difficult without some prior knowledge about the sensor platforms (including the sensor models and the associated parameters, sensor positions and orientations). Theoretically, the two images can be registered if all the sensor parameters and sensor platform information is known. However in practice, even with the state-of-the-art sensor technology, registration is still needed due to errors and/or noise in the sensor systems or by nature of their operation. For SAR and FLIR image registration, this poses a special challenge, since there are hardly any commonly observable features in the SAR and FLIR images that can be used to correlate the two images. 
     Therefore, it is desirable to provide a method by which the SAR and FLIR images can be registered with low computational complexity and high robustness. 
     SUMMARY OF THE INVENTION 
     This invention relates to a method of solving the registration of a synthetic aperture radar (SAR) image and of a forward-looking infared (FLIR) image based on feature points detectable from both images. The method is distinguished by two stages: an initial registration stage and a residual registration stage. In the initial registration, feature points detected from the FLIR image are transformed into the SAR image coordinates. In the residual registration stage, the set of feature points from SAR and that from FLIR undergo a generalized Hough transform (GHT) from which a maximal subset of matching points is obtained and the registration transformation can be derived. The method in the present invention allows the second stage residual registration, with the method used in the first stage, to be done in a two-dimension (2-D) GHT, rather than in higher dimensions. 
     Using available sensor parameters and sensor location information, the registration task can be separated into 5 steps: (1) detecting feature points from both the SAR and the FLIR image; (2) transforming the feature points from the FLIR image into the SAR image using known sensor parameters and sensor platform information; (3) carrying out the GHT for the set of SAR feature points and the set of transformed FLIR feature points in 2-D translation domain, and select the maximal subset of the matching feature points from the GHT; (4) computing the updated registration transformation; and (5) evaluating the registration transformation. As a result, the present invention provides both an image registration transformation that aligns the SAR and the FLIR and a set of corresponding point pairs between the SAR and the FLIR images. The reduction of registration search space involved in the registration is from six to two dimensions. Consequences of this reduction include a substantial reduction in the possibility of false registration and robust registration against noise and error introduced during data collection This method also works in cases where the matching set of feature points constitute only a very small portion of the total feature point population in both SAR and FLIR images, with the rest being caused by random clutter in the scene. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a schematic diagram depicting the system diagram for the SAR and FLIR image registration method. 
     FIG. 2 is a graph depicting the span of the back-projected FLIR feature points and the SAR feature points, which determines the size of a Generalized Hough Transform accumulation array. 
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     This invention relates to a method for solving the registration of a SAR image and a FLIR image by using feature points extracted from both images. The method of this invention is described below as process involving five distinct steps, as shown in FIG.  1 . The necessary input to this invention lies in feature points described in Step 1 below, and the output of this invention includes 1) the correspondence of the feature points from SAR and FLIR images; and 2) a registration transformation for transforming any point in the FLIR image into the SAR image. 
     Step 1: Feature Point Extraction 
     Feature points are first extracted from both SAR and FLIR images by using one of the well-known algorithms such as the constant false-alarm rate (CFAR) detector. The requirement for feature points to be used in this invention is that they must represent certain points detectable from both the SAR and the FLIR, and can be located similarly in both images. An example of such feature points is the location of certain objects in the scene. In target detection/recognition applications, feature points can optionally have target-likeness measures attached. Step 1 assumes that the two images have overlap in the space they cover and that common feature points can be detected from both images. If these assumptions are not true, then the registration will fail and the situation can be detected in Step 3 or 5. There is a parameter in feature extraction called windows size w, which determines, among other things, how close two detected features can be (measured in image pixels). The window size is determined by the nature of the features in the image (such as object size). We use a window size of w=21 for SAR in the following description. The window size for FLIR is not directly related to the current invention. 
     Step 2: Initial Registration 
     Initial registration is the process of transforming the feature points detected in the FLIR image into the ground plane coordinate frame of the SAR image, using available (possibly with noise and error) sensor truth data The sensor truth data includes sensor parameters (including, but not limited to, resolution for SAR and FLIR and the focal length for the FLIR), and the sensor position information (location of the sensors, plus azimuth, pitch, and roll angles for the FLIR). To transform the FLIR feature points into SAR, a FLIR sensor-imaging model is created in a homogeneous coordinate system:                [           u                 X               u                 Y             u         ]     =       [         1       0       0           0       1       0           0       0           -   1     /   f           ]        P             Eq   .                (   1   )                                  
     where P is a three-dimensional (3-D) point in the camera coordinate frame representing the point being imaged, (X, Y) is the image of P, u is a scaling factor, and f is the camera focal length. P can be represented by its coordinates (x, y, z) t  in a reference frame, W, as follows:              P   =       R   r          R   d            R   a          (       [         x           y           z         ]     -     [           t   x               t   y               t   z           ]       )                 Eq   .                (   2   )                                  
     where R r , R d  and R a  are 3 by 3 orthonormal rotation matrices representing the roll angle θ r , the depression angle θ d , and the azimuth angle θ a  of the camera frame relative to the reference frame, and (t x , t y , t Z ) t  is the position vector of the origin of the camera frame in the reference frame W. 
     For simplicity, in the rest of this section, we assume that the reference frame is such that its XOY plane coincides with the SAR image ground plane, its X and Y axes coincide with the X and Y axes of the SAR image, respectively, and its Z axis points upwards. Assuming that all points of interest that the FLIR camera sees lie on a ground plane with z=h in the chosen reference frame, Equations (1) and (2) can be solved for x and y, resulting in a back-projection transformation from an image point (X, Y) to a 3-D point (x, y, z):                x   =           A   1        X     +       A   2        Y     +     A   3             A   7        X     +       A   8        Y     +     A   9           ,     y   =           A   4        X     +       A   5        Y     +     A   6             A   7        X     +       A   8        Y     +     A   9           ,     z   =   h             Eq   .                (   3   )                                  
     where 
     A 1 =cos(θ d )sin(θ r )t x +(h−t z )(sin(θ a )sin(θ d )sin(θ r )−cos(θ a )cos(θ r )) 
     A 2 =−cos(θ d )cos(θ r )t x −(h−t z )(sin(θ a )sin(θ d )cos(θ r )+cos(θ a )sin(θ r )) 
     A 3 =f(sin(θ d )t x −sin(θ a )cos(θ d )(h−t z )) 
     A 4 =cos(θ d )sin(θ r )t y +(h−t z )(sin(θ a )cos(θ r )+cos(θ a )sin(θ d )sin(θ r )) 
     A 5 =cos(θ d )cos(θ r )t y +(h−t z )(sin(θ a )sin(θ r )−cos(θ a )sin(θ d )cos(θ r )) 
     A 6 =f(sin(θ d )t y −cos(θ a )cos(θ d )(h−t z )) 
     A 7 =cos(θ d )sin(θ r ) 
     A 8 =−cos(θ d )cos(θ r ) 
     A 9 =f sin(θ d ) 
     We apply the back-projection transformation of Equation (3) to each feature point in the FLIR image. Then these back-projected feature points can be simply scaled into the SAR image coordinates as follows:                [           x                 s               y                 s           ]     =     c        [         x           y         ]               Eq   .                (   4   )                                  
     where (x, y) t  is the back-projection of the FLIR feature point in the reference frame W, (xs, ys) is the back-projection in the SAR image, and c is a constant reflecting the resolution of the SAR image. In the remaining discussion, we will refer to the mathematical transformation involving both Equations (3) and (4) together as the “back-projection.” Let {(xs i , ys i )}, i=1, . . . , N be the set of back-projected FLIR feature points, and {(xr i , yr t )}, i=1, . . . , M be the set of SAR feature points. The registration problem now is to match a subset of {(xs i , ys t )} with a subset of {(xr i , yr i )}. If accurate measurements of the sensor truth is available, a subset of {(xs i , ys i )} will map exactly onto the corresponding subset of {(xr i , yr i )}, assuming the detection locations are precise and the related assumptions mentioned before are true. In reality, however, sensor truth data is often not accurate due to noise and measurement errors. The noise and error in measurements can cause residual registration errors so that a SAR feature point and the back-projected FLIR feature point do not align exactly even if they correspond to the same feature point in the scene. Therefore, solving the general problem of matching such two sets of feature points involves searching in a parameter space of at least six dimensions (three for rotation and 3 for translation) to account for the measurement errors and noise. This is assuming the sensor parameters (sensor resolutions and focal length) can be accurately measured. 
     Step 3: Residual Registration 
     Parameter Search Space Reduction 
     Equation (3) represents a general formula that performs the back-projection of any image point into a 3-D point. An in-depth analysis of the relationship between changes in the sensor truth and the outcome of the back-projections of the FLIR feature points (xs, ys) t  shows that, when the distance from the FLIR camera to the center of the FLIR field-of-view (FOV) is far larger relative to the size of the area covered by the FLIR FOV, the residual registration error is predominantly caused by changes in the depression angle θ d  and the azimuth angle θ a . Changes in other sensor truth values only cause relatively small changes in the back-projection and are negligible. For example, a small change in camera roll angle θ r  causes skew in the resulting back-projection, and small changes in camera location cause small changes in translation in the back-projection. Furthermore, the change in location of the back-projection of the FLIR feature points due to inaccuracies in depression angle θ d  and azimuth angle θ a , can be modeled approximately as a pure translation. In other words, the mis-registration of the two sets of feature points can be solved in 2-D, because the two subsets of feature points (one from the SAR and one from the FLIR after back-projection) that correspond to the same physical feature points only differ in location by a translation. 
     To solve this 2-D translation, only one pair of feature points is required: one each from the SAR and FLIR images. Unless we know the correspondence (which point in SAR corresponds to which point in FLIR), which we don&#39;t, this method cannot be used. Besides, replying on only one pair of points is neither accurate nor robust. We need to use all available feature points. We need to find both the correspondences of the feature points and the translation that will eliminate the residual registration error. The GHT can help solve both problems at the same time. In our GHT implementation, a 2-D accumulation array is set up with array indices measuring the translation between the SAR feature points and the corresponding back-projected FLIR feature points. We enumerate all possible pairs of feature points from SAR and FLIR For each such pair, we calculate the translation needed to bring them into registration, and cast one vote in the GHT accumulation array using the translation as the index. In the end, the GHT accumulation array element with the highest score (which combines the number of votes and other factors. See below for definition.) represents the correct translation, and the set of feature points which voted for the element makes up the matching point set. The GHT is chosen to accomplish this task because it is a non-iterative approach, very simple to implement, and most importantly, robust against noise. The “noise” includes both the position errors in the detected feature points, and the undesired feature points due to clutter, which do not have correspondence in the other image. The GHT implementation is more thoroughly described below: 
     Generalized Hough Transform (GHT) 
     Size of the GHT Accumulation Array 
     The array size is determined by the span of the back-projected FLIR feature points and the SAR feature points, as shown in FIG.  2 . The GHT array will be of size (X max −X min )/q+1 by (Y max −Y min )/q+1, where q is the quantization unit (that is, the cells in the accumulation array represent squares of a size q by q). The quantization unit q is determined according to the window size w (see page 4, line 1): q=┌w/4┐, where ┌x┐ is the smallest integer greater than x. 
     To increase memory efficiency in GHT, in case the clouds of SAR feature points and the back-projected FLIR points are far from each other, we can shift one set of feature points (say that back-projected from FLIR) before constructing the accumulation array so that the two sets occupy roughly the same space. This can be done, for example, by calculating the centers of gravity of both sets of points and forcing them to align with each other by shifting the back-projected FLIR points. This approach reduces total span of the feature points and therefore the size of the accumulation array. However, we need to take this extra shift into account when we calculate the actual translation in figuring out the residual registration. Let the total shift added to the back-projected FLIR points to accomplish this be denoted as (Δx g , Δy g ). 
     The GHT Algorithm 
     1. Let C be a 2-D array of appropriate size. Each element in C represents a q by q square in the translation parameter space, where q is a quantization unit. Set all elements in C to zero (0). 
     2. Let {(xs i , ys t )}, i=1, . . . , N be the set of back-projected FLIR feature points, and {(xr i , yr t )}, i=1, . . . , M be the set of SAR feature points. Perform the following iterations:          for                 each                   (       x                   s   i       ,     y                   s   i         )       ,     i   =     1                 to                 N                              for                 each                   (       x                   r   j       ,     yr   j       )       ,     j   =     1                 to                 M                                (       d                 x     ,     d                 y       )     ←     (         (       xs   i     -     xr   j       )     /   q     ,       (       ys   i     -     yr   j       )     /   q       )                              (       D                 x     ,     D                 y       )     ←     (       ⌊     d                 x     ⌋     ,     ⌊     d                 y     ⌋       )                              C        (       D                 x     ,     D                 y       )       ←       C        (       D                 x     ,     D                 y       )       +   1                              C        (         D                 x     -   1     ,     D                 y       )       ←       C        (         D                 x     -   1     ,     D                 y       )       +   1                              C        (       D                 x     ,       D                 y     -   1       )       ←       C        (       D                 x     ,       D                 y     -   1       )       +   1                              C        (         D                 x     -   1     ,       D                 y     -   1       )       ←       C        (         D                 x     -   1     ,       D                 y     -   1       )       +   1                          end         end                        
      where └x┘ is the largest integer smaller than x. In this step, each pair of SAR and FLIR feature points cast votes in multiple adjacent cells. Therefore in effect the accumulation cells have overlapping coverage. This is also equivalent to convolving the resulting accumulation array, from casting one vote for each pair, with a kernel of 2 by 2 containing all 1.0&#39;s. The use of overlapping cells prevents from the situation in which the true translation is located on or near the boundaries of two or more cells. This situation causes votes being split among the nearby cells and can result in a wrong solution. 
     3. Let L be a list of accumulation cells whose vote count is greater than zero and whose location standard deviation σ t  (defined below) are less than a set threshold T 1 . Compute the scores for each cell in the list L. 
      The score of each accumulation cell is a function of a) the number of votes; and b) the likelihood of the feature points (from both images) voting for the cell being from a set of objects with common features. For this invention, the score is defined as the sum of FLIR feature strength of all the pairs in the cell. The FLIR feature strength is in turn the average contrast of a FLIR feature against its background. The score function can also include feature strength from SAR. The purpose of this “scoring function” is to rank the results of the GHT. The location standard deviation σ t  is the geometric mean of the standard deviation of dx and dy for the votes in a given cell: σ t ={square root over (σ x   2 +σ y   2  )}, where σ x  and σ y  are the standard deviations of dx and dy, respectively. The threshold for the location standard deviation is set to            T   1     =       2   3        q       ,                          
      where q is the cell quantization unit. The constant, 2/3, is used to maintain high confidence in the results obtained. Consequently, the use of location standard deviation effectively screens the results of GHT. 
     4. Let (dxm, dym) be the indices for the cell in L with the maximum score. 
     5. If the vote count K in C at (dxm, dym), K=C(dxm, dym), is less than 4 (i.e., 
     C(dxm, dym)&lt;4), then report failure and quit. Otherwise report success and set of pairs voted for the cell at (dxm, dym) constitutes the matching solution. 
     Step 4: Registration Transformation Estimation 
     As the result of GHT in the last step, we get a set of matching pairs of feature points from SAR and FLIR. With this set of matching points we can estimate the registration transformation that we can use to transform any point (not only the points in the matching set) in the FLIR image into the SAR image. We describe two methods for estimating the registration transformation. 
     Least-Squares Method 
     With a set of four or more pairs of matching feature points, we can easily estimate the registration transformation between the SAR and FLIR images using a least-squares method. Substituting Equation (4) into (3), and normalize the coefficients, we get the following equations for transforming the FLIR image points into the SAR images:                  x                 r     =           B   1        X     +       B   2        Y     +     B   3             B   7        X     +       B   8        Y     +   1         ,     yr   =           B   4        X     +       B   5        Y     +     B   6             B   7        X     +       B   8        Y     +   1                 Eq   .                (   5   )                                  
     where (X, Y) are the coordinates of the FLIR feature points, (xr, yr) are the coordinates of the corresponding SAR feature points, and                B   n     =     {               cA   n     /     A   g       ,             n   =   1     ,   …              ,   6                   A   n     /     A   g       ,             n   =   7     ,   8                     Eq   .                (   6   )                                  
     where c and A n , n=1, . . . ,8 are defined in Equations (4) and (3), respectively. After rearranging the terms in Equation (5), we get              {                 B   1        X     +       B   2        Y     +     B   3     -     xr        (         B   7        X     +       B   8        Y     +   1     )         =   0                     B   4        X     +       B   5        Y     +     B   6     -     y                   r        (         B   7        X     +       B   8        Y     +   1     )           =   0                   Eq   .                (   7   )                                  
     Each pair of matching points gives two simultaneous linear equations in the form of Equation (7). To solve for the eight parameters B 1  to B 8  in Equation (7), at least 4 pairs of matching points are required. When we have 4 or more pairs of matching points, we can find the least-squares solution for the parameters B 1  to B 8  which minimizes the following error term:              E   =       ∑     i   =   1     K                     (       e   xi   2     +     e   yi   2       )               Eq   .                (   8   )                                  
     where K is the number of point pairs, and e xi  and e yi  are the error terms based on Equation (7).                          e   xi     =         B   1          X   i       +       B   2          Y   i       +     B   3     -       xr   i          (         B   7          X   i       +       B   8          Y   i       +   1     )                       e   yi     =         B   4          X   i       +       B   2          Y   i       +     B   3     -       xr   i          (         B   7          X   i       +       B   8          Y   i       +   1     )                 }     ,     i   =   1     ,   …              ,   K           Eq   .                (   9   )                                  
     Inverse Jacobian Method 
     The least-squares method given above solves the 8 parameters of the transformation from scratch using a set of matching point pairs. Since we already have the initial registration transformation given by Equation (3), we can also find the final registration transformation by updating the initial transformation using the set of matching point pairs found in the GHT. As discussed in “parameter search space reduction” in Step 3, the residual registration error is caused mainly by the errors in the depression angle θ d  and the azimuth angle θ a . Therefore we start with building a relation between the residual registration error and the two angles involved. We define the following Jacobian matrix:              J   =     [               ∂   x                   r       ∂     θ   d                   ∂   x                   r       ∂     θ   a                     ∂   yr       ∂     θ   d                 ∂   yr       ∂     θ   a               ]             Eq   .                (   10   )                                  
     J is the Jacobian matrix of (xr, yr) in Equation (3) with respect to the two rotational parameters, the depression and the azimuth angles θ d  and θ a , respectively. We compute the updates to these two parameters by:                [           Δ                   θ   d                 Δ                   θ   a             ]     =       J     -   1            [           Δ                 x               Δ                 y           ]               Eq   .                (   11   )                                  
     where (Δx, Δy) is the residual translational registration error, and J −t  is the inverse of the Jacobian matrix. (Δx, Δy) can be determined by averaging the dx&#39;s and dy&#39;s for all the votes in the cell (dxm, gym) from the result of GHT in Step 3:                [           Δ                 x               Δ                 y           ]     =       K        [             ∑     i   =   2     K                     d                   x   i                     ∑     i   =   1     K                     d                   y   i               ]       +     [           Δ                   x   g                 Δ                   y   g             ]               Eq   .                (   12   )                                  
     where K=C(dxm, dym) is the number of votes in the accumulation array at (dxm, dym), dx t  and dy t , i=1, . . . ,K, are the components of translation for the pairs of feature points at (dxm, dym), and Δx g  and Δy g  are the global shift we applied to the back-projected FLIR points (see page 9, line 13). 
     After updating θ d  and θ a  in the sensor truth data according Equations (11) and (I2), the transformation parameters B 1  to B 8  can be recomputed by computing the parameters of A 1  to A 9  in Equation (3), plus z=h (where h is the ground plane elevation). In our experiments, h=0 was used. But h should be substituted with known terrain elevation for the imaged area. Once A 1  to A 9  have been computed, the coefficients B 1  to B 8  for the transformation illustrated in Equation (5) can be derived according to Equation (6). 
     Step 5: Registration Verification 
     The registration verification step has two purposes. One is to ensure that the set of matches (the pairs of SAR and FLIR feature points) are indeed geometrically plausible. The second is to pick up additional possible matches or drop out some erroneous matches. The verification is done by first transforming all the FLIR feature points into the SAR image using the newly estimated parameters B 1  to B 8  in Step 4 according to Equation (5). Then for each transformed FLIR point, a search is done for the closest SAR feature point within a distance in of 4 (pixels) in both X and Y directions. Again, the number 4 is preferably used to maintain high confidence. If such a SAR feature point is found, then the pair of FLIR and SAR feature points will be added to the new matched point list. 
     Once the verification is done, the new matched point list is checked to determine whether it contains more than 4 points. If yes, then the registration is complete. If not, then the registration has failed.