Modellizzazione di sequenze video Materiale di supporto all’insegnamento di Elaborazione di Immagini 1 Modellizzazione di sequenze video Prof. Carlo REGAZZONI
Introduzione Un obiettivo del video processing è descrivere i cambiamenti tra due immagini consecutive in una sequenza video. Si vogliono descrivere ed identificare: oggetti in movimento; cambiamenti di illuminazione; movimenti della telecamera. Le principali tecniche di modellizzazione che verranno descritte sono: camera model; illumination model; object model; scene model.
Camera Model Il camera model rappresenta l’oggetto osservato come la proiezione sul piano immagine (camera target) della telecamera. Verranno descritti i seguenti modelli: Pinhole Model; CAHV Model; Camera Motion.
Pinhole Model È il modello di approssimazione più utilizzato per rappresentare la proiezione dell’oggetto sul piano immagine. Il modello è rappresentato in fig 1.
Pinhole Model Fig. 1
Pinhole Model F = distanza focale della telecamera; C = centro focale o centro della telecamera; X = punto in 3D; x è la proiezione di X ed è ottenuto come l’intersezione fra la retta che unisce X a C e il piano immagine.
Pinhole Model Per evitare che si verifichi l’inversione della posizione sul piano immagine,come in fig.1, alcuni modelli utilizzano il modello di fig.2, dove si assume che l’origine delle coordinate 3D coincida con il centro focale, ed il piano x-y sia parallelo al piano immagine, questo tipo di rappresentazione è la proiezione prospettica. Sfruttando la proprietà dei triangoli simili, dalla fig.2, si trova che: (1)
Pinhole Model Fig. 2
Pinhole Model Quando l’oggetto è lontano dalla telecamera la proiezione prospettica può essere approssimata con la proiezione ortografica (parallela) illustrata in fig. 3. Le formule che la regolamentano sono: (2)
Pinhole Model Fig. 3
Pinhole Model Il Pinhole Model, che utilizza la proiezione prospettica, è un’approssimazione delle telecamera reale perché non considera: disallineamenti fra gli assi della telecamera ed il centro dell’immagine; l’effetto passa-basso dovuto alle lenti; il tempo di esposizione finito e altre distorsioni.
CAHV Model Il modello CAHV descrive la proiezione prospettica per il pinhole model utilizzando: C: direzione al centro della telecamera; A: versore nella direzione dell’asse ottico; Ho: versore nella direzione dell’asse orizzontale del piano immagine; Vo: versore nella direzione dell’asse verticale del piano immagine. In fig. 4 è rappresentata la geometria sopradescritta.
CAHV Model Fig. 4
CAHV Model L’adattamento avviene proiettando il vettore (P-C) sul asse della telecamera A e su quelli del piano immagine (Ho, Vo). Un punto P è proiettato sull’immagine (p) seguendo la seguente relazione: (3)
CAHV Model Questo modello utilizza dei parametri intrinseci (Ho, Vo , F) che permettono di migliorare il modello di approssimazione della telecamera. Con questi parameri si tiene conto delle distorsioni introdotte dal sistema ottico. I parametri sono stimati utilizzando l’algoritmo di calibrazione della telecamera.
Camera motions Fig. 5 Le traslazioni lungo gl’assi orizzontale (Ho) e verticale (Vo) del piano immagine sono chiamati track e boom. La traslazione lunga l’asse ottico A è detta dolly.
Camera motions Il pan è la rotazione intorno all’asse verticale del piano immagine. Il tilt è la rotazione intorno all’asse orizzontale del piano immagine. Il roll è la rotazione attorno all’asse ottico.
Illumination Model Il modello di illuminazione descrive come la luce incidente sull’oggetto influenzi la distribuzione della luce riflessa. I modelli descritti in questa sezione sono divisi in: Modello spettrale; Modello geometrico. Nelle prossime slide verrà trattato il modello geometrico.
Illumination Model Un oggetto illuminato riflette la luce, questa è riflessa in due modi: Diffuse reflection, cioè viene riflessa in tutte le direzioni in modo uniforme; Specular reflection, cioè è concentrata lungo la direzione di incidenza dei raggi luminosi. La superficie Lambertiana ha solo una riflessione diffusa.
Illumination Model (4) In questa formula si vede come la radiazione riflessa (C) sia legata alla radiazione incidente (E) e al tipo di superficie dell’oggetto (r). Queste quantità sono funzione delle seguenti variabili (vedi fig.5.6): X: posizione della superficie dell’oggetto; N: vettore normale alla superficie dell’oggetto; L: direzione dell’illuminazione; λ: lunghezza d’onda della radiazione incidente; t: tempo; V: è la direzione tra X e la focale della telecamera.
Illumination Model Dove dA è la superficie illuminata lungo la direzione L dalla sorgente dAs. Fig. 6
Illumination Model Nel seguito della trattazione verranno introdotte alcune semplificazioni: Superficie dell’oggetto opaca; Le direzioni dell’illuminazione e del campo di vista siano tempo invarianti; L’intensità di illuminazione sia indipendente dalla posizione dell’oggetto e dalla direzione incidente.
Illumination Model La formula dell’intensità della radiazione riflessa diventa: Ea(t,λ) è l’intensità dell’illuminazione ambientale al tempo t. Questo è un modello di illuminazione locale e non modellizza tutti gli effetti visti fino ad ora. (5)
Illumination Model (6) (7) Fig. 5.7 L’intensità dipende dall’angolo θ fra la normale alla superficie N e la direzione L della sorgente di luce. Nella formula Ep è la massima irradiazione della luce sorgente e si ottiene quando la luce è perpendicolare alla superficie.
Illumination Model Se supponiamo che la sorgente luminosa sia distante dall’oggetto, possiamo supporre che i raggi incidenti siano paralleli. Questa approssimazione è valida per luce diurna e per ambienti indoor. Ora la massima luce incidente non dipende più dal punto della superficie ma è costante su tutta la superficie. Assumendo che la scena sia illuminata da una sorgente a distanza fissata, spazio e tempo invariante, la radiazione incidente sarà: Supponendo che l’oggetto abbia una superficie omogenea la radiazione riflessa sarà: (8) (9)
Illumination Model Ora analizzeremo come il modello può essere applicato per descrivere i cambiamenti di illuminazione sul piano immagine. Dovremo stimare tre parametri: Il rapporto fra l’irradiazione d’ambiente e quella di sorgente; I due angoli formati dalla direzione L con le due sorgenti luminose.
Illumination Model Passando al piano immagine assumeremo che la luminosità Ψ del pixel x al tempo t sia proporzionale alla radiazione riflessa dal punto X in 3D, corrispondente a x: con h costante. La luminosità del punto che si muove da xk a xk+1 in dt sarà: (10) (11)
Illumination Model Se supponiamo di essere nella condizione di intensità costante(constant intensity assumption), valida se le sorgenti di illuminazione e la superficie riflettente sono spazio e tempo invarianti, allora l’intensità luminosa del punto sarà: Ovvero: (12) (13)
Object Model Un oggetto può essere descritto: Dalla forma; Dal movimento; Dalla texture. La texture descrive le proprietà della superficie dell’oggetto, attraverso un parametro dipendente dal colore (e quindi da luminanza e crominanza). Solitamente questo parametro corrisponde al segnale immagine Ψ.
Shape Model Un oggetto può essere rappresentato come l’insieme di tanti cubi di dimensione fissata come mostrato in fig.7. Questa però è una rappresentazione inefficiente in termini di memoria. Fig. 8
Shape Model La forma di un oggetto, solitamente, è descritta attraverso la sua superficie. La superficie può essere descritta da una maglia di triangoli(fig 9 (a)), i cui vertici sono chiamati control points Pc(i) (9 (b)). Per controllare la maglia è necessario conoscere la lista dei control points (9 (c))che definiscono il triangolo, questa è chiamata index faceset. Questo perché alcune volte un triangolo è definito da più 3 punti.
Shape Model Fig. 9
Motion Model Il movimento di un corpo rigido può essere descritto in termini di traslazione T=(Tx, Ty, Tz )T e rotazione mediante una matrice [R]. Il vettore di traslazione descrive lo spostamento che c’è stato dal punto X ad X’: X’=X+T La matrice [R] è ortonormale. (14)
Motion Model Se un oggetto ruota attorno all’origine dello spazio 3D, il suo movimento può essere descritto con la seguente matrice di rotazione [R]: Le tre matrici sono così composte: dove θx ,θy ,θz sono gli angoli di rotazione attorno ad ogni asse. (15) (16)
Motion Model La matrice di rotazione è la seguente: Per piccole rotazioni, può essere linearizzata così: Ora il movimento da X ad X’ possiamo esprimerlo come: (17) (18) (19)
Motion Model Fig. 10 Se l’oggetto è distante dal centro delle coordinate mondo, calcolare la rotazione attorno a questo richiede un vettore di traslazione molto grande. Per ovviare a questo si introduce nella formula 19 le coordinate del centro dell’oggetto C=[Cx ,Cy ,Cz ]T : (20)
Motion Model Non tutti gli oggetti nella realtà sono rigidi. Il movimento di oggetti flessibili viene scomposto in più movimenti rigidi, ognuno dei quali può essere rappresentato con la formula 20.
Scene Model Lo scene model descrive come gli in movimento e la camera siano posizionati tra lora in una scena 3D considerando le sorgenti di luce, gli oggetti e le telecamere. Quindi dipende dai singoli moduli che si utilizzano. Nella fig 11 è mostrata una complessa modelizzazione della scena usando un 3D scene model. Il camera model utilizzato è a proiezione prospettica. Questo modello permette individuare oggetti in movimento ed occlusioni.
Scene Model Come si vede dalla figura le proiezioni degli oggetti 1 e 3 occludono parte dell’oggetto 2. Se l’oggetto è in movimento si distingueranno quattro aree:background statico, oggetto in movimento, background scoperto e nuovo background. Fig. 11
Scene Model Nella fig. 12 è rappresentato il movimento di un oggetto dal frame k al frame k+1. Si può distinguere la regione dove ci sono cambiamenti da quella dove non ce ne sono. Fig. 12
Scene Model In questo caso,come camera model, viene utilizzata la proiezione ortografica. Quindi in questa immagine, lo scene model, non sarà influenzato dalla profondità. Fig. 13
Scene Model Questa modelizzazione della scena non rappresenta gli effetti dovuti al movimento 3D. Questo modello è comunemente chiamato 2.5D scene model. Dato che si utilizza una proiezione ortografica si ha che l’oggetto 3 è occluso dall’oggetto 2.
Scene Model Nella fig. 14 è mostrato il modello utilizzato nell’image processing. Si suppone che gli oggetti siano sullo steso piano e che siano limitati a fare movimenti 2D. Fig. 14
Scene Model La scelta di uno specifico modello per la scena limita la scelta degli altri modelli. Se si sceglie un modello 2D, si rendono inutili le informazioni date dal’object model che descrive la forma in 3D. Di contro se si scegli un modello 3D non si può scegliere un modello 2D per la forma.
2D Motion Model In fig.15 è mostrata la relazione fra un movimento in 3D e uno in 2D. Fig. 15
2D Motion Model All’istante t1 la posizione è x=[x,y]T e all’istante t2=t1+dt la posizione è x’=[x’,y’]T=[x+dx, y+dy]. Il motion vector è d(x)=x’-x=[dx, dy]T e si può definire il motion field come: d(x; t1,t2). w(x; t1,t2)=x+d(x) è il mapping function. Il vettore velocità, flow vector è definito come: (21)
2D Motion Model/Camera Traslation Se la telecamera si muove lungo gli assi x e y di Tx , Ty la posizione in 3D passa X ad X’ in questo modo: Utilizzando la (1) la posizione sull’immagine cambia in questo modo: (22) (23)
2D Motion Model/Camera Traslation Come si vede dalla (23) lo spostamento dipende dalla Z. Una variazione di profondità dell’immagine dell’oggetto non è comparabile alla distanza media fra oggetto e centro della telecamera quindi il motion field può essere approssimato: Dove è il valor medio della distanza fra l’oggetto ed il sensore. (24)
2D Motion Model/Camera Pan e Tilt Pan e tilt sono due rotazioni effettuate rispettivamente attorno agl’assi x e y. Il passaggio da prima (X) a dopo il movimento (X’) si effettua così: Come visto in precedenza, quando l’angolo è piccolo la matrice di rotazione è: (25) (26)
2D Motion Model/Camera Pan e Tilt Se Yθx ‹‹ Z e Yθy ‹‹ Z, allora Z’≈Z. Usando la (1)si ottiene: E il motion field sarà: Quindi, quando gli angoli sono piccoli e l’oggetto è distante dalla telecamera, lo spostamento dell’oggetto relativo al movimento di pan e tilt sarà uniforme. (27) (28)
2D Motion Model/Camera Zoom Il movimento tipico dovuto ad un cambiamento di zoom, da F ad F’, è rappresentato in Fig. 16. Utilizzando sempre la (1) otteniamo: Il motion field in questo caso sarà: (29) Fig. 16 (30)
2D Motion Model/Camera Roll In questo caso avviene una rotazione attorno all’asse Z (vedi fig. 17). Non si ha una traslazione ma una rotazione delle coordinate,quindi: l’approssimazione è valida per angoli piccoli. Il corrispondente motion field è: Fig. 17 (31) (32)
2D Motion Model/Completo Ora consideriamo tutti e 4 i movimenti descritti in precedenza. La relazione tra la posizione prima e dopo i movimenti sarà: Questa forma è detta geometric mapping. (33)
3D Rigid Motion In 3D una telecamera può subire qualsiasi movimento che può essere scomposto in 3 traslazioni e 3 rotazioni. In questa trattazione si supporrà, senza perdere di generalità, che la telecamera stia ferma e che si muova l’oggetto.
3D Rigid Motion/Caso Generale In 3D la posizione prima e dopo il movimento rigido sono così legate: Applicando la (1) alla (34) e dopo alcuni passaggi si ottiene la relazione sul piano immagine: (34) (35)
3D Rigid Motion/Caso Generale Quando una superficie di un oggetto è spazio variante la mapping function varia punto per punto e non è possibile caratterizzarlo con pochi parametri. Infatti basta variare di poco lo zoom per perdere ogni corrispondenza.
3D Rigid Motion/Projective Mapping Quando non si hanno traslazioni lungo Z o l’oggetto ha una superficie piana (i sui punti soddisfano aX+bY+cZ=1 per qualche a,b,c) la (35) può essere così semplificata: Questo metodo è utilizzato per studiare il movimento degli oggetti fra due frame. (36)
3D Rigid Motion/Projective Mapping Questo metodo può caratterizzare due effetti dovuti al perpesctive imaging: Chirping effect: le frequenze spaziali vengono percepite in modo diverso a causa della variazione della distanza fra oggetto e sensore; Converging effect: due linee parallele all’aumentare della distanza fra oggetto e sensore tendono a colassare.
3D Rigid Motion/Projective Mapping Il motion field corrispondente al projective mapping è: (37)
Approssimazioni del Projective Mapping Il projective mapping è spesso approssimato con dei polinomi per eludere i problemi causati dalla forma razionale. I più utilizzati sono: Affine Motion; Bilinear Motion.
Affine Motion L’affine motion ha la seguente forma: Questo non riesce a riprodurre sia il chirping che il converging del projective mapping. (38)
Bilinear Motion Il bilinear motion ha la seguente forma: Questo riesce a riprodurre il converging effect e non il chirping. I parametri sono stimati attraverso i motion vectors dei quattro angoli nel quadrilatero originale. (39)
Polinomio Generale In generale una motion function può essere approssimato attraverso questo polimnomio: Al variare di N1 e N2 si ottengono i casi precedenti e mettendoli entrambi uguali a 2 si ottiene la forma (41) chiamata biquadratic mapping, che riesce a riprodurre il chirping effect ma non il converging. (40)
Polinomio Generale (41) Mann e Picard studiando i polinomi sono arrivati alla conclusione che il polinomio migliore è il pseudo-perspective mapping, che ha la forma mostrata in (42). (42)
Polinomio Generale Questa forma è in grado di riprodurre sia il chirping che il converging effect. Questa è la miglior approssimazione del projective mapping utilizzando un polinomio di ordine basso.