Aplikace Výpočet pohybu kamery rekonstrukcí videosekvence 3D rekonstrukce objektů 3D modelování Středové promítání σ A S B S...střed promítání ν...průmětna σ...centrální rovina σ π, S σ π A s B σ, neexistuje středový průmět
Nevlastní prvky Nevlastní bod (směr) přímky a... bod, společný všem přímkám rovnoběžným s přímkou a. Nevlastní body všech přímek roviny tvoří nevlastní přímku roviny. Nevlastní přímka roviny je určena dvěma nevlastními body roviny. Rovnoběžné roviny mají stejnou nevlastní přímku. p p p U α β a b U U u V u Průmět rovnoběžných přímek U a b U S N b b s U s ν průmětna S střed promítání N stopník přímky a U S úběžník přímky a a S středový průmět přímky a ν a s N a Středovým průmětem rovnoběžných přímek a b, které nejsou průčelné, jsou různoběžky a s, b s, jejich průsečík U s je průmětem společného nevlastního bodu U.
Afinní prostor Afinním m prostorem budeme rozumět neprázdnou množinu A, na které je zvolen nějaký vektorový prostor V a dáno zobrazení f : A x V A, f(x,u) = X + u (sčítání bodu a vektoru) splňující :. (X + u) + v = X + ( u + v ) pro každé X A a každé u, v V. označíme-li symbolem f O zobrazení V A, f O (u) = ( O + u ) pro každé u V, je f O vzájemně jednoznačným zobrazením. Vektorový prostor V nazýváme zaměř ěření afinního prostoru A, někdy ho značíme i V(A). Prvky A nazýváme body afinního prostoru, o vektorech ze zaměření hovoříme volně jako o vektorech z afinního prostoru. y O u v x O f u O + = + ( + ) f u v O u v A + v = B v = B A Reálný afinní prostor ( x y z) Body: X =,,, Vektory: u =, u, u, u 3 Sčítání vektorů Součet bodu a vektoru Rovina (A,W ) Zaměření roviny u W Afinní zobrazení f : A n A m (, x, x, x ) (, x, x, x ) 3 3 (,,, 3 ) (,,, 3 ) (,,, 3 3 ) (,,, ) (,,, ) (,,, ) u + v = u u u + v v v = u + v u + v u + v X + v = x y z + v v v = x + v y + v z + v a + a x + a y + a z = 3 ( x y z) ( a a a a ),,,,,, = X a = u a = 3 3 3 X X, X = AX + b A...matice adjungovaného lineárního zobrazení x 3 = b a a a x x b a a a 3 x x 3 b3 a3 a3 a33 x3 (, u, u, u ) (, u, u, u ) 3 3 u 3 = b a a a u u b a a a 3 u u 3 b3 a3 a3 a33 u3 3
Projektivní rozšíření reálné afinní roviny Homogenní souřadnice bodu Nechť (A,V ) je afinní rovina vektory V : o, u,u ~ k o, u,u k nevlastní body v P body A (, x,y) ~ k ( x,x,x ) k vlastní Body třídy ekvivalence Přímky {,( ) } { } B = x,x,x x,x,x o {, } P = x,x,x a x + a x + a x = X a X a = a X = Přímka určená dvěma body a=(ab) A a A a = a = A B B a B a = Průsečík dvou přímek P=m n P m P m = P = m n P n P n = p p p U V u Model projektivní roviny {,( ) } { } B = x,x,x x,x,x o {, } P = x,x,x a x + a x + a x = Nevlastní body x = Vnořená afinní rovina x ( x,x,x ) ~,, (, x,y) x x = x x x = x x x y = x 4
Projektivní rozšíření reálného afinního prostoru Homogenní souřadnice bodu Nechť (A 3,V 3 ) je afinní prostor 3 vektory V : o, u,u,u3 ~ k o, u,u,u3 k nevlastní 3 body v P 3 body A (, x,y,z) ~ k ( x,x,x, x3 ) k vlastní Body třídy ekvivalence (, B = x,x,x x3 ), ( x,,x,x x3 ) o Roviny (, R = x,x,x x ), a x + a x + a x + a x = { } { } } 3 3 3 ( x x x x3)( a a a a3) ( x x x )( a a a a ),,,,,, =,,,,,, = 3 3 X a X a = a X = α β a b U U u Projektivní zobrazení 5
Dělící dvojpoměr Dělící dvojpoměr je invariantem projektivního zobrazení Analytické vyjádření projektivního zobrazení : n m f P P, f X = AX řídou matic ka, k je určeno jediné projektivní zobrazení. Projektivita P n P n je jednoznačně určena obrazy n+ bodů, z nichž žádných n+ bodů neleží v téže nadrovině matice A(n+,n+) n +n dof n+ bodů n(n+) dof 6
Vlastnosti matice zobrazení a a a a m : n m f P P, f X = AX Sloupce matice zobrazení jsou obrazy vektorů báze. Řádky v projekční matici jsou roviny, které se zobrazí do souřadnicových rovin Př: Množina bodů, které se zobrazí na nevlastní nadrovinu x = a x + a x + a x = n n Př: Množina bodů, které se zobrazí na souř. nadrovinu x i = x = a x + a x + a x = i i i in n Projektivní zobrazení roviny P P 7
Projektivní zobrazení roviny P P ( x,x,x ) ( x,x,x ) Matice zobrazení je určena až na nenulový násobek x ' h h h x x ' h h h = x x ' h h h x E x' = H x 8DOF E =,, ; E =,, ; E =,, ; E y y foto E E O E x E O x Projektivní zobrazení roviny P P ( x,x,x ) ( x,x,x ) Matice zobrazení je určena až na nenulový násobek x ' h h h x x ' h h h = x x ' h h h x Afinní zobrazení projektivního rozšíření afinní roviny = projektivní zobrazení, které zachovává nevlastní prvky 8DOF x' = H x h h h x ' h h h = x h =, h = x ' h h h x 6DOF H b a a = b a a 8
Přehled projektivit v rovině Projektivity 8dof h h h h h h h h h incidence, kolinearita, průsečík tečna, dělící dvojpoměr Afinity 6dof b a a b a a Rovnoběžnost, dělící poměr, nevlastní přímka l b k cosα k sinα b k sinα k cosα úhly. Izotropické body b cosα sinα b sinα cosα délky, plochy. Podobnosti 4dof Shodnosti 3dof Afinní rektifikace l U p m q V V = m n n U = p q l = U V l = ( l, l, l ) E X = H P X E E l H P = l l 9
ransformace pohledu na afinní obraz ( x,x,x ) ( x,x,x ) ( x,x,x ) X ' = H X P X = H X = H H X P P P Projektivity v prostoru Projektivity 5dof t b A Incidence (průsečíky, tečna) Afinity dof t A Rovnoběžnost, dělící poměr Nevlastní rovinaπ Podobnosti 7dof Shodnosti 6dof t kr t R Absolutní kuželos.ω Objem
Rekonstrukce snímku Kalibrace kamery W, x, y, z W W W W C C, x, y, z i i i c c c I, x, y, R, W t C I Vztah obecné báze W a báze objektivu kamety C vnější parametry kamery(extrinsic) Vztah kamerových souřadnic v bázi C a souřadnic obrázku v bázi I vnitřní parametry kamery (intrinsic)
Geometrie kamery (basic pinhole camera) H H Vztah mezi pixelovými souřadnicemi snímku a souřadnicemi pozorovaného objektu v pevně daném repéru projekční matice kamery. Prostorová scéna je ze středu promítána na průmětnu Předpokládejme, že zobrazení mezi P 3 a P je lineární
Kalibrace kamery středové promítání 3 x E E :, (, x, y, z), f, f z 3 x = x ; y = x ; z = x x x x 3 P P X X : x x x 3 x x,,,, f, f x x x x x 3 3 ( x, x, x, x ) ( x, fx, fx ) 3 3 y z f H (,, ) 3 X = P X = P x x x persp persp P persp = f = Ppersp f Sloupce P persp jsou obrazy báze C = e e e 3 = = = (,,, ); (,,, ); (,,, ); (,,, ); P persp Středové a rovnoběžné promítání 3
X = P X P persp persp = f f f H Centrální rovina x 3 = se zobrazí do nevlastní přímky x = Souřadnicová rovina x = se zobrazí do osy x =. Souřadnicová rovina x = se zobrazí do osy x =. Matice vnitřní kalibrace kamery Kint = x mx s = x mx b y m y m y y b = s m x arctan(/s) Matice kalibrace kamery, projekční matice 3 P P : X X t R = = int persp X P X P K P Pint = KintP persp = x mx b f = mx f bf x = K y m f m f y y y [ ] Matice kalibrace K K = KintPperp K P = K = mx f bf x = K t R t R t R my f y [ ] [ ] [ ] [ ; ] P = K t R = Kt KR 4
Projekční matice Sloupce matice zobrazení jsou obrazy báze O W =(,,,), e =(,,,), e =(,,,), e 3 =(,,,) -První sloupec je obraz počátku O W, další sloupce jsou úběžníky souřadnicových os x W, y W, z W Střed kamery je jednodimenzionální prostor, který se zobrazí na nulový vektor, tj PC=o prvnířádek tvoří koeficienty obecné rovnice centrální roviny, druhý a třetířádek určují koeficienty obecné rovnice promítacích rovin jejichž body se zobrazí do os x,y p p p3 p4 P = [ Kt KR] = p p p3 p4 p3 p3 p33 p3 4 p p p3 p4 p X = p p p3 p4 = p p3 p3 p33 p34 p3 Numerický odhad projekční matice P Direct Linear ransformation Předpokládejme, že zobrazení mezi P 3 a P je lineární X = PX p p p3 p4 P = [ Kt ] = p 3 4 = 3 p3 p3 p33 p 34 P P KR p p p P P má DoF, znalost dvojice bod průmět znamená rovnice - minimální řešení vyžaduje alespoň 5 ½ dvojic X PX = o 5
DL X PX = o 3 x P X xp X xp X 3 X PX = x = + P X xp X xp X 3 x P X xp X xp X x X x X P (,,,) 3 x X x X (,,,) P (,,,) x X x X P = o Ap = ( ) min d X, PX P i 3 min Ap ; p = p i ˆ i Hlavní bod úběžník hloubkových přímek H Hlavní bod H = (, p, p, p ) 3 4 Centrální rovina Směrový vektor hloubkových přímek je kolmý k centrální rovině p p p3 p4 P = [ Kt KR] = p p p3 p4 p3 p3 p33 p3 4 H = P, p, p, p = KR p, p, p 3 4 3 4 6
Průmět bodu X = PX Projekční matice P=[Kt; KR] má v souřadném systému kamery tvar P=K[O;I]=P int Kalibrovaná kamera - Známe-li vnitřní parametry kamery - matice kalibrace K Pint = mx f bf x = K my f y [ ] Všechny body na promítacím paprsku se promítnou do jednoho průmětu [ ; ](, ) X = K t X = KX X = K X H X X Průmět bodu X = PX Obraz nevlastního bodu u = (, u) je nezávislý na translaci [ ] u = P ( u) = Kt KR ( u) = KR u Rekonstrukce bodů v prostoru promítací paprsek Bod na promítacím paprsku X = P X + + Pseudo-inverzní matice P = P PP ; PP = I + Promítací paprsek je dán směrem u=(, ū) a středem C H X X λ = λu + C X ( λ) - - u = KR u = KR X = λ + = ( λ ) KR - X - KR - Kt KR - X -Kt PC = o [ Kt; KR],C = o Kt + KR C = o C = KR Kt 7
Úběžníky Směrové vektor promítacích paprsků Úhel mezi dvěma promítacími paprsky průmětů X, Y d d cosθ = = Úběžníky kolmých směrů [ ; ](, ) X = Kt KR X = KRX X = KR X (, ); ( ) (, ); d = d d = KR X d = d d = KR X X ( K K ) X - - X X - - - - ( d d )( d d ) ( X ( K K ) X )( X ( K K ) X ) X ( K K ) X = - - Projektivita nevlastní roviny a průmětny Body nevlastní roviny X = (, X ) X = [ Kt; KR] (, X ) = KRX Absolutní kuželosečka v nevlastní rovině x = ; x + x + x3 = X =, X ; X I X = Obraz absolutní kuželosečky ω KK = X = KRX X = KR X X = X KR Úhel mezi promítacími paprsky bodů X, X. X I X = X X X KR I KR X = X KRR K = = X KK - - X ( K K ) X X ωx cosθ = = - - - - ( X ( K K ) X )( X ( K K ) X ) ( X ωx )( X ωx ) 8
Epipolární geometrie Dvojstředové promítání Rekonstrukce scény A a a f(a,b,c)= (a,b) A (a,b,c) (a,b,c) (a,b) c b b (rekonstrukce) (kalibrace) (transformace) c c 9
Promítací rovina bodu epipolární rovina X X C C Epipoláry
C, C středy promítání E, E epipóly X, X průměty bodu X e, e epipoláry bodu X epipolární rovina ε x Esenciální matice Matice kalibrace K, K jsou známy přejdeme k normalizovaným souřadnicím obrazu ˆ, ˆ X = K X X = K X [ ] [, ] X = P X = K O, I X, X = P X = K t R X X = K Xˆ, X = K Xˆ, ˆ Xˆ = t R X X = O I X Xˆ t RXˆ = Xˆ t R Xˆ = M E = Xˆ E Xˆ E = t R M t3 t t 3 M = t t t t Fundamentální a Esenciální matice Pro esenciální matici pohledů E platí: E = tm R Pokud uvažujeme matice kalibrace K K, pak vztah mezi průměty určuje tzv. fundamentální matice: X = K Xˆ, X = K Xˆ Xˆ E Xˆ = K X E K X = X K EK X F = = X F X F = K t RK M t3 t t 3 M = t t t t
Zobrazení průmětu na epipoláry = X F X = X e = X X F = X F X = X e Fundamentální matice F určuje zobrazení X e : e = FX X e : e = F X Hodnost h(f)= fundamentální matice má 7 DoF Epipóly E, E e = FX E e ( ) = E F X = E F = o e = F X e E = F X E = FE = o Samodružné body = X F X = X F X S F + F F F F = FS + FA; FS = ; FA =
Fundamentální matice Předpokládejme dva perspektivní průměty C C. Dvojice X, X je dvojicí vzájemně si odpovídajících si průmětů právě tehdy, když F, X FX = Pro dva pohledy je matice F určena jednoznačně a nezávisí na transformaci souřadnic. Jestliže F je fundamentální matice pro přechod (P,P ), potom F je fundamentální matice pro (P,P) Daná fundamentální matice určuje dvojici kamerových matic až na násobení projektivní maticí. Nechť F je fundamentální matice, P P, P P jsou páry projekčních matic, takové, že F je fundamentální matice obou párů. Pak existuje regulární matice H P = PH P = PH 8 bodový algoritmus pro určení matice F f f f =,, = f = f f f f f f f f f 3 i i i i i X F X ( x y ) f f f3 x i f3 f3 f33 y (,,,,,,,, ) 3 3 3 3 33 i i i i i i i i i i i i ( ) x y x x x x y y y x y y f = Pro n dvojic odpovídajících si průmětů X a X dostáváme homogenní soustavu n lineárních rovnic. x y x x x x y y y x y y x y x x x x y y y x y y f = n n n n n n n n n n n n x y x x x x y y y x y y min 9 f R Af A f je vlastní vektor matice A A, příslušný k λ. min Af = o 3
Vlastnosti esenciální matice Esenciální matice má 5 DoF E (3x3) je esenciální maticí, právě tehdy když jsou dvě singulární čísla shodná a třetí sing. číslo je nula: Důkaz: Uvažujme ortogonální matici W a antisymetrickou matici Z=diag(,,)W W = ; Z = Každá antisymetrická matice M může být rozložena M =kuzu, kde U je ortogonální. = ku diag(,,) WU M E = R=Udiag(,,)WU R M E = t R M t3 t t 3 M = t t t t Sestrojení esenciální matice E Sestrojíme-li pro libovolnou matici F(3x3) rozklad pak matice { σ σ σ } SVD: F = U diag,, V ; U, V O 3, R 3 σ + σ E = U diag { σ, σ,} V ; σ = je esenciální matice s minimální Frobeniovou vzdáleností od F. E je určena až na násobek normalizujeme σ= t = E = t diag,, ; M R = U W U R W = O 3, R ; U O 3, R { } { } { } E = U diag,, V R = UW V, t = U diag,, W U t = U M 4
Konstrukce projekčních matic z esenciální matice E { } Pro danou esenciální matici E = U diag,, V a pro volbu prvního kamerového systému P = [, I] existují 4 možné volby projekční matice P. P = ± u3 UWV P = ± u3 UW V Nevýhody osmibodového algoritmu W = Esenciální matice má 5 volitelných parametrů ( x potřebujeme 8 bodů) Je možnéřešit jen pro případ t o. Detekované průměty bodů X, X musí odpovídat bodům v obecné poloze. 4 možnosti pro rekonstrukci E Jen jedno řešení kdy je scéna před oběma kamerami 5
Rekonstrukce objektu Kalibrovaná matice Kalibrované pohledy 8 bodovým algoritmem určíme F Z matic kalibrace určíme odhad esenciální matice ( K EK ) = Rozkladem určíme projekční matice Z odpovídajících si průmětů sestrojíme bod v prostoru Rekonstrukce objektu Pokud body X v prostoru transformujeme projektivitou H, ˆX = HX pak jsou projekční matice tvaru Pˆ = PH ; Pˆ = P H X = PX X i i = i - ( P ˆ i H)( H Xˆ ) 6
Rekonstrukce objektu Jestliže množina dvojic průmětů určuje fundamentální matici jednoznačně, potom může být 3D scéna zrekonstruována a každé dvě takové rekonstrukce jsou projektivně ekvivalentní. Projektivní rekonstrukce zjištění vlastností invariantních v grupě projektivit (dělicí dvojpoměr, incidence) Afinní rekonstrukce zjištění vlastností invariantních v grupě afinit (dělící poměr, rovnoběžnost) Metrická rekonstrukce zjištění vlastností invariantních v grupě podobností Afinní rekonstrukce určíme obraz nevlastní roviny π zrekonstruované scény a použijeme projektivní zobrazení, které ji zobrazí zpět na nevlastní rovinu x =. π π π π 3 H = 7
Afinní rekonstrukce Známe li kamerové matice afinní rekonstrukce, P =[t M ], P =[t M ], pak afinita mezi snímky je dána maticí Q=M M -. D: Obraz nevlastního bodu: X = (, X) X [ ] X [ ] = t M X = M X, = t M X = M X X = M M X Metrická rekonstrukce určíme obraz absolutní kuželosečky v nevlastní rovině ω zrekonstruované scény a použijeme projektivní zobrazení, které ji zobrazí zpět na absolutní kuželosečku. 3 x = ; x + x + x = X =, X ; X I X = ω = ( KK ) Předpokládejme, že je známý obraz absolutní kuželosečky a máme již scénu afinně zrekonstruovanou. Pak od afinní rekonstrukce můžeme přejít k metrické rekonstrukci 3D transformací. ; H = AA = M M A ( ω ) 8
Obraz absolutní kuželosečky ( KK ω = ) úběžníky vzájemně kolmých směrů v,v v ωv = úběžník v přímky kolmé k rovině dané úběžnicí l. Autokalibrace z více snímků. Je-li sestrojen dostatečný počet snímků stejným fotoaparátem (pohyblivá kamera) l =ωv ω = H ωh - - Rekonstrukce scény Známé parametry Rekonstrukce Páry odpovídajících si bodů F Projektivní Obraz roviny v nekonečnu F,H Afinní IAC, kalibrační matice F,H ω,ω Metrická 9