L'algoritmo di Förstner-Harris (FG87,HS88) è stato esplicitamente progettato per ottenere un'elevata stabilità geometrica dei punti caratteristici. L'idea alla base del metodo è individuare punti per i quali una piccola traslazione dell'intorno produce una variazione significativa dell'errore ai minimi quadrati tra la finestra originale e la sua versione traslata. Questo algoritmo ha avuto così tanto successo perché permette di caratterizzare le variazioni dell'intensità dell'immagine nell'intorno di un punto attraverso il tensore di struttura (matrice di autocorrelazione), costruito a partire dalle derivate prime dell'immagine.
Si definiscano le immagini dei gradienti (queste possono essere generate da un operatore differenziale, Sobel, Prewitt o Roberts) e
rispettivamente gradiente orizzontale e gradiente verticale dell'immagine da analizzare.
Da queste due immagini è possibile calcolare una funzione
6.1 delle immagini dei gradienti in un intorno di
, definita come
Di fatto in Harris si usano due filtri di convoluzione: uno derivativo per calcolare le immagini derivate e uno integrale per calcolare gli elementi della matrice. La dimensione di questi filtri e l'utilizzo di filtro gaussiano per pesare i punti rimanda alla lettura della sezione seguente riguardo la scala di individuazione delle feature.
La matrice è la matrice dei momenti del secondo ordine.
Per individuare punti caratteristici si possono analizzare gli autovalori
e
della matrice
(si legga per una trattazione più approfondita la sezione 2.9.1).
Gli autovalori della matrice di auto-correlazione
permettono di caratterizzare il tipo di immagine contenuta nella finestra intorno al punto dato.
La matrice rappresenta pertanto la distribuzione locale dei gradienti dell'immagine intorno al punto considerato. I suoi autovalori forniscono una misura della variazione dell'intensità lungo due direzioni ortogonali e costituiscono la base teorica degli operatori di Harris, Shi-Tomasi e del tracker Kanade-Lucas-Tomasi.
Se sono presenti due autovalori molto elevati il punto è un corner, se è presente un solo autovalore di valore elevato è un edge, altrimenti è una zona ragionevolmente piatta, ovvero in forma di funzione come
| (6.4) |
Per una matrice gli autovalori si ottengono come soluzioni del polinomio caratteristico quadratico
| (6.5) |
Harris, per evitare di calcolare esplicitamente gli autovalori di , introduce un operatore
definito come
| (6.6) |
|
Per Harris il punto è un punto caratteristico (corner) se
, con
soglia da definire.
Il parametro
regola la sensitività del rilevatore di feature.
Qualitativamente alzare
rimuove i bordi mentre alzare
rimuove le zone piatte (figura 6.1).