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.
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
Calibração de Câmera e Realidade Aumentada
ComputerVision
Calibração de Câmera e Realidade Aumentada
ComputerVision Calibração de Câmera e Realidade Aumentada:
Marcador Artificial
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
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