pablo c.elias e thiago bastos, dezembro de 2006 reconstrução de ruínas em tempo real
TRANSCRIPT
Pablo C.Elias e Thiago Bastos, Dezembro de 2006
Reconstrução de Ruínas em Tempo Real
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
Reconstrução da Ruína
Calibração de Câmera
Mapeamento de Pontos
Acompanhamento de Pontos
Escolha de uma “visão” para ser usada
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 :-)