Correlation-extreme visual navigation of unmanned airCraft systems based on speed-up robust features

. The peculiarities of correlation-extreme visual navigation are considered. Descriptors with 64 elements of feature points of surface images are selected on the basis of the speed-up robust feature method. An analysis of possible criteria correlation functions is carried out to find the best match between the template descriptors and current images. The use of normalized correlation function is proposed based on the matrix multiplication properties of descriptors. It allows minimizing the number of false matches in comparison with the Euclidean distance in the descriptor space. The proposed matching strategy sufficiently decreases the computation time.


introduction
Miniature unmanned aircraft systems (UAS) are increasingly used for various purposes like monitoring of ground or water surface, surveillance, reconnaissance and others. The functioning of UAS in urban areas is significantly limited by severe requirements for the accuracy of navigation and control and collision avoidance solutions. The basic navigation complex of UAS includes the integrated inertial navigation system (INS) and satellite navigation system (SNS). In the case of satellite signal loss the navigation solution is obtained from the inertial measurement unit (IMU), which, however, has its own errors that grow over time. For a small UAS with a lowcost IMU based on economic micro-electromechanical sensors (MEMS), the drift of errors in a few seconds can lead to unreliable positioning. In addition, the operation of SNS in an urban area is also limited by significant multipath errors due to multiple signal reflections from obstacles, buildings and so on. The major drawback is that the satellite signal can be easily suppressed, intentionally or accidentally by the interference of mobile frequencies, disturbance of television broadcasting, and others.
One of the alternative variants that could aid INS is the correlation-extreme navigation system (CENS) that uses a priori cartographic information of the geophysical field in the given area and finds the matches with current field realization (Baklitskiy 2009). The geophysical fields include the relief field, magnetic, gravitational fields, optical or radio contrast fields, etc. Over the last decade promising results of visual UAS navigation (Conte, Doherty 2011) have been achieved by the rapid development of computing power that makes available the use of heavy computation of image processing methods in real-time mode.
Here the modified speed-up robust feature (SURF) method (Bay et al. 2006) will be considered for the practical implementation aboard the UAS.

problem statement
Given the current realization of a surface geophysical field (optical for this particular paper) ( , , , ) f x y t l , the best (extreme) correlation with a set of a priori cartographic realizations ( , , , ) F x y t Λ of the same field must be found. The surface field model describes the place of signal f in a rectangular coordinate system ( Fig. 1) for the observer plane xy by the observation vector Λ . The current realization of observation vector l determines its displacement along the x-and y-axis.
where N indicates the number of observed features; D ithe descriptors of features; ( ) δ • -the Delta function. In general, the difference between an a priori field and its current realization is described by a non-linear dependence l(x, y).
Since the realization of function (2) is random, such statistical characteristics as mean value, variance and correlation function of the following form will be used: The descriptors of feature points (Lowe 2004) are represented as follows: where 1 2 , ,..., k p p p indicate properties of the feature point, which may include coordinates, average intensity, gradient orientation, Hessian value, Laplacian value, etc.
The aim is to find the optimal correlation function (3) for use in the speed-up robust feature method with the possibility to work in real-time mode.

variants of criteria correlation functions
According to (Baklitskiy 2009), the following classification of correlation functions is used in CENS: 1) a classic correlation function based on statistical moments -the cross-correlation function: is the current realization of the field (hereinafter -f); and the normalized correlation function: where s is the operator of the root mean square error.
The normilized cross-correlation function is highly recommended for template matching (Briechle, Hanebeck 2001); 2) difference criteria functions, represented as follows: where р takes values 1, 2 and so on.
There are several variants of difference criteria functions: the function of mean square of difference - , etc. The advantage of difference functions is the absence of multiplication operations that decreases the computational costs sufficiently. However, if similar images match only partly, the difference functions have the high values; 3) spectral criteria functions are used to match the spectra of images. The following functions can be related to them: -the correlation spectral function: of a priori and current realization of images; ( ) G u -the cross-spectrum; * -complex conjugation; -Rott's function: -the coherence function: The use of spectral correlation functions is advisable when it is necessary to increase the components of spatial frequencies of a valid signal to a maximum and to suppress the components distorted by noise; 4) the even criteria functions are used for quantized images with quantization levels of two or more. If the element of the first image has a quantization level i, and the element of the second image has a level j, then the even function ( ),0 , 2 1 n ij f i j l ≤ ≤ − is increased by one. Here 2 n is the number of quantization levels. Correspondingly, function ( ) which surround the point. To calculate the descriptor a rectangular area is formed around the feature point with a size of 20s, where s indicates the filter scale that was used to find the point. For the first octave the size of the area is 40×40 pixels. The quadrant is oriented along the major direction calculated for the feature point.
The descriptor is calculated as the gradients for 4 × 4 = 16 quadrants around the feature point. Then each quadrant is divided further into 16 smaller quadrants, as shown in figure 2.
For each quadrant the responses of Haar wavelets (Porwik, Lisowska 2004) of a size 2s are computed on the regular grid of 5 × 5 = 25. The responses for directions х and у are designated as dx and dy, respectively, and then for each quadrant the following vector is found:  (Bay et al. 2006) With Haar wavelet calculation the image is not rotated and the filter is computed into image coordinates. Afterwards, the gradient coordinates (dх, dу) are rotated by an angle corresponding to the orientation of the quadrant. Four components on each quadrant must be computed, which results in 64 descriptor components of the area around the feature point. By the formation of the descriptor array the values are weighted by a Gaussian 3.3s and are centered in the feature point to minimize the possible noise components.
It is necessary to select the best criteria function to match the pairs of descriptors , ³ F f D D of the template and current images. In (Elesina et al. 2010), the normalized correlation function (5) and the function of mean square difference were proposed for the same purposes in the following expression: and 2 (64) (64) , 1, , 1, where indexes , i j correspond to the feature points on the template and current images, and respectively , N n -to numbers of points found on these images.
Function (8) is actually used in most realizations of the SURF method, in particular, in the "Code of SURF listing in MATLAB". But a significant disadvantage of such strategy is the greater number of calculations that may become crucial for real-time application aboard a UAS. The use of function (7) is more preferable due to its natural properties of the matrix multiplication and the possibility to use advanced CUDA technologies of parallel processing as in (Sheta et al. 2012).
The realization of SURF method in the "Code of SURF listing in MATLAB" was used for practical experiments. The descriptors are formulated as matrix D with the size of 64 × N, or 128 × N, where N indicates the number of feature points. Function (7) can be found by the single multiplication of two matrixes of template and current image descriptors: (1) ( ) Since the descriptor matrix is already normalized due to peculiarities of the SURF method, it is possible to state that each component ij K of matrix (9) corresponds to (7). Obviously, the maximum values in matrix K provide the best matches between feature points. The search of maximum elements is carried out by finding the maximum values of matrix (9) in each row and checking whether this value is greater than the threshold. Only one maximum element in each row is selected since it is supposed that one point on the template will be matched to a single point on the current image.
Experimental results and comparison. The realization of the SURF method is caried out based on the available code listing in MATLAB by (Code of SURF listing in MATLAB). A set of testing images as video frames was selected from a UAS flight taken in Borodyanka at an altitude of 185 m. The threshold value of the normalized cross-correlation was selected as 0.95 to satisfy the standard of confidence probability of reliable matching (Baumberg 2000). Actually, the value of the correlation threshold must be selected carefully depending on the image structure. For highly-detailed images this coefficient may be decreased since the probability of having the same descriptor for a different point will be lower than for images with uniform or repeated patterns. The results and comparison with the method used in (Code of SURF listing in MATLAB) are represented in figures 3-6.

Conclusions
The proposed variant of the normalized correlation function provides the possibility to correct the number of matched features depending on the degree of image change in order to minimize the false matching. The threshold value of the normalized cross-correlation was selected as 0.95 to satisfy the standard of confid-ence probability of reliable matching. Variation of the threshold value K of the correlation function results in the minimization of false matching in comparison with "Code of SURF listing in MATLAB" from 1.7 to 2.25 times. The computational time of matching varies in a range 7.45-9.3 times smaller than for the correlation function (8).