Modellizzazione di sequenze Modellizzazione di sequenze videovideo
Materiale di supporto all’insegnamento di
Elaborazione di Immagini 1
Prof. Carlo REGAZZONI
2
IntroduzioneIntroduzione
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.
3
CameraCamera ModelModel• 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.
4
Pinhole ModelPinhole Model
• È il modello di approssimazione più utilizzato per rappresentare la proiezione dell’oggetto sul piano immagine.
• Il modello è rappresentato in fig 1.
5
PinholePinhole ModelModel
Fig. 1
6
Pinhole ModelPinhole 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.
7
Pinhole ModelPinhole 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:
ZYFy
ZY
Fy
ZXFx
ZX
Fx , (1)
8
Pinhole ModelPinhole Model
Fig. 2
9
Pinhole ModelPinhole 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:
YyXx , (2)
10
Pinhole ModelPinhole Model
Fig. 3
11
Pinhole ModelPinhole 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.
12
CAHV ModelCAHV 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.
13
CAHV ModelCAHV Model
Fig. 4
14
CAHV ModelCAHV 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:
CPV
CPH
CPA
F
y
xp
T
T
T0
0(3)
15
CAHV ModelCAHV 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.
16
Camera motionsCamera motions
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.
Fig. 5
17
Camera motionsCamera 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.
18
Illumination Model 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 modello geometricogeometrico.
19
Illumination ModelIllumination 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.
20
Illumination ModelIllumination Model
• 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.
,,,,,,,,,,,,,,, tXNVLEtXNVLrtXNVLC (4)
21
Illumination ModelIllumination Model
• Dove dA è la superficie illuminata lungo la direzione L dalla sorgente dAs.
Fig. 6
22
Illumination ModelIllumination 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.
23
Illumination ModelIllumination 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.
,,,,, tEtXrtXC a (5)
24
Illumination ModelIllumination Model
• 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.
Fig. 5.7
;cos
;,0max,,,,,
NL
NLtEtXrtXCT
Tp
(7)
(6)
25
Illumination ModelIllumination 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à:
NLEENE Tpa ,0max,
,, NErNC
(8)
(9)
26
Illumination ModelIllumination 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.
27
Illumination ModelIllumination 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à:
NEXrhXChtx , (10)
k
kktk NE
NEtxdtx 1
1 ,, (11)
28
Illumination ModelIllumination 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:
txdtx ktk ,,1 (12)
kk NENE 1 (13)
29
Object ModelObject 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 Ψ.
30
Shape ModelShape 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
31
Shape ModelShape 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.
32
Shape ModelShape Model
Fig. 9
33
Motion ModelMotion 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)
34
Motion ModelMotion 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.
zyx RRRR
100
0cossin
0sincos
,
cos0sin
010
sin0cos
,
cossin0
sincos0
001
zz
zz
z
yy
yy
y
xx
xxx RRR
(15)
(16)
35
Motion ModelMotion Model• La matrice di rotazione è la seguente:
• Per piccole rotazioni, può essere linearizzata così:
Ora il movimento da X ad X’ possiamo esprimerlo come:
.
1
1
1
'
xy
xz
yz
RR
(18)
yxyxy
zxzyxzxzyxzy
zxzyxzxzyxzy
R
coscoscossinsin
sinsinsinsincoscoscossinsinsinsincos
sinsincossincossincoscossinsincoscos
(17)
TXRX ' (19)
36
Motion ModelMotion Model
• 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 :
TCCXRX ' (20)
Fig. 10
37
• 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.
Motion ModelMotion Model
38
Scene ModelScene 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.
39
Scene ModelScene 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
40
Scene ModelScene 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
41
Scene ModelScene 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
42
Scene ModelScene 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.
43
Scene ModelScene 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
44
• 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.
Scene ModelScene Model
45
2D Motion Model2D Motion Model
• In fig.15 è mostrata la relazione fra un movimento in 3D e uno in 2D.
Fig. 15
46
2D Motion Model2D 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:;,
T
yx
t
d
t
d
t
dv
(21)
47
2D Motion Model/Camera Traslation2D 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:
0'
'
'
y
x
T
T
z
y
x
z
y
x
ZFT
ZFT
y
x
y
x
y
x
'
'
(22)
(23)
48
2D Motion Model/Camera Traslation2D 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.
ZFT
ZFT
yxd
yxd
y
x
y
x
,
,
(24)
Z
49
2D Motion Model/Camera Pan e Tilt2D 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 è:
XRRX yx '
1
10
01
xy
x
y
yx RR
(26)
(25)
50
2D Motion Model/Camera Pan e Tilt2D 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.
F
F
y
x
y
x
x
y
'
'
F
F
yxd
yxd
x
y
y
x
,
,
(28)
(27)
51
2D Motion Model/Camera Zoom2D 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à:
FFcon
y
x
y
x ';'
'
Fig. 16
y
x
yxd
yxd
y
x
1
1
,
,
(29)
(30)
52
2D Motion 2D Motion Model/CameraModel/Camera Roll 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 è:
y
x
y
x
y
x
z
z
zz
zz
1
1
cossin
sincos
'
'
Fig. 17
x
y
yxd
yxd
z
z
y
x
,
,
(32)
(31)
53
2D Motion Model/Completo2D 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.geometric mapping.
4
3
12
21
cossin
sincos
'
'
c
c
y
x
cc
cc
tFy
tFx
y
x
yx
xy
zz
zz
(33)
54
3D Rigid Motion3D 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.
55
3D Rigid Motion/Caso Generale3D 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:
3
2
1
987
654
321
'
'
'
T
T
T
Z
Y
X
rrr
rrr
rrr
Z
Y
X
(34)
FTZFryrxr
FTZFryrxrFy
FTZFryrxr
FTZFryrxrFx
z
y
z
x
987
654
987
321 ',' (35)
56
3D Rigid Motion/Caso Generale3D Rigid Motion/Caso Generale
• Quando una superficie di un oggetto è spazio variante la mapping functionmapping function varia punto per punto e non è possibile caratterizzarlo con pochi parametri. Infatti basta variare di poco lo zoom per perdere ogni corrispondenza.
57
3D Rigid Motion/Projective Mapping3D 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.
ycxc
ybxbby
ycxc
yaxaax
21
210
21
210
1',
1'
(36)
58
3D Rigid Motion/Projective Mapping3D 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.
59
3D Rigid Motion/Projective Mapping3D Rigid Motion/Projective Mapping
• Il motion field corrispondente al projective mapping è:
yycxc
ybxbbyxdx
ycxc
yaxaayxd yx
21
210
21
210
1,,
1, (37)
60
Approssimazioni del Projective Approssimazioni del Projective MappingMapping
• Il projective mapping è spesso approssimato con dei polinomi per eludere i problemi causati dalla forma razionale.
• I più utilizzati sono:– Affine Motion;– Bilinear Motion.
61
Affine MotionAffine Motion
• L’affine motion ha la seguente forma:
• Questo non riesce a riprodurre sia il chirping che il converging del projective mapping.
ybxbb
yaxaa
yxd
yxd
y
x
210
210
,
,(38)
62
Bilinear MotionBilinear 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.
xybybxbb
xyayaxaa
yxd
yxd
y
x
3210
3210
,
,(39)
63
Polinomio GeneralePolinomio 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.
ji
Nji
Nji ji
ji
y
xyx
b
a
yxd
yxd
2
1,0 ,
,
,
,
(40)
64
Polinomio GeneralePolinomio Generale
• 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).
xybybxbybxbb
xyayaxayaxaayxd
yxd
y
x
52
42
3210
52
42
3210
,
,(41)
2
33210
233210
,
,
yaxybybxbb
xbxyayaxaayxd
yxd
y
x
(42)
65
Polinomio GeneralePolinomio 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.
Top Related