Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouIan Rego Alterado mais de 9 anos atrás
1
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
Método de Tsai (compativel com notação do OpenGL) X c Y c Z c p’ y' x'
5
Câmera para imagem
6
Concatenando
7
Os passos do Método de Tsai Passo 1:conhecidos Distorção radial insignificante Assuma
8
Método de Tsai
11
Correspondência
12
Sistema Ax=0 Compute v by SVD decomposition of A=UDV T (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
Última linha da matriz de rotação Reortogonalize:
17
Cáculo de f x f y e T z
19
Ponto de fuga
20
Cálculo do centro ótico pelos pontos de fuga
21
Passo 2 do Tsai Computing Image Center v1v1v1v1 v2v2v2v2 v3v3v3v3
22
Pontos de fuga do padrão 3D
23
Tsai 2D
24
Método de Tsai plano =0
25
Método de Tsai plano
26
Método de Tsai
28
Sinal de Logo Caso isto não seja verdade troque o sinal de escolha um sinal
29
Fator de escala escolha um sinal corrija a escolha
30
Cáculo de f x f y e T z
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
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.