INF 2064 - Visão Computacional e Realidade Aumentada

http://www.tecgraf.puc-rio.br/~mgattass/ra/ra.html
Professor Marcelo Gattass
2º semestre 2008

 

Aluno: Leonardo Kury (leokury@gmail.com)
 
     
Home
Trabalho 1
Trabalho 2
Trabalho 3
Referências
 

Neste site estão disponíveis os trabalhos realizados para a disciplina de Pós-Graduação de Visão Computacional e Realidade Aumentada  INF 2064 , ministrada pelo professor Marcelo Gattass.

Abaixo pode ser visto um resumo do tema de cada trabalho.

 
 

Trabalho 1 - Detecção de padrão de tabuleiro de xadrez em vídeo

O intuito deste trabalho foi familiarizar-se com a biblioteca de visão computacional criada pela Intel chamada de OpenCV (1), que será usada ao longo do curso.

A partir de um stream de vídeo de entrada (vindo a partir de um arquivo ou de uma webcam), foi feita a detecção dos cantos do tabuleiro de xadrez utilizando o algoritmo de Harris (2). A detecção de cantos é uma das tarefas primárias na Realidade Aumentada, pois a partir das coordenadas dos cantos obtidos na imagem é possível fazer a relação com as coordenadas do mundo real e assim calibrar os parâmetros extrínsecos da câmera.

Na imagem, os cantos detectados são mostrados com círculos vermelhos. Para os testes foi utilizado o vídeo 180graus.avi disponível na página da disciplina. Percebe-se que quando há uma movimentação brusca da câmera, o algoritmo em vários momentos não consegue detectar todos os cantos da imagem, porém se a câmera move-se suavemente o algoritmo funciona de forma satisfatória.

O programa é executado de forma bem simples em linha de comando, com os seguintes argumentos:
 -v filename : Path para o arquivo do video
[-n int] default 64 : Numero maximo de cantos a ser detectado

Link para download

 

Trabalho 2 - Calibração de câmera utilizando o método de Tsai

O intuito deste trabalho foi fazer a calibração da câmera utilizando o padrão de pontos do tabuleiro de xadrez.

O método de Tsai(4) faz a calibração de parâmetros extrínsecos e intrínsecos da câmera utilizando padrões bidimensionais.

A biblioteca OpenCV é utilizada para obter os pontos do tabuleiro de xadrez, o algoritmo de Tsai então obtém os parâmetros de calibração da câmera e um bule virtual é desenhado em um dos cantos do tabuleiro.

Link para download

 

Trabalho 3 - Calibração de câmera e animação em vídeo com oclusão

t2

O intuito deste trabalho foi realizar a calibração de uma câmera a partir de vários padrões colocados na cena capturada e exibir uma animação no vídeo incluindo a oclusão de objetos.

A partir de um stream de vídeo de entrada (vindo a partir de um arquivo ou de uma webcam), foram utilizados dois tipos de calibração: a primeira foi utilizando a biblioteca ArToolKit (3) para calibrar a partir dos marcadores usados pela biblioteca; o segundo tipo de calibração foi utilizando a biblioteca OpenCV para calibrar a câmera usando os cantos do tabuleiro de xadrez.

O ArtoolKit utiliza um padrão de calibração próprio para obter os parâmetros extrínsecos da câmera. Seguindo os passos da figura, a biblioteca identifica os marcadores da imagem e calcula esses parâmetros.

t2

Para diminuir o jittering da imagem, a biblioteca disponibiliza um método chamado arGetTransMatCont que calcula os parâmetros extrínsecos da câmera baseado nos valor passado. Esse método utiliza aproximações sucessivas para suavizar a transformação da câmera.

t2

A calibração feita com a biblioteca OpenCV utiliza os cantos do tabuleiro de xadrez para detectar pontos na imagem e, conhecendo esses pontos, é utilizado o método de Tsai para obter os parâmetros extrínsecos da câmera.

Com posse dos parâmetros extrínsecos da câmera é desenhado os objetos presentes na tela para que a animação sofra oclusão. A animação é exbida utilizando a linguagem VRML e os métodos disponível na biblioteca ArToolKit.

Durante a execução do programa o método de calibração de câmera pode ser alterado dinamicamente durante a execução do programa.

Atalhos de teclado durante a execução:
't' -> muda o padrão de calibração tsai <-> ArToolKit
'e' -> desenhar eixos
'c' -> desenha os cubos que representam os prédios
'x' -> desenha os pontos  de cantos detectados no tabuleiro do xadrez

Link para download

 
 

Referências

1  OpenCV library. Disponível em: http://www.intel.com/research/mrl/research/opencv/

2 C. Harris and M. Stephens. A combined corner and edge detector. In ALVEY Vision Conference, pages 147-151, 1988.

3 ArToolKit. Disponível em: http://www.hitl.washington.edu/artoolkit/

4 Tsai, Roger. “An Efficient and Accurate Camera Calibration Technique for 3D Machine Vision” . Proceedings of IEEE Conference on Computer Vision and Pattern Recognition, págs 364-374, 1986.

Vídeos utilizados para teste estão disponíveis no diretório do curso.