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.
2
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.
3
Pinhole Model
• È il modello di approssimazione più utilizzato
per rappresentare la proiezione dell’oggetto sul
piano immagine.
• Il modello è rappresentato in fig 1.
4
Pinhole Model
Fig. 1
5
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.
6
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:
x  X  x  F X , y  Y  y  F Y
F Z
Z F Z
Z
(1)
7
Pinhole Model
Fig. 2
8
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:
x  X , y Y
(2)
9
Pinhole Model
Fig. 3
10
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.
11
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.
12
CAHV Model
Fig. 4
13
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:
T


H
 x
F
0  P  C 

p     T
  T

y


A

P

C


V

P

C
 
 0

(3)
14
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.
15
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.
16
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.
17
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.
18
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.
19
Illumination Model
CL,V , N , X , t,    r L,V , N , X , t,   EL,V , N , X , t ,   (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.
20
Illumination Model
• Dove dA è la
superficie
illuminata
lungo la
direzione L
dalla sorgente
dAs.
Fig. 6
21
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.
22
Illumination Model
• La formula dell’intensità della radiazione riflessa
diventa:
C  X , t ,    r  X , t ,   Ea t ,  
(5)
• 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.
23
Illumination Model


C  X , t ,    r  X , t ,    E p t ,    max 0, LT  N ; (6)
LT  N  cos ;
(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.
24
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à:

EN ,    Ea    E p   max 0, LT  N

(8)
• Supponendo che l’oggetto abbia una superficie omogenea la radiazione riflessa
sarà:
(9)
CN ,    r   EN ,  
25
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.
26
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:
 x, t   h  C X   h  r  X  EN 
(10)
con h costante.
• La luminosità del punto che si muove da xk a xk+1 in dt sarà:
E  N k 1 
 xk 1 , t  d t     xk , t  
E  N k  (11)
27
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à:
 xk 1 , t  dt    xk , t 
• Ovvero:
E N k 1   E N k 
(12)
(13)
28
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 Ψ.
29
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
30
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.
31
Shape Model
Fig. 9
32
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
(14)
• La matrice [R] è ortonormale.
33
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]:
R  Rx  Ry  Rz  (15)
• Le tre matrici sono così composte:
 
0
1
Rx   0 cos  x
0 sin  x
 cos  y
0 

 sin  x  , R y   0
 sin  y
cos  x 

 
0 sin  y 
cos  z

1
0  , Rz    sin  z
 0
0 cos  y 
 sin  z
cos  z
0
0
0
1
(16)
• dove θx ,θy ,θz sono gli angoli di rotazione attorno ad ogni asse.
34
Motion Model
• La matrice di rotazione è la seguente:
cos  y  cos  z
R   cos  y  sin  z
  sin  y

sin  x  sin  y  cos  z  cos  x  sin  z
sin  x  sin  y  sin  z  cos  x  cos  z
sin  x  cos  y
cos  x  sin  y  cos  z  sin  x  sin  z 

cos  x  sin  y  sin  z  sin  x  sin  z 

cos  x  cos  y

(17)
• Per piccole rotazioni, può essere linearizzata così:
 1
R   R'    z
  y

z  y 

1 x  .
x
1 
(18)
Ora il movimento da X ad X’ possiamo esprimerlo come:
X '  R X  T
(19)
35
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 :
X '  R X  C   C  T
(20)
36
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.
37
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.
38
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
39
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
40
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
41
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.
42
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
43
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.
44
2D Motion Model
• In fig.15 è
mostrata la
relazione fra un
movimento in 3D
e uno in 2D.
Fig. 15
45
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:
d  d x d y 
v

,
 ;
t  t t 
T
(21)
46
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:
 x'  x  Tx 
 y '   y   T 
     y
 z '   z   0 
(22)
• Utilizzando la (1) la posizione sull’immagine cambia
in questo modo:
 x'  x   FTx Z 
 y '   y    FT Z 
     y 
(23)
47
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:
 d x  x, y   FTx Z 

d  x, y   
 y
  FTy Z 
(24)
• Dove è il valor medio della distanza fra l’oggetto ed il
sensore.Z
48
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ì:
 
X '  Rx  Ry  X
(25)
• Come visto in precedenza, quando l’angolo è piccolo la matrice
di rotazione è:
 1
0 y 


Rx  Ry    0 1   x 
(26)
  y  x
1 

49
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à:
 x'  x    y F 
 y '   y     F 
     x 
(27)
 d x x, y    y F 
d x, y   



F
 y
  x 
(28)
• 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.
50
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:
 x'  x 
F'
 y '   y  ; con   F
   
(29)
Fig. 16
• Il motion field in questo caso sarà:
 d x x, y  1   x 
d x, y   



1


y
y


 
(30)
51
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:
 x' cos  z
 y'   sin 
  
z
 sin  z   x   1
   

cos  z   y   z
l’approssimazione è valida per angoli piccoli.
• Il corrispondente motion field è:
 d x x, y    z y 
d x, y   


x
y
z




z   x
 

1   y(31)

Fig. 17
(32)
52
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à:
cos  z  sin  z   x   y F  t x 
 x'



 y '     sin 
y


F

t
cos

x
y
 
z
z  

 c1  c 2  x   c3

    

c 2 c1   y  c 4
(33)
• Questa forma è detta geometric mapping.
53
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.
54
3D Rigid Motion/Caso Generale
• In 3D la posizione prima e dopo il movimento rigido sono così
legate:
 X '  r r r   X  T 
1
 Y '   r
  4
 Z '  r7
2
r5
r8
3
1
r6    Y   T2 
r9   Z  T3 
(34)
• Applicando la (1) alla (34) e dopo alcuni passaggi si ottiene la
relazione sul piano immagine:
r x  r2 y  r3 F  Z  Tx F ,
x'  F 1
r7 x  r8 y  r9 F  Z  Tz F
r4 x  r5 y  r6 F  Z  Ty F
y'  F
r7 x  r8 y  r9 F  Z  Tz F
(35)
55
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.
56
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:
a0  a1 x  a2 y
b0  b1 x  b2 y
x' 
, y' 
(36)
1  c1 x  c2 y
1  c1 x  c2 y
• Questo metodo è utilizzato per studiare il movimento
degli oggetti fra due frame.
57
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.
58
3D Rigid Motion/Projective Mapping
• Il motion field corrispondente al projective mapping è:
a0  a1 x  a2 y
b0  b1 x  b2 y
d x  x, y  
 x, d y  x, y  
 y (37)
1  c1 x  c2 y
1  c1 x  c2 y
59
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.
60
Affine Motion
• L’affine motion ha la seguente forma:
 d x x, y  a0  a1 x  a2 y 
d x, y   

b

b
x

b
y
2 
 y
  0 1
(38)
• Questo non riesce a riprodurre sia il chirping che il
converging del projective mapping.
61
Bilinear Motion
• Il bilinear motion ha la seguente forma:
 d x x, y  a0  a1 x  a2 y  a3 xy
d x, y   

(39)
b

b
x

b
y

b
xy
y
0
1
2
3




• 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.
62
Polinomio Generale
• In generale una motion function può essere approssimato
attraverso questo polimnomio:
 d x x, y 
ai , j  i j
d x, y    b   x y
 y
 0i , j  N1  i , j 
(40)
i j N2
• 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.
63
Polinomio Generale
d x x, y  a0  a1 x  a2 y  a3 x 2  a4 y 2  a5 xy

d x, y   
2
2
 y
  b0  b1 x  b2 y  b3 x  b4 y  b5 xy 
(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).
d x x, y  a0  a1 x  a2 y  a3 xy  b3 x 2 
d x, y   
2
 y
  b0  b1 x  b2 y  b3 xy  a3 y 
(42)
64
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.
65
Scarica

EI1-B2-Modelli per le sequenze video[Regazzoni]