Perché la differenza tra scala gaussiana è invariante?


15

Userò l' algoritmo di trasformazione della funzione invariante della scala come esempio qui. SIFT crea uno spazio di scala basato sul filtro gaussiano ridimensionato di un'immagine, quindi calcola la differenza di gaussiani per rilevare potenziali punti di interesse. Questi punti sono definiti come minimi e massimi locali attraverso la differenza di gaussiani.

Si sostiene che questo approccio sia invariante in scala (tra le altre invarianze sconcertanti). Perchè è questo? Non mi è chiaro perché sia ​​così.


Non so cosa sia SIFT, lo trovi su wiki en.wikipedia.org/wiki/Scale-invariant_feature_transform . "Il metodo di Lowe per la generazione di funzionalità di immagine trasforma un'immagine in una vasta raccolta di vettori di caratteristiche, ognuno dei quali è invariante alla traduzione, al ridimensionamento e alla rotazione delle immagini, parzialmente invariante ai cambiamenti di illuminazione e robusto alla distorsione geometrica locale.". È questa la spiegazione?
niaren,

Sì, è di questo che sto parlando
acqua,

SIFT utilizza la teoria dello spazio-scala. Comunque non capisco cosa si intende per invarianza "su scala" in quella teoria. Puoi provare a leggere gli articoli di Tony Lindeberg a riguardo: csc.kth.se/~tony/earlyvision.html
maximus

Risposte:


7

Il termine "invariante di scala" significa quanto segue qui. Supponiamo che tu abbia l'immagine I e che hai rilevato una funzione (nota anche come punto di interesse) f in una posizione (x, y) e in alcuni livelli di scala s . Ora supponiamo che tu abbia un'immagine I ' , che è una versione ridimensionata di I (downsampled, per esempio). Quindi, se il rilevatore di funzionalità è invariante per la scala, dovresti essere in grado di rilevare la funzione corrispondente f ' in I' nella posizione corrispondente (x ', y') e la scala s corrispondente , dove (x, y, s) e (x ', y', s ') sono correlati dalla trasformazione di ridimensionamento appropriata.

In altre parole, se il rilevatore invariante della scala ha rilevato un punto caratteristica corrispondente al volto di qualcuno e quindi si ingrandisce o si riduce con la fotocamera sulla stessa scena, è comunque necessario rilevare un punto caratteristica su quel volto.

Naturalmente, vorrai anche un "descrittore di funzionalità" che ti consenta di abbinare le due funzionalità, che è esattamente ciò che ti offre SIFT.

Quindi, a rischio di confondervi ulteriormente, ci sono due cose che sono invarianti di scala qui. Uno è il rilevatore di punti di interesse DoG, che è invariante per la scala, perché rileva un particolare tipo di caratteristiche dell'immagine (BLOB) indipendentemente dalla loro scala. In altre parole, il rilevatore DoG rileva macchie di qualsiasi dimensione. L'altra cosa invariante alla scala è il descrittore di caratteristiche, che è un istogramma dell'orientamento del gradiente, che rimane più o meno simile per la stessa caratteristica dell'immagine nonostante un cambiamento di scala.

A proposito, la differenza di gaussiani è usata qui come approssimazione al filtro laplaciano di gaussiani.


Hai preso alcune informazioni dalla teoria dello spazio-scala. Puoi descrivere la spiegazione di ciò che accade esattamente nel confronto di due segnali usando la teoria dello spazio-scala? Il Lindeberg nei suoi articoli: csc.kth.se/~tony/earlyvision.html ha fatto alcuni esempi di rilevamento di BLOB, ecc. In che modo l'assunzione di derivati ​​dal parametro scale aiuta nell'invarianza della scala?
maximus

Hai ragione. Stavo semplicemente cercando di descrivere l'intuizione dietro la teoria dello spazio-scala. Quello che stai chiedendo dovrebbe essere una domanda separata. :) Penso che tu stia parlando che i derivati ​​presi su scale diverse devono essere normalizzati in modo appropriato. Quando si passa a scale più grossolane, il segnale viene attenuato, quindi l'ampiezza viene ridotta. Ciò significa che anche l'entità dei derivati ​​è ridotta. Pertanto, per confrontare la risposta derivata su più scale è necessario moltiplicarli per
Dima,

il potere appropriato di sigma: prima derivata di sigma, seconda di sigma ^ 2, ecc.
Dima

@maximus, oops, ho il fogot il @. :)
Dima,

Grazie per la risposta! Mi ha aiutato, ma ci sono ancora alcune domande che ho posto come una domanda diversa qui: dsp.stackexchange.com/questions/570/…
maximus

5

La differenza di gaussiani non è invariante in scala. Invariante della scala SIFT (a livello limitato) perché cerca il DoG estremo attraverso lo spazio-scala - che sta trovando scala con DoG estremo sia spazialmente che relativamente alle scale vicine. Poiché l'output DoG è ottenuto per questa scala fissa (che non è una funzione della scala di input) il risultato è indipendente dalla scala, cioè invariante.


1
Giusto. Ma cerca solo estremi lungo le scale vicine . Non sono tutte le scale, a meno che non mi sbagli. Anche se era tutto in scala, non è ancora chiaro come sia indipendente dalla scala
acqua

@water, è esattamente vero. Non vuoi un estremo su tutte le scale, vuoi estremi locali. Ciò consente di rilevare strutture nidificate, ad esempio un piccolo cerchio scuro all'interno di un grande cerchio luminoso su sfondo grigio.
Dima,

DoG viene utilizzato al posto di LoG perché è più veloce per calcolare il DoG.
maximus
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.