Your SlideShare is downloading. ×
  • Like
  • Save
Realidade Aumentada
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply
Published

Utilizando técnicas de visão computacional junto à computação gráfica, a Realidade Aumentada disponibiliza uma inovadora interação homem-máquina, onde os objetos virtuais introduzidos no ambiente real …

Utilizando técnicas de visão computacional junto à computação gráfica, a Realidade Aumentada disponibiliza uma inovadora interação homem-máquina, onde os objetos virtuais introduzidos no ambiente real podem ser manipulados com as próprias mãos, proporcionando ao usuário uma interação inédita e atrativa.

Palestrante: Alessandro de Oliveira Faria

Sócio-proprietário da empresa Neti Tecnologia, atua na área desde 1986 e é Consultor Biométrico na tecnologia de reconhecimento facial. Membro colaborador da comunidade Viva O Linux, é mantenedor da biblioteca open-source de vídeo captura e membro do openSUSE.

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
3,287
On SlideShare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
0
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Realidade Aumentada naPlataforma GNU/Linux Alessandro cabelo@opensuse.org de Oliveira Faria (A.K.A.CABELO)
  • 2. Perfil Técnico: Alessandro de Oliveira Faria (A.K.A. CABELO) Diretor de pesquisas NETi TECNOLOGIA●  Atuando no mercado de software desde 1986 ●  Embaixador e openSUSE Member; ●  Membro da comunidade Viva O Linux desde 2003; ●  Conselheiro Administrativo Linux do projeto Tecnociência;●  Projetista/mantenedor mais de 90 RPMs no openSUSE Build Service; Mantenedor e Desenvolvedor●  droidFrete: Cálculo de frete na plataforma Android.●  droidRastreamento: Rastreabilidade de objeto postados.●  stampDate: Serviço de menu KDE para estampar data em imagens.●  libHAIRCAPTURE: Biblioteca de video captura em Linux.●  IPCMSG: Biblioteca de comunicação inter­processos.●  easyPCSC: Biblioteca para utilização de cartões smaPublicações:●  Linux Magazine 9 Artigos●  Internet 100 artigos técnicos (VOL/Tecnociência/Linha de Código).
  • 3. Realidade Aumentada Definição RA define-se como a sobreposição no ambiente real de objetos virtuais e tridimensionais gerados por computador, por meio de algum dispositivo tecnológico de vídeo captura. Isto somente é possível com técnicas de visão computacional junto a computação gráfica.
  • 4. ConceitoO que é realidade Aumentada?
  • 5. Realidade Aumentada Definição
  • 6. Conceito O que é realidade Aumentada?As principais qualidades da tecnologia realidade aumentada são: * Combinar elementos virtuais com o ambiente real; * Interatividade e processamento em tempo real; * Ser concebida em três dimensões.
  • 7. Projetos e aplicabilidade Mídia no universo paralelo
  • 8. Projetos e aplicabilidade Jogo levelhead
  • 9. Projetos e aplicabilidade Jogo levelheadMinhas pesquisa na NETi TECNOLOGIA sobre realidade aumentada iniciou em setembro de  2008, quando conheci o fantástico projeto Levelhead http://selectparks.net/~julian/levelhead/ criado pelo designer e programador Julian Oliver
  • 10. Projetos e aplicabilidade Jogo Eye Pet da Sony
  • 11. Projetos e aplicabilidade Campus Party
  • 12. Projetos e aplicabilidade Arquitetura
  • 13. Projetos e aplicabilidade Cartão virtual
  • 14. Projetos e aplicabilidade RossiA utilização desta tecnologia proporcionou ao  projeto da Rossi o título de maior caso de  Realidade Aumentada do mundo.
  • 15. Projetos e aplicabilidade Jogo da velhaO usuário imprime um campo de jogo com medidas específicas e utiliza um dispositivo de  vídeo captura para interpretar a imagem em tempo real. O usuário joga com pedaços de papeis amaçado e/ou dobrado, fazendo um X com uma caneta ou colocando alguma peça  na casa correspondente.
  • 16. Projetos e aplicabilidade ATOMIC – Ferramenta RAD
  • 17. ARTOOLKIT conceito
  • 18.   Existem  diversas  biblioteca/tecnologia  de  código  aberto  e  proprietário  para  o  uso  da tecnologia  RA  (openCV Bazar  e  outras).  Entretanto,  uma  quantidade  significativa  de  , trabalhos de código aberto é baseado e/ou derivada da biblioteca ARToolKit, uma biblioteca escrita em C, baseada em software livre e desenvolvida pelo Dr. Hirokazu Kato. Atualmente utilizada  por  pesquisadores  do  Laboratório  Tecnológico  de  Interface  Humana,  na Universidade de Washington, surgiu com o objetivo de facilitar a construção de aplicações de Realidade Aumentada.
  • 19. ARTOOLKIT Instalação$ wgethttp://downloads.sourceforge.net/project/artoolkit/artoolkit/2.72.1/ARToolKit-2.72.1.tgz$ tar -zxvf ARToolKit-2.72.1.tgz Entre na pasta ARToolKit recém-criada e execute o comando ./configure seguido das respostas (5,n,n,) onde “5” representa a utilização da biblioteca Gstreamer para acesso aos dispositivos de vídeo captura, “n” se o sistema operacional estiver trabalhando no modo 64 bits, “n” novamente para não gerar informações para debug e “y” se estiver trabalhando uma placa NVIDIA ou ATI . E finalmente para iniciar a compilação na integra, execute o comando make.
  • 20. $ cd ARToolKit/$ ./configureSelect a video capture driver. 1: Video4Linux 2: Video4Linux+JPEG Decompression (EyeToy) 3: Digital Video Camcoder through IEEE 1394 (DV Format) 4: Digital Video Camera through IEEE 1394 (VGA NONCOMPRESSED ImageFormat) 5: GStreamer Media FrameworkEnter : 2Color conversion should use x86 assembly (choose n for 64bit systems)?Enter : nDo you want to create debug symbols? (y or n)Enter : nBuild gsub libraries with texture rectangle support? (y or n)GL_NV_texture_rectangle is supported on most NVidia graphics cards andon ATi Radeon and better graphics cardsEnter : y$ make*** Se estiver utilizando a API-V4L1, Digite o valor numério 1 naseleção do driver de captura.
  • 21. ARTOOLKIT Instalação$ cd bin$ export ARTOOLKIT_CONFIG="v4l2src device=/dev/video0 use-fixed-fps=false ! ffmpegcolorspace ! capsfilter caps=video/x-raw-rgb,bpp=24,width=960,height=720 ! identity name=artoolkit ! fakesink"*** Se estiver utilizando a API-V4L1, defina a variável ambientalARTOOLKIT_CONFIG com os parâmetros abaixo:$ export ARTOOLKIT_CONFIG="-dev=/dev/video0 -palette=YUV420P-width=640 -height=480"$ ./videoTest
  • 22. ARTOOLKIT Calibração da Webcam. Imprimir  calib_cpara.pdf  e  calib_dist.pdf  na  escala  onde  preferencialmente  as  linhas  fiquem separadas com uma distância exata de 40 mm. A calibração do dispositivo de captura obtêm­se com a extração do ponto central,  distorções da lente e a distância focal da câmera. Os programas utilizados são calib_dist  e logo a seguir o calib_cparam.$ ./calib_dist "v4l2src device=/dev/video0 use-fixed-fps=false !ffmpegcolorspace ! capsfilter caps=video/x-raw-rgb,bpp=24,width=960,height=720 ! identity name=artoolkit ! Fakesink"
  • 23. ARTOOLKIT Calibração da Webcam.Para continuarmos, execute o programa e informe as coordenadas do  centro  e  o  fator  de  distorção  disponibilizado  pelo  aplicativo calib_dist.--------------Center X: 425,000000 Y: 323,000000Dist Factor: 9,500000Size Adjust: 1,010218--------------Checking fit on image 1 of 5.$ ./calib_cparamInput center coordinates: X = 425 : Y = 323Input distortion ratio: F = 9.500000
  • 24. ARTOOLKIT Teste e exemplos$ ./simpleTest
  • 25. $ ./exview
  • 26. ARTOOLKIT Calibração da Webcam.- Inicialização: Inicializa o dispositivo de captura, carrega em memóriao modelo impresso e carrega o parâmetros de calibração da câmera.arVideoOpen(), arLoadPatt e arParamLoad()- Captura um quadro.arVideoGetImage()- Detecta as marcas do padrão na imagem.arDetectMarker()- Calcula a transformação relativa.arGetTransMat()- Desenha o objeto virtual sob o padrão detectado.Recursos openGL- Finaliza o dispositivo de captura. arVideoCapStop();arVideoClose();argCleanup();
  • 27. ARTOOLKIT Padrões$ ./mk_patt
  • 28. Motor de renderização Qual utilizarO Motor de renderização são bibliotecas e/ou componentes que facilitam a  projeção  em  3  dimensões  de    objetos  e/ou  cenários  criados  e  editores tridimensionais (Blender por exemplo). A escolha do Engine (motor) de Renderização determinará o sucesso ou fracasso  do  projeto.  Pois  no  que  tange  visão  computacional,  todo processamento deve ser bem distribuído e projetado. Pois projetar objetos em  3  dimensões  na  web,  em  games    apresentações,  requer  esforço computacional  distintos.  Por  exemplo  um  motor  de  renderização  para games  pode  apresentar  uma  qualidade  de  inferior  uma  vez  existindo outras  tarefas  matemáticas  a  cumprir  (efeitos  abstratos  como  fogo  e explosões resultantes de tiros).
  • 29. Motor de renderização IrrAR Motor  de  renderização  multiplataforma, performático  e  de  código  aberto.  Ideal  para criação  de  jogos  pois  é  baseado  na  Irrlicht que  além  de  suportar  arquivos  do  quake, suporta outros diversos formatos.  Este  motor  permite  o  processamento  de efeitos  abstratos  como  neve,  fumaça,  fogo, superfícies  aquática  e  outros.  Logo chegaremos  a  conclusão  que  este  motor utiliza  grande  parte  do  seu  processamento com efeitos, assim talvez não proporcionando uma renderização tão realista em tempo real.
  • 30. Motor de renderização FLARToolKit É um porte do código fonte da biblioteca ARToolKit para o Action Script 3.0, feito pelo japonês Saqoosha sob licença livre. O projeto carrega  todas  as  funcionalidade  do  seu propulsor,  detecta  o  movimento,  reconhece uma  determinada  “marca”  e  projeta  um cenário/objeto  3D.  Utiliza  a  renderização baseada  no  Papervision3D  e  movimenta  os objetos  de  acordo  com  os  movimentos  reais. Este  motor  mão  apresentar  altíssima qualidade,  pois  foi  projetado  para  executar no  ambiente  WEB  (browse),  esta  tecnologia deve  estar  preparado  para  qualquer  tipo  de equipamento e velocidade de conexão.
  • 31. Motor de renderização AndARÉ um projeto que tenho orgulho de propagar, pois foi devido a minha solicitação e/ou contato com o  autor que  derivou  abertura  do  código  fonte.  AndAR  é  um projeto  também  baseado  na  biblioteca  ARToolKit. Mesmo criado para equipamentos portáteis, apresenta um  excelente  desempenho.  O  autor  projetou  com excelência  a  abstração  da  biblioteca  com  JNI,  assim performando muito bem o software.
  • 32. Motor de renderização osgART A  biblioteca  OSGART  facilita  e  muito  o  desenvolvimento  de  aplicações  de Realidade  Aumentada,  ela  agrupa  as  funções  de  detecção  e  rastreamento  de marcadores do ARToolKit junto aos recursos de construção de modelos virtuais da biblioteca OpenSceneGraph. A OSGART apresenta alta qualidade na renderização dos objetos  virtuais    suporte  a  reprodução  de  vídeo,  técnicas  de  renderização  de sombras. Um boa escolha para aplicações voltada para apresentações.
  • 33. openSceneGraph Instalação e configuraçãohttp://download.gna.org/underware/sources/openscenegraph-1.2.0.tar.gz$ tar -zxvf ../openscenegraph-1.2.0.tar.gz$ cd openscenegraph-1.2.0/$ cd OpenThreads$ make$ sudo make install$ cd ..$ cd Producer$ make$ sudo make install$ cd ..$ cd OpenSceneGraph$ make COMPILE_EXAMPLES=yes$ sudo make install
  • 34. osgART Instalação e configuraçãohttp://www.artoolworks.com/dist/osgart/release/1.0/osgART-1.0.tar.bz2$ tar xfzj osgART-x.x.tar.bz2$ cd osgART/bin$ make -f GNUmakefile ARTOOLKIT_PATH="[path da biblioteca ARToolKit]"
  • 35. osgART Testando os exemplos Agora  finalmente  veremos  o  resultado de todo este trabalho, entre na pasta bin do projeto recém­compilado osgART e execute o  programa  osgARTsimpleNPR  com  os parâmetros  [Seu arquivo .ive] tamanho  e posição  (X  Y  Z).  Lembre  que  a  variável ambiental  ARTOOLKIT_CONFIG  deve existir  com  as  devidas  configurações conforme mencionado anteriormente. A seguir um exemplo de execução na linha de comando. Bom acredito que este texto facilitará o aprendizado de muitos que desejam trabalhar com realidade aumentada.$ ./osgart_example models/cubo-neti.ive 80 0 0 5
  • 36. osgARTTestando os exemplos
  • 37. Críticas e sugestões cabelo@opensuse.org Obrigado! “Colaborar atrai amigos, competir atrai inimigos...” http://cabelovivaolinux.wordpress.com