Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio...

Post on 17-Apr-2015

106 views 1 download

Transcript of Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio...

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/