Realidade Aumentada sem Marcadores Baseada na Amostragem de Pontos em Arestas

June 3, 2017 | Autor: Judith Kelner | Categoria: Augmented Reality, Levenberg Marquardt
Share Embed


Descrição do Produto

Realidade Aumentada sem Marcadores Baseada na Amostragem de Pontos em Arestas Francisco Paulo Magalhães Simões, João Paulo Silva do Monte Lima, Veronica Teichrieb, Judith Kelner Grupo de Pesquisa em Realidade Virtual e Multimídia, Centro de Informática Universidade Federal de Pernambuco - Recife-PE e-mail: {fpms, jpsml, vt, jk}@cin.ufpe.br

Resumo Técnicas de realidade aumentada sem marcadores dependem da recuperação de informações da câmera virtual a cada quadro de uma seqüência para corretamente associar informações 3D às cenas. Este artigo apresenta uma técnica que, a partir de amostragem de pontos em arestas de um modelo 3D previamente gerado mostra-se capaz de recuperar as informações de câmera. A técnica se baseia no algoritmo Moving Edges para encontrar as correspondências entre os pontos amostrados no objeto virtual e os pontos da imagem real. Foi utilizada também a extração de arestas invisíveis e o minimizador não-linear Levenberg-Marquardt. A técnica apresentada mostrou-se robusta a oclusões parciais, auto-oclusões e mudanças de iluminação. Por ser uma técnica baseada em única hipótese, a mesma não se mostrou estável em movimentações bruscas da câmera e na aproximação de materiais de forte gradiente ao objeto rastreado.

Abstract Markerless augmented reality techniques depend on information recovery from the virtual camera in every frame of a sequence to correctly associate 3D information to scenes. This paper presents a technique that from point sampling on edges from 3D previously created model shows to be able to recover information from the camera. This technique is based on the Moving Edges algorithm to find correspondences between sampled points in the virtual object and points of the actual image. It was also used the extraction of invisible edges and a non-linear estimator called Levenberg-Marquardt. The technique proved to be robust to partial occlusions, self-occlusions and changes in lighting. Because it is a technique based on unique hypotheses, it is not very stable in sudden

movements of the camera and when material of strong gradient comes close to the tracking object.

1. Introdução Aplicações de realidade aumentada sem marcadores (do inglês Markerless Augmented Reality, ou MAR) têm como característica a inserção de elementos virtuais em cenas reais obedecendo a restrições de tempo real [1]. Além disto, estas aplicações não requerem a inserção de elementos artificiais no ambiente, utilizando informações naturalmente presentes nas cenas como linhas [2][3], pontos [4] ou texturas [5][6]. De forma a realizar a correta inserção dos elementos virtuais nas cenas reais os sistemas de realidade aumentada precisam recuperar a cada quadro a posição e orientação da câmera virtual, num processo chamado rastreamento [7]. As técnicas desenvolvidas em MAR podem ser classificadas em dois tipos fundamentais: técnicas baseadas em modelos e técnicas baseadas em estrutura e movimentos (Structure from motion - SfM) [1]. Nas técnicas baseadas em modelos é necessário um conhecimento prévio sobre o mundo real, que é guardado na forma de um modelo 3D utilizado para auxiliar na estimativa da pose da câmera. Nas técnicas SfM, o movimento da câmera ao longo da seqüência de quadros é estimado sem nenhum conhecimento prévio da cena, sendo adquirido durante o rastreamento. Com relação às técnicas baseadas em modelos, o primeiro grupo desenvolvido foi o das técnicas baseadas em arestas devido à sua simplicidade de funcionamento e baixo custo computacional. Apesar disto, a investigação acerca destas técnicas continua sendo um meio efervescente na comunidade de MAR [8][9][10].

Dentro do contexto de técnicas baseadas em arestas existem dois ramos: as técnicas baseadas em amostragem de pontos e as técnicas baseadas na detecção explícita das arestas. Na primeira abordagem, a recuperação dos parâmetros de câmera se dá através da associação entre pontos extraídos das arestas com pontos pertencentes à imagem. Já na segunda a correlação criada se dá entre as arestas completas. Em [11] são discutidos conceitos básicos acerca das técnicas baseadas em arestas, inclusive com a proposta de elaboração de um arcabouço com base em álgebra de Lie e utilização de estimadores robustos. Já em [12] é proposta uma abordagem adaptativa baseada na amostragem de pontos que leva em consideração múltiplas hipóteses durante o processo de casamento dos pontos extraídos das arestas, e posterior estimativa de parâmetros da câmera. Trabalhos como [13] propõem a aplicabilidade de técnicas baseadas em arestas inclusive em dispositivos móveis devido a seu baixo custo computacional. Este trabalho se propõe a discutir a implementação de uma técnica baseada na amostragem de pontos através da utilização do algoritmo Moving Edges [14] para casamento dos pontos. Também foi utilizado o hardware gráfico para realizar a eliminação de arestas invisíveis de forma a reduzir os erros de casamento responsáveis por falhas de rastreamento. Na seqüência, a seção 2 discute a técnica implementada neste trabalho com sub-tópicos relativos a cada parte do pipeline enquanto a seção 3 demonstra os resultados obtidos e a seção 4 discute as conclusões e os trabalhos futuros.

o processo mais rápido e preciso, como pode ser visto na seção 2.2. Conhecidos os pontos do objeto 3D que são visíveis utilizando a projeção a partir da pose do quadro anterior, é então necessário encontrar os casamentos entre os pontos amostrados no objeto 3D e a imagem da cena rastreada. Este passo é feito utilizando apenas uma hipótese através do algoritmo Moving Edges (ver seção 2.3). A última etapa da técnica descrita e aplicada neste trabalho tem por objetivo realizar a estimativa dos parâmetros de câmera através da utilização dos casamentos encontrados pelo Moving Edges. Como pode ser visto mais detalhadamente na seção 2.5, esta estimativa se dá através da minimização da distância entre o ponto 3D projetado com a pose atual e o ponto correspondente na imagem. Esta minimização se dá através da utilização de um estimador não linear chamado Levenberg-Marquardt [16].

2. Descrição da técnica

Realizada desta forma, a amostragem de pontos se mostra uniforme, equilibrando a influência das arestas de acordo com seu tamanho projetado. Desta forma, é considerada a real importância dos pontos projetados na imagem e não apenas do modelo 3D virtual. Uma aresta virtual grande pode ter uma projeção de tamanho pequeno, o que implica em menos pontos amostrados, enquanto uma aresta pequena pode ter um grande comprimento, contribuindo com mais pontos para a técnica (ver Figura 1).

De forma a obter o rastreamento do objeto 3D na cena real, primeiramente faz-se necessário o conhecimento prévio da pose inicial da câmera virtual (ver seção 2.4 para detalhes sobre a pose da câmera). Esta informação pode ser obtida utilizando marcadores [12], manualmente ou através de inicialização automática [15]. Após realizar a estimativa inicial da pose da câmera é feita a amostragem dos pontos das arestas do modelo 3D previamente construído em coordenadas de mundo. Essa amostragem é feita de forma a deixar os pontos igualmente espaçados para melhorar a qualidade do rastreamento (ver seção 2.1). Uma vez concluída a amostragem, é necessário realizar a extração das arestas invisíveis de forma a acelerar o processo de estimativa da pose e reduzir a presença de outliers, que são correspondências inexistentes que prejudicam o algoritmo de estimativa dos parâmetros da câmera. A extração das arestas invisíveis é realizada em hardware gráfico para deixar

2.1. Amostragem de pontos Para realizar a amostragem de forma mais equilibrada, faz-se importante a utilização de um coeficiente de amostragem aplicado na amostragem das arestas projetadas. Este coeficiente é responsável por permitir que a amostragem se dê nas arestas mantendo fixa a quantidade de pontos por unidade de comprimento das arestas projetadas, obedecendo à equação: qntPontos = tamanhoProj * coefDeAmostragem

(1)

2.2. Teste de visibilidade Nas técnicas de amostragem de pontos, a autooclusão, que ocorre quando parte do objeto oclude partes do próprio objeto, representa um aspecto importante na qualidade do rastreamento. Uma vez que pontos amostrados não possuem correspondentes na imagem do quadro rastreado por serem ocludidos, eles se tornam outliers que irão influenciar negativamente a estimativa da pose.

Figura 1. Distância de pontos amostrados nas arestas (x, y) varia de forma a manter a quantidade de pontos proporcional ao tamanho da aresta projetada (tam, TAM) Existem várias formas de minimizar a influência de outliers, como a utilização de técnicas estatísticas como o RANSAC (RANdom SAmple Consensus) ou estimadores robustos como o tukey m-estimator [7]. Porém antes de minimizar a influência dos mesmos, a eliminação de arestas invisíveis se mostra fundamental uma vez que já realiza a eliminação de alguns destes outliers antes mesmo do processo de estimativa iniciar. Como forma de realizar a eliminação dos pontos ocludidos na imagem foi utilizada uma abordagem em hardware gráfico de forma a deixar o processo menos custoso computacionalmente, como proposto em [12].

Figura 2. A aresta 1 é dividida nas arestas 1’ e 2’ devido à auto-oclusão após projeção Para que isto fosse possível foi utilizada a extensão de OpenGL chamada GL_ARB_OCCLUSION_QUERY de forma a realizar o teste de visibilidade de cada

ponto amostrado na aresta. O algoritmo implementado se comporta de acordo com o pipeline a seguir. Primeiramente, se faz necessária a projeção de todo o objeto virtual através do uso da pose anterior, uma vez que a mesma pode ser considerada uma boa estimativa para o quadro atual. Após esta projeção é realizada a projeção de cada ponto individualmente para que as queries sejam avaliadas em hardware gráfico e guardem o estado de visibilidade do ponto. Após esta avaliação de todos os pontos, as arestas são varridas uma a uma e, enquanto os pontos são visíveis, a aresta vai sendo validada. A partir do momento em que algum ponto da aresta não é visível a mesma é considerada concluída e é adicionada à lista de arestas. Uma vez que a oclusão de parte da aresta não implica necessariamente na invisibilidade de todo o resto da aresta, os pontos seguintes ainda são avaliados e caso sejam visíveis, outra aresta é criada de modo semelhante ao ocorrido inicialmente (ver Figura 2). Deste modo, uma única aresta pode dar origem a várias arestas de forma a apenas utilizar os pontos visíveis para a estimativa da pose, minimizando assim o problema de auto-oclusão.

2.3. Casamento entre pontos com Moving Edges Uma vez concluída a fase de eliminação das arestas invisíveis o sistema está apto a iniciar a fase de casamento. Nesta fase os pontos amostrados no objeto virtual 3D são correlacionados com pontos da imagem de forma a obter uma estimativa para sua posição na cena. A correlação entre pontos do objeto virtual e pontos da imagem é realizada a partir do algoritmo Moving Edges. Este algoritmo realiza a busca através do pipeline descrito a seguir. Inicialmente a aresta é projetada na cena utilizando a pose anterior como estimativa e os pontos são amostrados. Após esta projeção o algoritmo Moving Edges realiza uma busca na reta que passa pelo ponto amostrado e é perpendicular à aresta projetada, de forma a encontrar pontos de forte gradiente (ver Figura 3). Como resultado da busca perpendicular por pontos de forte gradiente, o algoritmo determina o ponto de gradiente alto mais próximo da projeção da aresta como o casamento do ponto virtual a ser utilizado na fase de estimativa da pose.

(3) A matriz de projeção é definida a partir do produto entre os parâmetros intrínsecos e extrínsecos da câmera.

2.5. Estimativa da pose

Figura 3. A aresta vermelha é projetada e os pontos na cor azul são amostrados. Através do Moving Edges os pontos laranja são definidos como correspondentes

2.4. Parametrização da pose A pose da câmera virtual é definida em termos dos parâmetros intrínsecos e extrínsecos da mesma. Enquanto os parâmetros intrínsecos dizem respeito a informações inerentes à câmera como distância focal e tamanho do pixel, os parâmetros extrínsecos definem o movimento da câmera ao longo da seqüência. Para a técnica descrita neste artigo, foram considerados arranjos em que os parâmetros intrínsecos da câmera são fixos e conhecidos, deixando como problema a ser resolvido a estimativa dos parâmetros extrínsecos a cada quadro. A matriz de parâmetros intrínsecos é dada por: (2) Onde a matriz de calibração da câmera é escrita em função da distância focal ( ), do ponto principal ( , ) e do skew da câmera . Já os parâmetros extrínsecos da câmera podem ser definidos como a composição onde representa a matriz de rotação e representa a matriz de translação . De modo a reduzir o número de variáveis a serem minimizadas (inicialmente doze, sendo nove da rotação e três da translação) foi utilizada na minimização a representação da rotação pela fórmula de Rodrigues [7], em que a mesma é representada por um vetor que define o eixo de rotação e seu módulo representa o ângulo de rotação. Esta abordagem reduz o número de variáveis de doze para seis sem, no entanto, reduzir a precisão ou qualidade da rotação. Além da representação de Rodrigues ser coerente, sua inversa também é necessária, pois para a geração da matriz de projeção é preciso conhecer a rotação na forma de matriz :

Através da utilização dos casamentos encontrados através do Moving Edges torna-se possível realizar a estimativa da pose da câmera. Esta estimativa se dá através da utilização da técnica de minimização não-linear LevenbergMarquardt utilizando como critério para a minimização o erro associado à distância euclidiana entre a projeção do ponto virtual e o ponto correspondente ao mesmo. Por tratar-se de uma técnica recursiva, o LevenbergMarquardt necessita de uma boa estimativa inicial para ser realizado. Ao longo da seqüência, a cada quadro é utilizada a pose do quadro anterior como estimativa inicial para a pose do quadro rastreado. Como pode ser visto na equação seguinte, o erro de reprojeção minimizado a cada quadro é dado por: (4) Onde 3D e

P é a matriz de projeção, é o ponto virtual é o ponto correspondente na imagem.

3. Resultados Para avaliação da técnica descrita neste trabalho foi realizado o rastreamento de um cubo movimentado sobre uma mesa plana através da utilização das mãos, com uma taxa de aproximadamente 30 quadros por segundo (ver Figura 4). Na medida que o cubo é rastreado um cubo em wireframe (arestas em cor laranja) é renderizado sobre o cubo real.

Figura 4. Cubo rastreado sobre uma mesa atingindo taxa de 30 quadros por segundo Apesar de mostrar-se com uma boa taxa de quadros por segundo, a técnica sofreu um pouco com movimentos bruscos do objeto devido à sua

característica de recursividade. Uma vez que a estimativa da próxima pose depende da anterior, quando há um movimento brusco e a pose atual se afasta muito da anterior o registro do objeto 3D com sua projeção obtinha resultados ruins, como pode ser visto na Figura 5. Figura 7. Confusão do Moving Edges devido ao alto gradiente proporcionado pela proximidade dos dedos com o cubo Figura 5. Seqüência de rastreamento do cubo denotando a falha de registro após movimento brusco do mesmo Além disto, mesmo não utilizando estimadores robustos, a técnica se mostrou robusta a oclusões parciais resultantes da manipulação do objeto. A Figura 6 ilustra a corretude do rastreamento quando da oclusão de uma aresta do cubo.

Através da utilização de várias hipóteses problemas como estes são minimizados uma vez que a estimativa se utiliza da ponderação de várias hipóteses para realizar o rastreamento ao invés de utilizar-se apenas do maior gradiente mais próximo. Outro problema a ser endereçado é o processo de inicialização que atualmente é feito de forma manual, posicionando a câmera numa pose inicial conhecida, impedindo com isso sua utilização em situações não usuais. Alguns trabalhos na literatura já apontam nesta direção de inicialização automática, como em [15].

5. Agradecimentos Os autores gostariam de agradecer a todos que de alguma forma contribuíram para este trabalho, sobretudo ao PIBIC/UFPE/CNPq, FINEP e CENPES Petrobras (processo 3662/2006) pelo financiamento da pesquisa.

6. Referências Figura 6. Cubo sendo rastreado mesmo com a existência de oclusão parcial

4. Conclusões e trabalhos futuros A técnica de rastreamento foi implementada com êxito e mostrou tanto uma boa taxa de quadros por segundo como robustez a oclusões parciais. Porém, apesar destes resultados a técnica ainda se mostra instável, uma vez que utiliza apenas uma hipótese para o casamento dos pontos das arestas. Como proposto em [12], a utilização de uma abordagem adaptativa através de múltiplas hipóteses deverá permitir um rastreamento mais estável e robusto. A Figura 7 ilustra o problema da utilização de uma única hipótese. Devido a esta utilização, o alto gradiente proporcionado pelos dedos do usuário faz com que alguns casamentos sejam realizados entre o objeto e os dedos, ocasionando a presença de falsas correspondências.

[1] V. Teichrieb et al., “A Survey of Online Monocular Markerless Augmented Reality”, International Journal of Modeling and Simulation for the Petroleum Industry, 2007, vol. 1, no. 1, pp. 1–7. [2] E. Marchand et al., “Robust real-time visual tracking using a 2D-3D model-based approach”, The Proceedings of the Seventh IEEE International Conference on Computer Vision, 1999, pp 262-268. [3] G. Simon and M. Berger, “A two-stage robust statistical method for temporal registration from features of various type”, Sixth International Conference on Computer Vision (ICCV'98), 1998, pp. 261-269. [4] M. Armstrong and A. Zisserman, “Robust object tracking”, Proceedings Asian Conference on Computer Vision, 1995, pp 58-61 [5] L. Vacchetti, V. Lepetit and P. Fua, “Stable Real-Time 3D Tracking Using Online and Offline Information”, IEEE Transactions on Pattern Analysis and Machine Intelligence, 2004, vol. 26 no. 10, pp. 1385-1391.

[6] A. Comport et al., “Real-time markerless tracking for augmented reality: the virtual visual servoing framework”, IEEE TVCG, 2006, vol. 12, pp. 615-628. [7] V. Lepetit and P. Fua, “Monocular Model-Based 3D Tracking of Rigid Objects: a Survey”, Foundations and Trends in Computer Graphics and Vision, 2004, vol. 1, no. 1, pp. 1-89. [8] P. Mitchell et al., “GPU Accelerated Real-Time 3D Tracking for Humanoid Locomotion and Stair Climbing”, Proceedings of the 2007 IEEE/RSJ International Conference on Intelligent Robots and Systems, 2007, pp. 463-469. [9] L. Vachetti, V. Lepetit and P.Fua, “Combining Edge and Texture Information for Real-Time Accurate 3D Camera Tracking”, Proceedings of the Third IEEE/ACM International Symposium on Mixed and Augmented Reality, 2004, pp. 48-57. [10] J. Barandiarán and D. Borro, “Edge-Based Markerless 3D Tracking of Rigid Objects”, 17th International Conference on Artificial Reality and Telexistence, 2007. [11] T. Drummond and R. Cipolla, “Real-Time Visual Tracking of Complex Structures”, IEEE Transactions on Patterns Analisys and Machine Intelligence, 2002, Vol. 24, No. 27, pp. 932-926. [12] H. Wuest, F. Vial and D. Stricker, “Adaptive Line Tracking with Multiple Hypotheses for Augmented Reality”, Proceedings of the Fourth IEEE and ACM International Symposium on Mixed and Augmented Reality (ISMAR2005), 2005, pp. 62-69. [13] G. Reitmayr and T. W. Drummond, “Going out: Robust Model-based Tracking for Outdoor Augmented Reality”, Fifth IEEE and ACM International Symposium on Mixed and Augmented Reality (ISMAR'06), 2006, pp.109118. [14] P. Bouthemy, “A maximum likelihood framework for determining moving edges”. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1989, vol. 11, no. 5, pp 499-511. [15] G. Blasko and P. Fua, “Real-Time 3D Object Recognition for Automatic Tracker Initialization”, International Symposium on Augmented Reality, Nova York, NY, 2001. [16] K. Levenberg, “A Method for the Solution of Certain Non-linear Problems in Least Squares”, Quarterly of Applied Mathematics, 1944, vol. 2, no. 2, pp. 164-168.

Lihat lebih banyak...

Comentários

Copyright © 2017 DADOSPDF Inc.