# Matching two clusters of points extracted from satellite images

Patrice Navy, Vincent Page, Enguerran Grandchamp, Jacky Desachy

► To cite this version:

Patrice Navy, Vincent Page, Enguerran Grandchamp, Jacky Desachy. Matching two clusters of points extracted from satellite images. Pattern Recognition Letters, 2005, 10.1016/j.patrec.2005.08.008. hal-00602280

HAL Id: hal-00602280

https://hal.science/hal-00602280v1

Submitted on 14 Mar 2020

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons CC BY 4.0 - Attribution - International License
Matching two clusters of points extracted from satellite images

Patrice Navy *, Vincent Page, Enguerran Grandchamp, Jacky Desachy

GRIMAAG—Université des Antilles et de la Guyane, Campus de Fouillole, B.P. 592, 97157 Pointe à Pitre Cedex, French West Indies, France

Image matching is a stage one performs as soon as one has two images of the same scene, taken from two different points of view. Matching these images aims at finding the mathematical transformation that enables passing from any point of the first one to the corresponding point in the other. As this study is related to satellite images, we show that the geometrical transformation can be approximated by a homography. Furthermore we want to match two clusters of points with no information of radiometry. Therefore, we have to guess the right parameters for this homography, by minimizing an appropriate cost function we define here. Then, the topography of the cost function is our main concern for the minimisation process. If looking for the right mathematical parameters seems the most natural way, we show that in this case the cost function has “chaotic” variations, so we need a complex technique for the minimization. To avoid this, we suggest guessing the parameters determining the conditions of the snapshot. Thus, we give the expression of the homography from these “physical parameters” and show that the topography of the cost function gets smoother. Thus the minimization process gets simpler.

Keywords: Clusters of points; Homography; Image matching

# 1. Introduction

As we would like to match satellite images captured under different conditions, we have to say something about these differences. They concern parameters such as the camera angle, the resolution of each image, the position of the satellites, the center of each scene, but also the nature of the sensors.

These considerations lead us to search a new approach to match these images, as the majority of existing works consists of extracting characteristic points in each image and finding automatically or not a corresponding point in the second image, as for example in (Groth, 1986; Kahl et al., 1980; Ranade and Rosenfeld, 1980), but which does not take account of the projective deformations. In others examples, Schmid and Mohr (1997), Lowe (1999), Lindeberg (1998), Tuytelaars and Gool (1999), base the correspondence on the color of the points. Here the different

nature of the sensors implies that a point may have two different colors in each image. Thus the problem is to match two clusters of points with no knowledge of the correspondence between a point in one cluster and a point in the other. This makes the matching harder than those of traditional approaches, thus we will use the two following hypotheses. The first is that the scene viewed from the satellite can be approximated by a planar scene. The second hypothesis is that the sensor catch the scene with a pinhole model. So, it can be shown that there is an application linking the two views of a scene taken under two different angles (Pritchett and Zisserman, 1998; Chasles, 1852). Such an application is a homography (and depends upon nine parameters).

Let us consider a cluster of the same characteristic points in each image. We then look for the homography that transforms the first cluster of points into the second. In other words, we have to guess the right homography. This can be achieved by minimizing a cost function that represents the quality of the matching between the two clusters.

<footnote>* Corresponding author. Fax: +33 5 9093 8698.</footnote>

<footnote>E-mail address: patrice.navy@univ-ag.fr (P. Navy).</footnote>
Section 2 deals with the definition of the homography and proposes a cost function adapted to our search. In Section 3, we will study the topography of the cost function as these nine parameters vary. As this topography appears to be “chaotic”, one might choose to use a minimisation process able to find the global minimum of the cost function. However, we would like to find a solution in a low computational time.

Thus, the idea is the following: let us suppose we know the exact physical parameters of the capture of both images. We should be able to guess the right homography from these parameters. Moreover, let us imagine that we move one of the satellites slightly. The image taken from this satellite will be very close to the original. Therefore the value of the cost function should be close to those obtained with the original image. In other words, the topography of the cost function should be smooth at least around the solution. This will simplify the minimization of the cost function. Another reason advocated for the use of these physical parameters: satellite images are sold with a lot of information about the capture of the image and many of the physical parameters can be deduced from this information. Even if these pieces of information are not error-free, they constitute a good starting point for the minimization process.

Section 4 specifies the definition of these physical parameters, and shows how to calculate the homography from these parameters. In Section 5, we show that, as claimed before, the topography of the cost function is smoother than in the straight method. Finally Section 6 shows an example of a minimization process. We conclude in Section 7.

## 2. Homography and cost function

As our images are captured from satellites of high altitude, we can make the approximation that these scenes could have a planar geometry. Moreover, even if the satellite sensor catches an image line after line, while it advances, we work here under the hypothesis of a pinhole model. An interesting extension of this work would be to use a more appropriate model (and working line by line). Thus, the two images are the projection of a planar ground scene from different angles and, following Chasles (1852), we claim that the application transforming the ground scene to an image is a homography. As the inverse transformation (from an image to the scene) in a projective space is a homography, it can be shown that the transformation between the two images is also a planar homography. A planar homography is a function expressed as follows:

$$ 
\begin{bmatrix} x' \\ y' \end{bmatrix} = h(x, y) \\
= \left( \frac{h_{11} \cdot x + h_{12} \cdot y + h_{13}}{h_{31} \cdot x + h_{32} \cdot y + h_{33}}, \frac{h_{21} \cdot x + h_{22} \cdot y + h_{23}}{h_{31} \cdot x + h_{32} \cdot y + h_{33}} \right), \quad (1)
$$

where x, y give the position of a point P in the first image, x', y' give the position of P', the image of P through the homography h characterized by the coefficients $h_{ij}$. $h_{ij}$ are real coefficients.

As we do not want our matching process to be sensor dependant, we will suppose here that we have been able to extract the same structural informations (points, lines, regions) within each image. In this article, we will focus on characteristic points. The automatic extraction of these points is currently investigated and for further information one might refer to existing works as Schmid and Mohr (1997), Harris and Stephens (1988) and Dufournaud et al. (2000). Then our problem is to find the correct h that will transform a cluster of geometrical points into another.

Let us find a cost function to define a “correct homography”: If h is the solution we are looking for, for each $P_i$ in cluster C, there is a point $P'_j$ in cluster C' which verifies $P'_j = h(P_i)$. Thus the cost function for h should be zero. For another homography, close to the solution, the image of $P_i$ should be close to $P'_j$. Thus we can guess that each $P_i$ is transformed into its nearest neighbor in cluster C'. The ability for a homography to transform C into C' might be given by the following cost function:

$$ C(h) = \sum_{i} \min_{j} d(h(P_i), P'_j), \quad (2) $$

where $P_i$ and $P'_j$ are the points in the first and the second clusters, h is the homography and d is a distance function. Here we will consider an Euclidean distance.

Nevertheless, the main drawback of this cost function is that a homography projecting all the points of the first cluster close to a single point in the second cluster appears to have a very low cost. Hence, we will modify our cost function to obtain a more symmetrical behavior. Moreover, we normalize this cost function by the number of points in each cluster so that the cost function is defined by

$$ C(h) = \frac{1}{N} \sum_{i}^{N} \min_{j} d(h(P_i), P'_j) + \frac{1}{N'} \sum_{j}^{N'} \min_{i} d(h^{-1}(P'_j), P_i). \quad (3) $$

One can interpret the value of the cost function as the average error (in pixels) made on each point when trying to match it with its correspondent in the other cluster. Note that the cost function does not depend of the way the homography is expressed.

The two following sections deal with two expressions of the homography, that strongly influence the difficulty of the minimization process.

## 3. Straight on minimization method

One might think that the best method is to look directly for the correct parameters of the homography (i.e. the $h_{ij}$). Let us illustrate this on different examples. At first, let us
define the homography that links the different images. For convenience reasons, the homography will be the same in each case and its parameters (1) are defined as follows:

$$ (h_{ij})_{1 \le i,j \le 3} = \begin{pmatrix} 0.248587 & 1.779159 & 2.327801 \\ -0.917194 & -0.090371 & 6.597157 \\ -0.000009 & -0.000023 & 1.000021 \end{pmatrix}. \quad (4) $$

Then, we use a couple of clusters ($C_1, C'_1$), such as $C'_1 = h(C_1)$. It is presented in Fig. 1.

Now, we can study the topography of the cost function for each cluster around the solution $h$. In each curve, all the $h_{ij}$ except one (the searched parameter) are equal to those of the solution. The searched parameter varies linearly and for each value of this search parameter, the cost function is computed. The results are presented for the couple of cluster of Fig. 2. For convenience, we just present the evolution of the cost as a function of $h_{21}, h_{22}, h_{31}$.

It appears that the minimization process will face different troubles. If the curves for $h_{21}$ and $h_{22}$ are smooth (as are those of $h_{11}$ and $h_{12}$ in non-presented tests), the curve for

<figure><img src="image_2.png" /><figcaption>Fig. 1. A couple of clusters with 100 points. The left cluster is $C_1$ and the right cluster is $C'_1$. Visually a 90° left rotation helps matching $C_1$ to $C'_1$.</figcaption></figure>

<figure><img src="image_3.png" /><figcaption>Fig. 2. Evolution of the cost function for ($C_1, C'_1$) as one of the mathematical parameters of $h$ varies. (a) Cost evolution, function of $h_{21}$, (b) cost evolution, function of $h_{22}$, (c) cost evolution, function of $h_{31}$ and (d) a zoom of the curve (c) cost evolution, function of $h_{31}$.</figcaption></figure>
$h_{31}$ present many peaks and many local minima. This is explained by the fact that the last two parameters are involved in divisions in the definition of the homography (1), thus there are at least as many peaks as there are characteristic points in the clusters.

Moreover we are looking for a solution in a 9-dimensional space of merely mathematical parameters with no idea of the bounds of this space. As one might note in (4) the magnitude of the values of each parameter are very different, thus we have no idea of the accuracy required to explore the space of the solutions. Another drawback is that we have no idea of what could be a correct starting point for the minimization process.

As a conclusion, one homography compared with another, close in the space of the mathematical parameters will have a very different behavior. In other words, two neighbors in the space of the mathematical parameters will have a very different cost when they apply to transform a cluster into the other. Then, either we choose a complex minimization process, able to find the global minimum of the cost function, either we try to express the homography as a function of parameters that have an influence which can be more easily explained physically.

## 4. Physical parameters of the homography

Satellite images are provided with technical data con-cessing the satellite and the captured scene. We will make use of these data to express the homography differently.

In stereovision, many researchers use the projective formalism and the pinhole model is used to describe the camera behavior (Couapel, 1994; Zhang, 1993, 1996; Longuet-Higgins, 1981; Hartley, 1995). Even if this model is more adapted to the camera images than for images captured from satellite sensors (Hartley, 1997), we will follow them in this paper to express the homography starting from the data provided with the satellite images.

For the sake of simplicity, let us focus on the ground image and the first satellite. The data which we will use will be as follows (cf. Fig. 3):

* $S_1$: the position of the satellite,

* $P_1$: the position of the target point,

* $\rho_1$: the $P_1S_1$ distance,

* $\alpha_1$: the local azimuth,

* $\beta_1$: the elevation,

* $\gamma_1$: an angle orientation.

Our main goal is to explain how a planar scene is turned into an image to explain these parameters. At first, we will use two bases of the 3D-space. The first is the $(O, \vec{i}, \vec{j}, \vec{k})$ basis of the ground scene. The second is the $(S_1, \vec{i}', \vec{j}', \vec{k}')$ basis of the satellite with:

* $\vec{k}'$ is pointed to $P_1$,

* $i_{\text{proj}}$ is the normalized vector of the line of the projection of $\vec{i}$ by $\vec{k}$ on the normal plane to $\vec{k}'$,

<figure><img src="image_4.png" /><figcaption>Fig. 3. Basis of the ith ground scene ($P_i, \vec{i}, \vec{j}, \vec{k}$) and basis of the ith satellite ($S_i, \vec{i}', \vec{j}', \vec{k}'$).</figcaption></figure>

* $j_{\text{proj}}$ has such a value that the $(i_{\text{proj}}, j_{\text{proj}}, \vec{k}')$ basis is a right basis,

* $\vec{i}'$ is the rotation of $i_{\text{proj}}$ with $\gamma_1$ angle around the $\vec{k}'$ axis,

* $\vec{j}'$ is the rotation of $j_{\text{proj}}$ with $\gamma_1$ angle around the $\vec{k}'$ axis.

$S_1$ is located from $P_1$ as follows: $S_{\text{sol}}$ is the orthogonal projection of $S_1$ on the ground. $\alpha_1$ is the angle between $\vec{i}$ and $P_1\vec{S}_{\text{sol}}$, $\beta_1$ is the angle between $P_1\vec{S}_{\text{sol}}$ and $P_1\vec{S}_1$ and $\rho_1$ is the distance $P_1S_1$.

From this data, one can thus deduce $N$ and $N^{-1}$, the transition matrix between $(S_1, \vec{i}', \vec{j}', \vec{k}')$ and $(P_1, \vec{i}, \vec{j}, \vec{k})$, and respectively its inverse. As the ground scene is assimilated to a plan of equation $z=0$ in the ground scene basis, the coordinates of a point of the ground scene are $[x, y, 0]^t$. The coordinates $[x', y', z']^t$ of the same point in the basis $(S_1, \vec{i}', \vec{j}', \vec{k}')$ can be expressed as follows:

$$ \begin{pmatrix} x' \\ y' \\ z' \end{pmatrix} = N^{-1} \cdot \begin{pmatrix} x \\ y \\ 0 \end{pmatrix} - N^{-1} \begin{pmatrix} S_{1x} \\ S_{1y} \\ S_{1z} \end{pmatrix}, \qquad (5) $$

where $[S_{1x}, S_{1y}, S_{1z}]^t$ are the coordinates of $S_1$ in the basis $(P_1, \vec{i}, \vec{j}, \vec{k})$.

Then, any point of the scene is projected into the image using of a projection matrix $A$. This matrix is called the calibration matrix, and its form depends on the camera model. In this article, we use the well-known pinhole model (Zhang et al., 1994). It can be easily shown that the coordinates of the projection of the ground point in the image are obtained by (6).

Now let us seek the form of the matrix of calibration $A$ following Zhang et al. (1994). It depends on the resolution (the scale between the two bases), on the distance between the center of the image and the optical center and the shape of the pixels.

$$ \begin{pmatrix} x'' \\ y'' \\ z'' \end{pmatrix} = A \cdot \left[ N^{-1} \cdot \begin{pmatrix} x \\ y \\ 0 \end{pmatrix} - N^{-1} \begin{pmatrix} S_{1x} \\ S_{1y} \\ S_{1z} \end{pmatrix} \right]. \qquad (6) $$
<figure><img src="image_5.png" /><figcaption>Fig. 4. Image basis ($O_1, \vec{i}, \vec{j}$) and pixel basis ($C_1, \vec{i}', \vec{j}'$).</figcaption></figure>

Let us name, $\text{res}_1$ the resolution; $\alpha_1$, the complementary of the angle between the two sides of a pixel. One should note that we also need to differentiate $O_1$ (the intersection between the optical axe and the image) and $C_1$ (center of the image whose coordinates are $[c_{1x}, c_{1y}]^t$ in the basis associated with $O_1$) (Fig. 4).

Straight from these considerations, we obtain the form of the matrix of calibration:

$$A = \begin{pmatrix} \frac{\rho_1}{\text{res}_1} & -\frac{\rho_1 \cdot \tan(\theta_1)}{\text{res}_1} & c_{1x} \\ 0 & \frac{\rho_1}{\text{res}_1 \cdot \cos(\theta_1)} & c_{1y} \\ 0 & 0 & 1 \end{pmatrix}. \quad (7)$$

The last transform is to go back from the projective space to the image space (non-linear part of the homography) (cf. (8))

$$\left\{ \begin{array}{l} x''' = \frac{x''}{z''}, \\ y''' = \frac{y''}{z''}. \end{array} \right. \qquad (8)$$

At this point, we can calculate the transformation between the ground scene and a satellite image. Let us give four points on the ground considering three of these points are never aligned. Let us give the transformation, in the first image and in the second image, of these four points. Generally, in each image, three of the four points are never aligned. With these eight points, we can calculate the homography between the two images (cf. Berger, 1978).

We face with two groups of parameters:

* The intrinsic parameters, related to the optical system, which are the $\text{res}_i$ resolution, the $\theta_i$ angle formed by the sides of a pixel and the ($c_{ix}, c_{iy}$) position of the image center compared to the optical center.

* The extrinsic parameters, associated with the scene, are the position of the center of the scenes (the target point) $P_i: (P_{ix}, P_{iy})$ and the position of the satellite, determined by the $\alpha_i$ local azimuth; the $\beta_i$ elevation, the $\rho_i$ distance and a $\gamma_i$ angle determining the image orientation.

At end, we have for each image four intrinsic parameters and six extrinsic parameters. If one supposes that the intrinsic parameters are known, we obtain 12 parameters for the homography instead of the nine mathematical coefficients. If the intrinsic parameters are unknown, we have 20 parameters that we call the *physical parameters* of the homography between the two images.

## 5. Topography of the cost function in the physical parameter space

As in Section 3, the clusters used to carry on the experiments are those given in Fig. 1. The homography that transforms these clusters into their correspondent is the one of (4). One can note that this homography can be expressed in terms of the physical parameters described in the previous section, as follows:

* Conditions of capture for image 1:

- $P_1 = (0,0)$ (m); $\rho_1 = 800$ km; $\alpha_1 = 1.57$ rad; $\beta_1 = 0.55$ rad; $\gamma_1 = 0$ rad;

- $\text{res}_1 = 20$ m/pixel; $\theta_1 = 0.1$ rad; $C_1 = (1,1)$ (pixel).

* Conditions of capture for image 2:

- $P_2 = (100,-100)$ (m); $\rho_2 = 800$ km; $\alpha_2 = 0.8$ rad; $\beta_2 = 1$ rad; $\gamma_2 = 1.57$ rad;

- $\text{res}_2 = 20$ m/pixel; $\theta_2 = 0.1$ rad; $C_2 = (1,1)$ (pixel).

As for Fig. 2, all the parameters except one are fixed to the true value, and the free parameter varies linearly. For each value of the parameters (i.e. a tested homography), a value of the cost function is measured to estimate the quality of the tested homography. The results are shown in Fig. 5, respectively for the clusters presented in Fig. 1.

Many tests have been conducted on the topography of the cost function when the homography is expressed by its physical parameters. All these tests show a smooth topography, that makes us think the minimization process is no longer a tough problem.

Furthermore, the technical data supplied with satellite images gives us an estimation of the homography. In other words, even if these datas are not error-free, it provides us with a good starting point to find the homography between the two clusters. During the minimization, we also know what accuracy is relevant for each parameter as these parameters have a physical meaning. This is helpful when trying to explore a big space of solutions (at least a 12-dimensional space).

Finally, to sum up these conclusions, it appears that mathematical parameters are the best way (the shortest) to characterize a homography. Nevertheless, the minimization process would have to find a path to the solution, in the space of the mathematical parameters. Along this path, each tested homography should have a behavior close to that of the other tested homographies. This cannot be done by moving linearly the mathematical parameters. The expression of the homography as a
<figure><img src="image_6.png" /><figcaption>Fig. 5. Evolution of the cost function for ($C_1, C'_1$) as one of the physical parameters of $h$ varies. (a) Cost evolution, function of $\alpha_1$ and (b) cost evolution, function of $c_{1y}$.</figcaption></figure>

function of the physical parameters provides us with this path. The price to pay is a rise in the number of parameters.

## 6. Minimization process

As one can observe in Fig. 2(c), minimizing the cost function within the mathematical parameters space would be a computation intensive task, due to the numerous local minima. In the physical parameter space, the cost function appears to be smoother (cf. Fig. 5), enabling a simpler minimization method such as a gradient minimization. However, one can note that there are still some local minima in the cost function topography. For example, as soon as a homography performs a false matching between two points, there is obviously a local minimum around this homography.

To face these local minima, we chose to use the following initialization method: Let us start from an initial hypothesis for $h$. At each iteration, we generate a random deformation of the physical parameters from which we calculate a new expression of $h$ and evaluate its cost. If the cost decreases, the deformation is accepted and the whole process is repeated until the cost function reaches an arbitrary chosen value of 0.25. As seen in Section 2, this means

that the average error when matching a point of $C_1$ into another in $C'_1$ is 0.25 pixel.

As the random deformation can be restricted to a certain neighbour (in our case, the deformation is randomly chosen in a $[-1, 1]$ interval for the $P_{x}, P_{y}$ and $\rho$ parameters and in a $[-\pi/10, \pi/10]$ interval for the angles parameters), this method enables us to “jump” over the local minima that subsists in the cost function topography, while keeping a low computation time.

Let us illustrate the results of this method, applied to the pair of cluster of Fig. 1. The homography that links these clusters is still the one determined from the physical parameters used in (5).

The starting point of the minimization process is obtained from the following variation of the physical parameters $P_{1x}, P_{1y}, \alpha_1, \beta_1$ and $\gamma_1$:

* First target point $P_1$ (in m): (+200, -50).

* Angle $\alpha_1$ (in rad): -0.17.

* Angle $\beta_1$ (in rad): -0.05.

* Angle $\gamma_1$ (in rad): +0.5.

The starting point of the minimization process performs the matching presented in Fig. 6(a). The result of the matching after minimization is presented in Fig. 6(b). We

<figure><img src="image_7.png" /><figcaption>Fig. 6. Matching the two clusters. The fullcircle set is $C_1$ and the square set is the inverse image of the cluster $C'_1$ by $h$. (a) The two clusters before the minimization process and (b) the same clusters after the minimization process.</figcaption></figure>
<figure><img src="image_8.png" /><figcaption>Fig. 7. Evolution of the cost during the minimization process.</figcaption></figure>

present in Fig. 7 the evolution of the cost as a function of the number of iterations. As one can observe, the algorithm converges toward a correct solution.

Indeed, 2900 iterations are sufficient to have a “solution”, and the same method applied to the mathematical parameters does not give a solution after 10,000 iterations. One can note that at each iteration, the most intensive computation is that of the cost function which is about $O(n^2)$, $n$ is the number of extracted points.

## 7. Conclusion

In this article, we were concerned with the matching of satellite images. More precisely, we presented a method for matching two clusters of points, with no further information about these points than their position in the two images. Under the approximation of planarity for the ground scene, the classical approach is to express the homography that links the two images as a function of nine mathematical parameters. We then proposed a cost function to estimate the ability for the homography to match the two clusters. Nevertheless, the topography of the cost function appears to be highly chaotic. Thus, we suggested another expression for the homography, depending on 20 physical parameters. We have shown that the increase in the number of parameters is counterbalanced by a smoother topography of the cost function. Moreover, these parameters are partially known from the data supplied with the satellite images, and enable a simple minimization process to estimate the homography.

One can note that the method we presented can be used in many more applications than the matching of satellite images. Indeed, it might be used as soon as one has to match two clusters of geometrical points in two dimensions,

and the natural extension of these works would be the matching of clusters in which some points are occulted.

## Acknowledgment

This article was written within the framework of a Ph.D. financed by “Le Conseil régional de la Guadeloupe” and “Le Fond Social Européen”.

## References

* Berger, M., 1978. Géométrie. Nathan.

* Chasles, M., 1852. Traité de géométrie supérieure. Bachelier, Paris.

* Couapel, B., 1994. Stéréovision par ordinateur—géométrie et expérimentation. Ph.D. thesis. Rennes.

* Dufournaud, Y., Schmid, C., Horaud, R., 2000. Matching images with different resolutions. IEEE Comput. Vision Pattern Recogn. 1, 612–618.

* Groth, E.J., 1986. A pattern-matching algorithm for two-dimensional coordinate lists. Astronom. J. 91, 1244–1248.

* Harris, C.G., Stephens, M., 1988. A combined corner and edge detector. In: AVC88, 1988, pp. 147–151.

* Hartley, R., 1995. In defence of the 8-point algorithm. In: ICCV5, 1995, pp. 1064–1070.

* Hartley, R.I., 1997. A computer algorithm for reconstructing a scene from two satellite images. Available from: <http://rsise.anu.edu.au/~hartley/My-Papers.html>.

* Kahl, D., Rosenfeld, A., Danker, A., 1980. Some experiments in point pattern matching. IEEE Trans. Systems Man Cybernet. 10 (2), 105–116.

* Lindeberg, T., 1998. Feature detection with automatic scale selection. Internat. J. Comput. Vision 30 (2), 77–116.

* Longuet-Higgins, H., 1981. A computer algorithm for reconstructing a scene from two projections. Nature 293, 133–135.

* Lowe, D., 1999. Object recognition from local scale-invariant features. In: ICCV99, 1999, pp. 1150–1157.

* Pritchett, P., Zisserman, A., 1998. Wide baseline stereo matching. In: ICCV6, 1998, pp. 754–760.

* Ranade, S., Rosenfeld, A., 1980. Point pattern matching by relaxation. Pattern Recogn. 12 (4), 269–275.

* Schmid, C., Mohr, R., 1997. Local grayvalue invariants for image retrieval. IEEE Trans. Pattern Anal. Mach. Intell. 19 (5), 530–535.

* Tuytelaars, T., Gool, L., 1999. Content-based image retrieval based on local affinely invariant regions. In: Visual99, 1999, pp. 493–500.

* Zhang, Z., 1993. Le problème de la mise en correspondance: l'état de l'art. Rapport de Recherche 2146. Institut National de Recherche en Informatique et en Automatique, INRIA.

* Zhang, Z., 1996. Determining the epipolar geometry and its uncertain: a review. Rapport de Recherche 2927. Institut National de Recherche en Informatique et en Automatique, INRIA.

* Zhang, Z., Deriche, R., Faugeras, O., Luong, Q.T., 1994. A robust technique for matching two uncalibrated images through the recovery of the unknown epipolar geometry. Rapport de Recherche 2273. Institut National de Recherche en Informatique et en Automatique, INRIA.