Parâmetros Geométricos de Câmeras Realidade Aumentada Cooperativa Marcelo Gattass.

Post on 17-Apr-2015

108 views 3 download

Transcript of Parâmetros Geométricos de Câmeras Realidade Aumentada Cooperativa Marcelo Gattass.

Parâmetros Geométricos de Câmeras

Realidade Aumentada CooperativaMarcelo Gattass

Parâmetros da câmera• Extrínsecos ou externos

– Localização e orientação da câmera

• Intrínsecos ou internos– Definem a relação entre um ponto em coordenadas

da câmera e o pixel

Calibração de câmeras:

estimativas destes parâmetros.

Câmera segue um modelo simples

plano de projeção

centro de projeção

Projeção cônica

caixa

filme

objetopinhole

raios de luz

imagem

Câmera

Objetos distantes aparecem pequenos

Linhas paralelas se encontram

Notação

Z

Yfy

Z

Xfx ,

xc

yc

zcp’

Z

Y

X

P

y'

x'

Z

Yfy

Z

Xfx ,

'

'

y

xp

ZY

ZX

f

(X,Y,Z)T (x’,y’)T(xim,yim)T

yim

f xim

yc

vista lateral

oczc

f

fovy oy

xim

yim

h pi

xels

ox

oc

eixo óptico

x0

y0

yc

xc

zc

Z

Y

X

P

y'

x'

w pixels

x'

y'

(xim,yim)T (x’,y’)T

xim

yim

x’

y’

01 3 4

1

2

0

3

2

sx

sy

p'

ooy

ox

y

x

y

x

yimy

ximx

s

s

s

s

oys

oxs

y

x

1

3

)13(

)25(

)(

)(

'

'

5

ximx

oxs

x

'yim

y

oys

y

'

)(

)(

yimy

ximx

oys

oxs

y

xp

Verificando:

(X,Y,Z)T (xim,yim)T

Z

Y

X

osf

osf

w

y

x

yy

xx

h

h

100

0

0

yy

im

xx

im

oZ

Y

s

fy

oZ

X

s

fx

wy

wx

y

x

h

h

im

im

)(

)(

yimy

ximx

oys

oxs

y

xp

ZY

ZX

f

Parâmetros intrínsecos com cisalhamento

10100

0010

0001

100

0Z

Y

X

of

osf

w

y

x

yy

xhx

h

h

P0IKp 3

yy

xx

sff

sff

][ yxhyx oosff

Parâmetros intrínsecos com distorção radial

• Projeção cônica, distância focal: f

)('

)('

yimy

ximx

oysy

oxsx

][ 1koosff yxhyx

•Transformação câmera para imagem:

•Deformação radial:

22

42

21

42

21

)1('

)1('

ddd

ddd

ddd

yxr

rkrkyy

rkrkxx

02

12

k

kk

Um caso mais simples

Z

Yfy

Z

Xfx ,

Z valor médio

20Z

Z

Projeçãoortigráficaseguida de

escala

Parâmetros extrínsecosxc

yc

zc

yw

xw

zw

w

w

w

cwcwcw

cwcwcw

cwcwcw

c

c

c

cw

Z

Y

X

Z

Y

X

kkkjki

jkjjji

ikijii

P

Pw

Pc t

tPP wc

1w

w

w

z

y

x

cwcwcw

cwcwcw

cwcwcw

c

c

c

cZ

Y

X

t

t

t

Z

Y

X

kkkjki

jkjjji

ikijii

P

wc PtRP

c

c

c

yy

xx

h

h

Z

Y

X

of

of

w

y

x

100

0

0

PtRKp

PTIKRp 3

MPm

Outras notações:

Parâmetros extrínsecos

• Translação –Tx, Ty, Tz (3 g.l.)

• Rotação (3 g.l.)

333231

332221

131211

rrr

rrr

rrr

w

w

w

k

j

i

1

0

wwwwww

wwwwww

kkjjii

jkkiji

Formulações para rotação

90°

+ 90°

Velocidade de rotação

)()()()( tttt BAAB pvv

e

BAp

p

||p

pv

t

A

B

B’

e

rv

t

p B

B’

p

p sinp

Re-escrevendo de forma matricial

xaya

zaxa

yaza

zyx

aaa

yx

xz

zy

zyx

kji

pa

z

y

x

aa

aa

aa

xaya

zaxa

yaza

xy

xz

yz

yx

xz

zy

0

0

0

pa

0

0

0

xy

xz

yz

aa

aa

aa

a

)()()()( tttt BAAB pvv

z

y

x

xy

xz

yz

0

0

0

p

Produto vetorial aplicado 2 vezes

z

y

x

aa

aa

aa

a

a

a

xy

xz

yz

z

y

x

0

0

0

paa

z

y

x

aa

aa

aa

aa

aa

aa

xy

xz

yz

xy

xz

yz

0

0

0

0

0

0

paa

22

22

22

yxzyzx

zyzxyx

zxyxzy

aaaaaa

aaaaaa

aaaaaa

aa

22

22

22

a

a

a

aa

zzyzx

zyyyx

zxyxx

aaaaa

aaaaa

aaaaa

a ppa

paa

x

y

x

zyzxz

zyyxy

zxyxx

22

22

22

p

Rotações finitas em torno dos eixos cartesianos

x

y

z

x

y

z

11000

0cossin0

0sincos0

0001

1

'

'

'

z

y

x

z

y

x

xx

xx

11000

0cos0sin

0010

0sin0cos

1

'

'

'

z

y

x

z

y

x

yy

yy

11000

0100

00cossin

00sincos

1

'

'

'

z

y

x

z

y

x

zz

zz

ox 90o

z 90

ox 90 o

z 90o

y 90

Rotações não comutam.

Yaw-Pitch-Rol

cos0sin

010

sin0cos

R

cossin0

sincos0

001

R

100

0cossin

0sincos

R

coscoscossinsinsincossinsincossincos

sincoscoscossinsinsinsincoscossinsin

sinsincoscoscos

R

x

z y

Ângulos de Euler• Transforma x-y-z em x’-y’-z’ em 3 passos

( , , )x y z

( , , ) ( , , )

( , , )x y z

z

x

y

z

x

y

z

x

y

z

x

y

x

Dx

CDx

Ax BCDx

Rotação de em torno eixo z

Rotação de em torno do eixo

Rotação de em torno do eixo ’

Ângulos de Euler• Transforma x-y-z em x’-y’-z’ em 3 passos

( , , )x y z

( , , )

( , , )

( , , )x y z

Rotação de em torno eixo z

Rotação de em torno do eixo

Rotação de em torno do eixo ’

x

Dx

CDx

Ax BCDx

cos sin 0

sin cos 0

0 0 1

D1 0 0

0 cos sin

0 sin cos

Ccos sin 0

sin cos 0

0 0 1

B

cos cos cos sin sin cos sin cos cos sin sin sin

sin cos cos sin cos sin sin cos cos cos cos sin

sin sin sin cos cos

A

cos0sin

010

sin0cos

R

cossin0

sincos0

001

R

100

0cossin

0sincos

R

coscoscossinsinsincossinsincossincos

sincoscoscossinsinsinsincoscossinsin

sinsincoscoscos

R

x

z y

z

x

y

z

x

y

z

x

y

z

x

y

cos sin 0

sin cos 0

0 0 1

D1 0 0

0 cos sin

0 sin cos

C

cos sin 0

sin cos 0

0 0 1

B

cos cos cos sin sin cos sin cos cos sin sin sin

sin cos cos sin cos sin sin cos cos cos cos sin

sin sin sin cos cos

A

Composição com sistema local móvel

xy L

x

y

x LR

x,xL

y,yL

x L

y L

TL

x

y

p2 = R T pp1= T p e p2 = R p1

x

TR

y

x

y

xp

x

y y

1

11 y

xp

2

22 y

xp

p3= R p e p2 = TL p3 p2 = R T R-1 R p p2 = R T pou

p2

Ângulos de Euler na ordem x,y,z

1000

0

0

0

),,(yxzxzyxzxzyx

yxzxzyxzxzyx

yzyzy

zyx cccssscsscsc

csccssssccss

ssccc

R

xx

y

z

y

x

y

z

z

x

y

z

Problemas com ângulos de Euler: Gimbal lock

Ângulos de EulerGimbal lock

1000

00

00

0100

),90,(zxzxzxzx

zxzxzxzxz

ox csscsscc

ccsssccsR

xx

y

z

y=90o

x

y

z

z

x

y

z

1000

00)sin()cos(

00)cos()sin(

0100

zxzx

zxzx

1000

0

0

0

),,(yxzxzyxzxzyx

yxzxzyxzxzyx

yzyzy

zyx cccssscsscsc

csccssssccss

ssccc

R

Interpolação não gera posições “entre”

Algebra da rotação em torno de um eixo unitário êe

pp

||p

v

'p

x

y

z pev ˆ

)()(' || pppp RR

)()(' || ppp RR

vppp )()(cos' || sen

p

p

'pv

)ˆ)(()ˆ)ˆ()((cosˆ)ˆ(' peepepepep sen

Rotação em torno de um eixo ê

))(())((cos)(cos)(' pêêpêpêpêp sen

))(())(cos1()(cos' pêêpêpp sen

e

pp

||p

v

'p

x

y

z pev ˆ

p

p

'pv

)ˆ)(()ˆ)ˆ()((cosˆ)ˆ(' peepepepep sen

A coluna da matriz é a transformada dos vetores da base

sin)cos1(

sin)cos1(

)cos1(cos0

sin)cos1(

0

0

1

cos

2

22

21

11

yzx

zyx

x

y

z

z

y

x

x

eee

eee

e

e

e

e

e

e

e

m

m

m

sin)cos1(

)cos1(cos

sin)cos1(

0sin)cos1(

0

1

0

cos 2

32

22

12

xzy

y

zxy

x

z

z

y

x

y

eee

e

eee

e

e

e

e

e

e

m

m

m

233

23

13

)cos1(cos

sin)cos1(

sin)cos1(

0

sin)cos1(

1

0

0

cos

z

xyz

yxz

x

y

z

y

x

z

e

eee

eee

e

e

e

e

e

e

m

m

m

11000

0

0

0

'

'

'

333231

232221

131211

z

y

x

mmm

mmm

mmm

w

z

y

x

Matriz da rotação em torno de um eixo ê

1000

0)cos1(cossin)cos1(sin)cos1(

0sin)cos1()cos1(cossin)cos1(

0sin)cos1(sin)cos1()cos1(cos

2

2

2

zxzyyzx

xyzyzyx

yxzzxyx

eeeeeee

eeeeeee

eeeeeee

M

11000

0

0

0

'

'

'

333231

232221

131211

z

y

x

mmm

mmm

mmm

w

z

y

x

x

y

z

z

y

x

e

e

e

ê

Matriz de rotação em torno de um eixo

))(())(cos1()(cos' pêêpêpp sen

z

y

x

ee

ee

ee

xy

xz

yz

0

0

0

sinsin pê

z

y

x

100

010

001

coscos p

z

y

x

eee

e

e

e

zyx

z

y

x

)cos1()()cos1( pêê

pêêêIp )()cos1()(cos' 3 senT

êêêIR )()cos1()(cos 3 senT

Demonstração de:

z

y

x

eeeee

eeeee

eeeee

zeeyeexee

zeeyeexee

zeeyeexee

zyzxz

zyyxy

zxyxx

zzyzxz

zyyyxy

zxyxxx

2

2

2

)( êpê

)(

)(

)(

)(

zeyexee

zeyexee

zeyexee

e

e

e

zeyexe

zyxz

zyxy

zyxx

z

y

x

zyxêpê

z

y

x

eee

e

e

e

zyx

z

y

x

êpê )(

pêêêpê T )(

Transformações em 3D(rotação em torno de um eixo qualquer)

x’

y’

z’

1

m12

m22

m32

0

m13

m23

m33

0

0

0

0

1

y

z

1

x

=

m11

m21

m31

0

x

y

z

m11 = ex2 + cos (1- ex

2)

m12 = exey(1-cos) - ez sen

m13 = ezex(1-cos) + ey sen

m21 = exey(1-cos) + ez sen

m22 = ey2 + cos (1- ey

2)

m23 = eyez(1-cos) - ex sen

m31 = exez (1-cos) - ey sen

m32 = eyez(1-cos)+ ex sen

m22 = ez2 + cos (1- ez

2)

z

y

x

e

e

e

ê

Fórmula de Rodrigues 1

êêêIR )()cos1()(cos 3 senT

ee

p

e

'p

Tsen

23

)cos1()()(cos

IR

2

2

2

2

)cos1(

0

0

0)(

100

010

001

)(cos

zyzxz

zyyxy

zxyxx

xy

xz

yzsen

R

Fórmula de Rodrigues 2e

p

e

'p

2

2

2

2

)cos1(

0

0

0)(

100

010

001

)(cos

zyzxz

zyyxy

zxyxx

xy

xz

yzsen

R

32

2

2

2

22

22

222

0

0

0

I

zyzxz

zyyxy

zxyxx

zyzxz

zyyxy

zxyxx

xy

xz

yz

223

)cos1()(

sen

IR

Quatérnios e rotações

Dada uma rotação definida por um eixo ê e um ângulo construímos o quatérnio unitário:

êq

2sin,

2cosˆ

Dado um ponto qualquer p do R3 construímos o quatérnio:

pp ,0

Calculamos o produto:1ˆˆ' qpqp

',0' pp

Demonstração

êpêp

2sin,

2cos,0

2sin,

2cos)',0(

))(())(cos1()(cos' pêêpêpp sen

Modelo de câmera do livro

PTIKRp 3

yy

im

xx

im

oZ

Y

s

fy

oZ

X

s

fx

Linearização do problema

extMM ,int

1

intw

w

w

exth

h

Z

Y

X

MM

w

y

x•Neglecting radial distortion

wy

wx

y

x

h

h

im

im

Casos particulares

Problema

ycvista lateral

oczc

1000

fovy oy

xim

yim

480

oxw pixels

x'

y'

ofovy 271000

240tan2 1