B-spline framework per il tracking robusto
Transcript
B-spline framework per il tracking robusto
Introduzione Metodo proposto Risultati Considerazioni Conclusioni B-spline framework per il tracking robusto Bazzani Loris, Diego Tosato Vision, Image Processing, and Sound Laboratory (VIPS) Dipartimento di Informatica Università degli studi di Verona 11 giugno 2008 Bazzani Loris, Diego Tosato B-spline framework per il tracking robusto VIPS Lab Introduzione Metodo proposto Risultati Considerazioni Conclusioni Sommario 1 Introduzione 2 Metodo proposto 3 Risultati 4 Considerazioni 5 Conclusioni Bazzani Loris, Diego Tosato B-spline framework per il tracking robusto VIPS Lab Introduzione Metodo proposto Risultati Considerazioni Conclusioni Introduzione Nel contesto del riconoscimento di oggetti in movimento all’interno di una scena ripresa da una telecamera si vuole costruire un “tracker” robusto a occlusioni e al rumore. Si vuole costruire un framework stocastico nel quale il sistema di riconoscimento sia in grado di trovare i contorni degli oggetti in primo piano modellati come curve parametriche. Bazzani Loris, Diego Tosato B-spline framework per il tracking robusto VIPS Lab Introduzione Metodo proposto Risultati Considerazioni Conclusioni Introduzione Nel contesto del riconoscimento di oggetti in movimento all’interno di una scena ripresa da una telecamera si vuole costruire un “tracker” robusto a occlusioni e al rumore. Si vuole costruire un framework stocastico nel quale il sistema di riconoscimento sia in grado di trovare i contorni degli oggetti in primo piano modellati come curve parametriche. Bazzani Loris, Diego Tosato B-spline framework per il tracking robusto VIPS Lab Introduzione Metodo proposto Risultati Considerazioni Conclusioni Metodo proposto (1) Active Contours [Andrew Blake and Michael Isard Springer-Verlag, 1998] Visual Motion Analysis by Probabilistic Propagation of Conditional Density [Michael Acheson Isard 1998] Stato dell’arte: Video training Bazzani Loris, Diego Tosato B-spline framework per il tracking robusto Learning dinamica e forme Condensation Algorithm VIPS Lab Introduzione Metodo proposto Risultati Considerazioni Conclusioni Metodo proposto (2) Descrittori di forma parametrici basati sul contorno: basis spline di ordine 3 e grado 2. Una curva b-spline 1D indipendente dal tempo è definita come: x(s) = NX B −1 xn · Bn (s) | x(s) = B(s)T Qx n=0 dove B(s) = (B0 (s), B1 (s), · · · , BNB −1 (s))T è la matrice delle basi e T x(s) = (x0 · · · xNB −1 ) è la matrice dei pesi da combinare linearmente con le basi. Nel nostro caso è necessaria una b-spline 2D tempo-dipendente definita come: x(s, t) = B(s)T · Qx (t), B(s)T · Qy (t) Bazzani Loris, Diego Tosato B-spline framework per il tracking robusto VIPS Lab Introduzione Metodo proposto Risultati Considerazioni Conclusioni Metodo proposto (2) Descrittori di forma parametrici basati sul contorno: basis spline di ordine 3 e grado 2. Una curva b-spline 1D indipendente dal tempo è definita come: x(s) = NX B −1 xn · Bn (s) | x(s) = B(s)T Qx n=0 dove B(s) = (B0 (s), B1 (s), · · · , BNB −1 (s))T è la matrice delle basi e T x(s) = (x0 · · · xNB −1 ) è la matrice dei pesi da combinare linearmente con le basi. Nel nostro caso è necessaria una b-spline 2D tempo-dipendente definita come: x(s, t) = B(s)T · Qx (t), B(s)T · Qy (t) Bazzani Loris, Diego Tosato B-spline framework per il tracking robusto VIPS Lab Introduzione Metodo proposto Risultati Considerazioni Conclusioni Metodo proposto (3) Modello della dinamica: modello auto regressivo (auto-regressive process, ARP) del secondo ordine: Xt = A2 Xt−2 + A1 Xt−1 + D0 + B0 wt dove wt sono vettori indipendenti con distribuzione normale. D0 è una traslazione fissata. A2 , A1 e B0 sono le componenti deterministiche e stocastiche del sistema. Learning della dinamica: si definisce in termini log-likelihood massimizzando la probabilità di una certa sequenza di forme dati I parametri. L(X1 , · · · , XM |A1 , A2 , B0 , D0 ) = log p(X1 , · · · , XM |A1 , A2 , B0 , D0 ) + c M =− 1 X −1 |B0 (Xk − A2 Xk−2 − A1 Xk−1 − D0 )|2 − (M − 2) log det B0 2 k=3 sfruttando il fatto che pB0 wk (·) sono normali multivariate (i.i.d.) è possibile trovare una soluzione in forma chiusa. Bazzani Loris, Diego Tosato B-spline framework per il tracking robusto VIPS Lab Introduzione Metodo proposto Risultati Considerazioni Conclusioni Metodo proposto (3) Modello della dinamica: modello auto regressivo (auto-regressive process, ARP) del secondo ordine: Xt = A2 Xt−2 + A1 Xt−1 + D0 + B0 wt dove wt sono vettori indipendenti con distribuzione normale. D0 è una traslazione fissata. A2 , A1 e B0 sono le componenti deterministiche e stocastiche del sistema. Learning della dinamica: si definisce in termini log-likelihood massimizzando la probabilità di una certa sequenza di forme dati I parametri. L(X1 , · · · , XM |A1 , A2 , B0 , D0 ) = log p(X1 , · · · , XM |A1 , A2 , B0 , D0 ) + c M =− 1 X −1 |B0 (Xk − A2 Xk−2 − A1 Xk−1 − D0 )|2 − (M − 2) log det B0 2 k=3 sfruttando il fatto che pB0 wk (·) sono normali multivariate (i.i.d.) è possibile trovare una soluzione in forma chiusa. Bazzani Loris, Diego Tosato B-spline framework per il tracking robusto VIPS Lab Introduzione Metodo proposto Risultati Considerazioni Conclusioni Metodo proposto (4) Modellazione spazio delle trasformazioni (rigide e non rigide): si utilizza PCA con norma L2 . Definita come: Z 1 L 2 kxk = x(s)2 ds L 0 è il preciso valore “root-mean-square” di X(s) sull’intervallo 0 < s ≤ L. A differenza della norma Euclidea dove il fattore di scala L1 è omesso. Si vuole risolvere il seguente problema di approssimazione: data una sequenza di trasformazioni X1 , · · · , XM su un spazio S con M > NX trovare S 0 = L(W 0 , Q00 ) t.c.: M X min W 0 ,Q00 ,X10 ,··· ,XN0 X B-spline framework per il tracking robusto dove k=1 Q0k = W 0 X0k + Q00 Bazzani Loris, Diego Tosato 2 kQk − Q0k k e Qk = W Xk + Q0 VIPS Lab Introduzione Metodo proposto Risultati Considerazioni Conclusioni Metodo proposto (4) Modellazione spazio delle trasformazioni (rigide e non rigide): si utilizza PCA con norma L2 . Definita come: Z 1 L 2 kxk = x(s)2 ds L 0 è il preciso valore “root-mean-square” di X(s) sull’intervallo 0 < s ≤ L. A differenza della norma Euclidea dove il fattore di scala L1 è omesso. Si vuole risolvere il seguente problema di approssimazione: data una sequenza di trasformazioni X1 , · · · , XM su un spazio S con M > NX trovare S 0 = L(W 0 , Q00 ) t.c.: M X min W 0 ,Q00 ,X10 ,··· ,XN0 X B-spline framework per il tracking robusto dove k=1 Q0k = W 0 X0k + Q00 Bazzani Loris, Diego Tosato 2 kQk − Q0k k e Qk = W Xk + Q0 VIPS Lab Introduzione Metodo proposto Risultati Considerazioni Conclusioni Metodo proposto (5) Il problema di minimizzazione rispetto alla norma L2 nella forma classica delle PCA ponendo kQk = |U 1/2 Q| La soluzione si deriva dall’approccio classico ponendo: Q00 = W X + Q0 W 0 = WW 00 , dove W 0 è la matrice degli NX0 autovettori della matrice di covarianza sullo spazio delle trasformazioni P senza usare Σ dello spazio delle forme. W 0 è costruita a partire da W 00 che descrive la varianza del training-set in norma L2 . Formalmente W 00 si ricava come: W 00 = eig1,··· ,NX0 (PW UW T ) = eig1,··· ,NX0 (PH) Bazzani Loris, Diego Tosato B-spline framework per il tracking robusto VIPS Lab Introduzione Metodo proposto Risultati Considerazioni Conclusioni Metodo proposto (5) Il problema di minimizzazione rispetto alla norma L2 nella forma classica delle PCA ponendo kQk = |U 1/2 Q| La soluzione si deriva dall’approccio classico ponendo: Q00 = W X + Q0 W 0 = WW 00 , dove W 0 è la matrice degli NX0 autovettori della matrice di covarianza sullo spazio delle trasformazioni P senza usare Σ dello spazio delle forme. W 0 è costruita a partire da W 00 che descrive la varianza del training-set in norma L2 . Formalmente W 00 si ricava come: W 00 = eig1,··· ,NX0 (PW UW T ) = eig1,··· ,NX0 (PH) Bazzani Loris, Diego Tosato B-spline framework per il tracking robusto VIPS Lab Introduzione Metodo proposto Risultati Considerazioni Conclusioni Metodo proposto (5) Il problema di minimizzazione rispetto alla norma L2 nella forma classica delle PCA ponendo kQk = |U 1/2 Q| La soluzione si deriva dall’approccio classico ponendo: Q00 = W X + Q0 W 0 = WW 00 , dove W 0 è la matrice degli NX0 autovettori della matrice di covarianza sullo spazio delle trasformazioni P senza usare Σ dello spazio delle forme. W 0 è costruita a partire da W 00 che descrive la varianza del training-set in norma L2 . Formalmente W 00 si ricava come: W 00 = eig1,··· ,NX0 (PW UW T ) = eig1,··· ,NX0 (PH) Bazzani Loris, Diego Tosato B-spline framework per il tracking robusto VIPS Lab Introduzione Metodo proposto Risultati Considerazioni Conclusioni Metodo proposto (6) Condensation: regola di propagazione (Bayes rule) p(Xt |Zt ) = kt p(Zt |Xt )p(Xt |Zt−1 ) Modello della dinamica: probabilità di ottenere Z un certo stato, dati i campioni al tempo t − 1 p(Xt |Zt−1 ) = Xt−1 p(Xt |Xt−1 )p(Xt−1 |Zt−1 ) dXt−1 | {z } dinamica + predizione precedente Modello delle osservazioni: probabilità che stati del sistema generino determinate osservazioni p(Zt |Xt ) = t Y p(Zt |Xt ) i=1 completamente definito da p(Zt |Xt ) per ogni t non determinabile dai dati ⇒ processo gaussiano Bazzani Loris, Diego Tosato B-spline framework per il tracking robusto VIPS Lab Introduzione Metodo proposto Risultati Considerazioni Conclusioni Metodo proposto (6) Condensation: regola di propagazione (Bayes rule) p(Xt |Zt ) = kt p(Zt |Xt )p(Xt |Zt−1 ) Modello della dinamica: probabilità di ottenere Z un certo stato, dati i campioni al tempo t − 1 p(Xt |Zt−1 ) = Xt−1 p(Xt |Xt−1 )p(Xt−1 |Zt−1 ) dXt−1 | {z } dinamica + predizione precedente Modello delle osservazioni: probabilità che stati del sistema generino determinate osservazioni p(Zt |Xt ) = t Y p(Zt |Xt ) i=1 completamente definito da p(Zt |Xt ) per ogni t non determinabile dai dati ⇒ processo gaussiano Bazzani Loris, Diego Tosato B-spline framework per il tracking robusto VIPS Lab Introduzione Metodo proposto Risultati Considerazioni Conclusioni Metodo proposto (6) Condensation: regola di propagazione (Bayes rule) p(Xt |Zt ) = kt p(Zt |Xt )p(Xt |Zt−1 ) Modello della dinamica: probabilità di ottenere Z un certo stato, dati i campioni al tempo t − 1 p(Xt |Zt−1 ) = Xt−1 p(Xt |Xt−1 )p(Xt−1 |Zt−1 ) dXt−1 | {z } dinamica + predizione precedente Modello delle osservazioni: probabilità che stati del sistema generino determinate osservazioni p(Zt |Xt ) = t Y p(Zt |Xt ) i=1 completamente definito da p(Zt |Xt ) per ogni t non determinabile dai dati ⇒ processo gaussiano Bazzani Loris, Diego Tosato B-spline framework per il tracking robusto VIPS Lab Introduzione Metodo proposto Risultati Considerazioni Conclusioni Metodo proposto (7) Processo di generazione: Bazzani Loris, Diego Tosato B-spline framework per il tracking robusto Tecnica iterativa: 1 Campionare N particelle 2 Applicazione della (n) dinamica st 3 Calcolo del peso πt : modello di osservazione 4 Normalizzazione di πt 5 Probabilità cumulativa 6 Stima dei momenti (n) (n) VIPS Lab Introduzione Metodo proposto Risultati Considerazioni Conclusioni Metodo proposto (7) Processo di generazione: Bazzani Loris, Diego Tosato B-spline framework per il tracking robusto Tecnica iterativa: 1 Campionare N particelle 2 Applicazione della (n) dinamica st 3 Calcolo del peso πt : modello di osservazione 4 Normalizzazione di πt 5 Probabilità cumulativa 6 Stima dei momenti (n) (n) VIPS Lab Introduzione Metodo proposto Risultati Considerazioni Conclusioni Metodo proposto (7) Processo di generazione: Bazzani Loris, Diego Tosato B-spline framework per il tracking robusto Tecnica iterativa: 1 Campionare N particelle 2 Applicazione della (n) dinamica st 3 Calcolo del peso πt : modello di osservazione 4 Normalizzazione di πt 5 Probabilità cumulativa 6 Stima dei momenti (n) (n) VIPS Lab Introduzione Metodo proposto Risultati Considerazioni Conclusioni Metodo proposto (7) Processo di generazione: Bazzani Loris, Diego Tosato B-spline framework per il tracking robusto Tecnica iterativa: 1 Campionare N particelle 2 Applicazione della (n) dinamica st 3 Calcolo del peso πt : modello di osservazione 4 Normalizzazione di πt 5 Probabilità cumulativa 6 Stima dei momenti (n) (n) VIPS Lab Introduzione Metodo proposto Risultati Considerazioni Conclusioni Metodo proposto (8) Predizione della forma all’istante successivo tramite due criteri (o momenti): ε[f (Xt )] = N X (n) (n) πt f (st ) media pesata n=1 ! M[f (Xt )] = f (n) arg max πt (n) st massimo dove f (Xt ) = Xt (identità). Bazzani Loris, Diego Tosato B-spline framework per il tracking robusto VIPS Lab Introduzione Metodo proposto Risultati Considerazioni Conclusioni Metodo proposto (9) Modello delle osservazioni: ! M X 1 f (d; µ) p(Zt |Xt ) ∝ exp − 2rM m=1 1 2 dove f = min (d 2 ; µ2 ) Calcolo degli edge dell’immagine (Canny o LOG) (n) Per ogni forma st generata dalla dinamica: 1 2 Trovare M normali alla b-spline Calcolare la distanza d tra b-spline e punto di edge (normalizzata) Parametri del modello: µ: resistenza alla complessità dello sfondo σ: accuratezza del modello delle forme (r = σ 2 M) M: numero di normali sulla curva Bazzani Loris, Diego Tosato B-spline framework per il tracking robusto VIPS Lab Introduzione Metodo proposto Risultati Considerazioni Conclusioni Metodo proposto (9) Modello delle osservazioni: ! M X 1 f (d; µ) p(Zt |Xt ) ∝ exp − 2rM m=1 1 2 dove f = min (d 2 ; µ2 ) Calcolo degli edge dell’immagine (Canny o LOG) (n) Per ogni forma st generata dalla dinamica: 1 2 Trovare M normali alla b-spline Calcolare la distanza d tra b-spline e punto di edge (normalizzata) Parametri del modello: µ: resistenza alla complessità dello sfondo σ: accuratezza del modello delle forme (r = σ 2 M) M: numero di normali sulla curva Bazzani Loris, Diego Tosato B-spline framework per il tracking robusto VIPS Lab Introduzione Metodo proposto Risultati Considerazioni Conclusioni Risultati (1) Training sintetico VS Training classico Selezione manuale dei punti: Bazzani Loris, Diego Tosato B-spline framework per il tracking robusto Skin detection automatica: VIPS Lab Introduzione Metodo proposto Risultati Considerazioni Conclusioni Risultati (2) µ = 0.2, σ = 0.1, N = 500, media, sintetico µ = 0.4, σ = 0.4, N = 1000, media, sintetico µ = 0.3, σ = 0.1, N = 1000, media, sintetico µ = 0.6, σ = 0.1, N = 1000, media, sintetico Bazzani Loris, Diego Tosato B-spline framework per il tracking robusto VIPS Lab Introduzione Metodo proposto Risultati Considerazioni Conclusioni Risultati (3) µ = 0.3, σ = 0.2, N = 1000, media, sintetico µ = 0.9, σ = 0.5, N = 1000, media, sintetico µ = 0.3, σ = 0.2, N = 1000, media, sintetico µ = 0.9, σ = 0.5, N = 1000, media, sintetico Bazzani Loris, Diego Tosato B-spline framework per il tracking robusto VIPS Lab Introduzione Metodo proposto Risultati Considerazioni Conclusioni Considerazioni (1) Media convergenza lenta (qualche frame) tracking più fluido robusto a sfondo complesso difficoltà nel recuperare l’oggetto, se viene perso numero di particelle è determinante Bazzani Loris, Diego Tosato B-spline framework per il tracking robusto Massimo converge velocemente tracking poco smooth (salti discreti) poco robusto a sfondo complesso recupero veloce degli errori di tracking (perdita oggetto) aumento del numero di particelle ininfluente VIPS Lab Introduzione Metodo proposto Risultati Considerazioni Conclusioni Considerazioni (2) Training sintetico Training classico definito da utente (no rumore) automatico (problemi: cambi illuminazione, ombre) modella tanti movimenti, training rappresentativo modellazione dei movimenti limitato al video di training (rappresentativo) solo traslazioni (difficile inserire rotazioni) Dimensione dello spazio delle trasformazioni definisce traslazioni, zoom, rotazioni e distorsioni unidimensionale: solo traslazioni in una dimensione bidimensionale: traslazioni + poche informazioni su zoom 4- e 6-dimensionale: molta variabilità delle trasformazioni (traslazioni, zoom, rotazioni, distorsioni) Bazzani Loris, Diego Tosato B-spline framework per il tracking robusto VIPS Lab Introduzione Metodo proposto Risultati Considerazioni Conclusioni Considerazioni (2) Training sintetico Training classico definito da utente (no rumore) automatico (problemi: cambi illuminazione, ombre) modella tanti movimenti, training rappresentativo modellazione dei movimenti limitato al video di training (rappresentativo) solo traslazioni (difficile inserire rotazioni) Dimensione dello spazio delle trasformazioni definisce traslazioni, zoom, rotazioni e distorsioni unidimensionale: solo traslazioni in una dimensione bidimensionale: traslazioni + poche informazioni su zoom 4- e 6-dimensionale: molta variabilità delle trasformazioni (traslazioni, zoom, rotazioni, distorsioni) Bazzani Loris, Diego Tosato B-spline framework per il tracking robusto VIPS Lab Introduzione Metodo proposto Risultati Considerazioni Conclusioni Considerazioni (3) Numero di Particelle: N <= 100: tracking approssimativo, dovuto allo sfondo che “distrae” il tracker ma molto veloce; N = 500: buon compromesso tra risultato e peso computazionale; N = 1000: tracking robusto e (più) smooth ma computazionalmente inefficiente. Bazzani Loris, Diego Tosato B-spline framework per il tracking robusto VIPS Lab Introduzione Metodo proposto Risultati Considerazioni Conclusioni Considerazioni (4) Nello spazio dei parametri normalizzato [0, 1]: Parametro µ alto: tracking in assenza di sfondo complesso e tracking preciso Parametro σ alto: più variabilità allo spazio delle forme, incrementa rischi di distrazioni dovuti allo sfondo basso: robusto a sfondo molto rumoroso, ma tracking basso: fedele allo spazio delle impreciso forme imparato Sono stati omessi dei valori puntuali perché variano caso per caso. In generale vale una sorta di principio di proporzionalità diretta tra i parametri. I risultati migliori si ottengono ponendoli entrame bassi o alti. Bazzani Loris, Diego Tosato B-spline framework per il tracking robusto VIPS Lab Introduzione Metodo proposto Risultati Considerazioni Conclusioni Conclusioni Tracking efficace anche in condizioni sfavorevoli (sfondo complesso, cambi di illuminazione, ecc.) Semplicità e generalità di Condensation Difficoltà nella scelta dei parametri del modello Limitazione ad un solo oggetto target (altri oggetti sono distrazioni) Possibili lavori futuri: Test dell’algoritmo in altri contesti (es: videosorveglianza) Incremento delle prestazioni: diminuizione della complessita‘ computazionale Estensione al caso multioggetto (BraMBLe) Bazzani Loris, Diego Tosato B-spline framework per il tracking robusto VIPS Lab Introduzione Metodo proposto Risultati Considerazioni Conclusioni Conclusioni Tracking efficace anche in condizioni sfavorevoli (sfondo complesso, cambi di illuminazione, ecc.) Semplicità e generalità di Condensation Difficoltà nella scelta dei parametri del modello Limitazione ad un solo oggetto target (altri oggetti sono distrazioni) Possibili lavori futuri: Test dell’algoritmo in altri contesti (es: videosorveglianza) Incremento delle prestazioni: diminuizione della complessita‘ computazionale Estensione al caso multioggetto (BraMBLe) Bazzani Loris, Diego Tosato B-spline framework per il tracking robusto VIPS Lab