500 likes | 584 Views
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
E N D
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 • 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
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.
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 óptico As 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
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 • 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.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 • 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
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 • Foconareconstrução de questõeslocais • Capaz de reconstruir a estrutura de umacenaem tempo real • Diferentesníveis de detalhe • Maioria das técnicas • Impõealgumasrestrições • Nãoprecisa de aprendizagem offline • Reconstruçãoon the fly • Abordagensmuitocomplexas
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 (PreemptiveRANSAC)
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
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