Matematica del rilevamento del punto d'angolo di Harris


23

Questa è l'espressione matematica per il rilevamento dell'angolo di Harris:

Questa è l'espressione matematica per il rilevamento dell'angolo di Harris ...

Ma ho i seguenti dubbi:

  1. Qual è il significato fisico di e v ? Molti riferimenti affermano che è la grandezza con cui la finestrauv spostato. Quindi di quanto viene spostata la finestra? Uno o due pixel?w
  2. La somma delle posizioni dei pixel è coperta dalla finestra?
  3. Supponendo semplicemente , I ( x , y ) è l'intensità del singolo pixel in ( x , y ) o la somma delle intensità all'interno della finestra con il centro in ( x , yw(X,y)=1io(X,y)(X,y) ?(X,y)
  4. Secondo wiki dicono che l'immagine è 2D, indicata da I e quindi chiede di considerare una patch di immagine sull'area , quindi usa la notazione I ( x , y(X,y)io(X,y)

Trovo confuso afferrare la spiegazione matematica. Qualcuno ha un'idea?


2
Dai un'occhiata a questa lezione sul rivelatore d'angolo Harris. È molto chiaro: youtube.com/watch?v=P35WsRDnTsU&t=41m12s

Ho scritto un post nel mio blog personale basato sulla lezione di cui sopra. matlabcorner.wordpress.com/2012/11/17/…
Andrey Rubshtein

Risposte:


31

Il significato di quella formula è davvero abbastanza semplice. Immagina di prendere due piccole aree della stessa dimensione di un'immagine, quella blu e quella rossa:

inserisci qui la descrizione dell'immagine

La funzione finestra è uguale a 0 all'esterno del rettangolo rosso (per semplicità, possiamo supporre che la finestra sia semplicemente costante all'interno del rettangolo rosso). Quindi la funzione finestra seleziona i pixel che si desidera guardare e assegna pesi relativi a ciascun pixel. (La più comune è la finestra gaussiana, perché è simmetrica in senso rotazionale, efficiente per calcolare ed enfatizzare i pixel vicino al centro della finestra.) Il rettangolo blu viene spostato di (u, v).

Successivamente si calcola la somma della differenza quadrata tra le parti dell'immagine contrassegnate in rosso e blu, ovvero si sottraggono pixel per pixel, si quadrano le differenze e si somma il risultato (assumendo, per semplicità, che la finestra = 1 nell'area che stiamo osservando a). Questo ti dà un numero per ogni possibile (u, v) -> E (u, v).

Vediamo cosa succede se lo calcoliamo per valori diversi di u / v:

Per prima cosa mantieni v = 0:

inserisci qui la descrizione dell'immagine

Ciò non dovrebbe sorprendere: la differenza tra le parti dell'immagine è minima quando l'offset (u, v) tra loro è 0. Man mano che si aumenta la distanza tra le due patch, aumenta anche la somma delle differenze al quadrato.

Mantenere u = 0:

inserisci qui la descrizione dell'immagine

La trama è simile, ma la somma delle differenze al quadrato tra le due parti dell'immagine è molto più piccola quando si sposta il rettangolo blu nella direzione del bordo.

Un grafico completo di E (u, v) è simile al seguente:

inserisci qui la descrizione dell'immagine

La trama sembra un po 'un "canyon": c'è solo una piccola differenza se si sposta l'immagine nella direzione del canyon. Questo perché questa patch di immagine ha un orientamento dominante (verticale).

Possiamo fare lo stesso per una diversa patch di immagine:

inserisci qui la descrizione dell'immagine

Qui, la trama di E (u, v) sembra diversa:

inserisci qui la descrizione dell'immagine

Non importa in che modo si sposta la patch, sembra sempre diversa.

Quindi la forma della funzione E (u, v) ci dice qualcosa sulla patch dell'immagine

  • se E (u, v) è vicino a 0 ovunque, non c'è trama nella patch dell'immagine che stai guardando
  • se E (u, v) è "a forma di canyon", la patch ha un orientamento dominante (questo potrebbe essere un bordo o una trama)
  • se E (u, v) è "a forma di cono", la patch ha trama, ma nessun orientamento dominante. Questo è il tipo di patch che un rilevatore d'angolo sta cercando.

Molti riferimenti dicono che è la grandezza con cui la finestra 'w' si è spostata ... quindi di quanto è spostata la finestra? Un pixel ... Due pixel?

Normalmente, non si calcola affatto E (u, v). Sei interessato solo alla sua forma in prossimità di (u, v) = (0,0). Quindi vuoi solo l'espansione di Taylor di E (u, v) vicino a (0,0), che ne descrive completamente la "forma".

La somma delle posizioni dei pixel è coperta dalla finestra?

Matematicamente parlando, è più elegante lasciare che la somma si estenda su tutti i pixel. In pratica, non ha senso sommare i pixel in cui la finestra è 0.


Grazie una tonnellata Nikie ....
rotating_image

2
Sapevo che avresti avuto un'ottima risposta qui, @rotating_image
karlphillip,

Thanx karlphillip ..
rotating_image

1
Un milione di voti!
Phonon,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.