Calibração de Câmeras
description
Transcript of Calibração de Câmeras
ComputerVision
Calibração de Câmeras
Paulo Sérgio RodriguesPEL205
ComputerVision Revisão de Transformações
• Modelo de Translação
0*
0*
0*
ZZZ
YYY
XXX
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
*
*
*
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
*
*
*
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*
*
*
*
ComputerVision Revisão de Transformações
• Modelo de Rotação
ComputerVision Revisão de Transformações
• Modelo de Rotação
1000
0100
00cossin
00sincos
R
Rotação no Eixo Z
ComputerVision Revisão de Transformações
• Modelo de Rotação
1000
0cossin0
0sincos0
0001
R
Rotação no Eixo X
ComputerVision Revisão de Transformações
• Modelo de Rotação
1000
0cos0sin
0010
0sin0cos
R
Rotação no Eixo Y
ComputerVision Revisão de Transformações
• Concatenação e Transformação Inversa
Av
TvSRv
*
Onde A é uma matriz 4 x 4 STRA
ComputerVision Revisão de Transformações
• Concatenação e Transformação Inversa
1000
100
010
001
0
0
0
1
Z
Y
X
T
ComputerVision Revisão de Transformações
• Concatenação e Transformação Inversa
1000
0100
00cossin
00sincos
1
R
ComputerVision Transformação Perspectiva
Z
Y
Z
YyZ
X
Z
Xx
ComputerVision Transformação Perspectiva
Z
Yy
Z
Xx
e
Z
Yy
Z
Xx
e
ComputerVision Transformação Perspectiva
Coordenadas cartesiana e Coordenadas homogêneas
k
kZ
kY
kX
w
Z
Y
X
w h e
ComputerVision Transformação Perspectiva
Matriz de Transformação em Perspectiva
11
00
0100
0010
0001
P
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
ComputerVision Transformação Perspectiva
Matriz de Transformação em Perspectiva
Z
ZZ
YZ
X
z
y
x
c
ComputerVision Transformação Perspectiva
Matriz de Transformação em Perspectiva Inversa
11
00
0100
0010
0001
1
1
P
cPw hh
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
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
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!!!
ComputerVision Transformação Perspectiva
Z
Yy
Z
Xx
e
ambigüidade colinear
Zy
YZx
X
00 e
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
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
ComputerVision Modelo de Câmersa
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
ComputerVision Modelo de Câmera
1000
100
010
001
0
0
0
Z
Y
X
G
Translação para origem:
hGw
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
ComputerVision Modelo de Câmera
Rotação nos eixos x e z
1000
0cossincossinsin
0sincoscoscossin
00sincos
RRR
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
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
ComputerVision Modelo de Câmera
hh GwRRPCc )(
Combinando as duas translações e as duas rotações:
hh PCRGwc
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
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
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.
ComputerVision Modelo de Câmera
Exemplo
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
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
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.
ComputerVision Calibração de Câmera
• Um problema que ocorre com imagens 2D, vistas projetadas no plano de imagem da câmera, é a ambigüidade colinear.
ComputerVision Calibração de Câmera
hh Awc
A = PCRG
hh PCRGwc
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
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
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:
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!
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
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
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