Globalcode – Open4education
Trilha realidade virtual – Rastreamento 3D de objetos para
realidade virtualDr. Mauro Pichiliani
Globalcode – Open4education
Agradecimento
Simuladores para treinamento virtual de tiroSite: http://www.360virtu.com/Contato: [email protected]
Globalcode – Open4education
Quem sou eu
Mestre e doutor em computação pelo ITA
Escritor da SQL Magazine, .NET e Java Magazine
Colaborador do iMasters há 15 anos
Autor do livro “Conversando sobre banco de dados”
Co-produtor do DatabaseCast
Consultor independente e autor de cursos on-line
Globalcode – Open4education
Agenda
Rastreamento em 3D para RV
MOCAP
MOCAP para RV
Case: rastreamento de pistola em 3D
Conclusão
Globalcode – Open4education
Rastreamento em 3D para RV
Rastreamento para capturar pessoas/objetos em movimentosGeralmente captura de dados + pós-produçãoPrincipais aplicações:
FilmesGamesPublicidade (comerciais de TV)
Pouco explorado para RV!Contexto móvelCaptura e visualização em tempo realMapeamento do mundo real no mundo virtual
Globalcode – Open4education
MOCAP
Captura de movimentos:
Globalcode – Open4education
MOCAP
Captura movimentos + modelos 3D + animação (rigging)Melhor precisão/latência: câmera (>120 fps) + marcadoresLatência média: sensores
Giro.+acel.+magnetômetro (bússula)
Diferentes maneiras de captura:
Marcadores óticos ativos (led)Marcadores óticos passivos
Geralmente estúdio grande com fundo verde+conjunto de câmeras IRAlto custo, pouca mobibilidade e pós-produção
Globalcode – Open4education
MOCAP para RV
WebCam (filtro IR) ou Leap Motion?
Marcador ativo x Marcador passivo?
Foco em simulação: uso de objetos reais com pouca instrumentação!
Melhor sensação de presença com objeto real
Baixo custo, alta mobibilidade e sem pós-produçãoDesafios: baixa latência! Projeto de visão computacional
Globalcode – Open4education
Case: rastreamento de pistola 3D
Requisitos:Rastrear posição X, Y e Z de pistola de ar comprimidoRastrear rotação nos três eixos (Yaw, Roll, Pitch)Detectar pressionamento do gatilho (“disparo”)Utilizar pistola com munição “real” (bolinhas)Integração com Unity para Ocullus DK2Sistema distribuído para integração sem fio com RV no mobile
Possibilidade de computador na mochila
Latência mínima (capturar “tranco” da pistola)
Design:Leap motion (>60fps, 2 câmeras) + marcadores passivosInstrumentação de pistola com “mouse sem fio”Aplicativo desktop (C#) que envia dados por socket para cliente no Unity (C#)
Globalcode – Open4education
Case: rastreamento de pistola 3D
Instrumentação do gatilho:Mouse sem fioSolda de push buttonDongle na USBCaptura clique no botão direito em qualquer janela do windows (hook)Envio de dados por socket
Instrumentação dos marcadores: um no topo e dois nas laterais (longe da área da “puxada”)
Globalcode – Open4education
Case: rastreamento de pistola 3D
Rastreamento (para cada imagem):1) Encontrar pontos na imagem2) Agrupar + encontrar centróides dos marcadores3) Calcular posição X, Y e Z:
Coordenadas X e Y dos centroids + qtd de pontos/brilho médio do cluster para Z
4) Calcular rotação Yaw, Roll e PitchYaw: diferença qtd. pontos entre clusters dos marcadores de baixoRoll: ângulo dentre duas retas (marcador do topo + vertical)Pitch: diferença qtd. pontos entre todos os clusters
5) Envio de dados pela rede (socket)6) Latência mínima: 0.050ms
Principal desafio: latência mínima de 0.050ms
Globalcode – Open4education
Case: rastreamento de pistola 3D
Recomendações:Leap distorce imagem!
Solução: semi-janela transparente sobre visualizador que vem no SDK Orion
Cuidado com algoritmos! Só para percorrer todos os pontos da imagem em dois for() gastei 100ms!Solução: limitar pontos lidos da imagemAlgoritmo para clustering: DBSCAN (qtd mínima de pontos e dist. máxima dos pontos do cluster)Sempre tenha opçõs de debug, i.e. marcar imagem para ver resultadoUse threads diferentes para cada imagem, cache de valores em funções (memoization) e limite quantidade de pontos a ser lida
Principal desafio: latência mínima de 0.050msIdeal: 1000ms / 60fps ~ 0.016ms
Globalcode – Open4education
Case: rastreamento de pistola 3D
Demo marcadores:
Globalcode – Open4education
Case: rastreamento de pistola 3D
Demo com cor nos marcadores:
Globalcode – Open4education
ConclusãoExistem várias técnicas de MOCAP que podem ser aproveitadas para Realidade Virtual
Poucos fazem e é raro encontrar sistemas com muitos graus de liberdade!
É possível utilizar o Leap motion para projetos de visão computacionalCuidado com latência e instrumentação do objeto
RV funciona muito melhor com interação!
Uso de objetos físicos reais torna a simulação mais realista
Outra possibilidades:Medicina (bisturi?)Culinária (panela?)Educação
Globalcode – Open4education
Perguntas?
Dr. Mauro Pichiliani [email protected]@pichiliani
Simuladores para treinamento virtual de tiro
Site: http://www.360virtu.com/Contato: [email protected]
Top Related