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
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 ó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
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
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)
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
Download

Interest Point Based