Mean shift
Mean shift è un metodo non parametrico per la ricerca delle mode di una funzione di densità di probabilità.[1] Introdotto nel 1975 da Fukunanga e Hostetler,[2] è equivalente all'applicazione della discesa del gradiente alla stima kernel di densità della distribuzione.[3] L'algoritmo non richiede assunzioni sulla forma dei cluster e ha un singolo parametro, l'ampiezza di banda, la cui determinazione è tuttavia non banale in generale. Mean shift ha applicazioni in analisi dei cluster, elaborazione digitale delle immagini e visione artificiale.[4]
Descrizione
Mean shift è un algoritmo iterativo per determinare il massimo locale di una funzione di densità di probabilità a partire da un dataset di campioni.[1] Data una funzione kernel e una stima iniziale della moda , ad ogni iterazione viene calcolata la media pesata della stima kernel di densità
dove è l'insieme di campioni per i quali . Il vettore è detto mean shift. Il punto viene aggiornato con uno spostamento verso la media, nella direzione indicata dal vettore mean shift
e il procedimento viene iterato fino a convergenza, quando lo shift diventa irrilevante.
La funzione kernel è solitamente una funzione radiale di base. Alcune funzioni comuni sono la palla
la gaussiana
e la funzione kernel di Epanechnikov
dove denota il volume della sfera unitaria in dimensioni.[5]
Nonostante il diffuso utilizzo dell'algoritmo, non è nota una dimostrazione di convergenza nel caso generale.[5] È dimostrata la convergenza nel caso unidimensionale, se la funzione kernel è differenziabile, convessa e strettamente decrescente,[6] e nel caso multidimensionale se la funzione di densità ha un numero finito di punti stazionari isolati.[5][7]
Applicazioni
Mean shift è usato come algoritmo di clustering, assegnando ogni punto del dataset alla moda della distribuzione di densità più vicina lungo la direzione determinata dal gradiente.[2] L'algoritmo ha applicazioni nel tracking, e l'idea di base è quella di costruire per un frame una mappa di confidenza basata sull'istogramma dell'oggetto tracciato nel frame precedente, e applicare mean shift per determinare il massimo della distribuzione di confidenza nella regione prossima alla posizione precedente dell'oggetto.[8][9][10][11] Un numero limitato di iterazioni di mean shift può essere usato come metodo di riduzione del rumore.[2]
Note
- ↑ 1,0 1,1 Template:Cita pubblicazione
- ↑ 2,0 2,1 2,2 Template:Cita pubblicazione
- ↑ Richard Szeliski, Computer Vision, Algorithms and Applications, Springer, 2011
- ↑ Template:Cita pubblicazione
- ↑ 5,0 5,1 5,2 Template:Cita pubblicazione
- ↑ Template:Cita pubblicazione
- ↑ Template:Cita pubblicazione
- ↑ Template:Cita pubblicazione
- ↑ Template:Cita libro
- ↑ Gary Bradski (1998) Computer Vision Face Tracking For Use in a Perceptual User Interface Template:Webarchive, Intel Technology Journal, No. Q2.
- ↑ Template:Cita libro