Zhengyou Zhang: Softwares FMatrix & Fdiff

## Softwares FMatrix & Fdiff

Description of the software
References of the work
Report which describes the algorithm
Usage of the software
How to get the software compiled for Solaris

### Description

FMatrix

This software has been developed for a review on different techniques on the estimation of the fundamental matrix. The following techniques have been implemented:

• Linear method (8-point algorithm)
• Hartley's linear method with prior data normalization
• Nonlinear least-squares based on distances between points and epipolar lines
• Nonlinear least-squares based on gradient-weighted epipolar errors
• Nonlinear least-squares based on distances between points and reprojections
• M-estimator based on distances between points and epipolar lines
• Least-median-squares based on distances between points and epipolar lines
• and combinations of the above.
It computes the fundamental matrix, its covariance matrix, and projective reconstruction. If there are false matches in the supplied set of matches, one can ask FMatrix to detect them (with option -lmeds). See Usage of FMatrix.
Fdiff
• Input: Two fundamental matrices
• Output: Average distance (in pixels) beween two sets of epipolar lines
This software has been developed in order to measure the difference between two fundamental matrices estimated by different techniques. Based on our experience, the Frobenius norm of the difference between two normalized fundamental matrices is definitly not an appropriate measure of comparison. Fdiff implements an idea of Stépane Laveau, which consists in sampling the whole visible space, and measuring the average distance between two sets of epipolar lines defined by the two fundamental matrices. Clearly, if two fundamental matrices are the same, then the two sets of epipolar lines coincide, and the average distance is equal to zero. See Usage of Fdiff.

### Usages

```Usage: FMatrix -match file1 file2 | -match2 file
[-l | -n | -nl | -g | -m | -rp | -lmeds | -ng | -nnl | -nnlrp]
[-v] [-outFundM F] [-outCovF CovF] [-outRMS dist] [-recons File]
*** Estimation of fundamental matrix between 2 point sets ***
*** A Program of Zhengyou Zhang (zhang@microsoft.com)  ***
-match  :- specifies the two files containing matched points
(each line in each file contains u & v coordinates)
-match2 :- specifies the file containing matched points
(each line contains four numbers: u v u' v')
(one and only one of -match and -match2 must be specified)
-l      :- linear method
-n      :- linear method with data normalization
-nl     :- nonlinear method based on distances between points and epipolar lines
-g      :- nonlinear method based on gradient-weighted epipolar errors
-m      :- same as -nl, but uses M-estimator instead of Least-squares
-rp     :- minimizes distances between points and reprojections
-lmeds  :- least median of squares
-ng     :- combination of -n and -g [Default method]
-nnl    :- combination of -n and -nl
-nnlrp  :- combination of -n, -nl and -rp
-v      :- verbose mode
-outFundM :- specifies the file in which to save the F matrix
-outCovF  :- specifies the file in which to save the covariance matrix
-outRMS   :- specifies the file in which to save the average distance
-recons   :- specifies the file in which to save the projective reconstruction
```

```Usage: Fdiff F1 F2 [nbtries] [xmin ymin xmax ymax]
*** Measures the difference between two fundamental matrices    ***
***   by randomly generating points in the images and computing ***
***   the average distance between points and epipolar lines    ***
*** A Program of Zhengyou Zhang (zhang@microsoft.com)***
The default number of tries is 50000.
If `xmin ymin xmax ymax' is given, then it specifies
the image region. Default to [0 0 511 511]
```

### Softwares

To get a a copy of executable ``FMatrix''
(updated on 11/07/97)