Interfaces Computacionais Alternativas OpenFaceMote Elaborado por: David Jardim 8745 Edou Suilen 8749
Motivação <ul><li>Cada vez mais existe uma politica activa na tentativa de providenciar uma acessibilidade integral à soci...
Público-Alvo <ul><li>O produto final deste projecto destina-se a qualquer pessoa que queira interagir com o computador sem...
Objectivos <ul><li>Investigar as formas de interacção com o computador baseadas em som e vídeo. </li></ul><ul><li>Investig...
State of the Art <ul><li>Camera Mouse </li></ul>
State of the Art <ul><li>HeadMouse1   </li></ul>
State of the Art <ul><li>Dragon Naturally Speaking </li></ul>
Bibliotecas Utilizadas <ul><li>JMyron </li></ul><ul><ul><li>Biblioteca escolhida para capturar vídeo </li></ul></ul><ul><l...
Detecção de Faces <ul><li>Método  Viola-Jones   </li></ul><ul><ul><li>Características rectangulares simples, denominadas p...
Haarlike   Features   <ul><li>A presença de uma  Haarlike Features  é determinada pela subtracção do valor médio do pixel ...
Detecção de Faces
Sphinx4
Sphinx4 <ul><li>O  Front End  vai receber o áudio da aplicação e vai transformar a forma das ondas do discurso em caracter...
Sphinx4 <ul><li>O  Knowledge   Base  é composto por três componentes: </li></ul><ul><ul><li>Acoustic Model  </li></ul></ul...
Sphinx4 Construção do gráfico acima requer um dicionário, que faça a correspondência entre a palavra “ one ” e os fonemas ...
Fonética Dicionário com as palavras necessárias   Para criar a fonética das palavras analisámos os fonemas disponíveis no ...
Diagrama de Classes
Implementação <ul><li>A aplicação final, possui 4 estados de utilização, nomeadamente: </li></ul><ul><ul><li>Learning. </l...
Ecrã de Carregamento <ul><li>Aqui é efectuado o carregamento de ficheiros, e o alocamento de memória necessária para o pro...
Estado Learning <ul><li>Obter a posição do utilizador. </li></ul><ul><li>Mover as barreiras correspondentes às linhas de c...
Estado Incremental <ul><li>A posição do rato é incrementada, consoante a direcção que o utilizador está “inclinado”. </li>...
Estado Precision <ul><li>Área delimitada pelo rectângulo vermelho representa a amplitude de movimento do utilizador. </li>...
Configurações <ul><li>Neste ecrã são definidas as opções de configuração da aplicação. </li></ul>
Limitações <ul><li>Falta de precisão no controlo do rato no modo  Precision   </li></ul><ul><li>Aplicação apenas funciona ...
Trabalho Futuro <ul><li>Sugerimos a utilização da classe  EdgeDetection   que vai ser utilizada para detectar contornos na...
Demonstração Incremental: Precision: Time Click:
Bibliografia <ul><li>Ben Fry, Casey Reas,  Processing ,  http:// processing.org / , 05/07/2008, 17/03/08. </li></ul><ul><l...
Upcoming SlideShare
Loading in …5
×

Interfaces Computacionais Alternativas

777 views
707 views

Published on

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
777
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Interfaces Computacionais Alternativas

  1. 1. Interfaces Computacionais Alternativas OpenFaceMote Elaborado por: David Jardim 8745 Edou Suilen 8749
  2. 2. Motivação <ul><li>Cada vez mais existe uma politica activa na tentativa de providenciar uma acessibilidade integral à sociedade de informação, permitindo aos cidadãos com necessidades especiais o acesso da forma mais independente e natural possível. </li></ul><ul><li>Com a realização do nosso trabalho queremos contribuir para essa mesma politica, diminuindo as barreiras existentes entre os cidadãos com necessidades especiais e as tecnologias. </li></ul>
  3. 3. Público-Alvo <ul><li>O produto final deste projecto destina-se a qualquer pessoa que queira interagir com o computador sem ser do modo tradicional. </li></ul><ul><li>Principalmente para pessoas que perderam total ou parcialmente as capacidades relacionadas com os membros superiores. </li></ul>
  4. 4. Objectivos <ul><li>Investigar as formas de interacção com o computador baseadas em som e vídeo. </li></ul><ul><li>Investigar e desenvolver formas de capturar vídeo e som de forma a poderem ser tratadas como input . </li></ul><ul><li>Tratamento do input de forma a extrair comandos úteis para as aplicações. </li></ul><ul><li>Escrever um artigo para publicação em conferências da especialidade com os resultados obtidos. </li></ul>
  5. 5. State of the Art <ul><li>Camera Mouse </li></ul>
  6. 6. State of the Art <ul><li>HeadMouse1 </li></ul>
  7. 7. State of the Art <ul><li>Dragon Naturally Speaking </li></ul>
  8. 8. Bibliotecas Utilizadas <ul><li>JMyron </li></ul><ul><ul><li>Biblioteca escolhida para capturar vídeo </li></ul></ul><ul><li>PFaceDetect </li></ul><ul><ul><li>Biblioteca escolhida para detectar faces. </li></ul></ul><ul><li>Sphinx4 </li></ul><ul><ul><li>Biblioteca escolhida para reconhecer discurso e convertê-lo em texto. </li></ul></ul><ul><li>Processing – Core </li></ul><ul><ul><li>Núcleo da nossa aplicação. </li></ul></ul>
  9. 9. Detecção de Faces <ul><li>Método Viola-Jones </li></ul><ul><ul><li>Características rectangulares simples, denominadas por Haar Features. </li></ul></ul><ul><ul><li>Existência de uma imagem Integral para a rápida detecção de características. </li></ul></ul><ul><ul><li>O método AdaBoost para a aprendizagem máquina. </li></ul></ul><ul><ul><li>Um classificador em cascata para combinar várias características de forma eficiente. </li></ul></ul>
  10. 10. Haarlike Features <ul><li>A presença de uma Haarlike Features é determinada pela subtracção do valor médio do pixel na zona escura com o valor médio do pixel na zona clara. </li></ul><ul><li>Se o valor da diferença estiver acima de um determinado limiar, definida durante a aprendizagem, então podemos dizer que a característica está presente. </li></ul>
  11. 11. Detecção de Faces
  12. 12. Sphinx4
  13. 13. Sphinx4 <ul><li>O Front End vai receber o áudio da aplicação e vai transformar a forma das ondas do discurso em características utilizadas para o reconhecimento ( features ). </li></ul><ul><li>O Decoder vai juntar a informação que vem do Front End e do Knowledge Base para calcular, gerar resultados e processar o resultado ao utilizador. </li></ul>
  14. 14. Sphinx4 <ul><li>O Knowledge Base é composto por três componentes: </li></ul><ul><ul><li>Acoustic Model </li></ul></ul><ul><ul><ul><li>Contém uma representação (frequentemente estatística) de um som, criado pelo treino. </li></ul></ul></ul><ul><ul><li>Language Model </li></ul></ul><ul><ul><ul><li>Contém uma representação da probabilidade da ocorrência das palavras, descreve o que é provável que seja falado num determinado contexto. </li></ul></ul></ul><ul><ul><li>Dictionary </li></ul></ul><ul><ul><ul><li>Contém a pronúncia das palavras que vão ser necessárias. </li></ul></ul></ul>
  15. 15. Sphinx4 Construção do gráfico acima requer um dicionário, que faça a correspondência entre a palavra “ one ” e os fonemas W, ao AX e ao N, e a palavra “ two ” a T e a OO. Requer o modelo acústico para obter os HMM’s para os fonemas W, o AX, o N, o T e o OO.
  16. 16. Fonética Dicionário com as palavras necessárias Para criar a fonética das palavras analisámos os fonemas disponíveis no Sphinx4 e criámos as nossas palavras. O Sphinx4 disponibiliza 39 fonemas diferentes para a construção das palavras.
  17. 17. Diagrama de Classes
  18. 18. Implementação <ul><li>A aplicação final, possui 4 estados de utilização, nomeadamente: </li></ul><ul><ul><li>Learning. </li></ul></ul><ul><ul><li>Incremental. </li></ul></ul><ul><ul><li>Precision. </li></ul></ul><ul><ul><li>Idle. </li></ul></ul>
  19. 19. Ecrã de Carregamento <ul><li>Aqui é efectuado o carregamento de ficheiros, e o alocamento de memória necessária para o programa. </li></ul>
  20. 20. Estado Learning <ul><li>Obter a posição do utilizador. </li></ul><ul><li>Mover as barreiras correspondentes às linhas de cor verde, consoante a posição da cara do utilizador. </li></ul><ul><li>Definir uma área representativa da amplitude de movimento do utilizador. </li></ul><ul><li>Esta área é definida pelo utilizador tendo em conta as posições máximas atingidas pelo mesmo ao movimentar a cabeça. </li></ul><ul><li>Esta calibração é necessário se o utilizador desejar utilizar o modo Precision. </li></ul>
  21. 21. Estado Incremental <ul><li>A posição do rato é incrementada, consoante a direcção que o utilizador está “inclinado”. </li></ul><ul><li>Além de mover o rato, obtém-se 8 direcções relativas ao movimento. </li></ul><ul><li>Permite controlar o rato de um modo mais preciso. </li></ul><ul><li>Mas de um modo menos fluído e menos intuitivo. </li></ul>
  22. 22. Estado Precision <ul><li>Área delimitada pelo rectângulo vermelho representa a amplitude de movimento do utilizador. </li></ul><ul><li>O ponto central corresponde à posição do rato no sistema operativo. </li></ul><ul><li>È intuitivo e mais fluído que o modo anterior. </li></ul><ul><li>Necessita de optimização, neste momento não é muito exequível. </li></ul>
  23. 23. Configurações <ul><li>Neste ecrã são definidas as opções de configuração da aplicação. </li></ul>
  24. 24. Limitações <ul><li>Falta de precisão no controlo do rato no modo Precision </li></ul><ul><li>Aplicação apenas funciona em sistemas operativos Windows </li></ul><ul><li>Sucesso do reconhecimento do discurso nunca chega a ser 100%, existindo ocasiões em que o reconhecimento falha. </li></ul>
  25. 25. Trabalho Futuro <ul><li>Sugerimos a utilização da classe EdgeDetection que vai ser utilizada para detectar contornos na zona do nariz, para melhorar o modo Precision. </li></ul><ul><li>Implementar ganhos na deslocação do rato consoante a distância relativamente ao centro. </li></ul><ul><li>Criar um modelo acústico em português para melhorar o reconhecimento. </li></ul><ul><li>Permitir a inserção de novas palavras. </li></ul>
  26. 26. Demonstração Incremental: Precision: Time Click:
  27. 27. Bibliografia <ul><li>Ben Fry, Casey Reas, Processing , http:// processing.org / , 05/07/2008, 17/03/08. </li></ul><ul><li>Warren, Jonah (2003), Unencumbered Full Body Interaction in Video Games, MFA Design and Technology, New York. </li></ul><ul><li>Greenberg, Ira (2007), Creative Coding Computational Art , Friends Of, New York. </li></ul><ul><li>Hewitt, Robin (2007), Seeing with OpenCV , SERVO Magazine, North Hollywood. </li></ul><ul><li>Koppen, Paul (2008), Intelligent Surveilance Systems, Thesis, University Of Amsterdam. </li></ul><ul><li>Josh Nimoy, Shawn Van Every, JMyron , http:// webcamxtra.sourceforge.net / , 05/07/2008, 24/03/08. </li></ul><ul><li>Bryan Chung, PFaceDetect , http:// www.bryanchung.net/?page_id =251 , 05/07/2008, 21/04/08. </li></ul><ul><li>Philip Worthington, BlobDetection , http://www.v3ga.net/processing/BlobDetection/ , 05/07/2008, 31/03/08 . </li></ul><ul><li>Cargal, J.M, Discrete Mathematics for Neophytes: Number Theory, Probability, Algorithms, and Other Stuff, Capítulo 32 de 37. </li></ul><ul><li>Bradsky, Gary (2005), Learning Based Computer Vision with OpenCV http://www.intel.com/technology/itj/2005/volume09issue02/art03_learning_vision/p04_face_detection.htm , Intel Technology Journal. </li></ul>

×