Computation of Match Metric in matchFeatures

5 visualizaciones (últimos 30 días)
Jonathan Bittner
Jonathan Bittner el 17 de Mzo. de 2020
Comentada: Jonathan Bittner el 8 de Oct. de 2020
I'm using the matchFeatures function to match two sets of SURF features. Running with the default arguments, I know that sum-of-squares distances (SSD) are computed and both a threshold test and ratio test are used. I'm a little curious at how the threshold test works. Ratio tests and nearest neighbor matching are well documented.
From generating C code output, I know with the default threshold parameter of 1%, match metrics greater than 0.4 are rejected. This is because (per the documentation) ideal matches have a metric of 0 and the worst matches have a metric of 4. Everything else is buried in library code.
If I were trying to replicate this threshold test in Python (or even C++ without Coder) and OpenCV, what kind of math would I be doing to compute the metrics? Why is the max distance 4? Is there some sort of normalization or statistical technique being used?

Respuesta aceptada

Prabhan Purwar
Prabhan Purwar el 27 de Mzo. de 2020
Hi,
  • Each feature vector is normalized before computing similarity score between feature vectors. This brings each value of feature vector to range [-1,1].
Normalization =(fVec-mean(fVec))/norm(fVec);
  • SSD is computed using formula
(|| fVec1 - fVec2 ||L2 ) / || fVec2||);
and match score computed between normalized feature vectors rather than exact feature vectors.
  • Ideal matches have a metric of 0 and the worst matches have a metric of 4 as maximum value of the above equation is 4 when fVec1 = -fVec2 and min is 0 when fVec1 = fVec2.
Hope it helps!!
  1 comentario
Jonathan Bittner
Jonathan Bittner el 8 de Oct. de 2020
I'm just seeing this now as I went in to look for an archived answer to one of my other questions. Thank you! I believe this answered my question.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Feature Detection and Extraction en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2019a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by