Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

51
Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205

Transcript of Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

Page 1: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision

Calibração de Câmeras

Paulo Sérgio RodriguesPEL205

Page 2: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Revisão de Transformações

• Modelo de Translação

0*

0*

0*

ZZZ

YYY

XXX

Page 3: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Revisão de Transformações

• Modelo de Translação

vAv

Z

Y

X

Z

Y

X

Z

Y

X

1100

010

001

*

0

0

0

*

*

*

Page 4: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Revisão de Transformações

• Modelo de Translação

vTv

Z

Y

X

Z

Y

X

Z

Y

X

11000

100

010

001

1*

0

0

0

*

*

*

Page 5: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Revisão de Transformações

• Modelo de Escalonamento

vSv

Z

Y

X

S

S

S

Z

Y

X

z

y

x

11000

000

000

000

1*

*

*

*

Page 6: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Revisão de Transformações

• Modelo de Rotação

Page 7: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Revisão de Transformações

• Modelo de Rotação

1000

0100

00cossin

00sincos

R

Rotação no Eixo Z

Page 8: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Revisão de Transformações

• Modelo de Rotação

1000

0cossin0

0sincos0

0001

R

Rotação no Eixo X

Page 9: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Revisão de Transformações

• Modelo de Rotação

1000

0cos0sin

0010

0sin0cos

R

Rotação no Eixo Y

Page 10: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Revisão de Transformações

• Concatenação e Transformação Inversa

Av

TvSRv

*

Onde A é uma matriz 4 x 4 STRA

Page 11: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Revisão de Transformações

• Concatenação e Transformação Inversa

1000

100

010

001

0

0

0

1

Z

Y

X

T

Page 12: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Revisão de Transformações

• Concatenação e Transformação Inversa

1000

0100

00cossin

00sincos

1

R

Page 13: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Transformação Perspectiva

Z

Y

Z

YyZ

X

Z

Xx

Page 14: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Transformação Perspectiva

Z

Yy

Z

Xx

e

Z

Yy

Z

Xx

e

Page 15: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Transformação Perspectiva

Coordenadas cartesiana e Coordenadas homogêneas

k

kZ

kY

kX

w

Z

Y

X

w h e

Page 16: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Transformação Perspectiva

Matriz de Transformação em Perspectiva

11

00

0100

0010

0001

P

Page 17: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Transformação Perspectiva

Matriz de Transformação em Perspectiva

kkZkZ

kY

kX

k

kZ

kY

kX

c

Pwc

h

hh

1

100

0100

0010

0001

Page 18: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Transformação Perspectiva

Matriz de Transformação em Perspectiva

Z

ZZ

YZ

X

z

y

x

c

Page 19: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Transformação Perspectiva

Matriz de Transformação em Perspectiva Inversa

11

00

0100

0010

0001

1

1

P

cPw hh

Page 20: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Transformação Perspectiva

kkZkZ

kY

kX

c

Z

ZZ

YZ

X

z

y

x

c

k

kZ

kY

kX

w

Z

Y

X

w hh

hh Pwc

Transformação em Perspectiva: resumo

hh cPw 1

11

00

0100

0010

0001

P

11

00

0100

0010

0001

1

P

Page 21: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Transformação Perspectiva

k

ky

kx

cyx h 0 0,, 0

0

00

hh cPw 1 com acorco de

ambigüidade colinear

0

0 0

00

0

y

x

Z

Y

X

w

k

ky

kx

wh

Page 22: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Transformação Perspectiva

0

0

0

0,, 0

00

0

0

0

00 y

x

Z

Y

X

w

k

ky

kx

w

k

ky

kx

cyx hh

ambigüidade colinear

Resultado Inesperado!!!

Page 23: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Transformação Perspectiva

Z

Yy

Z

Xx

e

ambigüidade colinear

Zy

YZx

X

00 e

Page 24: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Transformação Perspectiva

k

kz

ky

kx

czyx h0

0

00 ,,

hh cPw 1 com acorco de

ambigüidade colinear

z

zz

yz

x

Z

Y

X

w

kkz

kz

ky

kx

wh

0

0

0

0

Page 25: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Transformação Perspectiva

z

zz

yz

x

Z

Y

X

w

kkz

kz

ky

kx

wh

0

0

0

0

z

zZ

z

yY

z

xX

0

0

0

ambigüidade colinear

Zy

Y

Zx

X

0

0

Page 26: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Modelo de Câmersa

Page 27: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Modelo de Câmera

R

R

• Para alinhar o plano da imagem (x,y) com o plano emcoordenadas do mundo (X,Y), pode-se fazer a seguinteseqüência de passos:

1. Translação do suporte para origem, G2. Rotação no eixo x, 3. Rotação no eixo z,

4. Translação do plano da imagem com relação ao suporte, C

Page 28: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Modelo de Câmera

1000

100

010

001

0

0

0

Z

Y

X

G

Translação para origem:

hGw

Page 29: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Modelo de Câmera

1000

0100

00cossin

00sincos

1

R

Rotação no eixo x

1000

0cossin0

0sincos0

0001

1

R

Rotação no eixo z

Page 30: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Modelo de Câmera

Rotação nos eixos x e z

1000

0cossincossinsin

0sincoscoscossin

00sincos

RRR

Page 31: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Modelo de Câmera

Translação do plano da imagem com relação ao suporte

1000

100

010

001

3

2

1

r

r

r

C

Page 32: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Modelo de Câmera

1000

100

010

001

0

0

0

Z

Y

X

G

1000

0cossincossinsin

0sincoscoscossin

00sincos

R

Translação para origem:

Rotação:

Translação:

1000

100

010

001

3

2

1

r

r

r

C

Page 33: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Modelo de Câmera

hh GwRRPCc )(

Combinando as duas translações e as duas rotações:

hh PCRGwc

Page 34: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Modelo de Câmera

3000

2000

3000

100

cossincossinsin

sincoscoscossin

cossincossinsin

sin)(cos

:será quarto, pelo scomponente

segundo e primeiro o dividindo e , equeção a doconsideran

imagem, da plano no sCarteziana scoordenada em entecorrespond

seu o mundo, do scoordenada em ,, ponto um Dado

rZZYYXX

rZZYYXXy

rZZYYXX

rYYXXx

PCRGwc

ZYXw

hh

Page 35: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Modelo de Câmera

o321000

3000

2000

3000

100

0 e 0

quando e a reduzem se equações Essas

cossincossinsin

sincoscoscossin

cossincossinsin

sin)(cos

rrrZYX

Z

Yy

Z

Xx

rZZYYXX

rZZYYXXy

rZZYYXX

rYYXXx

Page 36: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Modelo de Câmera

Exemplo

Suponha que queiramos encontrar as coordenadas deum dos cantos do bloco da figura abaixo:

Nessa posição, a câmera foiTransladada apenas no eixoZ de Z0= 1 m; rotacionado nono mesmo eixo de α = 135o;rotacionado no eixo X de β = 135o; e deslocado no Suporte segundo o vetor r = (0.03, 0.02, 0.035) m.Assuma uma distância focal deλ = 0.035 m.

Page 37: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Modelo de Câmera

Exemplo

Page 38: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Modelo de Câmera

035.053.1

03.0035.0

53.1

03.0

x

035.053.1

42.0035.0

53.1

42.0

y

Exemplo

Se o canto em questão possui coordenadas do mundo (X,Y,Z) = (1,1,0.2), as coordenadas no plano da imagem são dadas por:

x = 0.0007m

y = -0.009m

Page 39: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision

Calibração de Câmera e Realidade Aumentada

Page 40: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision

Calibração de Câmera e Realidade Aumentada

Page 41: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Calibração de Câmera e Realidade Aumentada:

Marcador Artificial

Page 42: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision O problema de calibração de câmera

– Ache [K] e [R T]– Dados pares de pontos [P] e [p]

1100

0

0

333231

232221

131211

w

w

w

z

y

x

yy

xx

Z

Y

X

Trrr

Trrr

Trrr

of

of

z

y

x

PTRKp

Padrões com pontos em posições conhecidas

Page 43: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Calibração de Câmera

• Calibração de câmera é o processo de determinar quaisos parâmetros da câmera, intrínsecos e extrínsecos, paraum conjunto de coordenadas do mundo e da imagem.

Page 44: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Calibração de Câmera

hh Awc

A = PCRG

hh PCRGwc

Page 45: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Calibração de Câmera

hh Awc

Se K = 1 na representação homogênea:

144434241

34333231

24232221

14131211

4

3

2

1

Z

Y

X

aaaa

aaaa

aaaa

aaaa

c

c

c

c

h

h

h

h

Page 46: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Calibração de Câmera

42

41

/

/

hh

hh

ccy

ccx

As coordenadas da projeção perspectiva do ponto(X,Y,Z) na forma Cartesiana são:

144434241

34333231

24232221

14131211

4

3

2

1

Z

Y

X

aaaa

aaaa

aaaa

aaaa

c

c

c

c

h

h

h

h

Page 47: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Calibração de Câmera

Substituindo ch1 = xch4 e ch2 = ych4 no sistema lineare expandindo, temos:

444342414

343232313

242322214

141312114

aZaYaXac

aZaYaXac

aZaYaXayc

aZaYaXaxc

h

h

h

h

Assumindo ch3 = 0 uma vez que z = 0, temos:

Page 48: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Calibração de Câmera

444342414

242322214

141312114

aZaYaXac

aZaYaXayc

aZaYaXaxc

h

h

h

0

0

2444434241232221

1444434241131211

ayayZayYayXaZaaXa

axaxZaxYaxXaZaYaXa

Y

Substituindo ch4 na primeira e segunda equações, obtemos duas equaçõescom 12 variáveis!

Page 49: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Calibração de Câmera

• O procedimento de calibração consiste então em:

(a) Obter pelo menos 6 pontos de coordenadas do mundom ≥ 6 com valores conhecidos (Xi, Yi, Zi ) i = 1,2,..,m. Isso gera um Sistema Linear de 12 equações e 12 incógnitas!

0

0

0

0

0

0

24622621

14612611

24222221

14212211

24222121

14112111

aYaXa

aYaXa

aYaXa

aYaXa

aYaXa

aYaXa

Page 50: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Calibração de Câmera

• O procedimento de calibração consiste então em:

(b) Resolver o Sistema Linear para obter os pontos correspondentesna imagem (xi, yi), i = 1, 2, ..., m.

66666

55555

44444

33333

22222

11111

,,,

,,,

,,,

,,,

,,,

,,,

yxZYX

yxZYX

yxZYX

yxZYX

yxZYX

yxZYX

Page 51: Computer Vision Calibração de Câmeras Paulo Sérgio Rodrigues PEL205.

ComputerVision Calibração de Câmera

• O procedimento de calibração consiste então em:

(c) Tendo então a matriz de transformação A da câmera, pode-se mapear qualquer ponto w do mundo no plano da imagem:

p = (xi, yi) w = (X,Y,Z) A

P = Aw