UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO SISTEMA VIDA: UMA VISUALIZAÇÃO AUMENTADA DE DADOS BIOMECÂNICOS José Manuel Lopes Braz Pereira (Licenciado) Dissertação para obtenção do Grau de Mestre em Engenharia Electrotécnica e de Computadores Orientador: Doutor João António Madeiras Pereira Co - Orientador: Doutor António Prieto Veloso Presidente: Doutor João Carlos Rogermoser Lourenço Fernandes Vogais: Doutor António Prieto Veloso Doutor Adérito Fernandes Marcos Doutor João António Madeiras Pereira Doutor Carlos Jorge Ferreira Silvestre Março 2004 Agradecimentos AGRADECIMENTOS Manifesto o meu agradecimento a todos os que de uma forma directa ou indirecta contribuíram para a realização deste trabalho, fornecendo meios, apoio científico e condições para a sua concretização. Um destaque particular para os meus orientador, Professor João Madeiras Pereira, e co-orientador Professor António Veloso, não só pelo interesse, apoio e, não raras vezes, paciência demonstrados desde o inicio deste mestrado, mas também pela permanente e continuada disponibilidade. Um agradecimento a todos os que na Faculdade de Motricidade Humana me ajudaram no processo de especificação de requisitos do VIDA e na recolha de dados. Um muito especial agradecimento ao Dr. Orlando Fernandes pela meticulosidade com que me “iniciou” na preparação do ambiente de recolha de dados e pela cooperação no tratamento dos dados recolhidos. Não posso terminar sem agradecer, de forma muito especial, aos meus colegas que, no Departamento de Sistemas de Informática da Escola Superior de Setúbal, me apoiaram das mais diferentes formas e ajudaram a levar a bom termo esta dissertação. Aos Professor Joaquim Filipe e Professor Alves Vieira pela constante insistência e pelo forte apoio, ao José Cordeiro pela excelente visão, ao Anibal Ponte pela luz que iluminou o túnel, ao João Soares pelas “explicações” de matemática, ao Vitor Pedrosa pela preciosa ajuda no desenvolvimento do sistema de informação. A todos o meu “Muito obrigado”. Para o meu Pai i Índice ii Resumo Sistema VIDA: uma Visualização Aumentada de Dados Biomecânicos RESUMO A presente dissertação aborda o problema da projecção de um modelo virtual tridimensional dos músculos de um atleta em movimento, nas sequências de vídeo captadas durante a execução desse movimento. Como solução apresenta-se o recurso a técnicas de reconhecimento de imagem e determinação da matriz de calibração da câmara através da Transformação Linear Directa. A escolha da metodologia para a sobreposição do modelo virtual às sequências de vídeo é fundamentada através de um estudo - e respectiva caracterização de acordo com uma taxonomia proposta - de diferentes metodologias potencialmente aplicáveis à resolução do problema. Como resultados práticos do estudo efectuado, são apresentados três produtos: uma aplicação, o VIDA – Visualizador Interactivo de Dados Aumentados, que constrói um modelo virtual tridimensional do atleta e permite visualizar o seu esforço muscular em dois modos de operação: através da manipulação do modelo virtual ou por projecção da componente muscular do modelo virtual sobre as sequências de vídeo; uma taxonomia para caracterização e classificação de sistemas de Realidade Aumentada e um Sistema de Informação de suporte à utilização dessa taxonomia. Palavras-chave: Computação Gráfica; Reconhecimento de Objectos; calibração de Câmara; Realidade Aumentada Baseada em Vídeo; Engenharia Biomédica; Biomecânica. iii Índice iv Abstract System VIDA: an Augmented Visualization of Biomechanical Data ABSTRACT This present essay concerns the problem of the projection of a virtual three-dimensional model of an athlete muscles in motion, on the video sequences taken during the execution of each movement, presenting as a solution the utilization of image recognition techniques and the determination of the calibration matrix of the camera through the Direct Linear Transformation. The methodology chosen for the superposition of the virtual model to the video sequences is based on a study – and its respective characterization according to a proposed taxonomy – of different methodologies potentially applicable for the resolution of the mentioned problem. As a practical study result, there are three products presented: an application, VIDA – Visualizador Interactivo de Dados Aumentados (Interactive Visualizer of Augmented Data), which builds the three-dimensional virtual model of the athlete and allows the visualization of his muscular effort in two operating modes: through the manipulation of the virtual model or through the projection of the virtual model muscular component on the video sequences; a taxonomy for the characterization and classification of the Augmented Reality Systems and an Information System supporting the utilization of such taxonomy. Key-words: Computer Graphics; Objects Recognition; Camera Calibration, Augmented Reality Based on Video; Biomedical Engineering; Biomechanics. v Índice vi Índice ÍNDICE RESUMO .................................................................................................................................. III ABSTRACT .................................................................................................................................V ÍNDICE ...................................................................................................................................VII LISTA DE FIGURAS................................................................................................................ XI LISTA DE TABELAS ............................................................................................................ XIII GLOSSÁRIO ............................................................................................................................ XV 1 INTRODUÇÃO ................................................................................................................. 1 1.1 Problemática e Objectivos........................................................................................ 1 1.2 Visualização de Dados em Biomecânica..................................................................2 1.2.1 1.2.2 1.3 Soluções Analisadas..................................................................................................4 1.4 Solução Proposta ......................................................................................................7 1.4.1 1.4.2 1.5 2 Enquadramento ................................................................................................. 2 Modelos Para Visualização De Dados Biomecânicos.................................. 3 Introdução .......................................................................................................... 7 Descrição ............................................................................................................ 7 Estrutura da Dissertação ..........................................................................................8 TARCAST: UMA TAXONOMIA DA REALIDADE AUMENTADA ........................... 11 2.1 Introdução .............................................................................................................. 11 2.2 Enquadramento, Definição e Terminologia da RA ............................................... 12 2.2.1 2.2.2 2.2.3 2.2.4 2.3 Um Sistema Típico De Realidade Aumentada ...................................................... 17 2.3.1 2.3.2 2.3.3 2.3.4 2.3.5 2.3.6 2.4 Definição ..........................................................................................................12 Análise da Definição .......................................................................................13 Terminologia ....................................................................................................15 Discussão da Terminologia............................................................................16 Sistemas Janela Sobre O Mundo...................................................................19 Sistemas HMD Video see-through...............................................................20 Sistemas HMD Optical see-through.............................................................22 Sistemas Baseados em Projectores................................................................23 Um Sistema Típico..........................................................................................24 Sistema Típico Expandido .............................................................................25 Considerações Rumo a uma Taxonomia da Realidade Aumentada......................27 2.4.1 Objectivos e Utilidade de uma Taxonomia .................................................27 vii Índice 2.4.2 2.5 TARCAST: Taxonomia Proposta........................................................................... 38 2.5.1 2.5.2 2.5.3 2.5.4 2.6 3 ESTADO DA ARTE NA REALIDADE AUMENTADA ............................................... 51 3.1 Introdução .............................................................................................................. 51 3.2 Caracterização Global............................................................................................. 52 3.3 Sistemas de Captação de Imagem.......................................................................... 54 3.4 Caracterização dos Modelos Virtuais ..................................................................... 55 3.5 Sistemas Misturadores de Imagem ........................................................................ 57 3.6 Sistemas de Apresentação ...................................................................................... 58 3.7 Sistemas de Seguimento......................................................................................... 59 Sistemas de Seguimento do Sistema de Captação de Imagem..................59 Sistemas de Seguimento de Objectos Reais em Movimento.....................60 CONCEPÇÃO DO VIDA: DUAS ARQUITECTURAS REALIZADAS E UMA PROPOSTA...................................................................................................................... 63 4.1 Objectivos Do VIDA .............................................................................................. 63 4.2 Realizações do Sistema VIDA ................................................................................ 64 4.2.1 4.2.2 4.2.3 5 Pressupostos: ....................................................................................................38 Princípios ..........................................................................................................39 Semântica dos Critérios Classificativos.........................................................39 Vantagens..........................................................................................................48 TARCAST: Aplicação de Suporte à Caracterização............................................... 49 3.7.1 3.7.2 4 Taxonomias Relevantes ..................................................................................28 Solução Realizada para Visualização Pós-Exercício ...................................66 Evolução do VIDA para um Sistema de Realidade Aumentada ..............69 Arquitectura Proposta para um Sistema de Realidade Aumentada ..........73 SISTEMA VIDA: PRINCIPAIS BLOCOS FUNCIONAIS ............................................ 75 5.1 Introdução .............................................................................................................. 75 5.2 Problema................................................................................................................. 75 5.3 Reconhecimento de Marcas ................................................................................... 76 5.3.1 5.3.2 5.4 Algoritmo Baseado na Detecção Centróides...............................................77 Resultados da Detecção de Marcas ...............................................................77 Reconstrução Tridimensional ................................................................................ 81 5.4.1 5.4.2 5.4.3 5.4.4 Descrição do Método......................................................................................81 Calibração da Câmara......................................................................................86 Resultados do Cálculo dos Parâmetros DLT ..............................................87 Cálculo das Coordenadas 3D das Marcas no Sistema de Coordenadas do Mundo ...............................................................................................................87 viii Índice 5.4.5 5.5 Construção do Modelo Virtual ...............................................................................90 5.5.1 5.5.2 5.5.3 5.5.4 5.5.5 5.6 Modelização do Manequim............................................................................90 Animação do Manequim ................................................................................91 Animação dos Músculos.................................................................................92 Coloração dos Músculos ................................................................................93 Resultados da Construção do Modelo Virtual ............................................94 Projecção do Modelo Virtual no Plano de Imagem da Câmara.............................94 5.6.1 5.6.2 6 Resultados do Cálculo das Coordenadas 3D das Marcas no Sistema de Coordenadas do Mundo.................................................................................88 Cálculo da Localização da Câmara e Coordenadas do Ponto Principal..94 Resultados do Cálculo da Localização da Câmara e das Coordenadas do Ponto Principal ................................................................................................95 CONCLUSÕES E TRABALHO FUTURO ....................................................................97 6.1 Tarcast – a Taxonomia: ..........................................................................................97 6.1.1 6.1.2 6.2 Tarcast – O Sistema de Informação .......................................................................98 6.2.1 6.2.2 6.3 Conclusões: ......................................................................................................97 Trabalho futuro: ..............................................................................................98 Conclusões .......................................................................................................98 Trabalho futuro ...............................................................................................98 VIDA.......................................................................................................................99 6.3.1 6.3.2 Conclusões: ......................................................................................................99 Trabalho futuro .............................................................................................100 BIBLIOGRAFIA .......................................................................................................................101 APÊNDICE I – TARCAST: SINTAXE....................................................................................115 APÊNDICE II: TARCAST – ARQUITECTURA DO SISTEMA DE INFORMAÇÃO........ 123 Objectivos....................................................................................................................... 123 Especificação de Requisitos........................................................................................... 123 Interface ..........................................................................................................................123 Privilégios de acesso......................................................................................................123 Formas de consulta .......................................................................................................123 Meio de Consulta e Edição ..........................................................................................124 Arquitectura do TARCAST ............................................................................................ 124 Arquitectura da Interface de Utilização do TARCAST ...........................................124 Arquitectura da Base de Dados do TARCAST.........................................................124 Diagrama de Interacções com o Utilizador ...............................................................124 APÊNDICE III: ANÁLISE E ESPECIFICAÇÃO DE REQUISITOS PARA O VIDA – VISUALIZADOR INTERACTIVO DE DADOS ANIMADOS ................................... 129 ix Índice Análise do Problema....................................................................................................... 129 Assunções permitidas..................................................................................................... 133 Em relação ao Movimento .......................................................................................... 133 Em relação ao Ambiente ............................................................................................. 134 Em relação ao Sujeito................................................................................................... 134 Especificação de Requisitos........................................................................................... 134 Especificação Dos Dados De Entrada...................................................................... 134 Requisitos Funcionais................................................................................................... 137 Modelo do Manequim para o Vida ............................................................................ 140 Animação do Manequim.............................................................................................. 141 Coloração do Manequim.............................................................................................. 142 x Lista de Figuras LISTA DE FIGURAS Figura pg. 1.1 Exemplos de formas de apresentação do movimento humano.................................... 5 2.1 Representação simplificada do “continuum de virtualidade” de Milgram................................................................................................................................12 2.2 Sistema janela sobre o mundo..........................................................................................19 2.3 Sistema vídeo see-through ................................................................................................21 2.4 Sistema optical see-through. .............................................................................................22 2.5 Sistema baseado em projectores ......................................................................................23 2.6 Sistema típico de RA..........................................................................................................25 2.7 Sistema típico de RA expandido por forma a permitir interagir com o sistema a nível háptico ...................................................................................................26 4.1 Arquitectura da versão realizada VIDA..........................................................................65 4.2 Arquitectura da versão do sistema VIDA usada no estudo de viabilidade............................................................................................................................71 4.3 Arquitectura proposta para um Sistema de Visualização Aumentada de Dados Biomecânicos....................................................................................................74 5.1 Marcas da estrela de calibração detectadas.....................................................................78 5.2 Quadros inicial e final, captados pela câmara da esquerda...........................................79 5.3 Quadros inicial e final, captados pela câmara da direita ...............................................80 5.4 Mapeamento do objecto O na imagem I’ do plano do filme e em seguida da imagem I’ na Imagem I do plano de projecção..........................................81 5.5 Sistemas de coordenadas do mundo e do plano de imagem .......................................82 5.6 Modelo virtual da perna direita do indivíduo.................................................................88 xi Lista de Figuras 5.7 Localização dos 21 pontos de controlo usados para a construção do modelo virtual do indivíduo..............................................................................................90 5.8 Exemplo das coordenadas envolvidas no cálculo da rotação de cada peça óssea por forma a ajustar-se às juntas ósseas inicial e final .................................92 5.9 Imagem do modelo virtual do indivíduo em movimento com e sem músculos visíveis.................................................................................................................94 5.10 Visualização aumentada do movimento do indivíduo ..................................................96 AII.1 Arquitectura do TARCAST ........................................................................................... 124 AII.2 Arquitectura da Interface web para a base de dados de sistemas de RA classificados ............................................................................................................... 125 AII.3 Diagrama de Entidades Relações da arquitectura da base de dados do TARCAST .................................................................................................................. 126 AII.4 Diagrama de interacções do utilizador com o TARCAST ........................................ 127 AIII.1 Elementos físicos constituintes do sistema em funcionamento no LB/FMH anterior à introdução do VIDA .................................................................. 129 AIII.2 Processo tradicional de recolha de dados cinéticos, seu processamento e forma de visualização ....................................................................... 131 AIII.3 Diagrama de fluxo da interface funcional do VIDA.................................................. 136 AIII.4 Esquema das peças ósseas, juntas ósseas e peças musculares a modelizar pelo VIDA ..................................................................................................... 141 xii Lista de Tabelas LISTA DE TABELAS Tabela 3.1 pg. Resumo das Características globais de uma amostra dos Sistemas de RA caracterizados com o TARCAST ................................................................................53 3.2 Resumo das Características dos Sistemas de Captação de Imagem de uma amostra dos Sistemas de RA caracterizados com o TARCAST ...........................54 3.3 Resumo das Características dos Modelos Virtuais de uma amostra dos Sistemas de RA caracterizados com o TARCAST...........................................................57 3.4 Resumo das Características dos Sistemas Misturadores de Imagem de uma amostra dos Sistemas de RA caracterizados com o TARCAST ...........................58 3.5 Resumo das Características dos Sistemas de Apresentação de uma amostra dos Sistemas de RA caracterizados com o TARCAST ....................................59 5.1 Coordenadas das marcas da estrela de calibração no sistema de coordenadas do mundo e nos sistemas de coordenadas de imagem de cada uma das câmaras. .........................................................................................................78 5.2 Coordenadas, no sistema de coordenadas da imagem da câmara 1, das cinco marcas colocadas nos centros intersegmentares do indivíduo em movimento.............................................................................................................................79 5.3 Coordenadas, no sistema de coordenadas da imagem da câmara 2, das cinco marcas colocadas nos centros intersegmentares do indivíduo em movimento.............................................................................................................................80 5.4 Parâmetros DLT calculados para as câmaras 1 e 2..........................................................87 5.5 Coordenadas 3D no sistema de coordenadas do mundo das marcas que assinalam as juntas intersegmentares..........................................................................88 xiii Lista de Tabelas 5.6 Fórmulas usadas para calcular a localização das peças ósseas e a rotação sofrida pelas juntas onde se fixam as peças ósseas ............................................93 5.7 Parâmetros DLT usados no cálculo das coordenadas da posição e do ponto principal das três câmaras de vídeo.........................................................................96 xiv Glossário GLOSSÁRIO AVI – (Audio Video Interchange format). Formato de intercâmbio de áudio e vídeo. DLT – (Direct Linear Transformation). Transformação Linear Directa. FMH – Faculdade de Motricidade Humana. HMD – (Head Mounted Display). Dispositivo de apresentação fixo na cabeça do utilizador. LB – Laboratório de Biomecânica. RA – Realidade Aumentada. RV – Realidade Virtual. SCI – Sistema de Captação de Imagem. SCoI – Sistema de Coordenadas da Imagem. SCoM – Sistema de Coordenadas do Mundo. SSSCI – Sistema de Seguimento do Sistema de Captação de Imagem. SG – Sistema Gráfico. SMI – Sistema Misturador de Imagem. SA – Sistema de Apresentação. SRMO – Sistema Real de Manipulação de Objectos. SSSRMO – Sistema de Seguimento do Sistema Real de Manipulação de Objectos. SSOR – Sistema de Seguimento de Objectos Reais. Tecnologias de Suporte – Termo usado em [Azuma et Al. 2001] para denominar as tecnologias necessárias para a construção de um sistema de Realidade Aumentada. Exemplos dessas tecnologias incluem os aqui denominados sub-sistemas de apresentação e seguimento. xv Lista de Tabelas xvi Introdução 1 INTRODUÇÃO 1.1 Problemática e Objectivos A Biomecânica tem recorrido na última década, de forma crescente, à animação de modelos tridimensionais do corpo humano como meio de visualização de dados tanto cinéticos como biológicos. Prova disso é o crescente número de aplicações comerciais com elevado grau de sofisticação, tanto no que respeita aos modelos usados como às funcionalidades disponibilizadas [Vaughan et Al., 1992]. Neste enquadramento, o Laboratório de Biomecânica da Faculdade de Motricidade Humana (doravante denominado LB/FMH) da Universidade Técnica de Lisboa mostrou interesse numa aplicação para visualização da actividade muscular de atletas, através de uma solução graficamente intuitiva. Para tal, o LB/FMH facultaria o acesso aos dados cinéticos e biológicos já recolhidos, assim como ao ambiente de recolha de dados existente no laboratório. O principal objectivo do estudo apresentado nesta dissertação é permitir seleccionar uma metodologia que perante: A) O ambiente de recolha de dados existente no Laboratório de Biomecânica e descrito no Apêndice III; B) os dados já recolhidos, nomeadamente: as sequências de vídeo do movimento dos atletas, os dados cinéticos delas extraídos e os dados biológicos correspondentes, e; C) as restrições impostas pelos atletas relativamente aos dispositivos que poderiam envergar. Permita: 1) construir um modelo virtual tridimensional do atleta com o qual o biomecânico possa interagir após a captação de dados, entendendo-se por interacção com o modelo a capacidade de lhe aplicar qualquer das três transformações singulares: rotação, translação e redimensionamento, 1 Introdução 2) sobrepor a componente muscular do modelo virtual do atleta em movimento à correspondente sequência de vídeo e , 3) servir como uma primeira abordagem para uma futura introdução de um ambiente de Realidade Aumentada (RA) no Laboratório de Biomecânica da FMH. Os dois primeiros objectivos conduziram à implementação da versão do VIDA – Visualizador Interactivo de Dados biomecânicos Aumentados, actualmente em funcionamento no Laboratório de Biomecânica da FMH. O terceiro objectivo esteve na origem de uma segunda versão do VIDA, actualmente ainda numa fase experimental, que permitisse testar a viabilidade da introdução de um ambiente de Realidade Aumentada no Laboratório de Biomecânica da FMH. 1.2 Visualização de Dados em Biomecânica 1.2.1 Enquadramento A Biomecânica é definida, genericamente, como sendo a área científica dedicada ao estudo da estática e dinâmica associada aos sistemas biológicos [Bronzino et Al., 2000]. No que diz respeito à presente dissertação interessam-nos apenas os aspectos da Biomecânica relacionados com o estudo da dinâmica associada aos sistemas biológicos, estudo esse passível de duas abordagens: estudo da dinâmica directa ou síntese de movimento e estudo da dinâmica inversa ou análise de movimento. No primeiro caso, trata-se de um problema de síntese de movimento a partir de condições iniciais dadas e de um modelo do corpo humano. De acordo com [Winter et Al., 1990], como dados de entrada consideram-se os momentos musculares em cada junta óssea1 e as condições iniciais respeitantes às posição e velocidade de cada junta. Para, com estes dados, sintetizar o movimento, considera-se que durante a propagação de forças a partir de uma só junta, um determinado momento da junta actua nos dois segmentos adjacentes, e estes, por sua vez, 1 Por junta entenda-se, simplificadamente: articulação intersegmentar como são o pulso, o cotovelo, o ombro, a anca, o joelho, o tornozelo. 2 Introdução criam as forças de reacção nos segmentos mais afastados da causa original2. O modelo do corpo humano deve, por sua vez, obedecer a seis condições listadas em [Winter et Al., 1990]. No caso do estudo da dinâmica inversa, o objectivo é calcular as forças de reacção nas juntas e os momentos musculares a partir de uma descrição precisa da cinética e das medidas antropométricas. Para tal, observa-se o movimento real de um executante, armazenam-se os dados biológicos resultantes do exercício desenvolvido - basicamente os sinais sobre a condutância dos músculos obtidos através de sensores colocados na pele sobre os músculos pertinentes para a análise -, assim como os dados cinéticos - basicamente as posições 2D ou 3D dos pontos relevantes do corpo do atleta - e calculam-se as forças desenvolvidas pelos tecidos fisiológicos do executante [Winter et Al., 1990]. O estudo da dinâmica inversa é uma poderosa ferramenta para a obtenção de conhecimento sobre a soma de toda a actividade muscular em cada junta. Tal informação é, por sua vez, extremamente útil para treinadores, cirurgiões, terapeutas do movimento e biomecânicos nas suas tarefas de análise e diagnóstico. Se bem que, de acordo com [Vaughan et Al., 1992], as aplicações comerciais existentes para visualização e análise da dinâmica do movimento humano, tendam a integrar módulos que permitem estudar tanto a dinâmica inversa como a directa, no que concerne à presente tese preocupam-nos apenas os aspectos relativos à dinâmica inversa ou análise do movimento. 1.2.2 Modelos Para Visualização De Dados Biomecânicos Quanto à sofisticação gráfica do modelo de ser humano, usado para visualização dos dados biológicos e cinemáticos, podemos dividir as aplicações existentes em quatro grandes categorias (Figura 1.1): 1) as que recorrem a um modelo bidimensional, como é o caso da visualização da actividade muscular no GaitLab [Vaughan et Al., 1992] [Vaughan,1999] 2 Por exemplo, na marcha, os músculos extensores da anca (plantarflexores) criam um momento extensor de grande intensidade que tem como resultado uma rápida extensão da anca. As forças de reacção verticais e horizontais no joelho são drasticamente alteradas por este momento extensor e por seu turno actuam no tornozelo alterando a sua aceleração. 3 Introdução 2) as que recorrem a um modelo composto por linhas, como é o caso do GaitLab para visualização da cinemática directa e inversa [Vaughan, 1999]; 3) as que recorrem a um modelo composto por sólidos simples, de que é exemplo o VIDA – Visualizador Interactivo de Dados Animados [Braz, 1998]; 4) e as mais sofisticadas que recorrem a representações de estruturas ósseas e musculares com elevado grau de realismo de que são exemplos o SIMM da MusculoGraphics Inc.3. ou o modelo de vizualização e simulação do andar do Earth and Space Sciences Project [Anderson et Al., 1995]. Em qualquer dos três últimos casos, é geralmente permitido ao utilizador interagir com o modelo, rodando-o ou transladando-o por forma a obter a ampliação e ângulo de visão requeridos. Apesar dos trabalhos existentes sobre sobreposição de objectos virtuais a figuras humanas em movimento, nomeadamente [Hoshino et Al., 2000], durante o presente estudo não foram encontradas aplicações, nem comerciais, nem experimentais, que permitissem sobrepor modelos virtuais de músculos a sequências de vídeo de atletas em movimento. 1.3 Soluções Analisadas No que concerne ao primeiro objectivo desta dissertação, i.e. construir um modelo virtual tridimensional do atleta com o qual o biomecânico possa interagir: 1) As metodologias de cálculo e representação estão já vastamente documentadas e sedimentadas na literatura [Foley et Al., 1995] [Watt et Al., 1992]; 2) Existe uma razoável quantidade de aplicações comerciais para a área da Biomecânica que permitem fazê-lo [Anderson et Al., 1995] [Vaughan, 1999], se bem que com preços bastante elevados e variáveis consoante o grau de 3 Para mais informação sobre o SIMM e sua interacção http://www.motionanalysis.com/applications/movement/gait/simm.html 4 com o OrthoTrack, veja-se Introdução sofisticação oferecido, tanto no que concerne à recolha de dados como ao realismo com que são visualizados4. 3) E, mesmo que consideremos o terceiro objectivo desta dissertação, i.e. a abordagem à Realidade Aumentada como futura solução para a visualização de dados biomecânicos, segundo [Azuma, 1997], a construção de modelos virtuais não é um dos problemas fundamentais para a Realidade Aumentada. a) b) c) d) e) Figura 1.1: Exemplos de formas de apresentação de movimento humano por diferentes ferramentas de visualização de dados biomecânicos. a) Visualização da actividade muscular no GaitLab; b) cinemática directa e inversa no GaitLab, c) Visualização interactiva no VIDA, d) SIIM da MusculoGraphics integrado com o OrthoTrack da MotionAnalysis, e) Modelo de visualização do Earth and Space Sciences Project 4 Ver secção 1.2.2 Modelos de Visualização em Biomecânica. 5 Introdução Por estes motivos, a análise das possíveis soluções para a construção do modelo virtual não foi de forma alguma um problema central para esta tese, antes tendo a questão ficado limitada à escolha do ambiente de desenvolvimento documentada no Anexo III e anteriormente descrita em [Braz, 1998]. No que respeita ao segundo objectivo, i.e. sobrepor a componente muscular do modelo virtual do atleta em movimento à correspondente sequência de vídeo, cedo ficou claro não se tratar de um problema inovador, uma vez que entre os dados cinéticos recolhidos pelo Laboratório de Biomecânica da FMH se encontram as posições tridimensionais das juntas ósseas em coordenadas do mundo, essenciais para a construção do modelo virtual do ser humano5 [Bers, 1996] [McKenna et Al., 1996] [Semwal et Al., 1998] e os onze parâmetros DLT [Kwon, 1994] a partir dos quais é possível calcular a posição e orientação da câmara, também em coordenadas do mundo, assim como os seus parâmetros intrínsecos, essenciais para projectar o modelo virtual no plano de imagem. Já no que concerne ao terceiro objectivo, o de constituir uma primeira abordagem no sentido de vir a introduzir um ambiente de Realidade Aumentada (RA) no Laboratório de Biomecânica da FMH: 1) A quantidade de possíveis soluções é considerável, variando estas em termos de requisitos tecnológicos e capacidades oferecidas. 2) Continuam a representar, segundo, entre outros, [Azuma, 1997] e [Hoshino et Al., 2001] um conjunto de problemas para os quais não existem soluções óptimas, antes constituindo um campo de investigação em aberto. 3) Durante o estudo das diversas experiências aplicacionais existentes, concluiu-se que a ausência de uma categorização que permitisse uma comparação das tecnologias e metodologias envolvidas com os resultados qualitativos oferecidos, dificulta a escolha de soluções optimizadas para cada tipo de utilização. 5 De acordo com a especificação H-Anim, disponível em http://www.h-anim.org/) 6 Introdução Assim sendo, pareceu-nos aconselhável começar por propôr uma taxonomia para os sistemas de Realidade Aumentada, que permita comparar qualitativamente as diferentes tecnologias e metodologias a que estes sistemas normalmente recorrem para, em seguida, apresentar os diferentes casos conhecidos e documentados de utilização de RA, caracterizados e classificados com essa taxonomia, por forma a permitir num futuro, que se quer próximo, propôr uma solução de RA para o Laboratório de Biomecânica da FMH. 1.4 Solução Proposta 1.4.1 Introdução A sobreposição de objectos virtuais gerados por computador, a sequências de vídeo de seres humanos em movimento é uma importante técnica com várias aplicações, sejam elas na área dos efeitos especiais para a indústria cinematográfica ou na Realidade Aumentada. O método tradicional, exige que o operador adapte manualmente um modelo virtual do ser humano à sequência de vídeo, para em seguida gerar os objectos virtuais na posição 3D corrente. No entanto, a adaptação manual é uma tarefa que exige tempo e a adaptação automática é a solução para esse problema [Hoshino et Al., 2000]. A adaptação automática de objectos virtuais, denominada “match moving”, recorre normalmente à estimativa da posição e orientação da câmara, relativamente à cena, sendo os objectos virtuais, gerados usando essa estimativa e em seguida sobrepostos à imagem de vídeo. No entanto, tal como apontado em [Hoshino et Al., 2000], a sobreposição de objectos virtuais a figuras articuladas complexas, tais como o corpo humano, continua a ser problemática. 1.4.2 Descrição No que concerne aos objectivos 1) e 2) nomeados em 1.1, a solução proposta passa por: 1) Manutenção do processo manual de digitalização das posições das juntas ósseas em coordenadas de imagem. 2) Cálculo da posição tridimensional das juntas ósseas, em coordenadas do mundo, recorrendo à Transformação Linear Directa (DLT de Direct Linear Translation); 7 Introdução 3) Construção do modelo virtual do atleta, de acordo com as posições tridimensionais calculadas; 4) Estimativa da posição, orientação, e factores de escala da câmara com base nos parâmetros da matriz DLT obtidos em 2). 5) E sobreposição do modelo virtual à sequência de vídeo. Esta solução foi escolhida por se enquadrar no ambiente de recolha de dados existente e estar razoavelmente documentada na literatura [Kwon, 1994]. No que concerne ao objectivo 3) enunciado em 1.1: A) Executou-se um levantamento exaustivo dos sistemas de RA actualmente em funcionamento, o qual acabou por estar na origem da taxonomia para sistemas de Realidade Aumentada proposta no Capítulo 2. B) Executou-se um estudo de viabilidade baseado numa versão experimental do VIDA – Visualizador Interactivo de Dados Aumentados, o qual: C) recorrendo à colocação de marcas fluorescentes na superfícies da pele correspondente às posições das juntas ósseas de um indivíduo e a algoritmos de visão computacional, executa o reconhecimento e o cálculo automático das posições bidimensionais dessas marcas em coordenadas de imagem e a posterior reconstrução tridimensional em coordenadas do mundo das posições dessas marcas. 1.5 Estrutura da Dissertação A presente dissertação pode ser dividida em dois grandes “Livros”, englobando-se no primeiro os três primeiros capítulos, que correspondem a um resumido estado da arte das formas de visualização de dados mais comuns em Biomecânica (Capitulo 1), à apresentação de uma taxonomia da RA que permita caracterizar cada um dos subsistemas que geralmente constituem um Sistema de RA (Capitulo 2), e um estudo, orientado pela taxonomia proposta, das diferentes metodologias e tecnologias usadas na área da Realidade Aumentada (Capitulo 3); o segundo “Livro” compreende assim os restantes capítulos (4 a 6) onde se apresentam a arquitectura e os resultados das aplicações desenvolvidas e as conclusões quanto à 8 Introdução implementabilidade de um Sistema de RA como forma de visualização da dados biomecânicos. Desta forma, no Capítulo 2, discute-se a semântica da terminologia da área da RA, passando em seguida a argumentar sobre a necessidade de uma taxonomia da RA, e terminando com a proposta de uma taxonomia e de um sistema de informação que suporte a sua utilização. A sintaxe da taxonomia proposta é especificada em BNF no Apêndice I e o sistema de informação para suporte à taxonomia descrito através de um diagrama de blocos no Apêndice II. O Capitulo 3 apresenta os resultados do estudo, orientado pela taxonomia proposta, de perto de vinte sistemas de Realidade Aumentada. No Capítulo 4 apresentam-se três arquitecturas do sistema VIDA: − a do sistema implementado e actualmente em utilização no Laboratório de Biomecânica da FMH, − a utilizada para estudar a viabilidade de uma futura introdução de um ambiente de RA no Laboratório de Biomecânica da FMH, e, por último, − a arquitectura proposta para implementação do referido ambiente de RA. As arquitecturas de alto nível do VIDA são descritas através de um pseudo-diagrama de fluxo onde os blocos funcionais salientam as semelhanças com um sistema de RA. As arquitecturas implementada e proposta resultaram da especificação de requisitos discutida com os interessados na aplicação, e apresentada no Apêndice III. O Capítulo 5 descreve em pormenor os blocos mais relevantes da arquitectura do VIDA, assim como os resultados obtidos por cada um deles, nomeadamente: as tecnologias e metodologias empregues para detecção das marcas no corpo do atleta; o cálculo da posição tridimensional das marcas com base nas imagens de duas câmaras e consequente construção do modelo virtual tridimensional do atleta; a estimativa da posição da câmara relativamente ao plano de imagem; e a sobreposição do modelo virtual às sequências de vídeo. A presente dissertação termina, no Capítulo 6, com uma análise crítica, sob a forma de conclusões e possíveis desenvolvimentos do trabalho. 9 Introdução 10 Uma Taxonomia da Realidade Aumentada 2 TARCAST: UMA TAXONOMIA DA REALIDADE AUMENTADA 2.1 Introdução Com o objectivo de propor um ambiente de Realidade Aumentada, como forma de visualização dos dados biomecânicos recolhidos pelo Laboratório de Biomecânica da FMH, que possa representar um significativo salto qualitativo na forma de visualização de dados actualmente usada, efectuou-se um estudo sobre a utilização de ambientes de RA actualmente em funcionamento. Ao tentar sistematizar esse estudo, tornou-se evidente a inexistência de uma taxonomia geralmente aceite, utilizada e portanto apropriada à comparação dos diferentes sistemas se quisermos ter como critérios comparativos as tecnologias e metodologias envolvidas. Tal, verificou-se ser essencial para tomar decisões quanto ao sistema a implementar, sentimento este também realçado em [Dubois, 1999] ao propor o seu Espaço Classificativo para Cirurgia Aumentada: «é assim difícil comparar os sistemas de RA existentes e explorar novos designs». Por forma a permitir tal comparação, mas também com o intuito de tentar ir mais além na clarificação de uma área de investigação que, como se argumentará mais adiante, é claramente multidisciplinar, em que a terminologia ainda não se sedimentou, e onde existem fronteiras ainda não claramente definidas, optou-se por propor uma taxonomia, e em seguida usá-la na caracterização e classificação dos diferentes sistemas pertinentes para o presente estudo. Desta forma: começa-se por definir a RA; apresenta-se um sistema típico de RA; discutemse a definição e o sistema típico normalmente documentados na literatura; e conclui-se pela necessidade de o expandir através de componentes que permitam uma interacção háptica com o ambiente aumentado. Com base no sistema típico de RA argumenta-se o seu carácter multi e interdisciplinar e a necessidade de uma taxonomia que permita o diálogo entre especialistas de diferentes áreas do saber. Em seguida, comentam-se resumidamente as taxonomias existentes, mais relevantes para esta área, considerando os diferentes subsistemas tipicamente usados em RA. 11 Uma Taxonomia da Realidade Aumentada O presente Capítulo termina com a descrição do TARCAST: a taxonomia proposta e o sistema de informação de suporte à sua utilização. 2.2 Enquadramento, Definição e Terminologia da RA O enquadramento e definição de Realidade Aumentada propostos e usados nesta tese baseiam-se fundamentalmente em dois trabalhos: [Milgram et Al, 1994] e [Azuma, 1997] respectivamente. Ao propor, em [Milgram et Al, 1994], uma Taxonomia para Sistemas de Apresentação de Realidades Misturadas, Paul Milgram começa por introduzir o conceito de Continuum de Virtualidade (figura 2.1), ao longo do qual se escalonarão diferentes tipos de Sistemas de Realidades Misturadas. Considerando a Realidade Aumentada como um caso particular no universo das Realidades Misturadas, Milgram insere-a no lado esquerdo desse continuum, mais perto do ambiente real do que dos mundos virtuais (completamente sintéticos). Este enquadramento permite-lhe justificar a clara separação entre as áreas da Realidade Aumentada e da Realidade Virtual, e, em simultâneo, abrir campo para o conceito genérico de Realidades Misturadas que ocupa assim todo o espaço entre o Ambiente Real e o Ambiente Virtual. Realidades Misturadas (RM) Ambiente Real Realidade Aumentada (RA) Virtualidade Aumentada (VA) Ambiente Virtual Figura 2.1: Representação simplificada do “continuum de virtualidade” de Milgram. 2.2.1 Definição Aceitando explicitamente o enquadramento da RA proposto em [Milgram et Al., 1994] , Ronald Azuma, em [Azuma, 1997], acaba por definir a Realidade Aumentada como sendo «uma variante da Realidade Virtual (...). As tecnologias de Realidade Virtual imergem completamente o utilizador num ambiente sintético e, enquanto imerso nesse ambiente, o 12 Uma Taxonomia da Realidade Aumentada utilizador não pode ver o mundo real que o rodeia. Pelo contrário, a Realidade Aumentada permite ver o mundo real com objectos virtuais sobrepostos ou integrados nesse mundo real. Desta forma, a RA complementa a realidade em lugar de a substituir. Idealmente, pareceria ao utilizador que os objectos virtuais e reais coexistiriam num mesmo espaço (...) ». Evitando a conotação da RA com qualquer tipo de tecnologia, Ronald Azuma aponta três características fundamentais e distintivas para um sistema de RA, nomeadamente: 1) Combina o real e o virtual. 2) É interactiva em tempo real. 3) É alinhada espacialmente e sincronizada temporalmente (registered) num espaço tridimensional. 2.2.2 Análise da Definição Em relação à definição de Azuma, convém discutir alguns aspectos menos consensuais, nomeadamente: 2.2.2.1 Dispositivo de captação de imagem fixo ou não Apesar de frequentemente, e alegando a definição de Azuma, se exigir liberdade de movimento para o dispositivo de captação de imagem, de facto, da definição não decorre este requisito, podendo ser englobados nos sistemas de RA aqueles em que a câmara esteja fixa e a interacção se dê a outro nível, háptico por exemplo. Um exemplo que nos ocorre imediatamente, passa pela visualização através de microscópios e pela manipulação de objectos reais na lamela de um microscópio ou de objectos virtuais a ela sobrepostos. Se bem que se trate de um caso potencialmente polémico, outro possível exemplo de um ambiente de RA que não exige liberdade de movimento para o dispositivo de captação de imagem é o dos ambientes em que o observador seja estático e o ambiente em que é inserido o modelo virtual se mova. Este último exemplo poderia também ser englobado na definição de Azuma desde que se inverta o sentido da interactividade, passando a compreender o “ambiente em movimento” como sujeito e o observador como objecto da interacção. 13 Uma Taxonomia da Realidade Aumentada 2.2.2.2 Âmbito de aplicação da definição Note-se que esta definição, se bem que genericamente aceite, principalmente na área das ciências da computação, não é absolutamente consensual. Refira-se, a este propósito, [Dubois, 1999] onde é dito que: «A variedade de domínios aplicacionais torna difícil chegar a uma definição consensual de RA: i.e. diferentes pessoas, com diferentes objectivos, usam o termo Realidade Aumentada», e, explicitamos nós, mantendo o contexto e significado da citação: aplicando-o a diferentes sistemas com diferentes características, nem todos englobados na definição de Azuma. Note-se que da bibliografia consultada até ao momento, apenas nas IEEE Transactions on Visualization and Computer Graphics se verifica uma preocupação com a consistência da terminologia proposta por Azuma. De notar ainda que, devido à «adequabilidade do termo» [Milgram et Al., 1994], é comum empregar o termo Realidade Aumentada para caracterizar qualquer tipo de apresentação em que um mundo, de outra forma real, é aumentado com informação virtual. Integram-se nesta classe os sistemas em que os objectos virtuais são sobrepostos a imagens de vídeo do mundo real, captadas por uma câmara estática ou não e apresentadas num écran bidimensional. Autores mais preocupados em respeitar a semântica comummente aceite, optam por denominar esta última classe de sistemas como sistemas de “Realidade Melhorada” (enhanced reality). 2.2.2.3 Interpretação da definição pertinente para o presente trabalho Pela nossa parte, tomando em linha de conta o facto de estarmos preocupados em analisar implementações dos mais variados tipos de sistemas, preferimos considerar a definição restritiva de Azuma como uma utopia a atingir e englobar nos sistemas de RA qualquer forma de sobreposição de imagens virtuais a imagens reais seguindo a interpretação mais alargada de, entre outros, [Milgram, 1994] «Como definição operacional de Realidade Aumentada, tomamos o termo como referência a qualquer caso em que um ambiente, de outra forma real, é “aumentado” através de objectos virtuais (gerados por computador) (...). No próprio laboratório do Autor, optou-se por este mesmo termo em referência aos sistemas de apresentação (Window of the World), não por falta de um melhor termo, mas convictos de que o 14 Uma Taxonomia da Realidade Aumentada termo Realidade Aumentada é bastante apropriado para descrever a essência do melhoramento de imagens de vídeo de cenas reais através de objectos gráficos gerados por computador.» 2.2.3 Terminologia Ao definir a semântica de vários termos comummente usados em RA, Paul Milgram, numa abordagem dicotómica, propõem três tipos de distinções: 1) Objectos Reais versus Objectos Virtuais 2) Visualização Indirecta e Visualização Directa (a Unmediated Reality de [Naimark, 1991].) 3) Imagens Reais e Imagens Virtuais Neste âmbito define: 1) Os Objectos Reais como sendo objectos que possuem uma existência objectiva, por oposição aos Objectos Virtuais, os quais existem em essência ou efeito, mas não de facto. Desta forma, os objectos reais tanto podem ser observados directamente, como re-sintetizados num dispositivo de apresentação a partir de uma amostragem do objecto real, enquanto os objectos virtuais, só podem ser visualizados a partir de uma simulação/modelo e sintetizados num dispositivo de apresentação, uma vez que de facto não têm existência. 2) A Visualização Directa como tendo lugar através do vidro ou ar e que se aplica apenas a objectos reais, por oposição à Visualização Indirecta que recorre obrigatoriamente a um dispositivo de amostragem e a um dispositivo de apresentação. 3) Imagens Reais como sendo as que apresentam luminosidade no local onde parecem existir, por oposição a Imagens Virtuais, que seriam assim as que não apresentassem luminosidade no local onde parecem estar. Como exemplos de Imagens Virtuais, podemos citar hologramas, reflexos num espelho e, o caso particularmente interessante da imagem estereoscópica observada que, desta forma, é uma imagem virtual, por oposição às suas componentes esquerda e direita do dispositivo de apresentação, classificadas como imagens reais. Assim, Milgram acaba por definir as imagens virtuais em sistemas de Realidade Misturada como um objecto transparente, i.e. um que não oculta outros objectos situados por trás dele. 15 Uma Taxonomia da Realidade Aumentada 2.2.4 Discussão da Terminologia Também a terminologia proposta por Milgram nos parece passível de alguma reelaboração, nomeadamente no que concerne às dicotomias entre objectos reais e virtuais e entre visualização directa e indirecta. 2.2.4.1 Objectos reais e virtuais Ao distinguir Objectos Reais de Objectos Virtuais, nota-se que Milgram tenta fugir à conotação dos objectos reais com o mundo físico, atómico se quisermos, optando antes pelo conceito de objectividade. Quanto a nós, esta segunda abordagem acaba por introduzir tanta, ou mais, “nebolusidade” quanto uma definição baseada na dicotomia atómo/bit6. Desta forma, e tanto mais que outros autores, como [Dubois et Al., 1999] preferem seguir também este caminho, propomos uma distinção entre objectos reais e virtuais, em tudo semelhante, mas baseada em diferentes critérios: Propomos assim que se considerem os Objectos Reais como sendo aqueles que possuem uma estrutura atómica7, por oposição aos Objectos Virtuais, que existem apenas sob a forma de informação8 armazenada num qualquer sistema. Seguindo este critério distintivo, quanto a nós mais “objectivo”, mantém-se o fundamental do conceito definido por Paul Milgram: os objectos reais tanto podem ser observados directamente, como resintetizados num dispositivo de apresentação a partir de uma amostragem do objecto físico real, enquanto os objectos virtuais só podem ser visualizados a partir de uma simulação/modelo e sintetizados num dispositivo de apresentação, uma vez que 6 O que é, ou até onde vai a objectividade? Só para dar um exemplo de quão complexo pode ser o conceito de objectividade aqui ficam algumas perguntas: qual é, para diferentes observadores, a “cor” de um objecto: verde, caqui, verde acastanhado, castanho esverdeado?, Vermelho? Laranja? Rosa? Onde termina e onde começa um mesmo objecto para um observador míope e para um outro com boa visão? 7 Ou baseada em qualquer outro tipo de micropartículas. 8 Aqui entendemos informação no estrito sentido de uma entidade expressa em bit’s ou em qualquer outra unidade de informação análoga. 16 Uma Taxonomia da Realidade Aumentada a sua “existência física” não vai além do arranjo de pares electrão/lacuna que compõem o modelo residente em memória. 2.2.4.2 Visualização directa e indirecta Mais uma vez, o recurso a conceitos físicos fundamentais, permite-nos obter uma definição semanticamente equivalente, mas, quanto a nós, mais fortemente sedimentada. Podemos desta forma definir a Visualização Directa, como sendo produto da luz proveniente directamente do objecto real, por oposição à Visualização Indirecta que requer dispositivos de amostragem e de apresentação. 2.3 Um Sistema Típico De Realidade Aumentada Os ambientes de RA permitem a inserção de objectos virtuais tridimensionais no ambiente do utilizador e abordam dois problemas de forma muito particular [Kutulakos et Al, 1998]: 1) O estabelecimento de relações geométricas entre objectos físicos e virtuais - o que obriga a que as localizações dos objectos virtuais sejam inicializadas no ambiente do utilizador, antes de a interacção ter lugar. 2) O melhoramento realista de um ambiente tridimensional – o que só se consegue se os objectos forem continuamente representados de forma consistente, com a sua posição no espaço 3D e com o ponto de vista do Sistema de Captação de Imagem. No cerne destes problemas está a capacidade de alinhar e sincronizar, num mesmo sistema de coordenadas, o movimento da câmara, o ambiente do utilizador e os objectos virtuais inseridos nesse ambiente. As abordagens típicas tendentes a assegurar que toda a sequência de transformações entre os sistemas de coordenadas internos dos objectos físicos e virtuais, os dispositivos de seguimento da câmara e o dispositivo de apresentação do utilizador sejam conhecidos com exactidão, passam por: − utilização de câmaras fixas, como no sistema descrito em [Darrel et Al, 1994] usado como bancada de ensaios para qualquer aplicação que necessite de inserir a imagem de 17 Uma Taxonomia da Realidade Aumentada um participante num mundo gráfico e projectar o mundo aumentado num écran de grandes dimensões frente ao participante. − utilização de dispositivos de seguimento de posição 3D, sobre os quais [Azuma, 1993] apresenta já uma compilação de requisitos, e [Durlach, 1995] sistematiza de um ponto de vista do seguimento do movimento humano. − calibração precisa do dispositivo de captação de imagem, para o qual [Tuceyran et Al., 1995] apresenta uma compilação de requisitos e procedimentos, e [Jain et Al., 1995] sistematiza num capitulo dedicado ao assunto. A combinação de imagens reais e virtuais, numa única imagem apresenta vários desafios para qualquer pessoa que tente construir um sistema de RA. Considerando, por um lado, a relevância do conceito de “Extensão da metáfora de presença” usado por Paul Milgram, como um dos critérios de classificação para sistemas de apresentação de realidade misturada e, por outro lado, que a tecnologia usada para apresentar a fusão dos universos, o real e o virtual, é uma das mais básicas questões que se apresentam a quem queira desenvolver um sistema de RA, não é de estranhar que os sistemas de Realidade Aumentada tenham sido ao longo do tempo classificados em grandes grupos, de acordo com o sistema de apresentação usado. É, assim, de acordo com a tradição, e portanto com o tipo de sistema de apresentação usado que em seguida passamos a descrever diferentes tipos de Sistemas de Realidade Aumentada. Vallino na sua “Introduction to Augmented Reality” [Vallino, 2001], distingue três tipos de sistemas de acordo com o dispositivo de apresentação usado: 1) Os baseados num monitor (Window on the World ou Fish Tank), 2) Baseados num HMD a que é acoplada uma câmara de vídeo (Vídeo See Through) 3) E os baseados em HMD de lentes semireflexivas (Optical See Through) A estes três tipos de sistemas de RA, podemos já acrescentar um quarto: 4) Os sistemas que recorrem a projectores para apresentar os objectos virtuais directamente no mundo real, como os sistematizados em [Billinghurst, 1999], 18 Uma Taxonomia da Realidade Aumentada essencialmente vocacionados para sistemas colaborativos como as “Augmented Surfaces”, um sistema de visualização aumentada para suporte de trabalho em grupo descrito em [Rekimoto et Al., 1999]. 2.3.1 Sistemas Janela Sobre O Mundo Nos sistemas do tipo Janela Sobre o Mundo (Figura 2.2), o mundo real é observado através de um qualquer Sistema de Captação de Imagem (SCI) - geralmente uma câmara de vídeo - e os objectos virtuais sobrepostos a essa imagem do mundo real, sendo a realidade aumentada visualizada num écran 2D. Nestes sistemas, o SCI tanto pode: a) estar fixo, caso em que basta determinar a sua posição e orientação iniciais, não se tornando necessário segui-las, como acontece no sistema ARGOS, uma ferramenta para interacção telerobótica descrita em [Drascic et Al., 1993], ou o caso do sistema Grasp, um ambiente de exploração das tecnologias básicas da visão aumentada descrito em [Ahlers et Al., 1994]; b) como estar acoplado a um braço robótico, caso em que a sua posição é seguida com grande fidelidade pela posição do braço robótico. Como se passa com o sistema de neurocirurgia documentado em [Grimson et Al., 1996] e [Nakajima et Al., 1998]. Sistema de Captação de Imagem Imagem do Mundo Real Mundo Real Sistema de Seguimento SCI Objecto Virtual Câmara Virtual Objecto Virtual Sistema Misturador de Imagem Sistema Gráfico Figura 2.2: Sistema Janela Sobre o Mundo. 19 Monitor 2D Sistema de Apresentação Uma Taxonomia da Realidade Aumentada c) ou ainda livre para qualquer movimento, caso em que se impõe o recurso a um sistema de seguimento que permita determinar com precisão a sua posição e orientação – o que acontece com o TransVision, um sistema colaborativo descrito em [Rekimoto 1996] e que “aumenta” o tampo de uma mesa com imagens virtuais visíveis em écrans de palmtops. Se, por um lado, este tipo de sistemas de RA dá ao utilizador pouca ou mesmo nenhuma sensação de imersão no ambiente aumentado, por outro, é o mais simples dos sistemas disponíveis. Nesta classe de sistemas, tem particular importância para a presente tese o Virtual Fashion Simulator, - Simulador Virtual de Moda - descrito em [Hoshino et Al., 2000] e [Hoshino et Al., 2001]. Nos referidos artigos é proposto um novo método para sobrepor objectos virtuais a sequências de vídeo de figuras humanas em movimento. De acordo com [Hoshino et Al. 2001], começa-se por determinar a pose da figura humana recorrendo a análise espáciotemporal e a conhecimento estrutural sobre o corpo humano, para em seguida gerar os objectos virtuais e sobrepo-los à figura humana que se movimenta na sequência de vídeo. Tratando-se de uma metodologia que apresenta bons resultados, especialmente quando os objectos virtuais gerados, à semelhança de roupas, cobrem o corpo articulado cuja pose é determinada, está ainda por avaliar, quanto a nós, a sua aplicabilidade quando os objectos virtuais tenham de ser graficamente inseridos sob a pele do indivíduo. 2.3.2 Sistemas HMD Video see-through Nos sistemas do tipo vídeo see-through (figura 2.3) – onde o sufixo see-through advém de o utilizador ver o mundo real imediatamente à sua frente, mesmo envergando um HMD - o mundo real é captado por uma câmara de vídeo, geralmente estereoscópica, - mas não obrigatoriamente, e senão veja-se o sistema de anotação de imagens panorâmicas abordado em [Kourogi et Al., 1999], - e os objectos virtuais sobrepostos a essa imagem do mundo real num visor, também ele estereoscópico ou não. A posição e orientação da câmara de vídeo, normalmente fixa à cabeça do utilizador, é determinada por um sistema de seguimento. A sensação de imersão desta tecnologia é qualitativamente superior à fornecida pelos sistemas de tipo janela sobre o mundo, apresentando grandes semelhanças em todos os 20 Uma Taxonomia da Realidade Aumentada restantes requisitos no caso de este último permitir o movimento livre do Sistema de Captação de Imagem. Estes sistemas têm encontrado numerosas aplicações, até ao momento, em grande parte experimentais, tal como referido no estado da arte de [Azuma et Al, 2001] e ilustradas em artigos como [Billinghurst et Al., 1999], onde se aborda a aplicação desta tecnologia aos sistemas colaborativos, ou em [Kutulakos et Al, 1998] onde se apresenta uma metodologia de RA sem recurso a calibração do Sistema de Captação de Imagem. A ARToolkit9, uma biblioteca produzida para permitir desenvolver rapidamente aplicações de RA baseadas na tecnologia Vídeo See Through, veio dar nos últimos dois anos um incremento à utilização destes sistemas. Esta biblioteca de funções, descrita em [Billinghurst et Al., 1999] e usada, por exemplo, em [Kato et Al., 2000] – uma aplicação para manipulação de objectos virtuais no tampo de uma mesa real – fornece técnicas de visão por computador para calcular a posição e orientação da câmara relativamente a cartões com marcas especiais de tal forma que os objectos virtuais tridimensionais podem ser sobrepostos às marcas. Sistema de Seguimento do SCI Capacete de RA Mundo Real Câmara de Vídeo (1) Imagem do Mundo Real Objecto Virtual Monitor (2) Visão do Utilizador Câmara Virtual Sistema Gráfico Sistema Misturador de Imagem Imagem do Objecto Virtual Figura 2.3: Sistema Vídeo See-through. (1) Sistema de Captação de Imagem. (2) Sistema de Apresentação de Imagem. 9 Para mais informação sobre o ARToolkit, consultem-se na web os seguintes endereços: http://www.ecs.soton.ac.uk/~pass99r/research. http://www.hitl.washington.edu/projects/shared_space . Ou a lista de discussões sobre a biblioteca acessível a partir de: http://www.hitl.washington.edu/research/shared_space/download/ 21 Uma Taxonomia da Realidade Aumentada 2.3.3 Sistemas HMD Optical see-through Nos sistemas do tipo Optical see-through (figura 2.4) o mundo real é observado directamente pelo utilizador, através de lentes semireflexivas e os objectos virtuais projectados nas lentes translúcidas que se encontram frente aos olhos do utilizador. Estes sistemas de RA eliminam o canal de vídeo e baseiam-se num sistema de apresentação em tudo semelhante aos Heads Up Displays (HUD), comuns nas carlingas dos aviões militares e mais recentemente em alguns protótipos de automóveis, a diferença reside no facto de que a fusão óptica é aqui realizada no HMD e não no vidro da carlinga do avião ou no parabrisas do automóvel. Para encontrarmos exemplos destes tipos de sistemas tivemos de recuar ao estado da arte apresentado por Ronald Azuma em [Azuma, 1997], e a sistemas de RA clássicos como sejam a aplicação descrita em [Webster et Al., 1996] que apresenta ao utilizador partes do edifício escondidas por trás de estruturas arquitectónicas ou de acabamentos, permitindo-lhe inclusive obter informação adicional sobre essas partes. Capacete de RA Projector (2) Sistema de Seguimento SCI Imagem do Objecto Virtual Visão do Utilizador (1) Mundo Real Objecto Virtual Lente Semireflexiva (3) Câmara Virtual Sistema Gráfico Figura 2.4: Sistema Optical See-through. (1) Sistema de Captação de Imagem. (2) Sistema de Apresentação. (3) Sistema Misturador de Imagem. A preferência dada nos últimos anos aos sistemas Vídeo see through pode dever-se em grande medida a dois motivos: 22 Uma Taxonomia da Realidade Aumentada 1) A impossibilidade, nos sistemas Optical see through, de compensar o atraso da apresentação dos objectos virtuais, atrasando o canal proveniente do SCI: lembremonos que nestes sistemas o mundo real está a ser observado directamente. 2) O fraco contraste ainda conseguido por estes sistemas que limitam a sua utilização a ambientes com luminosidade cuidadosamente controlada. Apesar de constituir uma abordagem qualitativamente diferente, o sistema desenvolvido e comercializado pela MicroVision e denominado Virtual Retinal Display [Johnston et Al., 1995] [Pryor et Al., 1998] [Chinthammit et Al., 2001] pode ser intuitivamente enquadrado na classe de sistemas HMD Optical see-through uma vez que o mundo real é observado directamente e só os objectos virtuais são “projectados” na retina do utilizador. 2.3.4 Sistemas Baseados em Projectores Num sistema projectivo (figura 2.5), os objectos virtuais são projectados directamente no mundo real com recurso a projectores. O principal campo aplicacional deste tipo de sistemas de RA têm sido os ambientes colaborativos em que diferentes utilizadores precisam de interagir entre si e com um mesmo ambiente. O Sistema de Mistura da imagem do mundo real e da imagem dos objectos virtuais coincide, neste tipo de sistemas, com o próprio mundo real. Sistema de Seguimento de Objectos Sistema de Captação de Imagem Mundo Real Sistema de Seguimento do SCI Visão do Utilizador Imagem do Objecto Virtual Projector Sistema Misturador de Imagem Objecto Virtual Sistema de Apresentação Sistema Gráfico Figura 2.5: Sistema baseado em projectores. 23 Câmara Virtual Uma Taxonomia da Realidade Aumentada De notar que, se por um lado, alguns sistemas recorrem a objectos predeterminados, ou com algumas características pré requeridas, como sejam objectos brancos ou salas brancas vazias [Raskar et Al., 1998], dispositivos comerciais como a mesa virtual Barco BARON10 [Bimber et Al., 2000], outros tentam projectar os objectos virtuais no ambiente real sem pré-requisitos, como acontece com o sistema colaborativo Augmented Surfaces, descrito em [Rekimoto et Al., 1999]. A necessidade de interagir a nível a nível háptico com o ambiente, por um lado, e por outro, o facto de a imagem do modelo virtual projectada não depender, na generalidade dos casos, da localização do observador (ou do Sistema de Captação de Imagem) leva a que o Sistema de Seguimento do Sistema de Captação de Imagem seja normalmente desnecessário, ganhando especial relevo o Sistema de Seguimento de Objectos. 2.3.5 Um Sistema Típico Se tentarmos representar um sistema típico genérico, com base nos componentes e respectivas funcionalidades dos sistemas anteriormente descritos, podemos facilmente descrevê-lo como o sistema da Figura 2.6 onde o mundo real é observado por um Sistema de Captação de Imagem. O SCI executa a projecção do mundo 3D num plano 2D. Os parâmetros intrínsecos (distância focal e distorção) e extrínsecos (localização e orientação) do SCI determinam o que é projectado no plano de visualização. A geração da imagem virtual é executada por um qualquer sistema gráfico passível de sintetizar modelos visuais de objectos tridimensionais. Cada objecto virtual é modelado no sistema de coordenadas do objecto. O sistema gráfico necessita de informação espacial sobre a imagem do mundo real que permita controlar a câmara virtual/sintética usada para gerar a imagem dos objectos virtuais. A imagem dos objectos virtuais, captada pela câmara sintética é, finalmente, misturada com a imagem do mundo real para formar a imagem de realidade aumentada. Desta forma, num sistema de RA, podemos distinguir claramente cinco subsistemas: 1) Sistema de captação de imagem (SCI). 10 http://www.barco.com/projecti/products/bsp/baron.htm. 24 Uma Taxonomia da Realidade Aumentada 2) Sistema de seguimento da localização e orientação do SCI (SSSCI). 3) Sistema Gráfico para geração dos objectos virtuais (SG). 4) Sistema Misturador de Imagem (SMI). 5) Sistema de Apresentação (SA). Sistema de Captação de Imagem Mundo Real Sistema de Seguimento do SCI Objecto Virtual Imagem do Mundo Real Imagem do Objecto Virtual Câmara Virtual Sistema Misturador de Imagem Sistema Gráfico Sistema de Apresentação Figura 2.6: Um sistema típico de Realidade Aumentada. 2.3.6 Sistema Típico Expandido No entanto, se pretendermos alargar a noção de interactividade para além da mera navegação no mundo aumentado e considerar a existência de objectos reais em movimento na cena aumentada, o que acontece em vários dos sistemas de RA analisados, parece-nos relevante acrescentar outros três subsistemas, nomeadamente: 1) Sistema Real de Manipulação de Objectos. Que tanto poderá manipular objectos reais como virtuais (SRMO). 2) Sistema de seguimento do SRMO (SSSRMO). 3) Sistema de seguimento de objectos reais que se movimentem no ambiente aumentado (SSOR). 25 Uma Taxonomia da Realidade Aumentada Desta forma, um sistema típico de RA passará a apresentar uma composição do tipo da apresentada na Figura 2.7, passando assim o diagrama de um sistema típico de RA a incluir também o subsistema háptico. Poder-se-á sempre argumentar que uma descrição alargada de um sistema típico de RA poderia ou deveria incluir os subsistemas que permitissem aumentar outros sentidos, como sejam a audição, o olfacto ou o paladar. No entanto, tal expansão não só excede claramente os propósitos do presente trabalho, como pode ser facilmente adicionada por quem tenha maior preocupação por qualquer dessas áreas da RA. Mundo Real Sistema de Captação de Imagem Sistema Real de Manipulação de Objectos Sistema de Seguimento do SRMO Sistema de Seguimento de Objectos Reais Objecto Virtual Sistema de Seguimento SCI Câmara Virtual Sistema de Apresentação Imagem do Mundo Real Imagem do Objecto Virtual Sistema Misturador de Imagem Sistema Gráfico Figura 2.7: Sistema típico de RA expandido por forma a permitir interagir com o sistema a nível háptico. 26 Uma Taxonomia da Realidade Aumentada 2.4 Considerações Rumo a uma Taxonomia da Realidade Aumentada 2.4.1 Objectivos e Utilidade de uma Taxonomia De acordo com [Milgram et Al., 1994], o objectivo de uma taxonomia é oferecer uma classificação de acordo com a qual possam ter lugar discussões de ordem não só teórica mas também prática, avaliados os desenvolvimentos de uma determinada área, conduzir e orientar a investigação para as sub-áreas pertinentes e comparar informação de forma útil. Mas, para além dos requisitos aí apresentados, diríamos que, principalmente, ela tem de ser usada. Para tal parece-nos necessário: 1) Que, à semelhança das mais conhecidas taxonomias, como sejam a Tabela Periódica dos Elementos ou a Taxonomia Numérica para classificação das espécies, permita classificar os sistemas de acordo com critérios objectivos e, a partir da classificação obtida, inferir características qualitativas. 2) Seja suficientemente simples para ser entendida por todos os intervenientes de forma intuitiva, baseada em critérios de classificação já aceites, citados e usados, por forma a permitir enquadrar as descrições dos sistemas desenvolvidos da forma mais directa possível nos critérios caracterizadores da taxonomia. 3) Considerando o carácter multidisciplinar da RA, como se argumentará mais à frente, deverá reflectir e incorporar o conhecimento dos especialistas das diferentes áreas abordadas pela RA. 4) Preferivelmente ser suportada por uma ferramenta que facilite a classificação dos diferentes sistemas. Ao decompor um sistema típico de RA nos seus vários subsistemas, torna-se evidente o carácter multidisciplinar e integrador desta área de investigação que recorre a saberes, tecnologias e metodologias de diferentes áreas do conhecimento, nomeadamente: 1) À Óptica no que respeita à captação, mistura e apresentação de imagem. 2) À Radiolocação no que concerne ao seguimento de objectos reais. 27 Uma Taxonomia da Realidade Aumentada 3) À Visão Computacional, principalmente no que concerne ao seguimento de objectos reais, mas também ao alinhamento espacial dos mundos real e virtual. 4) À Computação Gráfica para a síntese de objectos virtuais. 5) À Robótica, principalmente quando se trata da interacção háptica com o mundo aumentado no seu todo. 6) À Telemática, principalmente quando se pretende recorrer à Realidade Aumentada para a recriação de ambientes remotos ou a sistemas colaborativos. Desta forma, qualquer taxonomia da RA terá de ter em conta a terminologia e eventuais sistemas de classificação e avaliação das diferentes áreas de que faz uso. Uma possível abordagem para a definição de uma taxonomia dos sistemas de RA, será assim a criação de um quadro em que os cinco subsistemas anteriormente identificados (oito se pretendermos contemplar os dispositivos de manipulação de objectos) possam ser classificados de acordo com taxonomias pertinentes. Um argumento a favor desta classificação é o facto de quase todas as implementações referidas na bibliografia serem especificadas precisamente em termos destes cinco (ou oito) subsistemas. 2.4.2 Taxonomias Relevantes Na base do presente esforço de caracterização de Sistemas de Realidade Aumentada estiveram inúmeros trabalhos, todos eles referidos na bibliografia desta dissertação, mas de entre os quais importa salientar dez trabalhos que em seguida se descrevem resumidamente. 2.4.2.1 Espaço classificativo para cirurgia aumentada [Dubois et Al., 1999a] propõem um modelo centrado no utilizador, denominado OPAS, de Object, Person, Adapter and System destinado a modelizar sistemas interactivos, incluindo sistemas de RA. Nesta metodologia de modelização de sistemas interactivos: 1) O componente computarizado do sistema, denominado Sistema (S), é capaz de armazenar, recuperar e transformar dados. 28 Uma Taxonomia da Realidade Aumentada 2) O Objecto real (O), incluindo uma broca, uma caneta ou uma folha de papel é manipulado pelo utilizador ou por um robot a fim de executar uma tarefa. O componente Objecto pode incluir seres humanos desde que estes estejam envolvidos no processo sem interagir directamente com o sistema. 3) Tanto o utilizador (P), como o objecto (O) pertencem ao mundo real (“mundo atómico”) enquanto o sistema pertence ao mundo virtual ou sintético (“mundo de bits”) 4) A fim de estabelecer uma ponte entre os dois mundos, é introduzido um quarto componente denominado Adaptador (A). Exemplos de adaptadores são o rato, o teclado ou o écran. A aplicação da metodologia é exemplificada recorrendo ao CASPER – Computer Assisted Pericardial Punctures [Chavanon et Al., 1997] e ao DigitalDesk [Wellner et Al., 1993]. Não se tratando de uma taxonomia propriamente dita, isto é, de um critério classificativo, mas antes de uma metodologia de modelização de sistemas interactivos, permite modelizar sistemas de RA, o que pode conduzir a uma mais simples comparação entre sistemas no que toca aos seus componentes. No entanto apresenta alguns inconvenientes para os nossos objectivos, nomeadamente: 1) Ao modelizar diferentes subsistemas de RA com um mesmo conceito, dificulta a identificação de cada um dos seus subsistemas. 2) Obriga a uma prévia familiarização com os conceitos do modelo antes de poder ser utilizada. 3) Os sistemas de RA descritos até à data não recorrem aos conceitos da metodologia. 4) Não permite extrair de forma intuitiva e imediata as características tecnológicas dos diferentes subsistemas presentes num sistema de RA. 2.4.2.2 Tópicos para a avaliação de sistemas de realidade virtual [Gabbard et Al., 1997] – Apresenta uma série de requisitos que um sistema de RV deve contemplar no que respeita a: 29 Uma Taxonomia da Realidade Aumentada 1) Tarefas do utilizador e tarefas do utilizador do Ambiente Virtual / Aumentado (AV/A). 2) Modelo Virtual. 3) Mecanismos de interface para introdução de dados por parte do utilizador do AV/A. 4) Componentes da interface de apresentação do AV/A. Não tentando sequer propôr critérios classificativos, Gabbard apresenta no entanto um estudo sistematizado dos requisitos a que deve obedecer um sistema de RA. Este apresenta particular utilidade na extracção de características classificativas para sistemas de RA. Note-se, a este propósito, que a taxonomia que propomos mais à frente pode inclusive ajudar a endereçar de forma mais explícita os requisitos propostos por Gabbard, em termos dos cinco (ou oito) subsistemas de um sistema de RA. 2.4.2.3 Taxonomia de imagens reais [Naimark, 1991] – Propõe uma taxonomia que categoriza diferentes abordagens para a captação e reprodução de experiências visuais, conducentes a real space imaging. As categorias incluem imagem monoscópica, imagem estereoscópica, multiescópica, panorâmicas, viagem condicionada (surrogate travel), e imagem em tempo real. Para cada um dos tipos de imagem identificado, são apresentadas e discutidas diferentes características e exemplos. A taxonomia proposta em [Naimark, 1991] foi fundamental para a caracterização dos Sistemas de Captação de Imagem e de Apresentação de Imagem, principalmente no que toca ao tipo de imagem captada pelo primeiro e apresentada pelo segundo. 2.4.2.4 Taxonomia de interacções tecnologicamente mediadas [Robinett, 1992] – Propõe uma extensa taxonomia para classificação de interacções tecnologicamente mediadas, ou experiências sintéticas, associadas exclusivamente com sistemas baseados em HMD’s. A sua taxonomia é essencialmente definida em nove dimensões, incluindo causalidade, modelo fonte, tempo, espaço, sobreposição, tipo de 30 Uma Taxonomia da Realidade Aumentada dispositivos de apresentação, tipo de sensor, tipo de acções de medição, e tipo de actuador. Neste artigo são classificados vários sistemas de RV de acordo com a taxonomia proposta. 2.4.2.5 Sistemas de seguimento do movimento humano [Mulder, 1994] Classifica os dispositivos de seguimento do movimento humano em três grandes categorias: 1) Sistemas Inside-in: os sensores e as fontes estão ambos acoplados ao corpo humano. 2) Sistemas Inside-out: sensores no corpo captam sinais de fontes externas, sejam elas naturais ou artificiais. 3) Sistemas Outside-in: sensores externos captam os sinais de fontes artificiais acopladas ao corpo humano. Esta classificação deve-se em grande parte à necessidade de discutir o grau de conveniência de cada uma das três categorias para o seguimento dos diferentes tipos de movimento de diferentes partes do corpo humano. Seguindo esta classificação são propostas em seguida uma série de características para a generalidade das três categorias, nomeadamente: 1) Meio entre a fonte e o sensor (acústico, electromagnético, óptico, mecânico) 2) Tipo de fonte (artificial, natural) 3) Parte do corpo humano (dedo, mão, braço, ombro, cabeça, olho, tronco, coluna, pélvis, perna, pé, joelho) 4) Características estáticas (Resolução espacial, alcance, precisão estática, linearidade, calibração) 5) Características dinâmicas (precisão dinâmica, largura de banda ou resolução temporal, latência, desfasamento, taxa de actualização ou precisão temporal) 6) Características de Precisão (Repetibilidade, estabilidade, durabilidade, ruído, interferências electromagnéticas, filtragem, suavização) 7) Características do Interface (Grandezas medidas, alimentação, interface de utilizador e modos de operação, interfaces de comunicação do hospedeiro, com ou sem fios) 31 Uma Taxonomia da Realidade Aumentada 8) Características computacionais (Sistema de coordenadas de referência: baseado nas juntas, nos músculos ou no mundo; Formato de dados, representação dos dados) 9) Características opcionais (Forma: dimensões e peso dos sensores aplicáveis no corpo, cabos e demais dispositivos; dimensões do espaço de trabalho, Conveniência, tempo de configuração, interoperabilidade, gama de temperaturas e humidade. 10) Características económicas (Preço e suporte ao utilizador) Finalmente é apresentada ainda uma comparação de algumas destas características entre as três categorias classificativas. Este trabalho esteve na base da identificação de características relevantes para a caracterização dos sistemas de seguimento. No entanto, em virtude do significativo número de características enunciadas em [Mulder, 1994] foi necessário proceder a uma triagem que passou por quatro etapas: 1) Inclusão na taxonomia por nós proposta de todas as características identificadas em [Mulder, 1994]. 2) Classificação de sistemas de RA. 3) Exclusão das características que sistematicamente não eram descritas nos artigos sobre sistemas de RA. 4) Reinclusão de seis características que, apesar de sistematicamente não serem incluídas nos artigos sobre sistemas de RA, nos pareceram poder ser particularmente relevantes para a escolha de um sistema de seguimento, nomeadamente: a. Preço: <cost>, b. Quantidade de medições simultâneas: <quantity of simultaneous measurements>, c. Susceptibilidade à obstrução: <susceptibility to obscuration>, d. Simplicidade de calibração: <easy of calibration>, e. Complexidade técnica: <technical complexity>, f. Conveniência: <convenience>, 32 Uma Taxonomia da Realidade Aumentada 2.4.2.6 Seguimento de posição e mapeamento em ambientes de realidade virtual [Durlach et Al., 1995] Começa por discutir o rasteio de 4 partes do corpo humano, nomeadamente: 1) Rasteio da mão 2) Rasteio do olho 3) Rasteio da cabeça 4) Rasteio do corpo como um todo Para em seguida optar por uma descrição baseada na classificação dos sistemas de seguimento em termos do meio usado entre fontes e sinais, nomeadamente: 5) Seguidores Mecânicos; 6) Seguidores Magnéticos 7) Seguidores Ópticos 8) Seguidores Acústicos 9) Seguidores Inerciais 10) Seguimento do Olho 2.4.2.7 Tecnologias de seguimento para ambientes de realidade virtual Partindo da necessidade de seguir a posição e orientação da cabeça em ambientes de Realidade Virtual, [Rolland et Al., 2000] apresenta uma classificação hierarquizada de sistemas de seguimento baseada no(s) princípio(s) físico(s) de operação de cada sistema. São identificados 6 princípios físicos de funcionamento: 1) Tempo de voo (radiolocação clássica por triangulação) 2) Varrimento Espacial 3) Avaliação Inercial 4) Ligações Mecânicas 5) Avaliação da diferença de fase 6) Avaliação directa do campo Nesta abordagem classificativa distinguem-se ainda várias sub-classes para cada um dos princípios físicos, assim como se distinguem os sistemas baseados num único principio físico dos baseados em mais de um e denominados híbridos. 33 Uma Taxonomia da Realidade Aumentada Pela simplicidade de identificação do principio físico subjacente a cada sistema, o que permite uma classificação intuitiva, e a qualidade de caracterização obtida, o que simplifica a comparação de diferentes sistemas, a taxonomia aqui proposta e usada pode constituir uma alternativa vantajosa aos critérios classificativos usados mais à frente para caracterização dos sistemas de seguimento de um Sistema de Realidade Aumentada. 2.4.2.8 Seguimento do movimento humano baseado em técnicas de visão computacional [Moeslund et Al., 2001] ao abordar o seguimento do movimento humano através de técnicas de visão computacional enfatiza a estrutura geral de um sistema para tal vocacionado e os vários tipos de informação processada, apresentando os seus resultados divididos em quatro etapas: 1) Inicialização: que inclui fundamentalmente a calibração da câmara, a adaptação às características da cena e inicialização do modelo. 2) Seguimento: o estabelecimento de relações coerentes do corpo como um todo ou de membros individuais entre quadros. 3) Estimação da pose: o processo de identificação da forma como o corpo humano ou de membros individuais estão configurados numa dada cena. 4) Reconhecimento: nem sempre presente, o reconhecimento do movimento é normalmente encarado como uma etapa de pós-processamento em que o movimento capturado é classificado como pertencendo a um de vários tipos de acção. Este artigo foi particularmente relevante para a definição da sub-taxonomia de caracterização dos sistemas de seguimento ópticos. Nesta sub classe de sistemas recorremos à divisão aqui proposta em sistemas de seguimento passivos, baseados em marcas e activos. 2.4.2.9 Taxonomia para classificação de ambientes de realidade virtual [Zeltzer, 1992] – Propõe uma taxonomia para classificação de ambientes de Realidade Virtual de acordo com o seu comportamento relativamente ao utilizador. A taxonomia consiste em três dimensões escalares que definem um espaço tridimensional para sistemas gráficos de simulação: 34 Uma Taxonomia da Realidade Aumentada 1) Autonomia: descreve a sofisticação e dinâmica do modelo que define o mundo. 2) Interacção: mede o grau em que as acções do utilizador podem afectar o que acontece no mundo virtual. 3) Presença: mede a fidelidade sensorial e profundidade (i.e quantos sentidos são afectados e a qualidade desse efeito) Cada dimensão é medida por um escalar entre 0 e 1. Um ponto de coordenadas (1,1,1) no cubo AIP representa “objectos completamente autónomos que agem e reagem de acordo com o estado da simulação e que reagem de igual forma às acções do(s) participantes humanos. Além disso, a simulação sensorial oferecida aos participantes no ambiente virtual é indistinguível da que se esperaria de um ambiente físico real. Esta taxonomia oferece uma boa ferramenta conceptual para organizar a compreensão dos sistemas de Realidade Virtual e avaliar o seu comportamento, apesar de não ser claro como quantificar rigorosamente as suas dimensões, acabando isso por ficar ao critério de quem classifique os sistemas. Para obviar a esta clara subjectividade tentou-se extrair da literatura de uma maneira geral e dos sistemas de RA nela descritos as características que pudessem de alguma forma definir, com um mínimo de objectividade, os parâmetros classificativos propostos por Zeltzer. Note-se que, ao tentar classificar ambientes de Realidade Aumentada com esta taxonomia acabámos sempre a caracterizar, não o ambiente aumentado na sua totalidade, mas apenas o ambiente virtual, razão porque acabámos por recorrer a esta taxonomia para classificar e caracterizar o modelo virtual. 2.4.2.10 Taxonomia dos sistemas de apresentação de realidade misturada Se bem que em [Milgram et Al., 1994] possamos encontrar uma proposta de taxonomia dos dispositivos de visualização para ambientes de realidade misturada (Mixed Reality Visual Displays) a verdade é que, por um lado, essa taxonomia tem como principal objectivo, segundo as palavras do autor, suportar uma discussão (...) sobre a qualidade dos dispositivos desenvolvidos em cada campo aplicacional, e por outro lado extravasa em muito os sistemas 35 Uma Taxonomia da Realidade Aumentada de Realidade Aumentada, classificando-os num dos extremos do seu eixo de Virtualidade (Virtuality Continuum). A suportar a ideia de que a taxonomia proposta por Paul Milgram não se adequa às necessidades do presente trabalho pode-se argumentar da seguinte forma: 1) Ronald Azuma no seu Estado da Arte da Realidade Aumentada [Azuma, 1997] refere de passagem o artigo de Milgram para enquadrar a RA no Continuum de Virtualidade das Realidades Misturadas, mas não usa a taxonomia proposta quando se trata de descrever os sistemas de RA actualmente em funcionamento, antes optando por uma descrição em termos de campos aplicacionais (i.e. Medicina, Produção e Manutenção, Anotação e Visualização, Teleoperação de Robots, Lazer, Aeronáutica Militar) e, em seguida, em termos de uma abordagem das áreas mais problemáticas, ou interessantes para investigação na RA, nomeadamente: tecnologias de visualização, alinhamento espacial e sincronização temporal (registration) , e sensores. 2) Ainda em [Azuma, 1997] quando se trata de comparar os requisitos dos sistemas de Realidade Virtual com os de Realidade Aumentada, essa comparação recai, implícita se bem que não explicitamente, sobre três subsistemas, nomeadamente: sistema gerador da cena virtual, sistema de apresentação, sistemas de seguimento. 3) Citando como exemplo os sistemas descritos em [Kutulakos et Al., 1998] e [Seo et Al., 2000] que apesar de recorrerem à terminologia proposta em [Milgram et Al., 1994], não usam a sua taxonomia, verificamos que se o fizessem, e considerando: a) o caracter qualitativo da taxonomia proposta por Paul Milgram, e b) a semelhança, em termos qualitativos, dos modelos virtuais gerados por ambos os sistemas, teriam uma classificação virtualmente idêntica, mascarando desta forma a profunda diferença tecnológica entre: a) uma metodologia de cálculo que funciona num espaço afim, como a proposta em [Kutulakos et Al., 1998], e que por isso não permite usar 36 Uma Taxonomia da Realidade Aumentada as tradicionais linguagens e pacotes de software gráficos baseados em sistemas de coordenadas tridimensionais euclidianos, e b) uma outra metodologia que, por funcionar num convencional espaço euclidiano tridimensional, como é o caso da proposta em [Seo et Al., 2000], permite recorrer às comuns linguagens e pacotes de software gráficos para geração de modelos tridimensionais e sua inserção num ambiente tridimensional. 4) Considerando a argumentação de [Widerholdt, 2001] sobre a utilidade das ontologias: «uma ontologia só é passível de definir se o seu campo aplicacional for reduzido, uma ontologia só é útil se a sua granulosidade for adequada ao seu campo aplicacional» e, considerando ainda que uma taxonomia não é mais do que uma ontologia estruturada, muitas vezes, de forma hierárquica, mas não obrigatoriamente, atrevemo-nos a afirmar que a reduzida aplicabilidade da taxonomia para Ambientes de Realidade Misturada talvez se deva a uma granulosidade inadequada que leva a classificar sistemas de RA qualitativamente diferentes de uma mesma, ou quase semelhante, forma. 5) A taxonomia proposta por Milgram permite classificar os dispositivos de apresentação em termos de objectivos a atingir ou da qualidade final do sistema (quais os graus de extensão de conhecimento sobre o mundo, de metáfora de presença, de fidelidade de reprodução), enquanto para o desenvolvimento de novos sistemas com base nos existentes nos parece imprescindível começar por caracterizar, cuidadosamente, cada sistema em termos das tecnologias e metodologias usadas por cada subsistema, e só depois, verificar o grau de qualidade obtido com essas tecnologias e metodologias. Concluindo sobre a argumentação apresentada, parece-nos que o cruzamento da taxonomia proposta em [Milgram et Al., 1994] com a que se propõem nesta dissertação, pode permitir escolhas mais claras e fundamentadas das tecnologias e metodologias necessárias para a obtenção da qualidade exigida pelo sistema de RA a implementar. Desta forma arriscaríamos afirmar que o sistema caracterizador 37 Uma Taxonomia da Realidade Aumentada consubstanciado no TARCAST pode, e, quanto a nós deve, ser visto como uma fundamentação tecnológica e metodológica da taxonomia qualitativa proposta por Paul Milgram. 2.5 TARCAST: Taxonomia Proposta Abordam-se em seguida vários aspectos da taxonomia proposta, nomeadamente os pressupostos que assume, os princípios em que se baseia e os valores semânticos de cada característica identificada. A sintaxe completa da taxonomia apresenta-se no Apêndice I. A sintaxe foi especificada em inglês a fim de permitir uma maior divulgação e um entendimento generalizado por parte da comunidade de investigadores que se dedicam à Realidade Aumentada. Como se pôde entrever do que ficou dito em 2.4, a taxonomia por nós proposta assume alguns pressupostos e segue alguns princípios, nomeadamente: 2.5.1 Pressupostos: 2.5.1.1 Para taxonomias 1) Apesar de a “ponta visível do iceberg” consistir nos diferentes elementos classificados de acordo com a taxonomia, a parte relevante de uma taxonomia consiste nas características identificadas que permitem fazer a distinção entre sistemas e portanto conduzem à sua classificação, por outras palavras: o fundamental são os critérios que dão lugar à classificação. 2) A escolha de um modelo do tipo hierárquico para a classificação apresenta várias vantagens sobre outros modelos, nomeadamente: a. Em relação a modelos meramente lineares, permite acrescentar novas “classes”. b. Em relação a modelos do tipo orientado a objectos, força a inclusão das novas classes em categorias já existentes. 38 Uma Taxonomia da Realidade Aumentada 2.5.1.2 Para uma taxonomia de sistemas de RA 3) Qualquer sistema de RA inclui, pelo menos, os cinco subsistemas identificados em 2.3.5. 4) Nos casos em que os cinco subsistemas não sejam fisicamente independentes, é sempre possível separá-los conceptualmente, identificá-los e caracterizá-los. 2.5.2 Princípios 1) É orientada pelas tecnologias e metodologias usadas em cada sistema. 2) Mais do que em classificar, preocupa-se em extrair de cada subsistema os parâmetros necessários a uma caracterização o mais objectiva possível das potencialidades e limitações de cada tecnologia ou metodologia usadas. 3) Caracteriza os sistemas de acordo com as tecnologias e metodologias usadas em cada um dos cinco subsistemas identificados. 4) Sempre que exista uma taxonomia geralmente aceite e aplicável, no sentido de oferecer critérios classificativos tecnológicos ou metodológicos, recorre a essa taxonomia para classificar os subsistemas. 2.5.3 Semântica dos Critérios Classificativos 2.5.3.1 Sistemas de realidade aumentada Os Sistemas de Realidade Aumentada são caracterizados de acordo com os cinco subsistemas identificados em 2.3.5 como obrigatoriamente presentes num sistema de RA, e, caso estejam presentes, os três subsistemas de seguimento potencial, mas não obrigatoriamente, incluídos num sistema de RA e identificados em 2.3.6. As características não associáveis a um dos subsistemas são consideradas características globais do Sistema de Realidade Aumentada. As seis características globais identificadas são: 1) Chave: número inteiro que identifica univocamente cada sistema de RA. 2) Título: nome dado ao Sistema de RA pelos seus autores, na sua ausência deve recorrer-se a um nome usado numa referência bibliográfica. 39 Uma Taxonomia da Realidade Aumentada 3) Áreas aplicacionais: áreas em que o sistema de RA encontra aplicação ou para as quais foi projectado. 4) Tipo de Sistema: Se é uma metodologia, uma tecnologia ou uma aplicação baseada ou não numa das plataformas de desenvolvimento de Sistemas de RA existentes. 5) Número de utilizadores simultâneos: quantidade de utilizadores que pode interagir com o sistema em cada momento. 6) Interacção entre utilizadores: é ou não possível a interacção entre utilizadores. 2.5.3.2 Sistemas de captação de imagem Apesar de aplicável na sua generalidade à classificação de sistemas de captação de imagem, a taxonomia proposta em [Naimark, 1991] salienta a correlação entre as tecnologias de captação e de apresentação de imagem. Na taxonomia proposta preferimos separar claramente os sistemas de captação dos sistemas de apresentação e deixar que, caso isso se verifique, a correlação entre eles transpareça aquando da caracterização dos diferente sistemas implementados ou da classificação das tecnologias usadas. Para a classificação dos Sistemas de Captação de Imagem foram identificadas as seguintes cinco características relevantes: 1) Tipo de Captação: O conceito de Tipo de Captação coincide completamente com a definição proposta por [Milgram et Al., 1994] e descrita em 2.2.3 para a visão directa e indirecta. 2) Dinâmica: O SCI é considerado estático nos casos em que não se pode mover, o que implica que a interacção com o ambiente de RA se dá a outro nível que não o visual a fim de manter a coerência com a definição de [Azuma, 1997] e dos comentários de 2.2.2.1. O SCI é considerado móvel em todos os restantes casos. 3) Dimensões da Imagem Recolhida: O conceito de Dimensões da Imagem Recolhida abarca as imagens monoscópicas, estereoscópicas e multiescópicas tal como definidas em [Naimark, 1991]. 40 Uma Taxonomia da Realidade Aumentada 4) Calibração: Uma característica fundamental para a escolha do SCI a usar num sistema de RA é a sua dependência da necessidade de calibração prévia ou não. Neste sentido foram já desenvolvidas metodologias de utilização de SCI que não requerem a sua prévia calibração [Kutulakos et Al., 1998] [Seo et Al., 2000]. A grande maioria dos sistemas de RA documentados recorre a marcas de referência (Marcas Fiduciais), i.e. a objectos com geometria conhecida, inseridos no mundo real e que vão permitir calcular a matriz de calibração da câmara, com recurso a métodos de Visão Computacional. Outro interessante caso documentado recorre a feixes de laser para calibrar a câmara [Nakajima, 1999] [Braz, 2000]. Destinguem-se os sistemas que não necessitam de calibração, os que recorrem a marcas fiduciais e, numa terceira categoria, os que recorrem a sistemas activos de calibração, como sejam, por exemplo, feixes laser ou sistemas de ultrasons. 5) Tecnologia: O conceito de Tecnologia do SCI coincide com o tipo de dispositivo usado para captar a imagem do mundo real. Listam-se os diferentes dispositivos documentados na literatura [Azuma, 1997], [Milgram, 1994], [Braz, 2000], mas nada impede que <Outros> dispositivos sejam entretanto identificados e acrescentados à lista. 2.5.3.3 Sistemas geradores de modelos virtuais Sendo comummente aceite para a classificação de ambientes virtuais, a taxonomia proposta em [Zeltzer, 1992] serviu como base para a classificação dos objectos virtuais presentes num ambiente de RA. Apresentam-se em seguida os parâmetros caracterizadores que poderão vir a permitir, através de, por exemplo, um simples método de ponderação de coeficientes, classificar os ambientes virtuais presentes em sistemas de RA com a citada taxonomia. Notese, no entanto, que alguns outros aspectos relevantes para a caracterização dos modelos virtuais usados em sistemas de RA não se enquadram, pelo menos explicitamente, na classificação de Zeltzer, como seja o conhecimento sobre o mundo real. 41 Uma Taxonomia da Realidade Aumentada A caracterização do Sistema Gerador do Modelo Virtual é feita de acordo com os sentidos que permite excitar. A relevância dada à caracterização da componente gráfica justifica-se pelo âmbito do presente trabalho, mas nada impede a expansão dos restantes componentes. A classificação do modelo gráfico deve fazer-se de acordo com as seguintes seis características: 1) Grau de Realismo Gráfico: O modelo virtual pode ir do mais simples plano, usado em sistemas de etiquetagem do mundo real, até representações baseadas em imagens reais. Foram identificados sistemas com representações: 2D, | Fio de Arame a Cinzento, | Fio de Arame a Cor, | 3D Cinzento, | 3D Colorido, | Realístico, | Real, 2) Extraído do Mundo Real: O modelo virtual pode ter como base informação sobre objectos reais ou não. Em algumas aplicações de RA à cirurgia guiada por imagem, o modelo virtual é construído tendo como base elementos do mundo real [Braz, 2000]. 3) Conhecimento Sobre o Mundo Real: coincide completamente com a descrição apresentada em [Milgram et Al., 1994] para Extent of world knowledge. Foram identificadas três categorias de sistemas: Nenhum Conhecimento, | Segmentado, | Segmentado e Etiquetado. 4) Dinamismo: O Modelo Virtual é ou não dinâmico, isto é, modifica-se ou não ao longo do tempo, independentemente da interacção com o utilizador. 5) Interactividade: O modelo virtual reage ou não à interacção com o utilizador 6) Tecnologia: as características relacionadas com a tecnologia usada abarcam os conceitos de Plataforma de Hardware, Sistema Operativo e Linguagem Gráfica. A caracterização do modelo virtual deve incluir ainda, pelo menos, uma menção à existência de modelos virtuais para os restantes sentidos, nomeadamente: 1) Audição: Audição Sim | Audição Não 2) Tacto: Tacto Sim | Tacto Não 3) Olfacto: Olfacto Sim | Olfacto Não 4) Paladar: Paladar Sim | Paladar Não 42 Uma Taxonomia da Realidade Aumentada 2.5.3.4 Sistemas misturadores de imagem [Azuma, 1997] identifica duas tecnologias de mistura de imagem: óptica e vídeo, e caracteriza-as em termos das vantagens e desvantagens de cada uma delas. Para a presente caracterização segue-se de perto a discussão apresentada por Azuma, alterando o termo vídeo para electrónico querendo com esta alteração realçar o carácter da tecnologia que processa os canais de imagem. De salientar que os dois tipos de tecnologias implicam a especificação de características radicalmente diferentes. Assim sendo é necessário caracterizar o Sistema de mistura como sendo: 1) Óptico 2) Electrónico E em seguida cada uma das duas tecnologias com as características inerentes a cada uma delas, no caso da tecnologia electrónica, ainda segundo [Azuma, 1997] importa diferenciar se a mistura é feita por: 1) Chroma Keying ou 2) Baseada em Informação sobre Profundidade, Caso o sistema misturador de imagem seja óptico descrevem-se as principais características como sejam a percentagem de luz proveniente do mundo real que o meio misturador translúcido reflecte e a presença ou não de filtragem de determinados comprimentos de onda [Azuma, 1997]. 2.5.3.5 Sistema de apresentação Um sistema de visualização pode ser caracterizado pelos 5 conceitos de que em seguida se apresentam os respectivos valores semânticos. 1) Tecnologia: A tecnologia de visualização usada pode basear-se num dos quatro dispositivos listados: Optical see-through HMD, Video see-through HMD, Monitor, Projector. 2) Ponto de Vista do Utilizador: De Acordo com [Milgram et Al., 1994] os dispositivos de visualização dividem-se nos que colocam o utilizador no centro do mundo, ou egocêntricos, de que são exemplos qualquer tipo de HMD e alguns tipos de sistemas baseados em projectores, e naqueles que colocam o 43 Uma Taxonomia da Realidade Aumentada utilizador fora do mundo observado, os exocêntricos, de que um exemplo típico é o vulgar ecrã de computador. 3) Escala: De acordo com [Milgram et Al., 1994] os sistemas de visualização podem dividir-se entre os que permitem representar o mundo observado num factor de escala 1:1, ou ortoscópicos, e aqueles que não o permitem. 4) Cor: Quantidade de cores passíveis de reproduzir com o dispositivo de apresentação em número de bits necessários para as representar: 1 bit |8 bits |16 bits |24/32 bits. 5) Frequência de refrescamento: Quantidade de quadros apresentados por segundo. 2.5.3.6 Sistemas de seguimento De acordo com [Azuma, 1997] o maior dos obstáculos que, por si só, impede a construção de sistemas de RA eficazes, reduz-se aos requisitos quanto a sistemas de seguimento que reportem a localização do utilizador e dos objectos do ambiente real com elevada precisão e longo raio de acção. Aí, aponta-se como sendo o mais provável dos caminhos evolutivos o recurso a sistemas de seguimento complexos que recorram a diferentes tecnologias, por forma a extrair de cada uma as principais potencialidades e eliminar as desvantagens, caminho este que, de facto, de 1997 para cá se tem verificado [Livingston et Al., 1997] [Azuma et Al., 1999] [Auer et Al., 1999], a par, no entanto, de uma clara preponderância no recurso a técnicas de visão computacional para o seguimento de objectos [Klinker et Al., 1999] [Dorfmuller, 1999] [Seibert, 1999]. A procura de uma solução para este problema tem sido uma das mais profícuas áreas de investigação da RA, e senão note-se a quantidade de artigos a ela dedicada. De tudo isto decorre que um dos subsistemas que de facto pode ser considerado como um dos mais relevantes num sistema de RA é também um dos mais difíceis de caracterizar. Desde logo porque a grande maioria dos sistemas de RA existentes recorre a sistemas de seguimento complexos, que incorporam diferentes tecnologias e metodologias, mas além disso, muito trabalho existente sobre dispositivos de seguimento tem sido desenvolvido pelo campo da 44 Uma Taxonomia da Realidade Aumentada biomecânica, onde os critérios classificativos divergem claramente dos critérios usados nos trabalhos sobre Realidade Virtual e Realidade Aumentada. Para a caracterização dos sistemas de seguimento baseamo-nos principalmente em três trabalhos: [Rolland et Al, 2000], os Capítulo 4 e 5 de [Durlach, 1995], um livro de e para especialistas de RV, e [Mulder, 1994] um relatório técnico sobre dispositivos de seguimento de movimento humano da área da biomecânica, cujas últimas actualizações na WEB datam de 1998. Os parâmetros usados para caracterização dos sistemas de seguimento são comuns aos três subsistemas potencialmente existentes num sistema de RA e identificados em 2.3.6, pelo que são aqui apresentados apenas uma vez sob o titulo genérico de Sistemas de Seguimento, mas tendo em consideração que, quando da classificação de um sistema de RA teremos sempre de identificar o objecto seguido (<Tracked Object> na sintaxe do Apêndice I), nomeadamente: 1) Sistema de Captação de Imagem ou SCI, 2) Objectos Reais que se movimentem na cena, 3) Sistema Real de Manipulação de Objectos ou SRMO. As características identificadas como relevantes para a classificação de sistemas de seguimento são as seguintes: 1) Complexidade: Um Sistema de Seguimento dir-se-á Elementar quando envolver apenas uma das tecnologias citadas como elementares em [Durlach, 1995]. Em contraponto considerar-se-á um sistema de seguimento Complexo quando envolver o recurso a mais de uma das tecnologias ou metodologias consideradas elementares. A classificação dos dispositivos elementares de seguimento segue de perto a proposta em [Durlach et Al., 1995]. Note-se que [Mulder, 1994] propõem uma classificação completamente diferente ao sistematizar tecnologias de seguimento do movimento humano, no entanto, ao nível das tecnologias elementares descritas, todos os dispositivos por ele citados se conseguem enquadrar nos tipos de tecnologias apresentados em [Durlach et Al., 1995]. Um único ponto merece no entanto referência, a relevância dada em [Mulder, 1994] aos dispositivos do tipo force ball e 45 Uma Taxonomia da Realidade Aumentada Multibotões aos quais aqui não fazemos referência explicita preferindo incluílos nos dispositivos mecânicos com ligação à terra. 2) Tipo: Distinguem-se aqui três grandes categorias enunciadas em [Moeslund et Al., 2001]: Passive Tracking, Tracking Based on Markers, Active Tracking. 3) Tipo de seguidor activo: Seguindo [Durlach et Al., 1995] enunciam-se 9 tipos de seguidores activos: Goniometer, Earth Grounded, Magnetic, Acoustic, Inertial, Eye Tracker, Structured Light System, Radar, Laser. 4) Características Técnicas: independentemente do tipo de seguidor foram identificadas 12 características relevantes para a classificação de sistemas de seguimento. As características técnicas coincidem quase completamente com as propostas em [Durlach et Al., 1995]. Note-se que a definição das três últimas características : <Facilidade de calibração>, <Complexidade Técnica> ou <Conveniência> são de aferição bastante subjectiva. Optou-se noentanto pela sua manutenção a fim de permitir uma maior correspondência com as descrições de [Durlach et Al., 1995]. Em seguida apresenta-se o significado de cada uma destas características:. 1. Dados Estáticos Rastreados: De acordo com a literatura, nomeadamente [Mulder, 1994], mas também com os diferentes sistemas de RA documentados, os dispositivos de seguimento podem captar apenas ou a posição ou a orientação dos objectos seguidos, caso em que para um sistema de RA se torna necessário combinar mais de um sistema, ou ainda permitir captar simultaneamente as posição e orientação. 2. Resolução: Entenda-se por Resolução o conjunto dos erros de posição e orientação máximos do sistema de seguimento. 3. Erro Posicional Máximo: O conceito de erro posicional máximo é definido como sendo a diferença em milímetros entre a posição de facto do objecto seguido e a posição reportada pelo dispositivo de seguimento em qualquer das três dimensões espaciais. Considerando que alguns dos dispositivos apresentam erros máximos de posição diferentes consoante 46 Uma Taxonomia da Realidade Aumentada se trate da profundidade e da largura ou altura, opta-se aqui por especificar o erro máximo para cada uma das dimensões. 4. Erro Angular Máximo: O conceito de erro máximo de orientação é definido como sendo a diferença em graus entre a orientação de facto do objecto seguido e a orientação reportada pelo dispositivo de seguimento em redor de qualquer dos três eixos de rotação de um sistema Cartesiano. Considerando que alguns dos dispositivos apresentam erros máximos diferentes consoante o plano em que é medido o angulo, optase aqui por especificar o erro máximo no plano perpendicular a cada um dos eixos de um sistema Cartesiano. 5. Taxa de Amostragem: Numero de amostras fornecidas por segundo. 6. Alcance: Distância máxima, em metros, a que o sistema de seguimento permite obter dados fidedignos. 7. Espaço de Trabalho: Caracteriza o Sistema de Seguimento em termos do tipo de área em que pode ser usado. Um sistema modular é aquele que está, à partida, preparado para ser ampliado de forma modular à medida das necessidades, sem que no entanto permita um funcionamento em espaços abertos. 8. Custo: Ordem de grandeza do preço do sistema de seguimento 9. Susceptibilidade à Ocultação: sim ou não 10. Quantidade de medições Simultâneas: Medição Única | Medições Múltiplas | Indeterminado. 11. Facilidade de calibração: Considerando o elevado grau de subjectividade presente no julgamento sobre a complexidade técnica de um sistema de seguimento, optou-se por impor uma escolha reduzida, apenas quatro graus de complexidade, e forçar uma opção mais positiva ou mais negativa como único critério orientador oferecendo um número par de escolhas. Quanto maior mais fácil é a calibração. 12. Complexidade Técnica: Considerando o elevado grau de subjectividade presente no julgamento sobre a complexidade técnica de um sistema de 47 Uma Taxonomia da Realidade Aumentada seguimento, optou-se por impor uma escolha reduzida, apenas quatro graus de complexidade, e forçar uma opção mais positiva ou mais negativa como único critério orientador oferecendo um número par de escolhas. Quanto maior mais complexo é o sistema. 13. Conveniência: Considerando o elevado grau de subjectividade presente no julgamento sobre a conveniência de um sistema de seguimento, optou-se por impor uma escolha reduzida, apenas quatro graus de conveniência, e forçar uma opção mais positiva ou mais negativa como único critério orientador oferecendo um número par de escolhas. Quanto maior o valor mais conveniente é o sistema. 2.5.4 Vantagens Algumas das potenciais vantagens da presente taxonomia são: 1) Pode vir a permitir obter uma classificação para os sistemas de RA de acordo com a taxonomia proposta por Paul Milgram para os Sistemas de Apresentação de Realidade Misturada de forma automática. Bastando para tal especificar um sistema de ponderação para cada característica técnica. 2) Pode vir a permitir classificar os modelos virtuais de acordo com a taxonomia proposta por Zeltzer para os sistemas de realidade Virtual de forma automática, seguindo o mesmo principio enunciado em 1). 3) Realça o facto de algumas das características necessárias para a classificação segundo a taxonomia de Milgram estarem distribuídas pelos diferentes constituintes de um sistema de RA, e desta forma: 4) Permite endereçar de forma mais clara os requisitos globais de um sistema de RA para o subsistema a que devem ser exigidos e permite endereçar os problemas com que se defronta a RA aos subsistemas mais intimamente relacionados com cada um deles. 5) Permite uma procura das características técnicas mais apropriadas ao desenvolvimento de futuros sistemas de RA com base nas tecnologias e metodologias actualmente usadas. 48 Uma Taxonomia da Realidade Aumentada 2.6 TARCAST: Aplicação de Suporte à Caracterização Para suporte ao processo de caracterização dos sistemas de RA com recurso à taxonomia proposta e descrita em 2.5, e cuja sintaxe se especifica no Apêndice I, foi desenvolvida uma aplicação, denominada TARCAST, que, no Apêndice II, se descreve através da especificação de requisitos, da arquitectura global e da arquitectura dos seus principais componentes. O TARCAST foi desenvolvido em paralelo com a taxonomia acima proposta, tendo em determinadas alturas do desenvolvimento da taxonomia servido mesmo como forma de testar a simplicidade de caracterização dos sistemas e identificação de características pertinentes. Note-se que os Objectivos, assim como a Especificação de Requisitos da aplicação foram enunciados no inicio do desenvolvimento da taxonomia, tendo a Arquitectura de Implementação definitiva e apresentada no Apêndice II, sido definida após terminado o desenvolvimento da taxonomia. A aplicação de suporte à caracterização de sistemas de RA está disponível em http://ltodi.est.ips.pt/jbraz/Tarcast/index.htm, sendo actualmente possível: 1) Ver uma resumida descrição da caracterização de todos os sistemas analisados em http://ltodi.est.ips.pt/jbraz/Tarcast/All_Augmented_Reality_System.asp 2) Ver a caracterização completa de cada sistema premindo o nome do sistema requerido na página indicada em 1). 3) Caracterizar novos sistemas de RA em http://ltodi.est.ips.pt/jbraz/Tarcast/registration.htm 4) Obter uma password e um nome de utilizador que permita a qualquer interessado caracterizar novos sistemas de RA e registá-los no TARCAST. 5) Alterar os dados relativos à caracterização de um dado sistema entrando com o nome de utilizador correspondente ao sistema a alterar e respectiva password. 49 Estado da Arte na Realidade Aumentada 50 Estado da Arte na Realidade Aumentada 3 ESTADO DA ARTE NA REALIDADE AUMENTADA 3.1 Introdução Considerando a complexidade de um Sistema de RA, patente nos subsistemas que o constituem e nas relações entre eles, assim como o caracter multidisciplinar da Realidade Aumentada que daí advém, um possível caminho a tomar na apresentação das tecnologias e metodologias actuais seria o adoptado em [Azuma et Al., 2001], nomeadamente, começar pela descrição dos mais recentes desenvolvimentos nas tecnologias de suporte (apresentação, seguimento da câmara e do ambiente, calibração do sistema de captação de imagem), para em seguida comentar os principais problemas com que ainda se defronta a RA (seguimento e registration) e terminar apresentando as áreas aplicacionais a que se tem alargado esta área de investigação. Parece-nos, no entanto, que tal abordagem pode não ser a mais produtiva se tivermos em conta os objectivos já enunciados no inicio da presente dissertação, nomeadamente a necessidade de encontrar as tecnologias e metodologias que melhor possam servir ao desenvolvimento de um Sistema de RA para aplicação na visualização aumentada do esforço físico de atletas. Motivo porque não a seguimos. Optámos antes por abordar o Estado da Arte na Realidade Aumentada a partir da estrutura do TARCAST, descrevendo os sistemas de RA, mais e menos actuais, em termos dos seus subsistemas, esperando que esta sistematização nos permita mais tarde encontrar as tecnologias e metodologias aplicáveis à solução do nosso problema. Para tal, tentando resumir aqui os resultados da caracterização com o TARCAST, seleccionaram-se sete dos vinte e cinco sistemas de RA até ao momento caracterizados com o TARCAST, tendo como critérios a sua representatividade em termos dos sistemas existentes e dos subsistemas utilizados, assim como a sua potencial aplicabilidade a futuros desenvolvimentos do VIDA. Seguindo esta abordagem, o presente Capítulo começa por descrever as principais áreas aplicacionais actualmente abrangidas pela Realidade Aumentada, ao referir as “Características 51 Estado da Arte na Realidade Aumentada Globais” de um Sistema de RA, passando em seguida a descrever cada um dos subsistemas identificados na secção 2.3.6. Para terminar esta introdução faltam ainda algumas notas sobre a forma de apresentação adoptada nas restantes secções do presente Capítulo: 1) As tabelas (3.1 a 3.5) que em seguida se apresentam resumem as saídas de dados do TARCAST onde, para um melhor entendimento, os títulos foram traduzidos para português. 2) Ao referir diferentes sistemas, tanto apresentamos as referências bibliográficas relevantes sobre cada um deles, como, no caso de terem sido caracterizados com o TARCAST, optamos por referir os sistemas através do seu identificador único, atribuído de forma automática pelo TARCAST, colocando-o entre parêntesis (id). Esta última opção afigura-se-nos viável, se bem que pouco ortodoxa, na medida em que a caracterização com o TARCAST implicou normalmente o recurso a diferentes fontes bibliográficas todas elas documentadas no sistema de informação disponível na web. 3.2 Caracterização Global Nos últimos anos a RA viu os seus campos aplicacionais alargarem-se das tradicionais áreas da construção e manutenção [Webster et Al., 1996], da telerobótica [Drascic et Al., 1993], ou da engenharia biomédica [Braz, 2000], para o entretenimento (16), o design têxtil (25), a moda (11), as visitas guiadas a locais de interesse arqueológico (15) ou museulógico [Bimber et Al., 2000]. Se considerarmos que até 1998 só o GRASP (14) aparecia, e adjective-se de passagem, parcamente, documentado como uma plataforma de desenvolvimento de Sistemas de RA [Ahlers et Al., 1994], e que, daí para cá, podemos contabilizar já mais duas plataformas de desenvolvimento – o MARS (19) e o Studierstube (23) - e um pacote de software de reconhecimento de imagem para calibração e seguimento de câmaras de vídeo – o ARToolkit (20). Talvez possamos encontrar aqui a principal alavanca para o franco alargamento das áreas 52 Estado da Arte na Realidade Aumentada aplicacionais da RA, e, além disso, para o crescente número de Sistemas Colaborativos - para os quais o Studierstube está particularmente vocacionado ao aceitar vários e diferentes sistemas de apresentação e de interacção em simultâneo – , e de Sistemas Móveis – para os quais tanto o MARS como o Studierstube são adequados em função da sua portabilidade e sistemas de seguimento passíveis de utilizar. No que respeita à área aplicacional particularmente relevante para a presente dissertação sobreposição de objectos virtuais a seres humanos em movimento -, só o Virtual Fashion Simulator (11), descrito em [Hoshino et Al., 2000] [Hoshino, 2001] e [Hoshino et Al., 2001] aborda esta problemática, e isto apesar da quantidade de trabalhos existentes em Biomecânica sobre reconstrução tridimensional de movimento humano e de que se pode encontrar uma compilação em [Vaughan, 1999]. Na tabela 3.1 podem ver-se os principais campos aplicacionais actualmente abordados pela Realidade Aumentada. ID Nome do Sistema Tipo de Sistema Campo Aplicacional 1 Campo Aplicacional 2 Ano Methodology Calibration Free Perspective Methodology Merging CG Cloth & Humans Fashion 2000 15 ARCHEOGUIDE Mobile AR Outdoor's AR Guided Tours 2001 16 RV-Border Guards Collaborative AR Entertainment Video Games 1999 18 MCAR - Mobile Collaborative AR Mobile AR Collaborative work Studierstube Based 2001 19 MARS - Mobile Augmented Reality System AR Development Platform Mobile AR Interactive AR 1999 20 ARToolkit Development Software Package Image Recognition Image Registration 2000 23 STUDIERSTUBE AR Development Platform Collaborative Work Multi Display Systems 2001 24 ARAS - Augmented Reality Aided Surgery Studierstube Based AR Aided Surgery Image Guided Surgery 2002 25 Nähstube: Simulating Cloth Studierstube Based Fashion Textile Design 1998 30 Two-Handed direct interaction with ARToolkit ARToolkit based Interactive AR Interaction Device 2002 31 Wearable Augmented Reality System Mobile AR Guided Tours 2002 5 Calibration Free AR in Perspective 11 Virtual Fashion Simulator MARS Based Tabela 3.1: Resumo das Características globais de uma amostra dos Sistemas de RA caracterizados com o TARCAST 53 2000 Estado da Arte na Realidade Aumentada 3.3 Sistemas de Captação de Imagem Os sistemas analisados e caracterizados com o TARCAST, demonstram que, de 1999 para cá, se inverteu a tendência anteriormente verificada, de uma clara predominância dos sistemas baseados na captação de imagem por câmaras de vídeo (HMD-Video-See-Through), estando actualmente bastante vulgarizados os sistemas baseados na Visão Directa (HMD-Optical SeeThrough, ou apenas See-Trough como são actualmente denominados). A actual preponderância dos sistemas baseados na Visão Directa, pode verificar-se comparando a Tecnologia [de captação de imagem] usada pela amostra de sistemas apresentada na Tabela 3.2, com a data desses sistemas apresentada na Tabela 3.1. A grande contribuição para tal evolução, pode, quanto a nós, ser atribuída ao surgimento de vários sistemas (18)(24)(25) baseados no Studierstube (23), uma plataforma de desenvolvimento de sistemas de AR que recorre a óculos see-throug, os i-glasses da i-oVision (entretanto descontinuados). No que respeita à dinâmica dos sistemas de captação de imagem verifica-se que a mobilidade do SCI é uma característica omnipresente (veja-se a coluna “Dinamismo” da tabela 3.2), se bem que ainda seja possível encontrar sistemas baseados numa câmara de vídeo estática (11). ID Forma de Visualização Dinâmismo Dimensões Tecnologia 5 Indirect Vision Mobile Stereoscopic Image Video Camera 11 Indirect Vision Static Monoscopic Image Video Camera 15 Indirect Vision Mobile Stereoscopic Image Stereo Video Camera 16 Indirect Vision Mobile Stereoscopic Image Stereo Video Camera 18 Direct Vision Mobile Stereoscopic Image Human Eye 19 Direct Vision Mobile Stereoscopic Image Human Eye 23 Direct Vision Mobile Stereoscopic Image Human Eye 24 Direct Vision Mobile Stereoscopic Image Human Eye 25 Direct Vision Mobile Stereoscopic Image Human Eye 31 Direct Vision Mobile Stereoscopic Image Human Eye Tabela 3.2: Resumo das Características dos Sistemas de Captação de Imagem de uma amostra dos Sistemas de RA caracterizados com o TARCAST 54 Estado da Arte na Realidade Aumentada Interessante ainda, é verificar que apesar de os Sistemas de Captação de Imagem monoscópicos terem praticamente desaparecido dos sistemas de RA, o sistema (11) que mais se aproxima dos requisitos colocados para o VIDA (sobreposição de objectos virtuais a figuras humanas) baseia-se precisamente numa câmara de vídeo monoscópica. Outra área em que os sistemas de imagem monoscópicos mantêm a sua vitalidade é a dos sistema comerciais para sobreposição de imagens virtuais a vídeo teledifundido e brevemente referidos em [Azuma et al., 2001]. 3.4 Caracterização dos Modelos Virtuais A qualidade gráfica dos modelos virtuais usados nos Sistemas de RA tem melhorado de forma sustentada, sendo hoje comuns os modelos virtuais tridimensionais com elevado grau de realismo gráfico (não confundir com foto-realismo, o que ainda está longe de acontecer), mas tal facto não é de estranhar pois já [Azuma, 1994] referia que a qualidade dos modelos gráficos não era então um problema para a Realidade Aumentada. Considerando o caracter utilitário das áreas aplicacionais a que a RA se tem alargado, as quais, no fundamental pretendem dotar o utilizador com informação adicional sobre o mundo real, não é de estranhar que a grande maioria dos modelos virtuais seja extraída do mundo real incorporando sobre ele diversos graus de conhecimento, que vão da simples segmentação do modelo em partes constitutivas até à sua etiquetagem, conferindo-lhes desta forma valor semântico. Como se pode observar, comparando a coluna sobre o “Conhecimento sobre o mundo real” da Tabela 3.3 com a Tabela 3.1, apenas em trabalhos na área dos jogos (16), ou de experiências com metodologias (5), são encontrados modelos virtuais que fogem a essa regra. No que respeita à dinâmica dos modelos, a maioria permanece estática, não se alterando ao longo do tempo, talvez e apenas porque as aplicações a que se destinam não o exigem, uma vez que as linguagens gráficas usadas para os gerar em nada impedem esse dinamismo. De entre os sistemas analisados só o destinado a testar padrões e texturas em tecidos (25) se altera ao longo do tempo, e, neste caso, também em função do objecto sobre o qual é estendido. 55 Estado da Arte na Realidade Aumentada Quanto à possibilidade de interagir com o modelo, devemos escaloná-la em diferentes patamares. A generalidade dos modelos virtuais que incorporam os Sistemas de RA analisados suportam a simples navegação de acordo com os requisitos impostos em 2.2.1 (quando a posição do “observador” é alterada o modelo é correctamente alinhado com a nova posição num espaço tridimensional), se bem que, para referir “a excepção que confirma a regra”, numa aplicação de navegação em espaços etiquetados [Kourogi et Al., 1999], são apresentadas simples fichas bidimensionais associadas a imagens panorâmicas previamente “etiquetadas” que não requerem um alinhamento tridimensional mas tão só uma sobreposição ao mundo real observado pelo utilizador. Os sistemas analisados que recorrem a este tipo de modelos não recorrem a um Sistema de Manipulação de Objectos e como exemplo podemos referir o Archeoguide (15) em que o “visitante” dos locais de interesse arqueológico se limitam a passear em redor dos modelos virtuais que reproduzem o aspecto dos monumentos de acordo com a arquitectura historicamente documentada. Outro nível de interactividade será a possibilidade de aplicar ao modelo virtual simples rotações e translações que permitam ver o modelo de várias perspectivas. Este é o patamar a partir do qual consideramos o modelo como sendo interactivo, e em que incluímos os sistemas (5)(11)(16)(18)(25)(30). Finalmente, num terceiro e mais elevado nível de interactividade colocamos os modelos virtuais passíveis de deformar através de um qualquer Sistema Manipulador de Objectos. Desta classe de sistemas são exemplos a ferramenta de interacção baseada no ARToolkit (30), o modelo do Virtual Fashion Simulator, que acompanha o movimento do utilizador (11). Considerando que o objectivo final do VIDA é enquadrável no problema genérico da visualização de dados, a construção do modelo virtual do ser humano ocupa um lugar central nesta dissertação. Do ponto de vista da biomecânica [Winter et Al., 1990] apresenta o problema dos requisitos a que deve obedecer um modelo do corpo humano. Vários outros trabalhos, como por exemplo [Anderson et Al., 1995] [Bers, 1996] [McKenna et Al., 1996] podem constituir bons contributos para situações complexas. Pelo que à presente dissertação interessa, a especificação [Hanim, 2001] permite construir o modelo do corpo humano 56 Estado da Arte na Realidade Aumentada necessário com base nos dados passíveis de obter através de técnicas passivas de visão computacional recorrendo a marcas no corpo do atleta. ID Dinâmico Interactivo 5 Realistic Qualidade Gráfica Extraído de Objectos Reaist Conhecimento sobre o Mundo Real FALSE None FALSE TRUE 11 Realistic TRUE Segmented TRUE TRUE 15 Realistic TRUE Segmented & Labeled FALSE FALSE 16 Realistic FALSE None TRUE TRUE 18 3D Wireframe TRUE Segmented & Labeled FALSE TRUE 24 Realistic TRUE Segmented & Labeled FALSE FALSE 25 Realistic TRUE None TRUE TRUE 30 Realistic TRUE Segmented & Labeled TRUE TRUE 31 2D Color TRUE Segmented & Labeled FALSE FALSE Tabela 3.3: Resumo das Características dos Modelos Virtuais de uma amostra dos Sistemas de RA caracterizados com o TARCAST 3.5 Sistemas Misturadores de Imagem Foram identificados três tipos de sistemas misturadores de imagem: 1) Aqueles em que a imagem do modelo virtual é sobreposta ao mundo real por mistura de vídeo (5)(11)(15) usados em Sistemas de RA baseados em sistemas de visualização Video see-through (5)(15) ou janela sobre o mundo (11). 2) Os Sistemas de RA em que a mistura se faz opticamente num espelho semireflexivo (18)(19)(23)(24)(25)(31). 3) Sistemas projectivos em que a mistura se faz por projecção da imagem do modelo virtual sobre o próprio mundo real, de que é exemplo o Augmented Surfaces descrito em [Rekimoto et Al., 1999]. Destas três classes, as duas primeiras estão vastamente documentadas nos sistemas apresentado na Tabela 3.4. 57 Estado da Arte na Realidade Aumentada Da comparação dos Sistemas Misturadores de Imagem com os sistemas que lhe estão a montante (Sistema de Captação de Imagem e Sistema Gerador de Modelos Virtuais) pode-se concluir que a opção a tomar está claramente restringida e relacionada com aqueles sistemas. ID 5 Nome do Sistema Tecnologia Calibration Free AR in Perspective Electronic: depth based 11 Virtual Fashion Simulator Electronic: depth based 15 ARCHEOGUIDE Electronic: depth based 16 RV-Border Guards Electronic: depth based 18 MCAR - Mobile Collaborative AR Optical 19 MARS - Mobile Augmented Reality System Optical 23 Studierstube Optical 24 ARAS - Augmented Reality Aided Surgery Optical 25 Nähstube: Simulating Cloth Optical 31 Wearable Augmented Reality System Optical Tabela 3.4: Resumo das Características dos Sistemas Misturadores de Imagem de uma amostra dos Sistemas de RA caracterizados com o TARCAST 3.6 Sistemas de Apresentação Tal como anteriormente referido aquando da caracterização dos Sistemas de Captação de Imagem, nos últimos anos os sistemas de apresentação Optical see-through têm ganho uma nova visibilidade, ilustrada na quantidade de sistemas que os utilizam (18)(19)(23)(24)(25(31), tal como se pode ver na Tabela 3.5. Uma mais detalhada panorâmica dos sistemas de apresentação pode encontrar-se em [Azuma et Al., 2001] uma vez que de 2001 para cá o panorama não se tem alterado, nem em oferta de dispositivos, nem na qualidade dos mesmos. Os, nesse artigo referidos, sistemas da Sony e da Olympus mantém as mesmas características técnicas. Sobre o então inovador virtual retinal display descrito em [Johnston et Al., 1995] [Pryor et Al., 1998] [Chinthammit et Al., 2001] nada mais foi entretanto publicado. Os painéis de cristais líquidos (LCD) a que é acoplada uma câmara de vídeo oferecem uma “janela sobre o mundo”, e são usados em diversos sistemas. 58 Estado da Arte na Realidade Aumentada ID Tecnologia 5 Video Stereo HMD Ponto de Vista Escala Egocentric Orthoscopic 11 Desktop Monitor Exocentric Nonorthoscopic 15 Video Stereo HMD Egocentric Orthoscopic 16 Video Stereo HMD Egocentric Orthoscopic 18 Optical Stereo HMD Egocentric Orthoscopic 19 Optical Stereo HMD Egocentric Orthoscopic 23 Optical Stereo HMD Egocentric Orthoscopic 24 Optical Stereo HMD Egocentric Orthoscopic 25 Optical Stereo HMD Egocentric Orthoscopic 31 Optical Stereo HMD Egocentric Orthoscopic Tabela 3.5: Resumo das Características dos Sistemas de Apresentação de uma amostra dos Sistemas de RA caracterizados com o TARCAST 3.7 Sistemas de Seguimento Para a presente dissertação importa diferenciar os sistemas de seguimento relativamente ao objecto seguido. A maior relevância nos trabalhos estudados é dada ao seguimento de Sistemas de Captação de Imagem, mas, no enquadramento da presente dissertação, ganha particular relevância o seguimento de objectos reais em movimento. Poderíamos quanto a estes últimos subdividir a problemática do seguimento dos manipuladores reais e de outros objectos, mas tal parece-nos irrelevante na medida em que as tecnologias e metodologias são vastamente semelhantes, desde que se exclua o caso dos braços robóticos. 3.7.1 Sistemas de Seguimento do Sistema de Captação de Imagem Sendo a problemática da determinação da posição e orientação do dispositivo de captação de imagem crucial para qualquer sistema de RA, é natural que muito cedo ele se tenha posto e que muito trabalho tenha desde então sido desenvolvido nessa área. Assim, desde que o problema foi inicialmente equacionado têm-se observado desenvolvimentos quer na área da auto-calibração, por exemplo [Faugeras et Al., 1992], quer sedimentado os seus princípios teóricos enquadrados na área da fotogrametria analítica, como em [Haralick et Al., 1993] (pp 125-180), ou, mais exactamente na da geometria projectiva e epipolar, como em [Luong et Al., 1993] [Luong et Al., 1996] [Mohr et Al., 1996]. 59 Estado da Arte na Realidade Aumentada De entre as numerosas metodologias práticas para calibração de câmara [Tuceryan et Al., 1995] [Oishi et Al., 1996], particular generalização tem ganho a utilização do ARToolkit [Kato et Al., 2000] [Billinghurts et Al., 2001], no entanto continua na ordem do dia a necessidade de uma maior simplicidade e robustez no processo de calibração como se pode depreender da troca de ideias em curso na mailing list dedicada ao ARToolkit11. De particular originalidade e relevância no âmbito da determinação da matriz de transformação entre os sistemas de coordenadas da imagem e do mundo parecem-nos os trabalhos de investigação tendentes a eliminar ou ultrapassar, como se prefira, a necessidade de conhecimento métrico sobre o mundo real para calibração da câmara. Neste tipo de abordagens incluem-se os trabalhos iniciados em 1996 por Kutulakos e Vallino [Kutulakos et Al., 1996], desenvolvido em 1998 no artigo “Calibration Free Augmented Reality” [Kutulakos et Al., 1998], que recorre a uma modelização ortográfica da câmara, não podendo por isso gerar vistas com perspectiva, e à representação afim de objectos. Esta metodologia é relativamente simples e rápida mas não consegue apresentar uma verdadeira visualização em perspectiva dos objectos virtuais só sendo por isso aplicável nos casos em que o objecto virtual seja visível a grande distancia em que o modelo de projecção afim seja praticamente válido. O fio condutor deste trabalho é seguido em [Cornelis et Al., 2001]. Outra abordagem no sentido da eliminação de informação métrica sobre o mundo real para calibração da câmara é a seguida por Yongduek Seo e Ki Sang Hong, em [Seo et Al., 2000] cujas diferenças são discutidas logo na introdução desse artigo. 3.7.2 Sistemas de Seguimento de Objectos Reais em Movimento Apesar de não apresentarem particular interesse para a presente dissertação, importa referir aqui a original utilização do ARToolkit no seguimento da mão enquanto manipulador de objectos reais ou virtuais descrito em [Veigl et Al., 2002], e a utilização de apontadores laser em ambientes colaborativos baseados em sistemas projectivos como o descrito em [Rekimoto et Al., 1999]. 11 As discussões podem ser seguidas em : http://www.topica.com/lists/arforum/read/ 60 Estado da Arte na Realidade Aumentada 3.7.2.1 Sistemas de Seguimento do Corpo Humano A problemática genérica do seguimento do movimento humano é abordada por [Moeslund et Al., 2001] num estado da arte que foi já brevemente descrito em 2.4.1.7 aquando da descrição dos principais contributos para a elaboração do TARCAST. São aí identificadas duas grandes classes de sistemas de seguimento óptico: activos e passivos, considerando-se os sistemas que recorrem a marcas como sendo uma excepção dentro dos sistemas passivos. Considerando as condições laboratoriais em que o sistema pertinente para esta dissertação deverá funcionar, interessam-nos especialmente os sistemas passivos que recorrem à colocação de marcas no corpo humano como forma de facilitar a detecção na imagem, com precisão e robustez, das juntas ósseas que permitirão construir o modelo virtual do atleta. O recurso a marcas particularmente reflexivas na gama dos infravermelhos e portanto passíveis de captar por dispositivos próprios, tal como descritos, por exemplo, em [Dorfmuller, 1999] apesar de muito comum e particularmente robusto, pode não ser necessário. Caso se coloque o problema de existirem diferentes figuras humanas em movimento na cena – o que pode ser evitado nas condições laboratoriais descritas no Apêndice I – existem metodologias, como a descrita, por exemplo em [Araki et Al., 2000], para extrair os contornos de diferentes figuras em movimento e seleccionar a relevante para o estudo do movimento. Um dos problemas apontados pelos clientes do VIDA como restritivos do recurso exclusivo à digitalização automática do movimento dos atletas prende-se com o facto de as marcas colocadas sobre a pele terem tendência a deslocar-se relativamente à posição dos ossos. Este problema pode vir a encontrar solução em metodologias como a proposta em [Tsap et Al., 2001]. 61 Estado da Arte na Realidade Aumentada . 62 Concepção do VIDA: Duas Arquitecturas Realizadas e uma Proposta 4 CONCEPÇÃO DO VIDA: DUAS ARQUITECTURAS REALIZADAS E UMA PROPOSTA 4.1 Objectivos Do VIDA De acordo com a análise do problema e a especificação de requisitos, referidas no Capitulo 1 e detalhadamente descritas no Apêndice III, em síntese, o objectivo do VIDA - a aplicação desenvolvida - é permitir visualizar o esforço muscular desenvolvido por atletas na execução de exercício físico, após os treinos e de forma graficamente intuitiva. Como resultado do trabalho realizado durante o desenvolvimento do VIDA, em conjunto com os elementos do LB/FMH, foi, posteriormente, avançada a possibilidade de automatizar a etapa de recolha dos dados cinéticos, recorrendo para tal a técnicas de visão computacional e, simultaneamente, estudar a possibilidade de transformar o ambiente de trabalho num ambiente de Realidade Aumentada que permitisse visualizar o esforço muscular do atleta não só após a execução do exercício mas também durante a sua execução. Para este segundo objectivo, e no âmbito da evolução do ambiente de recolha e visualização de dados para um sistema de RA, foi desenvolvida uma segunda versão do VIDA. O presente Capítulo descreve de forma breve e introdutória ambas as versões, terminando com a apresentação de uma possível solução para a introdução de um ambiente de RA no Laboratório de Biomecânica da FMH. Na secção 4.2.1 apresenta-se a solução realizada, actualmente em funcionamento no Laboratório de Biomecânica da FMH e que permite visualizar o esforço muscular desenvolvido por atletas na execução de exercício físico uma vez terminada a recolha de dados. Na secção 4.2.2 descreve-se a arquitectura da aplicação desenvolvida com o objectivo de experimentar a viabilidade de uma futura realização de um ambiente de RA. A secção 4.2.3 descreve a arquitectura proposta para um sistema de RA como forma de visualização de dados biomecânicos no Laboratório de Biomecânica da FMH. Por não representar particular interesse para a presente dissertação omite-se em seguida o processamento dos dados fisiológico, aliás, anteriormente descrito em [Braz, 1999]. 63 Concepção do VIDA: Duas Arquitecturas Realizadas e uma Proposta Nas figuras que documentam as três arquitecturas referidas adoptou-se uma terminologia gráfica em tudo semelhante à dos diagramas de fluxo em que os cilindros representam o armazenamento de dados, os rectângulos o seu processamento e as setas o sentido de circulação dos dados 4.2 Realizações do Sistema VIDA Tanto a versão actualmente em funcionamento no Laboratório de Biomecânica da FMH (Figura 4.1) como a evolução experimental para um sistema de RA (Figura 4.2) seguem de perto a descrição genérica do funcionamento de um sistema de Realidade Aumentada tal como descrito em [Vallino, 2001], nomeadamente: 1. O Mundo Real observado consiste no Atleta em Movimento. 2. A imagem do Mundo Real é obtida por um Sistema de Captação de Imagem (SCI), o qual, no presente caso, consiste em duas ou mais câmaras de vídeo fixas. Cada uma das câmaras executa a projecção perspectiva do mundo 3D num plano de imagem 2D. Os parâmetros intrínsecos (distância focal e distorção da lente) e extrínsecos (posição e orientação) da câmara determinam o que é projectado no plano de visualização. 3. O Sistema de Seguimento do Atleta (SSA), que no presente caso recorre às imagens captadas pelas câmaras do Sistema de Captação de Imagem permite conhecer em cada instante a posição tridimensional de cada uma das 21 juntas ósseas pertinentes para a geração do modelo virtual do atleta [Braz, 1999]. No presente caso o SSA pode ser considerado um caso particular do Sistema de Seguimento de Objecto Reais mencionado na Figura 2.7. 4. O Sistema de Seguimento do Sistema de Captação de Imagem (SSSCI) permite conhecer em cada instante os parâmetros intrínsecos e extrínsecos do SCI. 5. A geração do objecto virtual (manequim do atleta e músculos do atleta) é executada por um Sistema Gráfico., baseado no GLUT – OpenGL Utility Toolkit [Kilgard, 1996]. 64 Concepção do VIDA: Duas Arquitecturas Realizadas e uma Proposta 2. Sistema de Captação de Imagem (SCI): 3 câmaras de vídeo fixas 3. Sistema de Seguimento do Atleta 3.1 Armazenamento das sequências de vídeo das 3 câmaras com o movimento do atleta 4. Sistema de Seguimento do SCI 3.2 Digitalização das posições das juntas ósseas do Atleta 4.1 Armazenamento de 10 quadros de vídeo com o dispositivo de calibração 3.3 Coordenadas 2D no Sistema de Coordenadas de Imagem das juntas ósseas do atleta em cada quadro de vídeo de cada uma das 3 câmaras 4.2 Digitalização manual de 12 pontos do dispositivo de calibração 3.4 Cálculo da posição de cada junta óssea em coordenadas do Mundo 4.3. - Coordenadas 2D no Sistema de Coordenadas de Imagem dos pontos de calibração da câmara 4.4. - Coordenadas 3D no Sistema de Coordenadas do Mundo dos 12 pontos de calibração da câmara 4.6 - Matriz de calibração da câmara 4.5. Cálculo da matriz de calibração da câmara 3.5 Coordenadas 3D no Sistema de Coordenadas do Mundo de cada junta óssea Sistema VIDA 1. Mundo Real: Atleta em Movimento 4.7 Cálculo da posição e orientação das câmaras reais. 4.8 Posição e orientação das 3 câmaras de vídeo fixas. Manequim Virtual Músculos Virtuais 6. Sistema Misturador de Imagem: módulo de mistura Câmara Virtual 5. Sistema Gráfico: módulo de construção de objectos gráficos 7. Sistema de Apresentação: Monitor 2D Figura 4.1: Arquitectura da versão realizada do sistema VIDA. 65 Concepção do VIDA: Duas Arquitecturas Realizadas e uma Proposta O Sistema Gráfico necessita dos dados provenientes do SSA (3) sobre a imagem do mundo real por forma a reproduzir correctamente o manequim e os músculos virtuais; e dos dados provenientes do SSSCI (4) por forma a gerar uma câmara virtual/sintética alinhada com a câmara real. 6. No modo de apresentação aumentado a imagem dos músculos virtuais é “misturada” com a do Mundo Real no Sistema Misturador de Imagem para formar a imagem de realidade aumentada que é apresentada no Sistema de Apresentação (7). 7. No modo de apresentação interactivo a imagem do manequim e dos músculos virtuais é apresentada no sistema de apresentação (7) sendo a projecção do modelo 3D no plano de imagem 2D controlada através da interacção do utilizador com o Sistema Gráfico (5). No entanto, as soluções diferem no que toca aos módulos implementados, tal como se depreende das descrições das figuras 4.1 e 4.2 que em seguida se apresentam. 4.2.1 Solução Realizada para Visualização Pós-Exercício No seu actual estado de desenvolvimento o VIDA permite visualizar os dados biomecânicos em dois modos: 1) Um primeiro, desenvolvido em resposta às necessidades sentidas pelo Laboratório de Biomecânica da Faculdade de Motricidade Humana (LB/FMH), e que permite observar o esforço muscular de um indivíduo directamente sobre um modelo virtual tridimensional manipulável desse indivíduo. O modelo virtual tridimensional do corpo humano é animado com os dados cinéticos relativos ao movimento do indivíduo e colorido com os dados fisiológicos sobre o esforço muscular desenvolvido pelo indivíduo durante a execução de exercício físico. 2) Um segundo modo de visualização permite projectar o modelo virtual do indivíduo sobre as sequências de vídeo a partir das quais foi construído esse mesmo modelo, criando um ambiente de Realidade Misturada, intermédio, entre o processo tradicional de visualização e o ambiente de Realidade Aumentada desejável. 66 Concepção do VIDA: Duas Arquitecturas Realizadas e uma Proposta Observando a figura 4.1, podemos descrever o sistema da seguinte forma: O Mundo real (1), i.e., o Atleta em Movimento, é observado por um sistema de captação de imagem (2) composto por 3 câmaras de vídeo fixas. 4.2.1.1 Seguimento do Sistema de Captação de Imagem Considerando que as câmaras de vídeo estão fixas durante todo o processo de captação de dados, o Sistema de Seguimento do Sistema de Captação de Imagem (4) só necessita de calcular a posição e orientação das câmaras no início do processo de captação de dados. - O procedimento de calibração das três câmaras de vídeo passa pela captação e armazenamento de cerca de dez quadros de vídeo em que sejam claramente visíveis 12 pontos, de que sejam conhecidas as coordenadas no sistema de coordenadas do mundo, doravante denominados pontos de calibração (bloco 4.1 da figura 4.1). - Para cada quadro de vídeo, um operador humano digitaliza manualmente as posições no Sistema de Coordenadas da Imagem (SCoI) de cada um dos doze pontos de calibração, entendendo-se por digitalização a determinação das coordenadas de cada um dos 12 pontos de calibração no SCoI e a sua correspondência às respectivas coordenadas no Sistema de Coordenadas do Mundo (SCoM) (bloco 4.2 da figura 4.1). - As matrizes com as coordenadas no SCoI e correspondentes coordenadas no SCoM de cada um dos 12 pontos de calibração para cada um dos 10 quadros de vídeo captados (blocos 4.3 e 4.4 da figura 4.1) são passadas para o módulo de cálculo da posição e orientação das câmaras reais (bloco 4.5 da figura 4.1). - Os cálculos necessários para calibração de cada uma das três câmaras de vídeo, i.e. para a determinação das suas posição e orientação em coordenadas do mundo, são descritos mais à frente na Secção 5.4. 4.2.1.2 Seguimento do movimento humano O Sistema de seguimento do atleta (3) permite conhecer em cada quadro de vídeo a posição de cada uma das 21 juntas ósseas pertinentes para a geração do Modelo Virtual do Atleta, doravante denominado Manequim. 67 Concepção do VIDA: Duas Arquitecturas Realizadas e uma Proposta O procedimento de seguimento do movimento do atleta ao longo de todos os quadros de vídeo captados pode ser descrito da seguinte forma: - As sequências de vídeo captadas pelas 3 câmara de vídeo são armazenadas em disco (bloco 3.1 da figura 4.1) - Para cada um dos quadros de vídeo de cada uma das três sequências são digitalizados manualmente por um operador humano os 21 pontos de controlo do corpo do atleta, coincidentes com cada uma das 21 juntas ósseas, entendendo-se por digitalização o processo de determinação das coordenadas 2D no SCoI (bloco 3.2 da figura 4.1). - As coordenadas 2D no SCoI são armazenadas em disco (bloco 3.3 da figura 4.1). - O cálculo da posição 3D em coordenadas do mundo de cada ponto de controlo para cada quadro de vídeo de cada uma das três sequências de vídeo (bloco 3.4 da figura 4.1) é descrito mais à frente na secção 5.4. 4.2.1.3 Dados de entrada Desta forma, os dados de entrada para o Sistema Vida propriamente dito consistem em: - 3 Sequências de vídeo, sincronizadas, com o movimento do atleta (linha cinzenta a cheio na figura 4.1). - As coordenadas 3D no Sistema de Coordenadas do Mundo dos 21 pontos de controlo para cada conjunto de 3 quadros de vídeo sincronizados. (bloco 3.5 na figura 4.1) - A Matriz de calibração da câmara (bloco 4.6 na figura 4.1). 4.2.1.4 Visualização interactiva Para o modo de visualização interactiva do Manequim, o Sistema Gráfico (5) do VIDA, com base nas coordenadas 3D no Sistema de Coordenadas do Mundo dos 21 pontos de controlo para cada conjunto de 3 quadros de vídeo sincronizados, vai construir o Manequim e apresentá-lo no Sistema de Apresentação (7). A construção tridimensional do manequim é descrita detalhadamente, mais à frente na secção 5.4 e a sua animação na secção 5.5. 4.2.1.5 Visualização aumentada Para o modo de visualização aumentada do movimento do atleta: 68 Concepção do VIDA: Duas Arquitecturas Realizadas e uma Proposta - O VIDA começa por calcular a posição e orientação da câmara virtual com base na matriz de calibração da câmara (bloco 4.7 da figura 4.1). - O Sistema Gráfico (5) do VIDA constrói a câmara virtual com base nos dados desse cálculo e em seguida projecta o modelo dos músculos no plano de imagem coincidente com o da câmara real. - A imagem dos músculos alinhada espacialmente é depois misturada com o respectivo quadro de vídeo no sistema Misturador de Imagem (6). - O quadro de vídeo aumentado com os músculos virtuais é então apresentado num sistema de apresentação (7). 4.2.2 Evolução do VIDA para um Sistema de Realidade Aumentada A versão do VIDA desenvolvida com o intuito de experimentar a viabilidade da realização de um ambiente de Realidade Aumentada no LB/FMH, apresentada na Figura 4.2, pretende verificar a aplicabilidade de técnicas de reconhecimento de imagem para seguimento do movimento do atleta ao longo das sequências de vídeo. Tratando-se de uma versão destinada a um estudo de viabilidade, serve para tratar um caso elementar e tem em consideração as seguintes restrições: - No que respeita a uma futura implementação de um sistema de RA, não aborda a problemática do seguimento em tempo real, e, consequentemente, a apresentação em tempo real do movimento do atleta. - No que concerne às técnicas de Visão Computacional, não aborda a problemática do tratamento de oclusões. - Destina-se a seguir apenas uma das pernas do indivíduo em movimento. - Baseia-se na execução em modo pipe-line de 3 aplicações distintas. Tendo em mente estes quatro pressupostos e baseando-nos na figura 4.2 podemos descrever o seu funcionamento da seguinte forma: - O Mundo real (1), i.e., uma das pernas do indivíduo em movimento, é observado por um sistema de captação de imagem (2) composto por 2 câmaras de vídeo fixas. 69 Concepção do VIDA: Duas Arquitecturas Realizadas e uma Proposta 4.2.2.1 Dados de entrada Os dados de entrada para a aplicação desenvolvida no âmbito do estudo de viabilidade consistem em: - 2 Sequências de vídeo com a estrela de calibração [Pascoal, 2001], para calibração das 2 câmaras fixas. - 2 sequências de vídeo com o movimento da perna analisada. - 1 matriz com as posições de cada um dos 10 pontos da estrela de calibração em coordenadas tridimensionais no Sistema de Coordenadas do Mundo 4.2.2.2 Seguimento do Sistema de Captação de Imagem Considerando que as câmaras de vídeo estão fixas durante todo o processo de captação de dados, o Sistema de Seguimento do Sistema de Captação de Imagem (4) só necessita de calcular a posição e orientação das câmaras no início do processo de captação de dados. - O procedimento de calibração das duas câmaras de vídeo começa com a captação, e armazenamento de, pelo menos, um quadro de vídeo em que sejam claramente visíveis 10 pontos, de que sejam conhecidas as coordenadas no sistema de coordenadas do mundo, doravante denominados pontos de calibração (bloco 4.1 da figura 4.2). - Para cada quadro de vídeo, são detectados, com recurso a um algoritmo de reconhecimento de imagem, os 10 pontos da estrela de calibração [Pascoal, 2001] e determinadas as coordenadas de cada um dos 10 pontos de calibração no sistema de coordenadas da imagem e a sua correspondência às respectivas coordenadas no sistema de coordenadas do mundo (bloco 4.2 da figura 4.2). - As matrizes com as coordenadas no Sistema de Coordenadas da Imagem (4.3.) e correspondentes coordenadas no Sistema de Coordenadas do Mundo (4.4) de cada um dos 10 pontos de calibração são passadas para o módulo de cálculo da posição e orientação das câmaras reais (bloco 4.5 da figura 4.2). 70 Concepção do VIDA: Duas Arquitecturas Realizadas e uma Proposta Sistema VIDA 2. Sistema de Captação de Imagem: 2 câmaras de vídeo fixas 3. Sistema de Seguimento do Atleta (Desenvolvido em MatLab) 4. Sistema de Seguimento do Sistema de Captação de Imagem (Desenvolvido em MatLab) 3.1 - Armazenamento das sequências de vídeo das 2 câmaras com o movimento do atleta 4.1 - Armazenamento de 2 quadros de vídeo com o dispositivo de calibração 3.2 - Reconhecimento automático dos 5 pontos de controlo na perna do indivíduo em movimento para cada quadro de cada uma das 2 sequências de vídeo 4.2 – Reconhecimento automático de 10 pontos do dispositivo de calibração 3.3 - Coordenadas 2D no Sistema de Coordenadas de Imagem dos 5 pontos de controlo de cada quadro de vídeo de cada uma das 2 sequências de vídeo 3.4 - Cálculo da posição dos cinco pontos de controlo em coordenadas do mundo 3.5 - Coordenadas 3D no Sistema de Coordenadas do Mundo de cada junta óssea 4.3. - Coordenadas 2D no Sistema de Coordenadas de Imagem dos pontos de calibração das câmaras 1. Mundo Real: Atleta em Movimento 4.4 - Coordenadas 3D no Sistema de Coordenadas do Mundo dos pontos de calibração da câmara 4.5 - Cálculo das matrizes de calibração das câmaras 4.6 - Matrizes de calibração das câmaras 4.7 - Cálculo da posição e orientação das câmaras reais. 6. Sistema Misturador de Imagem: módulo de mistura 4.8 - Posição e orientação das 2 câmaras de vídeo 5. Sistema Gráfico: módulo de construção de objectos gráficos. (Implementa do em C++) Câmara Virtual Manequim Virtual Músculos Virtuais 7. Sistema de Apresentação: Monitor 2D Figura 4.2: Arquitectura da versão do sistema VIDA usada no estudo de viabilidade 71 Concepção do VIDA: Duas Arquitecturas Realizadas e uma Proposta - Os cálculos necessários para calibração de cada uma das duas câmaras de vídeo, i.e. para a determinação das suas posição e orientação em coordenadas do mundo, são descritos mais à frente na Secção 5.4. 4.2.2.3 Seguimento do movimento humano O Sistema de seguimento da perna do indivíduo em movimento (3) permite conhecer em cada quadro de vídeo a posição de cada uma das 5 juntas ósseas pertinentes para a geração do modelo virtual da perna O procedimento de seguimento do movimento da perna ao longo de todos os quadros de vídeo captados pode ser descrito da seguinte forma: - As sequências de vídeo captadas pelas 2 câmaras de vídeo são armazenadas em disco (bloco 3.1 da figura 4.2) - Para cada um dos quadros de vídeo de cada uma das duas sequências são detectados e reconhecidos, com recurso a um algoritmo de reconhecimento de imagem os 4 pontos de controlo da perna, coincidentes com cada uma das 4 juntas ósseas (bloco 3.2 da figura 4.2). - As coordenadas 2D no Sistema de Coordenadas de Imagem dos 4 pontos de controlo em cada quadro de vídeo de cada uma das 2 sequências de vídeo são armazenados (bloco 3.3 da figura 4.2). - O cálculo da posição 3D em coordenadas do mundo de cada ponto de controlo para cada quadro de vídeo de cada uma das duas sequências de vídeo (bloco 3.4 da figura 4.2) é descrito mais à frente na secção 4.2. - As Coordenadas 3D no Sistema de Coordenadas do Mundo de cada um dos 5 pontos de controlo, armazenadas no bloco 3.5, são passadas para o Sistema Gráfico (5) a fim de gerar o modelo virtual da perna seguida e dos respectivos músculos. 4.2.2.4 Visualização Interactiva e Aumentada Os modos de visualização da versão do VIDA usada no estudo de viabilidade são em tudo coincidentes com as da versão anterior pelo que a sua descrição é em tudo semelhante às anteriormente apresentadas na secção 4.2.1.4 e 4.2.1.5. 72 Concepção do VIDA: Duas Arquitecturas Realizadas e uma Proposta 4.2.3 Arquitectura Proposta para um Sistema de Realidade Aumentada Considerando os resultados obtidos com a versão experimental descrita em 4.2.2, nomeadamente: - a relativa facilidade na identificação das marcas colocadas no corpo do atleta. - as possibilidades de optimização do algoritmo de reconhecimento de marcas ainda por explorar [Haralick et Al., 1993]. - a precisão da reconstrução tridimensional de um segmento articulado, no caso em causa a perna esquerda do atleta em movimento. Uma possível arquitectura de alto nível para um sistema de visualização aumentada de dados biomecânicos poderá passar pela simples conversão do sistema off-line descrito em 4.2.2 num sistema de tempo-real como o apresentado na Figura 4.3. As principais implicações de tal conversão passam por: 1) Deixar inalterado o Sistema de Seguimento do Sistema de Captação de Imagem. 2) Prescindir do armazenamento das sequências de vídeo como etapa prévia ao seu processamento, passando a detecção dos 21 pontos de controlo do corpo do atleta a ser feita em tempo real, isto é, quadro de vídeo a quadro de vídeo. 3) Antecipando a possibilidade de existirem marcas ocultas, será necessário introduzir um módulo de processamento de oclusões. Note-se que, na arquitectura proposta, o Sistema de Captação de Imagem é composto por câmaras de vídeo fixas, dispostas a distâncias e com inter-orientações que não permitem construir representações estereoscópicas para o Sistema de Visualização. No entanto, considerando que são conhecidas as posições tridimensionais, num sistema de coordenadas de referência, dos 21 pontos de controlo com que é construído o modelo virtual do atleta, nada obsta a que se possa recorrer ao ARToolkit [Kato et Al., 2000] [Billinghurts et Al., 2001] como tecnologia de base para a visualização aumentada através de um HMD vídeosee-through. 73 Concepção do VIDA: Duas Arquitecturas Realizadas e uma Proposta Arquitectura Proposta 3. Sistema de Seguimento do Atleta 2. Sistema de Captação de Imagem: 4 câmaras de vídeo fixas 4. Sistema de Seguimento do Sistema de Captação de Imagem 3.1 - Reconhecimento automático dos 21 pontos de controlo no indivíduo em movimento nos 4 quadros provenientes das 4 câmaras de vídeo 4.1 - Armazenamento de 4 quadros de vídeo com o dispositivo de calibração 3.2 – Tratamento de Oclusões 1. Mundo Real: Atleta em Movimento 4.2 - Digitalização manual de 12 vértices do dispositivo de calibração 3.3 - Coordenadas 2D no Sistema de Coordenadas de Imagem dos 21 pontos de controlo nos 4 quadros de vídeo 3.4 - Cálculo da posição dos 21 pontos de controlo em coordenadas do mundo 4.3. - Coordenadas 2D no Sistema de Coordenadas de Imagem dos pontos de calibração da câmara 4.4. - Coordenadas 3D no Sistema de Coordenadas do Mundo dos pontos de calibração da câmara 4.5. - Cálculo da matriz de calibração da câmara 3.5 - Coordenadas 3D no Sistema de Coordenadas do Mundo de cada junta óssea 4.6. - Matrizes de calibração das câmaras 4.7 - Cálculo da posição e orientação das câmaras reais. 6. Sistema Misturador de Imagem: módulo de mistura 4.8 - Posição e orientação das 4 câmaras de vídeo Câmara Virtual Manequim Virtual 5. Sistema Gráfico Músculos Virtuais 7. Sistema de Apresentação: Monitor 2D Figura 4.3: Arquitectura proposta para um Sistema de Visualização Aumentada de Dados Biomecânicos 74 Sistema VIDA: Principais Blocos Funcionais 5 SISTEMA VIDA: PRINCIPAIS BLOCOS FUNCIONAIS 5.1 Introdução Na actualidade, a utilização de sistemas optométricos de análise de imagem está generalizada em estudos de natureza biomecânica. Estes Sistemas permitem o cálculo de parâmetros cinemáticos referentes a objectos estacionários ou em movimento, no interior de um espaço de registo calibrado. Para isso, utilizam imagens de vídeo recolhidas por várias câmaras em simultâneo, as quais são posteriormente digitalizadas, utilizando-se como informação pertinente pontos que identificam segmentos ou centros articulares. A localização destes pontos é destacada pela colocação de marcas retroreflectoras, esféricas ou circulares, na superfície da pele. A imagem recolhida pelas várias câmaras, de forma sincronizada, permite a reconstrução tridimensional da posição e orientação de um determinado ponto no espaço utilizando-se para isso o algoritmo da Transformação Linear Directa (doravante denominado DLT de Direct Linear Transformation).[Pascoal, 2001] 5.2 Problema Se pretendermos, de alguma forma, estruturar o problema apresentado pelo laboratório de Biomecânica da FMH na sua totalidade, podemos afirmar que passa por: 1) Detecção automática, em cada quadro de vídeo proveniente de cada uma das duas câmaras usadas, das marcas iridescentes que assinalam as posições dos centros articulares do indivíduo em andamento. 2) Calculo da posição tridimensional no sistema de coordenadas do mundo das acima referidas marcas com base nas posições bidimensionais da imagem de cada marca em coordenadas dos quadros de vídeo. 3) Calculo da posição e orientação da câmara de vídeo. 4) Construção de um modelo virtual do indivíduo com base nos resultados de 2). 5) Síntese de uma câmara virtual coincidente com a posição e orientação da câmara calculada em 3). 75 Sistema VIDA: Principais Blocos Funcionais 6) Projecção do modelo criado em 4) no plano de imagem. 7) Sobreposição da projecção obtida em 6) ao quadro de vídeo. O problema em causa pode ser reduzido ao caso mais simples da detecção de uma mesma marca iridescente em dois quadros de vídeo correspondentes a um mesmo instante no tempo e oriundos de diferentes câmaras com diferentes localizações e posterior cálculo da posição tridimensional da marca, em coordenadas do mundo, com base nas posições bidimensionais das imagens da marca em cada um dos dois quadros, em coordenadas do quadro de vídeo. 5.3 Reconhecimento de Marcas O Módulo de Reconhecimento de Marcas implementado na versão do VIDA usada para experimentação com vista a uma futura realização de um sistema de RA, aborda o primeiro passo do problema descrito em 5.2, nomeadamente: a detecção de marcas iridescentes em sequências de vídeo num ambiente laboratorial controlado. Considerando que o presente trabalho pretende ser apenas e tão só um estudo de viabilidade técnica, para o reconhecimento automático das marcas iridescentes recorreu-se a um algoritmo de reconhecimento de marcas desenvolvido propositadamente para as sequências captadas e a elas adaptado, na medida em que são conhecidas metodologias para a solução dos problemas tomados como pressupostos resolvidos, nomeadamente: - Com o objectivo de limitar a área total de procura das marcas na imagem podemos recorrer à subtracção de duas imagens consecutivas, aplicando em seguida o algoritmo de procura à proximidade do subconjunto da imagem em que foi “detectado” movimento. [Haralick et Al., 1993]. - Com o objectivo de acelerar a procura na imagem de uma segunda câmara, das marcas já detectadas na imagem proveniente das marcas de uma primeira câmara, podemos procurá-las ao longo da recta epipolar. [Seo et Al., 2000] [Zhang, 1996]. - Com o objectivo de acelerar a procura de marcas nos quadros subsequentes de uma sequência de vídeo podemos limitar a procura a uma proximidade das coordenadas onde foi detectada a marca no quadro anterior. 76 Sistema VIDA: Principais Blocos Funcionais 5.3.1 Algoritmo Baseado na Detecção Centróides O desenvolvimento do algoritmo para reconhecimento das marcas que assinalam as juntas ósseas na perna direita do indivíduo passou pela experimentação de diversos algoritmos, tendo a escolha final recaído num algoritmo de detecção de centróides que, apesar de pouco flexível, foi possível adaptar por forma a detectar de forma correcta as marcas no número de quadros de vídeo consecutivos necessários para a análise do movimento em causa. Este algoritmo passa por: 1) Leitura de um quadro de uma sequência de vídeo. 2) Conversão do quadro numa imagem de intensidades. 3) Limiarização (thresholding) da imagem para conversão em imagem binária. 4) Aplicação de um filtro de dimensões para descartar grandes áreas de elevada intensidade. 5) Baseado no subconjunto da imagem obtido em (4) aplica-se à imagem de intensidades a transformada de Hough [Jain et Al., 1995] para detecção dos centróides correspondentes às marcas. 6) Determinação das coordenadas bidimensionais no sistema de coordenadas da imagem dos centros de massa dos centróides. 7) Determinação da correspondência entre os centros de massa detectados e cada uma das marcas. 5.3.2 Resultados da Detecção de Marcas A utilização do algoritmo descrito em 5.3.1 permitiu detectar todas as cinco marcas, nas duas sequência de quadros provenientes das duas câmaras utilizadas para a posterior reconstrução das posições tridimensionais dos pontos, assim como as marcas da “estrela de calibração”, o dispositivo usado para calibrar as câmaras de vídeo. Na figura 5.1 apresentam-se dois quadros de vídeo, correspondentes a imagens captadas pelas duas câmaras usadas, com as marcas da estrela de calibração detectadas. A tabela 5.1 apresenta as coordenadas das marcas da estrela de calibração no sistema de coordenadas de imagem de cada uma das câmaras e no sistema de coordenadas do mundo tal como 77 Sistema VIDA: Principais Blocos Funcionais especificadas em [Pascoal, 2001]. Na figura 5.2 apresentam-se o quadro inicial e final da sequência recolhida pela câmara da esquerda, com os centros das marcas identificados tal como apresentados pela função de detecção de marcas. Na tabela 5.2 podem consultar-se os valores das coordenadas dos centros de massa das marcas que assinalam os centros intersegmentares da perna direita do indivíduo em movimento no sistema de coordenadas da imagem da câmara 1. Figura 5.1: Marcas da estrela de calibração detectadas. Tabela 5.1: Coordenadas das marcas da estrela de calibração no sistema de coordenadas do mundo e nos sistemas de coordenadas de imagem de cada uma das câmaras. Na figura 5.3 apresentam-se os quadros inicial e final da sequência recolhida pela câmara da esquerda com os centros das marcas identificados tal como são apresentados pela função de detecção de marcas. A tabela 5.3 apresenta as coordenadas dos centros de massa das marcas 78 Sistema VIDA: Principais Blocos Funcionais que assinalam os centros intersegmentares da perna direita do indivíduo em movimento no sistema de coordenadas da imagem da câmara 2. Figura 5.2: Quadros inicial e final, captados pela câmara 1, da esquerda, em que estão assinaladas as marcas detectadas. Tabela 5.2: Coordenadas, no sistema de coordenadas da imagem da câmara 1, das cinco marcas colocadas nos centros intersegmentares do indivíduo em movimento. 79 Sistema VIDA: Principais Blocos Funcionais Figura 5.3: Quadros inicial e final, captados pela câmara 2, da direita, em que estão assinaladas as marcas detectadas. Tabela 5.3: Coordenadas, no sistema de coordenadas da imagem da câmara 2, das cinco marcas colocadas nos centros intersegmentares do indivíduo em movimento. 80 Sistema VIDA: Principais Blocos Funcionais 5.4 Reconstrução Tridimensional 5.4.1 Descrição do Método A gravação de imagens com um dispositivo de digitalização pode ser descrita, a exemplo da figura 5.4, em termos do mapeamento do objecto O, descrito no Sistema de Coordenadas do Mundo, na imagem I’, descrita no Sistema de Coordenadas do Plano de Projecção do Digitalizador. Para efeitos de visualização, esta imagem gravada I’ será novamente projectada na imagem I descrita no Sistema de Coordenadas do Plano de Projecção do Dispositivo de Visualização, este último também denominado Plano de Imagem. De forma simplificada, pode-se relacionar directamente o objecto e a imagem projectada tal como se vê na figura 5.5. O ponto O do objecto é directamente projectado no ponto I do plano de imagem. O ponto N da figura 5.5 é o centro de projecção e forma com os pontos O e I uma linha recta, verificando a condição de colinearidade. Na figura 5.5 são definidos dois sistemas de coordenadas: o Sistema de Coordenadas do Mundo (sistema XYZ) e o sistema de coordenadas do plano de imagem (o sistema UV). Os sistemas ópticos do dispositivo de digitalização e do dispositivo de visualização, mapeiam o ponto O, no Sistema de Coordenadas do Mundo, no ponto I, em coordenadas do plano de imagem. Na figura 5.5 [x y z] são as coordenadas do ponto O no sistema de coordenadas do mundo e [uw vw] são as coordenadas da imagem I no sistema de coordenadas do plano de imagem. O I N1 N2 I’ Lente da Câmara I’ Lente do Projector Figura 5.4: Mapeamento do objecto O na imagem I’ do plano de projecção do digitalizador e, em seguida, da imagem I’ na imagem I do plano de projecção do dispositivo de visualização. 81 Sistema VIDA: Principais Blocos Funcionais Sendo [x0 y0 z0] as coordenadas do centro de projecção N, no sistema de coordenadas do mundo, o vector A, desenhado de N para O exprime-se como [x-x0 y-y0 z-z0]. Adicionando o eixo W, tal como se vê na figura 5.5, ao sistema de coordenadas do plano da imagem, por forma a torná-lo tridimensional, as coordenadas em W dos pontos da imagem são sempre 0, e a posição 3D da imagem I torna-se [uw vw 0]. Na figura 5.5 introduziu-se um novo ponto P, denominado Ponto Principal, localizado na intersecção do denominado Eixo Principal com o plano da imagem. O Eixo Principal é a linha perpendicular ao plano da imagem e que passa pelo ponto N. Desta forma o eixo principal é de facto paralelo ao eixo W. Na figura 5.5, d, denominada Distância Principal, é a distância entre os pontos P e N. Sendo [uw0 vw0 0] as coordenadas do Ponto Principal P, no sistema de coordenadas do plano de imagem, as coordenadas do centro de projecção são [uw0 vw0 d], e o vector B, de N para I, terá como coordenadas: [uw-uw0 vw-vw0 -d] Z V [x y z] O A [uw vw 0] I Y B W d X P [uw0 vw0 0] N [x0 y0 z0] U Figura 5.5: Sistemas de coordenadas do mundo e do plano de imagem De acordo com a condição de colinearidade, os vectores A e B, da figura 5.5 formam um linha recta única. Se os dois vectores fossem definidos no mesmo sistema de coordenadas, a condição de colinearidade seria equivalente a [1]: B ( I ) = cA( I ) [1] 82 Sistema VIDA: Principais Blocos Funcionais em que c é uma constante de redimensionamento e B(I) e A(I) são os vectores A e B no sistema de coordenadas do plano da imagem. Note-se no entanto que o vector A está descrito no sistema de coordenadas do mundo enquanto o vector B está descrito no sistema de coordenadas do plano da imagem. A fim de relacionar estes dois vectores temos de os expressar num mesmo sistema de coordenadas. Uma forma de o fazer é exprimir o vector A no sistema de coordenadas do plano da imagem. Seja R a matriz de transformação do sistema de coordenadas do mundo no sistema de coordenadas do plano de imagem, então: A( I ) ⎡ r11 = R ⋅ A = ⎢⎢ r21 ⎢⎣ r31 r13 ⎤ r23 ⎥⎥ ⋅ A r33 ⎥⎦ r12 r22 r32 [2] em que A(I) é o vector A descrito em termos do sistema de coordenadas do plano da imagem. Substituindo [2] na condição de colinearidade [1], obtém-se [3.1] na forma compacta ou [3.2] na forma matricial: B = cRA ⎡uw − vw 0 ⎤ ⎡ r11 ⎢u − v ⎥ = c ⎢ r ⎢ w w0 ⎥ ⎢ 21 ⎢⎣ −d ⎥⎦ ⎢⎣ r31 r12 r22 r32 [3.1] r13 ⎤ ⎡ x − x0 ⎤ r23 ⎥⎥ ⎢⎢ y − y0 ⎥⎥ r33 ⎥⎦ ⎢⎣ z − z0 ⎥⎦ [3.2] Reduzindo-o à forma de equações, obtemos o sistema: uw − uw0 = c ⎡⎣ r11 ( x − x0 ) + r12 ( y − y0 ) + r13 ( z − z0 ) ⎤⎦ [4.1] vw − vw0 = c ⎡⎣ r21 ( x − x0 ) + r22 ( y − y0 ) + r23 ( z − z0 ) ⎤⎦ [4.2] − d = c ⎡⎣ r31 ( x − x0 ) + r32 ( y − y0 ) + r33 ( z − z0 ) ⎤⎦ [4.3] 83 Sistema VIDA: Principais Blocos Funcionais resolvendo [4.3] em ordem a c obtemos [5.1]: c= −d ⎡⎣ r31 ( x − x0 ) + r32 ( y − y0 ) + r33 ( z − z0 ) ⎤⎦ [5.1] substituindo [5.1] em [4.1] e [4.2]: ⎡ r11 ( x − x0 ) + r12 ( y − y0 ) + r13 ( z − z0 ) ⎤⎦ u w − uw0 = − d ⎣ ⎡⎣ r31 ( x − x0 ) + r32 ( y − y0 ) + r33 ( z − z0 ) ⎤⎦ ⎡ r21 ( x − x0 ) + r22 ( y − y0 ) + r23 ( z − z0 ) ⎤⎦ vw − vw 0 = − d ⎣ ⎡⎣ r31 ( x − x0 ) + r32 ( y − y0 ) + r33 ( z − z0 ) ⎤⎦ [5.2] Note-se que uw,vw,uw0,vw0 em [5.2] são valores em unidades do sistema de coordenadas do mundo e podem diferir até um factor de escala dos valores obtidos pela digitalização uma vez que estes estarão em unidades do digitalizador. Assumindo que as unidades do digitalizador são diferentes das unidades do sistema de coordenadas do mundo, seja: uw − uw0 = λ u (u − u0 ) vw − vw0 = λ v(v − v0 ) [6] Em que [u v] são as coordenadas do ponto I em unidades do digitalizador, [u0 v0] as coordenadas do ponto principal em unidades do digitalizador, e [λu λv] são os factores de escala para a conversão das unidades do digitalizador nas unidades do Sistema de Coordenadas do Mundo Real. Substituindo [6] em [5.2] resulta: u − u0 = − d ⎡⎣ r11 ( x − x0 ) + r12 ( y − y0 ) + r13 ( z − z0 ) ⎤⎦ λ u ⎣⎡ r31 ( x − x0 ) + r32 ( y − y0 ) + r33 ( z − z0 ) ⎦⎤ d ⎡ r21 ( x − x0 ) + r22 ( y − y0 ) + r23 ( z − z0 ) ⎤⎦ v − v0 = − ⎣ λ v ⎡⎣ r31 ( x − x0 ) + r32 ( y − y0 ) + r33 ( z − z0 ) ⎤⎦ 84 [7] Sistema VIDA: Principais Blocos Funcionais e rearranjando por forma a determinar u e v obtemos [8]: u= L1 x + L2 y + L3 z + L4 L9 x + L10 y + L11 z + 1 [8] L x + L6 y + L7 z + L8 v= 5 L9 x + L10 y + L11 z + 1 onde: L1 = u0 r31 − d u r11 D L2 = u0 r32 − d u r12 D L3 = u0 r33 − d u r13 D L4 = (d u r11 − u0 r31 ) x0 + (d u r12 − u0 r32 ) y0 + (d u r13 − u0 r33 ) z0 D L5 = v0 r31 − d v r21 D L6 = v0 r32 − d v r22 D L7 = v0 r33 − d v r23 D L8 = (d v r21 − v0 r31 ) x0 + (d v r22 − v0 r32 ) y0 + (d v r23 − v0 r33 ) z0 D L9 = r31 D L10 = r32 D L11 = du = d dv = d D = −( x0 r31 + y0 r32 + z0 r33 ) λu λv r33 D Em [8], os parâmetros L1 a L11, denominados parâmetros DLT em [Kwon, 1994], reflectem a relação entre o sistema de coordenadas do mundo e o sistema de coordenadas do plano de 85 Sistema VIDA: Principais Blocos Funcionais imagem, i.e. os valores da matriz de calibração do dispositivo de captação de imagem, no nosso caso, da câmara de vídeo. 5.4.2 Calibração da Câmara A calibração da câmara em relação a um sistema de coordenadas tomado como padrão, passa assim pela determinação dos 11 parâmetros L1 a L11. Rearranjando [8] em ordem aos parâmetros DLT obtemos: ⎡ L1 ⎤ ⎢L ⎥ 2 ⎡ x y z 1 0 0 0 0 −ux −uy −uz ⎤ ⎢ ⎥ ⎡u ⎤ ⎢ ⎥=⎢ ⎥ M ⎢ 0 0 0 0 x y z 1 −vx −vy −vz ⎥ ⎣ ⎦ ⎢L ⎥ ⎣v ⎦ ⎢ 10 ⎥ ⎢⎣ L11 ⎥⎦ [9] De [9] podemos concluir que, para determinar os 11 parâmetros DLT, necessitamos de conhecer as posições tridimensionais [x y z], no sistema de coordenadas do mundo tomado como padrão, e bidimensionais [u v], no sistema de coordenadas do plano de imagem, de pelo menos 6 pontos de controlo. E então [9] pode ser expressa como [10.1] na forma compacta, ou [10.2] na forma matricial expandida para 6 pontos de controlo. XL=U ⎡ x1 ⎢0 ⎢ ⎢ x2 ⎢ ⎢0 ⎢M ⎢ ⎢ x5 ⎢0 ⎢ ⎢ x6 ⎢0 ⎢⎣ y1 0 y2 0 z1 0 z2 0 1 0 0 x1 1 0 0 x2 0 y1 0 y2 0 z1 0 z2 M y5 0 y6 0 M z5 0 z6 0 M M 1 0 0 x5 1 0 0 x6 M 0 y5 0 y6 M 0 z5 0 z6 0 −u1 x1 1 −v1 x1 0 −u2 x2 1 −v2 x2 M M 0 −u5 x5 1 −v5 x5 0 −u6 x6 1 −v6 x6 86 [10.1] −u1 y1 −v1 y1 −u2 y2 −v2 y2 M −u5 y5 −v5 y5 −u6 y6 −v6 y6 −u1 z1 ⎤ ⎡ L1 ⎤ ⎡ u1 ⎤ −v1 z1 ⎥⎥ ⎢⎢ L2 ⎥⎥ ⎢⎢ v1 ⎥⎥ −u2 z2 ⎥ ⎢ L3 ⎥ ⎢u2 ⎥ ⎥⎢ ⎥ ⎢ ⎥ −v2 z2 ⎥ ⎢ L4 ⎥ ⎢ v2 ⎥ M ⎥⎢ M ⎥ = ⎢ M ⎥ ⎥⎢ ⎥ ⎢ ⎥ −u5 z5 ⎥ ⎢ L8 ⎥ ⎢u5 ⎥ −u5 z5 ⎥ ⎢ L9 ⎥ ⎢ v5 ⎥ ⎥⎢ ⎥ ⎢ ⎥ −u6 z6 ⎥ ⎢ L10 ⎥ ⎢u6 ⎥ −u6 z6 ⎥⎥⎦ ⎢⎢⎣ L11 ⎥⎥⎦ ⎢⎢⎣ v6 ⎥⎥⎦ [10.2] Sistema VIDA: Principais Blocos Funcionais Resolvendo [10.1] em ordem a L: (Xt X)L=XtU (Xt X)-1(Xt X)L = (Xt X)-1(XtU) Obtemos: L=(XtX)-1(XtU) 5.4.3 [11] Resultados do Cálculo dos Parâmetros DLT Construindo as matrizes X e U com os dados da tabela 5.1, e calculando [11] através do algoritmo descrito em [Kwon, 1994], obtemos os parâmetros DLT apresentados na tabela 5.4. Tabela 5.4: Parâmetros DLT calculados para as câmaras 1 e 2 5.4.4 Cálculo das Coordenadas 3D das Marcas no Sistema de Coordenadas do Mundo Uma vez determinados os valores da matriz de calibração, aqui denominados parâmetros DLT, podemos rearranjar [8] em ordem a [x y z] e obtemos [12.1] na forma compacta ou [12.2] expandindo para 2 câmaras: 87 Sistema VIDA: Principais Blocos Funcionais ⎡ L1 − uL9 ⎢ L − vL ⎣ 5 9 ⎡ L1(1) − u (1) L(1) 9 ⎢ (1) (1) (1) ⎢ L5 − v L9 ⎢ L1(2) − u (2) L(2) 9 ⎢ (2) (2) (2) ⎢⎣ L5 − v L9 L2 − uL10 L6 − vL10 (1) (1) L(1) 2 − u L10 (1) (1) L(1) 6 − v L10 (2) (2) L(2) L10 2 −u (2) (2) (2) L6 − v L10 ⎡ x⎤ L3 − uL11 ⎤ ⎢ ⎥ ⎡ L4 − u ⎤ y = L7 − vL11 ⎥⎦ ⎢ ⎥ ⎢⎣ L8 − v ⎥⎦ ⎢⎣ z ⎥⎦ (1) (1) (1) ⎤ ⎡ L(1) ⎤ L(1) 3 − u L11 4 −u x ⎡ ⎤ ⎢ (1) (1) ⎥ (1) (1) (1) ⎥ L7 − v L11 ⎥ ⎢ ⎥ ⎢ L8 − v ⎥ y = (2) (2) (2) ⎥ ⎢ ⎥ ⎢ L4 − u (2) ⎥ L(2) L11 3 −u ⎢ ⎥ z ⎥ ⎢ (2) (2) ⎥ (2) (2) ⎣ ⎦ L(2) L11 ⎦⎥ 7 −v ⎣⎢ L8 − v ⎥⎦ [12.1] [12.2] calculando a pseudo-inversa da mesma forma que em [11], obtemos as coordenadas dos pontos de controlo no sistema de coordenadas do mundo. 5.4.5 Resultados do Cálculo das Coordenadas 3D das Marcas no Sistema de Coordenadas do Mundo Substituindo os parâmetros de [12.2] pelos dados das tabelas 5.2, 5.3 e 5.4, e calculando a pseudo-inversa, obtemos os valores das coordenadas tridimensionais no sistema de coordenadas do mundo das marcas colocadas na perna direita do indivíduo, para cada conjunto de 2 quadros de vídeo sincronicamente provenientes de cada uma das câmaras e aqui apresentados na tabela 5.5. Na figura 5.6 apresenta-se a posição inicial e final do modelo virtual da perna direita construído com base nas coordenadas da tabela 5.5. Figura 5.6: Modelo virtual da perna direita do indivíduo construído com base nas coordenadas da tabela 4.5 88 Sistema VIDA: Principais Blocos Funcionais Tabela 5.5: Coordenadas 3D no sistema de coordenadas do mundo das marcas que assinalam as juntas intersegmentares 89 Sistema VIDA: Principais Blocos Funcionais 5.5 Construção do Modelo Virtual Como se pôde depreender, e pelos motivos assinalados em 5.3, na versão do VIDA usada para experimentação (descrita em 4.2.2) foram seguidos apenas os 5 pontos de controlo necessários para a reconstrução da perna direita do indivíduo em movimento. Na versão actualmente usada no Laboratório de Biomecânica da FMH, as coordenadas tridimensionais de cada marca no sistema de coordenadas do mundo, doravante denominadas (Cx, Cy, Cz) são consideradas dados de entrada para o Sistema Gráfico do VIDA (módulo 5 nas figuras 4.1 a 4.3). 5.5.1 Modelização do Manequim O modelo virtual do indivíduo foi construído em OpenGL [Kilgard96] colocando uma esfera nos pontos de controlo com números 1 a 18 assinalados na figura 5.7, um paralelepípedo num ponto intermédio a cada duas juntas ósseas, e um paralelepípedo orientado pelos ponto 19 a 21 assinalados na figura 5.7. Os cálculos necessários são executados em C++ e descritos em seguida tendo como referência a figura 5.8. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. R. FOOT – Pé Direito R. H. EXT – Calcanhar Direito R. ANKLE – Tornozelo Direito R. KNEE – Joelho Direito R. HIP – Anca Direita L. HIP – Anca Esquerda L. KNEE – Joelho Esquerdo L. ANKLE – Tornozelo Esquerda L.H.EXT – Calcanhar Esquerdo L. FOOT – Pé Esquerdo R. HAND – Mão Direita R. WRIST – Pulso Direito R. ELBOW – Cotovelo Esquerdo R. SHOULD – Ombro Direito L. SHOULD – Ombro Esquerdo L. ELBOW – Cotovelo Esquerdo L. WRIST – Pulso Esquerdo L. HAND – Mão Esquerda REXT1 - Pescoço REXT2 – Extremo frontal da crâneo REXT3 – Extremo superior do crâneo CG – Centro de gravidade (Não é usado). 21 19 20 14-15 13-16 12-17 5-6 11-18 4-7 3-8 2-9 1-10 Figura 5.7: Localização dos 21 pontos de controlo usados para a construção do modelo virtual do indivíduo. 90 Sistema VIDA: Principais Blocos Funcionais 5.5.2 Animação do Manequim Para animar o manequim existem como dados de entrada, para cada quadro ou trama, as posições dos 21 pontos assinalados na figura 5.7 e correspondentes na sua generalidade às juntas ósseas do corpo humano. A posição de cada marca, e correspondente numeração, faz parte da especificação de requisitos descrita no Apêndice III. O modelo virtual do indivíduo foi construído em OpenGL, os cálculos necessários executados em C++ de acordo com as fórmulas e procedimentos descritos em seguida 5.5.2.1 Cálculos das coordenadas (em linguagem C++): Os procedimentos e cálculos executados pelo Sistema Gráfico, e executados em C++, podem ser descritos na seguinte forma algorítmica: 1) A posição tridimensional da junta óssea intersegmentar inicial, (x1, y1, z1) na Figura 5.8, é lida de um Ficheiro de MS Excel, que contém os dados cinemáticos referentes aos 21 pontos de controlo e cujo formato se encontra especificado em [Braz, 1999] 2) É calculada a rotação (angulo e eixo de rotação) que essa junta tem que sofrer para que um vector vertical U, de coordenadas (x2, y2, z2) que nela se inicie, atinja a posição da junta óssea seguinte (de cima para baixo) e de acordo com as fórmulas apresentadas na Tabela 5.6. 3) É determinada a distância euclidiana entre a junta óssea em causa (x1, y1, z1)e a que se lhe segue no corpo humano (de cima para baixo) (x3, y3, z3), de acordo com as fórmulas apresentadas na Tabela 5.6. 4) As coordenadas da posição da peça óssea são determinadas como as coordenadas em x e em z da junta óssea de início e metade da distância entre as duas juntas ósseas em y, (xosso, yosso, zosso), de acordo com as fórmulas apresentadas na Tabela 5.6. 5.5.2.2 Apresentação (em linguagem OpenGL e glut) Para apresentação do conjunto junta intersegmentar óssea/segmento ósseo (ou peça óssea) procede-se da seguinte forma: 1. Translada-se o centro do sistema de coordenadas para a posição da junta intersegmentar óssea inicial lida em 1) (glTranslate) 91 Sistema VIDA: Principais Blocos Funcionais 2. Roda-se o sistema de coordenadas, no angulo determinado em 2) e em redor do eixo determinado em 2). (glRotate) 3. Desenha-se a junta óssea (gluSolidSphere) 4. Desloca-se o centro das coordenadas para a posição determinada em 4) (glTranslate) 5. Desenha-se a peça óssea que tem inicio na junta óssea anteriormente desenhada (gluSolidBox). 6. Executa-se novamente o ponto 5) agora para a junta óssea seguinte. A Figura 5.8 apresenta os elementos usados nos cálculos de posição e rotação para cada quadro de todas as juntas e peças ósseas. Na referida figura (x1, y1, z1) são coordenadas da junta inicial (p.e. da anca) lidas do ficheiro de dados cinemáticos, (x3, y3, z3) são as coordenadas da junta final (p.e e do joelho) lidas do mesmo ficheiro, (x2, y2, z2) calculam-se de acordo com as fórmulas da Tabela 4.6. (xosso, yosso, zosso) são as coordenadas intermédias entre as juntas ósseas intersegmentares inicial e final e que correspondem à localização da peça óssea (ou muscular) localizada entre elas (p.e. a coxa). O angulo de rotação θ, o eixo de rotação e as coordenadas da peça óssea são calculadas de acordo com as fórmulas apresentadas na Tabela 4.6 sempre em relação a um segmento de recta vertical (x1=x2) orientado de cima para baixo. (x1, y1, z1) V (xosso, yosso, zosso) θ U (x3, y3, z3) (x2, y2, z2) Figura 5.8: Significado das coordenadas envolvidas no cálculo da rotação de cada peça óssea por forma a ajustá-la às coordenadas das juntas ósseas inicial e final obtidas por reconstrução tridimensional. 5.5.3 Animação dos Músculos Sempre que um músculo necessite de mais de um segmento de recta para sua representação, os cálculos executados para posicionamento desse músculo são em tudo semelhantes aos descritos em 5.5.1.1 para o posicionamento das peças ósseas. 92 Sistema VIDA: Principais Blocos Funcionais Descrição Fórmula Localização Inicial das Peças Ósseas e Musculares (antes da rotação) Comprimento da peça Mod = sqrt ( (x2-x1)2 + (y2-y1)2 + (z2-z1)2 Coordenadas da peça XOsso = 0, YOsso=Mod/2, ZOsso = 0 Coordenadas da junta x1 = y 1 = z 1 = 0 intersegmentar inicial Coordenadas da junta x2 = 0, y2 = Mod, z2 = 0 intersegmentar final Localização Final das Peças Ósseas e Musculares (após a rotação) Coordenadas da junta x1 = y 1 = z 1 = 0 intersegmentar inicial Coordenadas da junta x3 = Cx (junta inicial) – Cx (junta final) intersegmentar final y3 = Cy (junta inicial) – Cx (junta final) z3 = Cz (junta inicial) – Cz (junta final) Angulo de rotação da θ= atan (cos (θ) / sen (θ)) junta intersegmentar cos (θ) = (z2-z1)*(z3-z1)*(x2-x1)*(x3-x1)*(y2-y1)*(y3-y1) / ( |U| * |V|) inicial Módulos dos vectores |U| = sqrt ((x2-x1) 2 + (y2-y1) 2 + (z2-z1) 2) UeV |V| = sqrt ((x3-x1) 2 + (y3-y1) 2 + (z3-z1) 2) Coordenadas dos Ux = (x2-x1) / |U| ; Uy = (y2-y1) / |U| ; Uz = (z2-z1)/|U| vectores U e V Vx = (x3-x1) / |V| ; Vy = (y3-y1) / |V| ; Vz = (z3-z1)/|V| Coordenadas do eixo de div = sqrt ((UyVz-UzVy)2 + (UxVz-UzVx)2 + (UxVy-UyVx)2) rotação fixo na origem Kx = (UyVz-UzVy) / div Ky = (UxVz-UzVx)/ div Kz = (UxVy-UyVx)/ div Tabela 5.6: Fórmulas usadas para calcular a localização das peças ósseas e a rotação sofrida pelas juntas ósseas intersegmentares onde se fixam as peças ósseas. Quando um músculo necessita apenas de um segmento de recta para sua representação é porque tem inicio numa junta óssea e termina na peça óssea que se lhe segue e portanto a sua colocação não requer qualquer cálculo. 5.5.4 Coloração dos Músculos Para pintar os músculos do manequim de acordo com a actividade muscular existem como dados de entrada, para cada quadro ou trama, os valores correspondentes à indutância da superfície da pele sobre o músculo em causa. O cálculo da cor dos músculos passa pelos seguintes passos: 93 Sistema VIDA: Principais Blocos Funcionais 1) O valor correspondente ao esforço muscular de um músculo é lido do ficheiro de Excel que contém os dados fisiológicos. 2) É determinado o valor máximo. 3) Os valores são normalizados entre 0 e 1: valor[i] = valor[i]/valor máximo 4) A cor é determinada como: Red = valor[i]; Green = 0; Blue = 1-valor[i]; 5.5.5 Resultados da Construção do Modelo Virtual Na figura 5.9 apresenta-se um quadro do modelo virtual do indivíduo em movimento, com e sem músculos, construído a partir de dados fornecidos pelo Laboratório de Biomecânica da FMH. Figura 5.9: Imagem do modelo virtual do indivíduo em movimento com e sem músculos visíveis. 5.6 Projecção do Modelo Virtual no Plano de Imagem da Câmara Para conseguir o correcto alinhamento visual do modelo virtual sobre o quadro de vídeo é ainda necessário determinar a posição da câmara assim como as coordenadas do seu ponto principal. 5.6.1 Cálculo da Localização da Câmara e Coordenadas do Ponto Principal A posição da câmara no sistema de coordenadas do mundo pode ser calculada como: 94 Sistema VIDA: Principais Blocos Funcionais L1 x0 + L2 y0 + L3 z0 = − L4 L5 x0 + L6 y0 + L7 z0 = − L8 L9 x0 + L10 y0 + L11 z0 = −1 ⎡ L1 ⎢L ⎢ 5 ⎢⎣ L9 L2 L6 L10 ⎡ x0 ⎤ ⎡ L1 ⎢ y ⎥ = ⎢L ⎢ 0⎥ ⎢ 5 ⎢⎣ z0 ⎥⎦ ⎢⎣ L9 L3 ⎤ ⎡ x0 ⎤ ⎡ − L4 ⎤ L7 ⎥⎥ ⎢⎢ y0 ⎥⎥ = ⎢⎢ − L8 ⎥⎥ L11 ⎥⎦ ⎢⎣ z0 ⎥⎦ ⎢⎣ −1 ⎥⎦ L2 L6 L10 L3 ⎤ L7 ⎥⎥ L11 ⎥⎦ −1 ⎡ L4 ⎤ ⎢L ⎥ ⎢ 8⎥ ⎢⎣ −1⎥⎦ [13] e, da mesma forma as coordenadas do ponto principal [u0,v0] no sistema de coordenadas de imagem podem ser determinadas a partir de [8] como: 2 2 L29 + L10 + L11 = 1 2 1 r + r322 + r332 ) = 2 2 ( 31 D D u0 = D 2 ( L1 L9 + L2 L10 + L3 L11 ) = L1 L9 + L2 L10 + L3 L11 2 2 L29 + L10 + L11 [14] v0 = D 2 ( L5 L9 + L6 L10 + L7 L11 ) = 5.6.2 L5 L9 + L6 L10 + L7 L11 2 2 L29 + L10 + L11 Resultados do Cálculo da Localização da Câmara e das Coordenadas do Ponto Principal Para os dados fornecidos pelo Laboratório de Biomecânica da FMH foram determinados três conjunto de parâmetros DLT, correspondentes às três câmaras usadas para a captação do movimento de um indivíduo, e cujos valores se apresentam na tabela 5.7. 95 Sistema VIDA: Principais Blocos Funcionais Tabela 5.7: Parâmetros DLT usados no cálculo das coordenadas da posição e do ponto principal das três câmaras de vídeo Com base nos parâmetros DLT da Tabela 5.7 foi sintetizada uma câmara virtual que permitiu alinhar o manequim apresentado na Figura 5.9 com a sequência de vídeo por forma a apresentar uma visualização aumentada do indivíduo em movimento de que se apresenta um exemplo na Figura 5.10. Figura 5.10: Visualização aumentada do movimento do indivíduo 96 Conclusões e Trabalho Futuro 6 CONCLUSÕES E TRABALHO FUTURO Considerando que na presente dissertação são apresentados três produtos, este capítulo está estruturado de acordo com cada um deles. Começamos assim por enunciar as conclusões relativas à utilidade da taxonomia e futuros desenvolvimentos de que possa beneficiar. Abordando em seguida o Sistema de Informação de suporte à taxonomia e terminando com uma análise sobre a utilidade do VIDA – Visualização Interactiva de Dados (biomecânicos) Aumentados e a implementabilidade de um sistema de RA como forma de visualização do esforço muscular humano, seja em tempo real, seja posteriormente à recolha dos dados, salientando o trabalho de investigação ainda necessário para tal. 6.1 Tarcast – a Taxonomia: 6.1.1 Conclusões: O estudo, estruturado pelo recurso ao TARCAST, de mais de 20 ambientes de Realidades Misturadas, levou-nos a concluir pela não existência, até à data da escrita desta dissertação, de nenhum sistema em funcionamento para sobreposição de modelos virtuais de músculos a sequências de vídeo, mono ou estereoscópicas, em tempo real ou após a recolha de dados, de um atleta em movimento. O desenvolvimento da taxonomia para Sistemas de RA possibilitou um estudo estruturado dos diferentes sistemas actualmente em funcionamento, mas, além disso, tornou claro que, num contexto em que a RA está a sair dos laboratórios [Azuma, 2001], facilita a escolha das tecnologias e metodologias que melhor se adaptem às necessidades de cada sistema de RA podendo vir a contribuir para transformar uma área ainda claramente de investigação e em que cada sistema é construído de raiz, numa área de desenvolvimento em que, com base em diferentes soluções para diferentes elementos constitutivos de um sistema de RA (no sentido da figura 2.6) seja possível desenvolver novos sistemas de forma modular, escolhendo “o melhor de cada um”. 97 Sistema VIDA: Principais Blocos Funcionais A classificação de diferentes sistemas levou-nos a concluir que o processo de caracterização pode ser simplificado eliminando alguma da redundância ainda existente. Como exemplo disso, características como a ego/exocentricidade ou a ortoscopia parecem poder ser extraídas das tecnologias de visualização deixando assim de figurar de forma explicita, antes podendo ser “inferidas” de outras características classificativas. 6.1.2 Trabalho futuro: De acordo com a última das conclusões acima enunciadas, é necessário eliminar a redundância ainda existente ao nível das características usadas para classificar cada sistema Tratando-se de uma taxonomia de sistemas com elevado nível de complexidade as futuras contribuições e evoluções em cada área deverão ser incorporadas, sob pena de a taxonomia se tornar obsoleta a curto prazo. A possibilidade de inferir as classificação propostas em [Milgram et Al., 1994], para sistemas de visualização, e em [Zeltzer, 1992] para sistemas de realidade virtual, a partir da caracterização obtida com o TARCAST é um objectivo a atingir. Para o conseguir é no entanto necessário coligir uma quantidade significativa de sistemas classificados. 6.2 Tarcast – O Sistema de Informação 6.2.1 Conclusões Devido à razoável complexidade dos sistemas de Realidade Aumentada, patente nos numerosos critérios classificativos exigidos pela Taxonomia, a existência de uma ferramenta informática que guiasse o classificador ao longo do processo de caracterização e permitisse sistematizar os resultados obtidos, revelou-se de extrema utilidade para concluir sobre a aplicabilidade deste ou daquele sistema aos objectivos em causa. 6.2.2 Trabalho futuro Sendo a inferência das classificações propostas por Milgram e Zeltzer em [Milgram et Al, 1994] e [Zeltzer, 1992] uma tarefa essencialmente de cálculo, uma vez definidos os critérios tal 98 Conclusões e Trabalho Futuro como se exige em 5.1.2, o cálculo e classificação automática deverá ser implementado no sistema de informação. Algumas das limitações ainda existentes no sistema de informação deverão ser eliminadas, nomeadamente: 1) Permitir associar mais do que um sistema de RA a cada classificador, ao contrário do que acontece actualmente em que, caso um indivíduo pretenda classificar mais de um sistema RA tem de pedir ao Administrador para incluir os diferentes sistemas num mesmo login. 2) Permitir incluir um número indeterminado de subsistemas de seguimento em cada um dos três sistemas de seguimento identificados na figura 2.7 (pg 40) tal como o exige a taxonomia, ao contrário da situação actual que permite incluir apenas dois subsistemas em cada sistema. 6.3 VIDA 6.3.1 Conclusões: A não existência, já salientada em 6.1.1, de sistemas para sobreposição de modelos virtuais de músculos a sequências de vídeo, dá ao campo de desenvolvimento abordado com a presente tese um caracter de investigação aplicada que poderá vir a dar frutos a curto médio prazo. Note-se que o Virtual Fashion Simulator, - Simulador Virtual de Moda – brevemente abordado em 2.3.1, constitui uma possível alternativa à metodologia proposta na presente dissertação, sendo no entanto necessário determinar a sua aplicabilidade quando os objectos virtuais tenham de ser graficamente inseridos sob a pele do indivíduo, como é o caso em análise. Tal como descrito em 4.2.1, actualmente a versão em utilização do VIDA permite: 1) Observar o esforço muscular de um indivíduo directamente sobre um modelo virtual tridimensional manipulável desse indivíduo. 2) Projectar o modelo virtual do indivíduo sobre as sequências de vídeo a partir das quais foi construído esse mesmo modelo, criando um ambiente de 99 Sistema VIDA: Principais Blocos Funcionais Realidade Misturada, intermédio, entre o processo tradicional e o ambiente de Realidade Aumentada desejável. Não lidando portanto, nem com o tratamento de oclusões nem com o funcionamento em tempo real, imprescindíveis para uma visualização de dados biomecânicos baseada num Sistema de Realidade Aumentada. 6.3.2 Trabalho futuro A evolução natural do presente trabalho, no que respeita à introdução de um sistema de Realidade Aumentada no Laboratório de Biomecânica da FMH, parece-nos ser no sentido de: 1) Permitir a visualização de dados em tempo real. 2) Incorporar a possibilidade de visualização através de um HMD Video see-through. Tarefas que, considerando o trabalho de investigação, os conhecimentos exigidos e o volume de trabalho em causa, seria desejável desenvolver no âmbito de um projecto de investigação e desenvolvimento com financiamento autónomo. No que concerne a aspectos de funcionamento da aplicação nos quais o Laboratório de Biomecânica da FMH manifestou já especial interesse, como sejam: 1) A substituição dos modelos paralelepipédicos das peças ósseas por modelos realistas. 2) A substituição dos modelos lineares das massas musculares por modelos realistas. 3) O cálculo das forças de reacção nas juntas e dos momentos musculares, assim como a sua visualização sob forma de vectores aplicados nos respectivos pontos de origem Consideramos tratar-se de objectivos facilmente atingíveis a breve trecho, possivelmente no âmbito de um projecto de final do Curso de Engenharia Informática Industrial da Escola Superior de Tecnologia de Setúbal. 100 Bibliografia BIBLIOGRAFIA [Ahlers et Al., 1994] Klaus Ahlers, David Breen, Chris Crampton, Eric Rose, Mihran Tuceryan, Ross Whitaker, Douglas Greer: An Augmented Vision system for Industrial Applications. Munich, Germany, European Computer Industry Research Center (ECRC). http://citeseer.nj.nec.com/ahlers94augmented.html [Anderson et Al., 1995] Frank C. Anderson, Marcus G. Pandy: Musculoskeletal Models and Computational Algorithms for the Numerical Simulation of Human Motion on Earth and in Space; ESS Project FY95 Annual Report; The University of Texas at Austin; 1995. http://sdcd.gsfc.nasa.gov/ESS/annual.reports/ess95contents/app.gci.pandy.html [Araki et Al., 2000] Araki S, Mtsuoka T., Yokoya N, Takemura H: Real-Time Tracking of Multiple Moving Object Contours in a Moving Camera Image Sequence; IEICE Trans. If. & Syst., Vol. E83-D, Nº7 July 2000. http://search.ieice.org/2000/pdf/e83-d_7_1583.pdf [Auer et Al., 1999] Thomas Auer, Axel Pinz: The integration of optical and magnetic tracking for multi-user augmented reality; Computer & Graphics, Nº23, pp 805-808, Pergamon, 1999. [Azuma, 1993] Ronald Azuma: Tracking Requirements for Augmented Reality. Communications of the ACM, 36, 7 (July 1993), 50-51. http://www.cs.unc.edu/~azuma/cacm.html [Azuma, 1997] Ronald Azuma: A Survey of Augmented Reality, in Presence: Teleoperators and Virtual Environments, Vol. 6, nº4, pp. 355-385, 1997. http://citeseer.nj.nec.com/azuma95survey.html. [Azuma et Al., 1999] R. T. Azuma, J. W. Lee, B. Jiang, J. Park, S. You, U. Neumann: Tracking in unprepared environments for augmented reality systems, Computer & Graphics, Nº23, pp 787-793, Pergamon, 1999. [Azuma et Al., 2001] R. Azuma, Y. Baillot, R. Behringer, S. Feiner, S. Julier, B. MacIntyre: Recent Advances in Augmented Reality. IEEE Computer Graphics and Applications 21, 6 (Nov/Dec 2001), 34-47. http://www.cs.unc.edu/~azuma/cga2001.pdf. 101 Bibliografia [Behringer et Al., 1999] R. Behringer, S. Chen, V. Sundareswaran, K. Wang, M. Vassiliou: A distributed device diagnostics system utilizing augmented reality and 3D audio; Computer & Graphics, Nº23, pp 821-825, Pergamon, 1999. [Bers, 1996] Joshua Bers: A Body model Server for Human Motion Capture and Representation; Presence, Vol 5, Nº4, pp 381-392, , Fall 1996. [Billingurst , 1999] Mark Billingurst: IWAR'99 Breakout Session: Interaction and Collaboration Techniques Using Augmented Reality, in International Workshop on Augmented Reality, 1999. http://hci.rsc.rockwell.com/iwar/99/WebProceedings/Breakout/Interaction.shtml [Billinghurst et Al., 1999] Mark Billinghurst, Hirokazu Kato: Collaborative Mixed Reality, in Proceedings of International Symposium on Mixed Reality (ISMR '99). Mixed Reality--Merging Real and Virtual Worlds, pp. 261-284, 1999. http://hitl.washington.edu/publications/r-98-36/. [Billinghurst et Al., 1999a] Mark Billinghurst, Hirokazu Kato: Real World Teleconferencing, in proceedings of CHI’99, Conference Companion, ACM, NY, 1999 (Pittsburgh, PA, USA, May 15-20). http://hitl.washington.edu/publications/r-99-11/. [Billinghurst et Al., 2001] M. Billinghurst, H.Kato, M. Billinghurst, I. Poupyrev. The MagicBook: Moving Seamlessly between Reality and Virtuality In IEEE Computer Graphics and Applications, May/June, 2001, pp. 2-4. [Bimber et Al., 2000] O. Bimber, L. M. Encarnação, D. Schmalstieg: Augmented Reality with Back-Projection Systems using Transflective Surfaces. In Proc. of the 2000 Eurographics Conference, August 20-25, 2000, Interlaken, Switzerland. [Braz, 1999] José Braz: Relatório Técnico do Projecto da Disciplina de Computação Gráfica II do Mestrado em Engenharia Electrónica e de Computadores; Instituto Superior Técnico, 1999. http://planeta.clix.pt/jbrazpereira/Projectos.htm [Braz, 2000] José Braz: Realidade Aumentada em Engenharia Biomédica: Estado da Arte, in Actas da 5ª Workshop em Engenharia Biomédica, Instituto Superior Técnico, Lisboa, 2000. http://planeta.clix.pt/jbrazpereira/Projectos.htm 102 Bibliografia [Bronzino et Al., 2000] Joseph D. Bronzino (Ed): The Biomedical Engineering Handbook, 2nd Edition, Springer-Verlag New York Inc., January 2000. ISBN: 3540669159. [Brown, 1992] Lisa Gottesfeld Brown: A survey of image registration techniques; ACM Computing Surveys, 24(4), December 1992; pp 325-376. http://citeseer.nj.nec.com/gottesfeldbrown92survey.html [Chavanon et Al., 1997] O. Chavanon, C. Barbe, J. Trocaz, L. Carrat, C. Ribuot, D. Blin: Computer Assisted Pericardial Punctures, animal feasibility study, in proceedings of MRCAS’97, pp. 285-291, 1997. [Chinthammit et Al., 2001] W. Chinthammit, R. Burnstein, E. J. Seibel, T. A. Furness: Head Tracking using the Virtual Retinal Display; Paper presented at Second IEEE and ACM International Symposium on Augmented Reality, October 29-30, 2001, New York, NY http://www.hitl.washington.edu/publications/r-2002-30//r-2002-30.pdf [Chinthammit et Al., 2002] W. Chinthammit, E. J. Seibel, T. A. Furness: Unique Shared-Aperture Display with Head or Target Tracking; In Proceedings of IEEE VR 2002, pp. 235-242 http://www.hitl.washington.edu/publications/r-2002-17//r-2002-17.pdf. [Cornelis et Al., 2001] K. Cornelis, M. Pollefeys, M. Vergauwen and L. Van Gool, Augmented Reality from Uncalibrated Video Sequences, In M. Pollefeys, L. Van Gool, A. Zisserman, A. Fitzgibbon (Eds.), 3D Structure from Images SMILE 2000, Lecture Notes in Computer Science, Vol. 2018, pp.144160, Springer-Verlag, 2001. http://www.esat.kuleuven.ac.be/~pollefey/publications/cornelisSMILE2.pdf [Darrel et Al., 1994] Trevor Darrell, Pattie Maes, Bruce Blumberg, Alex P. Pentland: A Novel Environment for Situated Vision and Behavior; M.I.T. Media Laboratory Perceptual Computing Technical Report No. 261; Presented at IEEE Workshop for Visual Behaviors, CVPR-94. http://citeseer.nj.nec.com/darrell94novel.html [Dorfmuller, 1999] Klaus Dorfmuller: Robust tracking for augmented reality using retroreflective markers, Computer & Graphics, Nº23, pp 795-800, Pergamon, 1999. 103 Bibliografia [Drascic et Al., 1993] David Drascic, Julius J. Grodski, Paul Milgram, Ken Ruffo, Peter Wong, Shumin Zhai: ARGOS: A Display System for Augmenting Reality. Proceedings of InterCHI 93 Conference on Human Factors in Computing Systems . Amsterdam: 521 http://vered.rose.utoronto.ca/people/david_dir/CHI93/CHI93.full.html [Drascic, 1993] David Drascic: Stereoscopic Vision and Augmented Reality, Scientific Computing and Automation, 9(7), 31-34, June 1993. [Dubois et Al., 1999a] Emmanuel Dubois, Laurence Nigay, Jocelyne Troccaz, Olivier Chavanon, Lionel Carrat: Classification Space for Augmented Surgery, an Aumented Reality Case Study, in Proceedings of INTERACT'99, pp. 353359, 1999. http://citeseer.nj.nec.com/dubois99classification.html. [Dubois et Al., 1999b] Emmanuel Dubois, Leon A. Watts, Nicholas Graham: Dimension Space for Designing Richly Interactive Systems: a Perspective on Magic Boards, Workshop on Continuity in Human Computer Interaction, The Netherlands, April 2000. http://citeseer.nj.nec.com/297537.html [Durlach et Al., 1995] Nathaniel I. Durlach, Anne S. Mavor (Editors): Virtual Reality: Scientific and Technological Chalenges, Report of the Committee on Virtual Reality Reasearch and Development to the National Research Council, National Academy Press, pp. 161-204, 1995, ISBN: 0-309-05135-5. [Faugeras et Al., 1992] O. D. Faugeras, Q. T. Luong, S. J. Maybank: Camera Self-Calibration: Theory and Experiments; European Conference on Computer Vision; 1992; http://citeseer.nj.nec.com/faugeras92camera.html. [Feiner et Al., 1997] Steven Feiner, Blair MacIntyre, Tobias Höllerer, Anthony Webster: A Touring Machine: Prototyping 3D Mobile Augmented Reality Systems for Exploring Urban Environment, in Proceedings of ISWC’97 – International Symposium on Werable Computing, Cambridge, MA, October 13-14, 1997, pages 74-81. [Foley et Al., 1995] James D. Foley, Andries van Dam, Steven K. Feiner, John F. Hughes: Computer Graphics: principles and practice, Addison-Wesley Publishing Company, Inc., USA, 1995, ISBN:0-201-84840-6. 104 Bibliografia [Fuhrmann et Al., 1999] A. Fuhrmann, G. Hesina, F. Faure, M. Gervautz: Occlusion in collaborative augmented environments; Computer & Graphics, Nº23, pp 806-819, Pergamon, 1999. [Gabbard et Al., 1997] Joseph L. Gabbard, Deborah Hix: A Taxonomy of Usability Characteristics in Virtual Environments, Office of Naval Research, 1997. http://csgrad.cs.vt.edu/jgabbard /ve/taxonomy [Gabbard et Al., 1999a] Joseph L Gabbard, Deborah Hix, J. Edward Swan II: User-Centered Design and Evaluation of Virtual Environments, in IEEE Computer Graphics and Applications, November/December, 1999. [Gabbard et Al., 1999b] Joseph L. Gabbard, Kent Swartz, Kevin Richey, Deborah Hix: Usability Evaluation Techniques: A Novel Method For Assessing The Usability Of An Immersive Medical Visualization Ve, in Proceedings of VWSIM'99, San Francisco, Ca, pp. 165-170, 1999. [Gleue et Al., 2001] T. Gleue, P. Dähne: Design and Implementation of a Mobile Device for Outdoor Augmented Reality in the ARCHEOGUIDE Project; Virtual Reality, Arczhaeology, and Cultural Heritage International Symposium (VAST01), Glyfada, Nr Athens, Greece, 28-30 November 2001. http://archeoguide.intranet.gr/papers/publications/ARCHEOGUIDE-VAST01-3.pdf. [Graham et Al., 2000] T. C. Nicholas Graham, L. A. Watts, C. Gaëlle, J. Coutaz, E. Dubois, L. Nigay: A Dimension Space for the Design of Interactive Systems within their Physical Environments, DIS2000, 17-19 August 2000, ACM Publ. New York, pp 406-416. http://iihm.imag.fr/publs/2000/DIS2K_Graham.pdf [Grimson et Al., 1996] An Automatic Registration Method for Frameless Stereotaxy, Image Guided Surgery and Enhanced Reality Visualization http://splweb.bwh.harvard.edu:8000/pages/papers/ettinger/tmi.paper/med-regtmi.html [Hanim, 2001] Humanoid Animation Group: H-Anim Specification 2001 (draft). http://www.h-anim.org/index.html. [Haralick et Al., 1993] Robert M. Haralick, Linda G. Shapiro: Computer and Robot Vision Volume II; Addison-Wesley Publishing Company, Inc., 1993. ISBN:0-201-569432(v.2) 105 Bibliografia [Hildebrand et Al., 2001] A. Hildebrand, P. Dähne, F. Seibert, I. T. Christou, L. Almeida, J. Weidenhausen, N Ioannidis: Design and Development Issues for ARCHEOGUIDE: An Augmented Reality based Cultural Heritage On-site Guide. http://archeoguide.intranet.gr/papers/AR_mykonos.doc. [Hildebrand et Al., 2002] A. Hildebrand, P. Dähne, F. Seibert, I. T. Christou, A Demiris, M. Diorinos, N. Ioannidis, L. Almeida, A. Diogo, J. Weidenhausen: Archeoguide: An Augmented Reality based System for Personalized Tours in Cultural Heritage Sites. http://archeoguide.intranet.gr/papers/AR_paper_final.doc. [Höllerer et Al., 1999] Tobias Höllerer, John Pavlik: Situated documentaries: Embedding Multimedia Presentations in the Real World; Proceedings of International Symposium on Wereable computers, San Francisco, CA, October 18-19, 1999, pp. 7986. [Höllerer et Al., 1999b] T. Höllerer, S. feiner, T. Terauchi, G. Rashid, D. Hallaway: Exploring MARS: developing indoor and outdoor user interfaces to a mobile augmented reality system; Computer & Graphics, Nº23, pp 779-775, Pergamon, 1999. [Holloway, 1997] Richard L. Holloway: Registration Error Analysis for Augmented Reality; Presence; Vol 6; nº4; August 1997; pp 413 432. [Hoshino et Al., 2000] J. Hoshino, H. Saito, M. Yamamoto: Automatic Registration of Virtual Objects onto Human Image Sequences, XV International Conference on Pattern Recognition, Barcelona, September 2000. ISBN:0-7695-0750-6. [Hoshino, 2001] Jun’ichi Hoshino: Extracting Personal Characteristics from Human Movement; International Conference on Acoustics and Signal Processing - 2001. http://wwwo.esys.tsukuba.ac.jp/lab/jhoshino/papers/ICASSP00motion.pdf [Hoshino et Al., 2001] Jun’ichi Hoshino, Hirofumi Saito: A Match Moving Technique for Merging CG and Human Video Sequences; International Conference on Acoustics and Signal Processing - 2001. http://wwwo.esys.tsukuba.ac.jp/lab/jhoshino/papers/ICASSP00fashion.pdf [Jain et Al., 1995] Ramesh Jain, Rangachar Kasturi, Brian G. Schunck: “Machine Vision”, McGraw-Hill, Inc., 1995. ISBN: 0-07-031018-7 106 Bibliografia [Johnston et Al., 1995] Richard S. Johnston, Stephen R. Willey: Development of a Commercial Virtual Retinal Display; In Stephens, W. and Haworth, L.A. (Eds.) Proceedings of Helmet- and Head-Mounted Displays and Symbology Design, pp. 2-13 http://www.hitl.washington.edu/publications/p-95-5/ [Kato et Al., 1999] H. Kato, M. Billinghurst, S. Weghorst, T. Furness: A Mixed Reality 3D Conferencing Application (Technical Report R-99-1). Seattle: Human Interface Technology Laboratory, University of Washington, 1999. http://hitl.washington.edu/publications/r-99-1/. [Kato et Al., 2000] H.Kato, M. Billinghurst, I. Poupyrev, K. Imamoto, K. Tachibana.Virtual Object Manipulation on a Table-Top AR Environment. In Proceedings of ISAR 2000, Oct 5th-6th, 2000. http://www.hitl.washington.edu/research/shared_space/download/papers/isar2000.pdf [Kilgard, 1996] Mark J. Kilgard: The OpenGL Utility Toolkit (GLUT) – API Version 3; Silicon Graphics Inc., November 13, 1996. http://informatica.uv.es/iiguia/2000/AIG/docs/glut3.pdf [Kim, 1996] Won S. Kim: Virtual Reality Calibration and Preview/Predictive Displays for Telerobotics; Presence; Vol 5; nº2; Spring 1996; pp 173-190. [Klinker et Al., 1999] G. Klinker, D. Stricker, D. Reiners: Optically based direct manipulation for augmented reality; Computer & Graphics, Nº23, pp 827-830, Pergamon, 1999. [Kourogi et Al., 1999] Masakatsu Kourogi, Takeshi Kurata, Katuhiko Sakaue, Yoichi Muraoka: A real-time panorama-based technique for annotation overlay on video frames, in Posters of International Workshop on Augmented Reality, San Francisco, October 1999. http://hci.rsc.rockwell.com/iwar/99/WebProceedings/Kourogi/ [Kutulakos et Al., 1996] K. N. Kutulakos and J. R. Vallino: Affine Object Representations for Calibration-Free Augmented Reality; Proc. IEEE Virtual Reality Annual International Symposium (VRAIS'96), San Mateo, CA, pp. 25-36, 1996. http://www.cs.rochester.edu/u/kyros/site/research/augment/augment.html 107 Bibliografia [Kutulakos et Al., 1998] Kiriakos N. Kutulakos, James R. Vallino: Calibration Free Augmented Reality, in IEEE Transactions on Visualization and Computer Graphics, Vol 4, nº1, January March, 1998. http://www.cs.rochester.edu/u/kyros/site/research/augment/augment.html [Kwon, 1994] Young-Hoo Kwon: Kwon3D: DLT Method. http://kwon3d.com/theories.html. [Li et Al., 2002] Liyuan Li, Maylor K. H. Leung: Integrating Intensity and Texture Differences for Robust Change Detection; IEEE Transactions on Image Processing, Vol 11, nº2, February 2002, pp 105-112. [Livingston et Al., 1997] Mark A. Livingston, Andrei State: Magnetic Tracker calibration for Improved Augmented Reality Registration; Presence, Vol 6, Nº5, pp 532-546, October 1997. [Luong et Al., 1993] Luong Q.T., Deriche R., Faugeras O., Papadopoulo T: On Determining the Fundamental Matrix: Analysis of Different Methods and Experimental Results; INRIA Raport de Recherche nº1894; http://www-sop.inria.fr/rapports/sophia/RR-1894.html [Luong et Al., 1996] Luon Q. T., Faugeras O. D.: The Fundamental matrix: theory, algorithms, and stability analysis. http://citeseer.nj.nec.com/189513.html. [McGowan, 1999] John F. McGowan: AVI Overview. http://www.rahul.net/jfm/ [McKenna et Al., 1996] Michael McKenna, David Zeltzer: Dynamic Simulation of a Complex Human Figure Model with Low Level Behavior Control; Vol 5, Nº4, pp 431-456, Fall 1996. [Milgram et Al., 1994] Paul Milgram, Fumio Kishino: A Taxonomy of Mixed Reality Visual Displays, in IEICE Transactions on Information Systems, Vol E77-D, Nº12, December. 1994. http://vered.rose.utoronto.ca/people/paul_dir/IEICE94/ieice.html [Moeslund et Al., 2001] Thomas B. Moeslund, Erik Granum: A Survey of Computer Vision-Based Human Motion Capture,. In Int. Journal of Computer Vision and Image Understanding, No. 3, Volume 81, 2001. http://citeseer.nj.nec.com/moeslund99computer.html 108 Bibliografia [Mohr et Al., 1996] Roger Mohr , Bill Triggs: Projective Geometry for Image Analysis, ISPRS, Vienna, September, 1996. http://www.inrialpes.fr/movi [Mulder, 1994] Axel Mulder: Human movement tracking technology, Hand Centered Studies of Human Movement project, technical report 94-1, 1994. http://www.cs.sfu.ca/~amulder/personal/vmi/HMTT.pub.html. [Mulligan et Al., 2000] J. Mulligan, K. Daniilidis: View-independent Scene Acquisition for Tele-Presence, In Proc. Int. Symposium on Augmented Reality , Munich, Germany, 2000, pp. 105-110. http://www.cis.upenn.edu/~kostas/mypub.dir/techrep00.pdf [Naimark, 1991] Michael Naimark: Elements of Realspace Imaging: a Proposed Taxonomy, in Proceedings of First Moscow International Workshop on HumanComputer Interaction, Moscow, 1991. http://www.naimark.net/writing/realspace.html [Nakajima et Al., 1998] S. Nakajima, R. Kikinis, P. M. Black, H. Atsumi, M. E. Leventon, N. Hata, D. C. Metcalf, T. M. Moriarty, E. Alexander, F. A. Jolesz: ImageGuided Neurosurgery at Brigham and Women's Hospital. http://splweb.bwh.harvard.edu:8000/pages/papers/shin/book_chap/manus.html [Oishi et Al., 1996] Takashi Oishi, Susumu Tachi: Methods to Calibrate Projection Transformation Parameters for See-Through Head-Mounted Displays; Presence; Vol 5; nº1; Winter 1996; pp 122-135. [Oshima et Al., 1999] Toshikazu Ohshima, Kiyohide Satoh, Hiroyuki Yamamoto, Hideyuki Tamura: RV-Border Guards: A Multi-player Entertainment in Mixed Reality Space, in Proceedings of IWAR’99, San Francisco, October 20-21, 1999. http://hci.rsc.rockwell.com/iwar/99/WebProceedings. [Pascoal, 2001] Augusto Gil Brites de Andrade Pascoal: Ombro e Elevação do Braço, Análise cinemática e electromiográfica sobre a influência da carga externa e velocidade do braço no ritmo escápulo-umeral tridimensional. Dissertação com vista à obtenção do grau de Doutor em Motricidade Humana na especialidade de Ciências da Motricidade, Universidade Técnica de Lisboa, Faculdade de Motricidade Humana, Lisboa, Portugal, 2001. 109 Bibliografia [Pasman et Al., 1999] A. Pasman, A. van der Schaaf, R.L. Lagendijk, F.W. Jansen: Accurate overlaying for mobile augmented reality; Computer & Graphics, Nº23, pp 875881, Pergamon, 1999. [Pryor et Al., 1998] Pryor, Homer L., Furness, Thomas A. and Viirre, E. (1998). The Virtual Retinal Display: A New Display Technology Using Scanned Laser Light. In Proceedings of Human Factors and Ergonomics Society, 42nd Annual Meeting, pp. 1570-1574. http://www.hitl.washington.edu/publications/r-98-27//r-98-27.doc [Raskar et Al., 1998] R. Raskar, G. Welch, M. Cutts, A. Lake, L. Stesin, H. Fuchs: The Office of the Future: A Unified Approach to Image-Based Modeling and Spatially Immersive Displays; SIGGRAPH 98, Orlando, Florida, July 19-24, 1998 COMPUTER GRAPHICS Proceedings, Annual Conference Series, 1998. http://www.cs.unc.edu/~welch/media/pdf/future_office.pdf [Rastogi et Al., 1996] Anu Rastogi, Paul Milgram, David Drascic: Telerobotic Control with Stereoscopic Augmented Reality, in SPIE Volume 2653: Stereoscopic Displays and Virtual Reality Systems III, Editors: Mark T. Bolas, Scott S. Fisher, John O. Merritt, San Jose, California, USA, January - February 1996, pp 115-122. [Reitmayr et Al., 2001] G. Reitmayr, D. Schmalstieg: A Wearable 3D Augmented Reality Workspace; Short paper, in: Proc. ISCW 2001, Zurich, Switzerland, Oct. 2001. http://www.ims.tuwien.ac.at/media/documents/publications/mcar-iswc2001.pdf [Reitmayr et Al., 2001a] G. Reitmayr, D. Schmalstieg: Mobile Collaborative Augmented Reality; In Proc. ISAR 2001, New York, USA, Oct. 2001. http://www.ims.tuwien.ac.at/media/documents/publications/mobileISAR2001.pdf. [Reitmayr et Al., 2002] G. Reitmayr, D. Schmalstieg: A Platform for location based Augmented Reality Applications; in ÖGAI journal, Vol 21, Nr 1, 2002. http://www.ims.tuwien.ac.at/media/documents/publications/oegai2002.pdf. [Rekimoto, 1996] Jun Rekimoto: TransVision: A hand-held augmented reality system for collaborative design; International Conference on Virtual Systems and Multimedia (VSMM'96), pp. 85-90, 1996. http://www.csl.sony.co.jp/person/rekimoto/papers/vsmm96.pdf 110 Bibliografia [Rekimoto, 1997] Jun Rekimoto: NaviCam: A Magnifying Glass Approach to Augmented reality; Presence: teleoperators and Virtual Environments, vol 6, nº4, Aug. 1997, pp 115-118. [Rekimoto et Al., 1999] Jun Rekimoto and Masanori Saitoh: Augmented Surfaces: A Spatially Continuous Workspace for Hybrid Computing Environments; Proceedings of CHI'99, 1999. http://www.csl.sony.co.jp/person/rekimoto/papers/chi99.pdf [Robinett, 1992] Warren Robinett: Synthetic Experience: A Taxonomy ; presence: teleoperators and Virtual Environments, nº1 Vol 2, Summer 1992. [Rolland et Al., 2000] J.P. Rolland, L. Davis, Y. Baillot: A Survey of Tracking Technology for Virtual Environments, in Augmented Reality and Wearable Computers, Ch. 3, Ed. Barfield and Caudell, Mahwah, NJ., 2000. http://www.ait.nrl.navy.mil/people/baillot/publications/Tracking_survey/trackingchapter.PDF [Seibert, 1999] Frank Seibert: Augmented reality using uncalibrated optical tracking; Computer & Graphics, Nº23, pp 801-804, Pergamon, 1999. [Semwal et Al., 1998] S. K. Semwal, R. Hihtower, S. Stansfield: Mapping Algorithms for Real-Time Control of an Avatar Using Eight Sensors; Vol 7, Nº1, pp 1-21, February 1998. [Seo et Al., 1998] Yongduek Seo, Ki Sang Hong: Video Augmentation by Image-based Rendering under the Perspective Camera Model; IAPR International Conference on Pattern Recognition, Brisbane, Australia, pp. 1694-1696, Aug., 1998. http://smart.iis.sinica.edu.tw/~www/Publications/vrst98.ps.gz [Seo et Al., 2000] Yongduek Seo, Ki Sang Hong: Calibration-Free Augmented Reality in Perspective, in IEEE Transactions on Visualization and Computer Graphics, Vol. 6, Nº4, October-December, 2000. [Seo et Al., 2000b] Yongduek Seo, Ki Sang Hong: Weakly Calibrated Video-based Augmented Reality: Embedding and Rendering through Virtual Camera; IEEE and ACM International Symposium on Augmented Reality, Munich, pp. 129-136, Oct. 5-6, 2000. http://home.postech.ac.kr/~dragon/ 111 Bibliografia [Singh et Al., 1996] S. K. Singh, S. D. Pieper, J. Guiness, D. O. Popa: Control and Coordination of Head, Eyes, and Facial Expresion of Virtual Actors in Virtual Environments; Presence; Vol 5; nº4; Fall 1996; pp 402-415. [Stamper, 2000] Ronald Stamper: New Directions for Systems Analysis and Design, in Enterprise Information Systems I, pgs 14-39, Joaquim Filipe (Ed.), Kluwer Academic Publishers, The Netherlands, 2000, ISBN: 0-79236239-X. [Stricker, 2001] D. Stricker: Tracking With Reference Images: A Real-Time And Markerless Tracking Solution For Out-Door Augmented Reality Applications; virtual reality, archaeology, and cultural heritage international symposium (vast01), glyfada, nr athens, greece, 28-30 November 2001. [Stricker et Al., 2001] D. Stricker , J. Karigiannis , I. T. Christou, T. Gleue , N. Ioannidis: Augmented Reality for Visitors of Cultural Heritage Sites; CAST 01 International Conference on Artistic, Cultural and Scientific Aspects of Experimental Media Spaces, Bonn, Germany, 21-22 September 2001. http://archeoguide.intranet.gr/papers/publications/ARCHEOGUIDE-CAST01.pdf. [Stricker et Al., 2001a] D. Stricker, P. Dähne, F. Seibert, I. T. Christou, L. Almeida, N. Ioannidis: Design and Development Issues for ARCHEOGUIDE: An Augmented Reality based Cultural Heritage On-site Guide; EuroImage ICAV 3D Conference in Augmented Virtual Environments and Threedimensional Imaging, Mykonos, Greece, 30 May-01 June 2001. http://archeoguide.intranet.gr/papers/publications/ARCHEOGUIDEICAV3D%2001.pdf. [Stricker et Al., 2001b] D. Stricker, T. Kettenbach: Real-time Markerless Vision-based Tracking for Outdoor Augmented Reality Applications, IEEE and ACM International Symposium on Augmented Reality (ISAR 2001), New York, USA, 29-30 October 2001. http://archeoguide.intranet.gr/papers/publications/ARCHEOGUIDE-ISAR01.pdf [Torre et Al., 2000] R. Torre, S. Balcisoy, P. Fua, M. Ponder, D. Thalmann: Interaction Between Real and Virtual Humans: Playing Checkers, Eurographics Workshop on Virtual Environments, Amsterdam, Netherlands, June, 2000. 112 Bibliografia [Tsap et Al., 2001] L. V. Tsap, D. B. Goldgof, S. Sarkar: Fusion of Physically-Based registration and deformation Modeling for Nonrigid Motion Analysis; IEEE Transaction on Image Processing, Vol 10, nº11, November 2001, pp1659-1669. [Tuceryan et Al., 1995] Mihran Tuceryan, D. S. Greer, R. T. Whitaker, D. E. Breen, C. Crampton, E. Rose, K. H. Ahlers: Calibration Requirements and Procedures for a Monitor-Based Augmented Reality System, in IEEE Transactions on Visualization and Computer Graphics, Vol. 1, No. 3, pp. 255-273, September, 1995. [Vallino, 2001] Jim Vallino: Introduction to Augmented Reality; 2001. http://www.se.rit.edu/~jrv/research/ar/introduction.html. [Vaughan, 1999] Cristopher L. Vaughan : GaitCD; Kiboho Publishers; 1999. http://www.kiboho.co.za/GaitCD/index.htm [Vaughan et Al., 1992] Cristopher L. Vaughan, Brian L. Davis, Jeremy C. O´Connor: Dynamics of Human Gait, Human Kinetics Publishers, July, 1992, ISBN: 087-322-3713. http://isb.ri.ccf.org/data/gaitlab/ [Veigl et Al., 2002] S. Veigl, A. Kaltenbach, F. Ledermann, G. Reitmayr, D. Schmalstieg: Two-Handed Direct Interaction with ARToolKit; Proceedings of the IEEE First International Workshop on ARToolKit, 2002. Available as technical report TR-188-2-2002-11, Vienna University of Technology. http://www.studierstube.org/projects/mobile/gloves/two-handed.html [Vlahakis et Al., 2001] V.Vlahakis, J. Karigiannis , M. Tsotros, M. Gounaris, L. Almeida, D. Stricker, T. Gleue, I. T. Christou, R. Carlucci, N. Ioannidis: ARCHEOGUIDE: First results of an Augmented Reality, Mobile Computing System in Cultural Heritage Sites; Virtual Reality; Archaeology, and Cultural Heritage International Symposium (VAST01), Glyfada, Nr Athens, Greece, 28-30 November 2001. http://archeoguide.intranet.gr/papers/publications/ARCHEOGUIDE-VAST01-1.pdf [Vlahakis et Al., 2002] V. Vlahakis, N. Ioannidis, J. Karigiannis, M. Tsotros, M. Gounaris: Virtual Reality and Information Technology for Archaeological site promotion; 5th International Conference on Business Information Systems (BIS02), Poznań, Poland, 24-25 April 2002. 113 Bibliografia http://archeoguide.intranet.gr/papers/publications/ARCHEOGUIDE-BIS02.pdf. [Wang et Al., 1996] X. Wang, T.A. Clarke: An algorithm for real-time 3-D measurement. ISPRS Vol 31. Part B5. pp. 587-592.. 1996. http://www.city.ac.uk/omc/papers/ISPRS%20XXXI%201996%20Separate%20adjustm ent.pdf [Watt et Al., 1992] Alan Watt, Mark Watt: Advanced animation and rendering techniques, Addison-Wesley Publishing Company, Inc., USA, 1992, ISBN:0-20154412-1. [Webster et Al., 1996] Anthony Webster, Steven Feiner, Blair MacIntyre, William Massie, Theodore Krueger: Augmented Reality in Architectural Construction, Inspection, and Renovation, in Proceedings of ASCE Computer in Civil Engineering, pp. 913-919, 1996. [Wiederhold, 2001] Gio Wiederhold: Obtaining Precision when Integrating Information, Proceedings of the 3rd International Conference on Enterprise Information Systems, Setúbal, Portugal, ISBN:972-98050-2-4, pgs IS9:IS-22. [Winter et Al., 1990] David A. Winter (Ed): Biomechanics and Motor Control of Human Movement – 2nd Edition, John Wiley and Sons Inc, USA, ISBN: 0-471-50908-6. [Wellner et Al., 1993] P. Wellner: Interacting with Paper on the DigitalDesk, in Special Issue of CACM on Computer Augmented Environments”, nº36 Vol 7, pp. 87-96. 1993. [Wren et Al., 1997] C. Wren, A. Azarbayejani, T. Darrell, A. Pentland: Pfinder: Real-Time Tracking of the Human Body; IEEE Transactions on Pattern Analysis and Machine Intelligence, July 1997, Vol 19, nº7, pp. 780-785. http://citeseer.nj.nec.com/wren97pfinder.html [You et Al., 1999] S. You, U. Neumann, R. Azuma: Orientation Tracking for Outdoor Augmented Reality Registration; IEEE Computer Graphics and Applications; November/December 1999; Vol 19; nº6; ISSN:0272-1716. [Zeltzer, 1992] David Zeltzer; Autonomy, interaction and presence. Presence 1 (1) 127-132. (1992) [Zhang, 1996] Z. Zhang: Determining the Epipolar Geometry and Its Uncertainty: A Review, Technical Report 2079, INRIA, France, July, 1996. 114 Apêndice I APÊNDICE I – TARCAST: SINTAXE <DEF AR System> ::= <DEF Global Characteristics>^p <DEF Image Acquisition System> ^p <DEF Virtual Model Generator System> ^p <DEF Mixing Realities System> ^p <DEF Display System> ^p <DEF Real Manipulator System> ^p <DEF Tracking System> ^p <DEF Global Characteristics> ::= <Key> - <title> ^p <application fields>^p <number of simultaneous users>^p <interaction between users>^p <description>^p <references>^p <Key> ::= Id: <Integer> <title> ::= Title: <plain text> <application fields> ::= Application Fields: <keyword> , <keyword> , <keyword>; <keyword> ::= <plain text> <number of simultaneous users> ::= Number of simultaneous users: <quantity>; <quantity> ::= 1 | 2 | Several <interaction between users> ::= Interaction Between Users: <type of interaction between users>; <type of interaction between users> ::= None | Collaborative <global description> ::= Global Description:(<plain text>) <global references> ::= Global References: (<plain text>) 115 Apêndice I <DEF Image Acquisition System> ::= Image Acquisition System ^p <way of view>, <dynamics>, <captured image dimensions>, <calibration>, <technology>, <description>, <references>.^p <way of view> ::= Direct Vision | Indirect Vision <dynamics> ::= Static | Mobil <captured image dimensions> ::= Monoscopic Image | Stereoscopic Image | Multiscopic Image <calibration> ::= Calibration: <type of calibration> <type of calibration> ::= Not Required | Fiducial Marks | Active System <technology> ::= Human Eye | Video Camera | Microscope | Telescope | Magnetic Resonance <description> ::= Description: ( <plain text> ) <references> ::= References: ( <plain text> ) 116 Apêndice I <DEF Virtual Model Generator System>::= Virtual Model Generator System ^p <graphic model>; <other models> <description>, <references>.^p <graphic model> ::= Graphic Model: Yes ^p | Graphic Model: No ^p <graphic quality>, <extracted from real world>, <knowledge about the real world>, <dynamics>, <interactivity>, <technology>, <graphic quality> ::=2D Gray Wire frame | 2D Color Wire frame | 2D Photorealistic | 3D Gray Wire frame | 3D Color Wire frame | Realistic | Real <extracted from real world> ::= Extracted from Real World: True | Extracted from Real World: False <knowledge about real world> ::= No knowledge about real world | Segmented | Segmented and Labeled <dynamics> ::= Dynamics: True | Dynamics: False <interactivity> ::= Interactive: True | Interactive: False <technology> ::= Hardware Platform: (<plain text>);^p Operating System: (<plain text>);^p Graphic Language: (<plain text>) <other models> ::= Other Models:^p < hearing>, < touch>, < smell>, < flavor>, <hearing> ::= Hearing: Yes | Hearing: No 117 Apêndice I <touch> ::= Touch: Yes | Touch: No <smell> ::= Smell: Yes | Smell: No <flavor> ::= Flavor: Yes | Flavor: No <DEF Mixing Realities System> ::= Mixing Realities System ^p <mixer technology>, <description>, <references>.^p <mixer technology>::= Chromakeying | Depth based | <optical mixer> <optical mixer> ::= Optical, <characteristics> <characteristics> ::= Reflected light: <real> % , <filtered wave length> <filtered wave length>::=Filtered wave length:(<real number>-<real number>)10-9m) 118 Apêndice I <DEF Display System> ::=Display System: <ds complexity> <ds complexity> ::= elementar <ds characteristics> | complex ^p <ds complex> <ds complex> ::= <number>^p <ds characteristics> | <number>^p <ds characteristics> <ds complex> <ds characteristics> ::= <display system technology>, <users view point>, <scale>, <color>, <resolution>, <refresh rate> <description>, <references>.^p <display system technology> ::= Optical see-through HMD | Video See-through HMD | Both Optical & Video see-through HMD | Projector to the Real World | Projector to a Special Device | Large Screen | Desktop Monitor <users view point> ::= Egocentric | Exocentric <scale> ::= Orthoscopic | Nonorhtoscopic <color> ::= 1 bit | 8 bits |16 bits | 24/32 bits <resolution> ::= <integer> X <integer> <refresh rate>::= <integer> Hz 119 Apêndice I <DEF Real Manipulator System> ::= Real Objects Manipulating System:^p <technology>, <description>, <references>.^p <technology> ::= Virtual Reality Gloves | Robot | Robot Arm | Pointer | <Other> <Other> ::= <plain text> 120 Apêndice I <DEF Tracking System> ::= Tracking System for <tracked object> ^p <complexity>.^p <tracked object> ::= Image Acquisition System | Real Objects | Real Manipulator System <complexity> ::= Complex: <subsystems> | Elementary: <technology> <subsystems> ::= Subsystem <integer>: <technology> <subsystems> | Subsystem <integer>: <technology> <technology> ::= Passive Tracking:^p <technical characteristics> | Tracking Based on Markers:^p <technical characteristics> | Active Tracking: <active tracker type> ^p <technical characteristics> <active tracker type> ::= Goniometer, | Earth Grounded, | Magnetic, | Acoustic, | Inertial, | Eye Tracker, | Structured Light System, |Radar, | GPS, | Laser, | <Other> <technical characteristics> ::= <tracked data>, <resolution>, <sampling rate>, <latency>, <range>, <workspace>, <cost>, <quantity of simultaneous measurements>, <susceptibility to obscuration>, <easy of calibration>, <technical complexity>, <convenience>, <description> <references> <tracked data>::= 2D Position | 3D Position | 2D Orientation | 2D Position and Orientation | 3D Position and Orientation | Motion 121 Apêndice I <resolution> ::= <maximal positional error> | <maximal angular error> | <maximal positional error> <maximal angular error> <maximal positional error> ::= Maximal Positional Error: ( < real > mm X, < real > mm Y, < real > mm Z ) <maximal angular error> ::= Maximal Angular Error: ( <angle> X ; <angle> Y; <angle> Z ) <sampling rate> ::= Sampling Rate: <real> Hz <range> ::= Range: <real> m <latency> ::= Latency: <real> ms <workspace> ::= Room | Rooms | Modular | Exterior <quantity of simultaneous measurements> ::= Quantity of Simultaneous Measurements <integer> | Quantity of Simultaneous Measurements undetermined <cost> ::= Price: <integer> // meaning 1* 10<integer> € <susceptibility to obscuration> ::= Yes | No <technical complexity> ::= 1 | 2 | 3 | 4 <convenience> ::= 1 | 2 | 3 | 4 <ease of calibration> ::= 1 | 2 | 3 | 4 122 Apêndice II APÊNDICE II: TARCAST – ARQUITECTURA DO SISTEMA DE INFORMAÇÃO Objectivos O TARCAST é uma aplicação destinada a suportar a caracterização de sistemas de Realidade Aumentada de acordo com a taxonomia apresentada no Apêndice I da presente dissertação, permitindo que qualquer potencial interessado classifique o seu sistema através da Internet., passando essa classificação a estar disponível também através da Internet. Especificação de Requisitos Interface A ferramenta de suporte à taxonomia deve possuir uma interface gráfica simples e amigável por forma a permitir a classificação de sistemas de RA, e nesse sentido: 1. A classificação/caracterização de cada sistema deve ser feita preenchendo formulários que guiem o Classificador para as várias palavras-chave. Privilégios de acesso São necessários pelo menos três níveis de acesso à informação armazenada: 1. Administrador: acesso total à aplicação na sua totalidade incluindo a possibilidade de a alterar. 2. Classificador: acesso para edição da informação situada no repositório de informação que lhe seja associada. 3. Utilizador: acesso apenas para consulta de informação. Formas de consulta Devem existir pelo menos duas formas de consulta: 1. Totalidade dos sistemas numa visualização resumida. 123 Apêndice II 2. Um dos sistemas na sua totalidade. Meio de Consulta e Edição O acesso para consulta e edição do repositório de informação deve ser feito através da Internet. Arquitectura do TARCAST A arquitectura escolhida passa pela implementação do repositório de informação através de um Gestor de Base de Dados e pela interface de utilização através de páginas na Internet como se pode ver na Figura AII.1 Pedido de Informação Interface Base de Dados de Informação a Armazenar Utilização de Sistemas de RA Informação Requisitada Classificados Figura AII.1: Arquitectura do TARCAST. Arquitectura da Interface de Utilização do TARCAST Sendo a interface de utilização implementada através de página de Web, apresentam-se na Figura AII.2 os principais blocos constituintes do TARCAST em termos de interface e sistema de armazenamento de informação. Arquitectura da Base de Dados do TARCAST Na Figura AII.3 apresenta-se a arquitectura da base de dados do TARCAST num diagrama de entidades e relações. Diagrama de Interacções com o Utilizador A Figura AII.4 representa as interacções do utilizador com a interface de Web e desta com a base de dados do TARCAST através de um diagrama de fluxo. 124 Apêndice II TARCAST Home Page - Objectivos da aplicação. - Links para: Help; Information Browser, Edition Browser (Registration). TARCAST TARCAST TARCAST Information Browser Help Edition Browser (Registration) - Listagem de todos os - Mapa do Site Sistemas de RA - Sintaxe da taxonomia - Interface para classificados. - Significado de cada Registo - Selecção de um característica - Sistema de RA - Back Button Pedido de Login Interface para - Links para: - Links para: Home; Home; Help; Help; System Browser. Information Browser. TARCAST TARCAST System Browser Edition Browser (AR System Edition) - Apresentação do Sistema de RA - Apresentação dos seleccionado no Sistemas de RA associados Information Browser a um Login que permita a - Links para: Edição. Home; Help; Information Browser. Base de Dados de Sistemas de RA Classificados Registo de Classificadores Figura AII.2: Arquitectura da Interface Web para a Base de Dados de Sistemas de RA Classificados 125 Apêndice II Figura AII..3: Diagrama de Entidades Relações. da arquitectura da base de dados do TARCAST. 126 Apêndice II TARCAST Home Edição? Home? TARCAST Edition Browser (Registration) Consulta? Help? Pedido de Listagem Novo ID? Cancel? TARCAST TARCAST Information Browser Mail:> HELP ID Válido? Information Browser? TARCAST System Browser Selecção? Pedido de Sistema de RA TARCAST Edition Browser Validação de ID OK? Pedido de Sistemas de RA Gravação das alterações Listagem dos Sistemas de RA 1 1 Caracterização de um Sistema de RA 1 Identifica dores de Sistemas Associados ao ID Listagem de Sistemas Associados ao ID 1 2 Registo de ID 2 Base de Dados de Sistemas Registo de Classificadores de RA Classificados Figura AII.4: Diagrama de Interacções do utilizador com o TARCAST. Note-se que os números a branco sobre circulos negros indicam a resposta da base de dados a cada processo de pedido de informação. 127 Apêndice II 128 Apêndice III APÊNDICE III: ANÁLISE E ESPECIFICAÇÃO DE REQUISITOS PARA O VIDA – VISUALIZADOR INTERACTIVO DE DADOS ANIMADOS Análise do Problema Seguindo o paradigma proposto em [Stamper, 2000] a análise do problema começou pela análise de todo o ambiente de funcionamento anterior à possível introdução de alterações no processo, nomeadamente: recolha de dados, seu processamento e utilização da informação dele resultante. Para maior clareza da exposição, este processo de recolha de dados, seu processamento e utilização da informação resultante anterior à introdução do VIDA será doravante denominado processo tradicional. Note-se que todo o trabalho documentado ao longo das próximas secções respeita apenas ao processo tradicional de utilização dos dados cinéticos uma vez que a recolha e processamento dos dados fisiológicos decorre num sistema a funcionar em paralelo e que pode ser considerado completamente estanque em relação ao processamento dos dados cinéticos. Os dados fisiológicos podem assim ser considerados apenas como dados de entrada para o VIDA. Placa de Aquisição de Sequências de Vídeo Paralelepípedo para calibração das câmaras Sistema de Armazenamento de Sequências de Vídeo Monitor para Visualização e Digitalização de cada quadro de vídeo Sistema de Cálculo da Transformação Linear Directa Monitor para Visualização dos dados Biomecânicos Biomecânico que procede à digitalização manual de cada quadro da sequência de vídeo Figura AIII.1: Elementos físicos constituintes do sistema em funcionamento no Laboratório de Biomecânica da FMH anterior à introdução do VIDA. 129 Apêndice III Em seguida descreve-se o processo tradicional com o detalhe possível. A Figura AIII.1 apresenta de forma esquemática os componentes físicos envolvidos no processo tradicional. A Figura AIII.2 apresenta, através de um diagrama de fluxo, o processo tradicional, detalhadamente descrito em [Pascoal, 2001], decomposto nas suas principais etapas e que pode ser textualmente explicado da seguinte forma: 1. Preparação do ambiente de recolha de dados: 1.1 Dispõem-se três câmaras de vídeo a uma distância de cerca de 10 metros do centro de coordenadas do mundo e por forma a que os ângulos entre cada duas câmaras sejam sempre superiores a 60º e inferiores a 120º. [Kwon, 2000]. Normalmente recorre-se a uma câmara colocada de frente para o sentido do movimento do Atleta e duas lateralmente. 1.2 Coloca-se um qualquer dispositivo que permita sincronizar as 3 câmaras, sendo para tal usual recorrer a um dos seguintes métodos: a. Normalmente recorre-se a um interruptor que accione as três câmaras em simultâneo, ou, caso as câmaras não possuam modo sincronizado, b. a um dispositivo luminoso que marque de forma visível na sequência de vídeo um quadro temporalmente comum às 3 câmaras de vídeo, c. ou ainda a um relógio, visível de todas as 3 câmaras. 2. Recolha de dados para calibração das 3 câmaras: 2.1 É colocado um qualquer dispositivo físico com pelo menos 12 pontos visíveis no plano de imagem de qualquer das 3 câmaras (neste caso um paralelepípedo) no centro do Sistema de Coordenadas do Mundo. As coordenadas no Sistema de Coordenadas do Mundo desses 12 pontos são conhecidas. É normalmente usado como dispositivo de calibração um paralelepípedo com 12 pontos assinalados ou a “estrela de calibração” descrita em [Pascoal, 2001]. 2.2 É captado pelo menos um quadro de vídeo de cada umas das 3 câmaras em que sejam visíveis os 12 pontos de calibração. 2.3 Os 3 quadros de vídeo são armazenados em formato AVI [McGowan, 1999] 2.4 A partir deste momento as câmaras não devem voltar a ser movidas sob pena de não ser possível calcular as suas matrizes de calibração. 130 Apêndice III Recolha de dados para calibração das câmaras (x2,y2,z2) (x1,y1,z1) Digitalização Manual de cada um dos 12 pontos de calibração por cada quadro de cada câmara de vídeo 2 tabelas cada uma com 12 pontos bidimensionais em coordenadas de imagem por cada quadro Cálculo dos 11 parâmetros das matrizes da Transformação Linear Directa (DLT) 1 tabela com as coordenadas tridimensionais de 12 pontos cujas coordenadas no sistema de coordenadas do mundo são conhecidas 1 Matriz DLT por câmara de video, que estabelece a relação entre o sistema de coordenadas do mundo e o sistema de coordenadas da imagem Cálculo as posições tridimensionais dos 21 pontos de controlo do corpo do atleta em coordenadas do mundo Transformação Linear Directa Visualização do movimento em fio de arame 2D e dos dados fisiológicos em gráfico 1 tabela com as posições tridimensionais dos 21 pontos de controlo do corpo do atleta em coordenadas do mundo (x2,y2) (x2,y2) (x1,y1) Digitalização manual de cada ponto em cada quadro 2 tabelas cada uma com 21 pontos 2D por cada quadro (x1,y1) Recolha de Dados Cinéticos Figura AIII.2: Processo tradicional de recolha de dados cinéticos, seu processamento e forma de visualização 131 Apêndice III 3. Captação da sequência de vídeo correspondente ao exercício executado pelo Atleta: 3.1 O exercício deve decorrer numa proximidade nunca superior a um metro do espaço calibrado. As formas de aumentar esse espaço calibrado estão descritas em [Kwon, 1994]. 3.2 As 3 câmaras de vídeo são sincronizadamente activadas. 3.3 As 3 sequências de vídeo sincronizadas são armazenadas em formato AVI. 4. Recolha das posições bidimensionais em coordenadas de imagem dos 12 pontos de calibração. 4.1 Um indivíduo procede à digitalização manual dos 12 pontos de calibração em cada um dos 3 quadros de vídeo armazenados em 2.3. 4.2 As coordenadas bidimensionais dos 12 pontos de calibração são armazenadas no sistema de cálculo das matrizes de calibração (cálculo da DLT) 4.3 Um Biomecânico procede à digitalização manual dos 22 pontos de controlo do corpo do atleta em cada quadro das 3 sequências de vídeo armazenadas em 3.3 4.4 As coordenadas bidimensionais obtidas em 4.3 são armazenadas no sistema de cálculo das matrizes de calibração (cálculo dos parâmetros DLT). 5. Determinação das coordenadas tridimensionais em coordenadas do mundo de cada um dos 22 pontos de controlo do corpo do atleta para cada conjunto de 3 quadros das sequências de vídeo. 5.1 Recurso à Transformação Linear Directa 6. Visualização da informação Biomecânica: 6.1 A informação é visualizada através de um manequim tridimensional animado em fio de arame, com os dados biológicos respeitantes a cada músculo a serem apresentados em gráficos e tabelas. Perante o processo tradicional concluiu-se que o principal salto qualitativo desejado pelos elementos do LB/FMH passava pela possibilidade de visualização dos dados biomecânicos num Manequim virtual tridimensional, animado com os dados cinéticos, e cujos músculos fossem coloridos de forma proporcional aos dados biológicos respeitantes à actividade muscular. 132 Apêndice III Perante a, fundamentada, relutância dos elementos do LB/FMH, baseada em argumentos de precisão, conhecimentos anatómicos requeridos e prazos de execução da aplicação, em optar desde logo pela automatização do processo de recolha de dados cinéticos, optou-se por executar apenas um estudo de viabilidade baseado no desenvolvimento de um protótipo e de cujos resultados ficasse dependente a escolha ou não dessa solução. Assunções permitidas Para especificar o que é possível assumir em relação ao movimento a analisar, ao ambiente de recolha de dados e ao sujeito da recolha de dados recorre-se aqui à estrutura de assunções mais comuns em sistemas de seguimento de movimento apresentada na tabela 3 de [Moeslund et Al, 2001] Em relação ao Movimento 1. O sujeito mantém-se dentro do espaço de trabalho pré-definido 2. As 3 câmara não se movem. Note-se que no caso de um futuro ambiente de RA a câmara terá de se poder movimentar de acordo com o observador. 3. Em cada instante só estará presente uma pessoa 4. O facto de o sujeito encarar ou não permanentemente a câmara é irrelevante para o presente produto. 5. Os movimentos podem ou não ser paralelos ao plano da câmara. 6. Não existem oclusões, sendo cada uma das marcas sempre visíveis por pelo menos duas das câmaras. Note-se que no caso de um futuro ambiente de RA o problema das oclusões colocar-se-á. 7. Os movimentos não são lentos nem contínuos. 8. Todo o sujeito e todos os seus membros estão sujeitos a movimento. 9. O padrão de movimento do sujeito é previamente conhecido, mas irrelevante para o estudo em causa. 10. O sujeito move-se num plano conhecido. 133 Apêndice III Em relação ao Ambiente 1. A iluminação é constante e pode ser optimizada. 2. O fundo é estático. 3. O fundo não é uniforme 4. Os parâmetros internos da câmara não são conhecidos mas podem ser estimados por calibração. 5. Não recorre a hardware especial. Em relação ao Sujeito 1. A pose inicial é conhecida, mas esse factor é irrelevante para o presente produto. 2. O sujeito é conhecido, mas esse factor é irrelevante para o presente produto. 3. São colocadas marcas iridescentes no sujeito. 4. O Sujeito não enverga nenhuma roupa especial. 5. As marcas são colocadas directamente sobre a pele, não envergando o sujeito roupa no local das marcas. Especificação de Requisitos Das várias reuniões com o cliente do VIDA foi possível elaborar uma série de especificações, nomeadamente no que respeita ao formato dos dados de entrada para a aplicação e aos requisitos funcionais da mesma. Especificação Dos Dados De Entrada Por dados de entrada, entende-se aqui o conjunto de dados cinéticos respeitantes às posições das peças ósseas e dos dados fisiológicos respeitantes ao esforço físico das peças musculares. Estes dois tipos de dados estão armazenados em ficheiros diferentes. Ficheiro De Dados Cinéticos Trata-se de um ficheiro de MS Excel com os dados distribuídos por linhas e colunas de acordo com o exemplo fornecido pelo cliente e disponível em: 134 Apêndice III http://ltodi.est.ips.pt/jbraz/files/relavida.zip. O ficheiro contém valores reais respeitantes às posições tridimensionais em coordenadas do mundo das juntas ósseas correspondentes a uma série de quadros da sequência de vídeo captada durante a recolha de dados. O número de linhas da tabela, cada uma das quais correspondente a um quadro de vídeo, pode variar de ficheiro para ficheiro. O número de colunas da tabela - cada conjunto de três das quais especifica a posição tridimensional em coordenadas do mundo de uma junta óssea - é fixo e corresponde às enumeradas no exemplo fornecido pelo cliente e disponível em http://ltodi.est.ips.pt/jbraz/files/relavida.zip. Quando não existem dados sobre uma determinada junta óssea a coluna que lhe corresponde vem preenchida com zeros. Ficheiro De Dados Fisiológicos Trata-se de um ficheiro de MS Excel com os dados distribuídos por linhas e colunas de acordo com o exemplo fornecido pelo cliente e disponível em: http://ltodi.est.ips.pt/jbraz/files/relavida.zip. O ficheiro contém valores reais correspondentes ao esforço muscular desenvolvido pelo sujeito em movimento. O número de linhas da tabela, cada uma das quais correspondente a um quadro de vídeo, pode variar de ficheiro para ficheiro. O número de colunas da tabela - cada uma das quais especificando um valor correspondente ao esforço de um músculo - é fixo e corresponde às enumeradas no exemplo fornecido pelo cliente e disponível em http://ltodi.est.ips.pt/jbraz/files/relavida.zip. Quando não existem dados sobre um determinado músculo a coluna que lhe corresponde vem preenchida com zeros. Relações Entre os Dados Cinéticos e Fisiológicos Os dados cinéticos são captados com uma frequência de amostragem de 33 quadros por segundo. 135 Apêndice III Inicio Arranque: Através de duplo clique no ícone da aplicação Inicialização da janela da aplicação. Inicialização das coordenadas iniciais das juntas e peças ósseas e dos músculos. Apresentação do manequim d Inicializa a janela com os menus disponíveis. Activa as opções disponíveis de cada menu Apresenta o manequim na posição correspondente ao primeiro quadro da animação com as cores dos músculos correspondentes. Menu Animação:> Menu Ficheiro:> Menu Posição:> Menu View:> Músculos Vísiveis (permite seleccionar os músculos apresentados) Open Tool Bar (Mostra ou esconde a barra de ferramentas) if (Cinemáticos Lidos) No Yes Continua Copia os dados Fisiológicos de um ficheiro de Excel para uma lista interna Copia os dados cinemáticos de um ficheiro de Excel para uma lista interna Activa as opções do menu Coloração Activa as opções do menu Animação Cam. Lenta Start Stop Selecciona a função de animação Continua Especifica o tempo entre quadros Inicia a animação no modo seleccionado Pára a animação Calcula os valores de cor para coloração de cada músculo em cada frame Sair Calcula o posicionamento de cada junta e peça óssea em cada frame Rotação:> Eixo X Reset X Eixo X Reset X Eixo Y Reset Y Eixo Y Eixo Z Reset Z Eixo Z Fecha a aplicação Reset Y Reset Z Fim Figura AIII.4: Diagrama de fluxo da interface funcional do VIDA 136 Posição:> Apêndice III Os dados fisiológicos são captados com uma frequência de amostragem de 1000 amostras por segundo. Os ficheiros de dados cinéticos e fisiológicos que servem de entrada para o VIDA são previamente sincronizados. A sincronização entre os dados cinéticos e fisiológicos faz-se no momento t=0 para os cinéticos e no momento em que o atleta toca na plataforma de inicio dos fisiológicos e que pode ser detectado pelo pico abrupto existente na respectiva coluna do ficheiro de dados cinéticos. O valor considerado dos dados fisiológicos para apresentação no écran é a média aritmética dos 33 quadros intermédios. Requisitos Funcionais Das reuniões com os clientes da aplicação resultou um algoritmo de interacção com o utilizador que ilustra com elevado grau de precisão o funcionamento da aplicação do ponto de vista do utilizador. O algoritmo referido é reproduzido na Figura AIII.3 e aqui resumidamente explicado através da descrição de cada um dos blocos. Início: - A aplicação é aberta por duplo clique sobre o seu ícone. - Ao abrir a aplicação é apresentado ao utilizador, ao centro da janela de visualização, um manequim do corpo humano com todos os ossos e músculos definidos na Figura AIII.4. Menu Ficheiro - Permite executar os comandos: Abrir e Sair. Open (Menu Ficheiro) - Ao escolher esta opção abre-se uma caixa de diálogo “Abrir Ficheiro “ padrão, onde o utilizador pode seleccionar o ficheiro em formato Excel (.xls). - O comando Abrir permite abrir ficheiros de MS Excel (.xls), formatados de acordo com a “Especificação dos Dados de Entrada”. 137 Apêndice III - NOTA:O UTILIZADOR DEVE COMEÇAR POR IMPORTAR OS DADOS CINEMÁTICOS E EM SEGUIDA OS FISIOLÓGICOS CORRESPONDENTES. - Ao premir pela primeira vez o botão OK da caixa de diálogo Abrir Ficheiro os dados cinemáticos são copiados do ficheiro para listas internas. - Ao premir pela segunda vez o botão OK da caixa de diálogo Abrir Ficheiro os dados fisiológicos são copiados do ficheiro para listas internas. Sair (Menu Ficheiro) - Finaliza a aplicação e sai para o Windows. Menu Animação - Permite executar os comandos : Start, Stop, Continua e Câmara Lenta. Start (Menu Animação) - Inicia a animação, caso tenham sido previamente importados dados cinemáticos,ou apresenta uma caixa de diálogo caso não tenham sido previamente importados dados cinemáticos. Stop (Menu Animação) - Pára a animação na posição corrente. Contínua (Menu Animação) - Apresenta uma animação contínua do manequim através da deslocação e rotação das peças ósseas de acordo com as coordenadas importadas de ficheiros com os dados cinemáticos. - A animação pára ao ser executado o comando Stop do menu Animação. - O manequim volta à posição inicial ao ser executado o comando Reset do menu Animação. - Este é o modo de animação por defeito Câmara lenta (Menu Animação) - Apresenta uma caixa de diálogo em que é possível especificar o intervalo, em segundos, entre cada quadro numa animação continua. - O valor por defeito é 0. 138 Apêndice III Menu Posição - Permite executar os comandos Localização, Rotação e Incrementos que apresentam as respectivas caixas de diálogo Localização (Menu Posição) - Comando que apresenta a caixa de diálogo Posição. - A caixa de diálogo Localização possui três campos: Coordenada em X, Coordenada Y e Coordenada Z e três botões: Reset, OK e Cancel. - O botão OK torna efectivos os valores introduzidos em cada um dos campos. - O botão Cancel permite abandonar a caixa de diálogo sem que nenhuma acção seja executada. - O botão Reset preenche os campos com valores por defeito. - A caixa de diálogo Localização permite definir as coordenadas da localização inicial do manequim, nomeadamente aproximá-lo (efeito zoomIn) ou afastá-lo (zoomOut) alterando os valores em Z, deslocá-lo para cima ou para baixo alterando os valores em Y, ou para esquerda e direita, alterando os valores em X. Rotação (Menu Posição) - Comando que apresenta a caixa de diálogo Rotação. - A caixa de diálogo Rotação permite definir o angulo de que se olha para o manequim rodando-o em redor de cada um dos eixos nos valores especificados em graus e no sentido dos ponteiros do relógio. - A caixa de diálogo Rotação possui três campos: em torno do x, em torno do y e em torno do z e três botões: Reset, OK e Cancel. - O botão OK torna efectivos os valores introduzidos em cada um dos campos. - O botão Cancel permite abandonar a caixa de diálogo sem que nenhuma acção seja executada. - O botão Reset preenche os campos com valores por defeito. - A caixa de edição Eixo X da caixa de diálogo Rotação é onde o utilizador especifica em quanto graus quer rodar o manequim em redor do eixo dos X. 139 Apêndice III - A caixa de edição Eixo Y da caixa de diálogo Rotação é onde o utilizador especifica em quanto graus quer rodar o manequim em redor do eixo dos Y. - A caixa de edição Eixo da caixa de diálogo Rotação é onde o utilizador especifica em quanto graus quer rodar o manequim em redor do eixo dos Z. Menu View O menu View permite executar os comandos Tool Bar, Status Bar e Músculos Vísiveis. Tool Bar (Menu View) O comando Tool Bar apresenta ou esconde a barra de ferramentas descrita em 3.6 Status Bar (Menu View) O comando Status Bar apresenta ou esconde a barra de estado normalizada do Windows ondce o utilizador pode ver descrições de comandos ou do estado da aplicação. Músculos Vísiveis (Menu View) O comando Músculos Vísiveis apresenta a caixa de diálogo com o mesmo nome e onde o utilizador pode seleccionar os músculos que pretende que estejam vísiveis em cada momento. Tool Bar A barra de ferramentas é a localização ideal para uma série de comandos que permitem abrir os ficheiros de dados cinemáticos e fisiológicos, iniciar ou parar a animação, posicionar ou rodar o manequim, centrar o manequim, aproximá-lo ou afastá-lo ou vê-lo de seis pontos de vista pré-definidos: vistas laterais esquerda e direita, topo e fundo, frente e costas. Modelo do Manequim para o Vida O modelo virtual do sujeito do movimento deve apresentar as peças ósseas, juntas ósseas e peças musculares identificadas na Figura AIII.4. Numa primeira versão as peças ósseas serão representadas por paralelepípedos, as juntas ósseas por esferas e as peças musculares por linhas, sendo de considerar que em futuras versões cada uma destas estruturas deverão passar a ter uma representação realista. 140 Apêndice III Manequim Peças e juntas ósseas de estrutura volumétrica e animadas pelas posições 3D Crâneo Músculos de estrutura linear e animados pelas posições das juntas ósseas em que começam e terminam Anca Sacro Glúteo Isquion Bícipede Femural Elíaco Semitendinoso Pescoço Tronco Ombro Braço Vasto Externo e Interno Coxa Rótula Cotovelo Antebraço Pulso Recto Femural Fémur Gémeo Perna Tíbia Solear Mão Perónio Tibial Anterior Pé Linha muscular inicia-se no osso: Tornozelo E termina no osso: Base Figura AIII.4: Esquema das peças ósseas, juntas ósseas e peças musculares a modelizar pelo VIDA Animação do Manequim A animação do manequim será parametrizada de acordo com os dados cinéticos referentes à posição tridimensional dos dois extremos de cada osso dos atletas durante a recolha de dados e gravação em vídeo. 141 Apêndice III Coloração do Manequim As peças musculares são pintadas, numa variação cromática continua que vai do Azul claro ao Vermelho de acordo com a intensidade do esforço muscular especificada pelos dados do ficheiro de dados fisiológicos. O Azul claro representará um esforço nulo, o Vermelho para o esforço máximo. 142