1 / 25

Thiago Bastos, Maio de 2006

Head Tracking no framework ViRAL. Thiago Bastos, Maio de 2006. Objetivos do Trabalho. Implementar (no ViRAL) head tracking para sistemas de projeção em telas planas. Pode ser usado em sistemas Surround-Screen ( e.g. uma CAVE), Head-Mounted Displays e FishTanks .

kesia
Télécharger la présentation

Thiago Bastos, Maio de 2006

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Head Tracking no framework ViRAL Thiago Bastos, Maio de 2006

  2. Objetivos do Trabalho • Implementar (no ViRAL) head tracking para sistemas de projeção em telas planas. • Pode ser usado em sistemas Surround-Screen (e.g. uma CAVE), Head-Mounted Displays e FishTanks. • Não pode ser usado em telas curvas, a menos que o nível de distorção seja tolerável (como nos HMD’s). • Desenvolver uma aplicação de testes utilizando o Flock of Birds.

  3. Consiste em rastrear a posição e a orientação da cabeça do usuário no mundo real.... ... e então usar essas informações para calcular matrizes de view e projection para cada tela de projeção de um sistema de RV. Absolutamente necessário em sistemas de RV imersivos: Permite que a visão (câmera) acompanhe os movimentos do usuário no mundo real. Permite a correção de distorções nas projeções (e.g. quando a posição do usuário em relação à tela não forma um frustum simétrico). Permite o cálculo correto de projeções stereo. Head Tracking

  4. Cenário 1: CAVE

  5. Cenário 2: Head Mounted Display

  6. Cenário 3: FishTank

  7. Primeiro Surround-Screen Virtual Environment (1991, com 4 paredes). Telas fixas alinhadas com os eixos do sistema de rastreamento (com origem no centro da CAVE). Até seis telas (walls) de 9m2 – permitem a projeção de ambientes em escala natural. As telas funcionam como janelas de vidro para um mundo virtual – com a diferença que osobjetos podem passar pordentro da CAVE. Exemplo Interessante: CAVE Y X Z

  8. São compostos por: Um sistema de rastreamento (head tracker). Uma ou mais superfícies de projeção – geralmente planas – com posição conhecida no espaço do head tracker. Os sistemas podem ser separados em três casos: Telas de projeção que se mantém fixas no espaço do mundo (e.g. uma CAVE). Telas de projeção que se mantém fixas no espaço da cabeça (e.g. um HMD). Telas de projeção que podem se mover independentemente do usuário (i.e. telas móveis, que precisam ser rastreadas). Sistemas de Projeção com Head Tracking

  9. Baixa latência (acima de 60Hz). Alta precisão e bom alcance. Milímetros são importantes quando existem objetos perto do usuário; Deve cobrir toda área do ambiente de RV (e.g. 3m de diâmetro numa CAVE). Ausência de ruídos. Qualquer tremedeira do rastreador pode causar enjôo nos usuários, e estragar o stereo. Requisitos do Sistema de Rastreamento

  10. Sistema de rastreamento eletromagnético escalável (múltiplos sensores com 6DOF). Características Positivas: Baixa latência (até ~140Hz); Boa precisão (2 milímetros) até certa distância. Características Negativas: Curto alcance (1.2m) [outro modelo vai até 3m]; Sujeito a ruídos: Bastante sensível a interferência eletromagnética. O Nosso Rastreador: Flock of Birds

  11. Amaciando Ruídos no FoB • Filtro Gaussiano provê o melhor custo/benefício no caso do Flock of Birds (que não precisa de predição de movimentos). Filtra vetores de posição equaternions de orientaçãousando uma distribuiçãogaussiana configurável. Lag configurável

  12. Rastreando Cabeças Posição Entre os Olhos (Vector) • Posição do Sensor (Vector) • Translação para os Olhos (Vector) • Orientação do Sensor (Quaternion) • Rotação para a Cabeça (Quaternion) Orientação da Cabeça (Quaternion) Lido do rastreador. Configurado pelo usuário. Espaço da Cabeça = ( 1 + 2 ) * 3 * 4 Y X Z

  13. Conhecendo o espaço da cabeça e dada uma distância interocular, podemos calcular a posição de cada olho no espaço do mundo. Posição dos Olhos Y Z distância interocular X (es,0,0) (-es,0,0)

  14. Posição das Telas de Projeção • Cada tela é definida por quatro pontos no espaço do mundo (ou seja, no espaço do head tracker). • Ou ainda, no espaço da cabeça, para HMDs... • Telas móveis podem ser rastreadas pelo mesmo sistema. • Telas fixas podem ser configuradas manualmente se a origem do rastreador também for fixa.

  15. No ViRAL, a posição do observador no mundo virtual é definida por três parâmetros: Um vetor de posição; Um quaternion de orientação do corpo; Um quaternion de rotação da cabeça; Não têm nada a ver com o head-tracking! Matriz de ModelView “virtual”: Mmodelview-virtual = (T * Rbody * Rhead)–1 Posição do Usuário no Mundo Virtual

  16. Para cada tela de projeção... Achar a base da tela no espaço do mundo. X = (LR – LL) / width Y = (UR – LR) / height Z = X cross Y Os três vetores dão amatriz de rotação da telapara o mundo MscreenToWorld. A transposta é a matrizde rotação do mundo para a tela, MworldToScreen. Algoritmo de Head Tracking Monocular (1) UR UL LR LL

  17. Levando UL, UR, LL e LR para o espaço da tela, obtemos os quatro pontos num plano XY (com -Z = distância da tela até a origem do tracker). Levando o olho para o espaço da tela e o projetando no plano, podemos obter as coordenadas Left, Right, Top, e Bottom de um frustum assimétrico. Algoritmo de Head Tracking Monocular (2) (0,0) Olho UL UR UL UR T T R L L R B B LL LL LR LR

  18. Precisamos calcular distâncias near e far para o frustum. near é uma porcentagem da distância do olho até a tela de projeção. far é um número bem grande (e.g. 100Km). Algoritmo de Head Tracking Monocular (3) 85% 15% near Tela far (bem longe)

  19. A matriz projection é calculada usando a mesma fórmula da função glFrustum(), que espera as coordenadas Left, Right, Top, e Bottom no plano near. Podem ser obtidas por semelhança de triângulos. Algoritmo de Head Tracking Monocular (4) Mprojection =

  20. Finalmente, a matriz de View com head tracking é calculada como: Mview = Mmodelview-virtual * -Eworld * MscreenToWorld Algoritmo de Head Tracking Monocular (5)

  21. Podemos calcular projeções estereoscópicas por head-tracking de forma bastante intuitiva: Achamos a posição dos olhos usando a distância interocular. Executamos o procedimento de head tracking monocular uma vez para cada olho. Head Tracking e Estereoscopia

  22. O mundo real (espaço do tracker) e o virtual precisam estar na mesma escala. No ViRAL tudo é padronizado em metros. Caso o mundo virtual não esteja em metros, podemos aplicar uma escala à distância interocular e às posições rastreadas. O tamanho máximo que um objeto importante pode ter é aproximadamente o tamanho da tela. FishTanks em desktop precisam trabalhar com objetos miniaturizados. Escalas inconsistentes causam a total perda de imersão! Escalas

  23. Efeitos da aproximação do usuário a uma tela: Translação na matriz de view (ou não...); Achatamento do frustum, que torna-se mais largo; O que está para fora da tela sofre zoom-in; O que está para dentro da tela sofre zoom-out; Problemas: O FOV converge para 180º, levando tudo para o infinito. zNear fica muito pequeno, diminuindo a precisão do z-buffer. Aproximando-se da Tela...

  24. Demo com Telas Perpendiculares

  25. Cruz-Neira, C., D.J.Sandin, and DeFanti, T. Surround-Screen Projection-Based Virtual Reality: The Design and Implementation of the CAVE. In SIGGRAPH '93 Proceedings (Aug. 1993), Association for Computing Machinery. Dave Pape, Daniel J. Sandin, and Thomas A. DeFanti. Transparently supporting a wide range of VR and stereoscopic display devices. Proc. SPIE Int. Soc. Opt. Eng. 3639, 346 (1999) VRJuggler. http://www.vrjuggler.org Fotos de equipamentos de RV retiradas do site do instituto FAW, Áustria. http://www.faw.uni-linz.ac.at/save/hardware/main.html Referências

More Related