Adônis Tavares João Gabriel Silvia Taveiros 17/06/2009 Markless Reality Augmented (MAR)
Transcript of Adônis Tavares João Gabriel Silvia Taveiros 17/06/2009 Markless Reality Augmented (MAR)
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