• Nenhum resultado encontrado

Detecção de Marcadores para Realidade Aumentada em FPGA

N/A
N/A
Protected

Academic year: 2021

Share "Detecção de Marcadores para Realidade Aumentada em FPGA"

Copied!
6
0
0

Texto

(1)

Detecc¸˜ao de Marcadores para Realidade Aumentada em FPGA

Bernardo F. Reis, Jo˜ao Marcelo X. N. Teixeira, Veronica Teichrieb and Judith Kelner Grupo de Pesquisa em Realidade Virtual e Multim´ıdia

Centro de Inform´atica, Universidade Federal de Pernambuco Recife, Pernambuco, Brasil

Email:{bfrs, jmxnt, vt, jk}@cin.ufpe.br

Resumo—O uso de FPGAs no desenvolvimento de sistemas de Realidade Aumentada apresenta-se oportuno ao suprir a demanda por poder de processamento e mobilidade que estas aplicac¸˜oes possuem. Para registrar o mundo real e o virtual, algumas dessas aplicac¸˜oes utilizam marcadores fiduciais. Tais marcadores s˜ao identificados e suas posic¸˜oes obtidas pelo sistema, a fim de compor corretamente a mistura entre os dois mundos. Este trabalho apresenta um m´odulo implementado em FPGA para detecc¸˜ao de marcadores ID-based como parte de um framework embarcado de desenvolvimento de aplicac¸˜oes de Realidade Aumentada. Os resultados comprovaram que o tempo de execuc¸˜ao do m´odulo implementado ´e mais do que duas vezes menor do que a abordagem em software, para uma imagem de 320x240 pixels.

Palavras-chave-realidade aumentada; sistemas embarcados; reconhecimento de padr˜oes;

I. INTRODUC¸ ˜AO

Aplicac¸˜oes de Realidade Aumentada (RA) requerem bas-tante poder de processamento, tanto para renderizar os obje-tos virtuais na cena, quanto para registrar1 o mundo virtual

com o mundo real [1]. Este requisito se alia `a necessidade de mobilidade do sistema, a qual aumenta a sensac¸˜ao de imers˜ao do usu´ario final. Uma soluc¸˜ao para combinar estas duas caracter´ısticas ´e o uso de dispositivos embarcados no desenvolvimento de sistemas de RA. O desenvolvimento do ARCam [2] [3], um framework embarcado para desen-volvimento de aplicac¸˜oes de RA, justifica-se devido ao fato dos FPGAs (Field Programmable Gate Arrays) mostrarem-se bastante eficazes e conmostrarem-seguirem satisfazer os requisitos listados anteriormente.

Este framework foi concebido para prover a progra-madores e projetistas todas as funcionalidades essenciais ao desenvolvimento de aplicac¸˜oes de RA com marcadores. Uma dessas funcionalidades ´e a detecc¸˜ao de marcadores, foco deste trabalho.

Sistemas de RA com marcadores utilizam marcadores fiduciais para identificar a posic¸˜ao onde os objetos virtuais ser˜ao renderizados. Estes marcadores contˆem um padr˜ao de imagem que deve ser identificado unicamente no am-biente [4]. O sistema de marcadores escolhido foi o sistema de marcadores simples utilizado no ARToolkitPlus [5], o

1O conceito de registro diz respeito `a relac¸˜ao espacial 3D entre os objetos

do ambiente real e os objetos virtuais sobrepostos `a cena com o intuito de manter a consistˆencia das informac¸˜oes exibidas ao usu´ario.

qual por ser projetado para dispositivos m´oveis, possui uma detecc¸˜ao pouco custosa computacionalmente para um total de 512 marcadores diferentes.

O processo de detecc¸˜ao deste tipo de marcadores, chamado ID-based, requer a leitura do padr˜ao bin´ario con-tido dentro de suas bordas, o que implica na remoc¸˜ao da distorc¸˜ao de perspectiva presente na imagem [6]. Esta distorc¸˜ao existe caso o plano do marcador n˜ao seja o mesmo plano da tela. Neste caso, ´e preciso encontrar entre os dois planos em quest˜ao um mapeamento, comumente chamado de homografia. Uma abordagem para encontrar a homografia utiliza o mapeamento entre 4 pontos n˜ao colineares em ambos os planos, facilmente obtidos ao se usar os v´ertices do marcador encontrado na imagem. Uma vez tendo sido removida a distorc¸˜ao de perspectiva, o padr˜ao pode ent˜ao ser lido e identificado corretamente por um algoritmo espec´ıfico. Este trabalho foca no desenvolvimento e validac¸˜ao de um m´odulo em hardware para detecc¸˜ao de marcadores ID-based, o qual ´e respons´avel por realizar todas as etapas de processamento descritas anteriormente.

II. TRABALHOS RELACIONADOS

N˜ao ´e conhecida nenhuma implementac¸˜ao de um sistema flex´ıvel de RA feita puramente em hardware. Contudo, existem algumas aplicac¸˜oes desenvolvidas em FPGA que utilizam princ´ıpios de RA, sem utilizar marcadores fiduciais, como [7], [8] e [9].

Piekarski et al. [7] prop˜oem uma aplicac¸˜ao de RA de baixo consumo usando FPGAs e tendo bolas coloridas como marcadores. A imagem do mundo real ´e obtida e processada usando um FPGA. As coordenadas dos marcadores s˜ao calculadas e enviadas para um computador que renderiza a imagem virtual. As imagens virtual e real s˜ao combinadas e a sa´ıda ´e mostrada em um HMD (Head Mounted Display). Toledo et al. [8] implementam uma aplicac¸˜ao de RA para pessoas com deficiˆencia visual em FPGA. Nenhum marcador ´e utilizado, uma vez que o sistema s´o precisa sobrepor informac¸˜oes de contorno da imagem do mundo real. As informac¸˜oes de contorno s˜ao extra´ıdas da imagem usando redes neurais.

Luk et al. [9] apresentam um framework para RA baseado em uma combinac¸˜ao de hardware e software, para fazer composic¸˜ao de v´ıdeo, extrac¸˜ao de imagens e rastreamento

(2)

de objetos. O hardware utilizado ´e um FPGA que atua como um sistema reconfigur´avel, podendo ter diferentes funcionalidades em tempo de execuc¸˜ao, mesmo que n˜ao haja espac¸o no FPGA para todos os m´odulos ao mesmo tempo.

III. Framework ARCAM

Este trabalho faz parte de um framework embarcado de desenvolvimento de aplicac¸˜oes de RA em FPGA, chamado ARCam, cujo objetivo ´e prover um plataforma completa que facilite a construc¸˜ao de soluc¸˜oes de RA na forma de hard-ware dedicado, diferindo da abordagem h´ıbrida hardware-softwareconvencional.

O ARCam incorpora um FPGA com aproximadamente sessenta mil elementos l´ogicos (LEs), um sensor de imagem e um display VGA. O FPGA ´e conectado ao sensor e realiza todo o processamento de imagem, isto ´e, implementa os algoritmos de vis˜ao computacional necess´arios para realizar RA e apresentar o v´ıdeo resultante no display.

Figura 1. Diagrama de blocos do framework ARCam.

A arquitetura do ARCam ´e apresentada na Figura 1. O bloco Video-IN converte a entrada de v´ıdeo anal´ogica para o formato digital RGB. O sensor de imagem opera a 30 fps (frames per second). A unidade de processamento ´e um FPGA Stratix II da Altera. O bloco Video-OUT converte do formato digital RGB para uma sa´ıda de v´ıdeo anal´ogica para monitores VGA. A interface VGA ´e um conversor de v´ıdeo D/A triplo 3 × 8 bits operando a 180 megapixels por segundo.

A infraestrutura b´asica da arquitetura do ARCam ´e repre-sentada pelos seguintes componentes, cujo uso ´e necess´ario para toda aplicac¸˜ao de RA desenvolvida:

• Controle I2C do sensor de imagem: este bloco utiliza o protocolo I2C para controlar as func¸˜oes necess´arias da cˆamera, incluindo controle de exposic¸˜ao, balanc¸o de branco, matriz de cor, saturac¸˜ao de cor, controle de ganho, entre outros.

• Interface de decodificac¸˜ao de v´ıdeo: recebe os sinais do sensor de imagem e controla o armazenamento das imagens adquiridas na mem´oria de cor. A sa´ıda do sensor de imagem ´e basicamente composta de trˆes sinais el´etricos: sincronismo vertical, horizontal e de pixel. Eles informam respectivamente quando um frame acaba, quando uma linha acaba e quando um pixel est´a dispon´ıvel no barramento.

• Mem´oria de cor: armazena uma imagem 320 × 240 do

mundo real no formato RGB.

• Mem´orias intermedi´arias: armazenam imagens tem-por´arias do processamento de algoritmos de RA. O n´umero de mem´orias intermedi´arias e seus tamanhos dependem do algoritmo utilizado.

• Mem´oria de RA: armazena a imagem resultante do processamento dos algoritmos de RA.

• Pipelinede RA: implementa os procedimentos de RA. Este m´odulo corresponde `a aplicac¸˜ao do usu´ario e ´e desenvolvido dependendo da funcionalidade desejada.

• Seletor real/virtual: baseado na mem´oria de RA, este m´odulo funciona como um multiplexador e decide qual valor vai ser enviado para o bloco Video-OUT.

• Interface de codificac¸˜ao de v´ıdeo: envia sinais digitais

RGB e sinais de controle VGA para o bloco Video-OUT. A sa´ıda do sistema ´e VGA, para que a placa possa ser conectada tanto em um HMD, quanto em um monitor de v´ıdeo convencional.

A plataforma ARCam oferece um modelo de design baseado em uma biblioteca de componentes que permite aos desenvolvedores acessar cada componente para executar uma funcionalidade espec´ıfica. Estes componentes podem ent˜ao ser combinados para compor uma aplicac¸˜ao de RA com o comportamento desejado.

Diversos componentes de processamento de imagem foram implementados para compor a infraestrutura do ARCam, tais como: binarizac¸˜ao, escala de cinza, label-ing, filtro de m´edia, detecc¸˜ao de contorno, convoluc¸˜ao gen´erica, estimativa de centr´oide, detecc¸˜ao de quadrados e renderizac¸˜ao de objetos 3D em wireframe, al´em do m´odulo implementado neste trabalho.

IV. METODOLOGIA DE DETECC¸ ˜AO DE MARCADORES

A criac¸˜ao de um cen´ario de RA requer que uma s´erie de passos seja realizada, desde a captura da imagem pela cˆamera at´e a apresentac¸˜ao do resultado final no display. Estes passos formam o pipeline de RA, mostrado na Figura 2.

Este trabalho tem como objetivo completar o pipeline de RA implementado no framework ARCam, no que diz respeito `a fase de identificac¸˜ao de marcadores.

A. Realidade aumentada com marcadores

Um dos pontos cruciais para se trabalhar com RA com marcadores envolve a identificac¸˜ao dos padr˜oes embutidos nos marcadores utilizados. Para identific´a-los, ´e necess´ario

(3)

Figura 2. Pipelinede RA.

aplicar uma s´erie de procedimentos na imagem de entrada capturada pela cˆamera.

O primeiro procedimento aplicado ´e a binarizac¸˜ao da imagem, que corresponde `a transformac¸˜ao da imagem co-lorida em uma imagem em preto e branco, suficiente para a detecc¸˜ao dos marcadores escolhidos. Esse procedimento diminui a quantidade de mem´oria necess´aria no armazena-mento da imagem a ser analisada. Na fase de binarizac¸˜ao da imagem aplica-se um limiar no valor da intensidade de cada pixel: caso a intensidade do pixel ultrapasse o limiar, ent˜ao o pixel ´e considerado branco; caso contr´ario, o pixel ´e considerado preto.

Ap´os transformar a imagem em preto e branco, ´e necess´ario identificar as bordas contidas na imagem, que podem ser definidas quando a intensidade dos pixels de uma regi˜ao varia bruscamente. Na identificac¸˜ao das bordas ´e aplicado o m´etodo Zero Crossing de segunda derivada, implementado utilizando uma m´ascara de convoluc¸˜ao dis-creta [2]. Tendo obtido todas as bordas, ´e poss´ıvel ve-rificar a existˆencia de retˆangulos na imagem, analisando quais delas formam contornos fechados e executando uma classificac¸˜ao poligonal em cada contorno encontrado [10]. Esta classificac¸˜ao poligonal ´e realizada atrav´es da an´alise dos ˆangulos entre os v´ertices do contorno.

Como resultado da verificac¸˜ao da existˆencia de retˆangulos, obt´em-se os v´ertices dos retˆangulos encontrados. Estes retˆangulos, contudo, n˜ao pertencem necessariamente ao plano da tela. Logo, a leitura do padr˜ao do marcador n˜ao pode ser feita somente com a imagem do jeito que foi capturada. ´E preciso transformar a imagem para que o marcador esteja no plano da tela. Neste momento, aplica-se a correc¸˜ao da distorc¸˜ao de perspectiva.

B. Correc¸˜ao da distorc¸˜ao de perspectiva

O retˆangulo encontrado na imagem de entrada ´e na verdade um quadrado com uma distorc¸˜ao de perspectiva, que aparece quando o plano da tela n˜ao ´e paralelo ao plano do marcador, como mostrado na Figura 3.

Figura 3. Correc¸˜ao da distorc¸˜ao de perspectiva.

A distorc¸˜ao de perspectiva pode ser modelada de acordo com a transformac¸˜ao projetiva apresentada na equac¸˜ao 1, onde p e p0 s˜ao vetores representando pontos em 3 di-mens˜oes no plano da tela e H ´e uma matriz homogˆenea n˜ao-singular.

p0= Hp (1)

Descobrindo a matriz H, ´e poss´ıvel levar o retˆangulo no plano do marcador a um quadrado de referˆencia no plano da tela, e dessa forma, efetuar a leitura correta do padr˜ao. Uma das maneiras de descobrir a matriz H ´e encontrar a correspondˆencia entre 4 pontos nos 2 planos, o que ´e bastante simples, j´a que os v´ertices do retˆangulo foram descobertos previamente na classificac¸˜ao poligonal. Com a correspondˆencia desses 4 pontos, ´e poss´ıvel extrair 8 equac¸˜oes, conforme descrito no par de equac¸˜oes 2. Nas equac¸˜oes a seguir, os elementos da matriz H s˜ao expres-sos na forma hij. (x0, y0) representam as coordenadas na

(4)

tela.

x0(h31x + h32y + h33) = h11x + h12y + h13

y0(h31x + h32y + h33) = h21x + h22y + h23 (2)

Assumindo que h33= 1 e com as 8 equac¸˜oes obtidas a partir

de 2, ´e poss´ıvel montar o seguinte sistema linear apresentado na equac¸˜ao 3:              x0 y0 1 0 0 0 −x0x00 −y0x00 x1 y1 1 0 0 0 −x1x01 −y1x01 x2 y2 1 0 0 0 −x2x02 −y2x02 x3 y3 1 0 0 0 −x3x03 −y3x03 0 0 0 x0 y0 1 −x0y00 −y0y00 0 0 0 x1 y1 1 −x1y10 −y1y01 0 0 0 x2 y2 1 −x2y20 −y2y02 0 0 0 x3 y3 1 −x3y30 −y3y03              ∗            h11 h12 h13 h21 h22 h23 h31 h32            =              x00 x01 x02 x03 y00 y01 y02 y03              (3)

O que realmente importa na matriz H ´e a relac¸˜ao entre seus elementos, logo este sistema linear ´e suficiente para resolver o problema da correc¸˜ao da distorc¸˜ao de perspectiva em func¸˜ao de um fator de escala. Para simplificar o problema de resoluc¸˜ao do sistema linear da equac¸˜ao 3, escolhe-se os valores das coordenadas do quadrado na tela (x, y), que s˜ao valores fixos, de maneira a eliminar o m´aximo de termos do sistema. A forma mais simples de fazer isso ´e mapear o quadrado de referˆencia conforme a Figura 4.

Figura 4. Coordenadas do quadrado no plano da tela.

Usando estes valores para o quadrado de referˆencia do plano da tela, o sistema linear ´e reduzido a um pequeno conjunto de equac¸˜oes facilmente solucion´avel. Por fim, o fator de escala da matriz H ´e definido, restringindo ||H|| = 1 (a norma de H como sendo unit´aria). Maiores detalhes sobre como a correc¸˜ao da distorc¸˜ao de perspectiva funciona no framework ARCam podem ser encontrados em [6]. C. Detecc¸˜ao de padr˜oes

Na leitura do padr˜ao do marcador, varre-se o quadrado de referˆencia, vertical e horizontalmente, aplicando a matriz de transformac¸˜ao projetiva. Tal procedimento permite recuperar o c´odigo embutido no marcador. Como a imagem de leitura j´a se encontra binarizada, cada ponto j´a recebe seu valor bin´ario correspondente: 0 se preto, 1 se branco.

Apesar da correc¸˜ao da distorc¸˜ao de perspectiva facilitar a leitura correta do marcador, ainda existe um erro associado `a homografia, devido a fatores como a precis˜ao dos c´alculos executados e a precis˜ao da identificac¸˜ao dos v´ertices do

marcador. Uma forma de diminuir esse erro ´e capturando mais de um ponto para cada bit do padr˜ao. O padr˜ao do marcador simples do ARToolkitPlus, apresentado na Figura 5, representa um c´odigo de 36 bits em formato de uma malha 6×6, onde um valor de 9 bits ´e repetido 4 vezes e codificado com uma m´ascara XOR [5].

Figura 5. Exemplos de marcadores do ARToolkitPlus.

Capturando na imagem nove pontos para cada bit, isto ´e, uma malha de 18 × 18 pontos, a precis˜ao da detecc¸˜ao aumenta. O valor final de cada bit ´e definido pela m´edia dos valores dos nove pontos correspondentes. Este procedimento ´e conhecido por subsampling.

Quando o padr˜ao for lido do marcador, ´e ent˜ao poss´ıvel aplicar um algoritmo espec´ıfico para decodificar o c´odigo de 9 bits correspondente a cada marcador. Este algoritmo remove a codificac¸˜ao originada pela aplicac¸˜ao da m´ascara XOR durante a criac¸˜ao do padr˜ao do marcador.

V. IMPLEMENTAC¸ ˜AO

Neste trabalho foi implementado um m´odulo de detecc¸˜ao de marcadores para o framework ARCam em um FPGA Stratix II EP2S60F1020C4 da Altera, utilizando o kit de desenvolvimento para DSP DK-DSP-2S60N do mesmo fa-bricante (ilustrado na Figura 6).

Figura 6. Ambiente de desenvolvimento do ARCam.

Este m´odulo consiste de trˆes subm´odulos: o primeiro subm´odulo calcula a homografia entre os dois quadrados (o do plano da imagem e o de referˆencia, no plano da tela); o segundo acessa os pixels da mem´oria que armazena a ima-gem em preto e branco e realiza o subsampling; o terceiro executa o algoritmo de reconhecimento do c´odigo de 36 bits

(5)

do marcador. Estes m´odulos foram completamente imple-mentados utilizando a linguagem VHDL (Very-High-Speed Integrated Circuits Hardware Description Language) [11].

O primeiro subm´odulo ´e respons´avel por todo o c´alculo da ´algebra envolvida no processo de descobrir a homografia. Os c´alculos foram realizados com aritm´etica de ponto fixo no formato Q23.24, a fim de acelerar a execuc¸˜ao do subm´odulo, sob pena de uma pequena perda de precis˜ao que pouco influi na fidelidade dos resultados obtidos. Os c´alculos foram implementados utilizando as func¸˜oes MegaCore daR

Altera [12] de multiplicac¸˜ao, divis˜ao e raiz quadrada, sendo quatro multiplicadores funcionando em paralelo.

O segundo subm´odulo aplica a matriz de homografia encontrada aos pontos do quadrado de referˆencia e armazena o valor dos pixels da imagem na mem´oria. O quadrado de referˆencia possui uma resoluc¸˜ao de 18 × 18 pixels, con-forme informado na sec¸˜ao 3.3, com o objetivo de aumentar a precis˜ao da detecc¸˜ao. Em seguida, o procedimento de subsampling ´e executado. Na aplicac¸˜ao da homografia s˜ao utilizados dois multiplicadores de 32 bits em paralelo e um divisor de mesma precis˜ao. Estes m´odulos aritm´eticos est˜ao no formato Q15.16. A mem´oria utilizada para armazenar a imagem em preto e branco foi implementada utilizando blocos de mem´oria M4K dispon´ıveis no FPGA.

O terceiro subm´odulo executa o algoritmo que detecta o c´odigo de 9 bits codificado no padr˜ao de 36 bits do marcador. O algoritmo verifica o padr˜ao para as quatro rotac¸˜oes poss´ıveis (0o, 90o, 180oe 270o) e retorna o c´odigo

se alguma das rotac¸˜oes apresentar n´ıvel de precis˜ao acima de um limiar. Apesar da biblioteca ARToolKitPlus usar um limiar de valor igual a 0.5, verificou-se neste trabalho que os resultados apresentaram-se melhores com um limiar de valor igual a 0.7. Este algoritmo ´e essencialmente seq¨uencial, contudo sua execuc¸˜ao leva apenas poucos ciclos de clock.

VI. RESULTADOS

Para apresentar os resultados obtidos com a implementac¸˜ao dos m´odulos de detecc¸˜ao de marcadores em FPGA, foi feita uma comparac¸˜ao entre o tempo de execuc¸˜ao do algoritmo em software e em hardware. Somente um tamanho de imagem foi utilizado, 320 × 240 pixels, por causa de uma limitac¸˜ao do sensor de imagem acoplado ao FPGA utilizado no trabalho, o sensor CMOS OV7620 da Omnivison. A Figura 7 ilustra a detecc¸˜ao de marcadores sendo utilizada no framework ARCam.

A biblioteca de RA ARToolkitPlus [5] foi usada como modelo de referˆencia para execuc¸˜ao em software. O ambi-ente de execuc¸˜ao consistia de uma CPU AMD Athlon 64 X2 Dual-Core de 1.9 GHz e 1 GB de mem´oria DDR2.

Para a implementac¸˜ao em FPGA utilizou-se uma freq¨uˆencia de clock de 25 MHz, devido a restric¸˜oes de freq¨uˆencia de execuc¸˜ao impostas principalmente pelos m´odulos aritm´eticos de divis˜ao. A quantidade de ciclos

Figura 7. Detecc¸˜ao de marcadores sendo executada em FPGA.

de clock necess´arios `a execuc¸˜ao de cada subm´odulo foi calculada e ´e mostrada na Tabela I.

Tabela I

TEMPO DE EXECUC¸ ˜AO DOS SUBMODULOS EM CICLOS DE´ clock. Ciclos de clock

C´alculo da Homografia 112

Subsampling 8535

Detecc¸˜ao do Padr˜ao 235

O subm´odulo que executa o subsampling leva considera-velmente mais tempo do que os outros subm´odulos, pois ele aplica a matriz de homografia em cada ponto do quadrado. Uma vez que esse procedimento foi implementado de forma seq¨uencial, ´e extremamente custoso em comparac¸˜ao `as ou-tras etapas do algoritmo. Ainda ´e poss´ıvel reduzir esse custo, tomando vantagem da caracter´ıstica intr´ınseca de paralelismo da plataforma FPGA.

A comparac¸˜ao dos resultados da execuc¸˜ao total do m´odulo de detecc¸˜ao nas duas plataformas mostrou que a execuc¸˜ao em FPGA ´e mais do que duas vezes mais r´apida do que a execuc¸˜ao em software, como mostra o gr´afico na Figura 8.

Figura 8. Gr´afico comparativo entre implementac¸˜oes em FPGA e software.

VII. CONCLUSOES˜

Um m´odulo de detecc¸˜ao de marcadores ID-based para um framework de RA embarcado foi apresentado e validado comparativamente a uma abordagem em software. Os resul-tados comprovaram que o tempo de execuc¸˜ao do m´odulo

(6)

implementado neste trabalho ´e mais do que duas vezes menor do que a abordagem em software, para uma imagem de mesma dimens˜ao (nos testes foram utilizadas imagens de 320 × 240 pixels).

Este m´odulo completa o framework de RA embarcado ARCam, mostrando que ´e poss´ıvel desenvolver aplicac¸˜oes de RA em dispositivos embarcados, uma plataforma bastante apropriada `as necessidades inerentes de RA de poder de processamento e mobilidade.

Como trabalhos futuros, pretende-se implementar uma interface para mem´oria externa, de forma a possibilitar o processamento de imagens de dimens˜oes maiores, estu-dar a soluc¸˜ao mais eficiente de paralelizar a execuc¸˜ao do subsampling, e analisar a viabilidade de construc¸˜ao de um frameworkde RA sem marcadores, que utiliza caracter´ısticas do pr´oprio ambiente para o rastreamento.

VIII. AGRADECIMENTOS

Os autores gostariam de agradecer ao MCT e ao CNPq, por financiarem esta pesquisa (processo 507194/2004-7).

REFERENCES

[1] M. Haller, M. Billinghurst, and B. Thomas, Emerging tech-nologies of augmented reality : interfaces and design / Michael Haller, Mark Billinghurst, and Bruce Thomas, ed-itors. Idea Group Pub., Hershey PA :, 2007.

[2] G. F. Guimar˜aes, J. P. S. M. Lima, J. M. X. N. Teixeira, G. D. Silva, V. Teichrieb, and J. Kelner, “Fpga infrastructure for the development of augmented reality applications,” in SBCCI ’07: Proceedings of the 20th annual conference on Integrated circuits and systems design. New York, NY, USA: ACM, 2007, pp. 336–341.

[3] J. Lima, G. Guimar˜aes, G. Dias, J. Teixeira, E. Xavier, V. Teichrieb, and J. Kelner, “Arcam: an fpga-based augmented reality framework,” in Proceedings of Symposium on Virtual and Augmented Reality, 2007, pp. 106–115.

[4] R. Azuma, “A survey of augmented reality,” 1995. [Online]. Available: citeseer.ist.psu.edu/azuma95survey.html

[5] D. Wagner and D. Schmalstieg, “Artoolkitplus for pose track-ing on mobile devices,” in CVWW 2007, 2007, pp. 6–8. [6] B. F. Reis, J. M. X. N. Teixeira, V. Teichrieb, and J.

Kel-ner, “Perspective correction implementation for embedded (marker-based) augmented reality,” in Proceedings of Work-shop de Realidade Virtual e Aumentada, 2008.

[7] W. Piekarski, R. Smith, G. Wigley, B. Thomas, and D. Kear-ney, “Mobile hand tracking using fpgas for low powered augmented reality,” in ISWC ’04: Proceedings of the Eighth International Symposium on Wearable Computers. Washing-ton, DC, USA: IEEE Computer Society, 2004, pp. 190–191. [8] E. Toledo, J. Martinez, E. Garrigos, and J. Ferrandez, “Fpga implementation of an augmented reality application for vi-sually impaired people,” in Field Programmable Logic and Applications, 2005. International Conference on, Aug. 2005, pp. 723–724.

[9] L. L. Rice, W. Luk, T. K. Lee, J. R. Rice, N. Shirazi, and P. Y. K. Cheung, “Reconfigurable computing for augmented reality,” in In 7th IEEE Symposium on Field-Programmable Custom Computing Machines, 1999, pp. 136–145.

[10] L. Xu, T. Paila, W. Hansmann, and M. Frank, “Intel open source computer vision library, version 3.1,” in Proc. of the 26th Annual Conference on Local Computer Networks, LCN’01, 2003.

[11] P. J. Ashenden, The Designer’s Guide to VHDL, Volume 3, Third Edition (Systems on Silicon) (Systems on Silicon). San Francisco, CA, USA: Morgan Kaufmann Publishers Inc., 2008.

[12] “Altera megacore R functions,” July 2009. [Online]. Available: http://www.altera.com/literature/lit-ip.jsp

Referências

Documentos relacionados

Para disciplinar o processo de desenvolvimento, a Engenharia de Usabilidade, também conceituada e descrita neste capítulo, descreve os métodos estruturados, a

Contudo, sendo um campo de pesquisa e de atuação muito específico e novo no Brasil, ainda existe uma série de dificuldades para a eleição de parâmetros de conservação

A participação foi observada durante todas as fases do roadmap (Alinhamento, Prova de Conceito, Piloto e Expansão), promovendo a utilização do sistema implementado e a

Para atingir este fim, foram adotados diversos métodos: busca bibliográfica sobre os conceitos envolvidos na relação do desenvolvimento de software com

Objetivo: Garantir estimativas mais realistas e precisas para o projeto, ao considerar nesta estimativa o esforço necessário (em horas ou percentual do projeto) para

Ainda segundo Gil (2002), como a revisão bibliográfica esclarece os pressupostos teóricos que dão fundamentação à pesquisa e às contribuições oferecidas por

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

Ninguém quer essa vida assim não Zambi.. Eu não quero as crianças