CENTER FOR MACHINE PERCEPTION
CZECH TECHNICAL UNIVERSITY
VY ´ ZKUMNA ´ ZPRA
´ V
A
ISSN1213-2365Matematicky´ model kamery v afinnı´m prostoru
(Verze 1.0.1)
Jan Sˇochman, Toma´sˇ Pajdla
sochmj1@cmp.felk.cvut.cz, pajdla@cmp.felk.cvut.cz
CTU–CMP–2002–11 6. brˇezna 2003
Lze zı´skat na
ftp://cmp.felk.cvut.cz/pub/cmp/articles/sochman/Sochman-TR-2002-11.pdf
Tato pra´ce byla podporˇena granty GACˇR 102/01/0971 a MSM 212300013
Research Reports of CMP, Czech Technical University in Prague, No. 11, 2002 Published by
Centrum strojove´ho vnı´ma´nı´, Katedra kybernetiky Fakulta elektrotechnicka´ CˇVUT
Technicka´ 2, 166 27 Praha 6
fax: (02) 2435 7385, tel: (02) 2435 7637, www: http://cmp.felk.cvut.cz
1 Motivace
Meˇjme kameru a snı´mejme s nı´ okolnı´ sveˇt. Vy´stupem takove´ho snı´ma´nı´ je rovinny´
obraz sveˇta. Chteˇli bychom neˇjak vyuzˇı´t tohoto obrazu sveˇta k popisu nasnı´mane´
sce´ny. Zna´me vsˇak pouze sourˇadnice bodu˚, u, v , v obraze.
Jelikozˇ je vsˇak kamera sama umı´steˇna v prostoru, ktery´ sleduje, a rovina obrazu odpovı´da´ obrazove´ rovineˇ kamery, lze se na obrazove´ body dı´vat jako na body ve sveˇteˇ (prostoru A). Nasˇı´m cı´lem je najı´t vztah mezi sourˇadnicemi u, v a sourˇadnicemi v prostoru A, neboli najı´t takove´ zobrazenı´ f , ktere´ bodu z prostoru A prˇirˇadı´ sourˇadnice v obraze.
Aby bylo mozˇno cˇinit neˇjaka´ dalsˇı´ prohla´sˇenı´, je nejdrˇı´ve nutno blı´zˇe specifi- kovat prostor A. V nasˇem prˇı´padeˇ pouzˇijeme afinnı´ prostor1.
2 Afinnı´ prostor
Afinnı´ prostor je definova´n jako trojice P, V, ϕ , kde P je mnozˇina bodu˚, V vektorovy´ prostor a ϕ zobrazenı´ ϕ P × P → V. Navı´c musı´ by´t splneˇno na´sledujı´cı´:
1. ∀P, Q ∈ P ∃~v ∈ V ϕ P, Q ~v 2. ∀P ∈ P ∀~v ∈ V ∃Q ∈ P ϕ P, Q ~v
3. ∀P, Q, R ∈ P ϕ P, Q ϕ Q, R − ϕ P, R
Prˇedpokla´da´ se, zˇe V ma´ dimenzi n. Pak hovorˇı´me o afinnı´m prostoru dimenze n, ktery´ znacˇı´me An. Vektorove´mu prostoru V rˇı´ka´me zameˇrˇenı´ afinnı´ho prostoru An.
Prvnı´ axiom da´va´ do souvislosti dva body z P s jednı´m vektorem. Rˇ ı´ka´, zˇe ϕ je funkce z mnozˇiny bodu˚ do vektorove´ho prostoru. Take´ je mozˇno se na tvrzenı´
dı´vat tak, zˇe ϕ prˇirˇazuje dvojicim bodu˚, na ktery´ch nemusı´ by´t definova´ny zˇa´dne´
operace, prvek z vektorove´ho prostoru, ve ktere´m uzˇ umı´me scˇı´tat a na´sobit.
Druhy´ axiom rˇı´ka´, zˇe ke kazˇde´mu bodu z mnozˇiny P a vektoru z vektorove´ho prostoru V existuje pra´veˇ jeden bod z P. Je tak tedy definova´na funkce ψ P × V → P.
1Afinnı´ prostor dobrˇe modeluje geometrii beˇzˇne´ho sveˇta kolem na´s. Za´veˇry ucˇineˇne´ na za´kladeˇ axiomu˚ afinnı´ho prostoru souhlası´ se za´veˇry o sveˇteˇ, ke ktery´m dojdeme beˇzˇny´m usuzova´nı´m na za´kladeˇ zdrave´ho rozumu. Oproti uzˇitı´ zdrave´ho rozumu ma´ formulace a rˇesˇenı´ proble´mu˚ v rˇecˇi afinnı´ho prostoru tu vy´hodu, zˇe zkouma´nı´ je systematicke´ a lze se prˇi neˇm oprˇı´t o vy´sledky zna´me´
z teorie linea´rnı´ch prostoru˚.
1
P
Q
R
Q − P R − Q
R − P
Obra´zek 1: Troju´helnı´kova´ rovnost.
Trˇetı´mu axiomu se rˇı´ka´ troju´helnı´kova´ rovnost. Ta je zna´meˇjsˇı´ ve formeˇ (viz obra´zek 1)
Q − P R − Q R − P , (1)
kde P, Q, R jsou opeˇt body. Je vsˇak trˇeba si uveˇdomit, co znamenajı´ operace a −. Za prˇedpokladu, zˇe body P, Q, R jsou body z An, tedy n-dimenziona´lnı´ho afinnı´ho prostoru, prˇedstavuje operace − zobrazenı´ ϕ, ktere´ prˇirˇadı´ usporˇa´dane´
dvojici bodu˚ vektor. Toto zobrazenı´ je neˇkdy oznacˇova´no jako odcˇı´ta´nı´ bodu˚.
Operace je scˇı´ta´nı´ vektoru˚ ve vektorove´m prostoru V.
Na funkci ψ bychom narazili, pokud bychom rovnici (1) prˇepsali do tvaru Q R − Q − P R − Q R − P . (2) Zde funkce ψ odpovı´da´ operaci , jejı´mzˇ parametrem je bod a vektor a vy´sledek je opeˇt bod.
3 Zobrazenı´ ϕ
Zı´skat mnozˇinu bodu˚ P a vektorovy´ prostor V lze snadno. Mu˚zˇeme vzı´t naprˇı´klad vektorovy´ prostor R . Tı´m vsˇak jesˇteˇ nenı´ urcˇeno zobrazenı´ ϕ, natozˇ jednoznacˇneˇ.
Dı´ky vlastnostem afinnı´ho prostoru vsˇak nemusı´me zobrazenı´ ϕ definovat pro vsˇechny body, ale postacˇı´ na´m k tomu cˇtyrˇi specia´lneˇ vybrane´. Ukazˇme postup jeho konstrukce.
Meˇjme A , tedy P, V dimenze 3 a ϕ splnˇujı´cı´ axiomy 1–3, ktere´ nezna´me, ale o ktere´m vı´me, zˇe existuje. Vezmeˇme bod O ∈ P a trˇi linea´rneˇ neza´visle´ vektory
~b , ~b , ~b
z V. Podle druhe´ho axiomu platı´ ϕ O, Bi ~bi pro neˇjake´ trˇi body Bi, i . . . . Zı´skali jsme tak dalsˇı´ trˇi body z P.
Ukazˇme, zˇe je ϕ takto definovane´ na cˇtyrˇech dvojicı´ch bodu˚ jednoznacˇneˇ da´no i na zbyly´ch bodech. Nejdrˇı´ve uka´zˇeme jednoznacˇnost pro dvojice O, X , kde X
je libovolny´ bod z P. Z prvnı´ho axiomu vı´me, zˇe pro takovouto dvojici existuje pra´veˇ jeden vektor ~v ∈ V. Jelikozˇ jsou ~b , ~b , ~b
linea´rneˇ neza´visle´, tvorˇı´ ba´zi a vektor ~v lze zapsat jako jejich linea´rnı´ kombinaci. Ma´me tedy
ϕ O, X ~v x ~b x~b x
~b
x ϕ , B x ϕ , B x
ϕ , B , cozˇ jednoznacˇneˇ prˇirˇazuje te´to dvojici vektor z V. Naopak z druhe´ho axiomu zı´ska´me pro kazˇdy´ vektor ~v ∈ V bod X takovy´, zˇe ϕ O, X ~v. Zobrazenı´ ϕ je tedy pro dvojici O, X , kde X je libovolne´, urcˇeno jednoznacˇneˇ. Vektoru ~v splnˇujı´cı´mu rovnost ~v ϕ O, X pro danny´ bod X rˇı´ka´me zameˇrˇenı´ bodu X.
Pro libovolne´ dva body A, B ∈ P je pak zobrazenı´ ϕ A, B definova´no jednoznacˇneˇ z troju´helnı´kove´ rovnosti jako
ϕ A, B ϕ O, B − ϕ O, A .
Takove´to zobrazenı´ existuje pro vsˇechny dvojice, nebot’ vy´razy na prave´ straneˇ jsou definova´ny pro vsˇechny body a je i jednoznacˇne´ dı´ky jednoznacˇnosti vy´razu˚
na prave´ straneˇ.
4 Sourˇadna´ soustava kamery
Vrat’me se k nasˇı´ u´loze nalezenı´ vztahu mezi sourˇadnou soustavou obrazu a sou- rˇadnou soustavou okolnı´ho sveˇta. Zatı´m jsme specifikovali okolnı´ sveˇt jako afinnı´
prostor A . Dalsˇı´m krokem je definice sourˇadne´ soustavy obrazu vzhledem ke ka- merˇe.
Pokud se na´m toto podarˇı´, prˇevedeme na´sˇ proble´m na nalezenı´ zobrazenı´ jedne´
ba´ze zameˇrˇenı´ prostoru A na druhou. Kamera je totizˇ umı´steˇna v prostoru A a tak je tedy ba´ze spojena´ se sourˇadnou soustavou kamery i ba´zı´ zameˇrˇenı´ prostoru A .
Sourˇadnou soustavu kamery lze definovat mnoha zpu˚soby, takzˇe si uka´zˇeme jednu z mozˇny´ch a uka´zˇeme si, procˇ je pra´veˇ tato vy´hodna´.
Na obra´zku 2 je naznacˇena situace v kamerˇe2. C je opticky´ strˇed kamery a π obrazova´ rovina. V rovineˇ π jizˇ ma´me sourˇadnou soustavu o, b , b , ktere´
odpovı´dajı´ ba´zove´ vektory~ı, ~. Tato sourˇadna´ soustava odpovı´da´ sourˇadne´ soustaveˇ obra´zku.
Zde je trˇeba pozastavit se nad pojmem „rovina“. Takovy´to pojem v nasˇem afinnı´m prostoru zatı´m nema´me. Je trˇeba vyvarovat se toho, zˇe si afinnı´ prostor A , ve ktere´m se pohybujeme, prˇedstavujeme jako R . V R jizˇ vı´me, co je rovina.
Je to podprostor dimenze 2. Intuitivneˇ tak ztotozˇnˇujeme rovinu v R s rovinou v A , cozˇ nenı´ spra´vneˇ.
2Prˇedpokla´da´me dı´rkovy´ model kamery.
3
PSfrag replacements
o π
~ı
~
b
b C
X
uu, v
Obra´zek 2: Promı´tnutı´ bodu do obrazu.
Rovina v afinnı´m prostoru A P, V, ϕ je opeˇt podprostor dimenze 2, ovsˇem afinnı´ podprostor. Tedy A P0, V0, ϕ0 , kde V0 je podprostor V0 dimenze 2, ϕ0 je „zu´zˇenı´“ ϕ na V0 a P0 jsou body z P, na ktery´ch je definova´no ϕ0.
Je tedy nutne´ vzı´t v potaz zmensˇenı´ dimenze nejenom u vektorove´ho prostoru V, ale take´ pro zobrazenı´ ϕ a mnozˇinu bodu˚ P. Jak prˇesneˇ je definova´no ono
„zu´zˇenı´“ ϕ a vy´beˇr bodu˚ z P je videˇt na na´sledujı´cı´ forma´lnı´ definici roviny v afinnı´m prostoru.
Definice: Rovinou v afinnı´m prostoru A P, V, ϕ rozumı´me takovy´
afinnı´ prostor A P0, V0, ϕ0 , kde V0 je podprostor V dimenze 2 a pro mnozˇinu bodu˚ P0platı´
1. pro kazˇdy´ vektor ~v ∈ V0 a vsˇechny body P, Q ∈ P, pro ktere´ platı´
ϕ P, Q ~v, platı´ P, Q ∈ P0,
2. pro kazˇdou dvojici bodu˚ P, Q ∈ P0platı´ ϕ P, Q ∈ V0. Zobrazenı´ ϕ0je definova´no stejneˇ jako ϕ ovsˇem pouze na P0a V0.
Pokud tedy ma´me bod C, ktery´ nelezˇı´ v rovineˇ π, znamena´ to, zˇe pro libovolny´
bod X ∈ π platı´ ϕ C, X 6∈ V0. Dosta´va´me tak vektor, ktery´ je linea´rneˇ neza´visly´
na vektorech z roviny π.
K nadefinova´nı´ sourˇadne´ soustavy kamery potrˇebujeme stejneˇ jako v prˇı´padeˇ hleda´nı´ sourˇadne´ soustavy A trˇi linea´rneˇ neza´visle´ vektory a jeden bod. Navı´c chceme, aby tyto byly sva´za´ny s kamerou.
Asi nejjednodusˇsˇı´ volbou je pouzˇı´t jako ba´zi vektory ~ı, ~, ϕ o, C (vı´me, zˇe jsou linea´rneˇ neza´visle´) a jako pocˇa´tek bod o. Takova´to volba je korektnı´ a ma´ tu vy´hodu, zˇe body z obrazove´ roviny v neˇm budou mı´t sourˇadnice u, v, . Dostali
PSfrag replacements
o u
π
p
~ı C ~
X
Y
Obra´zek 3: Linea´rnı´ za´vislost vektoru˚ prˇi nevhodneˇ zvolene´ sourˇadne´ soustaveˇ kamery.
jsme tedy snadny´ prˇevod ze sourˇadne´ soustavy obrazu do sourˇadne´ soustavy kamery.
Takto zvolena´ sourˇadna´ soustava vsˇak ma´ i jeden nedostatek (viz obra´zek 3).
Pozdeˇji budeme pro zformulova´nı´ rovnice (3) pozˇadovat, aby vektory zameˇrˇujı´cı´
vsˇechny body na prˇı´mce p (naprˇı´klad X, Y ) byly linea´rneˇ za´visle´ na zameˇrˇenı´
bodu u, ktere´ reprezentuje projekci bodu˚ na prˇı´mce p do roviny π.
V na´mi navrzˇene´ sourˇadne´ soustaveˇ jsou vsˇak vektory ϕ o, X a ϕ o, Y linea´rneˇ neza´visle´ na zameˇrˇenı´ bodu u.
Pokusı´me se sourˇadnou soustavu zvolit vhodneˇji. Vezmeme jako pocˇa´tek bod C a trˇi neza´visle´ vektory~ı, ~, ϕ C, o (obra´zek 4). Ty na´m opeˇt definujı´ sourˇadnou soustavu kamery, ve ktere´ ma´me jednoduchy´ prˇevod z obrazovy´ch sourˇadnic do sourˇadne´ soustavy kamery. Bod u, v z obrazu bude mı´t sourˇadnice u, v, . Navı´c jsme zı´skali linea´rnı´ za´vislost vektoru˚ ϕ C, X a ϕ C, Y na ϕ C, u .
Nalezli jsme tedy vhodnou sourˇadnou soustavu kamery, do ktere´ ma´me snadny´
prˇevod ze sourˇadne´ soustavy obrazu a navı´c jsou v nı´ zameˇrˇenı´ vsˇech bodu˚ na jedne´
prˇı´mce (paprsku) procha´zejı´cı´ strˇedem promı´ta´nı´ linea´rneˇ za´visle´ na zameˇrˇenı´
bodu reprezentujı´cı´m projekci teˇchto bodu˚. Mu˚zˇeme tedy pokrocˇit k definici ma- tematicke´ho modelu kamery.
5 Matematicky´ model kamery
Nynı´ jizˇ ma´me vsˇe nachysta´no k tomu, abychom doka´zali vyja´drˇit na´sˇ proble´m forma´lneˇ. Oznacˇme sourˇadnice vzhledem k obecne´ sourˇadne´ soustaveˇ afinnı´ho
5
PSfrag replacements
o u
π
p
~ı ~ı
~ ~
C
X
Y
Obra´zek 4: Vhodneˇ zvolena´ sourˇadna´ soustava kamery.
prostoru A indexemβ a sourˇadnice vzhledem k sourˇadne´ soustaveˇ kamery inde- xemβ0.
Jak jizˇ bylo rˇecˇeno, body na jednom paprsku vycha´zejı´cı´m z opticke´ho strˇedu kamery by se meˇly promı´tnout do stejne´ho bodu v obraze. Pro kazˇdy´ bod X z prostoru A tedy musı´ platit
α
u v
ϕβ0 C, X . (3)
Neboli vektor ϕβ0 C, X je α-na´sobkem vektoru u, v, , ktery´ v sourˇadne´ sou- staveˇ kamery odpovı´da´ bodu u – promı´tnuty´ bod X. Tedy ϕβ0 C, u u, v, .
Obvykle vsˇak ϕβ0 C, X nezna´me. Pokud ma´me zna´my´ objekt, mu˚zˇeme vsˇak nale´zt ϕβ C, X tak, zˇe si v A zvolı´me libovolnou sourˇadnou soustavu. Potrˇebu- jeme tedy navı´c najı´t zobrazenı´ f takove´, zˇe
ϕβ0 C, X f ϕβ C, X .
Jelikozˇ se nejedna´ o nic jine´ho, nezˇ o prˇechod z jedne´ ba´ze do druhe´, je mozˇno zobrazenı´ f vyja´drˇit maticı´, takzˇe lze ekvivalentneˇ napsat
ϕβ0 C, X! Aϕβ C, X (4)
kde A je odpovı´dajı´cı´ matice. S vyuzˇitı´m (4) dosta´va´me prˇepis vztahu (3)
α
u v
Aϕβ C, X A X − C . (5)
Tato rovnice je za´kladnı´m vztahem mezi kamerou (reprezentovanou maticı´ A), bodem v prostoru X a bodem v obraze u, v . Cˇasteˇji se s touto rovnicı´ setka´me ve tvaru
αu P X
,
kde P ∈ R ×" odpovı´da´ matici A a nazy´va´ se projekcˇnı´ matice.
Takto vybudovany´ model kamery je sice spra´vny´, ale jesˇteˇ ne zcela u´plny´.
Zatı´m nevı´me, co deˇlat z body v rovineˇ rovnobeˇzˇne´ s π a procha´zejı´cı´ bodem C. Kam se promı´tnou? Dalsˇı´ zvla´sˇtnı´ prˇı´pad nastane, kdyzˇ budeme zobrazovat prˇı´mku kolmou na rovinu π neprocha´zejı´cı´ strˇedem promı´ta´nı´. Pokud bychom po nı´ sˇli porˇa´d da´l a da´l, azˇ do nekonecˇna, promı´tne se na´m toto nekonecˇno do bodu v obraze. Jak se ma´me chovat k takovy´mto bodu˚m?
Je tedy nutno ucˇinit dalsˇı´ krok a prˇejı´t z afinnı´ho prostoru do prostoru projek- tivnı´ho.
7