A. Point of Interesting Extracted by SURF

In the aspect of terrain image feature extraction, the SURF algorithm is a commonly used local feature extraction algorithm in image classification. The matching accuracy is high, but the real-time performance is generally poor. In recent years, many excellent algorithms have been proposed. BRISK [30], which combines detection of key points of features from accelerated segment test (FAST) and binary description can enhance the speed of the algorithm, but its classification performance is not ideal. Since the SURF algorithm with many feature points cannot satisfy real-time detection and the BRISK algorithm has fast computation speed but a low matching rate, a method for image matching based on the SURF-BRISK algorithm is proposed. The SURF-BRISK algorithm is established by combining the advantages of both algorithms. Points of interest are detected using the SURF algorithm, descriptors are calculated using the BRISK algorithm, and the Hamming distance is used [31] for similarity measurement, which enables not only high matching rates but also high calculation speed. The algorithm process is described below. In SURF, the criterion of feature points is the determinant of a Hessian matrix of pixel luminance. A pixel u(x, y) is given in image I. In this point, the scale σ of the matrix is defined by:

$$H(\mu, \sigma) = \begin{vmatrix} L\_{xx}(\mu, \sigma) & L\_{xy}(\mu, \sigma) \\ L\_{xy}(\mu, \sigma) & L\_{yy}(\mu, \sigma) \end{vmatrix} \tag{1}$$

where *Lxx*(*u*,σ) is the Gaussian second-order differential ∂<sup>2</sup> *g*(σ)/∂*x*<sup>2</sup> convolution of image *I* at point *u*, and similarly for *Lxy*(*u*,σ) and *Lyy*(*u*,σ). In order to facilitate the calculation, the elements of the Hessian matrix are labeled as *Dxx*, *Dyy*, *Dxy*, and the weight of a square area is set to a fixed value. Hence, the approximate value of the Hessian matrix determinant *Happrox* is defined by:

$$\det\text{d}(H\_{\text{approx}}) = D\_{\text{xx}}D\_{yy} - \left(aD\_{xy}\right)^2\_{\text{ \textdegree}} \tag{2}$$

where the correlation weight ω of the filter response is utilized to balance the expression of the Hessian determinant. In order to preserve the energy conservation of the Gauss kernel and approximate it, ω is usually set to 0.9. The Hessian matrix is used to calculate the partial derivative, which is usually obtained by a convolution of pixel light intensity and a certain direction of Gauss kernel partial derivative. In order to improve the speed of the SURF algorithm, the approximate box filter is used instead of the Gauss kernel with very little impact on precision. The convolution calculation can be used to optimize the integral image, which greatly improves the efficiency. It is necessary to use three filters to calculate *Dxx, Dyy,* and *Dxy* for each point. After filtering, a response graph of the image is obtained. The value of each pixel on the response graph is calculated by the determinant of the original pixel. The image is filtered with different scales and a series of responses of the same image at different scales is obtained. The detection method of feature points is if the value of det (Happrox) of a key point is greater than the value of 26 points in its neighborhood. The number of interest points sampled by SURF is shown in Figure 4.
