Optical Flow meghatarozasa kepszekvenciakbol - PowerPoint PPT Presentation

1 / 29
About This Presentation
Title:

Optical Flow meghatarozasa kepszekvenciakbol

Description:

Optical Flow meghatarozasa kepszekvenciakbol Peter Horvath Az algoritmus Mit is jelent: Optical Flow? Optical Flow: 2 kepszekvencia kozotti mozgasokat mutato vektorok. – PowerPoint PPT presentation

Number of Views:63
Avg rating:3.0/5.0
Slides: 30
Provided by: HP89301
Category:

less

Transcript and Presenter's Notes

Title: Optical Flow meghatarozasa kepszekvenciakbol


1
Optical Flow meghatarozasa kepszekvenciakbol
  • Peter Horvath

2
Az algoritmus
3
Mit is jelent Optical Flow?
  • Optical Flow 2 kepszekvencia kozotti mozgasokat
    mutato vektorok.

4
Max 1 pixel nagysagu mozgasok meghatarozasa
5
Hogyan lehetne 1 pixelnel nagyobb mozgasokat
detektalni
  • Ha a kepet atmeretezzuk, akkor a kepen vegbemeno
    mozgasok is atmeretezodnek, pl a felso kepen
    lathato 2 egysegnyi nagysagu mozgas az also kepen
    mely fele akkora mint a felso mar csak 1
    egysegnyi.

6
Piramis felepitese
  • Az elobbi gondolatmenetet folytatva ha n-szer
    lekicsinyitenenk a kepet, az n. kepen 2n nagysagu
    mozgasok mar csak 1 nagysaguak lennenek. Igy ha
    tudjuk, hogy max n nagysagu mozgasok vannak akkor
    log2 n darab kepet kell keszitenunk.

7
Piramis elkeszitese 1.
  • Gauss 2D standard normalis eloszlasu matrixot
    hasznalva maszkkent (a matrix osszege 1-re,
    normalva) leggyorsabb 3x3-as, de 5x5 vagy 7x7
    nagysagut javasolom.

8
Piramis elkeszitese 2.
  • A kovetkezo modon keszithetunk egy 2n1x2n1
    nagysagu kepbol egy n1xn1 nagysagut.

9
Backwards strategy 1.
  • A piramis kisebb OF-jabol ugy epitjuk fel a
    nagyobbat
  • 1. A vektorokat megduplazzuk
  • 2. A kis OF (i,j). vektoranak nagysaganak duplaja
    a nagy OF (2i, 2j), (2i1, 2j), (2i, 2j1),
    (2i1, 2j1) vektorai lesznek

10
Backwards strategy 2.
  • 3. Finomitas max. 1 pixel nagysagu mozgas
    keresese. Durva becslesunk van a kepen torteno
    mozgasokra, most ezt finomitjuk a korabban
    bemutatott modszer segitsegevel.

11
Tobb mint 2 szekvencia
  • Tobb mint 2 szekvencia eseten az n1. OF
    eloallitasaban segithet az n. . Ha a szekvenciak
    idoben surun kovetik egymast, akkor nagy
    vaoszinuseggel az n. kepen levo mozgasok vektorai
    csak legfeljebb igen kis mertekben valtoznak az
    n1. kepen.

12
Homogen teruletek
  • Az algoritmus jelenlegi allapotaban nem
    hasznalhato homogen teruletek mozgasanak
    detektalasara (pl piros hatterben piros ho esese
    ? ), igy ilyen esetekben azt tekintjuk jo
    megoldasnak, ha ott a mozgas eretke 0.
  • Ezert, egy N(0.0, 3.0) standard normalis
    eloszlasu Gauss matrixal megszorozzuk a minimum
    kivalasztas elott a 3x3-as matrixot. Ez olyan kis
    mertekben befolyasolja a nem homogen teruletek
    vizsgalatat, hogy gyakorlatban nem okoz gondot,
    viszont a homogen teruleteket szepen kiszuri.

13
Lagyitas 1.
  • Az elofordulo hibak kikuszobolese miatt, a
    vektorokat a kornyezetukhoz simitjuk. Tobb ilyen
    modszert lehet alkalmazni, pl.
  • 3x3 maszk
  • A jelen algoritmusban a mar targyalt Gauss
    standard normal eloszlasu N(0.0, 1.0) matrixot
    hasznalom 5x5 meretben.

14
Lagyitas 2.
  • Lagyitas nelkuli OF
  • Lagyitott OF

15
Parhuzamos szamitas
  • Mivel minden muvelet csak lokalis
    kepinformaciokat hasznal igy lehetosegunk van az
    algortimus parhuzamos szamitogepre valo
    implementalasara. Igy a pixel paralel szamitasok
    segitsegevel felgyorsithato a folyamat.

16
Futasido
  • Futasido
  • Piramis felepitese
  • Backward strategy
  • Lagyitas
  • Osszesen

17
Ujitasok
  • Gauss piramis
  • Homogen teruletek
  • Lagyitas

18
Implementacio
19
Jelenlegi rendszer
  • ANSI C
  • Windows alatt fejlesztve, de csak standard
    headerek felhasznalasaval, igy portabilis
  • Portable Grayscale Map (.pgm 8 bit) es Portable
    Pixel Map (.ppm 24 bit color) kepfileokat kezel
  • Elerheto
  • http//www.stud.u-szeged.hu/Horvath.Peter.3

20
Class diagramm
21
CGaussMatrix class
  • CGaussMatrixCGaussMatrix(int size, double muf,
    double sigmaf)
  • ...
  • const1 1 / (sqrt(2M_PI)sigma)
  • for (i0iltsizei)
  • for (j0jltsizej)
  • tav sqrt((-((size-1)/2)i)(-((size-
    1)/2)i)(-((size-1)/2)j)(-((size-1)/2)j))
  • Elementsij const1 exp( - ( ( (tav -
    mu)(tav - mu) ) / (2sigmasigma) ))
  • i0
  • for (i0iltsizei)
  • for (j0jltsizej)
  • norm Elementsij
  • for (i0iltsizei)
  • for (j0jltsizej)
  • Elementsij (1/norm)

22
CImagePyramid Class
  • CImagePyramidCImagePyramid(char FileName, int
    Depth, int GaussSize)
  • ...
  • if (Depth gt 0)
  • for (int i 1 i lt Depth i)
  • sx sx gtgt 1
  • sy sy gtgt 1
  • if (sx lt 1) sx 1
  • if (sy lt 1) sy 1
  • Pyramidi new CPMImage(sx, sy)
  • for(int i 0 i lt Depth-1 i)
  • for (incX 0 incX lt Pyramidi-gtGetSizeX()
    incX2)
  • for (incY 0 incY lt Pyramidi-gtGetSizeY()
    incY2)
  • tmpr 0.0
  • tmpg 0.0
  • tmpb 0.0
  • for (GaussX - GaussSize / 2 GaussX lt
    GaussSize / 2 1 GaussX)

23
Kiserleti eredmenyek
24
Tesztkornyezet
  • Gep
  • PIII Celeron 1200Mhz CPU, 128 Mb RAM

Kepmeret Futasido (s) Futasido (s)
Kepmeret 3x3 Gauss 7x7 Gauss
256x256 15.85 17.34
512x512 61.49 70.17
25
Kiserlet 1.
  • Forgas (3 fok balra)

26
Kiserlet 2.
  • Eltolas (x-gt5 pixel, y-gt3)

27
Kiserlet 3.
  • Atmeretezes (103)

28
Irodalomjegyzek
29
Irodalom
  • 1 P. J. Burt and E. H. Adelson The Laplacian
    Pyramid as a Compact Image Code
  • 2 P. Anandan A Comutational Framework and an
    Algorithm for the Measurement of Visual Motion
  • 3 P. Bouthemy and E. Francois Motion
    Segmentation and Qualitative Dynamic Scene
    Analysis from an Image Sequence
  • 4 T. Lin J. L. Barron Image Reconstruction
    Error for Optical Flow
Write a Comment
User Comments (0)
About PowerShow.com