1 / 36

Inserção de Imagens Virtuais em Cenas Reais

Inserção de Imagens Virtuais em Cenas Reais. Carlos Oliveira coliveira@inf.puc-rio.br. Sumário. Descrição e Objetivo O Método de Tsai Implementação Resultados obtidos Melhoramentos. Descrição e Objetivo. Captura de video stream a partir de uma webcam ou leitura de um arquivo AVI

reed-dale
Download Presentation

Inserção de Imagens Virtuais em Cenas Reais

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Inserção de Imagens Virtuais em Cenas Reais Carlos Oliveira coliveira@inf.puc-rio.br

  2. Sumário • Descrição e Objetivo • O Método de Tsai • Implementação • Resultados obtidos • Melhoramentos

  3. Descrição e Objetivo • Captura de video stream a partir de uma webcam ou leitura de um arquivo AVI • Processamento frame a frame, realizando a calibração de câmera utilizando o Método de Tsai • Utilizar as matrizes calculadas pelo algoritmo para configurar a API do OpenGL • Realizar a inserção de animações virtuais na cena real considerando efeitos como a oclusão • Output da imagem final processada contendo o background capturado e os objetos virtuais inseridos

  4. Y c p’ Z c X c Método de Tsai(compativel com notação do OpenGL) y' x'

  5. Câmera para imagem

  6. Concatenando

  7. Os passos do Método de Tsai Passo 1: conhecidos Assuma Distorção radial insignificante

  8. Método de Tsai

  9. Método de Tsai

  10. Método de Tsai

  11. Correspondência

  12. Sistema Ax=0 Compute v by SVD decomposition of A=UDVT (The solution vector is the column of V corresponding to null (or smallest) singular value) in D.

  13. Estimativa dos parâmetros da câmera Fator de escala

  14. Sinal do fator de escala Sinal de Como: Temos Caso isto não seja verdade troque o sinal de v

  15. Estimativa do fator 

  16. Últimalinhadamatriz de rotação Reortogonalize:

  17. Cáculo de fx fye Tz

  18. Cáculo de fx fye Tz

  19. Ponto de fuga

  20. Cálculo do centro ótico pelos pontos de fuga

  21. Passo 2 do Tsai Computing Image Center v3 v2 v1

  22. Pontos de fuga do padrão 3D

  23. Tsai 2D

  24. =0 Método de Tsai plano

  25. Método de Tsai plano

  26. Método de Tsai

  27. Método de Tsai

  28. Sinal de  escolha um sinal Logo Caso isto não seja verdade troque o sinal de 

  29. Fator de escala escolha um sinal escolha um sinal corrija a escolha

  30. Cáculo de fx fye Tz

  31. Implementação • Foi utilizada a biblioteca OpenCV • Utilizamos também a implementação do método de Tsai 2D disponível na página do curso • Utilizamos a biblioteca de interface da Microsoft, MFC • Foi implementada a integração do OpenGL com MFC utilizando a extensão WGL do OpenGL • Implementamos uma classe chamada ObjLoader que tem a finalidade de fazer a carga de modelos .obj exportados pelo 3ds Max

  32. Implementação (cont.) • A aplicação tem flags na Interface para indicar se o modelo a ser carregado é um dos modelos Agros/Orthos fornecidos no trabalho ou outro modelo pré-definido pelo programador e se possuem objeto ou não (a animação se comporta de maneira diferente em cada caso, já que os tabuleiros são diferentes) – links para os AVI na página • A cada frame capturado este é primeiramente convertido para grayscale

  33. Implementação (cont.) • Após isso essa imagem em tons de cinza é passada para o método TsaiCalibrate • Neste método a função cvFindChessboardCorners é utilizada para calcular os cantos do tabuleiro • Após isso a função cvFindCornerSubPix é utilizada para refinar a posição dos pontos encontrados • Em seguida são feitas várias chamadas e cálculos aos métodos definidos no método de Tsai da página • Ao final da calibração as matrizes de modelview e projection são obtidas também pelo método

  34. Implementação (cont.) • Enquanto isso, numa outra thread, o OpenGL fica processando a animação e, a cada frame do OpenGL processado, ele consulta a classe de calibração para obter as novas matrizes de modelview e projection calculadas • As matrizes são carregadas para o OpenGL, o modelo é desenhado somente no Z-buffer (para tratar oclusão) e a animação (os dois carrinhos) são desenhados utilizando o modelo carregado pela classe ObjLoader

  35. Resultados Obtidos

  36. Melhoramentos • Melhorar as variações do processo de inserção dos gráficos utilizando filtros de Kalman • Implementar a detecção automática de novos objetos inseridos na cena dinamicamente • Utilizar processos de segmentação para descobrir o modelo ao invés de utilizar um modelo fixo

More Related