Upload
david-jardim
View
685
Download
0
Embed Size (px)
Citation preview
Interfaces Computacionais Alternativas
Elaborado por:
David Jardim 8745Edou Suilen 8749
Interfaces Computacionais Alternativas 2
Motivação
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.
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.
Interfaces Computacionais Alternativas 3
Público-Alvo
O produto final deste projecto destina-se a qualquer pessoa que queira interagir com o computador sem ser do modo tradicional.
Principalmente para pessoas que perderam total ou parcialmente as capacidades relacionadas com os membros superiores.
Interfaces Computacionais Alternativas 4
Objectivos
Investigar as formas de interacção com o computador baseadas em som e vídeo.
Investigar e desenvolver formas de capturar vídeo e som de forma a poderem ser tratadas como input.
Tratamento do input de forma a extrair comandos úteis para as aplicações.
Escrever um artigo para publicação em conferências da especialidade com os resultados obtidos.
Interfaces Computacionais Alternativas 5
State of the Art
Camera Mouse
Interfaces Computacionais Alternativas 6
State of the Art
HeadMouse1
Interfaces Computacionais Alternativas 7
State of the Art
Dragon Naturally Speaking
Interfaces Computacionais Alternativas 8
Bibliotecas Utilizadas
JMyron Biblioteca escolhida para capturar vídeo
PFaceDetect Biblioteca escolhida para detectar faces.
Sphinx4 Biblioteca escolhida para reconhecer discurso
e convertê-lo em texto. Processing – Core
Núcleo da nossa aplicação.
Interfaces Computacionais Alternativas 9
Detecção de Faces
Método Viola-Jones Características rectangulares simples,
denominadas por Haar Features. Existência de uma imagem Integral para a
rápida detecção de características. O método AdaBoost para a aprendizagem
máquina. Um classificador em cascata para combinar
várias características de forma eficiente.
Interfaces Computacionais Alternativas 10
Haarlike Features
• 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.
• 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.
Interfaces Computacionais Alternativas 11
Detecção de Faces
Interfaces Computacionais Alternativas 12
Sphinx4
Interfaces Computacionais Alternativas 13
Sphinx4
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).
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.
Interfaces Computacionais Alternativas 14
Sphinx4
O Knowledge Base é composto por três componentes:
Acoustic Model Contém uma representação (frequentemente
estatística) de um som, criado pelo treino. Language Model
Contém uma representação da probabilidade da ocorrência das palavras, descreve o que é provável que seja falado num determinado contexto.
Dictionary Contém a pronúncia das palavras que vão ser
necessárias.
Interfaces Computacionais Alternativas 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.
Interfaces Computacionais Alternativas 16
FonéticaDicioná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.
Interfaces Computacionais Alternativas 17
Diagrama de Classes
Interfaces Computacionais Alternativas 18
Implementação
A aplicação final, possui 4 estados de utilização, nomeadamente: Learning. Incremental. Precision. Idle.
Interfaces Computacionais Alternativas 19
Ecrã de Carregamento
Aqui é efectuado o carregamento de ficheiros, e o alocamento de memória necessária para o programa.
Interfaces Computacionais Alternativas 20
Estado Learning
Obter a posição do utilizador.
Mover as barreiras correspondentes às linhas de cor verde, consoante a posição da cara do utilizador.
Definir uma área representativa da amplitude de movimento do utilizador.
Esta área é definida pelo utilizador tendo em conta as posições máximas atingidas pelo mesmo ao movimentar a cabeça.
Esta calibração é necessário se o utilizador desejar utilizar o modo Precision.
Interfaces Computacionais Alternativas 21
Estado Incremental
A posição do rato é incrementada, consoante a direcção que o utilizador está “inclinado”.
Além de mover o rato, obtém-se 8 direcções relativas ao movimento.
Permite controlar o rato de um modo mais preciso.
Mas de um modo menos fluído e menos intuitivo.
Interfaces Computacionais Alternativas 22
Estado Precision
Área delimitada pelo rectângulo vermelho representa a amplitude de movimento do utilizador.
O ponto central corresponde à posição do rato no sistema operativo.
È intuitivo e mais fluído que o modo anterior.
Necessita de optimização, neste momento não é muito exequível.
Interfaces Computacionais Alternativas 23
Configurações
Neste ecrã são definidas as opções de configuração da aplicação.
Interfaces Computacionais Alternativas 24
Limitações
Falta de precisão no controlo do rato no modo Precision
Aplicação apenas funciona em sistemas operativos Windows
Sucesso do reconhecimento do discurso nunca chega a ser 100%, existindo ocasiões em que o reconhecimento falha.
Interfaces Computacionais Alternativas 25
Trabalho Futuro
Sugerimos a utilização da classe EdgeDetection que vai ser utilizada para detectar contornos na zona do nariz, para melhorar o modo Precision.
Implementar ganhos na deslocação do rato consoante a distância relativamente ao centro.
Criar um modelo acústico em português para melhorar o reconhecimento.
Permitir a inserção de novas palavras.
Interfaces Computacionais Alternativas 26
Demonstração
Video ClipIncremental:
Precision: Video Clip
Time Click: Video Clip
Interfaces Computacionais Alternativas 27
Bibliografia
Ben Fry, Casey Reas, Processing, http://processing.org/, 05/07/2008, 17/03/08. Warren, Jonah (2003), Unencumbered Full Body Interaction in Video Games, MFA
Design and Technology, New York. Greenberg, Ira (2007), Creative Coding Computational Art, Friends Of, New York. Hewitt, Robin (2007), Seeing with OpenCV, SERVO Magazine, North Hollywood.
Koppen, Paul (2008), Intelligent Surveilance Systems, Thesis, University Of Amsterdam.
Josh Nimoy, Shawn Van Every, JMyron, http://webcamxtra.sourceforge.net/ , 05/07/2008, 24/03/08.
Bryan Chung, PFaceDetect, http://www.bryanchung.net/?page_id=251 , 05/07/2008, 21/04/08.
Philip Worthington, BlobDetection, http://www.v3ga.net/processing/BlobDetection/, 05/07/2008, 31/03/08.
Cargal, J.M, Discrete Mathematics for Neophytes: Number Theory, Probability, Algorithms, and Other Stuff, Capítulo 32 de 37.
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.