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