Geometrie 3D vidění Perspektivní projekce – popisuje strukturu obrazu pomocí dírkového modelu kamery Souřadnice jsou homogenní
Perspektivní kamera ¶ - obrazová rovina tečkovaná čára – optická os ohniskový bod C – optické centrum f – ohnisková vzdálenost X – bod 3d scény U – projekce X na ¶ Oc – souřadnicový systém kamery Ow – souř. systém světa Oi – obrazový afinní souř. systém
Výpočet perspektivní projekce Kamera provádí lineární transformaci z 3d prostoru do 2d prostoru Chceme vyjádřit bod scény v prostoru kamery Xc Potřebujeme tento bod posunout a zarotovat Vyžaduje znalost R a t – vnější parametry kamery Pomocí podobnosti trojuhelníků spočteme projekci bodu Xc na obr. rovinu Posledním krokem je určit kam se Uc promítne do souřadnic obrázku
Výpočet souřadnic v prostoru obrázku Promítnutý bod Uc lze vyjádřit ve 2D souř. sys. obrázku v homogénních souřadnicích jako a samozřejmě v Euklidovských souřadnicích jako a, b, c popisují skosení a změnu měřítka mezi Oc a Oi u0 a v0 jsou souřadnice hlavního bodu (principal point) v souřadném systému obrázku Tato matice se nazývá kalibrační matice kamery a označuje se K
Vnitřní a vnějši parametry kamery Jelikož jsou souřadnice homogenní, můžeme rovnici z minulého slidu pronásobit libovolnou konstantou Vnější parametry kamery závisí na orientaci kamery v prostoru vzhladem k světovým souřadnicím (Ow) – matice R a t Vnitřní parametry jsou uloženy v kalibrační matici K a popisují vlastnosti kamery nezávislé na vnějšich parametrech
Projekční matice Pokud zvolíme 3d světové souřadnice homogenní, můžeme vnější i vnitřní parametry „schovat“ do jedné matice Jinými slovy Pak … Matice M se nazývá projekční matice Využitím homogenních souřadnic zjednodušujeme problém projekce na lineární problém Matici M můžeme odhadnout ze známé scény nebo z neznámé scény a dále pak z pohybu kamery, který opět můžeme přímo znát, nebo ho musíme odhadnout
Kalibrace kamery ze známé scény Provádíme ve dvou krocích – nejdřív se odhadne projekční matice M a z ní se pak odhadnou vnější a vnitřní parametry Známá scéna znamená, že máme k dispozici sadu bodů v 3d prostoru a víme kam se nám tyto body promítnou v kameře Vzhledem k obecnosti můžeme psát: Tím pádem obdržíme pro každoou dvojici 2d – 3d bodů dvě rovnice, které mají dohromady 12 neznámých (matice M = 3x4 = 12)
Kalibrace kamery ze známé scény Poslední rovnici můžeme přepsat tak, abychom měli neznámé seřazeny ve vektoru pravé strany Matice M ma ve skutečnosti jenom 11 neznámých parametrů kvůli přítomnosti faktoru měřítka (a) – použili jsme totiž homogenní souřadnice Abychom spočetli neznámé potřebujeme minimálně šest bodů scény a jejich korespondenty – každý bo vygeneruje dvě rovnice Obyčejně se však uvažuje více bodů (kvůli přítomnosti šumu) a dostáváme přeurčenou soustavu rovnic, která se řeší pomocí robustní metody nejmenších čtverců
Odhad projekční matice Vhodná metoda řešení přeurčené soustavy je taky SVD rozklad, nebo-li rozklad na singulární čísla SVD rozklad rozloží libovolnou matici [m x n] na tři matice Matice U je unitární matice [m x m] tvořena po sloupcích ortonormálními „výstupními“ bázovými vektormi Matice V je unitární matice [n x n] tovřena po sloupcích ortonormálními „vstupními“ bázovými vektormi Matice D je diagonální matice [m x n] jejíž diagonálu tvoří singulární hodnoty matice M (úzce souvisí s vlastními čísli matice M) Pokuď Ax = 0 je přeurčená soustava (dim x < řádky A), můžeme určit neznámý vektor x jako bázový vektor matice V z SVD rozkladu odpovídající nejmenší singulární hodnotě matice D
Odhad parametrů kamery z projekční matice M = [KR | -KRt] = [A|b] Určení translace je jednoduché: Abychom separovali rotační a kalibrační matici, můžeme využít např. QR dekompozici matice QR dekompozice rozkládá matici na horní trojuhelníkovou (K) a ortogonální (R) Alternativně můžeme využít SVD rozklad
Fundamentální matice je algebraickým vyjádřením epipolární geometrie – geometrie stereovize opět lze nalézt transformaci mezi kamerami, tak aby byli jejich pohledy totožné vycházíme z předpokladu, že vektory X, X' a t jsou koplanární pak vektorový součin můžeme zapsat jako matici
Význam fundamentální matice po dosazení obdržíme což lze „přeházet“ na a odtuď plyne matici F nazveme fundamentální matice obdržíme výraz jenž se nazývá epipolární podmínka je vidět, že matice F bude transformovat vektor u' na vektor kolmý na u pak jejich skalární součin je roven nule pro nekorenspondující body bude tento skalární součin nenulový
Význam fundamentální matice je vidět, že fundamentální matice je schopna určit jestli jsou dva 2d body projekcí téhož 3d bodu v praktických úlohach často neznáme přímo souřadnice korenspondeta a tak ho musíme pomocí fundamentální matice najít výhoda je, že fundamentální matice vymezí prostor v druhém obrazu, ve kterém sa může korenspondent nacházet místo prohledávání celého obrazu, prohledáváme pouze přímku tato přímka se nazývá epipolární přímka a je v podstatě projekcí paprsku X' do druhé kamery pro všechny body ležící na této přímce bude splněna epipolární podmínka epipolární přímka je dáná vztahem , přičemž vektor l obsahuje koeficienty obecné rovnice přímky: ve druhém pohledu
Odhad fundamentální matice Odhad fundamentální matice je obdobní jako odhad projekční matice Opět potřebujeme „trénovací“ vzorek korenspondentů V matici F, která je 3x3, existuje tudíž devět neznámých, ovšem kvůli její hodnosti 2, existuje jenom osm neznámých, z čeho vyplýva, že potřebujeme minimálne osm rovnic využijeme podobný trik jako u odhadu proj. matice – seřadíme neznámé do vektoru pravé strany a řešíme základný problém lineární algebry: Ax = b, přičemž rovnice je homogenní (b = 0) odvození: daný problém řešíme opět metodou nejmenších čtverců anebo SVD
Literatura Většina materiálů byla čerpána z internetu a hlavně z publikace Milan Sonka, Vaclav Hlavac and Roger Boyle, Image Processing, Analysis and Machine Vision, second edition, Brooks/Cole Publishing Co., 1999