juiz virtual: uma aplicação de modelagem baseada em imagens paulo cezar p. carvalho (impa) flávio...

48
Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

Upload: internet

Post on 17-Apr-2015

106 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

Juiz Virtual: uma aplicação de modelagem baseada em imagens

Paulo Cezar P. Carvalho (IMPA)

Flávio Szenberg (PUC-Rio)

Marcelo Gattass (PUC-Rio)

Page 2: 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

Page 3: 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

Câmera Sintética

Geometria e Textura

Page 4: Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

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)

Page 5: Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

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

Page 6: Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

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

Page 7: Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

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)

Page 8: Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

Exemplos de uso de“image based rendering”

• Projeto Visorama (IMPA/ECO-UFRJ)– hardware especial– realidade virtual– aplicações

• turismo

• educação

Page 9: Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

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.

Page 10: Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

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

Page 11: Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

ponto de referência (conhecido) ponto de objeto (a determinar)

Imagem inicial

Page 12: Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

Sobrepondo objetos sintéticos

Page 13: Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

Imagem sintética

Page 14: Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

De um outro ângulo

Page 15: Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

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

Page 16: Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

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?

Page 17: Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

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.

Page 18: Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

Dados para calibração

Page 19: Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

Modelo de Câmera

• O modelo mais simples: “pin-hole”

Page 20: Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

Modelo de Câmera

• Equivalente a projeção perspectiva

Page 21: Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

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

Page 22: Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

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

Page 23: Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

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.

Page 24: Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

Quatro sistemas de coordenadas

X

Y

Z

X’

Y’

M = (x,y, z)

m

x

y

z

u

v(u,v)

Page 25: Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

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)

Page 26: Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

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)

Page 27: Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

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

Page 28: Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

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

Page 29: Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

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

Page 30: Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

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

Page 31: Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

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

Page 32: Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

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)

Page 33: Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

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

Page 34: Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

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

Page 35: Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

Câmera “falsa”

Page 36: Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

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”.

Page 37: Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

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

Page 38: Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

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

Page 39: Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

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 = )

Page 40: Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

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).

Page 41: Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

Ajustando os parâmetros

comparar com

Page 42: Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

Após o segundo passo

Page 43: Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

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?

Page 44: Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

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

Page 45: Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

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.

Page 46: Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

Demonstração do aplicativo

Page 47: Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

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

Page 48: Juiz Virtual: uma aplicação de modelagem baseada em imagens Paulo Cezar P. Carvalho (IMPA) Flávio Szenberg (PUC-Rio) Marcelo Gattass (PUC-Rio)

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/