Globalcode – Open4education
Trilha realidade virtual –
Rastreamento 3D de objetos para
realidade virtual
Dr. Mauro Pichiliani
mauro@pichiliani.com.br
Globalcode – Open4education
Agradecimento
Simuladores para treinamento virtual de tiro
Site: 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
movimentos
Geralmente captura de dados + pós-produção
Principais aplicações:
Filmes
Games
Publicidade (comerciais de TV)
Pouco explorado para RV!
Contexto móvel
Captura e visualização em tempo real
Mapeamento 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) +
marcadores
Latê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 IR
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ção
Desafios: 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 comprimido
Rastrear 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 DK2
Sistema 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 passivos
Instrumentaçã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 fio
Solda de push button
Dongle na USB
Captura 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 imagem
2) Agrupar + encontrar centróides dos marcadores
3) 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 Pitch
Yaw: diferença qtd. pontos entre clusters dos marcadores de baixo
Roll: â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 imagem
Algoritmo 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
resultado
Use 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.050ms
Ideal: 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ão
Existem 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 computacional
Cuidado 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

Mais conteúdo relacionado

PPT
Introdução ao Deep Learning com o TensorFlow
PDF
Introdução a Machine Learning e TensorFlow
PDF
Introdução a Deep Learning
ODP
Calourada2010
PDF
Introdução ao Machine Learning para Hackers
PPT
Introdução à visão computacional utilizando software livre
PDF
Aula 01 python
PDF
Introdução à Programação em Python
Introdução ao Deep Learning com o TensorFlow
Introdução a Machine Learning e TensorFlow
Introdução a Deep Learning
Calourada2010
Introdução ao Machine Learning para Hackers
Introdução à visão computacional utilizando software livre
Aula 01 python
Introdução à Programação em Python

Mais procurados (19)

PPTX
Programação Concorrente - Aula 03
PPTX
Introdução OpenCV (Pt-Br) com exemplos
PDF
Inteligência artificial e redes neurais em PHP
PDF
TDC2018SP | Trilha Python - Nao e magia, e tecnologia
PPTX
Computação paralela utilizando OpenMP para aplicações matemáticos
KEY
Python, a arma secreta do Google
PDF
Introdução à linguagem de programação Python
PDF
Criação de robôs em PHP para raspagem de dados
PDF
Trabalho sobre a linguagem Python
PDF
Dojo de Python
ODP
Matando o Java e Mostrando o Python
PPTX
Compilando e Usando OpenCV v. 3.0.0
PDF
Aprendizado Profundo & CNNs
PPTX
Algoritmos e Estrutura de Dados - Aula 02
PPTX
Automação de Aplicativos: Scripting com Python
PDF
Conhencendo Python e por que ela importa?
PPTX
Palestra Apresentando Python e Suas Aplicações
DOCX
Python, CPython, Pythonico, Cython
PPT
Simpósio Unicruz: OpenCV + Python (parte 1)
Programação Concorrente - Aula 03
Introdução OpenCV (Pt-Br) com exemplos
Inteligência artificial e redes neurais em PHP
TDC2018SP | Trilha Python - Nao e magia, e tecnologia
Computação paralela utilizando OpenMP para aplicações matemáticos
Python, a arma secreta do Google
Introdução à linguagem de programação Python
Criação de robôs em PHP para raspagem de dados
Trabalho sobre a linguagem Python
Dojo de Python
Matando o Java e Mostrando o Python
Compilando e Usando OpenCV v. 3.0.0
Aprendizado Profundo & CNNs
Algoritmos e Estrutura de Dados - Aula 02
Automação de Aplicativos: Scripting com Python
Conhencendo Python e por que ela importa?
Palestra Apresentando Python e Suas Aplicações
Python, CPython, Pythonico, Cython
Simpósio Unicruz: OpenCV + Python (parte 1)
Anúncio

Semelhante a Rastreamento 3D de objetos para realidade virtual (20)

PPT
Introdução ao desenvolvimento de jogos em OGRE 3D - Mackenzie
ODP
OpenKinect, o Kinect para todos
PDF
Desenvolvendo aplicações com Kinect
PDF
Intel Perceptual Computing SDK
PDF
detector de ladrão com laser
PPT
Artoolkit
PPT
Campus Party - Computer Vision
PDF
Realidade Aumentada
PPT
Suportes e Ferramentas de Imagem módulo 4 CGAV
PDF
Android things, Inteligência Artificial e Máquinas de Doces - Android Dev Con...
PPT
Realidade Aumentada
PPTX
MTKAR - Um Arcabouço para o Desenvolvimento de Aplicações de Realidade Aument...
PDF
Palestra Intel Perceptual Computing SDK (Java)
PDF
Unama br edinaldo_la-roque_oficina_kinect_20160917_2030
PDF
PDF
Webinar: Desvendando o seguidor de linha: sensores, montagem e programação co...
PPTX
INTRODUÇÃO AO DESENVOLVIMENTO DE JOGOS DIGITAIS.pptx
PDF
TDC2018SP | Trilha Arduino, Makers e Impressao 3D - Sistema de Sensoreamento ...
PDF
Apresentação do projeto VGRAD e Resultados Parciais
PDF
Apresentação do Projeto VGRAD
Introdução ao desenvolvimento de jogos em OGRE 3D - Mackenzie
OpenKinect, o Kinect para todos
Desenvolvendo aplicações com Kinect
Intel Perceptual Computing SDK
detector de ladrão com laser
Artoolkit
Campus Party - Computer Vision
Realidade Aumentada
Suportes e Ferramentas de Imagem módulo 4 CGAV
Android things, Inteligência Artificial e Máquinas de Doces - Android Dev Con...
Realidade Aumentada
MTKAR - Um Arcabouço para o Desenvolvimento de Aplicações de Realidade Aument...
Palestra Intel Perceptual Computing SDK (Java)
Unama br edinaldo_la-roque_oficina_kinect_20160917_2030
Webinar: Desvendando o seguidor de linha: sensores, montagem e programação co...
INTRODUÇÃO AO DESENVOLVIMENTO DE JOGOS DIGITAIS.pptx
TDC2018SP | Trilha Arduino, Makers e Impressao 3D - Sistema de Sensoreamento ...
Apresentação do projeto VGRAD e Resultados Parciais
Apresentação do Projeto VGRAD
Anúncio

Mais de pichiliani (20)

PPTX
Rastreamento de Objetos em Realidade Virtual e Realidade Aumentada
PPTX
Interfaces hands free para o mundo atual e pós-Corona vírus
PPTX
The Effect of Audiences On the User Experience of Conversational Interfaces i...
PPTX
Machine Learning & Machine Teaching
PPTX
TJBot: Incorporando um chatbot em um robô
PPTX
Carreira de cientista
PPTX
Novidades desenvolvimento
PDF
O papel do DBA no mundo de ciência de dados e machine learning
PPT
Introdução ao Deep Learning com o TensorFlow
PPTX
Alinguagem SQL no mundo NOSQL
PPT
Python x R: mas e o Weka?
PPT
SSD no banco de dados é bom mesmo?
PDF
MediaKit 2016 do DatabaseCast
PPTX
Projeto AMedCA - Concurso Casa conectada 2015
PPT
A User Interface Usability Evaluation of the Electronic Ballot Box used in th...
PPT
Evaluation of the Android Accessibility API Recognition Rate towards a Better...
PPT
Como lidar com dados temporais e intervalos com a linguagem SQL
PPTX
Novidades desenvolvimento
PPTX
Projeto HTMA - Trand Tremor Measurement Application
PPTX
HTMA: Hand Tremor Measurement Application
Rastreamento de Objetos em Realidade Virtual e Realidade Aumentada
Interfaces hands free para o mundo atual e pós-Corona vírus
The Effect of Audiences On the User Experience of Conversational Interfaces i...
Machine Learning & Machine Teaching
TJBot: Incorporando um chatbot em um robô
Carreira de cientista
Novidades desenvolvimento
O papel do DBA no mundo de ciência de dados e machine learning
Introdução ao Deep Learning com o TensorFlow
Alinguagem SQL no mundo NOSQL
Python x R: mas e o Weka?
SSD no banco de dados é bom mesmo?
MediaKit 2016 do DatabaseCast
Projeto AMedCA - Concurso Casa conectada 2015
A User Interface Usability Evaluation of the Electronic Ballot Box used in th...
Evaluation of the Android Accessibility API Recognition Rate towards a Better...
Como lidar com dados temporais e intervalos com a linguagem SQL
Novidades desenvolvimento
Projeto HTMA - Trand Tremor Measurement Application
HTMA: Hand Tremor Measurement Application

Último (20)

PPTX
Importacao_Ordem_Customizacao_SAP_S4HANA.pptx
PPT
Padrões de Beleza I - Estética Corporal e Saúde
PPTX
Do código à carreira: O Profissional de TI que o mercado realmente quer - com...
PDF
instalacoes eletricas para industria apressentacao basicas
PDF
Administração de qualidade no SAP Extended Warehouse Management, EWM140 Col26
PPTX
Politicas-de-Seguranca-Privacidade-e-Cookies.pptx
PDF
Visão geral da SAP, SAP01 Col18, Introdução sistema SAP,
PDF
ASCENSÃO E QUEDA DO SOFTWARE LIVRE NO ESTADO BRASILEIRO
PDF
Personalização de tópicos adicionais no SAP Extended Warehouse Management, EW...
PDF
pdfcoffee.com_metalografia-25-pdf-free.pdf
PDF
Processamento da remessa no SAP ERP, SCM610 Col15
PDF
POO - Aula 05 - Herança - Generalização e Especialização.pdf
PDF
Capacitação em Logística – Instituto Federal
PDF
Metodologia Scrumban-XP - Um Guia Rápido (MrSomebody19).pdf
DOCX
20250828_Perfis Profissionais em ServiceNow Um Guia Detalhado.docx
PDF
POO - Aula 05 - Herança - Generalização e Especialização.pdf
PPT
Apresentacao Do Trabalho de Inteligencia
PPTX
RCSOFTdfsdfrvadfvdfvargfvevevrervevqer.pptx
PDF
wp-sn-advanced-high-availability-architecture (pt-br).pdf
PPTX
Modelo para Qualificação de Mestrado - Tecnologia da Informação
Importacao_Ordem_Customizacao_SAP_S4HANA.pptx
Padrões de Beleza I - Estética Corporal e Saúde
Do código à carreira: O Profissional de TI que o mercado realmente quer - com...
instalacoes eletricas para industria apressentacao basicas
Administração de qualidade no SAP Extended Warehouse Management, EWM140 Col26
Politicas-de-Seguranca-Privacidade-e-Cookies.pptx
Visão geral da SAP, SAP01 Col18, Introdução sistema SAP,
ASCENSÃO E QUEDA DO SOFTWARE LIVRE NO ESTADO BRASILEIRO
Personalização de tópicos adicionais no SAP Extended Warehouse Management, EW...
pdfcoffee.com_metalografia-25-pdf-free.pdf
Processamento da remessa no SAP ERP, SCM610 Col15
POO - Aula 05 - Herança - Generalização e Especialização.pdf
Capacitação em Logística – Instituto Federal
Metodologia Scrumban-XP - Um Guia Rápido (MrSomebody19).pdf
20250828_Perfis Profissionais em ServiceNow Um Guia Detalhado.docx
POO - Aula 05 - Herança - Generalização e Especialização.pdf
Apresentacao Do Trabalho de Inteligencia
RCSOFTdfsdfrvadfvdfvargfvevevrervevqer.pptx
wp-sn-advanced-high-availability-architecture (pt-br).pdf
Modelo para Qualificação de Mestrado - Tecnologia da Informação

Rastreamento 3D de objetos para realidade virtual

  • 1. Globalcode – Open4education Trilha realidade virtual – Rastreamento 3D de objetos para realidade virtual Dr. Mauro Pichiliani [email protected]
  • 2. Globalcode – Open4education Agradecimento Simuladores para treinamento virtual de tiro Site: http://www.360virtu.com/ Contato: [email protected]
  • 3. 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
  • 4. Globalcode – Open4education Agenda Rastreamento em 3D para RV MOCAP MOCAP para RV Case: rastreamento de pistola em 3D Conclusão
  • 5. Globalcode – Open4education Rastreamento em 3D para RV Rastreamento para capturar pessoas/objetos em movimentos Geralmente captura de dados + pós-produção Principais aplicações: Filmes Games Publicidade (comerciais de TV) Pouco explorado para RV! Contexto móvel Captura e visualização em tempo real Mapeamento do mundo real no mundo virtual
  • 7. Globalcode – Open4education MOCAP Captura movimentos + modelos 3D + animação (rigging) Melhor precisão/latência: câmera (>120 fps) + marcadores Latê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 IR
  • 8. 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ção Desafios: baixa latência! Projeto de visão computacional
  • 9. Globalcode – Open4education Case: rastreamento de pistola 3D Requisitos: Rastrear posição X, Y e Z de pistola de ar comprimido Rastrear 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 DK2 Sistema 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 passivos Instrumentação de pistola com “mouse sem fio” Aplicativo desktop (C#) que envia dados por socket para cliente no Unity (C#)
  • 10. Globalcode – Open4education Case: rastreamento de pistola 3D Instrumentação do gatilho: Mouse sem fio Solda de push button Dongle na USB Captura 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”)
  • 11. Globalcode – Open4education Case: rastreamento de pistola 3D Rastreamento (para cada imagem): 1) Encontrar pontos na imagem 2) Agrupar + encontrar centróides dos marcadores 3) 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 Pitch Yaw: diferença qtd. pontos entre clusters dos marcadores de baixo Roll: â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
  • 12. 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 imagem Algoritmo 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 resultado Use 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.050ms Ideal: 1000ms / 60fps ~ 0.016ms
  • 13. Globalcode – Open4education Case: rastreamento de pistola 3D Demo marcadores:
  • 14. Globalcode – Open4education Case: rastreamento de pistola 3D Demo com cor nos marcadores:
  • 15. Globalcode – Open4education Conclusão Existem 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 computacional Cuidado 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
  • 16. Globalcode – Open4education Perguntas? Dr. Mauro Pichiliani [email protected] @pichiliani Simuladores para treinamento virtual de tiro Site: http://www.360virtu.com/ Contato: [email protected]