Kató Zoltán: Ipari Képfeldolgozás
3. Sztereó kamera Kató Zoltán Képfeldolgozás és Számítógépes Grafika tanszék SZTE (http://www.inf.u-szeged.hu/~kato/teaching/)
2
Sztereó kamerák
Kató Zoltán: Ipari Képfeldolgozás
• Az emberi látást utánozza
3
Sztereó kamera pár • Két, ugyanazon 3D látványt leképező projektív kamera
A vetítési középpontjuk nem esik egybe! – Egy sztereo kamera-pár speciális nem középpontos vetítést végez
Az ilyen képpárokat sztereó képpárnak nevezzük. – Az emberi látáshoz hasonlóan3D rekonstrukció állítható elő egyszerű háromszögeléssel
Kató Zoltán: Ipari Képfeldolgozás
Standard sztereó: azonos kamerák, a képsíkok egy síkba esnek, és csak x irányú eltolás van köztük
Bal kép
Jobb kép
4
Epipoláris geometria • Geometriai kapcsolat a két kamera képe között
Kató Zoltán: Ipari Képfeldolgozás
A két kamera középpontot összekötő egyenes a bázis egyenes A bázis egyenes döféspontjai a képsíkokon az epipólusok C,C’,x,x’ és X egy síkba esnek: az X-hez tartozó epipoláris sík Képsíkok és az epipoláris sík metszetei az epipoláris egyenesek
5
Epipoláris geometria • Az epipoláris egyenesek
Az egyik kamera vetítősugarának képe a másik kamerában az x és x′ pontokhoz tartozó epipoláris egyenesek rendre l′ és l.
• Az epipólusok
Kató Zoltán: Ipari Képfeldolgozás
A kamera középpontok képei az e és e′ epipólusok, ezek az epipoláris egyenesek metszéspontjai
6
Epipoláris geometria • Az epipoláris síkok és epipoláris egyenesek helyzete Xtől függ
Kató Zoltán: Ipari Képfeldolgozás
Az epipoláris síkok közös metszete a bázis egyenes Az epipoláris egyenesek képsíkbeli közös metszete az epipólus
7
Standard sztereó kamerák esete • Az epipólusok az x tengely mentén a végtelenben • Epipoláris egyenesek párhuzamosak és egybeesnek a
Kató Zoltán: Ipari Képfeldolgozás
kép rasztersoraival
8
Epipoláris összefüggés
Kató Zoltán: Ipari Képfeldolgozás
• C kamera középpont és x képpont meghatároz egy vetítősugarat a 3D térben, aminek a másik kamerában az l’ epipoláris egyenes lesz a képe (ugyanazon az epipoláris síkon vannak) • Mivel az X 3D pont ezen a vetítőegyenesen van X képe a másik kamerában (x’) az l’ epipoláris egyenesen lesz • Vagyis az epipoláris geometriai kapcsolat megad egy x l’ leképezést, ami az egyik kamera x képpontjához a neki megfelelő l’ epipoláris egyenest rendeli
9
Fundamentális mátrix • Az x l’ leképezést algebrailag a fundamentális mátrix adja meg: l’=Fx • Az F fundamentális mátrix
Kató Zoltán: Ipari Képfeldolgozás
3x3 méretű, de rangja 2 (pont képe egyenes), tehát nem invertálható Szabadsági foka 7 (homogenitás és a kettes rang miatt: 9-2=7) Ha C=C’ F=0 ! Csak két különböző nézőpontra működik
• Mi az összefüggés egy (P,P’) sztereó kamerapár két egymásnak megfelelő x,x’ pontpárja között?
Mivel x’ az l’ egyenesen van: x’Tl’=0 másrészt l’=Fx, tehát valamennyi pontpárra teljesül:
x' Fx 0 T
• Fordított irányban a (P’,P) sztereó kamerapár
fundamentális mátrixa a transzponált mátrix lesz: FT
10
A Fundamentális mátrix kiszámítása • Minden xi↔x’i pontmegfeleltetésre teljesül: x'
T
Fx 0
Egy pontpárra egy egyenletet kapunk:
x' xf11 x' yf12 x' f13 y' xf 21 y' yf 22 y' f 23 xf 31 yf 32 f33 0
Szétválasztva az ismeretlent az adattól:
x' x, x' y, x' , y' x, y' y, y' , x, y,1 f11, f12 , f13, f 21, f 22 , f 23, f 31, f 32 , f 33 Kató Zoltán: Ipari Képfeldolgozás
T
adat (ismert pontkoordináták)
0
ismeretlen (F elemei)
Az összes pontpárra felírva lineáris egyenletrendszert kapunk:
x'1 x1 x'n xn
x'1 y1 x'n yn
x'1 x 'n
y '1 x1 y ' n xn
y '1 y1 y 'n yn
Af 0
y '1 y 'n
x1 xn
y1 1 f 0 yn 1
11
Hány pont megfeleltetés szükséges? • Ha A rangja 8
f egy skálafaktor erejéig meghatározható ehhez 8 pont megfeleltetés szükséges
Af 0
• Ha A rangja > 8
Túlhatározott egyenletrendszer LSE megoldása: – ||Af|| minimalizálása ||f||=1 feltétellel (A SVD felbontásával)
Kató Zoltán: Ipari Képfeldolgozás
Legalább 8 pont megfeleltetés szükséges
• Azonban F szabadsági foka 7
rank A = 7 elvileg még elegendő megoldható 7 pont megfeleltetésből is, de numerikusan nehézkes (nemlineáris egyenletet kapunk) F szingularitását is fel kell használni a megoldáshoz.
• Bárhogyan is számoljuk ki F-t, a rangja 2 kell legyen
Ellenkező esetben F nem fundamentális mátrix
12
F rangja 2 • F szingularitása fontos
Kató Zoltán: Ipari Képfeldolgozás
Enélkül az epipoláris egyenesek nem fogják egy pontban metszeni egymást!
Ha rank F≠2
Ha rank F=2
13
F rangja 2 • F kettes rangból eredő tulajdonságai: e'T F 0
Fe 0
detF 0
rank F 2
• F az Af=0 egyenletrendszer algebrai megoldása,
Kató Zoltán: Ipari Képfeldolgozás
rangja lehet > 2. SVD felbontással kapjuk:
σ1 V T U1σ1V1T U 2σ 2 V2T U 3σ 3V3T F U σ2 σ 3
Keressük azt az F’ kettes rangú mátrixot, amire: min F - F' F – Megkapjuk, ha F legkisebb szinguláris értékét nullázzuk:
σ1 F' U σ 2 V T U1σ1V1T U 2σ 2 V2T 0
14
Normalizált 8 pontos algoritmus • Lineáris túlhatározott egyneletrendszer
LSE megoldás A SVD felbontásával 8 egyenletünk van, de általában rank A = 9 zajos (tehát valós) adaton
• Pont koordináták normalizálása kritikus,
Kató Zoltán: Ipari Képfeldolgozás
különben LSE nem ad stabil megoldást!
x1 x1´ x x ´ 2 2 xn xn ´
y1 x1´ y 2 x2 ´ y n xn ´
x1´ x2 ´ xn ´
x1 y1´ x2 y 2 ´ xn y n ´
y1 y1´ y2 y2´ yn yn ´
y1´ y2´ yn ´
x1 x2 xn
y1 y2 yn
f11 f 12 f13 1 f 1 21 f 22 0 f 1 23 f 31 f 32 f 33
15
Normalizálás/denormalizálása • Transzformáljuk a pontokat a [-1,1]x[-1,1] négyzetbe (0,500)
(700,500)
2 0 1 2 700 700 20 1 1 2 500 1 5001 1
Kató Zoltán: Ipari Képfeldolgozás
(0,0)
(-1,1)
(0,0)
(700,0)
(1,1)
(-1,-1)
(1,-1)
• Adott n>=8 pont megfeleltetés 1. 2.
Normalizálás T és T’ mátrixokkal: Tx and T’x’ Oldjuk meg F”-re a) F’ = a legkisebb szinguláris értékhez tartozó szinguláris vektor A SVD felbontásában. b) SVD(F’) F” a kettes rang kényszerítése
3.
Denormalizálás: F=T’TF’’T
16
Epipólusok meghatározása • Mivel az epipólus valamennyi epipoláris egyenesen rajta van:
x' Fx 0 T
x' Fe 0 T
Fe 0
• Input: Fundamentális mátrix F Kató Zoltán: Ipari Képfeldolgozás
F SVD felbontásával kapjuk:
F UDV
T
Az e epipólus a V nulla szinguláris értéknek megfelelő oszlopvektora lesz Az e’ epipólus pedig az U nulla szinguláris értéknek megfelelő oszlopvektora lesz
17
Fundamentális mátrix összefoglaló
•
F egyértelműen meghatározott 3X3 rang 2 mátrix, bármely x↔x’ -re teljesül: x’TFx=0 Transzponált: ha F a (P,P’) fundamentális mátrixa, akkor FT a (P’,P) fundamentális mátrixa Epipoláris egyenesek: l’=Fx & l=FTx’ Epipólusok: minden epipoláris egyenesen rajta van x: e’TFx=0, e’TF=0, hasonlóan Fe=0 F szabadsági foka 7: 3X3 - 1(homogén) -1(rang 2) F egy x pont projektív leképezése egy l’=Fx egyenesre (nem invertálható) F invariáns egy mindkét kamerára ható projektív transzformációra
1.
2.
Kató Zoltán: Ipari Képfeldolgozás
3.
4. 5.
6.
– –
(PH, P’H) –nak ugyanaz az F mátrixa, mint (P, P’)-nek bármely teljes rangú H projekcióra (homográfia) tehát F a P kamerát méri a P’-höz képest, függetlenül attól, hogy hová tesszük őket.
18
Esszenciális mátrix • Ha a K kalibrációs mátrix ismert:
Kató Zoltán: Ipari Képfeldolgozás
inverzével szorozva a képpontokat normalizált koordinátákat kapunk x=K-1x=[R|t]X inverzével szorozva a kamera mátrixot megkapjuk a normalizált kamera mátrixot K-1P=[R|t]
• Tekintsünk most egy normalizált kamera párt: P=[I|0] és P’=[R|t].
A kamera párnak megfelelő fundamentális mátrixot Esszenciális mátrixnak nevezzük: E=[t]xR=R[RTt]x Továbbra is teljesül: x’TEx=0 E és F közötti kapcsolat:
E K' FK T
19
Esszenciális mátrix • 5 szabadsági fok (3 forgatás: R és 2 eltolás: t) • SVD felbontás tulajdonságai:
Kató Zoltán: Ipari Képfeldolgozás
Első két szinguláris érték egyenlő A harmadik 0 Mivel E egy skálafaktor erejéig meghatározott, írhatjuk: E=Udiag(1,1,0)VT
• Meghatározhatjuk a P, P’ kamera mátrixokat
egy skálafaktor megoldás erejéig , négy lehetséges
20
4 lehetséges megoldás • Csak egy esetben lesznek a pontok mindkét kamera
Kató Zoltán: Ipari Képfeldolgozás
látóterében
21
Felhasznált anyagok
Kató Zoltán: Ipari Képfeldolgozás
• Davi Geiger: Computer Vision 2002 course