Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Capitolul 4 – Estimarea mişcării bidimensional 56
CAPITOLUL 4
ESTIMAREA MIŞCǍRII BIDIMENSIONALE
Estimarea mişcării, care se poate referi la estimarea mişcării planului imaginii
(mişcare 2-D) sau a mişcării obiectelor (mişcare 3-D), este una dintre problemele
fundamentale în domeniul procesării video digitale. Acest capitol are două scopuri:
prezintă elementele de bază în problema estimării mişcării 2-D şi discută algoritmi
specifici de estimare a mişcării 2-D. În subcapitolul 4.1 discutăm deosebirile dintre
mişcarea 2-D şi mişcarea aparentă. Problemele ce apar în estimarea mişcării 2-D şi o
privire de ansamblu asupra modelelor de mişcare apriori sunt date în subcapitolul 4.2.
4.1 MIŞCARE 2-D ŞI MIŞCARE APARENTĂ
Deoarece imaginile variabile în timp sunt proiecţii 2-D ale scenei 3-D, cum a
fost descris în capitolul 2, mişcarea bidimensională se referă la proiecţia mişcării 3-D
în planul imaginii. Dorim să estimăm câmpul de mişcare 2-D (viteză sau deplasare
instantanee) al imaginilor variabile în timp, eşantionate pe o latice 3Λ . Oricum câmpul
de viteza sau deplasare 2-D nu este întotdeauna observabil din mai multe motive, care
sunt menţionate mai jos. În schimb, ceea ce noi observăm este câmpul de mişcare
aparentă (flux optic sau câmp de corespondenţă). Ne propunem aici sa clarificăm
diferenţa dintre viteza 2-D şi fluxul optic, respectiv diferenţa dintre deplasarea 2-D şi
câmpurile de corespondenţă.
Capitolul 4 – Estimarea mişcării bidimensional 57
4.1.1 Mişcare 2-D
Mişcarea 2-D, numită şi „mişcare proiectată”, se referă la proiecţia în
perspectivă sau ortografică a mişcării 3-D în planul imaginii. Mişcarea tridimensională
poate fi caracterizată fie prin viteza 3-D instantanee, fie prin deplasarea 3-D a
punctelor obiectelor în mişcare. Expresiile pentru proiecţiile vectorilor de mişcare sau
viteză 3-D în planul imaginii, sub presupunerea de mişcare rigidă, sunt deduse în
capitolele următoare.
Conceptul de vector de mişcare 2-D este ilustrat în Figura 4.1. Presupunem că
punctul P la momentul t se mişcă în P′ la momentul t ′ . Proiecţia în perspectivă a
punctelor P şi P′ pe planul imaginii sunt punctele p şi p′ . În Figura 4.2 este
reprezentată mişcarea în planul 2-D a punctului imagine p la momentul t în punctul p′
la momentul t ′ ca o proiecţie în perspectivă a mişcării 3-D a punctelor corespondente.
De remarcat, că, datorită operaţiei de proiecţie, pentru toţi vectorii de mişcare 3-D, a
căror vârfuri se află pe linia întreruptă, se obţine acelaşi vector de mişcare 2-D.
Deplasarea punctului proiectat între momentele de timp t şi tltt ∆+=′ , unde l
este un număr întreg şi t∆ este intervalul temporal de eşantionare, poate fi definită
pentru toate 3),( Rx ∈t , rezultând funcţia de mişcare 2-D cu valori reale );,( tltc ∆xd ,
dependentă de variabilele spaţio-temporale continue. Câmpul de vectori de mişcare 2-
D este o reprezentare eşantionată a acestei funcţii, dată de
3),(),;,();,( Λ∈∆=∆ ttlttlt cp xxdxd (4.1)
sau echivalent
[ ] [ ] ,),(,);,();,( 3
2121Znxdnd
V∈∆=
=ktltlk TT knntxxp (4.2)
unde V este matricea de eşantionare a laticii 3Λ . Astfel, un câmp de mişcare 2-D este o
colecţie de vectori de mişcare 2-D, );,( tlt ∆xd , unde 3),( Λ∈tx .
Capitolul 4 – Estimarea mişcării bidimensional 58
Figura 4.1 Mişcare tridimensională şi mişcare bidimensională
Funcţia viteză ),( tc xv la momentul t şi câmpul de vectori de viteză 2-D
),(),( kvtp nxv = , pentru [ ] [ ] 332121 Λ∈= TT nnntxx V şi 3),( Zn ∈k , pot fi definiţi
similar în funcţie de viteza 3-D instantanee ( )321 XXX , unde punctul reprezintă o
derivare în timp.
Figura 4.2 Mişcare proiectată
tP ′
tPtp ′
tpO
Centrulproiecţiei
Planulimaginii
2X
1X
2x
1x
3X
P′
P
p′
p
O
Centrulproiecţiei
Planulimaginii
Capitolul 4 – Estimarea mişcării bidimensional 59
4.1.2 Corespondenţă şi flux optic
Deplasarea coordonatelor x ale planului imaginii între momentele t şi t ′ ,
datorată variaţiilor lui ),( tsc x , se numeşte vector de corespondenţă. Un vector de flux
optic este definit ca rata temporală de schimbări a coordonatelor planului imaginii,
)/,/(),( 2121 dtdxdtdxvv = , într-un anumit punct 3),( Rx ∈t determinat de variaţiile
spaţio-temporale ale intensităţii ),( tsc x . Aceasta înseamnă că vectorul de flux optic
corespunde vectorului viteză instantanee a pixelului. (Teoretic vectorii de flux optic şi
vectorii de corespondenţă sunt identici la limită, când ttt −′=∆ tinde la zero, în cazul
în care avem acces la semnalul video continuu.) În practică definim câmpul de
corespondenţă (flux optic) ca un câmp de vectori de mişcare a pixelilor (vectori viteză)
datorat variaţiilor observabile ale intensităţii imaginii 2-D pe o latice spaţio-temporală3Λ . Câmpul de corespondenţă şi câmpul de flux optic se mai numesc şi „câmp aparent
de deplasare 2-D”, respectiv „câmp aparent de viteză 2-D”.
Câmpul de corespondenţă (respectiv flux optic) sunt, în general, diferite de
câmpul de mişcare (respectiv viteză) 2–D datorită:
• Lipsei unui gradient suficient al imaginii spaţiale: Trebuie să fie suficient de
multe variaţii ale nivelului de gri (variaţii ale culorii) în interiorul regiunii în
mişcare pentru ca mişcarea propriu-zisă să fie observabilă. Un exemplu de
mişcare neobservabilă este Figura 4.3, unde un cerc cu distribuţie constantă de
intensitate se învârte în jurul centrului său. Această mişcare nu generează flux
optic, şi astfel este neobservabilă.
Figura 4.3 Mişcarea nu generează flux optic
α (rad/s)
Capitolul 4 – Estimarea mişcării bidimensional 60
• Schimbărilor în iluminarea exterioară: Un flux optic observabil nu trebuie
neapărat să corespundă unei mişcări propriu-zise. De exemplu, dacă
iluminarea exterioară variază de la cadru la cadru ca în Figura 4.4, atunci va fi
observat un flux optic chiar dacă nu a existat mişcare. De aceea schimbările în
iluminarea exterioară aduce dificultăţi în estimarea câmpului de mişcare 2-D
propriu-zis. În unele cazuri, umbrirea poate să varieze de la cadru la cadru
chiar dacă nu există schimbări în iluminarea exterioară. De exemplu, dacă un
obiect se roteşte, atunci normala la suprafaţă se modifică, ceea ce are ca
rezultat o schimbare în umbrire. Această schimbare de umbrire poate cauza o
variaţie a intensităţii pixelilor de-a lungul unei traiectorii de mişcare, fapt ce
trebuie avut în vedere la estimarea mişcării 2-D.
Figura 4.4 Nu oricărei variaţii de flux optic îi corespunde o mişcare proiectată
4.2 ESTIMAREA MIŞCĂRII 2-D
Problema estimării mişcării 2-D poate fi pusă în două moduri:
i) estimarea vectorilor de corespondenţă ai planului imaginii
( ) ( ) ( )[ ]Ttltdtltdtlt ∆∆=∆ ;,;,;, 21 xxxd între momentele de timp t şi tlt ∆+ , pentru oricare
3),( Λ∈tx sau
Cadrul k Cadrul k+1
Capitolul 4 – Estimarea mişcării bidimensional 61
ii) estimarea vectorilor de flux optic ( ) ( ) ( )[ ]Ttvtvt ,,, 21 xxxv = pentru oricare
3),( Λ∈tx . Indicele „p” a fost eliminat pentru simplificarea notaţiilor. Vectorii de
corespondenţă, respectiv de flux optic variază de obicei de la pixel la pixel (mişcare
variabilă în spaţiu), de exemplu datorită rotaţiei obiectelor în scenă, şi în timp , de
exemplu datorită acceleraţiei obiectelor.
Problema corespondenţei: Aceasta poate fi privită ca o problemă de estimare
retrogradă sau antegradă a mişcării, dacă vectorul de mişcare este definit de la
momentul t la momentul tlt ∆+ sau de la t la tlt ∆− (vezi Figura 4.5).
Estimarea retrogradă: se caută vectorul de corespondenţă ( ) ( ) ( )[ ]Tdd xxxd 21=
cunoscând eşantioanele spaţio-temporale ),( ts p x la momentele t şi tlt ∆+ , între care
există relaţia
)),;,(),;,((),,( 221121 tlttltdxtltdxstxxs cc ∆+∆+∆+= xx (4.3)
sau echivalent
))(),((),( 221121 xx dxdxsxxs lkk ++= + (4.4)
unde tkt ∆= .
Figura 4.5 Estimarea corespondenţei retrograde şi antegrade
),( 21 xx ′′=′P
),( 21 xx=P
),( 21 xx ′′=′P
1d
1d
2d
2d
momentul tlt ∆−
momentul t
momentul tlt ∆+
Capitolul 4 – Estimarea mişcării bidimensional 62
Estimarea antegradă: Dacă definim vectorii de corespondenţă de la momentul t
la tlt ∆− , atunci modelul de mişcare 2-D devine
))(),((),( 221121 xx dxdxsxxs lkk ++= − (4.5)
unde tkt ∆= .
Vectorul de mişcare poate fi definit alternativ şi de la momentul tlt ∆− la
momentul t. Atunci avem:
))(),((),( 221121 xx dxdxsxxs lkk −−= − (4.6)
Cu toate că discutăm aici ambele tipuri de estimare a mişcării, estimarea
antegradă este mai bună pentru compensarea mişcării, care se face în compresia
predictivă a secvenţelor video. De observat că, deoarece )(xdx ± de obicei nu
corespunde unei poziţii dintr-o latice, termenii din dreapta ai ecuaţiilor fac parte din
semnalul video continuu ),,( 21 txxsc , care nu este disponibil. De aceea cele mai multe
metode de estimare prin corespondenţă conţin scheme de interpolare.
Înregistrarea imaginii: Problema înregistrării este un caz particular al problemei
corespondenţe, când cele două cadre sunt deplasate în totalitate unul faţă de celălalt, de
exemplu expuneri multiple a unei scene statice cu o cameră în mişcare de translaţie.
Estimarea fluxului optic: Fiind date eşantioanele ),,( 21 txxs p de pe o latice 3-D
3Λ , se pune problema determinării vitezei 2-D ),( txv pentru oricare 3),( Λ∈tx . Evident
că estimarea fluxului optic şi a vectorilor de corespondenţă este acelaşi lucru deoarece
tlttlt ∆=∆ ),();,( xvxd , presupunând că viteza rămâne constantă în intervalul de timp
tl∆ . Pentru a estima fluxul optic în prezenţa acceleraţiei trebuie considerate mai mult
de două cadre la un moment dat.
Problema estimării mişcării 2-D, pusă fie ca o problemă de estimare a
corespondenţei, fie ca estimare a fluxului optic, bazată pe două cadre, este o problemă
prost formulată în absenţa unor condiţii suplimentare în legătură cu natura câmpului de
mişcare. O problemă este greşit formulată dacă nu există o soluţie unică, şi/sau soluţia
Capitolul 4 – Estimarea mişcării bidimensional 63
(sau soluţiile) nu depinde (depind) în mod continuu de date. Estimarea mişcării 2-D are
problemele existenţei, unicităţii şi continuităţii.
• Existenţa soluţiei: Nu există soluţie dacă nu poate fi găsită o corespondenţă
pentru punctele acoperite/neacoperite ale fundalului. Această problemă se
numeşte problema ocluziei.
• Unicitatea soluţiei: dacă coordonatele 1x şi 2x ale deplasării (sau vitezei)
fiecarui pixel sunt considerate variabile independente, atunci numărul
necunoscutelor va fi dublu faţă de cel al observaţiilor (elementele cadrului
diferenţă). Aceasta duce la problema „aperturii”.
• Continuitatea soluţiei: Estimarea mişcării este foarte sensibilă la prezenţa
zgomotului de observare în imaginile video. Chiar şi o mică cantitate de
zgomot poate produce deviaţii importante în estimatele mişcării.
4.2.1 Problema ocluziei
Se referă la acoperirea/neacoperirea unei suprafeţe datorită mişcării unui obiect,
de exemplu translaţia unui obiect sau rotaţia după o axă paralelă cu planul imaginii. În
Figura 4.6 este exemplificată această problemă. Regiunea desenată cu linie întreruptă
în cadrul k indică fundalul ce urmează să fie acoperit în cadrul k+1. Astfel nu este
posibil să se găsească o corespondenţă pentru aceşti pixeli în cadrul k. Regiunea
desenată cu linie întreruptă în cadrul k+1 indică fundalul descoperit de mişcarea
obiectului. Nu există corespondenţă pentru aceşti pixeli în cadrul k.
Capitolul 4 – Estimarea mişcării bidimensional 64
Figura 4.6 Problema fundalului acoperit/neacoperit
4.2.3 Problema aperturii:
Această problemă apare deoarece soluţia problemei estimării mişcării 2-D nu
este unică. Dacă vectorii de mişcare pentru fiecare pixel sunt consideraţi variabile
independente, atunci există de două ori mai multe necunoscute decât ecuaţii (vezi
relaţia 4.3). Numărul de ecuaţii este egal cu numărul de pixeli din imagine, dar pentru
fiecare pixel vectorul de mişcare are două componente.
Ideea de bază este că putem să observăm şi să determinăm doar deplasarea care
este ortogonală pe direcţia gradientului imaginii, numit flux optic. Problema aperturii
este ilustrată în Figura 4.7. Presupunem că avem un colţ al unui obiect ce se mişcă pe
direcţia 2x (în sus). Dacă estimăm mişcarea bazându-ne pe fereastră locală, denumită
Apertura 1, atunci nu este posibil să determinăm dacă imaginea se mişcă în sus sau
perpendicular pe margine. Mişcarea perpendiculară pe margine este numită flux optic.
Oricum, dacă ne uităm la Apertura 2, atunci este posibil să estimăm mişcarea
corect, deoarece imaginea are gradient în două direcţii perpendiculare în interiorul
acestei ferestre. Astfel este posibil să eliminăm problemei aperturii estimând mişcarea
pe un bloc de pixeli care conţin suficiente variaţii de nivele de gri. Implicit aici se face
presupunerea că toţi aceşti pixeli se mişcă împreună.
Cadrul k Cadrul k+1
Fundal ce urmează să fie acoperit(nici o regiune din următorul cadru nu
corespunde acestei regiuni)
Fundal neacoperit(nici un vector de mişcare nu indică spre
această regiune)
Capitolul 4 – Estimarea mişcării bidimensional 65
Figura 4.7 Reprezentarea problemei aperturii
4.2.4 Modele de mişcare bidimensionale
Algoritmii de estimare a mişcării au nevoie de presupuneri (modele) în plus
legate de structura câmpului de mişcare 2-D. În continuare facem o prezentare pe scurt
a acestor modele:
Modele parametrice
Modelele parametrice descriu proiecţia ortografică şi în perspectivă a mişcării 3-
D (deplasare şi viteza) a unei suprafeţe în planul imaginii. În general, modelele
parametrice ale câmpului de mişcare 2-D depind de reprezentarea suprafeţei. De
exemplu, un câmp de mişcare rezultat dintr-o mişcare rigidă 3-D a unei suprafeţe plane
prin proiecţie ortografică poate fi descris printr–un model afin compus din şase
parametrii, pe când prin proiecţie în perspectivă poate fi descris printr–un model
neliniar compus din opt parametri.
O subclasă a modelor parametrice sunt modelele cuasiparametrice, care tratează
înălţimea fiecărui punct 3-D ca o necunoscută independentă. Atunci cei şase parametrii
de mişcare 3-D impun vectorului flux al imaginii să fie de-a lungul unei anumite linii şi
este necesară cunoaşterea valorii înălţimii pentru a determina valoarea exactă a
Apertura 1
Apertura 2
Flux normal
Capitolul 4 – Estimarea mişcării bidimensional 66
vectorului de mişcare. Aceste modele sunt constrângeri pentru reglarea estimării
vectorilor de mişcare 2-D.
Modele neparametrice
Principalul neajuns al metodelor parametrice este că sunt aplicabile doar în
cazul mişcării 3-D rigide. Ca alternativă, pot fi impuse constrângeri de uniformitate
(liniaritate) nonparametrică asupra câmpului de mişcare 2-D fără a folosi modele de
mişcare rigidă. Constrângerile nonparametrice pot fi clasificate în modele deterministe
şi stohastice
Cele mai cunoscute metode neparametrice de estimare a mişcării bidimensionale
sunt:
1. Metode bazate pe ecuaţia fluxului optic: Intensitatea constantă de–a lungul
traiectoriei mişcării produce o ecuaţie în gradienţi ai intensităţii spaţio–temporale.
Este utilizată împreună cu constrângeri liniare spaţio–temporale potrivite. Aceste
metode sunt discutate în subcapitolul 4.3.
2. Metoda potrivirii blocurilor: Se presupune că imaginea este compusă din blocuri în
mişcare. Potrivirea blocurilor de dimensiune fixă între două cadre se realizează prin
criteriul distanţei. Aceste metode sunt discutate în subcapitolul 4.4.
3. Metode recursive la nivel de pixel: Folosesc minimizarea bazată pe gradient a
diferenţei de deplasare a cadrului. Utilizează implicit şi constrângeri liniare şi sunt o
extensie a estimării mişcării de tip Wiener. Aceste metode sunt discutate în
subcapitolul 4.5.
Capitolul 4 – Estimarea mişcării bidimensional 67
4.3 METODE CARE UTILIZEAZĂ ECUAŢIA FLUXULUI OPTIC
În acest subcapitol vom deduce în primul rând ecuaţia fluxului optic (OFE).
Apoi sunt discutate metode de estimare a fluxului optic folosind OFE.
4.3.1 Ecuaţia fluxului optic
Fie ( )txxsc ,, 21 distribuţia spaţio-temporală continuă a intensităţii. Dacă
intensitatea rămâne constantă de–a lungul unei traiectorii de mişcare, avem
( )0
, 21 =dt
txxdsc , unde 1x şi 2x variază în funcţie de t conform traiectoriei de mişcare.
Scriem derivatele după fiecare variabilă şi rezultă relaţia:
( ) ( ) ( )0
,),(
),(,
,2
21
1
=∂
∂+
∂∂
+∂
∂t
tstv
x
tstv
x
ts ccc xx
xx
x (4.7)
unde dtdxtv 11 ),( =x şi dtdxtv 22 ),( =x sunt componentele continue pe cele două axe
ale vectorului viteză. Această ecuaţie se numeşte ecuaţia fluxului optic (OFE).
Ecuaţia mai poate fi scrisă alternativ şi astfel:
( )0
,),(),,( =
∂∂
+∇t
tstts c
c
xxvx (4.8)
unde ( ) ( ) T
ccc x
ts
x
tsts
∂
∂∂
∂=∇
21
,,),(
xxx iar ⋅⋅, este operatorul produs scalar între 2
vectori.
OFE produce o ecuaţie cu două necunoscute ),(1 tv x şi ),(2 tv x pentru fiecare
pixel de locaţie ),( tx , şi determină doar componenta vectorului flux care este în
direcţia gradientului intensităţii imaginii ),(
),(
ts
ts
c
c
x
x
∇∇
, numită flux normal ),( tv x⊥ ,
deoarece componenta care este ortogonală pe gradientul imaginii dispare. Acest lucru
este ilustrat în Figura 4.8, unde toţi vectorii ai căror vârfuri se află pe linia întreruptă
satisfac ecuaţia (4.8).
Capitolul 4 – Estimarea mişcării bidimensional 68
Figura 4.8 Fluxul normal
Fluxul normal pentru fiecare pixel poate fi calculat din (4.8):
),(
),(
),(ts
t
ts
tvc
c
x
x
x∇
∂
∂−
=⊥ (4.9)
OFE impune o constrângere componentei vectorului flux, care este în direcţia
gradientului spaţial al intensităţii imaginii pentru fiecare pixel, care are problema
aperturii. De observat că abordarea problemei folosind OFE necesită ca, în primul rând,
intensitatea imaginii spaţio-temporale să fie diferenţiabilă, şi, în al doilea rând,
derivatele parţiale ale intensităţii să fie disponibile. În practică, se poate arăta că
estimarea fluxului optic este echivalentă cu estimarea corespondenţei folosind unele
prezumţii.
În continuare vom prezenta câteva metode pentru estimarea fluxului optic din
estimaţi ai fluxului normal.
),,( 21 txxsc∇
1v
2v
Vectorii v satisfac ecuaţiafluxului optic
Capitolul 4 – Estimarea mişcării bidimensional 69
4.3.2 Metode diferenţiale de ordin 2
În căutarea unei alte constrângeri pentru determinarea ambelor componente ale
vectorului flux pentru fiecare pixel, s-a propus conservarea gradientului spaţial al
imaginii, );( txsc∆ :
0);(=
∆dt
txsd c (4.10)
Un estimat al câmpului de flux optic, obţinut din (4.10), este următorul:
∂∂∂
∂∂∂
∂∂
∂∂∂
∂∂∂
∂∂
=
−
2
21
21
22
2
11
212
2
21
2
2
1
),(
),(
),(),(
),(),(
),(ˆ
),(ˆ
xt
tsxt
ts
x
ts
xx
tsxx
ts
x
ts
tv
tv
c
c
cc
cc
x
x
xx
xx
x
x (4.11)
Oricum constrângerea (4.10) nu permite unele mişcări uzuale cum ar fi rotaţia şi
zooming-ul. Mai mult, derivatele parţiale de ordin 2 nu pot fi de obicei estimate cu
destulă precizie. Această problemă este adresată în subcapitolul 4.3.5. Ca o concluzie,
ecuaţia (4.11) nu conduce întotdeauna la estimaţi siguri ai fluxului.
4.3.3 Modelul mişcării pe blocuri (metoda Lucas–Kanade)
O altă posibilitate de a scăpa de problema aperturii este presupunerea că
vectorul de mişcare rămâne neschimbat pentru un anumit bloc de pixeli B (metodă
propusă de Lucas şi Kanade), adică
( ) ( ) [ ]Ttvtvtvtv )()(, 21==x , pentru B∈x (4.12)
Chiar dacă un astfel de model nu se poate aplica pentru mişcarea de rotaţie, este
posibilă estimarea unui vector de mişcare pur translaţional în mod unic prin acest
model, în condiţia în care blocul de pixeli are suficiente variaţii ale nivelului de gri.
Definim eroarea în OFE pentru un bloc B:
( ) ( ) ( )∑∈ ∂
∂+
∂∂
+∂
∂=
Bx
ccc
t
tstv
x
tstv
x
tsE 2
22
11
),
)(),(,
(xxx
(4.13)
Dacă minimizăm eroarea, rezultă
Capitolul 4 – Estimarea mişcării bidimensional 70
( ) ( ) ( )
( )
∂∂
∂∂
−
∂∂
∂∂
−
∂∂
∂∂
∂∂
∂∂
∂∂
∂∂
∂∂
∂∂
=
∑
∑
∑∑
∑∑
∈
∈
−
∈∈
∈∈
β
β
ββ
ββ
x
cc
x
cc
x
cc
x
cc
c
x
c
x
cc
t
ts
x
tst
ts
x
ts
x
ts
x
ts
x
ts
x
tsx
ts
x
ts
x
ts
x
ts
tv
tv),(),(
),(),(
),(),(),(,
),(,,,
)(ˆ
)(ˆ
2
1
1
2221
2111
2
1
xx
xx
xxxx
xxxx (4.14)
Este posibil să se crească influenţa constrângerii spre centrul blocului B
înlocuind sumările cu sumări ponderate. O funcţie de ponderare corespunzătoare ar
putea fi de forma unei ferestre 2-D triunghiulare. Desigur, exactitatea estimatelor
fluxului optic depinde de exactitatea derivatelor parţiale spaţiale şi temporale estimate.
În continuare vom discuta metoda Horn–Schunck, care impune o constrângere globală
de liniaritate mai puţin restrictivă asupra câmpului de viteză.
4.3.4 Metoda Horn–Schunck
Horn şi Schunk au căutat un câmp de mişcare care să satisfacă OFE cu cea mai
mică variaţie de la pixel la pixel a vectorilor flux. Fie
( )t
tsttst c
cof ∂∂
+∇=,
),(),,()),((x
xvxxvε (4.15)
eroarea în ecuaţia fluxului optic. Se observă că OFE este satisfăcută dacă )),(( tof xvε
este egală cu zero. În prezenţa fenomenului de ocluzie şi a zgomotului dorim să
minimizăm pătratul lui )),(( tof xvε pentru a impune constrângerea pentru fluxul optic.
Variaţia de la pixel la pixel a vectorilor viteză pate fi cuantificată prin suma
pătratelor amplitudinilor gradienţilor spaţiali a componentelor vectorului viteză, dată
de:
2
2
22
1
22
2
12
1
1
2
2
2
12
)()()()(
),(),()),((
x
v
x
v
x
v
x
v
tvtvts
∂∂
+∂∂
+∂∂
+∂∂
=
=∇+∇= xxxvε
(4.16)
Presupunem că coordonatele spaţiale şi temporale sunt variabile continue. Se poate
verifica uşor că, cu cât este mai neted câmpul de viteză, cu atât este mai mic )),((2 ts xvε .
Această metodă ponderează suma erorilor din OFE şi este o măsură a variaţiei de
la pixel la pixel a câmpului de viteză
Capitolul 4 – Estimarea mişcării bidimensional 71
xvvxv
dsoft ∫Ω
+ ))()((min 222
),(εαε (4.17)
pentru a estima vectorul de viteză pentru fiecare pixel, unde Ω este suportul continuu
al imaginii. Parametrul 2α , de obicei ales aleator, controlează tăria condiţiei de
liniaritate. Valori mari ale lui 2α cresc tăria condiţiei, pe când valori mici o relaxează.
Minimizarea funcţionalei (4.17), utilizând calculul variaţiilor, necesită
rezolvarea simultană a următoarelor două ecuaţii
t
s
x
stvtv
x
stv
x
s
x
s
t
s
x
stvtv
x
s
x
stv
x
s
ccccc
ccccc
∂∂
∂∂
−∇=
∂∂
+∂∂
∂∂
∂∂
∂∂
−∇=∂∂
∂∂
+
∂∂
22
222
2
21
21
11
222
211
2
2
),(ˆ),(ˆ),(ˆ
),(ˆ),(ˆ),(ˆ
xxx
xxx
α
α
(4.18)
unde 2∇ este operatorul Laplacian şi operatorul • indică faptul că este vorba despre un
estimat. În implementarea lui Horn şi Schunck, Laplacianul componentelor vitezei au
fost aproximate prin filtre trece sus FIR. Astfel se obţin iteraţiile:
2
2
2
1
2
)(2
2
)(1
1
1
)(2
)1(2
2
2
2
1
2
)(2
2
)(1
1
1
)(1
)1(1
)(
),(),(
),(),(
)(
),(),(
),(),(
∂∂
+∂∂
+
∂∂
+∂∂
+∂∂
∂∂
−=
∂∂
+∂∂
+
∂∂
+∂∂
+∂∂
∂∂
−=
+
+
x
s
x
s
t
stxv
x
stxv
x
s
x
stxvtxv
x
s
x
s
t
stxv
x
stxv
x
s
x
stxvtxv
cc
cncnc
cnn
cc
cncnc
cnn
α
α
(4.19)
unde n este contorul iteraţiei, bara deasupra variabilelor indică o media locală
ponderată (excluzând pixelul curent) şi toate derivatele parţiale sunt evaluate în punctul
(x,t). Condiţiile iniţiale ale vitezei ),()0(1 tv x şi ),()0(
2 tv x sunt de obicei luate zero.
Formulările de mai sus presupun o distribuţie continuă de intensitate spaţio-temporală.
În implementarea pe calculator, toţi gradienţii spaţiali şi temporali ai imaginii trebuie
să fie estimaţi numeric din eşantioanele imaginii.
Capitolul 4 – Estimarea mişcării bidimensional 72
4.3.5 Estimarea gradientului
Discutăm două metode de estimare a gradientului. Prima metodă foloseşte
diferenţele finite, iar cea de-a doua este bazată pe metoda potrivirii polinoamelor.
Metoda diferenţelor finite
Există mai mute variante ale acestei metode. O abordare pentru estimarea
derivatelor parţiale într-o imagine discretă, ),,( 21 knns , este să le aproximăm cu
diferenţe finite retrograde sau antegrade. Pentru a obţine estimate mai robuste ale
derivatelor parţiale, putem calcula media diferenţelor finite retrograde şi antegrade,
numită diferenţă medie. Mai mult, putem calcula o medie locală a diferenţelor medii
pentru a elimina efectul zgomotului de observare. Horn şi Schunck au propus medierea
a patru diferenţe finite:
),1,1()1,1,1(),1,()1,1,(
),,1()1,,1(),,()1,,(4
1
)1,,1()1,1,1()1,,()1,1,(
),,1(),1,1(),,(),1,(4
1
)1,1,()1,1,1()1,,()1,,1(
),1,(),1,1(),,(),,1(4
1
21212121
21212121
21212121
212121212
21212121
212121211
knnsknnsknnsknns
knnsknnsknnsknnst
s
knnsknnsknnsknns
knnsknnsknnsknnsx
s
knnsknnsknnsknns
knnsknnsknnsknnsx
s
cccc
ccccc
cccc
ccccc
cccc
ccccc
++−+++++−++
++−+++−+=∂∂
++−+++++−++
++−+++−+=∂∂
++−+++++−++
++−++++−+=∂∂
(4.20)
Estimării gradientului prin metoda celor mai bune polinoame
Această metodă aproximează ),,( 21 txxsc local printr-o combinaţie liniară de
polinoame de grad mic în x1, x2 şi t. De exemplu:
),,(),,(ˆ 21
1
0121 txxatxxs
N
iic ∑
−
=
Φ= (4.20)
unde N este numărul polinoamelor de bază, ai sunt coeficienţii combinaţiei liniare, şi
),,( 21 txxΦ sunt polinoamele de bază.
Pentru N=9 şi cu polinoamele de bază:
Capitolul 4 – Estimarea mişcării bidimensional 73
txtxxxxxtxxtxx 212122
212121 ,,,,,,,,1),,( =Φ (4.21)
Ecuaţia (4.20) devine:
txatxaxxaxaxataxaxaatxxs oc 2817216225
2143221121 ),,(ˆ ++++++++≈ (4.22)
Coeficienţii ai, i=0…8, sunt estimaţi folosind metoda celor mai mici pătrate care
minimizează funcţia eroare:
[ ] [ ]2
1
02121
2 )),,(),,((1 2
2121∑∑∑ ∑ =
−
=
Φ−=n n k
knntxx
N
iiic TTtxxaknnse
V (4.23)
în concordanţă cu aceşti coeficienţi. Sumarea se face pe o vecinătate a pixelului pentru
care este făcută aproximarea polinomială. Un caz tipic ar fi pentru 50 de pixeli şi
ferestre spaţiale de 5x5 din două cadre consecutive.
Odată ce coeficienţii ai au fost estimaţi, componentele gradientului pot fi
calculate prin simplă diferenţiere:
30817321
208162522
21
107261411
21
21
21
21
),,(
2),,(
2),,(
ataxaat
txxs
ataxaxaax
txxs
ataxaxaax
txxs
txxc
txxc
txxc
=++≈∂
∂
=+++≈∂
∂
=+++≈∂
∂
===
===
===
(4.24)
În mod similar, derivatele parţiale de ordinul 2 şi cele mixte pot fi uşor estimate
folosind coeficienţii a4 - a8.
4.3.6 Metode adaptive
Algoritmul Horn-Schunk impune condiţiile de flux optic şi de liniaritate pe
întreaga imagine (sau pe fereastra de estimare a mişcării). Acest lucru are două efecte
nedorite:
i) Condiţia de liniaritate nu funcţionează pe direcţia perpendiculară pe o margine
de ocluzie. Astfel, o condiţie de liniaritate globală înceţoşează „marginile de
mişcare”. De exemplu, dacă un obiect se mişcă spre un fundal staţionar, atunci
are loc o schimbare bruscă în câmpul de mişcare la marginea obiectului. Această
Capitolul 4 – Estimarea mişcării bidimensional 74
problemă poate fi evitată impunând condiţia de liniaritate doar pe direcţiile, de-a
lungul cărora intensitatea pixelilor nu se modifică semnificativ. Acesta este
conceptul de bază al aşa-numitei condiţii de liniaritate direcţională sau orientată.
ii) Metoda neadaptivă impune condiţia fluxului optic şi asupra regiunilor de
ocluzie, unde nu ar trebui să existe aşa ceva. Acest lucru poate fi obţinut variind
adaptiv parametrul α pentru a controla tăriile relative ale condiţiilor fluxului
optic şi de liniaritate. De exemplu, în regiunile de ocluzie, cum ar fi regiunile cu
linie întreruptă din Figura 4.9, condiţia fluxului optic poate fi eliminată de tot iar
condiţia de liniaritate să fie complet valabilă.
Constrângerile de liniaritate nu pot fi impuse pe direcţia perpendiculară pe
marginea de ocluzie. De aceea ultimele cercetări în domeniu au propus impunerea
constrângerilor de liniaritate de-a lungul marginilor dar nu perpendicular pe marginile
ocluziei. Trebuie avut în vedere că metodele adaptive necesită strategii de detecţie a
marginilor obiectelor în mişcare.
Fig.4.9 Regiuni de ocluzie
Cadrul k Cadrul k+1
Fundal ce urmează să fie acoperit(nici o regiune din următorul cadru nu
corespunde acestei regiuni)
Fundal neacoperit(nici un vector de mişcare nu indică spre
această regiune)
Capitolul 4 – Estimarea mişcării bidimensional 75
4.4 METODE BAZATE PE BLOCURI
Metoda de estimarea şi compensare a mişcării ce se bazează pe blocuri este una
dintre cele mai populare metode de estimare a mişcării. Compensarea mişcării folosind
blocuri a fost adoptată în standardele internaţionale de compresie video cum ar H.261
sau MPEG 1-2. Chiar dacă aceste standarde nu specifică o anumită metodă de estimare
a mişcarii, estimarea mişcării bazată pe blocuri devine o alegere naturală. Estimarea
mişcării bazată pe blocuri este de asemenea utilizată la scară mare şi în multe alte
aplicaţii video, cum ar fi filtrarea compensată de mişcare pentru conversia standardelor.
Începem cu o scurtă introducere a modelelor de mişcare în blocuri în
subcapitolul 4.4.1. O schemă simplă de estimare a mişcării utilizând blocuri, bazată pe
modelul blocului în mişcare, a fost deja discutată în subcapitolul 4.3, în contextul
estimării folosind ecuaţia fluxului optic. Aici vom prezenta alte două strategii de
estimare a mişcării bazate pe blocuri în mişcare. Prima dintre ele, discutată în
subcapitolul 4.4.2, este o abordare tehnică, numită metoda corelaţiei de fază, ce
foloseşte frecvenţe spaţiale. A doua, prezentată în subcapitolul 4.4.3, este o tehnică de
căutare în domeniul spaţiu, numită metoda potrivirii blocurilor. Ambele metode pot fi
implementate ierarhic, utilizând o abordare multirezoluţie a semnalului video.
Estimarea ierarhică bazată pe blocuri este adresată în subcapitolul 4.4.4.
4.4.1 Modele de mişcare a blocurilor
Modelul de mişcare a blocurilor presupune că imaginea este compusă din
blocuri în mişcare. Abordăm două tipuri de mişcare a blocurilor:
i) Translatare 2-D simplă, şi
ii) Diferite deformări 2-D ale blocurilor
Capitolul 4 – Estimarea mişcării bidimensional 76
Mişcarea translaţională a blocurilor
Cea mai simplă formă a acestui model este aceea a blocurilor în mişcare de
translaţie, restricţionând mişcarea fiecărui bloc la o simplă translaţie. Atunci un bloc B
de dimensiune NxN din cadrul k centrat faţă de pixelul ),( 21 nn=n este modelat ca o
variantă translatată a unui bloc de aceeaşi mărime din cadrul k+l, unde l este întreg.
Asta înseamnă că:
( ) ( )
=
∆+++=kt
tltdxdxsknns nV
x,,,, 221121(4.25)
pentru oricare Bnn ∈),( 21 , unde 1d şi 2d sunt componentele vectorului de mişcare
(translaţie) pentru blocul B. Presupunând că valorile pentru 1d şi 2d sunt cuantizate şi
au valori întregi, modelul (4.25) se poate simplifica astfel:
( ) ( )lkdndnsknns +++= ,,,, 221121 (4.26)
Se observă că este posibil să se obţină o exactitate a pixelului de L21 în estimatele
mişcării., folosind fie metoda corelaţiei de fază, fie metoda potrivirii blocurilor, dacă
cadrele k şi k+l din (4.26) sunt interpolate cu factorul de interpolare L.
În modelul (4.25) blocurile B pot să nu se suprapună sau să se suprapună, ca în
Figura 4.10 (a), respectiv (b). În cazul în care nu se suprapun, întregului bloc ii este
atribuit un singur vector de mişcare. Astfel poate fi obţinută compensarea mişcării prin
copierea pixel cu pixel a informaţiei alb-negru sau color din blocul corespondent din
cadrul k+1. În cazul în care blocurile se suprapun, putem fie să calculăm media
vectorilor de mişcare în regiunile de suprapunere, fie să alegem unul dintre vectorii de
mişcare estimaţi.
Capitolul 4 – Estimarea mişcării bidimensional 77
Figura 4.10 Modele de mişcare a blocurilor: a) blocuri nesuprapuse şi b) suprapuse
Popularitatea compensării şi estimării mişcării, ce are la bază modelul blocurilor
în translaţie, se datorează următoarelor:
• Cantitate redusă de informaţie pentru reprezentarea câmpului de mişcare,
deoarece doar un vector de mişcare este necesar pentru fiecare bloc, şi
• implementări VLSI (Very Large Scale Integration) cu cost redus
Oricum compensarea mişcării folosind blocuri în translaţie
i) dă greş pentru zooming, mişcare de rotaţie şi pentru deformare locală
ii) produce artefacte de blocare, în special la aplicaţii cu rată de bit foarte scăzută,
deoarece marginile obiectelor nu corespund de obicei cu marginile blocurilor şi
blocurilor alăturate li se pot atribui vectori de mişcare substanţial diferiţi.
cadrul k+1
cadrul k
blocul B
a) b)
Capitolul 4 – Estimarea mişcării bidimensional 78
Mişcarea blocurilor deformabile
Pentru a generaliza modelul blocurilor în translaţie (4.25), ştim că acesta poate
fi caracterizat printr-o transformare (spaţială) simplă a coordonatelor pixelului de la
cadru la cadru:
222
111
dxx
dxx
+=′+=′
(4.27)
unde ),( 21 xx ′′ sunt coordonatele punctului în cadrul k+l. Transformarea spaţială (4.27)
poate fi generalizată ca să includă transformări afine de coordonate după cum urmează:
224132
122111
dxaxax
dxaxax
++=′++=′
(4.28)
Transformarea afină (4.28) se poate folosi atât pentru rotaţii ale blocurilor, cât
şi pentru deformări 2-D ale pătratelor (dreptunghiurilor) în paralelograme (vezi Figura
4.11). Alte transformări spaţiale sunt transformările de coordonate în perspectivă şi
biliniare. Transformarea în perspectivă este dată de:
1
1
2817
625142
2817
322111
++++
=′
++++
=′
xaxa
axaxax
xaxa
axaxax
(4.29)
iar transformarea biliniară poate fi exprimată ca:
821726152
421322111
axxaxaxax
axxaxaxax
+++=′+++=′
(4.30)
Capitolul 4 – Estimarea mişcării bidimensional 79
Figura 4.11 Exemple de transformări spaţiale
Metodele simple de corelaţie de fază şi de potrivire a blocurilor au la bază
modelul translaţional (4.27). Generalizări ale metodei potrivirii blocurilor pentru
urmărirea mişcării 2-D deformabile, bazate pe transformările spaţiale prezentate în
Figura 4.11, vor fi adresate în subcapitolul 4.4.5. Diferite modele de mişcare a
blocurilor, inclusiv (4.28) şi (4.29), intră în categoria modelelor parametrice de mişcare
(discutate în subcapitolul 4.3), şi pot fi considerate constrângeri locale de reglare
impuse câmpurilor arbitrare de deplasare pentru a preveni problema de apertură, în
legătură cu metodele bazate pe ecuaţia fluxului optic (vezi subcapitolul 4.3.3) sau
metode recursive la nivel de pixel (care sunt prezentate în subcapitolul 4.5).
afină
afină
în perspectivă
biliniară
biliniară
Capitolul 4 – Estimarea mişcării bidimensional 80
4.4.2 Metoda corelaţiei de fază
Aplicând Transformata Fourier ambelor părţi ale modelului discret de mişcare
(4.26) cu 1=l pe un bloc B, obţinem:
( ) ( ) ( )2exp,, 221121121 dfdfjffSffS kk += + π (4.31)
unde ( )21, ffSk este Transformata Fourier a cadrului k în funcţie de variabilele spaţiale
1x şi 2x . Rezultă că, în cazul mişcării de translaţie, diferenţa fazelor transformatelor
Fourier 2-D ale blocurilor respective
( ) ( ) )(21,,arg,,arg 221121121 dfdfkffSkffS kk +=+− + π (4.32)
defineşte un plan ( )21, ff . Atunci vectorul de mişcare intercadru poate fi estimat din
orientarea planului (4.32). Această metodă are însă două probleme importante:
i) estimarea orientării planului necesită în general o descompunere bidimensională
de fază, ceea ce nu e în nici un caz ceva simplu
ii) de obicei nu este uşor să identificăm vectorii de mişcare pentru mai mult de un
obiect în mişcare în interiorul unui singur bloc.
Metoda corelaţiei de fază diminuează ambele probleme. Ea estimează
deplasarea relativă între două blocuri ale imaginii printr-o funcţie normată de
intercorelaţie în domeniul Fourier 2-D. Este de asemenea bazată pe principiul că o
deplasare relativă în domeniul spaţial produce un termen de fază liniară în domeniul
Fourier. În continuare vom deduce relaţia funcţiei de corelaţie de fază şi apoi vom
discuta unele lucruri legate de implementarea ei.
Funcţia de corelaţie de fază
Funcţia de intercorelaţia dintre cadrele k şi k+1 este definită ca:
( ) ( ) ( )knnsknnsnnc kk ,,1,,, 2121211, −−∗∗+=+ (4.33)
unde ∗∗ este operatorul de convoluţie 2-D. Aplicând Transformata Fourier ambelor
părţi, obţinem expresia pentru spectrul de putere cu valori complexe:
Capitolul 4 – Estimarea mişcării bidimensional 81
( ) ( ) ( )21211211, ,,, ffSffSffC kkkk∗
++ = (4.34)
Împărţind ( )211, , ffC kk + la amplitudinea sa, obţinem
( ) ( ) ( )( ) ( )21211
21211211,
,,
,,,
~
ffSffS
ffSffSffC
kk
kkkk ∗
+
∗+
+ = (4.35)
Presupunând că mişcarea este de translaţie, înlocuim (4.31) în (3.35):
( ) ( )2exp,~
2211211, dfdfjffC kk +−=+ π (4.36)
Aplicarea Transformatei Fourier Inversă acestei expresii duce la funcţia de corelaţie de
fază:
( ) ( )2211211, ,,~ dndnnnc kk −−=+ δ(4.37)
Observăm că funcţia de corelaţie de fază este un impuls a cărui poziţie ne duce la
vectorul de deplasare.
Metode de implementare
Implementarea metodei corelaţiei de fază necesită înlocuirea Transformatelor
Fourier 2-D cu Transformate Fourier Discrete (DFT) 2-D, ceea ce duce la următorul
algoritm:
1. calcularea DFT 2-D a blocurilor corespunzătoare din cadrele k şi k+1
2. Calcularea spectrului de putere ca în (4.35)
3. calcularea DFT inversă a lui ( )211, ,~
ffC kk + pentru a obţine funcţia de corelaţie
de fază ( )211, ,~ nnc kk + .
4. detectarea poziţiei vârfului (vârfurilor) funcţiei de corelaţie de fază.
Utilizarea DFT 2-D în loc de transformata Fourier 2-D are următoarele
consecinţe:
Capitolul 4 – Estimarea mişcării bidimensional 82
• Efectele de margine: pentru a obţine un impuls perfect cu DFT, deplasarea
trebuie să fie ciclică. Deoarece lucrurile ce dispar la un capăt în general nu
reapar la celălalt capăt, impulsurile degenerează în vârfuri.
• Dispersie spectrală datorată vectorilor de mişcare neîntregi: Pentru a putea
observa un impuls perfect, componentele vectorului de deplasare trebuie să fie
multiplii întregi ai frecvenţei fundamentale. Altfel impulsul va degenera într-un
vârf datorită bine cunoscutului fenomen de dispersie spectrală.
• Domeniul de valori al estimatelor mişcării: Deoarece DFT este periodică cu
mărimea blocului ( )21, NN , estimaţii mişcării trebuie să fie descompuşi astfel:
( )
−
−≤≤=
restin
impar ,21sau par ,2 daca ˆ
ii
iiiiiiii
Nd
NNdNNddd (4.38)
pentru a se adapta la deplasări negative. Astfel, domeniul de valori al
estimatelor este [ ] par pentru 2,12 iii NNN +− . De exemplu, pentru a estima
deplasările în domeniul [-31,32], mărimea blocului ar trebui să fie de cel puţin
64×64 pixeli.
Mărimea blocului este unul dintre cei mai importanţi parametrii în orice
algoritm de estimare a mişcării bazat pe deplasarea blocurilor. Alegerea mărimii
blocurilor este de obicei un compromis între două cerinţe conflictuale. Fereastra trebuie
să fie suficient de mare pentru a putea estima vectori de deplasare mari. Pe de altă
parte, ar trebui să fie suficient de mică astfel încât vectorul de mişcare să rămână
constant în interiorul ferestrei. Aceste două cerinţe contradictorii sunt avute în vedere
la metodele ierarhice. Aceste metode vor fi tratate în cazul potrivirii blocurilor, care
trebuie să facă acelaşi compromis în alegerea dimensiunii ferestrelor.
Metoda corelaţiei de fază are unele proprietăţi nedorite:
Schimbări de intensitate de la un cadru la altul: Metoda este relativ insensibilă la
schimbări ale iluminării, deoarece schimbări în valorile medii sau multiplicări cu o
constantă nu afectează faza Transformatei Fourier. Deoarece funcţia de corelaţie de
Capitolul 4 – Estimarea mişcării bidimensional 83
fază este normată la amplitudinea Fourier, metode este de asemenea insensibilă la orice
alte degradări ale amplitudinii Fourier.
Mai multe obiecte în mişcare: Experimente indică faptul că mai multe vârfuri sunt
observate în astfel de cazuri, indicând fiecare mişcarea unui anumit obiect din bloc.
Este necesară o căutare adiţională pentru a găsi cărui vârf îi aparţine o parte a imaginii.
4.4.3 Metoda potrivirii blocurilor
Potrivirea blocurilor poate fi considerată cea mai populară metodă practică
pentru estimarea mişcării datorită complexităţii ei hardware mai mici. Ea este intens
folosită în VLSI şi aproape toate codec-urile H.261 şi MPEG 1-2 utilizează potrivirea
blocurilor ca metodă de estimare a mişcării. In potrivirea blocurilor, cel mai bun
estimat al vectorului de mişcare este găsit printr-o procedură de căutare în domeniul
pixelilor.
Ideea de bază este prezentată în Figura 4.12, unde deplasamentul pentru un pixel
),( 21 nn din cadrul k este determinat considerând un bloc 21 NN × centrat în jurul lui
),( 21 nn şi căutând în cadrul k+1 (cadrul de căutare) locul celui mai potrivit bloc de
aceeaşi dimensiune. Căutarea este de obicei limitată din motive de calcul numai în
interiorul ferestrei de căutare de dimensiune 2211 22 MNMN +×+ .
Figura 4.12 Potrivirea blocurilor
Cadrul k
Cadrul k+1
Bloc
Fereastră de căutare
Capitolul 4 – Estimarea mişcării bidimensional 84
Algoritmii de potrivire a blocurilor diferă prin criteriul folosit în potrivire,
strategia de căutare şi modul de determinare a mărimii blocului (ierarhică sau
adaptivă).
a) Clasificare în funcţie de criteriul folosit în potrivirea blocurilor
• Eroarea pătratică medie minimă (MSE)
Evaluăm MSE:
∑∈
−+++=Bnn
knnskdndnsNN
ddMSE),(
2212211
2121
21
)],,()1,,([1
),( (4.39)
unde B este un bloc de dimensiune 21 NN × , pentru un set de vectori de mişcare
),( 21 dd . Estimatul vectorului de mişcare este valoarea lui ),( 21 dd care minimizează
MSE. Acesta este:
[ ] ),(minargˆ,ˆ21
),(21
21
ddMSEdddd
T= (4.40)
• Diferenţa medie absolută minimă (MAD)
Diferenţa medie absolută minimă (MAD) definită ca:
∑∈
−+++=β),(
21221121
21
21
),,()1,,(1
),(nn
knnskdndnsNN
ddMAD (4.41)
este cea mai populară alegere pentru implementările VLSI. Estimatul este:
[ ] ),(minargˆ,ˆ21
),(21
21
ddMADdddd
T= (4.42)
• Numărul maxim de pixeli potriviţi (MPC)
Fiecare pixel din blocul B este clasificat ca fiind un pixel ce se potriveşte sau ca
unul care nu se potriveşte conform cu:
≤+++−
=restin
tkdndnsknnspentruddnnT
0
)1,,(),,(1),;,( 221121
2121 (4.43)
unde t este pragul predefinit. Atunci numărul de pixeli care se potrivesc este:
∑∈
=Bnn
ddnnTddMPC),(
212121
21
),;,(),( (4.44)
Capitolul 4 – Estimarea mişcării bidimensional 85
şi
[ ] ),(minargˆ,ˆ21
),(21
21
ddMPCdddd
T= (4.45)
Estimatul mişcării este valoarea lui ),( 21 dd care dă cel mai mare număr de pixeli care
se potrivesc.
b) Clasificare în funcţie de strategia de căutare
În mod obişnuit, pentru a reduce efortul de calcul, suprafaţa de căutare este
limitată la o fereastră de dimensiuni 111 MdM ≤≤− şi 222 MdM ≤≤− centrată în jurul
fiecărui pixel, pentru care va fi estimat un vector de mişcare, unde 1M şi 2M sunt
întregi predefiniţi.
În continuare vom prezenta câteva exemple de algoritmi de căutare:
Căutarea completă
Este folosită pentru evaluarea criteriilor de potrivire în fiecare bloc de
dimensiune 1212 21 +×+ MM . Această strategie este extrem de consumatoare de timp
şi nu se prea foloseşte. În schimb sunt folosiţi alţi algoritmi de căutare mai rapizi.
Căutarea în trei paşi
Vom explica procedura de căutare în trei paşi cu ajutorul Figurii 4.13, unde este
reprezentat doar cadrul de căutare cu parametrii ferestrei de căutare 721 == MM .
Numărul „0” marchează pixelul din cadrul de căutare care este chiar pe poziţia
pixelului căruia i se doreşte estimarea mişcării. La primul pas funcţia criteriu de
căutare este evaluată în nouă puncte, pixelul „0” şi pixelii marcaţi cu „1”. Dacă eroarea
MSE sau MAD cea mai mică este găsită pentru pixelul „0”, atunci nu avem mişcare.
La al doilea pas funcţia criteriu de estimare este evaluată în 8 puncte marcate cu „2”
centrate în jurul pixelului cu cea mai mică eroare de la primul pas (marcat printr-un „1”
încercuit). De remarcat că la primul pas pixelii de căutare sunt marginile ferestrei de
căutare şi că la fiecare pas înjumătăţim distanţa de la pixelii de căutare la noul centru
Capitolul 4 – Estimarea mişcării bidimensional 86
pentru a obţine estimate de rezoluţie mai fină. Estimatul mişcării este obţinut după cel
de al treilea pas, la care pixelii de căutare sunt la un pixel distanţă de pixelul din centru.
Figura 4.13 Căutare în trei paşi
Paşi adiţionali pot fi introduşi în procedură dacă dorim o exactitate de suppixel a
estimatelor mişcării. Cadrul de căutare trebuie să fie interpolat pentru a evalua funcţia
criteriu de estimare la poziţii subpixel. Generalizări ale acestei proceduri pentru mai
mulţi paşi duc la aşa numite „căutări cu n paşi” sau „căutări log-D”.
Căutare încrucişată
Metoda căutării încrucişate este altă strategie de căutare logaritmică, la care la
fiecare pas există 4 poziţii de căutare care sunt colţurile unei cruci în formă de „X” sau
în formă de „+”. În Figura 4.14 este reprezentat cazul crucii în formă de „+”.
Distanţa dintre punctele de căutare este redusă dacă cea mai bună potrivire este
în centrul crucii sau la marginea ferestrei de căutare. Există diferite variaţii ale acestei
strategii de căutare.
0
1 11
1 1
2
1
1
2 2
2
2
2
2
2
3 33 33 3 3
3
Capitolul 4 – Estimarea mişcării bidimensional 87
Figura 4.14 Căutare încrucişată
Minimizările după criteriile MSE sau MAD pot fi considerate ca impuneri ale
condiţiei de flux optic pentru întreg blocul. Se presupune că toţi pixelii care aparţin
unui bloc au un singur vector de tranziţie, ceea ce este un caz particular al constrângerii
locale de liniaritate (la fel ca şi la metoda Lucas-Kanade).
Există cerinţe contradictorii în determinarea dimensiunii blocului. Dacă
blocurile sunt prea mici, ar putea fi găsită o potrivire între blocuri cu distribuţii de
nivele de gri similare dar care nu au legătură din punct de vedere al mişcării. Pe de altă
parte, dacă blocurile sunt prea mari, atunci vectorii de mişcare propriu-zişi pot varia în
interiorul unui bloc, nerespectându-se presupunerea de vector de mişcare unic pe bloc.
Potrivirea ierarhică a blocurilor , discutată în subcapitolul următor, ia în calcul aceste
cerinţe contradictorii.
0
1
1
1
1
2
2
2
3
3
4 5
4
3
55
5
Capitolul 4 – Estimarea mişcării bidimensional 88
4.4.4 Potrivirea ierarhică a blocurilor
Reprezentarea ierarhică (multirezoluţie) a imaginilor (cadre ale unei secvenţe)
sub forma unei piramide Laplacian sau Transformate Wavelet poate fi folosită
împreună cu metoda corelaţiei de fază sau metoda potrivirii blocurilor pentru o
estimare mai bună a mişcării. O reprezentare piramidală a unui singur cadru este dată
în Figura 4.15 unde imaginea la rezoluţia maximă (nivelul 1) este cea mai de jos.
Imaginile de la nivelele superioare sunt imagini de rezoluţie mai scăzută obţinute prin
filtrare trece-jos şi subeşantionare. În continuare vom discuta doar despre metoda
ierarhică de potrivire a blocurilor. O implementare ierarhică a metodei corelaţiei de
fază urmează aceleaşi principii.
Figura 4.15 Reprezentarea ierarhică a imaginii
Ideea de bază este să se facă estimarea mişcării succesiv pe fiecare nivel,
începând cu nivelul cel mai mic de rezoluţie. Nivelele de rezoluţie mică produc un
estimat brut al mişcării folosind blocuri relativ mari. De remarcat că „mărimea relativă
a unui bloc” poate fi măsurată ca mărimea blocului normată la mărimea imaginii la o
anumită rezoluţie. Estimatul vectorului de mişcare la o rezoluţie mai mică este apoi
trecut la o rezoluţie mai mare. Nivelele mai mari de rezoluţie au rolul de a ajusta fin
Capitolul 4 – Estimarea mişcării bidimensional 89
estimatul vectorului de mişcare. La rezoluţii mai mari pot fi folosite mărimi mai mici
ale ferestrei de căutare deoarece pornim cu un estimat iniţial bun.
În practică putem sări peste pasul subeşantionării. Atunci piramida conţine
imagini care au toate aceeaşi mărime, dar sunt succesiv tot mai înceţoşate pe măsură ce
coborâm la nivele mai mici de rezoluţie. Potrivirea ierarhică a blocurilor, într-un astfel
de caz, este ilustrată în Figura 4.16, unde blocurile mai mari sunt folosite pentru
versiunile mai înceţoşate ale imaginii. Pentru simplitate operaţia de filtrare trece-jos
(înceţoşare) poate fi realizată printr-un filtru care înlocuieşte fiecare pixel cu o medie
locală.
Figura 4.16 Potrivirea ierarhică a blocurilor
Un set tipic de parametrii pentru potrivirea ierarhică a blocurilor pe cinci nivele
(fără subeşantionare) este dat în Tabelul 1.1. Aici lungimea filtrului se referă la
mărimea ferestrei pătrate folosită la calcularea mediei locale.
În Figura 4.17 este reprezentată potrivirea ierarhică a blocurilor pe 2 nivele,
unde deplasarea maximă admisă este M=7 pentru nivelul 2 şi M=3 pentru nivelul 1.
Cel mai bun estimat la nivelul de rezoluţie mai mică (nivelul 2) este indicat printr-un
„3” încercuit. Centrul suprafeţei de căutare la nivelul 1 (indicat prin „0”)
Cadrul k
Cadrul k+1
Capitolul 4 – Estimarea mişcării bidimensional 90
Tabelul 1.1 Set tipic de parametrii pentru potrivirea ierarhică a blocurilor pecinci nivele
Nivelul 1 2 3 4 5
Mărimea filtrului 10 10 5 5 3
Deplasarea maximă ±31 ±15 ±7 ±3 ±1
Mărimea blocului 128 64 64 28 12
corespunde celui mai bun estimat de la nivelul 2. Estimatele la nivelul 2, respectiv 1,
sunt [ ]T1,7 şi [ ]T1,3 , rezultând un estimat total [ ]T2,10 . Potrivirea ierarhică a blocurilor cu
precizie mai mică de un pixel poate fi realizată printr-o interpolare corespunzătoare.
Figura 4.13 Căutare în trei paşi
0
1 11
1 1
2
1
1
2 2
2
2
2
2
2
3 33 33 3 3
3
Nivelul 1 (rezoluţie mai mare)
0
1 1
1
2
1
1
1
1 1
2222
2
22
Nivelul 2 (rezoluţie mai mică)
Capitolul 4 – Estimarea mişcării bidimensional 91
4.5 METODE RECURSIVE LA NIVEL DE PIXEL
Toate metodele de estimare a mişcării impun condiţia de flux optic şi încă o altă
condiţie de liniaritate. Metodele recursive la nivel de pixel produc estimatori de tip
predictor-corector de forma
);,();,();,( tttttt ba ∆+∆=∆ xuxdxd (4.46)
unde );,( tta ∆xd este vectorul de mişcare estimat la poziţia x şi la momentul t,
);,( ttb ∆xd este estimatul mişcării obţinut prin predicţie, şi );,( tt ∆xu este termenul de
actualizare. Indicii „a” şi „b” înseamnă după respectiv înainte de actualizarea la pixelul
),( tx . Pasul de predicţie la fiecare pixel impune o condiţie locală de liniaritate asupra
estimatelor, iar termenul de actualizare impune condiţia de flux optic.
Estimatul (4.46) este calculat de obicei în mod recursiv, realizând una sau mai
multe iteraţii pentru pixelul ),( tx iar apoi trecând la următorul pixel în direcţia scanării.
De aici numele de recursiv la nivel de pixel. Primele abordări recursive la nivel de
pixel s-au concentrat asupra uşurinţei implementării hardware şi operării în timp real şi
foloseau o predicţie şi ecuaţii de actualizare simple. În general, cel mai bun estimat
disponibil la pixelul anterior era luat ca estimat prezis pentru următorul pixel, urmând o
singură actualizare bazată pe gradient pentru minimizarea pătratului diferenţei de
deplasare a cadrului pentru respectivul pixel. Mai târziu s-au folosit metode de
predicţie şi scheme de actualizare mai sofisticate, dar care necesitau şi un efort de
calcul mai mare.
Începem cu o discuţie detaliată a legăturii dintre minimizarea diferenţei de
deplasare a cadrului şi condiţia fluxului optic în subcapitolul 4.5.1. Subcapitolul 4.5.2
descrie câteva metode de minimizare bazate pe gradient, care fac parte din metodele
recursive de bază. Metodele recursive de bază la nivel de pixel sunt descrise în
subcapitolul 4.5.3 şi o extensie a acestor metode, numită estimarea Wiener, este
prezentată în subcapitolul 4.5.4.
Capitolul 4 – Estimarea mişcării bidimensional 92
4.5.1 Diferenţa de deplasare a cadrului (DFD)
Principiul de bază în majoritatea metodelor de estimare a mişcării, condiţia de
flux optic, este faptul că intensitatea imaginii rămâne neschimbată de la cadru la cadru
de-a lungul direcţiei de mişcare corecte (sau se modifică într-un mod cunoscut sau
predictibil). Condiţia de flux optic poate fi impusă sub forma ecuaţiei fluxului optic
(vezi subcapitolul 4.3) sau prin minimizarea diferenţei de deplasare a cadrului (4.39) ca
în metodele potrivirii blocurilor şi metodele recursive la nivel de pixel. Acest
subcapitol oferă o descriere a legăturii dintre minimizarea diferenţei de deplasare a
cadrului (DFD) şi ecuaţia fluxului optic (OFE).
Fie
Tddtt )]()([)();,( 21 xxxdxd ==∆ (4.47)
câmpul de deplasare între cadrele de la momentul t şi tt ∆+ .
Funcţia DFD între aceste două cadre este definită ca
),,()),;,((),( tsttttsdfd cc xxdxdx −∆+∆+= (4.48)
unde ),,( 21 txxsc este distribuţia de intensitate spaţio-temporală a imaginii. Dacă
componentele lui )(xd nu sunt întregi, este necesară interpolarea pentru a calcula dfd
pentru fiecare pixel. Dacă )(xd ar fi egal cu vectorul de deplasare real de la poziţia x şi
nu au existat erori de interpolare, atunci dfd atinge valoarea zero pentru acel pixel.
Pentru a găsi o legătură între diferenţa de deplasare a cadrului şi ecuaţia
fluxului optic, dezvoltăm DFD în serie Taylor în jurul punctului ),( tx , pentru )(xd şi ∆t
mici:
...),(
)(),(
)(),(
),());(),((
22
11
2211
mott
tstd
x
ts
dx
tststtdxdxs
cc
ccc
+∂
∂∆+
∂∂
+
+∂
∂+=∆+++
xx
x
xx
xxx
(4.49)
Înlocuind (4.49) în (4.48) şi neglijând termenii de ordin mare (t.o.m.), obţinem
t
tstd
x
tsd
x
tsdfd ccc
∂∂
∆+∂
∂+
∂∂
=),(
)(),(
)(),(
),( 22
11
xx
xx
xdx (4.50)
Capitolul 4 – Estimarea mişcării bidimensional 93
Investigăm relaţia dintre DFD şi OFE în două cazuri:
1. Dacă 0→∆t : facem 0),( =dxdfd , împărţim ambele părţi la t∆ , facem limita
când 0→∆t şi obţinem ecuaţia fluxului optic:
0),(
ˆ),(
ˆ),(
22
11
=∂
∂+
∂∂
+∂
∂t
txsv
x
txsv
x
txs ccc
(4.51)
unde [ ]Ttvtvt ),(),(),( 21 xxxv = este vectorul viteză la momentul t. Rezultă că
estimarea vitezei folosind OFE şi estimarea deplasării prin egalarea DFD cu 0
sunt echivalente daca 0→∆t .
2. Pentru t∆ finit: un estimat al vectorului de mişcare )(xd între oricare două
cadre aflate la intervalul t∆ de timp se poate obţine din ecuaţia (4.50) în mai
multe moduri:
a) Căutând )(ˆ xd , care ar satisface ecuaţia (4.50)=0, într-un bloc de pixeli
(strategia potrivirii blocurilor)
b) Calculând )(ˆ xd , care ar satisface ecuaţia (4.50)=0, la nivel de pixel folosind
o schemă de optimizare bazată pe gradient (strategie recursivă la nivel de
pixel)
c) Făcând 1=∆t şi 0),( =dxdfd şi rezolvând ecuaţia folosind un set de ecuaţii
liniare obţinute din membrul drept al ecuaţiei (4.50) pentru un bloc de pixeli.
Toate cele trei metode sunt de fapt identice dacă variaţia locală a intensităţii
spaţio-temporale a imaginii este liniară şi viteza este constantă în intervalul de
timp t∆ , adică
ttvd ∆= ),(ˆ)(ˆ11 xx şi ttvd ∆= ),(ˆ)(ˆ
22 xx (4.52)
În practică, nici dfd, nici eroarea OFE nu sunt exact zero, deoarece există
zgomot de observare, iluminarea scenei poate varia în timp, există regiuni de ocluzie şi
erori de interpolare. De aceea se doreşte minimizarea valorii absolute sau a pătratului
diferenţei de deplasare a cadrului pentru a obţine un estimat al câmpului de mişcare.
Metodele de estimare recursive la nivel de pixel prezentate în continuare folosesc
Capitolul 4 – Estimarea mişcării bidimensional 94
tehnici de optimizare bazate pe gradient pentru minimizarea pătratului dfd cu o condiţie
de liniaritate implicit folosită în pasul de predicţie.
4.5.2 Optimizarea bazată pe gradient
O modalitate simplă de a minimiza o funcţie ),...,( 1 nuuf este de a anula
derivatele parţiale în funcţie de fiecare necunoscută şi a rezolva simultan ecuaţiile:
0)(
.
.
.
0)(
2
1
=∂∂
=∂∂
u
f
u
f
u
u
(4.53)
Acest set de ecuaţii simultane poate fi scris sub formă vectorială:
0)( =∇ uu f (4.54)
unde d∇ este operatorul gradient în funcţie de vectorul necunoscut u. Deoarece în
general o soluţie analitică a acestor ecuaţii nu poate fi găsită, apelăm la metode
iterative.
Metoda Steepest-Descent
Steepest-Descent este probabil cea mai simplă metodă numerică de optimizare.
Algoritmul actualizează estimatul curent al poziţiei minimului pe direcţia gradientului
negativ, numită direcţia Steepest-Descent. Vectorul gradient are direcţia opusă
minimului. Aceasta înseamnă ca, pentru o singură dimensiune (funcţie de o singură
variabilă), semnul lui va fi pozitiv pentru o pantă ascendentă. Astfel, direcţia spre
minim este exact direcţia inversă gradientului (vezi Figura 4.14).
Capitolul 4 – Estimarea mişcării bidimensional 95
Figura 4.14 Ilustrarea metodei Steepest-Descent
Pentru a ne apropia de minim, putem să actualizăm vectorul curent cu relaţia:
)()()()( )()1(kfxx kk
uu uuu ∇−=+ α (4.55)
unde α este un scalar pozitiv şi se numeşte mărimea pasului. Mărimea pasului este
critică pentru convergenţa iteraţiilor. Dacă α este prea mic, iteraţia va ajunge la
convergenţă greu, iar dacă este prea mare algoritmul va deveni instabil şi va oscila în
jurul minimului (vezi Figura 4.14). Pentru metoda Steepest-Descent mărimea pasului
este de obicei aleasă aleator.
Metoda Newton-Raphson
Putem estima o valoare bună pentru α utilizând bine cunoscuta metodă Newton-
Raphson pentru găsirea rădăcinii. Pentru simplitate, aici derivarea se face pentru o
funcţie de o singură variabilă. Pentru o singură dimensiune dorim să găsim o rădăcină a
lui )(uf ′ . Pentru aceasta dezvoltăm )(uf ′ în serie Taylor în jurul punctului )(ku :
( ) ( ) )()()()( )()()1(1 kkkkk ufuuufuf ′′−+′=′ ++(4.56)
Deoarece vrem ca ( )1+ku să fie o rădăcină al lui f’ egalăm ecuaţia anterioară cu zero:
)(kdd
E(d)
α prea mic
α prea mare
mind
Capitolul 4 – Estimarea mişcării bidimensional 96
( )( ) ( ) ( )( ) ( )( ) 0''1' =−+ + kkkk ufuuuf (4.57)
Rezolvând această ecuaţie obţinem
( ) ( )( )( )( )( )k
kkk
uf
ufuu
''
'1 −=+
(4.58)
Acest rezultat poate fi generalizat pentru o funcţie de mai multe variabile:
( ) ( ) ( ) ( )kfkk
uu uHuu ∇−= −+ 11
(4.59)
unde H este matricea Hessiană.
∂∂∂
=ji
ij uu
f )(2 uH (4.60)
Minimizarea prin metoda gradientului are o problemă serioasă, dată de
dependenţa de punctul de pornire. Dacă pornim dintr-o „vale”, ne vom bloca în acea
vale chiar dacă este un minim „local”. Nu există vreo posibilitate de a ieşi din minimul
local şi a găsi minimul global. O soluţie pentru această problemă ar fi să pornim
algoritmul din diferite puncte de start şi să alegem soluţia care ne dă valoarea cea mai
mică pentru funcţia criteriu.
Există metode de optimizare mai sofisticate care să fie în stare să găsească un
minim global, indiferent de punctul de start. Aceste metode necesită însă un timp de
procesare mult mai mare.
4.5.3 Algoritmi bazaţi pe metoda Steepest-Descent
Estimarea mişcării folosind metode recursive la nivel de pixeli este precedată de
o etapă de detecţie, unde diferenţa de deplasare a cadrului este comparată cu un prag.
Estimarea se face doar pentru pixelii care aparţin unei regiuni modificate. Algoritmii
recursivi bazaţi pe metoda Steepest-Descent estimează termenul de actualizare
);,( tt ∆xu din ecuaţia (4.46) pentru fiecare pixel din regiunea modificată, astfel încât să
minimizeze în raport cu d o funcţie pozitiv definită E a dfd. Funcţia E trebuie să fie
pozitiv definită, la fel ca funcţia pătrat, astfel încât minimul să se obţină când dfd este
Capitolul 4 – Estimarea mişcării bidimensional 97
zero. Dfd converge local la zero atunci când );,(ˆ tta ∆xd converge la vectorul de mişcare
propriu-zis. De aceea, pasul de actualizare corespunde impunerii locale a condiţiei de
flux optic. În continuare prezentăm mai mulţi algoritmi bazaţi pe metoda Steepest-
Descent.
Algoritmul Netravali – Robbins
Acest algoritm găseşte un estimat al vectorului de deplasare, care minimizează
pătratul DFD pentru fiecare pixel folosind metoda Steepest-Descent. Funcţia de
minimizat este:
2)],([);( dxdx dfdE = (4.61)
Din subcapitolul 4.5.2 minimizarea lui );( dxE în funcţie de d pentru pixelul x
produce iteraţia:
)ˆ,()ˆ,()(ˆ)]ˆ,([)2/1()()( 21 iiiiii dfddfddfd dxdxxddxxdxd dd ∇−=∇−=+ αα (4.62)
unde ∇ este gradientul în funcţie de d şi α este mărimea pasului.
În continuare vom evalua termenul ),( dxddfd∇ . Din ecuaţia (4.48) putem scrie:
),ˆ(),()ˆ,(),( ttsttsdfddfd icc
i ∆++−∆++=− dxdxdxdx (4.63)
Dezvoltând intensitatea ),( ttsc ∆++dx într-un punct arbitrar x+d în serie Taylor în
jurul lui idx ˆ+ , obţinem
)ˆ,(),()ˆ(),ˆ(),( ˆi
cii
cc ottsttstts i dxdxdddxdxddx +∆++∇−+∆++=∆++
− (4.64)
unde )ˆ,( io dx sunt termenii de ordin mai mare din serie. Înlocuind dezvoltarea în serie
în ecuaţia (4.63) obţinem expresia DFD liniarizată:
)ˆ,()ˆ)(,ˆ()ˆ,(),( iiic
i ottsdfddfd dxdddxdxdx x +−∆++∇+= (4.65)
unde ittstts ci
c ddxx dxdx ˆ),(),ˆ(−
∆++∇=∆++∇ .
Folosind (4.65) şi ignorând termenii de ordin mare, putem exprima gradientul
din DFD ca funcţie de d în funcţie de gradientul spaţial al intensităţii imaginii:
Capitolul 4 – Estimarea mişcării bidimensional 98
),ˆ(),( ˆ ttsdfd ici ∆−−∇=∇
=dxdx xddd (4.66)
şi atunci estimatorul recursiv la nivel de pixel devine
);(),()()(1 ttsdfd ic
iii ∆−−∇−=+ dxdxxdxd xα (4.67)
În ecuaţia (4.67) primul termen este cel de predicţie şi al doilea este termenul de
actualizare.
Problema aperturii apare şi la algoritmii recursivi la nivel de pixel. Termenul de
actualizare este un vector de-a lungul gradientului spaţial al intensităţii imaginii. Nici o
corecţie nu este realizată în direcţia perpendiculară pe vectorul gradient.
Pentru a simplifica şi mai mult structura estimatorului, Netravelli şi Robbins au
propus formula modificată pentru estimator:
);(sgn),()()(1 ttsdfdsign ic
iii ∆−−∇−=+ dxdxxdxd xα (4.68)
unde termenul de actualizare poate lua trei valori diferite, α± şi zero. În acest caz
estimaţii mişcării sunt actualizaţi pe direcţiile în unghiuri de 0, 45, 90, 135, ... de grade.
Convergenţa şi viteza de convergenţă a algoritmului Netravelli-Robbins depind
de alegerea mărimii pasului α . De exemplu, dacă 161=α ,atunci cel puţin 13 iteraţii
sunt necesare pentru a estima o deplasare de 2 pixeli. Pe de altă parte, un α mare poate
duce la oscilaţii. Pot fi concepute diferite strategii pentru a realiza o convergenţă mai
bună a algoritmului.
Algoritmul Walker-Rao
Walker şi Rao au propus o mărime a pasului adaptivă motivată prin
următoarele:
i) În vecinătatea unei margini a imaginii unde ),,( 21 txxsc este mare , α ar trebui
să fie mic, dacă DFD este mică, astfel încât să nu facem o actualizare prea mare.
Mai mult, în vecinătatea unei margini, exactitatea estimării mişcării este
deosebit de importantă şi de aceea este nevoie de un pas mic.
ii) Pe suprafeţe uniforme ale imaginii unde ),,( 21 txxsc este mic, avem nevoie de
un pas mare, când DFD este mare.
Capitolul 4 – Estimarea mişcării bidimensional 99
Ambele cerinţe pot fi satisfăcute de un pas de forma:
2),(
1
tts ic ∆−−∇
=dxx
α(4.69)
În plus Walker şi Rao au introdus următoarele reguli:
1. Dacă DFD este mai mică decât un pas, termenul de actualizare este luat zero.
2. Dacă DFD trece peste respectivul prag, dar amplitudinea gradientului spaţial al
imaginii este zero, atunci termenul de actualizare este de asemenea luat zero.
3. dacă valoarea absolută a termenului de actualizare (pentru fiecare componentă)
este mai mică decât 1/16, atunci este egalată cu 161± .
4. Dacă valoarea absolută a termenului de actualizare (pentru fiecare componentă)
este mai mare decât 2, atunci este egalată cu 2± .
Caffario şi Rocca au adăugat un termen adiţional 2η pentru a evita divizarea la
zero în zonele de intensitate constantă, unde gradientul spaţial este aproape zero:
( ) 22
x ,dx
1
ηα
+∆−−∇=
tts ic (4.70)
O valoare tipică pentru 1002 =η .
Rezultatele experimentale arată că, utilizând un pas adaptiv, convergenţa
algoritmului Netravelli-Robbins se îmbunătăţeşte semnificativ. S-a arătat că 5 iteraţii
au fost suficiente pentru obţinerea de rezultate satisfăcătoare în majoritatea cazurilor.
Extensie pentru modelul blocurilor în mişcare
Metoda anterioară poate fi extinsă pentru suport multipixel. Dacă presupunem
că deplasarea rămâne constantă pe un suport B în jurul fiecărui pixel, putem minimiza
DFD pe suportul B şi nu pixel cu pixel.
( ) ( )[ ]∑∈
=B
dfdEB
2B ,,
x
dxdx(4.71)
Capitolul 4 – Estimarea mişcării bidimensional 100
Suportul B trebuie să fie cauzal (în sensul calculului recursiv) pentru a conserva
recursivitatea algoritmului. Un suport cauzal tipic cu N=7 pixeli este arătat în Figura
4.15.
Figura 4.15 Un suport cauzal B pentru N=7
Urmând acelaşi raţionament ca şi la deducerea algoritmului la nivel de pixel,
minimizarea folosind metoda Steepest-Descent produce iteraţia:
( )[ ]∑∈
+ ∆−−∇−=B
ic
iii ttsdfdB
2
BB1 )),(ˆ()(ˆ,)(ˆ)(ˆ
xx xdxxdxxdxd α (4.72)
Se observă că această formulare este echivalentă cu aceea de la potrivirea blocurilor, cu
excepţia formei suportului B. Aici soluţia este gândită pentru minimizare Steepest-
Descent şi nu pentru o strategie de căutare.
4.5.4 Algoritmul de estimare Wiener
Metoda de estimare Wiener este o extensie a algoritmului Netravelli-Robbins în
cazul mişcării blocurilor, la care termenii de grad mai mare din expresia DFD
liniarizată (4.65) nu sunt ignoraţi. În schimb, este folosit un estimat linear al termenului
de actualizare )(ˆ)()( xdxdxu ii −= calculat într-o vecinătate a pixelului x pe baza erorii
celui mai mic pătrat (LLSE) sau a erorii pătratice medii minime (LMMSE), unde )(xd
este vectorul de mişcare. În continuare vom oferi deducerea estimatorului Wiener
pentru N observaţii, pentru vectorul de mişcare )(xd .
1 2 3 4
5 6 x
Capitolul 4 – Estimarea mişcării bidimensional 101
Scriind ecuaţia (4.65) cu 0),( =dx Bdfd pentru toţi N pixelii Bx din suportul B,
rezultă N ecuaţii în cele două necunoscute (componentele lui iu ):
( ) ( )( ) ( )( )( )( ) ( )( ) ( )( )
( )( ) ( )( ) ( )( ))(ˆ,),(ˆ)(ˆ,
)(ˆ,2),(ˆ2)(ˆ,2
)(ˆ,1),(ˆ1)(ˆ,(1)
BBB
BBB
BBB
xdxuxdxxdx
xdxuxdxxdx
xdxuxdxxdx
iiic
Ti
iiic
Ti
iiic
Ti
NottNsNdfd
ottsdfd
ottsdfd
+∆−−∇=−
=+∆−−∇=−
+∆−−∇=−
(4.73)
unde )(),...,1( NBB xx arată o ordonare a pixelilor în interiorul suportului B (vezi Figura
4.15). Aceste ecuaţii pot fi exprimate sub formă vector-matrice:
unde
( )( )( )
( )( )
−
−−
=
)(ˆ,
)(ˆ,2)(ˆ,(1)
B
B
B
xdx
xdxxdx
z
i
i
i
Ndfd
dfddfd
(4.75)
( )( ) ( )( )
( )( ) ( )( )
( )( ) ( )( )
∂∆−−∂
∂∆−−∂
∂∆−−∂
∂∆−−∂
∂∆−−∂
∂∆−−∂
=Φ
2
B
1
B
2
B
1
B
2
B
1
B
,ˆ,ˆ
,ˆ2,ˆ2
,ˆ1,ˆ1
x
ttNs
x
ttNs
x
tts
x
ttsx
tts
x
tts
ic
ic
ic
ic
ic
ic
dxdx
dxdx
dxdx
(4.76)
şi
( )( )( )( )
( )( )
=
i
i
i
No
o
o
dx
dx
dx
n
ˆ,
ˆ,2
ˆ,1
B
B
B
(4.77)
Atunci estimatul LMMSE al termenului de actualizare este dat de:
nuz +Φ= M (4.74)
[ ] zRRRxu 1111 ΦΦΦ)(ˆ −−−− += nT
unT
(4.78)
Capitolul 4 – Estimarea mişcării bidimensional 102
Găsirea soluţiei necesită cunoaşterea matricei de covarianţă atât a termenilor de
actualizare uR cât şi a erorilor de liniarizare vR . Presupunem că IR 2uu σ= şi
IR 2vv σ= , unde 2
uσ şi 2nσ sunt varianţele componentelor celor doi vectori. Atunci
rezultă
zIxu T
u
vT Φ
+ΦΦ=
−1
2
2
)(ˆσσ (4.79)
şi
zIdd T
u
vTii Φ
+ΦΦ+=
−
+
1
2
21 ˆˆ
σσ (4.80)
De menţionat că presupunerile care sunt utilizate pentru a ajunge la o evaluare
simplificată nu sunt în general adevărate, de exemplu eroarea de liniarizare este
necorelată cu termenul de actualizare, iar actualizările şi erorile de liniarizare pentru
fiecare pixel sunt necorelate cu ele însele. Rezultatele experimentale indică
performanţe mai bune decât alte estimări recursive la nivel de pixel.
4.6 METODE BAYESIENE
În acest subcapitol estimarea mişcării 2-D este formulată şi rezolvată ca o
problemă Bayesiană de estimare. În subacapitolele precedente,unde am prezentat
formulări determinste ale problemei, am minimizat fie eroare în ecuaţia fluxului optic,
fie o funcţie a diferenţei de deplasare a cadrului (DFD). Aici abaterea funcţiei DFD de
la zero este modelată de un proces aleator care este distribuit exponenţial. Mai mult,
este introdusă o condiţie stohastică de liniaritate prin modelarea câmpului de mişcare
printr-o distribuţie Gibbs.n Subcapitolul 4.6.1 este o prezentare a definiţiilor şi
proprietăţilor câmpurilor aleatoare ale lui Markov şi Gibbs.
Deoarece estimarea Bayesiană necesită optimizarea globală a unei funcţii de
cost, în subcapitolul 4.6.2 vom studia o serie de metode de optimizare: refacerea
Capitolul 4 – Estimarea mişcării bidimensional 103
simulată (SA), modurile condiţinale iterative (ICM) şi refacerea câmpului principal
(MFA). Subcapitolul 4.6.3 ne oferă formularea de bază a problemei estimării folosind
probabilitatea aposteriori maximă. Extensii ale formulării de bază care se ocupă cu
discontinuităţi în mişcare şi zone de ocluzie sunt discutate în subcapitolul 4.6.4. Se va
vedea că metodele de potrivire a blocurilor, cele recursive la nivel de pixel şi algoritmii
Horn-Schunck sunt cazuri particulare ale estimatorului MAP.
4.6.1 Câmpurile aleatoare ale lui Markov şi Gibbs (MRF)
MRF sunt extensii de la o dimensiune la două dimensiuni ale lanţurilor cauzale
ale lui Markov. Ele au fost iniţial definite prin probabilităţi condiţionate locale, ceea ce
a limitat utilizarea lor. Recent a fost arătat că orice MRF poate fi descris de o
distribuţie Gibbs, ceea ce i-a adus numele de câmp aleator al lui Gibbs (GRF).
Metodele de estimare bayesiane pot fi dezvoltate utilizând câmpurile aleatoare ale lui
Gibbs ca modele de semnal apriori pentru aplicaţii complexe de procesare de imagine
cum ar fi estimarea şi segmentarea.
Definiţii
Fie un câmp aleator ( ) Λ∈= xxzz , , definit peste o latice Λ şi Ω∈ω , care
reprezintă o realizare particulară a câmpului aleator z. Câmpul aleator z(x) poate avea
valori continue sau discrete, ceea ce înseamnă că ( ) Rx ∈ω respectiv
( ) 1,...,1,0 −=Γ∈ Lxω , pentru Λ∈∀ x .
Setul xN de valori este o vecinătate a lui x şi are proprietăţile:
(i) xx N∉ şi
(ii) ji xixj NxNx ∈↔∈ ,
Capitolul 4 – Estimarea mişcării bidimensional 104
unde ix şi jx indică poziţiile arbitrare în latice (în cuvinte, x nu aparţine propriului set
de vecinătăţi şi dacă jx este o vecinătate a lui ix , atunci ix este o vecinătate a lui jx
şi invers). Sistemul de vecinătăţi peste Λ este definit ca Λ∈= xNN x ,
În figura următoare sunt prezentate câteva sisteme de vecinătate:
Figura 4.16 Sisteme de vecinătate
Un grup C este definit ca Λ⊆C dacă toate perechile de poziţii din C sunt vecine. Mai
mult, C este setul tuturor acestor grupuri.
Câmpuri aleatoare Markov (MRF)
Câmpul aleator ( ) xz z= este un câmp aleator Markov pentru N dacă
( ) ω=∀> zpentru ,0zp (4.81)
şi
( ) ( )( ) ( ) ( )( )ixjjiijji Nxxzxzpxxxzxzp ∈=≠∀ ,,
(4.82)
Capitolul 4 – Estimarea mişcării bidimensional 105
Prima condiţie arată că toate realizările au funţia de distribuţie a probabilităţii (fdp)
diferită de zero, în timp ce a doua afirmă că fdp condiţionată la o poziţie particulară
depinde numai de propria vecinătate.
Apar însă şi unele dificultăţi cu modelele MRF ca de exemplu: fdp de cuplare
p(z) nu poate fi uşor pusă în legătură cu proprietăţile locale şi este greu de determinat
când un set de funcţii
( ) ( )( ) Λ∈∈ ixjji xNxxzxzpi
,,(4.83)
sunt fdp-uri codiţionate valide.
Câmpuri aleatoare Gibbs
Un GRF cu un sistem de vecinătăţi N şi setul asociat de grupuri C este
caracterizat de fdp de cuplare.
Pentru valori discrete ale fdp avem:
unde
( )∑ =−=ω
ω TUeQ /z
(4.85)
iar pentru valori continue:
( ) ( ) TUeQ
p /z1z −= (4.86)
unde
( )∫ −=ω
dzeQ TzU /
(4.87)
şi U(z) este potenţialul Gibbs (energia Gibbs) definită ca
( ) ( )∑ −== =−
ω
ωδω z1
z /)( TwzUeQ
p (4.84)
Capitolul 4 – Estimarea mişcării bidimensional 106
( ) ( )( )∑Λ∈
∈=C
c CxxzVzU(4.88)
Exemplu: constrângera de netezire spaţială folosind GRF
Fie un sistem de vecinătate de 4-puncte şi grupuri de 2 pixeli. Peste o latice de
4×4 există un total de 24 de grupuri. Potenţialul grupului de 2-pixeli este definit ca
( ) ( )( ) ( ) ( )
+
=−=
restin ,
daca,,
β
β jijic
xzxzxzxzV (4.89)
unde β este un număr pozitiv.
Fig.4.17 Constrângere de netezire spaţială folosind GRF pentru o latice de 4x4
De remarcat că un potenţial mai redus înseamnă o probabilitate mai mare.
O teoremă care stabileşte o corespondenţă între GRF şi MRF este următoarea:
Teorema Hammersley-Clifford (H-C): Fie N un sistem de vecinătate. Atunci z(x)
este un MRF pentru N dacă şi numai dacă p(z) este un Gibbsian pentru N.
Teorema H-C ne furnizează o cale mai simplă şi practică pentru a exprima MRF-urile
prin potenţialele Gibbs. În general MRF este specificat în termeni de fpd condiţionată
local. De observat că nu există o metodă generală pentru a obţine fdp cuplată a unui
MRF din fdp-urile condiţionate local. Distribuţia Gibbs dă fdp cuplată al lui z, care
24 de grupuride 2 pixeli
(a)
V=-24β
(b)
V=24β
(c)
Capitolul 4 – Estimarea mişcării bidimensional 107
poate fi exprimată uşor prin potenţiale de grup, ce exprimă interacţiunea locală
între pixeli. Aceştia pot fi stabiliţi arbitrar.
Obţinerea fdp-urilor condiţionate local din potenţiale Gibbs
Este utilizată în metoda dispozitivului de eşantionare a lui Gibbs pentru
optimizare. Fdp condiţionată local este definită ca:
( ) ( )( ) ( )( )( )( )
( )( )
Λ∈∀=
=≠
=≠∀
∑ Γ∈
i
xz
ijjijii
xzp
zp
xxxzp
zpxxxzxzp
i
,
,, (4.90)
După câteva operaţii algebrice se obţine
( ) ( )( ) ( )( )∑=≠∀ ∈∈−− CiC c
i
CzVT
ijii eQzzp xxx
11
xxx,xx (4.91)
unde
( )( )
( )∑
Γ∈
∈− ∑= ∈
i
CiC c
iz
CzVTeQ
x
xx1
xx (4.92)
4.6.2 Metode de optimizare
Multe probleme de estimare şi segmentare necesită minimizarea unei funcţii de
energie )(uE , unde u este un vector N-dimensional oarecare. Ne punem problema
găsirii lui
( )( )uu u Eminargˆ = (4.93)
Această minimizare este foarte dificilă pentru aplicaţiile de procesare de imagine
datorită dimensiunii vectorului necunoscut şi prezenţa miniimelor locale deoarece E(d)
este de obicei neconvex.
Capitolul 4 – Estimarea mişcării bidimensional 108
In continuare vom prezenta doi algoritmi (stohastici) de refacere simulată:
algoritmul Metropolis şi dispozitivul de eşantionare Gibbs, care sunt capabile să
găsească minimul global; şi doi algoritmi determinişti, algoritmii ce folosesc modurile
condiţinale iterative (ICM) şi algoritmii de refacerea a câmpului principal (MFA),
pentru obţinerea unei convergenţe mai rapide.
A. Refacerea simulată
Refacerea simulată, câteodată numită şi relaxarea stohastică, aparţine clasei de
metode Monte Carlo. Această metodă ne dă posibilitatea să găsim optimul global al
unei funcţii de cost neconvexe de mai multe variabile. Descriem două implementări ale
acestei metode: formularea originală a lui Metropolis şi dispozitivul de eşantionare
propus de Gibbs. În comparaţie cu algoritmii determinişti iterativi pe bază de gradient
care întotdeauna se mişcă pe direcţia de scădere a funcţiei criteriu, algoritmii de
refacere simulată permit schimbări aleatoare care cresc funcţia criteriu, deoarece o
mişcare „în sus” este uneori necesară pentru a preveni blocarea soluţiei într-un minim
local.
Probabilitatea de a accepta deplasări în sus este controlată de un parametru
temperatură. Procesul de refacere simulată porneşte prin „topirea” sistemului la o
temparatură destul de mare încât orice mişcare aleatoare este acceptată. Apoi
temperatura este micşorată treptat în funcţie de un regim de „răcire”. La orice
temperatură simularea trebuie să continue suficient de mult pentru ca sistemul să
ajungă la o stare stabilă. Modul de apariţie a temperaturilor şi numărul perturbaţiilor la
fiecare temperatură constituie „orarul refacerii”. Convergenţa procedurii este strâns
legată de orarul refacerii. Geman şi Geman au propus următorul orar al temperaturii:
,...1,)1ln(
=+
= ii
Tγ
(4.94)
Capitolul 4 – Estimarea mişcării bidimensional 109
Unde γ este o constantă şi i este ciclul de iterare. Acest orar este mult prea
conservativ dar asigură atingerea minimului global. Orare care micşorează temperatura
mai rapid funcţionează de asemenea (dar fără dovada convergenţei).
Procesul generării perturbaţiilor aleatoare este denumit eşantionarea spaţiului
soluţiilor. Vom prezenta doi algoritmi care diferă prin modul cum eşantionează spaţiul
soluţiilor.
A1. Algoritmul Metropolis
Pornim de la un vector iniţial arbitrar d. La fiecare ciclu iterativ, toate
componentele lui d sunt perturbate una câte una prin stabilirea pentru fiecare a unei
valori aleatoare din setul Γ. Se observă că ordinea în care componentele sunt perturbate
nu este importantă, atâta timp căt toate componentele sunt perturbate la fiecare ciclu de
iteraţie. Schimbarea în energia totală, ∆E, datorată perturbaţiei este calculată după
fiecare perturbare pentru a determina dacă perturbaţia este acceptată.
O perturbaţie este acceptată cu probabilitatea P dată de
( )
≤∆>∆∆−
=0 daca ,1
0 daca,/exp
E
ETEP (4.95)
unde T este parametrul de temperatură ce controlează probabilitatea de acceptare a
schimbărilor pozitive de energie. Întotdeauna acceptăm perturbaţii care micşorează
energia. Motivul pentru care acceptăm perturbaţii ce cresc energia este pentru a preveni
ca soluţia sa ajungă într-un minim local. Dacă T este relativ mare, probabilitatea de a
accepta o schimbare de energie pozitivă este mai mare decât atunci când T este mic,
pentru acelaşi ∆E. În următorul ciclu de iteraţie temperatura este micşorată şi
componentele sunt modificate. Procesul va continua până când temperatura se apropie
de zero. Un „orar” al temperaturii, care exprimă temperatura ca funcţie a numărului de
iteraţie, este o componentă importantă în procesul de relaxare stohastică.
Capitolul 4 – Estimarea mişcării bidimensional 110
Algoritmul
1. Alegem o valoare iniţială pentru ( )0uu = . Avem i=0 şi maxTT = .
2. Generăm o nouă soluţie ( )1+iu la îtâmplare.
3. Calculăm ( )( ) ( )( )ii EEE uu −=∆ +1 .
4. Calculăm P
( )
≤∆>∆∆−
=0 daca ,1
0 daca,/exp
E
ETEP (4.96)
5. Dacă P<1, acceptăm perturbaţia, alegem un număr aleator care este uniform
distribuit între 0 şi 1. Dacă numărul atras este mai mic decât P, acceptăm perturbaţia.
6. Setăm i=i+1. Dacă Ni ≤ , ne întoarcem la pasul 2. (N este numărul de componente
ale lui d).
7. Setăm i=0 şi )()0( Nuu = . Reducem T în concordanţă cu legea de variţie a
temperaturii. Dacă minTT > , ne întoarcem la pasul 2. Dacă minTT < se termină
algoritmul.
A2. Dispozitivul de eşantionare Gibbs
Prin eşantionarea Gibbs, în loc de a avea perturbaţii aleatoare şi de a decide dacă
să acceptăm sau să respingem perturbaţia, noua valoare este aleasă din distribuţia lui
P(u) şi este întotdeauna acceptată.
Algoritmul este următorul:
1. Alegem maxTT = . Alegem un u aleator.
2. Pentru fiecare poziţie x perturbăm valoarea lui u după cum urmează:
1. La poziţia x calculăm în primul rând probabilitatea condiţionată a lui )(xu
pentru a lua fiecare valoare permisă din setul Γ , fiind date valorile actuale ale
vecinilor. Acest pas este ilustrat pentru un scalar )(xu în exemplul de mai jos:
Capitolul 4 – Estimarea mişcării bidimensional 111
Exemplu: calculul probabilităţilor locale condiţionate
Fie Γ=0,1,2,3. Fiind dat un GRF binar de dimensiune 3x3, dorim să calculăm
probabilitatea condiţionată a elementului marcat cu un „x” (poate lua valorile 0, 1, 2
sau 3) din Figura 4.18 cunoscând valorile vecinilor săi. Dacă definim:
( )( ) ( )( ) ( )( )∑=∈== ∈∈−− CiC c
i
CuVT
jji eQuuPP x
i
11N,)(
xx
xxxxx γγ (4.97)
unde
( )( )∑
Γ∈
∈− ∑= ∈
γ
CixC c
i
CuVTeQ
xx
x
1
(4.98)
ca fiind probabilităţile cuplate ale configuraţiilor posibile, avem:
( )( ) ( )
( )( ) ( )
( )( ) ( )
( )( ) ( ))3()2()1()1(
)3(N,0
)3()2()1()1(
)2(N,0
)3()2()1()1(
)1(N,0
)3()2()1()1(
)0(N,0
i
i
i
i
PPPP
PuuP
PPPP
PuuP
PPPP
PuuP
PPPP
PuuP
jji
jji
jji
jji
+++=∈=
+++=∈=
+++=∈=
+++=∈=
x
x
x
x
xxx
xxx
xxx
xxx
(4.99)
Figura 4.18 Exemplu de calcul al probabilităţii locale
2 0 2
1 x 0
1 0 3
Capitolul 4 – Estimarea mişcării bidimensional 112
2. După ce probabilităţile tuturor elementelor din setul Γ au fost calculate, se
extrage noua valoare a lui )(xu din această distribuţie. Pentru a clarifica înţelesul
cuvântului „extrasă”, considerăm exemplul:
Exemplu
Fie Γ=0,1,2 şi 3. S-a găsit că
( ) ( )( )( ) ( )( )( ) ( )( )( ) ( )( ) 3.0,3
4.0,2
1.0,1
2.0,0
=∈=
=∈=
=∈=
=∈=
i
i
i
i
NduP
NduP
NduP
NduP
jji
jji
jji
jji
x
x
x
x
xxx
xxx
xxx
xxx
(4.100)
Apoi este generat un număr aleator R, uniform distribuit între 0 şi 1 şi este
aleasă valoarea lui )(xu . Dacă 2.00 ≤≤ R atunci, ( ) 0=iu x dacă 3.02.0 ≤≤ R atunci
( ) 1=iu x , dacă 7.03.0 ≤≤ R atunci ( ) 2=iu x şi dacă 7.03.0 ≤≤ R atunci ( ) 3=iu x .
3. Se repetă pasul 2 de un număr suficient de ori la o temperatură dată, apoi se
micşorează temperatura şi ne întoarcem la pasul 2. Se observă că probabilităţile
condiţionate depind de parametrul temperatură.
Proprietăţi ale perturbaţiilor prin eşantionarea Gibbs:
(i) Pentru orice estimare iniţială, actualizarea utilizând eşantionarea Gibbs produce o
distribuţie Gibbsiană asimptotică. Acest rezultat poate fi folosit pentru a simula un
câmp aleator Gibbs cu parametrii specificaţi.
(ii) Pentru o lege dată de variaţie a temperaturii va fi atins maximul distribuţiei Gibbs.
Chiar dacă această proprietate este semnificativă pentru estimarea MAP, legea
specificată de variaţie a temperaturii poate fi prea lentă pentru utilizarea în practică.
Capitolul 4 – Estimarea mişcării bidimensional 113
B. Modurile condiţionate iterative
Metoda ICM, căreia i se mai spune şi algoritmul „lacom”, este motivată de
nevoia de a reduce efortul de calcul produs de relaxarea stohastică sau de eşantionarea
Gibbs.
Aici componentele sunt actualizate una câte una într-un mod ciclic, cu
deosebirea că nu există schimbări de temperatură. Temperatura T este setată la zero,
T=0 pentru toate iteraţiile. Astfel, ICM este cunoscut ca un caz de “îngheţare
instantanee” a refacerii simulate. Referitor la ecuaţia de acceptare a probabilităţii în
SA, ICM permite doar perturbaţii care au ∆E negativ, pentru că T=0 dă o probabilitate
zero pentru acceptarea schimbărilor pozitive de energie. De remarcat că datorită acestui
lucru soluţiile produse de ICM pot să se blocheze în minime locale şi nu există
certitudini că se va atinge minimul global.
ICM dă o convergenţă mai rapidă decât metoda refacerii simulate. De
asemenea, când soluţia iniţială este o estimare rezonabilă din alte motive decât complet
întâmplător, ICM ajunge la o soluţie acceptabilă după un număr relativ mic de iteraţii.
ICM dă rezultate bune pentru diferite aplicaţii ca restaurarea imaginii şi segmentarea
imaginii.
C. Refacerea câmpului mediu (MFA)
Refacerea câmpului mediu este bazată pe ideea din mecanica statistică a
“aproximării câmpului mediu”. Ideea de bază este ca în descrierea interacţiunii între un
pixel şi vecinătatea sa, folosim valorile medii ale pixelilor vecini. Astfel, MFA este o
aproximare a refacerii simulate şi dă posibilitatea înlocuirii căutării la întâmplare cu un
gradient descendent determinist.
Capitolul 4 – Estimarea mişcării bidimensional 114
4.6.3 Noţiuni de bază în estimarea MAP a mişcării
În acest subcapitol estimarea mişcării este formulată ca o problemă de estimare
folosind probabilitatea aposteriori maximă (MAP). Formularea MAP necesită două
modele de fdp: fdp condiţionată a intensităţii imaginii observate fiind dat câmpul de
mişcare, numit modelul de vecinătate sau modelul de observaţie, şi fdp apriori a
câmpului de mişcare, numit modelul câmpului de mişcare.
Fie ( ) Λ∈= xx ,s kk s ce indică cadrul k al unei imagini video,
( ) ( )[ ]Tddd xxx 21)( = , ce indică vectorul de deplasare la poziţia x şi
( ) ( ) x,x 2211 dddd == pentru x∈Λ, ce indică ordonarea lexicografică a
componentelor 1x şi 2x ale câmpului de deplasare de la cadrul k-1, respectiv k, de
exemplu:
( ) ( )( )xxx d1 −= −kk ss (4.101)
În general, putem privi secvenţe video care sunt afectate doar de zgomot aditiv:
( ) ( ) ( )xxx kkk vsg += (4.102)
Şi trebuie să estimăm mişcarea 2-D din observările zgomotului. Atunci problema
estimării mişcării poate fi formulată astfel: date fiind două cadre kg şi 1−kg , găsiţi un
estimat
( ) ( )121,21 ,,maxargˆ,ˆ21 −= kkp ggdddd dd (4.103)
unde ( )121 ,, −kkp ggdd este fdp aposteriori a câmpului de mişcare. Din formula
lui Bayes avem:
( ) ( ) ( )( )1
121121121
,,,,,
−
−−− =
kk
kkkkk p
ppp
gg
gddgddgggdd (4.104)
Deoarece numitorul nu este o funcţie de 1d şi 2d ,
Capitolul 4 – Estimarea mişcării bidimensional 115
( ) ( ) ( )121121,21 ,,,maxargˆ,ˆ21 −−= kkk pp gddgddgdd dd (4.105)
sau
( ) ( ) ( )kkk pp gddgddgdd dd 21211,21 ,,,maxargˆ,ˆ21 −= (4.106)
În continuare găsim modele pentru fdp-urile condiţionate şi respectiv priori.
Modelul de probabilitate
Presupunând că zgomotul de observare este alb, gaussian de medie zero şi de
varinţă 2σ , probabilitatea ( )121 ,, −kkp gddg poate fi scrisă astfel:
( )
−−−= ∑
Λ∈
−Λ−
−x
xdxxgddg
2
21)(2
1
2121 2
))](()([exp)2(,,
σπσ kkd
kk
ggp (4.107)
Unde )(Λd este determinantul lui Λ care ne dă reciproca densităţii de eşantionare.
Fdp-ul condiţionat (4.107) ne dă probabilitatea de observare a intensităţii kg
cunoscând câmpul de mişcare real, 1d şi 2d , şi vectorul intensitate a cadrului anterior
1−kg .
Modelul priori
Câmpul de mişcare se presupune a fi o realiyare a unui GRF cu valori continue,
unde funcţiile de potenţial de grup sunt alese pentru a impune o condiţie locală de
liniaritate asupra variaţiilor de la pixel la pixel a vectorilor de mişcare. Astfel, fdp
cuplată apriori a câmpului de mişcare poate fi exprimată astfel:
( ) ),(exp1
,, 121121 −− −= kdd
kk UQ
p gddggdd (4.108)
unde dQ este funcţia de divizare, şi
Capitolul 4 – Estimarea mişcării bidimensional 116
( ) ),(1
, 121121 −∈
− ∑= kCc
cd
dkd
d
VU gddQ
gdd (4.109)
Aici dC este setul tuturor grupurilor pentru câmpul de mişcare, )(⋅cdV reprezintă funcţia
potenţial de grup pentru dCc∈ şi dλ este o constantă pozitivă. Potenţialele de grup vor
fi alese pentru a da o probabilitate mai mică pentru configuraţiile la care vectorul de
mişcare variază semnificativ de la pixel la pixel.
4.6.3 Algoritmi MAP de estimate a mişcării
Sunt discutate trei abordări diferite care iau în seamă prezenţa marginilor de flux
optic şi regiunile de ocluzie. În primul rând introducem o formulare care foloseşte
modele de câmpuri de mişcare mai structurate, care include un câmp de ocluzie şi un
câmp de discontinuitate. Cu toate că formularea ce foloseşte modelele de
discontinuitate este una elegantă, ea necesită un sfort de calcul foarte mare, deoarece
modelele de discontinuitate introduc încă multe necunoscute.
Formularea cu modele de discontinuitate
Introducem două câmpuri auxiliare, câmpul de închidere o şi câmpul de linii l
pentru a imbunătăţii estimarea mişcării. Fdp-ul apriori (4.108) penalizează orice
discontinuitate în câmpul de mişcare. Pentru a evita liniarizarea marginilor de flux
optic este introdus câmpul de linie, care marchează poziţiile tuturor discontinuităţilor
permise în câmpul de mişcare. Câmpul de linie l are poziţii între oricare doi pixeli în
direcţiile orizonzontală şi verticală. Figura 8.19(a) arată un grup de 4 linii a unui câmp
de linii, compus linii orizontale şi verticale ce indică posibile discontinuităţi în
direcţiile orizontală şi verticală. Starea poziţiei fiecărei linii poate fi ON (l=1) sau OFF
(l=0), exprimând prezenţa respectiv absenţa unei discontinuităţi. Potenţialele
nenegative sunt atribuite fiecărei configuraţii de grupuri de linii invariante la rotaţie
pentru a penaliza folosirea excesivă a stării “ON”.
Capitolul 4 – Estimarea mişcării bidimensional 117
( ) ( ) ( )
=
restin 0
si intre
itatediscontinu exista daca 1
,l jiji xdxdxx(4.110)
Pe când câmpul de linie este folosit pentru imbunătăţirea modelului câmpului de
mişcare apriori, câmpul de ocluzie este folosit pentru imbunătăţirea modelului de
probabilitate. Câmpul de ocluzie care ocupă aceeaşi latice ca şi pixelii, este o funcţie
indicatoare a pixelilor de ocluzie:
( )
( ) ( )
=
Λ∈=
ocluzie depunct un este ,1
definit bine este ,0
,
x
xdx
xxo
o
o
(4.111)
Deoarece pixelii pentru care ( )xo este ON sunt şi necunoscute apriori, câmpul
de ocluzie trebuie să fie estimat odată cu câmpul de mişcare şî cu câmpul de linii.
Odată cu introducerea câmpurilor auxiliare, problema estimării MAP poate fi
reformulată astfel: fiind date cele două cadre kg şi 1−kg să se găsească
( )121,,,21 ,,,,maxargˆ,ˆˆ,ˆ21 −= kkp ggloddlodd lodd (4.112)
Utilizând regula Bayes şi simetria expresiei obţinem:
( ) ( )( ) ( )11
121121,,,21
,
,,,,,,,,maxargˆ,ˆˆ,ˆ21
−−
−−=
kk
kkk
pp
pp
glglo
gloddgloddglodd lodd
(4.113)
Unde primul termen este modelul de probabilitate îmbunătăţit, al doilea, al treilea şi al
patrulea termen sunt modelele câmpului de mişcare, de ocluzie şi respectiv de
discontinuitate. În continuare dezvoltăm expresiile pentru aceste câmpuri.
Capitolul 4 – Estimarea mişcării bidimensional 118
Modelul de vecinătate
Luând în considerare punctele de ocluzie, avem
( ) ( )( ) ( ) ( )( )( )
−−−−= ∑
Λ∈
−−
−x
xxgxgxgolddg
2
212
12
211 2
1exp)2(,,,,
σπσ
dop kkN
kk (4.114)
Unde contribuţiile pixelilor din zonele acoperite nu sunt avute în vedere şi N este
numărul poziţiilor la care nu apare ocluzie. Acestă funcţie de densitate de probabilitate
condiţionată poate fi exprimată mai compact printr-o “funcţie potenţial”:
( ) ( )[ ]121121 ,,,exp,,,, −− −= kkgkk Up goddggolddg (4.115)
unde
( ) ( )( ) ( ) ( )( )( )∑Λ∈
−− −−−+=x
xxgxgxgoddg 212
2
121 d12
1
2
)2log(,,, kkkkg o
NU
σπσ
(4.116)
Trebuie să folosim o penalizare corespunzătoare pentru folosire stării de ocluzie ON,
attfel diferenţa de deplasare a cadrului ar putea fi făcută oricât de mică prin folosirea
stărilor de ocluzie. Această penalizare este impusă de modelul de ocluzie discutat mai
jos.
Modelul câmpului de mişcare
Introducem modelul câmpului de linii în modelul priori al câmpului de mişcare
(4.108) pentru a permite penalizarea marginilor fluxului optic. Modelul îmbunătăţit al
câmpului de mişcare poate fi exprimat astfel:
( ) dkdd
kk UQ
p β/),,,(exp1
,, 121121 −− −= gloddgddg (4.117)
unde
( ) ),,,(,,, 121121 −∈
− ∑= kCc
cdkd
d
VU gloddglodd(4.118)
Capitolul 4 – Estimarea mişcării bidimensional 119
Aici dC este setul tuturor grupurilor pentru câmpul de mişcare şi ( ).cV reprezintă
funcţia de potenţial de grup pentru dCc∈ .
Figura 4.19 Prezentarea câmpului de linii: a) grup de patru linii, b) toate grupurilede 4 linii într-o imagine de dimensiune 4x4, c) potenţiale pentru grupuri de 4
Modelul câmpului de ocluzie
Câmpul de ocluzie modelează distribuţia spaţială de ocluzie printr-un GRF
descris de:
( ) 0100
1 /),(exp1
, β−− −= kk UQ
P gloglo (4.119)
unde
( ) ( )1010 ,, −∈
− ∑= kCc
ck
d
VU gloglo(4.120)
Capitolul 4 – Estimarea mişcării bidimensional 120
Aici 0 C este setul tuturor grupurilor pentru câmpul de ocluzie şi ( ).0cV reprezintă
funcţia de potenţial de grup pentru 0Cc∈ .
Modelul câmpului de linii
Discontinuităţile permise în câmpul de mişcare sunt reprezentate printr-un câmp
de linii, care este un GRF binar, modelat de o probabilitate de grup:
( ) lkll
k UQ
P β/)(exp1
11 −− −= glgl (4.121)
unde
( ) ( )11 −∈
− ∑= kCc
clkl
l
VU glgl(4.122)
Aici 0 C este setul tuturor grupurilor pentru câmpul de linii şi ( ).clV reprezintă funcţia
de grup pentru lCc∈ .
Un exemplu de potenţiale atribuite diferitelor grupuri de patru pixeli insensibile
la rotaţie este prezentat în Figura 4.19 (c). În continuare demonstrăm folosirea
câmpului de linii.
Exemplu: Demonstrarea folosirii câmpului de linii
Modelel câmpului de linii este demonstrat în Figura 4.19 folosind o imagine de
dimensiune 4x4. Din Figura 4.19(c) se observă că o imagine 4x4 are 24 de grupuri
distincte cu o singură linie şi 9 grupuri cu 4 linii, care indică posibile discontinuităţi
între fiecare pereche de pixeli de pe orizontală şi verticală. Potenţialele arătate în
Figura 4.19(c) atribuie probabilităţi apriori tuturor configuraţiilor de discontinuitate
pentru patru pixeli, reflectând aşteptarea noastră apriori a apariţiei lor. De observat că
aceste configuraţii sunt invariante la rotaţie; adică potenţialul este egal cu 2,7 atunci
când numai una dintre cele patru linii este pe ON. Aceste potenţialele penalizează
Capitolul 4 – Estimarea mişcării bidimensional 121
foarte puţin liniile drepte (V=0,9), penalizează colţurile (V=1,8) şi joncţiunile “T”
(V=1,8) şi penalizează sever capătul unei linii (V=2,7) şi intersecţiile de linii (V=2,7).
Figura 4.20 arată trei imagini dintre care una nu are margini; alta are doar o singură
margine verticală şi a treia are o margine vericală şî un pixel izolat. Funcţia potenţial
)(4 lclV calculată pentru fiecare dintre aceste configuraţii are valorile 7,29,03,0 =× şi
respectiv 3,68,17,2 =× . Reamintind că o probabilitate apriori este invers proporţională
cu valoarea potenţialului, putem observa că o configuraţie uniformă are a probabilitate
aposteriori mai mare.
Figura 4.20 Probabilităţile priori cu sau fără câmp de linie a) fără margini, b) omargine verticală, c) o margine verticală şi un pixel izolat
Iteraţia în trei paşi Dubois şi Konrad
Minimizarea potenţialului total este o problemă foarte dificilă deoarece există
câteva sute de mii de necunoscute pentru imagini de mărime rezonabilă şi funcţia este
neconvexă.
De exemplu, pentru o imagine de 256×256 sunt 65,536 vectori de mişcare
(131,072 componente), 65,536 etichete ocluzie şi 131,072 etichete de câmpuri de linii
şi deci un total de 327,680 necunoscute.
O dificultate în plus este că componentele vectorului de mişcare au valori
continue şi etichetele de ocluzie şi de camp de linii au valori discrete.
Capitolul 4 – Estimarea mişcării bidimensional 122
Pentru a înlătura aceste dificultăţi Dubois şi Konrad au propus următoarea
iteraţie în trei paşi:
1. Fiind date estimatele cele mai bune pentru câmpul auxiliar o şi l ,actualizăm
câmpul de mişcare kd prin minimizarea
( ) ( )121121,
,ˆ,,,,min21
−− + kddkkg UU glddgoddgdd
λ(4.123)
Această minimizare poate fi făcută prin optimizarea Gauss-Newton.
2. Fiind date estimatele cele mai bune pentru ldd ˆ,ˆ,ˆ21 , actualizăm o prin minimizarea
( ) ( )100121 ,ˆ,,,min −− + kkkg UU glogoddgo
λ(4.124)
O căutare completă sau metoda ICM pot fi folosite pentru a rezolva acest pas.
3. În final fiind date cele mai bune estimate pentru odd ˆ,ˆ,ˆ21 , actualizăm l prin
minimizarea
( ) ( )1121 ,,,min −− + kllkdd UU glglddl
λλ(4.81)
După actualizarea celor trei câmpuri procesul se repetă până când este satisfăcut un
criteriu de convergenţă convenabil. Această procedură a dat rezultate bune în practică.