Rastreamento 3D de objetos para realidade virtual

Preview:

Citation preview

Globalcode – Open4education

Trilha realidade virtual – Rastreamento 3D de objetos para

realidade virtualDr. Mauro Pichiliani

mauro@pichiliani.com.br

Globalcode – Open4education

Agradecimento

Simuladores para treinamento virtual de tiroSite: http://www.360virtu.com/Contato: info@360virtu.com

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 mauro@pichiliani.com.br@pichiliani

Simuladores para treinamento virtual de tiro

Site: http://www.360virtu.com/Contato: info@360virtu.com

Recommended