RECONSTRUÇÃO 3D Video em: http://www.youtube.com/watch?v=kxtQqYLRaSQ
EQUIPE Amora Cristina (acat) Anália Lima (alc5) Caio César (ccss2) Irineu Martins (imlm2) Ivson Diniz (ids) Laís Sousa (lsa)
Roteiro Introdução Conceitos Reconstrução Ativa e Passiva Reconstrução Baseada em Imagem Pipelines de Reconstrução Reconstrução Offline e Tempo Real Aplicações Tendências Futuras
introdução
VISÃO COMPUTACIONAL Visão Computacional é a área da ciência que se dedica a desenvolver teorias e métodos de extração automática de informações úteis em imagens. Busca extrair informações de forma o mais semelhante possível à realizada pelo ser humano no seu complexo sistema visual.
VISÃO COMPUTACIONAL A Visão Computacional é, de certa forma, o inverso da computação gráfica. VISÃO COMPUTACIONAL DADOS DE IMAGENS MODELOS 3D COMPUTAÇÃO GRÁFICA
RECONSTRUÇÃO 3D “Reconstrução 3D é um campo de pesquisa que envolve várias técnicas com o propósito de recuperar modelos que representam de maneira precisa e em 3 dimensões, características de interesse (forma, estrutura, textura, etc.) de um objeto ou um conjunto de objetos específicos.” Experiences on the Implementation of a 3D Reconstruction Pipeline
conceitos
CONCEITOS Uma imagem geralmente é uma projeção de um ambiente 3D num plano específico. Para a Reconstrução 3D, é necessário saber alguns parâmetros de como a imagem foi construída a partir da cena. Geometria Projetiva É necessário saber como as imagens diferentes da mesma cena 3D se relacionam. Geometria Epipolar
GEOMETRIA PROJETIVA “Área da matemática que lida com as propriedades e a consistência (no sentido de mudança de sistema de coordenadas) de figuras geométricas em relação à projeção”. A projeção pode ser ortográfica ou de perspectiva.
PROJEÇÃO ORTOGRÁFICA Os pontos 3D seguem uma reta que é ortogonal ao plano. PLANO PROJETIVO
PROJEÇÃO ORTOGRÁFICA Objetos mais distantes do plano são projetados com mesmo tamanho que objetos mais próximos. PLANO PROJETIVO
PONTO CENTRAL DE PERSPECTIVA PROJEÇÃO DE PERSPECTIVA Os pontos 3D seguem uma reta que vai de encontro a um ponto central de perspectiva. Semelhante ao olho humano. PONTO CENTRAL DE PERSPECTIVA PLANO PROJETIVO
PROJEÇÃO DE PERSPECTIVA Objetos mais distantes do plano são projetados com tamanho menor que objetos mais próximos.
GEOMETRIA PROJETIVA A projeção ortogonal equivale a uma projeção de perspectiva quando o ponto central tem distância do plano projetivo tendendo ao infinito.
MODELOS DE CÂMERA Baseiam-se em princípios da Geometria Projetiva As câmeras convencionais utilizam projeção de perspectiva
MODELO DE CÂMERA PINHOLE Modelo matemático de uma câmera pinhole ideal: C = centro da câmera f = distância focal z = profundidade PLANO DE VISTA z C f
MODELO DE CÂMERA PINHOLE C é a origem do sistema. Os vetores base desse sistema são u, v, n. Qualquer ponto no plano de vista tem coordenadas (x,y,f) nas coordenadas da base da câmera
MODELO DE CÂMERA PINHOLE Cada ponto (x, y, f) pode ser interpretado como um ponto do IR² (x, y) de coordenadas de tela. Podem ser definidos parâmetros w e h, que correspondem à largura e altura de vista do plano. h w C
MODELO DE CÂMERA PINHOLE Sejam P (x,y,z) e P’ (x’,y’,f), tal que, P’ é o ponto P projetado em perspectiva em relação a C. Por proporção: x’ / f = x / z y’ / f = y / z (x,y,z) (x’,y’,f) C
MODELO DE CÂMERA PINHOLE Vale ressaltar que o sistema da câmera não é o mesmo sistema das coordenadas de mundo. Portanto, pontos com coordenadas no sistema mundial devem ter suas coordenadas convertidas para o sistema de câmera. Nessa conversão, ocorrem processos de translação e rotação.
PARÂMETROS EXTRÍNSECOS Os parâmetros extrínsecos descrevem a posição e orientação da câmera em relação ao sistema de coordenadas mundial. A posição da câmera pode ser vista como uma translação, enquanto sua orientação pode ser descrita com operações de rotação.
PARÂMETROS EXTRÍNSECOS Dessa forma, seja um ponto P com coordenadas do sistema mundial. O ponto P’ em coordenadas no sistema de câmera é: Coordenadas euclidianas P’ = t + R . P Coordenadas homogêneas P’ = T . p O C
COORDENADAS HOMOGÊNEAS É utilizado em lugar do sistema de coordenadas cartesiano devido às vantagens que oferece no tratamento algébrico. Com coordenadas homogêneas, pontos de um espaço de dimensão n são expressados com coordenadas de um espaço de dimensão n+1. Conceitualmente, há infinitas coordenadas homogêneas para um ponto em particular.
COORDENADAS HOMOGÊNEAS Seja um ponto P do IR2 (X,Y), as coordenadas homogêneas de P são quaisquer triplas [w, x, y] de números reais que satisfaçam as condições: w > 0 X = x / w Y = y / w Para P = (3,5), temos coordenadas homogêneas como [2, 6, 10], [10, 30, 50], [0.2, 0.6, 1.0]...
PARÂMETROS INTRÍNSECOS Os parâmetros intrínsecos mostram como um ponto, em coordenadas de câmera, será escrito em coordenadas de imagem. Dessa forma, temos um novo sistema: o sistema de coordenadas de imagem.
PARÂMETROS INTRÍNSECOS A origem desse sistema é o canto superior esquerdo O. A unidade básica é o pixel. Vale ressaltar que o tamanho do pixel não necessariamente equivale a uma unidade no sistema de coordenadas de câmera. O
GEOMETRIA EPIPOLAR Geometria da visão estéreo.
GEOMETRIA EPIPOLAR A visão do ser humano é estéreo – cada olho percebe o mundo de visões diferentes. Cada olho funciona como uma câmera pinhole que captura o mundo de forma diferente, permitindo nosso cérebro estabelecer relações geométricas, que simulem o efeito de profundidade.
GEOMETRIA EPIPOLAR
GEOMETRIA EPIPOLAR A idéia de reconstruir o ambiente 3D, tendo como base duas ou mais imagens é baseada na Geometria Epipolar. Dependente dos parâmetros da câmera. Independente da estrutura da cena.
GEOMETRIA EPIPOLAR l2 PLANO EPIPOLAR l1 m1 C m2 e1 e2 baseline C’
GEOMETRIA EPIPOLAR l2 l1 = F . m1 l1 m2T. F . m1 = 0 m1 F . e1 = 0 m2 Matriz fundamental l1 m2T. F . m1 = 0 F . e1 = 0 m1 C m2 e1 e2 C’
TÉCNICAS DE RECONSTRUÇÃO
Técnicas de Reconstrução 3D Técnicas Ativas Técnicas Passivas
TÉCNICAS ATIVAS São técnicas que interferem no ambiente para atingir os objetivos desejados. Uma textura artificial é mapeada ao objeto Textura produz características salientes da imagem possibilitando uma reconstrução 3D densa. Exemplo: técnicas baseadas em infra-vermelho, luz estruturada, sonar, etc.
TÉCNICAS ATIVAS Reconstrução 3D a partir de um scanner laser Video em: http://www.youtube.com/watch?v=POEOA5eZVqM
TÉCNICAS ATIVAS Reconstrução 3D a partir de luz estruturada Video: http://www.youtube.com/watch?v=VGxEUKPNqcA
TÉCNICAS ATIVAS Vantagens: Conjunto denso de pontos pode ser extraído, mesmo para objetos sem textura. Menor complexidade (ambiente controlado) Desvantagens: Possui restrições sobre o ambiente que vai ser reconstruído Dificuldade encontrada para tratar objetos especulares
TÉCNICAS PASSIVAS Essa classe de técnicas se baseia na captura de imagens da cena sob condições naturais de iluminação. Não interfere no ambiente a ser reconstruído Exemplo: Structure from Motion
TÉCNICAS PASSIVAS Reconstrução 3D a partir de imagens Video em: http://www.youtube.com/watch?v=VDTJmKE0EyA
TÉCNICAS PASSIVAS Vantagens: Apenas uma câmera é necessária para a captura das imagens (câmera comum de baixo custo) Mais flexível (não precisa de ambiente controlado) Desvantagem: É mais complexa
RECONSTRUÇÃO BASEADA EM IMAGEM
TIPOS DE RECONSTRUÇÃO Reconstrução esparsa: gera uma nuvem de pontos, a qual contém e representa informação 3D de cada um dos pontos da superfície do objeto a ser reconstruído. Reconstrução densa: encontra o valor em coordenadas de mundo do maior número de pontos da imagem possível, além dos features já encontrados, para melhorar a qualidade do modelo.
RECONSTRUÇÃO ESPARSA Primeiro Passo: Extração de features Bundle Adjustment: Otimização da estrutura e parâmetros de visualização 3D (ou seja, a pose da câmera, distorção radial), minizando erro de reprojeção dos pontos. Segundo passo: Determinação da localização 3D dos pontos selecionados como features.
RECONSTRUÇÃO ESPARSA Dubrovnik, Croácia
RECONSTRUÇÃO ESPARSA Sala dos Mapas, Roma
RECONSTRUÇÃO DENSA Retificação da Imagem Uma série de transformações é aplicada às imagens, de forma que os pontos correspondentes estejam na mesma coordenada-y em ambos os quadros
RECONSTRUÇÃO DENSA Próximos passos: Nova seleção de features (busca mais simples e para quase todos os pixels da imagem) Determinação de uma Matriz Fundamental mais precisa Maior número de correspondências
RECONSTRUÇÃO DENSA Reconstrução 3D de uma avalanche em Marte
RECONSTRUÇÃO DENSA Modelo reconstruído pelo software PMVS2
TRACKING 3D Consiste em estimar a pose tridimensional de um determinado objeto presente no mundo real. É necessário o uso de sensores que percebem as características do ambiente, tais como: Ultrasom Trackers de movimento Sensores Ópticos Pode também ser utilizado para animações em cinema e aplicações de RA.
NÚMERO DE IMAGENS Uma imagem: a posição real do ponto é ambígua
NÚMERO DE IMAGENS Duas imagens: os pontos reais coincidem com a intersecção dos raios de visão (sem erros)
NÚMERO DE IMAGENS Três ou mais imagens: os raios de visão devem intersectar o mesmo ponto real (sem erros)
NÚMERO DE IMAGENS Mas, na presença de erro:
PROBLEMA DA CORRESPONDÊNCIA Dada duas imagens e um ponto em uma destas imagens, como encontrar seu correspondente na outra
PROBLEMA DA CORRESPONDÊNCIA Função de matching para avaliar o grau de semelhança entre pontos (ou de erro para avaliar o grau de diferença ) Semelhança de luminosidade, distância de cores RGB Uso da geometria epipolar para restringir o espaço de busca na imagem.
PROBLEMA DA CORRESPONDÊNCIA Restrição epipolar:
MÉTODOS DE CORRESPONDÊNCIA Baseado em features Baseado em correlação
BASEADOS EM FEATURES Realizam a correspondência entre as features de duas imagens. Features (ou pontos de destaque) são entidades com propriedades específicas que se sobressaem tais como bordas e contornos.
FEATURES Features são inerentemente esparsas. Tal característica representa uma vantagem já que restringe o espaço de busca. Entretanto um conjunto esparso de correspondências também representa uma reconstrução esparsa! Ou seja, existe uma troca entre a redução no espaço de busca e a cobertura da cena.
VANTAGENS e DESVANTAGENS São bastante utilizadas para rastreamento e calibração de câmera. Features servem como ‘dicas’ de profundidade ou como uma indicação da possibilidade de descontinuidades. Sofrem de problemas como contorno aparente.
BASEADOS EM CORRELAÇÃO Tentam correlacionar janelas (blocos) numa imagem referência com janelas em outras imagens. Pares de janelas com maior grau de correlação representam uma correspondência.
BASEADOS EM CORRELAÇÃO Variam no formato ou tamanho da janela, na maneira de escolher os blocos candidatos Uma vez determinada a correspondência entres os blocos é possível atribuir valores de profundidade ao bloco inteiro ou somente a um pixel representativo.
VANTAGENS E DESVANTAGENS Cobrem toda a área das imagens. Podem gerar reconstruções densas. São sensíveis a variações de textura. São sensíveis a variações parâmetros utilizados (eg, tamanho e formato do bloco) Na maioria das vezes necessitam de retificação de imagens.
MÉTODOS DE RECONSTRUÇÃO Shape from Focus Structure from Motion Shape from Texture Shape from Shading Structured Light Shape-from-shading => Variação gradual na iluminação do objeto Structured light is the process of projecting a known pattern of pixels (often grids or horizontal bars) on to a scene. The way that these deform when striking surfaces allows vision systems to calculate the depth and surface information of the objects in the scene Arvore de classificação de métodos em relação ao número de imagens
Pipelines de REConstrução
Reconstrução projetiva FASES DE UM PIPELINE Aquisição de imagens Seleção de features Texturização Rastreamento 2D Reconstrução projetiva Reconstrução densa Reconstrução métrica
POLLEFEYS Obtém modelos 3D a partir de uma sequência de imagens (independentes) monoculares não-calibradas Não precisa de conhecimento prévio sobre a cena ou parâmetros da câmera Funciona mesmo que haja mudanças nos parâmetros da câmera (foco, zoom) entre uma imagem e outra Reconstrução offline
Projective Reconstruction POLLEFEYS Projective Reconstruction Sequência inicial de imagens
Projective Reconstruction POLLEFEYS Projective Reconstruction Uso do The Harris corners detector para encontrar as features (maximiza a dissimilaridade entre pixels vizinhos) Rastreamento 2D de pontos com o uso de análise de similaridades Redução do espaço de busca (imagens na sequência não devem diferenciar muito) Projective Reconstruction
Projective Reconstruction POLLEFEYS Struct from Motion Cálculo da geometria epipolar entre pares de imagens Uso do RANSAC (RANdom SAmpling Consesus), para abordagem mais robusta Cálculo incremental (refinamento da matriz com uso de mais casamentos) Projective Reconstruction
Projective Reconstruction POLLEFEYS Projective Reconstruction features Linha Epipolar Ponto previsto
Projective Reconstruction POLLEFEYS Self-Calibration Método utilizado para encontrar os parâmetros intrínsecos da câmera Permite variação dos parâmetros durante aquisição de imagens (foco automático ou uso de zoom) Uso da matriz essencial no lugar da matriz fundamental Projective Reconstruction Self-Calibration
Projective Reconstruction POLLEFEYS Projective Reconstruction Antes Self-Calibration Depois
Projective Reconstruction POLLEFEYS Self-Calibration No final, posse da posição e orientação de todas as câmeras, assim como dos parâmetros intrínsecos, a matriz de projeção para cada pose é encontrada Permite aprimorar a reconstrução de projetiva para métrica (preserva propriedades como paralelismo e ortogonalidade) Projective Reconstruction Self-Calibration
Projective Reconstruction POLLEFEYS Dense Matching Obtenção da reconstrução densa Uso de retificação para que as linhas epipolares coincidam com o scanline da imagem Busca por correspondentes é reduzida ao casamento de pixels no scanline (mais eficiência) Projective Reconstruction Self-Calibration Dense Matching
Projective Reconstruction POLLEFEYS Projective Reconstruction Self-Calibration Dense Matching
Projective Reconstruction POLLEFEYS Dense Matching Correspondência computada entre pares adjacentes de imagens retificadas Cálculo de um mapa de profundidade para cada ponto de vista de câmera Fusão entre os mapas para gerar um mapa denso da imagem Projective Reconstruction Self-Calibration Dense Matching
Projective Reconstruction POLLEFEYS Projective Reconstruction Self-Calibration Dense Matching
Projective Reconstruction POLLEFEYS 3D Model Building Suavização do mapa de profundidade Triagularização da superfície (uso de Convex Hull e densidade de pontos) Aplicação de textura sobre a superfície Uso de centróide e média entre os pixels Projective Reconstruction Self-Calibration Dense Matching 3D Model Building
Projective Reconstruction POLLEFEYS Projective Reconstruction Self-Calibration Dense Matching 3D Model Building
Projective Reconstruction POLLEFEYS Projective Reconstruction Self-Calibration Dense Matching 3D Model Building
POLLEFEYS Inclui também técnica para reconstrução por vídeo Envolve geração automática de keyframes Restrições de distância mínima (baseline) e rotação mínima entre frames
POLLEFEYS Exemplo de reconstrução por vídeo Video em: http://www.youtube.com/watch?v=2mvzHvPYX0k
NISTER Pipeline de reconstrução métrica em tempo real Deve-se conhecer previamente os parâmetros intrínsecos da câmera Possui tempo máximo para estimar a pose
NISTER Feature Detection Feature Detection Feature Matching Também utiliza o The Harris corners detector para encontrar features Feature Matching Uso de análise de similaridades e geometria epipolar Feature Detection Feature Matching
NISTER Structure and Motion Feature Detection Feature Matching Uso do RANSAC com um esquema feito por Nister para evitar testes desnecessários (processamento em tempo real) Triangulação do ponto real Uso de Bundle ajustment para minimizar erros de reprojeção Feature Detection Feature Matching Structure and Motion
NISTER Exemplo da reconstrução esparsa em tempo real Video em: http://www.youtube.com/watch?v=68uE6HwkJuk
NISTER Dense Reconstruction Feature Detection Feature Matching Uso de métodos(fusão média de mapas de profundidade, triangulação de superfície e texturização) para gerar a reconstrução densa Reconstrução ainda em tempo real Feature Detection Feature Matching Structure and Motion Dense Reconstruction
NISTER Exemplo da reconstrução densa em tempo real Video em: http://www.youtube.com/watch?v=qLGfng3XG94
POLLEFEYS x NISTER
REConstrução offline e tempo real
RECONSTRUÇÃO OFFLINE A determinação da visibilidade dos objetos em uma cena é feita em pré-processamento. Técnicas: Cells Portals PVS
RECONSTRUÇÃO TEMPO REAL A visibilidade dos objetos é determinada enquanto é efetuada a visualização da cena Demanda por algoritmos de alta performance Largamente utilizado em áreas de pesquisa Realidade Aumentada (Tracking 3D) Controle de robôs Interação humano computador (IHC). Técnicas: Shadow Frusta
RECONSTRUÇÃO ONLINE Exemplo Video em: http://www.youtube.com/watch?v=V1cSUN0Q-bM
RECONSTRUÇÃO ONLINE Exemplo Video em: http://www.youtube.com/watch?v=sz0UbHvEttI
Aplicações
ÁREAS DE APLICAÇÃO Arquitetura Navegação Medicina Reconhecimento de padrões Cartografia
MEDICINA InVesalius Video em: http://www.youtube.com/watch?v=UuyhPKxb74E É uma das areas que mais encontramos informações, Aplicações nessa area InVesalius é um software público para área de saúde que visa auxiliar o diagnóstico e o planejamento cirúrgico. A partir de imagens em duas dimensões (2D) obtidas através de equipamentos de tomografia computadorizada ou ressonância magnética, o programa permite criar modelos virtuais em três dimensões (3D) correspondentes às estruturas anatômicas dos pacientes em acompanhamento médico. Ele pode ser usado para simulações de intervenções cirúrgicas e criação de implantes exclusivos para cada paciente. Dentre os benefícios gerados pela utilização do software e dos protótipos, tem-se: melhor resultado estético; redução no tempo real da cirurgia; menos riscos para o paciente. (alterar o video para só o que é importante)
ARQUITETURA Building Rome In A Day Video em: http://www.youtube.com/watch?v=L7NT3BrrsaQ&feature=related http://www.youtube.com/watch?v=sQegEro5Bfo&feature=player_embedded
NAVEGAÇÃO Exosphere3D Video em: http://www.youtube.com/watch?v=tE_5eiYn0D0
RECONHECIMENTO DE PADRÕES 3D Face Scanner Video em: http://www.youtube.com/watch?v=OpbEwRfaTfk&feature=related
CARTOGRAFIA Earthmine Video em: http://www.youtube.com/watch?v=HyqNuGf329o
Tendências futuras
TENDÊNCIAS FUTURAS Reconstruções de maior qualidade Algoritmos mais precisos Trabalhar com menos restrições sobre os dados Aplicações que rodem em tempo real Algoritmos mais eficientes Estimativas mais robustas Implementações baseadas em hardware Algoritmos que rodem na GPU Uso de buffers com maior número de bits por pixel
DÚVIDAS…
REFERÊNCIAS http://www.cin.ufpe.br/~tg/2006-1/ela.pdf http://www.cin.ufpe.br/~tg/2009-1/rar3.pdf http://www-di.inf.puc-rio.br/~celes/monograph/pf_ivson2006.pdf http://grail.cs.washington.edu/rome/ http://en.wikipedia.org/wiki/Bundle_adjustment http://www.vis.uky.edu/~dnister/ http://www.cs.unc.edu/~marc/ INVESALIUS: http://svn.softwarepublico.gov.br/trac/invesalius http://www.cti.gov.br/index.php?option=com_content&view=article&id=139&Itemid=232 BUILDING ROME IN A DAY: http://grail.cs.washington.edu/projects/rome/ POUSO NO RIO HUDSON: http://www.exosphere3d.com/pubwww/pages/project_gallery/cactus_1549_hudson_river.html EARTHMINE: http://www.earthmine.com/Solutions?Overview
REFERÊNCIAS http://dfm.ffclrp.usp.br/infobio/forum/viewtopic.php?f=117&t=5084 http://www.youtube.com/watch?v=sz0UbHvEttI http://www.youtube.com/user/JimanthaJ#p/u http://www-ext.lnec.pt/APAET/pdf/Rev_12_A12.pdf http://en.wikipedia.org/wiki/Computer_vision