Juiz Virtual: uma aplicação de modelagem baseada em imagens
Paulo Cezar P. Carvalho (IMPA)
Flávio Szenberg (PUC-Rio)
Marcelo Gattass (PUC-Rio)
ImagensModelos
Visão Computacional
Computação Gráfica
ImagensModelos
Visão Computacional
Computação Gráfica
Câmera Sintética
Geometria e Textura
Modelagem Baseada em Imagens
Imagens Modelos Imagens
Posição de câmera
Posição, geometria,textura dos objetos
Câmera sintética
Novos objetos(sintéticos)
Image based modeling
Image based rendering
• Produz descrição 3D dos objetos
• Visualização com câmeras arbitrárias
• Visualização direta-mente a partir de um conjunto de imagens
• Câmeras restritas
Modelagem Baseada em Imagens
Imagens Modelos Imagens
Posição de câmera
Posição, geometria,textura dos objetos
Câmera sintética, em geralna mesma posição
Novos objetos (sintéticos) na frente ou no fundo da cena
Visualização
Exemplos de uso de“image based rendering”
• QuickTime VR– Usa fotos panorâmicas
de ambientes– Usuário pode “olhar”
para pontos diferentes e se “aproximar ou afastar” da cena (na verdade, é só um efeito de zoom)
Exemplos de uso de“image based rendering”
• Projeto Visorama (IMPA/ECO-UFRJ)– hardware especial– realidade virtual– aplicações
• turismo
• educação
Exemplos de “image based modeling”
• Restituição de aerofotos (visão estereo)
• Análise quantitativa de imagens médicas (extração de medidas de comprimento e volume)
• Tira-teima e similares.
Hípóteses deste trabalho
• Modelagem baseada em uma única imagem
• Imagem contém pontos de referência cujas coordenadas são conhecidas
• Objetos têm forma conhecida a priori; portanto, basta determinar sua localização na cena através dos pontos de objeto
• Usuário participa do procedimento, indicando pontos de referência e de objetos
ponto de referência (conhecido) ponto de objeto (a determinar)
Imagem inicial
Sobrepondo objetos sintéticos
Imagem sintética
De um outro ângulo
Outras formulações possíveis (não abordadas)
• Uso de imagens múltiplas da mesma cena.
• Uso de uma seqüência de imagens da mesma cena – por exemplo, explorando informações
previamente obtidas, como posição da câmera
• Reconhecimento automático de pontos de referência e de objetos
Da imagem para o modelo
• determinação (calibração) da câmera– onde está?– voltada para onde?– qual o ângulo de abertura?
• determinação dos objetos (jogadores, bola, juiz)– onde estão?
Calibração da câmera
• Dada uma amostra de N pontos, de coordenadas conhecidas (xi, yi, zi), e suas respectivas localizações (ui, vi) na imagem, encontrar uma câmera compatível com essa informação.
Dados para calibração
Modelo de Câmera
• O modelo mais simples: “pin-hole”
Modelo de Câmera
• Equivalente a projeção perspectiva
Projeção perspectiva
X
Y
Z
X’
Y’
M = (X,Y,Z)
m = (X’, Y’)
f
Semelhança de triângulos : X’ = fX/Z, Y’= fY/Z
No entanto ...
• As coordenadas dos pontos de referência são descritas em um sistema de coordenadas não relacionado à câmera
• As coordenadas de suas respectivas imagens são dadas em pixels
No entanto ...
• As coordenadas dos pontos de referência são descritas em um sistema de coordenadas não relacionado à câmera
• As coordenadas de suas respectivas imagens são dadas em pixels
Estabelecer a equação da câmera exige considerar 4 sistemas de coordenadas.
Quatro sistemas de coordenadas
X
Y
Z
X’
Y’
M = (x,y, z)
m
x
y
z
u
v(u,v)
Quatro sistemas, três transformações
• Mundo Câmera (rotação + translação)
• Câmera Plano de Projeção (projeção
perspectiva)
• Plano de Projeção Imagem (escala +
translação)
Coordenadas homogêneas
• É conveniente usar coordenadas homogêneas para descrever essas transformações
(x, y, z) {(wx, wy, wz, w) | w 0} =
[wx, wy, wz, w]
[x, y, z, w] (x/w, y/w, z/w)
Do mundo para a câmera(x,y,z) (X,Y,Z)
X
Y
Z
W
t
t
t
x
y
z
x
y
z
r
r
r
1
2
3
0 1 1
orientação doseixos
translação da origem
Projeção perspectiva (X,Y,Z) (X’,Y’)
X
Y
W
f
f
X
Y
Z
W
'
'
'
0 0 0
0 0 0
0 0 1 0
Da projeção para a imagem(X’, Y’) (u, v)
'
'
'
100
0
0
0
0
W
Y
X
v
u
w
v
u
v
u
fatores deescala
translação da origem
Compondo as transformações(multiplicando as matrizes)
u
v
w
u t u t
v t v t
t
x
y
z
u u x z
v v y z
z
r r
r r
r
1 0 3 0
2 0 3 0
3 1
ponto na imagem
tz
ponto em 3D
De volta à calibração
• O problema é o de encontrar r1, r2, r3, tx, ty, tz, u, v, u0, v0 (10 parâmetros independentes)
• Cada par (xi, yi, zi) - (ui, vi) fornece duas equações (não lineares) envolvendo estes parâmetros
• São necessários, portanto, pelo menos cinco pontos
De volta à calibração (cont.)
• Para bons resultados, normalmente se utiliza um número maior de pontos de referência.
• Neste caso, o sistema não pode ser resolvido exatamente.
• Procura-se então encontrar o conjunto de parâmetros que minimize o erro cometido.
otimização não linear (problema difícil)
Uma alternativa mais simples
u
v
w
u t u t
v t v t
t
x
y
z
u u x z
v v y z
z
r r
r r
r
1 0 3 0
2 0 3 0
3 1
u
v
w
q
q
q
x
y
z
q
q
q
1 14
2 24
3 34 1
matriz de projeçãogenérica
Vantagens e desvantagens
O problema de calibração recai na resolução de um sistema de equações lineares (ou de um problema de mínimos quadrados lineares).
O resultado do processo não é uma “verdadeira” câmera
Câmera “falsa”
Solução para o problema
• Adotar um segundo passo, no qual a “falsa”câmera Q é transformada em uma câmera “verdadeira”.
• A maior parte dos parâmetros da câmera “verdadeira” são determinados pela câmera “falsa”.
Parâmetros fornecidos pela “falsa” câmera Q
• posição da câmera – obtida fazendo u=0, v=0, w=0 e resolvendo um
sistema de equações
q
q
q
1 14
2 24
3 34 1
0
0
0
q
q
q
x
y
z
Parâmetros fornecidos pela “falsa” câmera Q (cont)
• direção ortogonal ao plano de projeção– obtida encontrando o ponto do campo cuja
imagem por Q é o centro da imagem
q
q
q
1 14
2 24
3 34
0
001
q
q
q
wx
wy
w
u
v
Parâmetros da câmera verdadeira
• Conhecidos
r1, tx, ty, tz, u0, v0
• Desconhecidos:
r2, r3, u, v
• Graus de liberdade:
3 ou 2 (se admitirmos u = v = )
Determinação dos parâmetros desconhecidos
• Parâmetros a determinar
q2 = r2, q3 = r3
• Satisfazem
q2 . r1 = 0, q3 = r1 q2
Problema linear de mínimos quadrados a duas variáveis (duas componentes de q2, por exemplo).
Ajustando os parâmetros
comparar com
Após o segundo passo
Da imagem para o modelo
determinação (calibração) da câmera– onde está?– voltada para onde?– qual é sua abertura?
• determinação dos objetos (jogadores, bola, juiz)– onde estão?
Posicionando os objetos
• objetos sempre localizados através de sua posição (x, y, 0) no campo, obtida resolvendo:
q
q
q
1 14
2 24
3 340
1
q
q
q
wx
wy
w
u
v
posição do“pé“do jogador
Posicionando os objetos (cont)
• Uma vez conhecida a posição de cada objeto, modelos previamente preparados destes objetos podem ser posicionados corretamente.
• Da mesma forma, é possível determinar a distância entre dois pontos do campo através de suas imagens.
Demonstração do aplicativo
Conclusões
• Método eficiente e relativamente simples de calibração de câmera.
• Bons resultados apesar do modelo simples de câmera.
• Utiliza somente uma imagem
• Não exige nenhuma informação a priori sobre a câmera
Em breve
• Site na Internet contendo o artigo, o aplicativo, e imagens para teste.(possivelmente com imagens dos jogos da Copa)
• Consultar a home-page dos autores:http://www.impa.br/~pcezar/
http://www.tecgraf.puc-rio.br/~szenberg/