Perché utilizziamo i descrittori di punti chiave?


16

Ho appena studiato SURF e sto andando per la sua implementazione, ma non ho ancora capito perché usiamo i descrittori.

Capisco quali sono i punti chiave e il loro scopo, ma quando estraiamo i punti chiave rispetto al motivo per cui dobbiamo usare i descrittori? Qual è la loro importanza e il ruolo nel riconoscimento?


Ehi, vuoi conoscere in modo specifico SURF, o la tua domanda è più generale, "perché abbiamo bisogno di descrittori per i punti chiave?" (appena ispirato dall'apprendimento di SURF)
penelope,

@penelope La mia domanda è più generale sui descrittori
ARG,

3
Spero che non ti dispiaccia di aver reso la tua domanda più generale prima di rispondere.
penelope,

Risposte:


22

Una cosa importante da capire è che dopo aver estratto i punti chiave, si ottengono solo informazioni sulla loro posizione e talvolta sulla loro area di copertura (solitamente approssimata da un cerchio o un'ellisse) nell'immagine. Sebbene a volte le informazioni sulla posizione dei punti chiave possano essere utili, non dicono molto sui punti chiave stessi.

A seconda dell'algoritmo utilizzato per estrarre il punto chiave (SIFT, angoli di Harris, MSER), conoscerai alcune caratteristiche generali dei punti chiave estratti (ad esempio, sono centrati attorno a macchie, bordi, angoli prominenti ...) ma non saprai quanto diverso o un punto chiave simile è all'altro.

Ecco due semplici esempi in cui solo la posizione e l'area dei punti chiave non ci aiuteranno:

  • Se hai un'immagine A (di un orso su uno sfondo bianco) e un'altra immagine B, copia esatta di A ma tradotta per alcuni pixel: i punti chiave estratti saranno gli stessi (sulla stessa parte di quell'orso). Queste due immagini dovrebbero essere riconosciute come uguali o simili.

    Ma, se l'unica informazione che abbiamo è la loro posizione, e ciò è cambiato a causa della traduzione, non è possibile confrontare le immagini.

  • Se hai un'immagine A (diciamo, di un'anatra questa volta) e un'altra immagine B, esattamente la stessa anatra come in A tranne due volte la dimensione: i punti chiave estratti saranno gli stessi (stesse parti dell'anatra). Quelle sono anche le stesse (simili) immagini.

    Ma tutte le loro dimensioni (aree) saranno diverse: tutti i punti chiave dell'immagine B saranno il doppio di quelli dell'immagine A.

Quindi, ecco i descrittori : sono il modo di confrontare i punti chiave. Riassumono, in formato vettoriale (di lunghezza costante) alcune caratteristiche relative ai punti chiave. Ad esempio, potrebbe essere la loro intensità nella direzione del loro orientamento più pronunciato. Assegna una descrizione numerica all'area dell'immagine a cui fa riferimento il punto chiave.

Alcune cose importanti per i descrittori sono:

  • dovrebbero essere indipendenti dalla posizione dei punti chiave

    Se lo stesso punto chiave viene estratto in posizioni diverse (ad es. A causa della traduzione), il descrittore dovrebbe essere lo stesso.

  • dovrebbero essere robusti contro le trasformazioni di immagine

    Alcuni esempi sono i cambiamenti di contrasto (ad es. Immagine dello stesso posto durante una giornata soleggiata e nuvolosa) e cambiamenti di prospettiva (immagine di un edificio da centro-destra e da centro-sinistra, vorremmo ancora riconoscerlo come uno stesso edificio) .

    Naturalmente, nessun descrittore è completamente robusto contro tutte le trasformazioni (né contro uno qualsiasi se è forte, ad esempio un grande cambiamento di prospettiva).

    Diversi descrittori sono progettati per essere robusti rispetto a diverse trasformazioni che a volte si oppongono alla velocità necessaria per calcolarle.

  • dovrebbero essere indipendenti dalla scala

    I descrittori dovrebbero prendere in considerazione la scala. Se la parte "prominente" di un punto chiave è una linea verticale di 10px (all'interno di un'area circolare con raggio di 8px), e la parte prominente di un'altra linea verticale di 5px (all'interno di un'area circolare con raggio di 4px) - a questi punti chiave devono essere assegnati descrittori simili.

Ora che hai calcolato i descrittori per tutti i punti chiave, hai un modo per confrontare quei punti chiave . Per un semplice esempio di abbinamento di immagini (quando si sa che le immagini sono dello stesso oggetto e si desidera identificare le parti in immagini diverse che rappresentano la stessa parte della scena o si desidera identificare il cambiamento di prospettiva tra due immagini) , confronteresti ogni descrittore di punti chiave di un'immagine con ogni descrittore di punti chiave dell'altra immagine. Dato che i descrittori sono vettori di numeri, puoi confrontarli con qualcosa di semplice come la distanza euclidea . Ci sono alcune distanze più complesse che possono essere utilizzate come misura di somiglianza, ovviamente. Ma alla fine lo direstii punti chiave i cui descrittori hanno la distanza minima tra loro sono corrispondenze , ad esempio gli stessi "luoghi" o "parti di oggetti" in immagini diverse.

Per un uso più complesso di punti chiave / descrittori, dovresti dare un'occhiata a questa domanda - specialmente l'approccio locale di basso livello nella mia risposta e l' approccio "Bag-of-words" nella risposta di @Maurits . Inoltre, i link forniti in queste risposte sono utili.


migliore risposta e bella spiegazione, usando il termine caratteristica è lo stesso dei descrittori? entrambi sono uguali o diversi? e cosa significa il termine orientamento nel surf?
ARG,

1
Il termine "caratteristica" è lo stesso di "punto chiave" - ​​è un punto prominente nell'immagine. Il descrittore è quindi un "descrittore di punti chiave" o un "descrittore di caratteristiche". Sfortunatamente, non so molto su SURF, ecco perché ti ho chiesto se vuoi conoscere i descrittori in generale o in particolare su SURF. So che per SIFT l'orientamento è molto importante.
penelope,

Il termine orientamento non è specifico per SURF, ma anche per SIFT, voglio solo conoscerlo, di cosa si tratta
ARG

Si calcola l '"orientamento principale" del punto chiave, in base al gradiente locale. Quindi, quella direzione diventa "su" per il punto chiave quando si calcola il gradiente per ottenere l'invarianza rotazionale. Per SIFT, hai una bella spiegazione su wikipedia
penelope,

:) la mia domanda è: cos'è l'orientamento? non su setaccio o surf
ARG

2

Pensiamo al descrittore ideale per comprendere l'idea. Un descrittore ideale è una funzione dallo spazio pixel a qualche altro spazio, in modo che gli stessi oggetti abbiano lo stesso risultato , mentre oggetti diversi hanno esiti diversi.

Ad esempio, se si scattavano due immagini con lo stesso oggetto ma con un diverso livello di esposizione, si otterrebbe una versione moltiplicata dell'immagine. Un descrittore che prenderà i pixel e li normalizzerà con il loro livello medio e standard di deviazione avrebbe lo stesso risultato, dicendo che questi due oggetti sono uguali. Questo è positivo, perché ci consente una corrispondenza corretta

inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine

Pertanto, il descrittore è necessario per abbinare correttamente gli stessi oggetti.

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.