Adônis Tavares João Gabriel Silvia Taveiros

Post on 30-Dec-2015

23 views 0 download

description

Markless Reality Augmented ( MAR). 17/06/2009. Adônis Tavares João Gabriel Silvia Taveiros. Roteiro. Motivação O que é Realidade Aumentada(RA) O que é RA sem Marcador Qual a diferença entre RA com marcador e sem marcador Técnicas de RA sem Marcador Conclusão Tendências da área - PowerPoint PPT Presentation

Transcript of Adônis Tavares João Gabriel Silvia Taveiros

Adônis TavaresJoão Gabriel

Silvia Taveiros17/06/2009

Markless Reality Markless Reality Augmented (MAR)Augmented (MAR)

Roteiro

Motivação O que é Realidade Aumentada(RA) O que é RA sem Marcador Qual a diferença entre RA com marcador

e sem marcador Técnicas de RA sem Marcador Conclusão Tendências da área Referências

Motivação

Perspectivas de aplicação nas mais diversas áreas, tais como construção civil, aviação e engenharias.

As técnicas de MAR têm sido muito estudadas e discutidas tanto pela academia quanto pela indústria

O que é Realidade Aumentada ?

Realidade Aumentada é definida usualmente como a sobreposição de objetos virtuais tridimensionais, gerados por computador, com um ambiente real, por meio de algum dispositivo tecnológico.

RA está inserida no contexto de realidade misturada

Componentes formadores de RA

O que é MAR(Markless Augmented Reality)

A realidade aumentada sem marcadores se caracteriza por executar o rastreamento (tracking) da câmera, processo que permite a correta inserção dos elementos virtuais na cena real, sem a inserção de elementos intrusivos (chamados marcadores) ao ambiente.

O que MAR difere de RA com Marcadores

A abordagem baseada em marcadores usa marcadores sintéticos tradicionais que precisam ser posicionados no mundo real a ser rastreado pelo sistema de forma a calcular sua posição e orientação.

Na realidade aumentada sem marcadores qualquer parte do mundo real pode ser usada como um marcador que será rastreado para posicionar os objetos virtuais.

Técnicas de MAR

Baseada em Modelos

É necessária a aquisição de conhecimento prévio acerca do mundo real. Este conhecimento é guardado em um modelo 3D, geralmente um modelo CAD, posteriormente usado para estimar a pose da câmera .

Classifica-se em 3 categorias: Baseado em arestas Baseado em fluxo óptico Baseado em textura

Baseada em modelos:1. Baseada em arestas

A estimativa da pose da câmera é realizada pelo relacionamento entre o

wireframe do modelo 3D e as informações das arestas da imagem do mundo real .

Baseada em modelos:1. Baseada em arestas

Duas classificações possíveis dependentes da forma como as características das arestas são utilizadas para o rastreamento:

Baseada na detecção explícita de arestas

Baseada na amostragem de pontos nas arestas

1.1 Baseada na detecção explícita de arestas

Tem como característica utilizar a correspondência entre as arestas como um todo para realizar o rastreamento da câmera.

Correspondência se dá entre as arestas extraídas na cena real e as arestas projetadas do modelo 3D utilizando-se a pose prevista para a cena

1.2 Baseada na amostragem de pontos nas arestas

Têm como característica fundamental a seleção de pontos de controle 3D ao longo das arestas do objeto rastreado. A partir destes pontos é feito um relacionamento dos mesmos com os pontos 2D extraídos das arestas a cada quadro da cena de forma a recuperar as informações de câmera

Baseada em modelos:2. Baseado em fluxo

ópticoAs informações utilizadas para a estimativa da pose advém do movimento relativo entre os quadros da seqüência.

Baseada em modelos:3. Baseado em texturas

Leva em consideração informações de textura presentes nas imagens para realizar o tracking

Pode ser subdividido em: Template Matching Interest Point Based

Template Matching

Baseada em informações globais A força dessa técnica está em conseguir

tratar padrões complexos que seriam difíceis de tratar com características locais

Apresenta problemas com variações de iluminação, oclusão e movimentos rápidos de câmera

Template Matching

Também é chamada de sum-of-square-difference (SSD), pois tenta diminuir a diferença entre a região da imagem e o template referenciado

Procura parâmetros que aproximem o template da Imagem de entrada

Template Matching

Interest Point Based

Baseia-se em características locais, evitando assim problemas de oclusão e variação de iluminação

Possui bom desempenho computacional

3.2 Interest Point Based

É necessário um pré-processamento para gerar informações que evitam problemas de drift. Essas informações aparecem como um keyframe.

Keyframe: Guarda os pontos 2D extraídos da posição

conhecida da câmera Poucos são necessários para iniciar o

tracking

3.2 Interest Point Based

3.2 Interest Point Based

Após todos os keyframes serem gerados é preciso descobrir a primeira posição da câmera

Depois disso usando a distância da Mahalanobis é encontrado o keyframe que mais se aproxima do frame atual

Interest Point Based

Uma imagem sintética é criada com posição próxima ao frame usando homografia na imagem do keyframe mais próximo a imagem

Interest Point Based

Características relevantes são comparadas entre o frame atual e a imagem intermediária gerada

Baseado nos resultados de compatibilidade a posição câmera pode ser estimada

3.2 Interest Point Based

3.3 Tracking By Detection Não necessitam de uma estimativa de

posição inicial São invariantes a mudanças de escala e

de iluminação São mais lentos do que os métodos

recursivos, por isso necessitam de muito pré-processamento

3.3 Tracking By Detection As técnicas podem ser divididadas em:

Edge Based Texture Based

3.3.1 Edge Based

Usa informações das bordas dos objetos para detectá-los em uma sequência real de imagens

Essa técnica é mais robusta que as baseadas em textura, pois não é afetada por mudanças na iluminação dos objetos

View Based

É uma técnica do tipo Edge Based Funciona bem para objetos não planos Tenta encontrar nos modelos de bordas

pré-processados aquele mais compatível com as bordas do frame atual

3.3.1 View Based

No pré-processamento cada face do modelo é pintada com uma cor de acordo com o vetor normal a face. Cada cor representa uma coordenada (X,Y,Z), com isso obtém-se a amplitude da aresta

3.3.1 View Based

Na cena modelada são retiradas várias imagens de forma hierárquica de várias posições diferentes

O espaço de visões é modificado por 3 parâmetros: Longitude Latitude Distância

3.3.1 View Based

3.3.1 View Based

Quando o pré-processamento é encerrado, o frame atual capturado pela câmera é comparado de maneira hierárquica com os modelos armazenados, para encontrar aquele que mais se aproxima da imagem de entrada

View Based

O próximo frame da câmera é comparado somente com os vizinhos do modelo anterior, a busca pode crescer se não houver uma compatibilidade satisfatória

3.3.1 View Based

O método se mostra bastante eficaz, deve-se ter cuidado porém com o universo de poses escolhido, pois o tempo computacional pode se tornar um problema

3.3.2 Texture Based

Técnicas de tracking por detecção, baseadas em textura

Podem ser pouco eficientes se os objetos rastreados tiverem um poder de reflexão grande

Keypoint Based

Técnica do tipo Texture Based Utiliza algoritmos de comparação e

extração de pontos chave Pontos Chave:

São pontos relevantes da imagem Não variam com escala, iluminação e

rotação

Key Point Based

No pré-processamento inicialmente são extraídos keyframes, e todas a posições do modelo da cena devem ser cobertas e suas relações com a câmera guardadas

Para cada keyframe, os keypoints são extraídos e guardados em um kd-tree que os guarda baseado em suas descrições

Key Point Based

Na fase de tracking os keypoints são extraidos das imagens de entrada da câmera da mesma maneira que no pré-processamento

Depois de extraídos os keypoints, é procurado na base pré-processada aquele keyframe mais compatível com o frame atual

Key Point Based

Se o número de keypoints compatíveis atingir o valor mínimo, a posição pode ser estimada. Senão, o frame sofre uma falha no tracking

Key Point Based

SfM/SLAM Based

Estimam o deslocamento da câmera e geometria da cena sem conhecimento a priori

Conhecimento é adquirido durante rastreamento

Não dependem da visibilidade do objeto modelado

Mais complexos do que os Model based

Structure from Motion (SfM) based

Foco na reconstrução de questões locais

Capaz de reconstruir a estrutura de uma cena em tempo real

Diferentes níveis de detalhe Maioria das técnicas Impõe algumas restrições

Não precisa de aprendizagem offline Reconstrução on the fly

Abordagens muito complexas

Real-Time Structure from Motion

Técnica tradicional de SfM

Produz bons resultados em relação a malha final gerada

Mais informações sobre a cena Possibilita melhorias nos sistemas de MAR Oclusão de objetos virtuais por objetos reais Interação física entre esses objetos

API's implementam alguns algoritmos VXL OpenCV

Real-Time Structure from Motion

Muito processamento gasto nos algoritmos do pipeline 

Restrições de tempo real Modificações no pipeline

Simplificação de algumas fases Utilização de outros algoritmo Implementação de Nistér's (Preemptive RANSAC)

Real-Time Structure from Motion

Simultaneous Localization and Mapping (SLAM)

Utilizado na Robótica para construir uma representação on the fly do ambiente e estimar o movimento dos robôs

Foco na precisão da localização Revisitar cenas anteriores sem recuperar sua

estrutura Unir as reconstruções locais para produzir uma

representação global

Utiliza métodos modernos de inferência Bayesiana sequencial e alguns sensores como sonar e câmeras

Simultaneous Localization and Mapping (SLAM)

MonoSLAM

Baseado no método probabilístico SLAM Câmera de grande abertura angular e

movimento livre como único sensor e com restrições de tempo real

Algoritmo roda a 30 fps

Pipeline Estima a posição da câmera Cria um mapa esparso de pontos de referência

naturais do ambiente

MonoSLAM

Vantagens Eficiente Baixo jitter Lida com extreme rotations, oclusão e closed

loop

Desvantagens Restrito a ambientes internos Movimentos suaves de câmera Imagem monocromática de câmera