Top Banner

Click here to load reader

Scale Invariant Feature Transform (SIFT) ... Keypoint detector: Scale Invariant Feature Transform (SIFT) David G. Lowe,“Distintive Image Features from Scale-Invariants Keypoints”,

Aug 11, 2020

ReportDownload

Documents

others

  • Keypoint detector:

    Scale Invariant Feature

    Transform (SIFT)

    David G. Lowe,“Distintive Image Features from

    Scale-Invariants Keypoints”, International Journal of Computer Vision, 2004

  • Outline

    • Cosa è SIFT

    • Overview dell’Algoritmo

    • Applicazioni

  • • Per descrivere oggetti in immagini è utile determinare la

    forma di ogni oggetto

    • data l’immagine di un oggetto si possono determinare i

    punti di interesse (KEYPOINTS), ovvero punti con un alto

    contenuto di informazione.

    • la forma di un oggetto può essere rappresentata/

    caratterizzata da un insieme di keypoints.

    • Invarianza a scala.

    • Invarianza a rotazione.

    • Invarianza a traslazione.

    • Invarianza a illuminazione.

    Un keyoint detector deve essere

    stabile: forme uguali in immagini

    diverse devono avere gli stessi

    keypoint. Requisiti sono quindi:

  • • Determina i keypoints in una immagine e le caratteristiche

    locali associate ad essi.

    • I keypoints (e le caratteristiche associate) sono:

    • Invarianti a traslazione rotazione e scala.

    • Invarianti a cambiamenti di illuminazione e punti di vista.

    Scale Invariant Feature Transform (SIFT)

    Regioni in cui vengono calcolate le caratteristiche mediante SIFT

  • VANTAGGI DI SIFT

    • STRUTTURA: le caratteristiche estratte da SIFT associano ai

    keypoints le informazioni relative alla struttura locale di

    intorni dei keypoints stessi. I keypoints da soli non fornirebbero sufficiente informazione riguardo alla forma.

    • LOCALITA’: le caratteristiche sono locali e quindi robuste a

    rumore e occlusioni.

    • ALTAMENTE DISCRIMINANTI: forme diverse hanno

    keypoints e caratteristiche associate molto diverse.

    • QUANTITA’: anche per oggetti piccoli vengono generate

    molte caratteristiche. La forma viene esaustivamente

    descritta.

    • EFFICIENZA: la computazione delle caratteristiche è veloce.

  • Overview dell’algoritmo

    • Costruire una rappresentazione in spazio-frequenza

    • Tramite la funzione DoG (Difference of Gaussian).

    • Localizzazione dei massimi e minimi (keypoints) nella

    rappresentazione in spazio-frequenza.

    • Eliminazione dei punti non stabili o non significativi.

    • Determinazione dell’orientazione dei keypoints

    • Una o più orientazioni per ogni keypoints.

    Descrizione del keypoint e del suo intorno

    • Si utilizzano gradienti locali dell’immagine.

  • Costruzione dello spazio multi scala

    • La rappresentazione multi-scala di una immagine I(x,y) è definita

    tramite la funzione

    • Si ottiene applicando all’immagine I(x,y) il kernel di convoluzione

    gaussiano a diverse scale

    ),(),,(),,( yxIyxGyxL  

    222 2/)(

    22

    1 ),,( 

      yxeyxG 

    Definizione di rappresentazione “multi scala” data da

    Koenderink e Lindeberg (1984 e 1994)

  • Diversi livelli della rappresentazione multi-scala di una immagine

    per diversi valori di scala  = 0,2,8,32,64,128; a fianco sono

    indicati i minimi locali

  • • L’individuazione di strutture in una rappresentazione multi

    scala avviene tramite la convoluzione con gaussiane seguita

    da filtri derivativi specifici adatti alla struttura da localizzare (ad es.: laplaciani per localizzare gli angoli e le regioni circolari)

    • In SIFT i keypoints sono localizzati cercando gli estremi nella

    funzione D ottenuta come Differenza di Gaussiane (DoG).

    ),()),,(),,((),,( yxIyxGkyxGyxD   ),,(),,(  yxLkyxL 

    SCELTA PERCHE’:

    • Approssima bene 22G, il laplaciano della gaussiana

    normalizzata con la scala 2 proposto da Koenderink, Lindeberg

    • La normalizzazione del laplaciano con fattore 2 è richiesta per avere

    invarianza rispetto alla scala (Lindeberg, 1994).

    • I massimi e minimi di 22G producono le caratteristiche più efficienti

    e stabili se comparati ad altre funzioni quali gradiente, hessiana, Harris

    corner function (Mikolajczyk, 2002).

  • • Approssimando ∂G/∂σ con le differenze finite si ha che:

    • Quando D si ottiene con scale che differiscono di un fattore

    COSTANTE k, incorpora direttamente la normalizzazione di

    scala con fattore σ2 che garantisce l’invarianza di scala.

    GkyxGkyxG 22)1(),,(),,(  

    

    

     

     

    k

    yxGkyxGG ),,(),,( G

    k

    yxGkyxG 2),,(),,(  

     

    

    

    Approssimazione con DoG del Laplaciano

    della gaussiana normalizzata con la scala

  • k4σ

    k3σ

    k2σ

    σ

    Sotto campionamento + filtro G(x,y, 2σ)

    Rappresentazione spazio-frequenza

    Per passare alla ottava successiva si sottocampiona

    l’immagine filtrata con gaussiana a scala 2σ

  • Immagini nella

    rappresentazione spazio-

    frequenza

    first octave

    second octave

    third octave

    fourth octave

    V A

    R IA

    Z IO

    N E

    D I S

    C A

    L A

    (f re

    q u

    e n

    z a

    )

    VARIAZIONE DI

    SPAZIO (sotto

    campionamento)

    Differenza di Gaussiane

  • UTILIZZO DI FILTRI GAUSSIANI

    DIFFERENZA DI FILTRI GAUSSIANI

    Mette in

    evidenza le

    alte

    frequenze,

    i dettagli

    dell’immagine

    Mette in

    evidenza le

    basse

    frequenze,

    sfoca

    l’immagine

  • Localizzazione degli estremi o keypoint

    • Ogni pixel dell’immagine (indicato con X) viene selezionato

    solo se è un minimo o un massimo rispetto a un intorno 3x3

    nella stessa immagine e nelle scale precedente e successiva.

    DoG scale space Massimi e Minimi

  • Scelta del valore iniziale di σ

    • Aumentando σ aumenta la robustezza, ma aumenta il

    costo computazionale.

    • σ = 1.6 è un buon tradeoff.

    • Le dimensioni dell’immagine originale sono raddoppiate

    mediante interpolazione lineare per ottenere la base della

    piramide

    • Esperimenti sulla stabilità dei keypoint (al variare di scala,

    orientazione);

    • Esperimenti sul numero numero di keypoint per immagine;

  • Localizzazione accurata dei keypoints mediante

    fitting di una funzione quadratica

  • Localizzazione accurata dei keypoint

    • Fitting di una funzione quadratica nell’intorno locale dei

    keypoint 3D X=(x,y,) per ottenere la loro precisa

    localizzazione.

    • Si usa l’espansione di Taylor (traslata in modo che il keypoint

    sia nell’origine, X è lo spostamento da valutare).

    • Per trovare gli estremi pongo a 0 la derivata rispetto a X

    ottenendo:

    Ciò si ottiene risolvendo un sistema 3x3

    

    

     

     DD 2

    12

    ˆ

     

     

    

     

    2

    2

    2

    1 )(

    DD DD T

    T

  • • Per risolvere approssimo le derivate con le differenze finite

    • La soluzione è lo scostamento dal keypoints (origine della

    espansione): se una delle sue dimensioni è > 0.5, il keypoint trovato

    non è un estremo => si sposta il keypoint e si ripete il processo.

         

         

     

    

      

      

          

          

    x

    D

    y

    D

    D

    x

    y

    x

    D

    yx

    D

    x

    D

    yx

    D

    y

    D

    y

    D

    x

    D

    y

    DD

    

    

    2

    222

    2

    2

    22

    22

    2

    2

    4

    )()(

    1

    2

    2

    ,1

    1

    ,1

    1

    ,1

    1

    ,1

    1

    2

    ,

    1

    ,,

    1

    2

    2

    ,

    1

    ,

    1

    ji

    k

    ji

    k

    ji

    k

    ji

    k

    ji

    k

    ji

    k

    ji

    k

    ji

    k

    ji

    k

    DDDD

    y

    D

    DDDD

    DDD

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.