Aplikace
Výpočet pohybu kamery rekonstrukcí videosekvence 3D rekonstrukce objektů 3D modelování
Středové promítání
S
σ
ν...průmětna σ...centrální rovina
A
π
S...střed promítání
B
As
σ||π, S∈σ
B∈σ, neexistuje středový průmět
1
Nevlastní prvky Nevlastní bod (směr) přímky a ... bod, společný všem přímkám rovnoběžným s přímkou a. Nevlastní body všech přímek roviny tvoří nevlastní přímku roviny. Nevlastní přímka roviny je určena dvěma nevlastními body roviny. Rovnoběžné roviny mají stejnou nevlastní přímku. U∞ U∞
p
α
p ´ p´´
β
a b
U∞ u∞
V∞
u∞
Průmět rovnoběžných přímek U∞ S
ν…průmětna S…střed promítání N…stopník přímky a US …úběžník přímky a aS…středový průmět přímky a
b U∞ a bs Nb
ν
as
Us Na
Středovým průmětem rovnoběžných přímek a || b, které nejsou průčelné, jsou různoběžky as, bs, jejich průsečík Us je průmětem společného nevlastního bodu U∞.
2
Afinní prostor
Afinní Afinním prostorem budeme rozumět neprázdnou množinu A , na které je zvolen nějaký vektorový prostor V a dáno zobrazení f : A x V → A, f(X,u) = X + u (sčítání bodu a vektoru) splňující : 1. (X + u) + v = X + ( u + v ) pro každé X ∈ A a každé u , v ∈ V 2. označíme-li symbolem fO zobrazení V → A , f O(u) = ( O + u ) pro každé u ∈V , je fO vzájemně jednoznačným zobrazením. Vektorový prostor V nazýváme zaměř eníí afinní zaměřen afinního prostoru A , někdy ho značíme i V(A). Prvky A nazýváme body afinní afinního prostoru , o vektorech ze zaměření hovoříme volně jako o vektorech z afinní afinního prostoru .
y
fO ( u ) + v = O + ( u + v )
fO ( u )
u
A+v = B v = B− A
v x
O
Reálný afinní prostor
X = (1, x, y , z )
T
Vektory: u = ( 0, u1 , u2 , u3 )
T
u + v = ( 0, u1 , u2 , u3 ) + ( 0, v1 , v2 , v3 ) = ( 0, u1 + v1 , u2 + v2 , u3 + v3 ) Sčítání vektorů Součet bodu a vektoru X + v = (1, x, y, z ) + ( 0, v1 , v2 , v3 ) = (1, x + v1 , y + v2 , z + v3 ) a0 + a1 x + a2 y + a3 z = 0 Rovina (A,W2)
(1, x, y, z ) ( a0 , a1 , a2 , a3 ) = 0
Zaměření roviny u
Body:
XTa = 0 ∈ W uT a = 0
Afinní zobrazení f : An → Am X → X ′ , X ′ = AX + b
(1, x1 , x2 , x3 )
T
1 1 x′ b 1= 1 x2′ b2 x3′ b3
A...matice adjungovaného lineárního zobrazení
→ (1, x1′, x2′ , x3′ ) 0
0
a11 a21
a12 a22
a31
a 32
T
0 1 a13 x1 a23 x2 a33 x3
( 0, u1 , u2 , u3 )
T
0 1 u′ b 1= 1 u2′ b2 u3′ b3
→ ( 0, u1′, u2′ , u3′ ) 0
0
a11 a21 a31
a12 a22 a32
T
0 0 a13 u1 a23 u2 a33 u3
3
Projektivní rozšíření reálné afinní roviny Homogenní souřadnice bodu
Nechť (A2,V2) je afinní rovina vektory ∈ V 2 : body ∈ A
2
( o, u1 ,u2 ) ~ k ( o, u1 ,u2 ) k ≠ 0 T T (1, x,y ) ~ k ( x0 ,x1 ,x2 ) k ≠ 0 T
T
nevlastní body v P 2 vlastní
{ } P = {{( x ,x ,x ) }, a x + a x + a x = 0}
T Body – třídy ekvivalence ∼ B = ( x0 ,x1 ,x2 ) , ( x0 ,x1 , x2 ) ≠ o Přímky T 0
1
2
0 0
1 1
2 2
X ∈a ⇔ X a = a X = 0 T
T
Přímka určená dvěma body a=(AB) A ∈ a ⇔ AT a = 0 a = A× B B ∈ a ⇔ BT a = 0
U∞
p p ´ p´ ´
Průsečík dvou přímek P=m∩ n P ∈ m ⇔ PT m = 0 P = m×n P ∈ n ⇔ PT n = 0
V∞
u ∞
Model projektivní roviny
{ } P = {{( x ,x ,x ) }, a x + a x + a x = 0}
T B = ( x0 ,x1 ,x2 ) , ( x0 ,x1 , x2 ) ≠ o T
0
1
2
0 0
1 1
2 2
Nevlastní body x 0 = 0
Vnořená afinní rovina T
1
x0
x x T ~ 1, 1 , 2 = (1, x, y ) x0 x0 x y= 2 x0
( x0 , x1 ,x2 ) x=
x1 x0
T
4
Projektivní rozšíření reálného afinního prostoru Homogenní souřadnice bodu
Nechť (A3,V3) je afinní prostor vektory ∈ V 3 : body ∈ A
3
( o, u1 ,u2 ,u3 ) ~ k ( o, u1 ,u2 ,u3 ) k ≠ 0 T T (1, x,y, z ) ~ k ( x0 ,x1 , x2 , x3 ) k ≠ 0 T
T
{
nevlastní body v P 3 vlastní
}
Body – třídy ekvivalence ∼ B = ( x0 ,x1 ,x2 , x3 )T , ( x0 ,x1 ,x2 , x3 ) ≠ o T Roviny R = ( x0 ,x1 ,x2 , x3 ) , a0 x0 + a1 x1 + a2 x2 + a3 x3 = 0
{{
}
( x0 , x1, x2 , x3 )( a0 , a1, a2 , a3 ) = 0 ( 0, x1 , x2 , x3 )( a0 , a1, a2 , a3 ) = 0 X ∈ a ⇔ X T a = aT X = 0
}
U∞ α β
a b
U∞ u∞
Projektivní zobrazení
5
Dělící dvojpoměr
Dělící dvojpoměr je invariantem projektivního zobrazení
Analytické vyjádření projektivního zobrazení f : P n → P m , f ( X ) = AX
Třídou matic kA, k≠0 je určeno jediné projektivní zobrazení. Projektivita Pn→Pn je jednoznačně určena obrazy n+2 bodů, z nichž žádných n+1 bodů neleží v téže nadrovině matice A(n+1,n+1)
n2+2n dof
n+2 bodů
n(n+2) dof
6
Vlastnosti matice zobrazení f : P n → P m , f ( X ) = AX
a00 01 a10 11 a20 21 am 01
0
10 10 0
•Sloupce matice zobrazení jsou obrazy vektorů báze. •Řádky v projekční matici jsou roviny, které se zobrazí do souřadnicových rovin Př: Množina bodů, které se zobrazí na nevlastní nadrovinu x0′ = 0 ⇔ a00 x0 + a01 x1 + … a0 n x n = 0 Př: Množina bodů, které se zobrazí na souř. nadrovinu xi=0
xi′ = 0 ⇔ ai 0 x0 + ai1 x1 + … ain x n = 0
Projektivní zobrazení roviny P2→ → P2
7
Projektivní zobrazení roviny P2→ P2 ( x0 , x1 ,x2 )
T
→ ( x0′ ,x1′ ,x2′ )
T
Matice zobrazení je určena až na nenulový násobek x '0 h00 x '1 = h10 x ' h 2 20
h01 h11 h21
h02 x0 h12 x1 h22 x2
x' = H x 8DOF
E2′ E0 = (1, 0, 0 ) ; E1 = ( 0,1, 0 ) ; E2 = ( 0, 0,1) ;
E2∞
y
y
foto 2
E 1′∞ E0′
E0
∞ 1
E
x
O
x
O
Projektivní zobrazení roviny P2→ P2 ( x0 , x1 ,x2 )
T
→ ( x0′ ,x1′ ,x2′ )
T
Matice zobrazení je určena až na nenulový násobek x '0 h00 x '1 = h10 x ' h 2 20
h01 h11 h21
h02 x0 h12 x1 h22 x2
x' = H x
8DOF
Afinní zobrazení projektivního rozšíření afinní roviny = projektivní zobrazení, které zachovává nevlastní prvky 0 h00 x '1 = h10 x ' h 2 20
h01 h11 h21
h02 0 h12 x1 ⇒ h01 = 0, h02 = 0 h22 x2
1 H = b1 b2
0 a00 a10
6DOF
0 a01 a11
8
Přehled projektivit v rovině Projektivity 8dof
h00 h01 h02 h h h 10 11 12 h20 h21 h22
incidence, kolinearita, průsečík tečna, dělící dvojpoměr
Afinity 6dof
1 0 0 b a a 1 00 01 b2 a10 a11
Rovnoběžnost, dělící poměr, nevlastní přímka l∞
0 0 1 b k cosα k sinα 1 b2 −k sinα k cosα
úhly. Izotropické body
0 0 1 b cosα sinα 1 b2 − sinα cosα
délky, plochy.
Podobnosti 4dof
Shodnosti 3dof
Afinní rektifikace l∞
U p
m
q
V
V = m×n
n
U = p×q l∞ = U × V
l ∞ = ( l0 , l1 , l2 )
E2∞ X ′′ = H P′ X ′
E0
E1∞
l0 H P′ = 0 0
l1 l2 1 0 0 1
9
Transformace pohledu na afinní obraz ( x0 , x1 ,x2 )
T
→ ( x0′ ,x1′ ,x2′ ) → ( x0′′,x1′′, x2′′) T
T
X ' = HP X X ′′ = H ′P X ′ = H ′P H P X
Projektivity v prostoru Projektivity 15dof
1 b t A
Afinity 12dof
1 0 t A
Podobnosti 7dof
1 0 t kR
Absolutní kuželos. Ω∞
Shodnosti 6dof
1 0 t R
Objem
Incidence (průsečíky, tečna)
Rovnoběžnost, dělící poměr Nevlastní rovina π∞
10
Rekonstrukce snímku
Kalibrace kamery
W 0W , xW , yW , zW C C , xc , y c , z c I 0i , xi , yi , R ,t W ←→ C→I
Vztah obecné báze W a báze objektivu kamety C – vnější parametry kamery(extrinsic) Vztah kamerových souřadnic v bázi C a souřadnic obrázku v bázi I – vnitřní parametry kamery (intrinsic)
11
Geometrie kamery – (basic pinhole camera)
H
H
Vztah mezi pixelovými souřadnicemi snímku a souřadnicemi pozorovaného objektu v pevně daném repéru – projekční matice kamery. Prostorová scéna je ze středu promítána na průmětnu
Předpokládejme, že zobrazení mezi P3 a P2 je lineární
12
Kalibrace kamery – středové promítání x y E 3 → E 2 :, (1, x, y , z ) → 1, − f , − f z z x x x x = 1 ; y = 2 ;z = 3 x0 x0 x0 P3 → P2 : X → X ′
f
H
x1 x2 x3 x1 x2 1, , , → 1, − f , − f x3 x3 x0 x0 x0 ( x0 , x1 , x2 , x3 ) → ( x3 , − fx1 , − fx2 ) X ′ = Ppersp X = Ppersp ( x1 , x2 , x3 ) Ppersp
0 0 = 0 − f 0 0
0 0 −f
T
1 0 = 0 Ppersp 0
Sloupce Ppersp jsou obrazy báze C = (1, 0, 0, 0 ) ;
e1 = ( 0,1, 0, 0 ) ;
e2 = ( 0, 0,1, 0 ) ; e3 = ( 0, 0, 0,1) ;
Ppersp
Středové a rovnoběžné promítání
13
X ′ = Ppersp X Ppersp
0 0 = 0 − f 0 0
1 0 0
0 0 −f
f
H
Centrální rovina x3=0 se zobrazí do nevlastní přímky x´0=0 Souřadnicová rovina x1=0 se zobrazí do osy x´1=0. Souřadnicová rovina x1=0 se zobrazí do osy x´1=0.
Matice vnitřní kalibrace kamery 1 K int = x0 y 0
0 mx 0
0 1 0 0 1 0 0 1 s = x0 my 0 0 1 y0
0 mx 0
0 b my
arctan(1/s)
b = s ⋅ mx
Matice kalibrace kamery, projekční matice P3 → P2 : X → X ′ X′= P⋅ X
Pint = K int Ppersp
1 0 P = K int Ppersp t R 1 = x0 y0
0 mx 0
0 0 0 b 0 − f m y 0 0
Matice kalibrace K
0 0 −f
1 0 0 0 = 0 − mx f 0 0 0
K = K int Pperp
0 0 1 0 P = [0 K ] ⋅ = 0 − m x f t R 0 0
0 −bf −m y f
0 −bf −m y f
1 x0 = [ 0 K ] y0
K 1 1 0 x0 = K [t R ] t R y0
P = K [t R ] = [ Kt; KR ]
14
Projekční matice
Sloupce matice zobrazení jsou obrazy báze OW=(1,0,0,0), e1=(0,1,0,0), e2=(0,0,1,0), e3=(0,0,0,1) -První sloupec je obraz počátku OW, další sloupce jsou úběžníky souřadnicových os xW, yW, zW Střed kamery je jednodimenzionální prostor, který se zobrazí na nulový vektor, tj PC=o první řádek tvoří koeficienty obecné rovnice centrální roviny, druhý a třetí řádek určují koeficienty obecné rovnice promítacích rovin jejichž body se zobrazí do os x,y
p11 P = [ Kt KR ] = p21 p 31
p12
p13
p22
p23
p32
p33
p11 X ′ = p21 p 31
1 p14 p11 0 p24 = p21 0 p34 p31 0
p12 p22
p13 p23
p32
p33
p14 p24 p34
Numerický odhad projekční matice P Direct Linear Transformation
Předpokládejme, že zobrazení mezi P3 a P2 je lineární
X ′ = PX p11 P = [ Kt KR ] = p21 p 31
p12
p13
p22
p23
p32
p33
p14 P1 p24 = P 2 p34 P 3
P má 11 DoF, znalost dvojice bod průmět znamená 2 rovnice - minimální řešení vyžaduje alespoň 5 ½ dvojic
X ′ × PX = o
15
X ′ × PX = o
DLT
1 3 2 x 0′ P X x1′ P X − x2′ P X X ′ × PX = x1′ × P 2 X = − x 0′ P3 X + x2′ P1 X 2 1 3 x2′ P X x 0′ P X − x1′ P X
− x2′ X x1′ X P1 (0, 0, 0, 0) (0, 0, 0, 0) − x0′ X P 2 = o x2′ X − x′ X x0′ X (0, 0, 0, 0) P 3 1 Ap = 0
min ∑ d ( Xi′, PXi ) P
2
i
min Ap ; pˆ 3 = 1 p
Hlavní bod – úběžník hloubkových přímek
∞
H
H −1 = ( 0, p12 , p13 , p14 ) Hlavní bod Centrální rovina
Směrový vektor hloubkových přímek je kolmý k centrální rovině p11 P = [ Kt KR ] = p21 p 31
p12
p13
p22
p23
p32
p33
p14 p24 p34
H = P ( 0, p12 , p13 , p14 ) = KR ( p12 , p13 , p14 ) T
T
16
Průmět bodu
X ′ = PX
Projekční matice P=[Kt; KR] má v souřadném systému kamery tvar P=K[O;I]=Pint
Kalibrovaná kamera - Známe-li vnitřní parametry kamery - matice kalibrace K 0 0 Pint = 0 −mx f 0 0
0 −bf −m y f
1 x0 = [0 K ] y0
Všechny body na promítacím paprsku se promítnou do jednoho průmětu
H X′
X ′ = [ 0; K ] ( t , X ) = KX
X
X = (K ) X′ −1
Průmět bodu
X ′ = PX
Obraz nevlastního bodu u = (0, u ) je nezávislý na translaci u′ = P ⋅ (0 u ) = [Kt KR ] (0 u ) = KR ⋅ u
Rekonstrukce bodů v prostoru – promítací paprsek Bod na promítacím paprsku X = P + X ′ −1 Pseudo-inverzní matice P + = P T ( PP T ) ; PP + = I
H X′
Promítací paprsek je dán směrem u=(0, ū) a středem C
u = ( KR ) u′ = ( KR ) X ′ -1
-1
X (λ ) = λu + C 0 1 1 X (λ ) = λ + = ( KR )-1 X ′ - ( KR )-1 Kt ( KR )-1 ( λ X ′-Kt )
PC = o
[ Kt; KR ] (1,C ) = o Kt + ( KR ) C = o
C = − ( KR ) Kt −1
17
Úběžníky
X ′ = [ Kt; KR ] ( 0, X ) = KRX
X′1
X = ( KR ) X ′
X′2
−1
Směrové vektor promítacích paprsků d1 = ( 0, d1 ) ; d1 = ( KR ) X1′ −1
d2 = ( 0, d2 ) ; d2 = ( KR ) X2′ −1
Úhel mezi dvěma promítacími paprsky průmětů X´, Y´ cos θ =
d1T d 2
(d
T 1
d1 )( d 2 d 2 ) T
=
( X ′ (K T 1
X1′T ( K -T K -1 ) X 2′ -T
K -1 ) X1′ )( X 2′T ( K -T K -1 ) X 2′ )
Úběžníky kolmých směrů
X1′T ( K -T K -1 ) X2′ = 0
Projektivita nevlastní roviny a průmětny X = ( 0, X )
Body nevlastní roviny
Absolutní kuželosečka v nevlastní rovině
X ′ = [ Kt; KR] ( 0, X ) = KRX
x0 = 0; x12 + x22 + x32 = 0 ⇒ X = ( 0, X ) ; X T ⋅ I ⋅ X = 0 T −1 Obraz absolutní kuželosečky ω = ( KK ) XT ⋅ I ⋅ X = 0
X ′ = KRX
X ′T ( KR )
X = ( KR ) X ′ −1
X T = X ′T ( KR )
−T
I ( KR ) X ′ = 0 −1
X ′T ( KRRT K T ) X ′ = 0 −1
−T
X ′T ( KK T ) X ′ = 0 −1
Úhel mezi promítacími paprsky bodů X1, X2. cos θ =
( X ′ (K T 1
X1′T ( K -T K -1 ) X 2′ -T
K -1 ) X1′ )( X 2′T ( K -T K -1 ) X 2′ )
=
X1′T ω X 2′
( X ′ ω X ′ )( X ′ ω X ′ ) T 1
T
1
2
2
18
Epipolární geometrie Dvojstředové promítání
Rekonstrukce scény A
a
a
f(a,b,c)=0 (a,b)→ A (a,b,c)→ (a,b,c) (a,b)→ c
c b b
c
(rekonstrukce) (kalibrace) (transformace)
19
Promítací rovina bodu – epipolární rovina
X1
C1
X2
C2
Epipoláry
20
Esenciální matice
C1, C2 E1, E2 X1, X2 e1, e2 εx
středy promítání epipóly průměty bodu X epipoláry bodu X epipolární rovina
Matice kalibrace K1, K2 jsou známy – přejdeme k normalizovaným souřadnicím obrazu Xˆ 1 = K1−1 X 1 , Xˆ 2 = K 2−1 X 2 Xˆ 2 = ( t R ) X , Xˆ 1 = ( O I ) X
X 2 = P2 X = K 2 [ t , R ] X
0 = Xˆ 1T ⋅ E ⋅ Xˆ 2
Xˆ 1 ⋅ t × RXˆ 2 = 0
E = tM ⋅ R
X 1 = K1 Xˆ 1 , X 2 = K 2 Xˆ 2
Xˆ 1T ⋅ ( tM ⋅ R ) ⋅ Xˆ 2 = 0
0 tM = t3 −t 2
X 1 = P1 X = K1 [O , I ] X ,
(
)
E
−t3 0 t1
t2 −t1 0
Fundamentální a Esenciální matice
Pro esenciální matici pohledů E platí: E = tM ⋅ R Pokud uvažujeme matice kalibrace K1 K2 , pak vztah mezi průměty určuje tzv. fundamentální matice:
X 1 = K1 Xˆ 1 , X 2 = K 2 Xˆ 2 Xˆ T ⋅ E ⋅ Xˆ = 0 1
2
(K
−1 1
X
T 1
X1 ) ⋅ E ⋅ K X 2 = 0 T
(K
−T 1
−1 2
EK 2−1 ) X 2 = 0
F
0 = X 1T ⋅ F ⋅ X 2 F = K1− T tM ⋅ RK 2− T 0 tM = t3 −t 2
− t3 0 t1
t2 −t1 0
21
Zobrazení průmětu na epipoláry 0 = X 1T ⋅ F ⋅ X 2
0 = X 2T ⋅ ( X 1T ⋅ F )
0 = X 1T ⋅ e1
0 = X 2T ⋅ F T ⋅ X 1
T
0 = X 2T ⋅ e2
Fundamentální matice F určuje zobrazení
X 2 → e1 : e1 = FX 2 X 1 → e2 : e2 = F T X 1
Hodnost h(F)= 2 ⇒ fundamentální matice má 7 DoF Epipóly E1, E2 e = FX 1
2
E e = ( E1T F ) X 2 = 0 ⇒ E1T F = o T 1 1
e2 = F T X 1 e2T E2 = ( F T X 1 ) E2 = 0 ⇒ FE2 = o T
Samodružné body
0 = X 1T ⋅ F ⋅ X 2 0 = X 1T ⋅ FS ⋅ X 1
F = FS + FA ; FS =
F + FT F − FT ; FA = 2 2
22
Fundamentální matice Předpokládejme dva perspektivní průměty C1≠C2. Dvojice X1, X2 je dvojicí vzájemně si odpovídajících si průmětů právě tehdy, když
∃F , X 1T FX 2 = 0 Pro dva pohledy je matice F určena jednoznačně a nezávisí na transformaci souřadnic. Jestliže F je fundamentální matice pro přechod (P,P’), potom FT je fundamentální matice pro (P’,P) Daná fundamentální matice určuje dvojici kamerových matic až na násobení projektivní maticí.
Nechť F je fundamentální matice, P1 P2, P1´P2´ jsou páry projekčních matic, takové, že F je fundamentální matice obou párů. Pak existuje regulární matice H
P1′ = P1 H P2′ = P2 H
8 – bodový algoritmus pro určení matice F i
f11 f12 f13 1 X F X 2 = 0 ⇒ (1, x1 , y1 ) f 21 f 22 f 23 i x2 = 0 f i 31 f 32 f 33 y2 f = ( f11 , f12 , f13 , f 21 , f 22 , f 23 , f 31 , f 32 , f 33 )
(1
T 1
i
i
i
i
x2
y2
i
x1
i
i
x1 i x2
i
x1 i y2
i
i
y1
y1 i x2
i
y1 i y2 ) f = 0
Pro n dvojic odpovídajících si průmětů X1 a X2 dostáváme homogenní soustavu n lineárních rovnic. 1 1 1
1
x2 x2
2
n
x2
1
y2 y2
1
y2
n
2
n
2
x1 x1
1
x1 1 x2 x1 2 x2
x1
n
2
x1 n x2
1
x1 1 y2 x1 2 y2 n x1 n y2 2
1
y1 y1
2
n
y1
1 2
n
y1 1 x2 y1 2 x2 y1 n x2
y1 1 y2 y1 2 y2 f =0 n y1 n y2 1
2
A
min f ∈R
Af
2
Af = o
⇒ f je vlastní vektor matice A T A, příslušný k λmin .
9
23
E = tM ⋅ R 0 tM = t3 −t 2
Vlastnosti esenciální matice
− t3 0
Esenciální matice má 5 DoF E (3x3) je esenciální maticí, právě tehdy když jsou dvě singulární čísla shodná a třetí sing. číslo je nula:
t1
t2 −t1 0
Důkaz: Uvažujme ortogonální matici W a antisymetrickou matici Z=diag(1,1,0)W 0 −1 0 0 −1 0 W = 1 0 0 ; Z = 1 0 0 0 0 1 0 0 0
Každá antisymetrická matice TM může být rozložena TM =kUZUT, kde U je ortogonální. TM = kU ⋅ diag(1,1,0) ⋅ WU T
E = TM R=Udiag(1,1,0)WU T R
Sestrojení esenciální matice E
Sestrojíme-li pro libovolnou matici F(3x3) rozklad SVD: F = U ⋅ diag {σ 1 , σ 2 , σ 3}V T ; U ,V ∈ O ( 3, R )
pak matice E = U ⋅ diag {σ , σ ,0}V T ;σ =
σ1 + σ 2 2
je esenciální matice s minimální Frobeniovou vzdáleností od F. E je určena až na násobek ⇒ normalizujeme ⇒ σ=1 ⇒||t ||=1 0 −1 0 E = tM R = U ⋅ diag {1,1,0} ⋅ W ⋅ U T ⋅ R ; W = 1 0 0 ∈ O ( 3, R ) ;U ∈ O ( 3, R ) 0 0 1 T E = U ⋅ diag {1,1,0} ⋅ V ⇒ R = UW V , tM = U ⋅ diag {1,1,0} ⋅ W ⋅ U T 0 t = U 0 1
24
Konstrukce projekčních matic z esenciální matice E
T Pro danou esenciální matici E = U ⋅ diag {1,1,0}V a pro volbu prvního kamerového systému P1 = [0, I] existují 4 možné volby projekční matice P2.
P2 = ± u3 UWV T
P2 = ±u3 UW TV T
0 −1 0 W = 1 0 0 0 0 1
Nevýhody osmibodového algoritmu Esenciální matice má 5 volitelných parametrů ( x potřebujeme 8 bodů) Je možné řešit jen pro případ t≠o. Detekované průměty bodů X1, X2 musí odpovídat bodům v „obecné“ poloze.
4 možnosti pro rekonstrukci E
Jen jedno řešení kdy je scéna před oběma kamerami
25
Rekonstrukce objektu – Kalibrovaná matice
Kalibrované pohledy 8 bodovým algoritmem určíme F Z matic kalibrace určíme odhad esenciální matice
(K
−T 1
EK 2−1 ) = 0
Rozkladem určíme projekční matice Z odpovídajících si průmětů sestrojíme bod v prostoru
Rekonstrukce objektu Pokud body X v prostoru transformujeme projektivitou H, Xˆ = HX
pak jsou projekční matice tvaru Pˆ1 = P1 H −1 ; Pˆ2 = P2 H −1
Xi = PX i
(
)(
ˆ Xi = Pˆ i H H-1 X
)
26
Rekonstrukce objektu
Jestliže množina dvojic průmětů určuje fundamentální matici jednoznačně, potom může být 3D scéna zrekonstruována a každé dvě takové rekonstrukce jsou projektivně ekvivalentní. Projektivní rekonstrukce – zjištění vlastností invariantních v grupě projektivit (dělicí dvojpoměr, incidence) Afinní rekonstrukce – zjištění vlastností invariantních v grupě afinit (dělící poměr, rovnoběžnost) Metrická rekonstrukce – zjištění vlastností invariantních v grupě podobností
Afinní rekonstrukce
určíme obraz nevlastní roviny π zrekonstruované scény a použijeme projektivní zobrazení, které ji zobrazí zpět na nevlastní rovinu x0´=0. π 0 π1 π 2 π 3 0 1 0 0 H = 0 0 1 0 0 0 0 1
27
Afinní rekonstrukce
Známe –li kamerové matice afinní rekonstrukce, P1=[t1 M1], P2=[t2 M2], pak afinita mezi snímky je dána maticí Q=M2M1-1. D: Obraz nevlastního bodu: X = ( 0, X )
X1 = [t1 M1 ] X = M1 X ,
⇒ X2 = M 2 M1−1 X1
X 2 = [t2 M 2 ] X = M 2 X
Metrická rekonstrukce
určíme obraz absolutní kuželosečky v nevlastní rovině ω zrekonstruované scény a použijeme projektivní zobrazení, které ji zobrazí zpět na absolutní kuželosečku. x0 = 0; x12 + x22 + x32 = 0 ⇒ X = ( 0, X ) ; X T ⋅ I ⋅ X = 0
ω = ( KK T )
−1
Předpokládejme, že je známý obraz absolutní kuželosečky a máme již scénu afinně zrekonstruovanou. Pak od afinní rekonstrukce můžeme přejít k metrické rekonstrukci 3D transformací. 1 H= 0
0 ; A−1
AAT = ( M T ω M )
−1
28
Obraz absolutní kuželosečky ω = ( KK T )
−1
úběžníky vzájemně kolmých směrů v1,v2
v1T ωv2 = 0
úběžník v přímky kolmé k rovině dané úběžnicí l. l = ωv
Autokalibrace z více snímků. Je-li sestrojen dostatečný počet snímků stejným fotoaparátem (pohyblivá kamera) ω = H∞-TωH∞-1
Rekonstrukce scény Zná Známé parametry parametry
Páry odpovídajících si bodů
Rekonstrukce Rekonstrukce
F
Projektivní
Obraz roviny v nekonečnu
F,H∞
Afinní
IAC, kalibrační matice
F,H∞ ω,ω’
Metrická
29