Upload
catherine-contreras
View
33
Download
4
Embed Size (px)
DESCRIPTION
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 - PowerPoint PPT Presentation
Citation preview
Geometrie 3D vidění
Perspektivní projekce – popisuje strukturu obrazu pomocí dírkového modelu kamery
Souřadnice jsou homogenní [ x1 , , xn]T[ x1 , , xn,1]T
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
X ∈ℝ3
X c=[ xcyczc ]=R X w−t
U c=[− fxczc
,−fy czc,− f ]
T
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 O
i
u0 a v
0 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
u=[U ,V ,W ]T
u=[u , v ]T=[U /W ,V /W ]T
u=[ UVW ]=[ a b −u0
0 c −v0
0 0 1 ] [− fxc / zc− fyc / zc1 ]=[− fa − fb −u0
0 − fc −v0
0 0 1 ] [ xc /zcyc / zc1 ]
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 (O
w) – 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
zc u=zc [− fa − fb −u0
0 − f c −v0
0 0 1 ] [ xc /zcyc / zc1 ]=[− fa − fb −u0
0 − f c −v0
0 0 1 ] [ xcyczc ]=[− fa − fb −u0
0 − f c −v0
0 0 1 ] R X w− t =KR X w−t
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
X w=[ X w ,1]T
u=[KR ;−KRt ][ X w
1 ]=M [ X w
1 ]=M X w
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)
[ auava ]=[ m11 m12 m13 m14
m21 m22 m23 m24
m31 m32 m33 m34] [ xyz
1] [ auava ]=[ m11 x m12 y m13 z m14
m21 x m22 y m23 z m24
m31x m32 y m33 z m34]
u m 31 xm 32 ym 33 zm 34=m11 xm 12 ym13 zm 14
v m 31 xm 32 ym33 zm34 =m 21 xm 22 ym23 zm24
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ů
[ x y z 1 0 0 0 0 −ux −uy −uz −u0 0 0 0 x y z 1 −vx −vy −vz −v
⋮ ] [ m11
m12
⋮m34
]=0
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
M =UDV
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
t=−A−1b
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
pak
u≃[K ;0 ][ X1 ]=KXu '≃[K ' R ;−K ' Rt ][ X1 ]=K ' RX −Rt =K ' X '
X T t×R−1 X ' =0
K −1 u T t×R−1 K ' −1 u ' = 0
S t =[ 0 −t z t yt z 0 −t x
−t y t x 0 ]t× A= S t A
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ý
K −1 u T S t R−1 K ' −1u ' =0
u T K −1T S t R−1 K ' −1 u '= 0
F=K −1T S t R−1 K ' −1
uT F u '=0
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
l= Fu 'l1 x l 2 y l3=0
l '=u T F T=F T u
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
uiT F u ' i=0
[ui , vi ,1]F [ u ' iv 'i1 ]=0
[ ui u ' i ui v ' i ui vi u ' i vi v 'i v i u ' i v ' i 1⋮ ] [ f 11
f 12
⋮f 33
]=0
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