Metody Počítačového Vidění (MPV) - 3D počítačové vidění Projektivní geometrie Ing. Zdeněk Krňoul, Ph.D. Katedra Kybernetiky Fakulta aplikovaných věd Západočeská univerzita v Plzni Metody Počítačového Vidění (MPV) - 3D počítačové vidění
Obsah přednášky Projektivní geometrie projektivní prostor projektivita projektivní transformace zajímavé vlastnosti projektivní geometrie Metody Počítačového Vidění (MPV) - 3D počítačové vidění 1 / 30
Projektivní geometrie Úvod do projektivní geometrie, reprezentace a zápis bod ve 2D prostoru budeme značit x R 2 bod ve 3D prostoru budeme značit X přímka ve 2D prostoru n přímka ve 3D prostoru O rovina ve 3D prostoru φ, ϕ Metody Počítačového Vidění (MPV) - 3D počítačové vidění 2 / 30
Projektivní geometrie Vektorové reprezentace pak budou následující: bod v rovině x = [u, v] T, nebo x = [x, y] T, bod v prostoru X = [x 1, x 2, x 3 ] T nebo X = [x, y, z] T, přímka n = [a, b, c] T Geometrické entity budeme uvažovat jako sloupcový vektor, násobení matice tímto sloupcovým vektorem zprava má výsledek opět sloupcový vektor. Metody Počítačového Vidění (MPV) - 3D počítačové vidění 3 / 30
Projektivní prostor P 2 přímka v rovině je reprezentována obecnou rovnicí přímky: ax + by + c = 0 změna parametrů a, b a c nám určuje odlišnou přímku... přirozeně pak přímka může být vyjádřena vektorem n = [a, b, c] T vztah obecná rovnice vektor... rovnice přímky ax + by + c = 0 a (ka)x + (kb)y + (kc) = 0 jsou stejné ale odlišný vektor k je měřítko všechny vektory lišící se pouze v měřítku představují jednu třídu prvků (přímku) tento vztah ekvivalence je známí jako homogenní vektor množina všech těchto tříd prvků v R 3 [0, 0, 0] T tvoří projektivní prostor P 2 (vektor [0, 0, 0] T nekoresponduje žádné přímce a je z prostoru vyjmut) Metody Počítačového Vidění (MPV) - 3D počítačové vidění 4 / 30
P 2 - homogenní reprezentace bodu bod v rovině x = [x, y] T leží na přímce n = [a, b, c] T ax + by + c = 0 podmínka lze zapsat jako skalární součin [x, y, 1][a, b, c] T = 0 původní bod v rovině, definovaný v R 2, je proto reprezentovaný vektorem o velikosti 3 přidáním třetí souřadnice 1 (homogenní souřadnice) pro k, kdy [kx, ky, k] je zmíněná podmínka také splněna [x, y, 1][a, b, c] T = 0 pak bod [x, y, 1] i všechny body k[x, y, 1] v P 2 reprezentují stejný bod v nehomogenních souřadnicích [x, y] T v R 2... získáme ho jako [x 1 /x 3, x 2 /x 3 ] T. Metody Počítačového Vidění (MPV) - 3D počítačové vidění 5 / 30
Přímka a bod průsečík dvou přímek n a n je dán vektorovým součinem: n n bod x = [x 1, x 2, 0] T patří do P 2 jeho nehomogenní souřadnice v R 2 tedy [x 1 /0, x 2 /0] T bod, který v rovině má nekonečné souřadnice... bodu říkáme Ideal Point - bod v nekonečnu takovýto bod je vlastně průsečíkem dvou rovnoběžných přímek všechny body v nekonečnu leží na jedné přímce v nekonečnu [0, 0, 1] T Podobné odvození nalezneme pro zápis průsečíků dvou přímek, nebo pro získání přímky spojením dvou bodů. Metody Počítačového Vidění (MPV) - 3D počítačové vidění 6 / 30
Shrnutí bod x leží na přímce l pokud x T l = 0 průsečík m dvou přímek n a n (i rovnoběžných) je dán vektorovým součinem: m = n n (rovnoběžné přímky mají průsečík bod v nekonečnu) přímka n spojující dva body m a m je analogicky: n = m m Pozn. Zavedení projektivního prostoru je určení nějakého popisu pro perspektivu Geometrické objekty jako je bod, přímka a rovina jsou zapisovány vektorově Potom vztahy mezi těmito objekty je možné zapisovat jednodušeji než kdyby se zapisovaly v nehomogenních souřadnicích Metody Počítačového Vidění (MPV) - 3D počítačové vidění 7 / 30
Model pro projektivní rovinu a princip duality body v P 2 jsou paprsky v R 3... množina všech vektorů x = k[x 1, x 2, x 3 ] T s měnícím se k formuje paprsek, který směřuje ze středu promítání analogicky přímka v prostoru P 2 odpovídá rovině v R 3 procházející středem projekce obdobně dva odlišné paprsky určují zmíněnou rovinu stejně jako dva odlišné body určují R 2 přímku obráceně... dvě přímky mají společný bod - průsečík a tedy dvě roviny mají společný průsečík... paprsek Metody Počítačového Vidění (MPV) - 3D počítačové vidění 8 / 30
Obsah přednášky Projektivní geometrie projektivní prostor projektivita projektivní transformace zajímavé vlastnosti projektivní geometrie Metody Počítačového Vidění (MPV) - 3D počítačové vidění 9 / 30
Projektivita S p ρ ρ R=R B B A p π A p Poznámka: je projektivní zobrazení roviny do roviny Metody Počítačového Vidění (MPV) - 3D počítačové vidění 10 / 30
S p ρ ρ R=R B B A p π A p Definice Projektivita je invertibilní mapování h bodů v P 2 (tedy homogenních 3 1 vektorů) do samého prostoru P 2 tři body x 1, x 2 a x 3 ležící na společné přímce jsou mapovány na body h(x 1 ), h(x 2 ) a h(x 3 ), které leží také na společné přímce. Poznámka. Projektivita je také někdy nazývána kolineace, projektivní transformace, nebo homografie. Tyto označení jsou synonyma. Metody Počítačového Vidění (MPV) - 3D počítačové vidění 11 / 30
Důsledek Mapování h : P 2 P 2 je projektivita pouze a jen, existuje-li nesingulární matice H, 3 3, (det(h) 0), pro kterou platí, že nějaký bod v P 2 reprezentovaný vektorem x lze transformovat jako h(x) = Hx (projektivní transformace). Metody Počítačového Vidění (MPV) - 3D počítačové vidění 12 / 30
Projektivní transformace projektivní transformace je dána jako: x 1 h 11 h 12 h 13 x 1 x 2 = h 21 h 22 h 23 x 2 (1) x 3 h 31 h 32 h 33 x 3 je to lineární transformace homogenního vektoru nesingulární 3 3 maticí H matice H má 8 stupňů volnosti poměrům dvojic 9 prvků matice přenásobení matice konstantou k nemění definovanou transformaci a konstanta představuje pouze měřítko H je jednoznačně určena čtveřicí sobě korespondujících bodů nebo přímek v obecné pozici Metody Počítačového Vidění (MPV) - 3D počítačové vidění 13 / 30
Shrnutí kolineární body (body ležící na společné přímce) jsou opět transformovány na kolineární body několik různoběžných přímek se společným průsečíkem jsou transformovány opět na různoběžné přímky s jedním společným průsečíkem pořadí kolineárních bodů je zachováno (viz později) bod x je transformován na bod x tak, že: x = Hx přímka l je transformován na přímku l tak, že: l = H T l Příkladem takového transformace pořízení stejné scény různým fotoaparátem, nebo přibĺıžení (ZOOM), nebo pootočení kamery (ve středu projekce, viz dále), nebo vše najednou. Metody Počítačového Vidění (MPV) - 3D počítačové vidění 14 / 30
Určení 2D projektivní transformace 2D homografie je dána množinou bodů x i v prostoru P 2 a množinou korespondujících bodů ve stejném P 2 nalezení takovéto transformace z x i x i znamená určit matici H tak, že platí Hx i = x i pro každé i. minimální počet potřebných bodů počtu stupňů volnosti hledané transformace... obecná projektivní transformace... 3 3 matice (9 prvků) ale 8 stupňů volnosti 1 bod má dva stupně volnosti, tedy souřadnice (x, y) čtyři body a korespondenty Metody Počítačového Vidění (MPV) - 3D počítačové vidění 15 / 30
pro jeden bod (korespondující pár) vztah Hx i = x i určuje soustavu 3 lineárních rovnic (s pravou stranou) x i a Hx i nejsou stejné vektory, ale mají stejný směr a liší se pouze velikostí, viz obrázek můžeme přepsat jako vektorový součin x i Hx i = 0 a pak: y x i Hx i h3t x i w i h2t x i i = w i h1t x i x i h3t x i (2) x i h2t x i y i h1t x i h 1T je sloupcový vektor odpovídající prvnímu řádku matice H transformovaný bod (tedy x i ) je v homogenních souřadnicích značen x i = (x i, y i, w i ) Metody Počítačového Vidění (MPV) - 3D počítačové vidění 16 / 30
Maticový zápis soustavy lineárních rovnic pak přepisem získáme jako: 0 T w h 1 i xt i y i xt i w i i 0 T x i xt i y i i x i xt i 0 T h 2 = 0 (3) h 3 pro bod i označíme soustavu jako A i h = 0, kde vektor h je sloupcový vektor 9 1 složený ze třech řádků matice H ze 3 rovnic jsou jen dvě lineárně nezávislé; 3. rovnice je pře-násobený součet první a druhé rovnice 3. řádek lze vypustit: [ 0 T w i xt i y i xt i w i xt i 0 T x i xt i ] h 1 h 2 = 0 (4) h 3 Metody Počítačového Vidění (MPV) - 3D počítačové vidění 17 / 30
třetí homogenní souřadnice promítnutého bodu (w i ) může být zvolena w i = 1 jsou měřeny v obraze, jiná volba je také možná řešíme soustavu rovnic Ah = 0 přesně pro 4 body je rank(a) = 8 a existuje jedno řešení odpovídající pravému nulovému prostoru a volitelné měřítko může být zvoleno tak aby h = 1 často voĺıme více bodů (n > 4) a matice A má pak příslušný rozměr 2n 9 0 T w 1 xt 1 y 1 xt 1 w 1 xt 1 0 T x 1 xt 1 h 1... 0 T w nx T n y nx T n w nx T n 0 T x nx T n h 2 h 3 = 0 (5) Metody Počítačového Vidění (MPV) - 3D počítačové vidění 18 / 30
v praxi měření obsahují chybu (šum) a tak získaná soustava je přeurčená, tedy neexistuje řešení rank(a) > 8 pak hledáme takové řešení, které minimalizuje chybu Ah pro tento účel použijeme SVD rozklad (singular value decomposition) pak A = UDV T a hledané řešení h je poslední sloupec matice V odpovídající nejmenšímu vlastnímu číslu (pravý nulový prostor matice A) Metody Počítačového Vidění (MPV) - 3D počítačové vidění 19 / 30
Obsah přednášky Projektivní geometrie projektivní prostor projektivita projektivní transformace zajímavé vlastnosti projektivní geometrie Metody Počítačového Vidění (MPV) - 3D počítačové vidění 20 / 30
Vlastnosti projektivnı geometrie I I I I I Nevlastnı bod (vanishing point - u be z nı k) nevlastnı body lze nale zt v be z ne m z ivote, napr. dlouhe rovne koleje se v oku (obra zku) sbı hajı koleje jsou rovnobe z ne, v 3D prostoru se protnout nemohou projektivnı transformace vs ak v obraze tyto dve pr ı mky zda nlive pr ibliz uje tento zda nlivy pru sec ı k je obrazem nevlastnı ch bodu te chto pr ı mek Metody Poc ı tac ove ho Vide nı (MPV) - 3D poc ı tac ove vide nı 21 / 30
Definice Nevlastnı bod je limit projekce ne jake ho body, ktery se pohybuje po libovolne prostorove pr ı mce do nekonec na. I I I uka zka projekce dvou rovnobe z ny ch prostorovy ch pr ı mek a jejich pru sec ı k je moz ne pouze z informacı z obra zku urc it poc et praz cu odspodu obra zku az ke vlaku? jak urc it vzda lenost vlaku pokud vı me, z e vzda lenost praz cu je 0,806 m? Metody Poc ı tac ove ho Vide nı (MPV) - 3D poc ı tac ove vide nı 22 / 30
Nevlastní přímka, (vanishing line - úběžnice) nevlastní přímka je přímka v obraze tzv. průsečnice dvou (všech) rovnoběžných prostorových rovin nebo jako pozice všech nevlastních bodů všech přímek ležící v jedné prostorové rovině např. horizont... pohled na otevřené moře... rovnoběžné prostorové přímky běžící po hladině se na horizontu protínají pak tyto průsečíky jsou obrazy nevlastních bodů a horizont obraz nevlastní přímky Metody Počítačového Vidění (MPV) - 3D počítačové vidění 23 / 30
Dvojpoměr (cross ratio) dvojpoměr je číslo, které charakterizuje poměr délek úseků mezi čtyřmi kolineárními body (body na jedné prostorové přímce) tyto čtyři kolineární prostorové body R,S,T a U definují dvojpoměr jako: [RSTU] = RT SU RU ST (6) Metody Počítačového Vidění (MPV) - 3D počítačové vidění 24 / 30
dvojpoměr je invariantní kolineaci dvojpoměr je invariantní perspektivní transformaci Metody Počítačového Vidění (MPV) - 3D počítačové vidění 25 / 30
1D projektivní souřadnice mějme nějaké čtyři (tři) body náležící prostorové přímce jsou promítnuty do obrazové roviny nějaké kamery (kolineace) pak v této kameře platí stejný dvojpoměr, jako v původní přímce předpokládejme, že poslední (čtvrtý) bod je úběžník, který v obraze má konečnou souřadnici tento fakt nám umožňuje měřit o obraze bez dalších znalostí projektivní transformace Metody Počítačového Vidění (MPV) - 3D počítačové vidění 26 / 30
[P] = [P P 0 P I P] = P P I P 0 P P 0 PI P P (7) P 0 - je počátek zvoleného souřadného systému [P 0 ] = 0 P - pracovní bod, jeho souřadnici v prostoru chceme určit P I - je bod určující měřítko, můžeme zvolit [P I ] = 1 nebo z velikosti známého objektu (umístěný v daném směru osy). P - pomocný bod (nevlastní bod dané prostorové přímky - osy) [P ] = ± Metody Počítačového Vidění (MPV) - 3D počítačové vidění 27 / 30
[P] = [P P0 PI P] = Metody Poc ı tac ove ho Vide nı (MPV) - 3D poc ı tac ove vide nı P PI P0 P P0 PI P P (8) 28 / 30
2D projektivní souřadnice rozšířením můžeme zavést měření ve dvou na sebe kolmých osách (2D Euklidovský prostor) umožňuje nám měřit podél prostorové roviny (např. podlaha) za pomoci její projekce do obrazu bez další znalostí (kalibrace kamery aj.) Metody Počítačového Vidění (MPV) - 3D počítačové vidění 29 / 30
souřadnice (x,y) libovolného bodu této prostorové roviny se analogicky určí jako: [P x ] = [P x P 0 P xi P x ] [P y ] = [P y P 0 P yi P y ] Metody Počítačového Vidění (MPV) - 3D počítačové vidění 30 / 30