15
Geometrie 3D vidění Perspektivní projekce – popisuje strukturu obrazu pomocí dírkového modelu kamery Souřadnice jsou homogenní [ x 1 , , x n ] T [ x 1 , , x n ,1 ] T

Geometrie 3D vidění

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

Page 1: Geometrie 3D vidění

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

Page 2: Geometrie 3D vidění

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

Page 3: Geometrie 3D vidění

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

Page 4: Geometrie 3D vidění

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 ]

Page 5: Geometrie 3D vidění

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

Page 6: Geometrie 3D vidění

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

Page 7: Geometrie 3D vidění

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

Page 8: Geometrie 3D vidění

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

Page 9: Geometrie 3D vidění

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

Page 10: Geometrie 3D vidění

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

Page 11: Geometrie 3D vidění

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

Page 12: Geometrie 3D vidění

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

Page 13: Geometrie 3D vidění

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

Page 14: Geometrie 3D vidění

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

Page 15: Geometrie 3D vidění

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