Reconstrução de Ruínas em
Tempo Real
Pablo C.Elias e Thiago Bastos, Dezembro de 2006
Problema: Reconstrução de Ruínas
- Imagens do projeto Archeoguide
Abordagem
• Calibração de câmera através de
rastreamento de pontos detectados na
ruína.
• Pré-requisitos:
– Definição do modelo da ruína (pontos 3D);
– Rastreamento dos pontos do modelo na
imagem da câmera;
Definição da Ruína
• Um modelo de ruína é definido por:
– Modelo virtual da ruína;
– Modelo virtual da ruína reconstruída;
– Amostras de pontos 3D da ruína;
• Uma visão da ruína é definida por:
– Um conjunto de pontos 2D associados a
pontos 3D do modelo da ruína.
Processo de Reconstrução
• Passo 1: posicionar a câmera próxima a uma
das “visões” definidas para a ruína.
• Passo 2: detectar pontos na imagem da câmera
e associar com os pontos de uma visão.
• Passo 3: detectar e rastrear os pontos a cada
quadro.
• Passo 4: calibrar a câmera usando os pontos
2D rastreados e os pontos 3D do modelo.
• Passo 5: reconstruir a ruína.
Workflow
Posicionamento Inicial da Câmera
Escolha de uma “visão” para ser usada
Mapeamento de Pontos
Acompanhamento de Pontos
Calibração de Câmera
Reconstrução da Ruína
Detecção de Pontos
• FAST Corner Detector:
– Baseado em aprendizado de máquina;
– Extremamente rápido (30fps, 50% CPU);
– Não rastreia pontos (mas a detecção é
razoavelmente estável).
• Kanade-Lucas-Tomasi Feature Tracker:
– Detecta pontos através do gradiente da luminância;
– Rastreia pontos pela minimização da diferença entre
janelas usando Newton-Rhapson.
– Bem mais lento (10fps);
• Também é possível entrar com os pontos com o
mouse.
Acompanhamento de Pontos
• Busca pelos pontos detectados que melhor
representem a posição de um ponto sendo
rastreado.
• Método simples:
– Descarte dos pontos detectados que estão muito
longe do ponto sendo rastreado.
– Classificação da confiabilidade do ponto:
• Grandes ocilações resultam em redução da qualidade;
• Estabilidade do ponto resulta em aumento da qualidade;
• Ponto é descartado caso tenha qualidade reduzida abaixo de
um certo limite;
– Possível evolução: usar os pontos com boa
confiabilidade para estimar a posição dos pontos com
baixa confiabilidade.
Calibração de Câmera
• Primeira versão: Tsai3D
– Precisava de muitos pontos para ficar bom.
• Segunda versão: método do Juiz Virtual
– Com 8 pontos já apresenta resultados bons.
Reconstrução da Ruína
• Oclusão entre a ruína real e o modelo
virtual utilizando depth-buffer:
1. Desabilita color buffer;
2. Desenha ruína;
3. Habilita color buffer;
4. Desenha a ruína reconstruída com
depth-test ligado;
Resultados
Resultados
Trabalhos Futuros
• Utilizar linhas para explorar assertivas
geométricas de paralelismo, direção e
pontos de fuga.
• Ampliar campo de ação fazendo transição
entre “visões” da ruína.
• Testar filtro de Kalman…
• Pintar a ruína :-)
Download

Apresentação PowerPoint - PUC-Rio