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