Realidade Aumentada 15/10/2013
Prof. Sementille 1
Realidade Aumentada
Prof. Dr. Antonio Carlos Sementille
4 . VISÃO GERAL SOBRE RASTREAMENTO
Sumário da Apresentação
� Introdução
� Rastreadores◦ Características e Problemas comuns
◦ Tipos de Rastreadores
� Rastreamento 3D baseado em Visão Computacional
Introdução
� Rastrear um objeto em uma sequência de vídeo:◦ Continuamente identificar sua localização quando o objeto ou a
câmera se move
� Rastreamento (tracking) 3D:◦ Continuamente identificar todos os 6 DOF que definem a posição e
orientação da câmera com relação à cena◦ Equivalentemente: o deslocamento de um objeto relativo à câmera
Por que o rastreamento é importante em RealidadeAumentada?
� Integração de objetos virtuais no mundo real (imagens)
Introdução
� Existem diversas tecnologias de rastreamento, além da visão computacional:◦ Todas tem suas fraquezas
◦ Graus de Liberdade◦ Precisão◦ Taxa de Amostragem◦ Latência ◦ Tecnologia
Características dos rastreadores
Realidade Aumentada 15/10/2013
Prof. Sementille 2
Características dos rastreadores
� GRAUS DE LIBERDADE◦ Quantos graus de liberdade um
determinado equipamento consegue rastrear
Características dos rastreadores
� PRECISÃO
◦ Capacidade de detectar a posição correta do objeto ou corpo que está sendo rastreado
◦ Algumas aplicações: diferença de posicionamento podem causar danos graves
Características dos rastreadores
� TAXA DE AMOSTRAGEM
◦ Frequência com que o rastreador é capaz de fornecer uma informação ao sistema que o está utilizando
◦ Pode ser afetada pela capacidade do computador em processar dados ou pela comunicação entre o rastreador e o computador
Características dos rastreadores
� LATÊNCIA
◦ Tempo de atraso entre o momento que é feito um movimento e que o mesmo é dectado pelo rastreador
� Tecnologias – Vantagens e Desvantagens◦ Problemas comuns e erros◦ Rastreamento Acústico◦ Rastreamento Mecânico◦ Rastreamento Inercial◦ Rastreamento Magnético◦ Rastreamento Óptico◦ Inside-out, Outside-in, Inside-in
Características dos rastreadores
� Alta taxa de atualização requerida (geralmente em sistemas de tempo real)
� Erro Dinâmico de rastreamento, por exemplo, movimento do sensor
� Distorções causadas por influências do ambiente, p.ex. ruídos
� Variações de longo prazo◦ Causam mudanças nas leituras de um dia para o
outro
Problemas comuns e erros
Realidade Aumentada 15/10/2013
Prof. Sementille 3
Rastreamento Acústico(ultrassônico)
◦ Determinam a posição pela emissão de um som que é captado por um conjunto de receptores
◦ Controlador comanda a emissão de um som e sua recepção nos receptores
◦ Tempo decorrido desde a emissão até a recepção permite o cálculo da posição
Rastreamento Acústico(ultrassônico)◦ Exemplo: Ring mouse (rastreamento da
mão)
� Vantagens◦ Pequeno e leve (miniaturização de transmissores e
receptores)
◦ Sensível somente a ruídos na faixa ultrasônica
� Desvantagens◦ Velocidade do som (~331 [m/s] no ar a 0°C)
� Varia com a temperatura, pressão e umidade� � Lento � Baixa taxa de atualização
Rastreamento Acústico(ultrassônico)
� Uso de articulações mecânicas e/ou sensores de torque
� Preso à terra ou preso ao corpo
� Usado primariamente para captura de movimento(motion capture)
� Fornece medições de ângulos e intervalo de movimento
� Adição elegante de force feedback
(Slide taken from SIGGRAPH 2001 Course 11 – Slides by Allen, Bishop, Welch)
From [1]
From [1]
Rastreamento Mecânico
� Vantagens◦ Boa precisão◦ Alta taxa de atualização◦ Não é afetado por ruídos
� Desvantagens◦ Limitações ao movimento (do ser humano)◦ Pode ser pesado◦ Alto custo
Rastreamento Mecânico
� Inércia◦ Rigidez no espaço
� Segunda Lei do Movimento de Newton◦ F = ma (linear)◦ M = Iα (rotacional)
� Acelerômetros e Giroscópios
Rastreamento Inercial
Realidade Aumentada 15/10/2013
Prof. Sementille 4
� Conceitualmente, um acelerômetro se comporta como uma massa amortecida por uma mola
� Prova de massa e amortecimento da mola
� Mede-se a força exercida sobre a massa já que não podemos medir a aceleração diretamente
◦ Deslocamento é proporcional à aceleração
� Potenciômetros e Transdutores PiezolétricosFrom [1]
Rastreamento Inercial -Acelerômetros
� Conservação do momento angular
Rastreamento Inercial -Giroscópios
Rastreamento Inercial -Giroscópios
� Vantagens◦ Leves
◦ Não há limites físicos no volume de trabalho
� Desvantagens◦ Necessidade de recalibração periódica◦ Derivação (flutuação) no eixo de rotação de um giroscópio,
devido ao atrito entre os eixos restantes da roda e dos rolamentos
Rastreamento Inercial -Discussão
� Usam conjunto de bobinas para gerar campos magnéticos e sensores para determinar o tamanho e direção destes campos
Rastreamento Magnético
Image courtesy of Polhemus, Inc.
� Vantagens◦ Pequenos
◦ Boa taxa de atualização
� Desvantagens◦ Interferência de objetos metálicos no campo
magnético
◦ Correntes induzidas em materiais condutores� Distorções� Estimativa de posicionamento imprecisas
Rastreamento Magnético -Discussão
Realidade Aumentada 15/10/2013
Prof. Sementille 5
� Feito através da captura de imagens do ambiente
� Rastreamento a partir do reconhecimento de focos de luz ou de marcadores
� Velocidade da Luz
– 2.998 * 108 [m/s]
Rastreamento Óptico
� Detectores típicos◦ Lateral Effect PhotoDiodes (LEPDs)
◦ Quad Cells
� Marcadores ativos◦ LEDs
From [1]
Rastreamento Óptico –Marcadores ativos
Rastreamento Óptico –Marcadores ativos
� Detectores típicos◦ Câmeras de Video e CCD
� Técnicas de visão computacional
� Marcadores passivos◦ Materiais refletivos, padrões de alto contrate
From [1]
Rastreamento Óptico –Marcadores passivos
From [A.R.T. GmbH]
Rastreamento Óptico –Marcadores passivos
� Vantagens◦ Boa taxa de atualização (limitada pela velocidade
da luz)� Bem aceita em sistemas de tempo real
� Desvantagens◦ Precisão tende a diminuir com o aumento da
distância
◦ Sensível à ruídos ópticos e iluminação espúria� Pode ser minimizada pelo uso de luz infravermelha
◦ Ambiguidade de superfície e oclusão
Rastreamento Óptico –Discussão
Realidade Aumentada 15/10/2013
Prof. Sementille 6
� Inside-out◦ Sensores localizados fora do objeto (ator), porém
respondem a sinais emitidos por fonte externa (p. ex., equipamento acústico onde o microfone receberia sinais sonoros de caixas acústicas)
From [3]
Inside-out, Outside-in e Inside-in
� Outside-in◦ Fonte emissora é localizada no objeto (ator), os
sensores que captam o movimento são externos (p. ex., sistemas ópticos que usam câmeras para capturar informações dos sensores luminosos no corpo do ator.
From [3]
Inside-out, Outside-in e Inside-in
� Inside-in◦ Sensores e fonte transmissora estão localizados no
objeto (ator) a ser rastreado (p. ex., luvas com sensores de movimento)
Inside-out, Outside-in e Inside-in
� Rastreamento óptico – Visão computacional◦ Não invasivo◦ Soluções de baixo custo◦ Em alguns casos: permitido uso de fiduciais
◦ Na impossibilidade: uso de características naturais� Bordas, cantos e texturas
Rastreamento 3D baseado emVisão Computacional
� Calibração geométrica de uma dada câmera, no contexto da visão tridimensional:◦ Determinação dos Parâmetros que
caracterizam:� Geometria interna e as características ópticas
(parâmetros intrínsecos)� Posição e orientação 3D da câmera relativamente
a um certo sistemas de coordenadas do mundo (parâmetros intrínsecos)
Rastreamento 3D baseado emVisão Computacional
� Estes processos podem ter os seguintes propósitos:◦ Dadas as coordenadas x,y,z de um ponto
3D determinar as suas coordenadas 2D ou◦ Dadas as coordenadas 2D de um ponto da
imagem, determinar a equação da reta 3D definida por esse ponto da imagem e pelo centro óptico da lente da câmera
Rastreamento 3D baseado emVisão Computacional
Realidade Aumentada 15/10/2013
Prof. Sementille 7
� Parâmetros Intrínsecos: distância focal da câmera, posição do ponto principal e os parâmetros de distorção do sistema de lentes.
� Parâmetros Extrínsecos: matriz de rotação e translação da câmera
Rastreamento 3D baseado emVisão Computacional
Ponto 3D(x,y,z)
Reta 3D
MODELO DA CÂMERA
Parâmetros intrínsecos e extrínsecos
Ponto 2D(x,y)
� Câmera visualizadora◦ tipicamente uma câmera CCD (mxn)
� Frame grabber◦ placa de aquisição
� Computador (Host computer)◦ processador e memória para
processamento
Frame Grabber
HostComputer
CCDOptics
Rastreamento 3D baseado em Visão Computacional
Rotação e translação
xo
zo
yo
yc
xc
zc
xw
zw
yw
yimxim
T
xw
yw
zw
RxRz
Ry
Rastreamento 3D baseado em Visão Computacional
� Rastreamento 3D baseado em visão◦ Decomposto em 2 passos:� 1 – Processamento da imagem para
extrair alguma informação� 2 – Estimativa da posição
� Adição de fiduciais (landmarks oumarcadores) auxiliam ambos ospassos
Rastreamento 3D baseado emFiduciais
� Fiduciais◦ Possuem características fáceis de extrair◦ Confiabilidade◦ Medidas que auxiliam a estimativa de
posicionamento
Rastreamento 3D baseado emFiduciais
� Fiduciais como apontadores◦ Usados a anos pelos fotogrametristas◦ Projetados para serem identificados
rapidamente◦ Localização nas imagens calculado com
maior precisão do que características naturais
Rastreamento 3D baseado emFiduciais
Realidade Aumentada 15/10/2013
Prof. Sementille 8
� Fiduciais circulares◦ Funcionam bem◦ Relativamente invariante a distorção de
perspectiva◦ Centróide provê um estável
posicionamento 2D
Rastreamento 3D baseado emFiduciais
� Fiduciais circulares◦ Posicionamento 3D no sistema de
coordenadas do mundo são assumidas serem precisamente conhecidas, por:� Inicialização manual� Com um laser� Um algoritmo estrutura de movimento
◦ Para facilitar� Fiduciais podem ser arranjados em um
distinto padrão geométrico
Rastreamento 3D baseado emFiduciais
� Fiduciais circulares◦ Uma vez encontrados na imagem –
provêem um conjunto de correspondências que podem ser usados para calcular a posição da câmera
Rastreamento 3D baseado emFiduciais
� Fiduciais circularesExemplo - Cho, Lee e Neumann (1998) :◦ Sistema que utiliza vários tamanhos de
fiduciais◦ Fiduciais maiores possuem maior número
de anéis◦ Diâmetros dos anéis são proporcionais à
suas distâncias ao centro do fiducial –facilita sua identificação
Rastreamento 3D baseado emFiduciais
� Fiduciais circularesExemplo - Cho, Lee e Neumann (1998) :◦ Câmera perto – somente fiduciais menores
identificados◦ Câmera distante – somente os fiduciais maiores são
identificados
Rastreamento 3D baseado emFiduciais
� Fiduciais circularesExemplo – Claus & Fitzigibbon (2004) :◦ Abordagem de máquina de aprendizado
para melhorar confiabilidade◦ Fiduciais: discos pretos em fundo branco◦ Imagens exemplos coletadas em várias
perspectivas, escalas e condições de iluminação
◦ Também usa treinamento com imagens negativas
Rastreamento 3D baseado emFiduciais
Realidade Aumentada 15/10/2013
Prof. Sementille 9
� Fiduciais circularesExemplo – Claus & Fitzigibbon (2004) :◦ Cascata de classificadores são treinados
com estes dados� 1o Passo: classificação baseado em regras de
decisão Bayes� 2o. Passo: poderoso (mas lento) classificador
baseado em vizinhaça no subconjunto passado pelo 1o passo
� 3o. Passo: em tempo de execução – todas as possíveis subjanelas na imagem são classificadas com esta cascata
Rastreamento 3D baseado emFiduciais Exemplo – Claus & Fitzigibbon (2004) :
Rastreamento 3D baseado em Fiduciais
� Fiduciais EstendidosExemplo – Kato & Billinghurst (1999) :◦ Um simples fiducial = suficiente para
estimar a posição◦ Solução tornou-se popular – robusto e de
baixo custo (biblioteca Artoolkit)
� Detecção e estimativa de posicionamento◦ Feitas em tempo real e a cada frame
Rastreamento 3D baseado emFiduciais
� Fiduciais EstendidosExemplo – Kato & Billinghurst (1999) :◦ Não requer inicialização manual◦ Robusto à oclusão ◦ Na prática: sob boas condições de
iluminação – preciso o suficiente para aplicações de RA
Rastreamento 3D baseado emFiduciais
� Fiduciais ExtendidosExemplo Artoolkit – Kato et al. (2000) :
Rastreamento 3D baseado em Fiduciais
� Uso de marcadores◦ Requer alteração do ambiente� Usuários finais da tecnologia de rastreamento não
gostam� Às vezes, é impossível (p. Ex. Ambientes
externos)
� Sempre que possível, é preferível:◦ Usar características naturais existentes na
imagem◦ Infelizmente, isso torna o rastreamento
mais complexo
Rastreamento 3D baseado emCaracterísticas naturais
Realidade Aumentada 15/10/2013
Prof. Sementille 10
Duas famílias de abordagens� 1a família - Métodos baseados em
arestas (bordas): baseada no conhecimento que correspondem a projeções das arestas do objeto 3D em área de alto gradiente na imagem
� 2a família- inclui todas as técnicas que dependem de informações fornecidas pelos pixels dentro da projeção do objeto
Rastreamento 3D baseado emCaracterísticas naturais
� Historicamente, os primeiros mecanismos de rastreamento foram os baseados em arestas◦ Computacionalmente eficientes◦ Relativamente fáceis de implementar◦ Estáveis a alterações de iluminação
(mesmo para materiais especulares)
Rastreamento 3D baseado emCaracterísticas naturais – Métodosbaseados em Arestas
� A mais popular abordagem:◦ Procurar fortes gradientes na imagem em
torno de uma primeira estimativa da posição do objeto, sem explicitamente extrair os contornos, o que é mais fácil e genérico.
(Armstrong & Zisseman, 1995; Comport, Marchand & Chaumette, 2003; Drummond & Cipolla, 2002; Harris, 1992; Marchand, Bouthemy & Chaumette, 2001; Vacchetti, Lepetit & Fua, 2004a)
Rastreamento 3D baseado emCaracterísticas naturais – Métodosbaseados em Arestas
RAPiD� O RAPID (Harris, 1992) foi um dos primeiros rastreadores 3D
a executar com êxito em tempo real e muitas melhorias foram propostas desde então.
� Muitos de seus componentes básicos foram mantidos em sistemas mais recentes.
� A idéia-chave é considerar um conjunto de pontos 3D do objeto, chamado de pontos de controle, que se encontram nas bordas de alto contraste nas imagens.
� Os pontos de controle podem ser obtidos ao longo das bordas do modelo 3D e nas áreas de mudança rápida do contraste.
Rastreamento 3D baseado emCaracterísticas naturais – Métodosbaseados em Arestas
RAPiD� Os pontos de controle também podem ser gerados em tempo
real nos contornos de oclusão do objeto.
� O movimento 3D do objeto entre dois frames consecutivos podem ser recuperados a partir do deslocamento 2D dos pontos de controle.
� Uma vez inicializado, o sistema executa um loop simples:
◦ Para cada quadro, é feita a previsão da nova posição: a posição estimada do frame anterior, é utilizada para prever quais os pontos de controle serão visíveis e quais suas novas localizações.
◦ Os pontos de controle são comparados com os contornos da imagem, e a nova posição é calculada a partir dessas correspondências, via de minimização dos mínimos quadrados.
Rastreamento 3D baseado emCaracterísticas naturais – Métodosbaseados em Arestas
Abordagens baseadas no RAPiD (Drummond & Cipolla (2002))
� Em abordagens baseadas no RAPiD, pontos de controle são amostrados a longo das arestas do modelo
� Os pequenos segmentos brancos na imagem da esquerda unem os pontos de controle na imagem anterior para sua posição encontrada na nova imagem, a posição pode, então, ser inferida destas correspondências, mesmo na presença de oclusões, pela introdução de estimadores robustos.
Rastreamento 3D baseado emCaracterísticas naturais – Métodosbaseados em Arestas
Realidade Aumentada 15/10/2013
Prof. Sementille 11
Abordagens baseadas no RAPiD (Drummond & Cipolla (2002))
� Operação do Sistema de Rastreamento
Rastreamento 3D baseado emCaracterísticas naturais – Métodosbaseados em Arestas
Tornando o RAPiD Robusto� Principal desvantagem do RAPiD: falta de robustez� As fracas heurísticas de contornos não são suficientes para
impedir que a deteção incorreta das bordas afetem a computação da posição.
� Na prática, esses erros são frequentes.
� Eles surgem a partir de oclusões, sombras, a textura do próprio objeto, ou desordem do fundo.
� Vários métodos têm sido propostos para fazer o cálculo do RAPiD mais robusto.
� Drummond e Cipolla (2002) utilizam um estimador robusto e substituem a estimação de mínimos quadrados por uma de minímos quadrados ponderados interativos.
Rastreamento 3D baseado emCaracterísticas naturais – Métodosbaseados em Arestas
Considerações - OpenCV◦ A biblioteca OpenCV possui as seguintes funções para a detecção de arestas:� Operador de Sobel� Operador de Canny� Operador Laplaciano
Rastreamento 3D baseado emCaracterísticas naturais – Métodosbaseados em Arestas
Considerações - OpenCV◦ Operador de Sobel◦ O operador de Sobel realiza uma medida do
gradiente espacial 2D de uma imagem e enfatiza regiões de alto gradiente espacial que correspondem a arestas.
Imagem em tons de cinza (esquerda), imagem do gradiente x de Sobel (centro) e imagem do gradiente y de Sobel (direita).
Na biblioteca OpenCV, o operador de Sobel é implementado através da função cvSobel
Rastreamento 3D baseado emCaracterísticas naturais – Métodosbaseados em Arestas
Considerações - OpenCV◦ Operador de Canny◦ O operador de Canny usa como entrada uma
imagem em tons de cinza e produz como saída uma imagem mostrando as posições das descontinuidades de intensidade rastreadas.
Imagem crua (esquerda), imagem resultante (direita).
O operador de Canny é implementado no OpenCV através da função cvCanny
Rastreamento 3D baseado emCaracterísticas naturais – Métodosbaseados em Arestas
Considerações - OpenCV◦ Operador Laplaciano
� O operador laplaciano similar aos filtros gradientes, estes também baseiam-se na aplicação de derivadas às imagens para realçar cantos e arestas de objetos. Porém estes filtros aplicam asegunda derivada sobre as imagens, ao invés da primeira.
Imagem original (esquerda), imagem resultante (direita).
O operador Laplaciano é implementado no OpenCV através da função cvLaplace
Rastreamento 3D baseado emCaracterísticas naturais – Métodosbaseados em Arestas
Realidade Aumentada 15/10/2013
Prof. Sementille 12
Exemplo (vídeo 1)
Rastreamento 3D baseado emCaracterísticas naturais – Métodosbaseados em Arestas
Real-Time Markerless 3D Tracking(360p_H.264-AAC).wmv - Atalho.lnk
Exemplo (vídeo 2)
Rastreamento 3D baseado emCaracterísticas naturais – Métodosbaseados em Arestas
HandyAR (Markerless Augmented Reality from UCSB)(360p_H.264-AAC).wmv - Atalho.lnk
� Se o objeto for suficientemente texturizado, informação pode ser derivada do:◦ Fluxo Óptico (Basu, Essa & Pentland, 1996; DeCarlo
& Metaxas, 2000; Li, Roivainen & Forchheimer, 1993)
◦ Casamento de Modelo (Cascia, Sclaroff & Athitsos, 2000; Hager & Belhumeur, 1998; Jurie & Dhome, 2001, 2002)
◦ Correspondência de Pontos de Interesse
� Porém o último método é, provavelmente, o mais eficaz para aplicações de RA, porque contam com a correspondência de características locais.
Rastreamento 3D baseado emTexturas
� Dadas tais correspondências, a posição pode ser estimada por estimativa robusta.
� Eles são, portanto, relativamente insensíveis a oclusões parciais ou erros de correspondência.
� A invariância de iluminação também é simples de conseguir.
� E, ao contrário dos métodos baseados em detecção de arestas, não se confundem com a desordem do fundo e exploram mais as informações de imagem, o que tende a torná-los mais confiáveis.
Rastreamento 3D baseado emTexturas
Detecção de Ponto de Interesse
� Uma das abordagens da literatura de visão computacional para extrair certos tipos de características de uma imagem é a detecção de cantos, ou mais genericamente detecção de pontos de interesse.
Rastreamento 3D baseado emTexturas
Detecção de Ponto de Interesse
� Nos métodos de pontos de interesse, ao invés de “casar” todos os pixels em uma imagem, somente alguns pixels são primeiro selecionados com um “operador de interesse” antes da comparação.
Rastreamento 3D baseado emTexturas
Realidade Aumentada 15/10/2013
Prof. Sementille 13
Detecção de Ponto de Interesse
� Normalmente a maioria dos pontos de interesse estão localizados ao redor de cantos.
� Alguns usos da detecção de características incluem detecção de movimento, mosaicos de imagens, colagem de imagens panorâmicas, modelagem 3D e reconhecimento de objetos.
Rastreamento 3D baseado emTexturas Detecção de Ponto de Interesse - Exemplo
Rastreamento 3D baseado em Texturas
Inicialmente, o aramado é casado com o computador (acima, à esquerda), oito pontos são rastreados (acima, à direita) e finalmente a placa no computador é rastreada (abaixo, à esquerda e à direita)
Detecção de Ponto de Interesse (OpenCV)
� Na biblioteca OpenCV, existem três maneiras de detectar pontos de interesse:
(1) diretamente calculando autovetores e autovalores,
(2) através do operador de Harris e (3) usando a função Good Features to Track. � As alternativas (1) e (2) se preocupam em
detectar cantos na imagem, e embora a (3) seja baseada na (2), a classe de características que o algoritmo é capaz de tratar abrange mais elementos do que apenas cantos.
Rastreamento 3D baseado em Texturas
Detecção de Ponto de Interesse (OpenCV) – AutoVetores e AutoValores
� Autovalores e Autovetores, no OpenCV:
cvCornerEigenValsandVects
cvCornerMinEigenVal
Rastreamento 3D baseado em Texturas
Detecção de Ponto de Interesse (OpenCV) – Detector de Cantos de Harris
� Detector de Cantos de Harris, no OpenCV:
cvCornerHarris
Rastreamento 3D baseado em Texturas
Imagens em tons de cinza (esquerda), o resultado da aplicação do detector de cantos de Harris (direita).
Detecção de Ponto de Interesse (OpenCV) – Good Features to Track
� No OpenCV: cvGoodFeaturesToTrack
Rastreamento 3D baseado em Texturas
O primeiro quadro da sequência (esquerda), as características selecionadas de acordo com o critério estabelecido (direita).
Realidade Aumentada 15/10/2013
Prof. Sementille 14
Casamento de Modelos (Template Matching)
� Usa um modelo (template) simples para
examinar a imagem, armazenando os
resultados.
� É uma das formas mais simples de encontrar um objeto em uma imagem.
� O objetivo desta técnica é examinar todos os pixels de uma imagem e encontrar todas as
instâncias de um objeto específico descrito
por um modelo.
Rastreamento 3D baseado em Texturas
Casamento de Modelos (Template Matching)
� A diferença entre uma região da imagem e o modelo de referência é minimizada.
� Em seguida, os parâmetros de uma função que mapeia o modelo na imagem alvo são calculados, de forma que o rastreamento pode ser realizado.
Rastreamento 3D baseado em Texturas
Casamento de Modelos (Template
Matching)
No OpenCV: função cvMatchTemplate
Rastreamento 3D baseado em Texturas
Rastreamento 3D com casamento de modelos – linhas verdes delimitam a imagem do modelo (esquerda) e cena aumentada (direita).
Fluxo óptico
� Fluxo Óptico é a técnica que mede a velocidade dos pixels de uma imagem
comparando os mesmos com o frame
anterior.
� O deslocamento destes pixels ao longo do
tempo pode ser usado para estimar o
movimento da câmera
Rastreamento 3D baseado em Texturas
Fluxo óptico (exemplo)
Rastreamento 3D baseado em Texturas
Fluxo Óptico usado para rastreamento 3D.
Fluxo óptico (no OpenCV)O OpenCV oferece 4 algoritmos que
implementam o fluxo óptico:
� Técnica de Lucas & Kanade: cvCalcOpticalFlowLK
� Técnica de Lucas & Kanade (Piramidal): cvCalcOpticalFlowPyrLK
� Técnica de Horn & Schunck: cvCalcOpticalFlowHS
� Técnica de Casamento de Blocos: cvCalcOpticalFlowBM
Rastreamento 3D baseado em Texturas
Realidade Aumentada 15/10/2013
Prof. Sementille 15
Eliminando a Flutuação
� Na ausência de pontos cujas coordenadas são conhecidas “a priori”, todos os métodos são sujeitos a acumulação de erros, o que resulta na falha do rastreamento.
� Uma solução é introduzir um ou mais keyframes, que são imagens do objeto alvo ou cena.
Rastreamento 3D baseado em Texturas
Eliminando a Flutuação
� Em tempo de execução, as imagens podem ser comparadas com os keyframes para prover uma estimativa de posição que é livre de “flutuação”.
Rastreamento 3D baseado emTexturas
Eliminando a Flutuação
� Isto, porém, é mais difícil do que procurar uma correspondência utilizando frames imediatamente precedentes, uma vez que a diferença de ponto de vista é muito maior
� O algoritmo usado para estabelecer os pontos de correspondência deve ser rápido e relativamente insensível a grandes distorções de perspectiva.
Rastreamento 3D baseado emTexturas
Eliminando a Flutuação - exemplo
Rastreamento 3D baseado emTexturas
� A natureza recursiva das abordagenstradicionais de rastreamento 3D: dependência do frame anterior paraidentificação de características daimagem
� Isto torna o reconhecimento mais fácil� Problemas:
◦ O sistema tem que ser inicializadomanualmente, ou
◦ A câmera deve estar muito perto de uma posição específica
Rastreamento 3D baseado emDetecção
� O sistema é muito frágil◦ Se algo der errado entre dois frames consecutivos (por ex. oclusão ou movimento rápido): o sistema pode se perder e deve ser reinicializado
� Motivo do sucesso do Artoolkit:◦ Supera estas limitações detectando o marcador em cada frame sem limitações quanto ao posicionamento da câmera
Rastreamento 3D baseado emDetecção
Realidade Aumentada 15/10/2013
Prof. Sementille 16
� Conseguir o mesmo objetivo sem alterar o ambiente (colocando marcadores) é o desafio atual.
� Como a aparência do objeto e a pose são altamente correlacionados, estimá-los simultaneamente aumenta o desempenho dos algoritmos de detecção
Rastreamento 3D baseado emDetecção
� Abordagens baseadas em pontos característicos são bem mais robustas às mudanças de escala, ponto de vista e iluminação, bem como, à oclusões parciais.
Rastreamento 3D baseado emDetecção
� Funcionamento básico◦ Durante a fase de treinamento off-line, é
construída uma base de dados de pontos de interesse, sobrepostos ao objeto, cujasposições na superfície do objeto possam ser computadas (normalmente apresentando-se umas poucas imagens do objeto, de forma manual)
◦ Em tempo de execução, estes pontoscaracterísticos são extraídos das imagensindividuais e comparados com a base de dados
◦ A pose do objeto pode ser estimada a partir dacorrespondências encontradas
Rastreamento 3D baseado emDetecção
Exemplos
Rastreamento 3D baseado emDetecção
Correspondência de base ampla� Classificação Estatística
Rastreamento 3D baseado emDetecção Correspondência de base ampla
� Classificação Estatística
Rastreamento 3D baseado emDetecção
Realidade Aumentada 15/10/2013
Prof. Sementille 17
Correspondência de base ampla� Classificação Estatística
Rastreamento 3D baseado emDetecção
Exemplo (video)
Rastreamento 3D baseado emDetecção
Tracking By Detection(360p_H.264-AAC).wmv - Atalho.lnk
� Detecção de Objetos no OpenCV◦ A biblioteca OpenCV fornece a
funcionalidade de detecção de objetos. O processo inicia selecionando algumas centenas de amostras de visões do objeto desejado, em diversos ângulos e sob diversas condições de iluminação.
◦ Este conjunto de imagens é chamado de amostras positivas. Então, outro conjunto de imagens é escolhido, contendo imagens arbitrárias não incluindo o objeto desejado. Este conjunto é chamado de amostras negativas.
Rastreamento 3D baseado emDetecção
� Detecção de Objetos no OpenCV◦ Em seguida, ambos os conjuntos são usados para
treinar uma cascata de classificadores ditos “boosted”. A palavra “cascata” no nome do
classificador significa que o classificador resultante
consiste de diversos classificadores mais simples
que são aplicados subseqüentemente a uma ROI,
até que em alguma etapa o candidato é rejeitado ou
todas as etapas são superadas.
◦ Após o classificador ser treinado, pode ser usado para detectar o objeto em uma ROI. O classificador é projetado de forma a, redimensionando a ROI, detectar objetos de tamanhos diferentes.
Rastreamento 3D baseado emDetecção
� Detecção de Objetos no OpenCV◦ Funções do OpenCV que podem ser usadas na
deteção de objetos:
◦ Função cvLoad : usada para importar o arquivo XML gerado na etapa de treinamento
◦ Função cvHaarDetectObjects: retorna uma sequência de quadrados para cada objeto detectado
Rastreamento 3D baseado emDetecção
� Detecção de Objetos no OpenCV(exemplo de aplicação- detecção de componentes em
uma placa-mãe)
Rastreamento 3D baseado emDetecção
Realidade Aumentada 15/10/2013
Prof. Sementille 18
� Armstrong, M., & Zisserman, A. (1995). Robust object tracking. In Proceedings of the Asian Conference on Computer Vision (pp. 58-62).
� Basu, S., Essa, I., & Pentland, A. (1996). Motion regularization for model-based head tracking. In Proceedings of the International Conference on Pattern Recognition, Vienna, Austria.
� Cascia, M., Sclaroff, S., & Athitsos, V. (2000). Fast, reliable head tracking under varying illumination: An approach based on registration of texture-mapped 3D models. IEEE Transactions on Pattern Analysis and Machine Intelligence, 22(4).
� Cho, Y., Lee, W. J., & Neumann, U. (1998). A multi-ring color iducialsystem and intensity-invariant detection method for scalable iducial-tracking augmented reality.In Proceedings of the International Workshop on Augmented Reality.
� Claus, D., & Fitzgibbon, A. (2004). Reliable iducial detection in natural scenes. European Conference on Computer Vision (Vol. 3024, pp. 469-480). Springer-Verlag.
� Comport, A. I., Marchand, E., & Chaumette, F. (2003). A real-time tracker for markerless augmented reality. In Proceedings of the International Symposium on Mixed and Augmented Reality, Tokyo, Japan.
� DeCarlo, D., & Metaxas, D. (2000). Optical low constraints on deformable models with applications to face tracking. International Journal of Computer Vision, 38, 99-127.
Referências Bibliográficas� Drummond, T., & Cipolla, R. (2002). Real-time visual tracking of complex
structures. IEEE Transactions on Pattern Analysis and Machine Intelligence, 27(7), 932-946.
� Hager, G. D., & Belhumeur, P. N. (1998). Eficient region tracking with parametric models of geometry and illumination. IEEE Transactions on Pattern Analysis and Machine Intelligence, 20(10), 1025-1039.
� Haller, M., Billinghurst, M., Thomas, B. (2007): Emerging Technologies of Augmented Reality: Interfaces and Design Idea Group Publishing, November 2007, 399 p.
� Harris, C. (1992). Tracking with rigid objects. MIT Press.
� Jurie, F., & Dhome, M. (2001). A simple and eficient template matching algorithm. In Proceedings of the International Conference on Computer Vision, Vancouver, Canada.
� Jurie, F., & Dhome, M. (2002). Hyperplane approximation for template matching. IEEE Transactions on Pattern Analysis and Machine Intelligence, 24(7), 996-100.
� Kato, H., & Billinghurst, M. (1999r). Marker tracking and HMD calibration for a video-based augmented reality conferencing system. In Proceedings of the IEEE and ACM International Workshop on Augmented Reality.
� Kato, H., Billinghurst, M., Poupyrev, I., Imamoto, K., & Tachibana, K. (2000). Virtual object manipulation on a table-top AR environment. In Proceedings of the International Symposium on Augmented Reality (pp. 111-119).
Referências Bibliográficas
� Lepetit, V., Lagger, P., & Fua, P. (2005). Randomized trees for real-time keypoint recognition. In Proceedings of the Conference on Computer Vision and Pattern Recognition, San Diego, CA.
� Li, H., Roivainen, P., & Forchheimer, R. (1993). 3D motion estimation in model-based facial image coding. IEEE Transactions on Pattern Analysis and Machine Intelligence, 15(6), 545-555.
� Marchand, E., Bouthemy, P., & Chaumette F. (2001). A 2D-3D model-based approach to real-time visual tracking. Journal of Image and Vision Computing, 19(13), 941-955.
� Pilet, J., Lepetit, V., & Fua, P. (2005a). Augmenting deformable objects in real-time. International Symposium on Mixed and Augmented Reality, Vienna.
� Pilet, J., Lepetit, V., & Fua, P. (2005b). Real-Time non-rigid surface detection. In Proceedings of the Conference on Computer Vision and Pattern Recognition, San Diego, CA.
� Skrypnyk, I., & Lowe, D. G. (2004). Scene modelling, recognition, and tracking with invariant image features. In Proceedings of the International Symposium on Mixed and Augmented Reality, Arlington, VA (pp. 110-119).
� Vacchetti, L., Lepetit, V., & Fua, P. (2004a). Combining edge and texture information for real-time accurate 3D camera tracking. In Proceedings of the International Symposium on Mixed and Augmented Reality, Arlington, VA.
Referências Bibliográficas