Sztereo
Sponsored Links
This presentation is the property of its rightful owner.
1 / 87

Sztereo PowerPoint PPT Presentation


  • 93 Views
  • Uploaded on
  • Presentation posted in: General

Sztereo. Vámossy Zoltán 2005 Seitz – UNI Washington; Thrun, Bradski – Stanford; Mubarak Shah anyagok alapján. S z tereo. Kétkamerás sztereo Motiváció Epipoláris geometria Illesztés Mélység becslés Rektifikáció. Public Library, Stereoscopic Looking Room, Chicago, by Phillips, 1923.

Download Presentation

Sztereo

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Sztereo

Vámossy Zoltán

2005

Seitz – UNI Washington; Thrun, Bradski – Stanford; Mubarak Shah anyagok alapján


Sztereo

  • Kétkamerás sztereo

    • Motiváció

    • Epipoláris geometria

    • Illesztés

    • Mélység becslés

    • Rektifikáció


Public Library, Stereoscopic Looking Room, Chicago, by Phillips, 1923


Teesta suspension bridge-Darjeeling, India


Mark Twain at Pool Table", no date, UCR Museum of Photography


Woman getting eye exam during immigration procedure at Ellis Island, c. 1905 - 1920, UCR Museum of Phography


Sztereogrammok

  • UCR stereographs

    • http://www.cmp.ucr.edu/site/exhibitions/stereo/

  • The Art of Stereo Photography

    • http://www.photostuff.co.uk/stereo.htm

  • History of Stereo Photography

    • http://www.rpi.edu/~ruiz/stereo_history/text/historystereog.html

  • Double Exposure

    • http://home.centurytel.net/s3dcor/index.html

  • Stereo Photography

    • http://www.shortcourses.com/book01/chapter09.htm

  • 3D Photography links

    • http://www.studyweb.com/links/5243.html

  • National Stereoscopic Association

    • http://204.248.144.203/3dLibrary/welcome.html

  • Books on Stereo Photography

    • http://userwww.sfsu.edu/~hl/3d.biblio.html


Sztereo panorámaképek

  • Interaktiv demo: http://www.cs.columbia.edu/CAVE/


Mélységi információ sztereo képből

Diszparitás térkép


Stereo Cyclographs [Seitz, 2001]


Sztereo

Jelenet egy pontja

Képsík

Optikai középpont


Sztereo feladatok

p’

?

p

  • Adott egy ppont a bal képen, hol található a hozzátartozó p’a jobbon? (párosítás - correspondence)

  • Milyen térbeli pont felel meg a (p, p’) képpontpárnak? (3D visszaállítás)


Sztereo 3D visszaállítás

  • Alapelv: háromszögelés

    • Két fénysugár segítségével

  • Előkövetelmények

    • kalibráció

    • összetartozó pontok (correspondence)


Sztereo párosítás

Epipoláris vonal

Epipoláris vonal

Epipoláris sík

  • Az egymásnak megfelelő pixelek meghatározása

    • Ugyanahhoz a jelenetponthoz tartozó képpontpár

  • Epipoláris feltétel

    • A megfeleltetés problémáját 1D keresésre vezeti vissza a konjugált epipoláris vonalak mentén

    • Java demo: http://www.ai.sri.com/~luong/research/Meta3DViewer/EpipolarGeo.html


Sztereo feltétel - Epipolárisgeometria

Epipoláris egyenes

p’

Y2

X2

Z2

O2

Epipólus

M

Képsík

Y1

p

O1

Z1

X1

Fókuszsík


Sztereo párosítás (megfeleltetés)

  • Jellemzők vs. tetszőleges pixelek segítségével?

    • A megfeleltetés során szükségünk van-e előzetesen jellemzőkre?

Julesz Béla véletlen pont sztereo diagram (Random Dot Stereogram)


Sztereo párosítási algoritmusok

  • A konjugált epipoláris vonalak mentén történő párosítás során

    • Tételezzük fel, hogy a pontok színe nem változik

    • Problémák, hibaforrások

      • Tükröződés

      • Alacsony kontrasztú területek

      • Elzártság

      • Képhiba

      • Kamera kalibrációs hiba

    • Megközelítések, módszerek

      • Dinamikus programozás [Baker 81,Ohta 85]

      • Simasági függvények

      • Több kép használata (trinocular, N-ocular) [Okutomi 93]

      • Gráfokhasználatával [Boykov 00]


Alapvető sztereo algoritmus

Minden epipoláris vonalra

A bal kép minden pixelére

Továbbfejlesztés: ablakok párosítása

  • Hasonlítsunk össze minden pixelt az epipoláris vonalon

  • A legkisebb párosítási költségű pixelt vegyük ki - jóság


Ablakméret

  • Kisebb ablak

    • Több részlet

    • Több zaj

  • Nagyobb ablak

    • Kevesebb zaj

    • Kisebb részletezettség

W = 3

W = 20

  • Jobb eredmények adaptív ablakkal

    • T. Kanade and M. Okutomi,A Stereo Matching Algorithm with an Adaptive Window: Theory and Experiment,, Proc. International Conference on Robotics and Automation, 1991.

    • D. Scharstein and R. Szeliski. Stereo matching with nonlinear diffusion. International Journal of Computer Vision, 28(2):155-174, July 1998


Konkrét párosítási módszerek


Jellemző alapú sztereo - Token Based Stereo

  • Detektáljuk a jellemzőket

    • Csúcsok, érdekes pontok, élpontok

  • Keressük meg az összetartozást

  • Interpoláljuk a teljes felületet


Párosítás jellemzők nélkül

  • Az epipoláris feltétel miatt továbbra is 1D probléma, melyre megoldások:

    • Marr-Poggio

    • Korreláció alapú sztereo

    • Energia alapú módszer


Marr-Poggio algoritmus

  • Első sztereo algoritmusok egyike (1979)

  • Fekete és fehér pixelekből álló képekre alkalmazható

  • Feltételek:

    • Kompatibilitás:fehér fehérre illeszkedik

    • Folytonosság:a szomszédoknak hasonló diszparitása kell, hogy legyen

    • Egyértelműség:a bal kép egy pixele pontosan egy pixelhez illeszkedjen a jobb képen


Marr-Poggio Algorithm

  • Összetartozás térkép

  • Sorokban keresünk

  • 1D

1

2

3

4

5

d=2

1

1

1

d=1

1

1

Kezdeti összetartozás tömbje

C0(x, d)

d=0

1

1

1

d=-1

1

d=-2

1

1


Marr-Poggio

  • Iterativan számoljuk az összetartozás tömböt(lambda: 2, T: 4, w: 2)

1D eset

max. lehets. diszparitás

serkentő tag

tiltó tag – folytonosság

2D eset


Korreláció alapú sztereo

  • A mélység a jellemzőknél kerül kiszámolásra és a többi pixelnél interpolálás

  • Diszparitás térkép készül a mért korreláció alapján


Korreláció alapú sztereo

  • Ha a diszparitás már ismert, akkor a mélység:


Példák

Balkép

Jobbkép

Mélység térkép


Sztereo energia minimalizálásként

  • A párosítás jóságát energiaként fogalmazzuk meg

    • “adattag”, mely bünteti a rossz párosítást

    • “szomszédosság tag” a térbeli simaságot növeli


Sztereo eredmények

  • University of Tsukuba adatai

  • Hasonló eredmények más képekre

Jelenet

A valóság


Ablakos korrelációs algoritmus

Normalizált korreláció

(legjobb ablakmérettel)

A valóság


Gráf algoritmus eredményei

A valóság

Gráf alapú algoritmus


Sztereo rekonstrukció menete

  • Lépések

    • Kamerák kalibrációja

    • Képrektifikáció (opcionális, de sokat gyorsít)

    • Diszparitás számítás

    • Mélység számítás


Kalibráció síkokkal

  • Ha kamera paraméterektől függ (A, R, t)

ahol

  • Perspektíva esetén egy sík képe

    • 3x3-as projektív transzformáció

    • Vonalat, egybevágóságot megtart

  • A, R, t számolható legalább 3 fenti mátrixból

    • Z. Zhang. A flexible new technique for camera calibration. IEEE Transactions on Pattern Analysis and Machine Intelligence, 22(11):1330-1334, 2000.

    • http://research.microsoft.com/~zhang/Calib/


Rektifikáció


Rektifikáció

  • A kép transzformálása

    • Az optikai középpontok által meghatározott egyenessel párhuzamos sík legyen a képsík

    • 3x3 transzformációt használunk mindkét képre

    • C. Loop and Z. Zhang. Computing Rectifying Homographies for Stereo Vision. IEEE Conf. Computer Vision and Pattern Recognition, 1999.


Mélység számítása diszparitásból

3D renderelés

egyik input kép

mélységi térkép

[Szeliski & Kang ‘95]

X

z

u

u’

f

f

baseline

C

C’


Diszparitás alapú renderelés

  • Új nézetek készítése

    • S. M. Seitz and C. R. Dyer, View Morphing, Proc. SIGGRAPH 96, 1996, pp. 21-30.

    • L. McMillan and G. Bishop. Plenoptic Modeling: An Image-Based Rendering System, Proc. of SIGGRAPH 95, 1995, pp. 39-46.


Bázistávolság megválasztása

  • Milyen az optimális bázistávolság?

    • Túl kicsi: nagy mélységi hiba

    • Túl nagy: nehezebb a keresés

Nagy bázistávolság

Kicsi bázistávolság


A bázistávolság hatása a mélységre


Sztereo

Vámossy Zoltán

2005

Sebastian Thrun, Gary Bradski, Daniel RussakoffStanford CS223B Computer Vision


Sztereo: illusztráció


Sztereo

  • Alapok

  • Epipoláris geometria

  • Képrektifikáció

  • Rekonstrukció

  • Megfeleltetés

  • Aktív távolság meghatározó technikák


Pinhole kameramodell

Képsík

Fókusztávolság f

Projekció középpontja


Pinhole kameramodell

Képsík


Pinhole kameramodell

Képsík


Alapvető sztereo

Z értékét kell meghatározni a következők függvényében: x1, x2, f, B


Alapvető sztereo egyenletek


Mi lenne ha…?


Epipoláris geometria

P

Pl

Pr

Yr

p

p

r

l

Yl

Zl

Zr

Xl

fl

fr

Ol

Or

Xr


Epipoláris geometria

P

Pl

Pr

Epipoláris sík

Epipoláris vonalak

p

p

r

l

Ol

el

er

Or

Epipólusok


Epipoláris geometria

  • Epipoláris sík: az a sík, amelyik átmegy P ponton és a két kamera projekciós középpontján (COPs)

  • Epipólus: az egyik kamera képén a másik projekciós középpontja

  • Epipoláris feltétel: Az egymásnak megfelelő pontok a konjugált epipoláris vonalon kell, hogy feküdjenek


Essential mátrix

Koordináta transzformáció:

SíkT, Pl, Pl-T:

Eredményezi

Essential mátrix

P

Pr

Pl

p

p

r

l

Ol

el

er

Or


Essential mátrix

Projekciós vonal:

Essential mátrix

P

Pr

Pl

p

p

r

l

Ol

el

er

Or


Fundamental mátrix

  • Ugyanaz, mint az Essential mátrix, de ez kamera pixelkoordinátákban – 8 pont algoritmus

Pixel koordináták

Belső paraméterek


Rektifikáció

Ötlet: az epipoláris vonalakat úgy transzformáljuk, hogy egy scanline-on feküdjenek


Sztereo rektifikáció (Trucco)

P

Pl

Pr

Yr

p

p

r

l

Yl

Xl

Zl

Zr

T

Ol

Or

Xr

Sztereo rendszer párhuzamos tengelyekkel

  • Epipólusok végtelenben vannak

  • Vízszintes epipoláris vonal


Rekonstrukció (3-D): ideális eset

Pl

Pr

P

p

p

r

l

Ol

Or


Rekonstrukció (3-D): valós eset

Pl

Pr

P

p

p

r

l

Ol

Or

Trucco/Verri, 161-171


Megfeleltetés

Fantom pontok


Korrelációs módszer

scanline

SSD hiba

diszparitás

Bal

Jobb

Rektifikált kép


Képnormalizáció

  • Még ugyanolyan típusú kameráknál is lehet különbség az érzékenységben

  • A kamerák nem ugyanazt a felületet látják, tehát a beléjük érkező fény összintenzitása is eltér

  • Ezért hasznos normalizálni az intenzitásokat:


A képek mint vektorok

Bal

Jobb

Minden ablak egy vektor az m2dimenziós vektortérbenNormalizálás során egységnyi hosszúak lesznek


Képtávolságok

Normalizált négyzetes differenciák összege SSD

Normalizált korreláció


Korreláció alapú összetartozás

Bal

Diszparitás térkép


Megfeleltetés jellemzők alapján

Bal kép

vonal

sarok

struktúra


Megfeleltetés jellemzők alapján

vonal

sarok

struktúra

Jobb kép

  • Keresünk a jobb képen … a diszparitás (dx, dy) az az eltolás érték, amikor a hasonlóság maximális


Sztereo megfeleltetés

Bal scanline

Jobb scanline


Sztereo megfeleltetés

Illeszkedés

Illeszkedés

Illeszkedés

Elzártság, eltűnés

Megjelenés

Bal scanline

Jobb scanline


Keresés a megfeleltetéskor

Eltűnt pixelek

Három eset:

  • sorban van – illeszkedik

  • eltűnt – nincs illeszkedés

  • megjelent – nincs illeszkedés

    Módszer: dinamikus programozás

Bal scanline

Jobb scanline

Megjelentpixelek


Leghosszabb közös részsorozatok

Longest Common Subsequences (LCS)

  • Definíciók

  • Rekurzív kalkuláció

  • Dinamikus Programozás


Leghosszabb közös részsorozatok

Longest Common Subsequences (LCS)

  • Szöveges fájlokban azonos részek keresése

    Definíciók:

  • x és és y két sorozatnak közös részsorozata: amely mindkét sorozatnak is részsorozata

  • LCS: a közös részsorozatokat tekintve, amely legalább olyan hosszú, mint bármely másik részsorozat


LCS - rekurzív algoritmus

Sorozatok: abcabba, cbabac =>LCS: baba, cbba

a bcabb a

cbabac

a bcabb a

cbabac


LCS - rekurzív algoritmus

Rekurzív megoldás: Legyen x = (a1, a2, ... , am) és y = (b1, b2, ... , bn). Minden 0  i  m, 0  j  n esetén x és y előtagjaira kiszámoljuk a LCS-t, aminek a hossza L(i, j).

Bázis: i + j = 0, LCS =  és L(0, 0) = 0.

Indukció: 1. Ha i = 0 XOR j = 0, akkor L(i, j) = 0

2. Ha i > 0 és j > 0, és ai  bjakkor L(i, j) = max(L(i-1, j), L(i, j-1))

3. Ha i > 0 és j > 0, és ai = bjakkor L(i, j)= 1+(L(i-1, j-1)


LCS - dinamikus programozás 1.

Két részfeladatra bontás

1. Táblázatfeltöltés:

  • Az LCS hosszának L(i, j)-nek elkészítése az i és j paraméterekre egy L tömbben. (i + j szerinti sorrendben) az előbbi szabály szerint

    2. Az LCS meghatározása: Ha az i, j pozícióban vagyunk, akkor

  • ha ai  bjakkor egy sorral lejjebb, vagy balra lépünk attól függően, hogy melyik a nagyobb L(i, j)

  • ha ai = bjakkor átlósan balra le lépünk egyet és feljegyezzük ai-t


LCS - dinamikus programozás 2.

c 0 1 2 3 3 3 3 4

a 0 1 2 2 3 3 3 4

b 0 1 2 2 2 3 3 3

a 0 1 1 1 2 2 2 3

b 0 0 1 1 1 2 2 2

c 0 0 0 1 1 1 1 1

0 0 0 0 0 0 0 0

a b c a b b a

1. Táblázatfeltöltés:

for j:= 0 to n do

L[j, 0] := 0;

for i:= 1 to m do

begin

L[0, i] := 0;

for j:= 1 to n do

if a[i] <> b[j] then

begin

if L[j, i-1] >= L[j-1, i] then

L[j,i] := L[j, i-1]

else

L[j,i] := L[j-1, i];

end

else

L[j,i] := 1 + L[j-1, i-1];

end;


LCS - dinamikus programozás 2.

2. Eredmények

if (n > 0) then

begin

if (m > 0) then

begin

if a[m] <> b[n] then

begin

if (L[n, m] = L[n, m-1]) then

Kiertekel(n, m-1, c);

if (L[n, m] = L[n-1, m]) then

Kiertekel(n-1, m, c);

end

else

begin

c[n] := a[m];

Kiertekel(n-1, m-1, c);

write(c[n]);

end

end

b

ca

cbba


Megfeleltetés problémák

  • Félreérthető eset is létezik

  • Sima felületeknél nem jó

  • Nincs jelenleg jó megoldás


Összefoglaló

  • Epipoláris geometria: a megfelelő pontok az epipoláris vonalon fekszenek

  • Essential/Fundamental mátrix: meghatározza ezt a vonalat

  • 8-pont algoritmus: a Fundamental mátrix meghatározása

  • Rektifikáció: Epipoláris vonalak párhuzamosak a scanline-okkal

  • Rekonstrukció

  • Megfeleltetés:

    • A képkorreláció négyzetösszegek minimalizálásával

    • A jellemzők négyzetösszeges minimalizálásával


Hogyan javíthatjuk az eredményeket?


Aktív sztereo (struktúrált fény)

rektifikálva


3D kamera: RGB + z buffer

http://www.3dvsystems.com


3D kamera: RGB + z buffer

http://www.3dvsystems.com


  • Login