Visão Computacional
Lorenzo Ridolfi
Esta página contém os trabalhos e contribuições produzidas durante a realização do curso de Visão Computacional e Realidade Aumentada no segundo semestre de 2007.
Além dos três trabalhos que fizeram parte da avaliação do curso, também está disponível um programa para geração de imagens sob luz estruturada, onde essas imagens são o principal parâmetro de entrada do terceiro trabalho, a reconstrução 3d. Por fim, também foi produzido um conjunto de rotinas para cálculo de geometria epipolar em Matlab, facilitando a investigação das propriedades desta geometria no ambiente do Matlab, que é um ambiente amigável para o uso de matrizes, vetores, etc.
Esse trabalho realiza a segmentação do fundo (background) de um vídeo e constitui um exercício no uso da biblioteca OpenCV. A segmentação de fundo de videos é relevante no contexto de aplicações de segurança e vigilância e há inúmeras técnicas e algoritmos sofisticados para a identificação do fundo do video.
Para este trabalho, por ser um simples exercício de uso do OpenCV, foi escolhida uma técnica simples de separação, baseada nos valores médios e no desvio padrão obtidos para cada pixel obtidos nos primeiros quadros do vídeo.
Este trabalho obtém os parâmetros intrínsecos e extrínsecos de uma câmera a partir de um vídeo que mostra um tabuleiro de xadrez. A partir do reconhecimento do padrão do tabuleiro, o método de calibração de câmera de Tsai é empregado na busca dos parâmetros. Por fim, um filtro de Kalman é empregado sobre os parâmetros da câmera, para suavizar o posicionamento da câmera e proporcionar uma melhor integração de elementos de realidade aumentada introduzidos na cena.
Este trabalho recupera uma malha de pontos 3D de um objeto a partir de um conjunto de imagens estéreo do mesmo objeto geradas com o auxílio de luz estruturada. A obtenção das coordenadas 3D foi feita com o auxílio da geometria epipolar, a luz estruturada seguiu o modelo BSCL e a detecção das transições da luz estruturada seguiu as técnicas usuais de detecção de transições em imagens 2D. Na implementação apresentada, algumas técnicas de interpolação foram incorporadas para melhorar a precisão na detecção de transições, visando obter, por sua vez, uma melhor precisão na malha 3d reconstruída.
Visando facilitar a realização do trabalho 3, foram geradas um conjunto de imagens sintéticas de uma peça do jogo de xadrez no OpenGL. Foram geradas 192 imagens, distribuídas em 2 câmeras estéreo e em ângulos de 30 graus de rotação da peça e sob quatro padrões distintos de luz estruturada. A luz estruturada foi gerada a partir da técnica de textura projetiva do OpenGL e foi baseada no modelo BSCL.
Visando facilitar o entendimento da Geometria Epipolar, foi produzido um conjunto de rotinas para cálculo das matrizes essencial e fundamental desta gemotria. Adicionalmente, foram geradas rotinas para o cálculo da matriz Modelview e de projeção do OpenGL, que são necessárias para obtenção das matrizes da geometria epipolar. Com isso, pode-se usufruir de todos os recursos e facilidades do ambiente do Matlab para o estudo da geometria epipolar.