poszukiwania dopasowanie kanada

Transkrypt

poszukiwania dopasowanie kanada
Analiza ruchu
Marek Wnuk
< [email protected] >
ZPCiR I-6 PWr
MW: SyWizE – p.1/22
Ruch w sekwencji obrazów
Podstawowe problemy:
złożoność obliczeniowa
nadmiar informacji
niejednoznaczność
MW: SyWizE – p.2/22
Pole ruchu a przepływ optyczny
pole ruchu (motion field) rzut trójwymiarowych
wektorów ruchu na płaszczyzne˛ obrazu; zawiera
informacje o składowej wektora ruchu równoległej
do płaszczyzny obrazu; brak informacji o składowej
prostopadłej do płaszczyzny obrazu.
przepływ optyczny (optical flow) pole wektorowe
zawierajace
˛ informacje umożliwiajace
˛
przekształcenie jednego obrazu w drugi przez
przesuniecie
˛
obszarów z pierwszego obrazu w
drugi; nie jest jednoznacznie określony.
MW: SyWizE – p.3/22
Problemy estymacji przepływu
problem szczelinowy (aperture problem) błedne
˛
określenie
ruchu w przypadku lokalnych zmian jasności obrazu o
jednowymiarowym charakterze
jednolita barwa lub przezroczystość brak tekstury - ruch
obiektu może zostać niezauważony
zmienne oświetlenie pozorne ruchy zwiazane
˛
z przesuwaniem
sie˛ cieni na powierzchni obiektów lub przemieszczenia sie˛
gradientów jasności; remedium - kompensacja oświetlenia
lub wykorzystanie odcienia w przestrzeni HSV
zachodzenie obiektów na siebie zanikanie, pojawianie sie˛ lub
iluzja zmiany obiektów poruszajacych
˛
sie˛ na obrazie;
specyficzne teksturowanie zmiany jasności na obiekcie wzdłuż
jednego kierunku prowadza˛ do utratu informacji o ruchu.
MW: SyWizE – p.4/22
Metody detekcji i śledzenia ruchu
różnicowe umożliwiajacedetekcj
˛
e˛ i śledzenie ruchu
dzieki
˛ różnicom pomiedzy
˛
nastepuj
˛ acymi
˛
klatkami,
korelacyjne przeszukujace
˛ obraz w poszukiwaniu
dopasowania regionów,
gradientowe opierajace
˛ sie˛ na wyznaczeniu
pochodnych czasowych i przestrzennych obrazu,
cz˛estotliwościowe oparte na filtrach operujacych
˛
w
dziedzinie cz˛estotliwości.
MW: SyWizE – p.5/22
Metody różnicowe
MW: SyWizE – p.6/22
Historia ruchu
MW: SyWizE – p.7/22
Metody korelacyjne
MW: SyWizE – p.8/22
Diamond Search
MW: SyWizE – p.9/22
Założenia metod gradientowych
jasność niezmienna w czasie ruchu
I(x, y,t) = I(x + δx , y + δy ,t + δt )
niewielkie
klatkami
przesuniecia
˛
pomiedzy
˛
spójność przestrzenna
MW: SyWizE – p.10/22
Założenia metod gradientowych
I(x, y,t) – obraz 2D + t
przy założonej stałej jasności punktu na scenie
dI
=0
dt
mamy:
∂I dx ∂I dy ∂I
+
+ =0
∂x dt ∂y dt ∂t
Warunek przepływu:
Ix u + Iy v + It = 0 ; ∇I ·
"
u
v
#
= −It
MW: SyWizE – p.11/22
Lucas–Kanade 1D
MW: SyWizE – p.12/22
Lucas–Kanade 1D iteracyjnie
MW: SyWizE – p.13/22
Lucas–Kanade 2D
Warunek przepływu dla jednego punktu:
Ix u + Iy v + It = 0 ; ∇I ·
"
u
v
#
= −It
daje tylko tzw. przepływ normalny (składowa˛ równoległa˛ do
gradientu jasności)
MW: SyWizE – p.14/22
Problem szczelinowy
MW: SyWizE – p.15/22
Lucas–Kanade dla otoczenia
Rozważajac
˛ otoczenie punktu otrzymujemy nadmiarowy układ
równań Aw = b:





Ix (p1 ) Iy (p1 )
Ix (p2 ) Iy (p2 )
.
.
Ix (p9 ) Iy (p9 )





"
u
v
#



= −

It (p1 )
It (p2 )
.
It (p9 )



,

który można rozwiazać
˛
minimalizujac
˛ bład
˛ średniokwadratowy:
2
T
T
min ||Aw − b|| → (A A)w = A b →
"
u
v
#
= (AT A)−1 AT b.
Warunek: odwracalność AT A.
MW: SyWizE – p.16/22
Punkty dobre do śledzenia (Harris)
Macierz autokorelacji:
AT A =
"
∑ Ix2 ∑ Ix Iy
∑ Ix Iy ∑ Iy2
#
=∑
"
Ix
Iy
#
h
Ix Iy
i
= ∑ ∇I(∇I)T
jest nieosobliwa jeśli ma dwie duże wartości własne, co oznacza,
że w otoczeniu punktu wystepuj
˛ a˛ wyraźne zmiany jasności w
dwóch różnych kierunkach. Punktami dobrze nadajacymi
˛
sie˛ do
śledzenia ruchu sa˛ narożniki, ale nie krawedzie.
˛
Dla wektora ∇I :
(∑ ∇I(∇I)T )∇I = (n∇I(∇I)T )∇I = n∇I((∇I)T ∇I) = (n||∇I||2 )∇I
a dla wektora E stycznego do krawedzi
˛
(prostopadłego do ∇I ):
(∑ ∇I(∇I)T )E = 0
MW: SyWizE – p.17/22
Dekompozycja piramidalna
Potencjalne przyczyny błednego
˛
działania metody:
niestałość oświetlenia (jasności punktów na scenie)
punkt nie porusza sie˛ wraz z całym sasiedztwem
˛
(zbyt duże
okno?)
zbyt duży zakres ruchu (przesuniecia
˛
nie powinny
przekraczać 1-2 pikseli)
Rozwiazanie:
˛
zmniejszyć rozdzielczość!
MW: SyWizE – p.18/22
Dekompozycja piramidalna
MW: SyWizE – p.19/22
Horn–Schunck
Warunek przepływu:
ZZ
(Ix u + Iy v + It )2 dydx
es =
ZZ
||∇u||2 + ||∇v||2 dydx
es =
ZZ
(∇2 u)2 + (∇2 v)2 dydx
ec =
Warunki gładkosci:
lub:
Polioptymalizacja (α2 - stała regularyzacji):
min(ec + α2 es )
MW: SyWizE – p.20/22
Horn–Schunck
Rozwiazanie
˛
zadania wariacyjnego:
Ix (Ix u + Iy v + It ) − α2 ∇2 u = 0
Iy (Ix u + Iy v + It ) − α2 ∇2 v = 0
Przybliżajac
˛ laplasjan przez odchylenie punktu centralnego u(x, y)
od ważonej średniej jego sasiadów
˛
u(x, y):
∇2 u(x, y) ≈ u(x, y) − u(x, y)
otrzymujemy algorytm iteracyjny:
k
k
I
(I
u
+
I
v
x x
y + It )
k+1
k
u =u −
α2 + Ix2 + Iy2
k
k
I
(I
u
+
I
v
+ It )
y
x
y
k
k+1
v =v −
α2 + Ix2 + Iy2
MW: SyWizE – p.21/22
Implementacja w OpenCV
Lucas–Kanade:
{
imgA = cvLoadImage(..);
imgB = cvLoadImage(..);
...
cvGoodFeaturesToTrack(imgA,.., corA,..);
cvFindCornerSubPix(imgA,.., corA,..);
...
cvCalcOpticalFlowLKPyr(imgA, imgB,.., corA, corB,..);
}
Horn–Schunck:
{
imgA = cvLoadImage(..);
imgB = cvLoadImage(..);
...
cvCalcOpticalFlowHS(imgA, imgB,.., velx, vely);
}
MW: SyWizE – p.22/22