Interfaces Computacionais Alternativas

27
Interfaces Computacionais Alternativas Elaborado por: David Jardim 8745 Edou Suilen 8749

Transcript of Interfaces Computacionais Alternativas

Page 1: Interfaces Computacionais Alternativas

Interfaces Computacionais Alternativas

Elaborado por:

David Jardim 8745Edou Suilen 8749

Page 2: Interfaces Computacionais Alternativas

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.

Page 3: Interfaces Computacionais Alternativas

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.

Page 4: Interfaces Computacionais Alternativas

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.

Page 5: Interfaces Computacionais Alternativas

Interfaces Computacionais Alternativas 5

State of the Art

Camera Mouse

Page 6: Interfaces Computacionais Alternativas

Interfaces Computacionais Alternativas 6

State of the Art

HeadMouse1

Page 7: Interfaces Computacionais Alternativas

Interfaces Computacionais Alternativas 7

State of the Art

Dragon Naturally Speaking

Page 8: Interfaces Computacionais Alternativas

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.

Page 9: Interfaces Computacionais Alternativas

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.

Page 10: Interfaces Computacionais Alternativas

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.

Page 11: Interfaces Computacionais Alternativas

Interfaces Computacionais Alternativas 11

Detecção de Faces

Page 12: Interfaces Computacionais Alternativas

Interfaces Computacionais Alternativas 12

Sphinx4

Page 13: Interfaces Computacionais Alternativas

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.

Page 14: Interfaces Computacionais Alternativas

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.

Page 15: Interfaces Computacionais Alternativas

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.

Page 16: Interfaces Computacionais Alternativas

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.

Page 17: Interfaces Computacionais Alternativas

Interfaces Computacionais Alternativas 17

Diagrama de Classes

Page 18: Interfaces Computacionais Alternativas

Interfaces Computacionais Alternativas 18

Implementação

A aplicação final, possui 4 estados de utilização, nomeadamente: Learning. Incremental. Precision. Idle.

Page 19: Interfaces Computacionais Alternativas

Interfaces Computacionais Alternativas 19

Ecrã de Carregamento

Aqui é efectuado o carregamento de ficheiros, e o alocamento de memória necessária para o programa.

Page 20: Interfaces Computacionais Alternativas

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.

Page 21: Interfaces Computacionais Alternativas

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.

Page 22: Interfaces Computacionais Alternativas

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.

Page 23: Interfaces Computacionais Alternativas

Interfaces Computacionais Alternativas 23

Configurações

Neste ecrã são definidas as opções de configuração da aplicação.

Page 24: Interfaces Computacionais Alternativas

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.

Page 25: Interfaces Computacionais Alternativas

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.

Page 26: Interfaces Computacionais Alternativas

Interfaces Computacionais Alternativas 26

Demonstração

Video ClipIncremental:

Precision: Video Clip

Time Click: Video Clip

Page 27: Interfaces Computacionais Alternativas

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.