RECONSTRUÇÃO 3D Visão Computacional e Realidade Aumentada Prof.: Marcelo Gattass RECONSTRUÇÃO 3D Hildebrando Trannin
Objetivo Implementar uma aplicação que gere uma nuvem de pontos para posterior geração manual de uma malha de triângulos de um objeto 3D Entrada: vídeo ou conjunto de imagens Saída: Nuvem de pontos
Etapas Extração de frames Detecção de características Calibração da câmera Correspondência entre essas características Criação de retalhos entre par de frames Alinhamento dos retalhos para geração da nuvem de pontos
EXTRAÇÃO DE FRAMES Entrada: vídeo Entrada: imagens Distância deve ser pequena: próximo de 5 graus Distância maior: Qualidade inferior Perda de características Entrada: imagens Imagens capturadas de acordo com o esperado pela aplicação Distância pode ser maior: 10 graus Qualidade superior Não perde características
DETECÇÃO DE CARACTERÍSTICAS Estruturas específicas em uma imagem canto, aresta, ... Detector de características: SIFT Não varia na escala e rotação da imagem Detecção de texturas Algoritmo possui 4 etapas: Detecção dos máximos locais = Keypoints DoG = Invariante à escala Localização dos keypoints = Refinamento Cálculo da orientação dos keypoints considerando o gradiente = Invariante à rotação Gera descritor de acordo com orientação do keypoint
CALIBRAÇÃO Padrão utilizado é o tabuleiro de xadrez Tsai 2D Simples Somente uma imagem do padrão Parâmetros intrínsecos considerados os mesmos em todas as imagens
CORRESPONDÊNCIA Geometria epipolar Correspondência pela geometria das câmeras Calcular matriz fundamental Precisa de calibração (extrínsecos e intrínsecos) Resultados não satisfatórios
CORRESPONDÊNCIA SIFT Distância Euclidiana para cálculo dos correspondentes Força bruta Kd-tree Best Bin First (modificação do kd-tree) Não precisa de calibração Melhores resultados Utiliza facilidades oferecidas pela detecção de características ter sido feito com SIFT
CORRESPONDÊNCIA RANSAC - RANdom SAmple Consensus Método iterativo para estimar dados relevantes de um modelo matemático de um conjunto de dados que contém outliers Resultados produzidos baseados na probabilidade de um certo dado ser inlier ou outlier Eliminação dos outliers de acordo com probabilidade Resultados muito melhores
Nuvem de Pontos Triangulação Retas R e R’ deveriam se intersectar em um ponto, mas erros na calibração e correspondência impedem Construir segmento de reta perpendicular a R e R’ e calcular o ponto médio P desta reta P é o ponto associado a p e p’
Nuvem de Pontos Triangulação feita a cada par de frame Cada par é somente um ponto de vista Geração de retalhos do objeto 3D Alinhamento dos retalhos Correspondência entre pontos característicos do objeto cantos, bordas, ... Informação presente no sistema Rotação inversa do ângulo de cada retalho 10 graus (imagens) ou 5 graus (vídeo) Resultado não satisfatório
RESULTADOS DETECÇÃO DE CARACTERÍSTICAS Imagem 1 – PataHi
RESULTADOS DETECÇÃO DE CARACTERÍSTICAS Imagem 2 – PataHi
RESULTADOS CORRESPONDÊNCIA Match 1 e 2 na imagem 1 – PataHi
RESULTADOS CORRESPONDÊNCIA Match 1 e 2 na imagem 1 – PataHi
RESULTADOS DETECÇÃO DE CARACTERÍSTICAS Imagem 1 – Carro
RESULTADOS DETECÇÃO DE CARACTERÍSTICAS Imagem 1 – Carro Voodoo Camera Tracker
RESULTADOS CORRESPONDÊNCIA Match 1 e 2 na imagem 1 – Carro
RESULTADOS CORRESPONDÊNCIA Match 1 e 2 na imagem 1 – Carro Voodoo Camera Tracker
RESULTADOS DETECÇÃO DE CARACTERÍSTICAS Imagem 1 – Pequeno construtor
RESULTADOS DETECÇÃO DE CARACTERÍSTICAS Imagem 2 – Pequeno construtor
RESULTADOS CORRESPONDÊNCIA Match 1 e 2 na imagem 1 – Pequeno construtor
RESULTADOS CORRESPONDÊNCIA Match 1 e 2 na imagem 2 – Pequeno construtor
RESULTADOS CALIBRAÇÃO Calibração – PataHi
RESULTADOS CALIBRAÇÃO Calibração – Pequeno construtor
Resultados Nuvem de Pontos Retalho 1 - PataHi
Resultados Nuvem de Pontos Retalho 2 - PataHi
Resultados Nuvem de Pontos Retalho 4 - PataHi
MELHORIAS CALIBRAÇÃO Tsai 3D ou Zhang Calibração do Tsai 2D só é boa para pontos próximos ao plano do padrão Mais adequados para reconstrução 3D Estimar matriz fundamental pelo algoritmo de oito pontos
Melhorias Nuvem de Pontos Retificação antes da triangulação Retas que saem de p e p’ se intersectam realmente em P
Melhorias Nuvem de Pontos Iterative Closest Point Método para alinhar pares de retalhos Iterativamente, transforma dois conjuntos de pontos minimizando a distância entre eles Etapas do algoritmo: Pares de pontos são identificados nos dois retalhos Método de otimização calcula o movimento rígido que reduz a distância entre ambos Programa de visualização da nuvem de pontos Mudar rotação pelo mouse Mudar translação pelo teclado
CONCLUSÃO Projeto válido por possibilitar um amplo estudo dos assuntos abordados no curso Resultados satisfatórios dependem: Estudo mais a fundo de todas as fases Utilização de diversas técnicas em cada fase Teste dessas técnicas para ajustes
REFERÊNCIAS A Review of 3D Reconstruction from Video Sequences - MediaMill3D technical reports series, Dang Trung Kien Automatic Camera Calibration and Scene Reconstruction with Scale-Invariant Features, Jun Liu and Roger Hubbold Computer Vision - A Modern Approach, David A. Forsyth Fotografia 3D, Luiz Velho e Paulo Cezar Carvalho Visual modeling with a hand-held camera, Marc Pollefeys VideoTrace: Rapid interactive scene modelling from video - http://www.acvt.com.au/research/videotrace Voodoo Camera Tracker - http://www.digilab.uni-hannover.de/docs/manual.html Object Recognition from Local Scale-Invariant Features, David G. Lowe A method for registration of 3D shapes, Paul J. Besl e Neil D. Mckay