42
UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ENGENHARIA DA COMPUTAÇÃO JOÃO PAULO BRITO DA SILVA LUIZ FERNANDO MARTINS DO AMARAL TRADUTOR LIBRAS JF ORIENTADOR: Prof. José Carlos da Cunha Curitiba, 12 de Setembro de 2011

TRADUTOR LIBRAS JF - UP · ARTICLE According to data of Censo 2000 of Statistics and Geography Brazilian Institute (IBGE, 2000), 14,5% of Brazilian people has some kind of deficiency

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: TRADUTOR LIBRAS JF - UP · ARTICLE According to data of Censo 2000 of Statistics and Geography Brazilian Institute (IBGE, 2000), 14,5% of Brazilian people has some kind of deficiency

UNIVERSIDADE POSITIVO

NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS

ENGENHARIA DA COMPUTAÇÃO

JOÃO PAULO BRITO DA SILVA

LUIZ FERNANDO MARTINS DO AMARAL

TRADUTOR LIBRAS JF

ORIENTADOR: Prof. José Carlos da Cunha

Curitiba, 12 de Setembro de 2011

Page 2: TRADUTOR LIBRAS JF - UP · ARTICLE According to data of Censo 2000 of Statistics and Geography Brazilian Institute (IBGE, 2000), 14,5% of Brazilian people has some kind of deficiency

UNIVERSIDADE POSITIVO

NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS

ENGENHARIA DA COMPUTAÇÃO

TRADUTOR LIBRAS JF

__________________________________

JOÃO PAULO BRITO DA SILVA

__________________________________

LUIZ FERNANDO MARTINS DO AMARAL

BANCA EXAMINADORA

PROFESSOR ORIENTADOR MS. JOSÉ CARLOS DA CUNHA

PROFESSOR MS. MAURICIO PERRETTO

PROFESSOR MS. VALFREDO PILLA JUNIOR

CURITIBA, 12 de Setembro de 2011

Page 3: TRADUTOR LIBRAS JF - UP · ARTICLE According to data of Censo 2000 of Statistics and Geography Brazilian Institute (IBGE, 2000), 14,5% of Brazilian people has some kind of deficiency

AGRADECIMENTOS

Agradecemos aos amigos, professores, familiares e afins, que ajudaram a concretizar o projeto proposto.

Page 4: TRADUTOR LIBRAS JF - UP · ARTICLE According to data of Censo 2000 of Statistics and Geography Brazilian Institute (IBGE, 2000), 14,5% of Brazilian people has some kind of deficiency

RESUMO

Segundo dados do Censo 2000 do Instituto Brasileiro de Geografia e Estatística 14,5% da

população brasileira possui algum tipo de deficiência (IBGE, 2000). O surdo-mudo possui grande

dificuldade para se comunicar, ficando numa situação de desvantagem, uma vez que vivemos num

mundo dominado pela língua oral, composta por vocábulos e gramática desconhecidos pela

comunidade portadora de deficiência auditiva. Partindo das dificuldades encontradas por essa

população na comunicação do dia-a-dia, o protótipo desenvolvido busca sua maior integração social

e cultural. A funcionalidade é capaz de traduzir de forma eficiente e em tempo real a LIBRAS – Língua

Brasileira de Sinais, utilizando para tanto, um par de luvas sensoriais acopladas a um acelerômetro

tri-axial cada uma, cujas respectivas funções são coletar e fornecer ao software de controle

informações dos movimentos dos dedos e das mãos no espaço físico. A comunicação entre hardware

de aquisição de dados (luva sensorial e acelerômetro) e interface computacional acontece através do

uso de microcontroladores e protocolo de comunicação USB. O protótipo possui a capacidade de

armazenar gestos conforme necessidade do usuário e/ou interpretar os gestos. Estes gestos

interpretados são amostrados ao usuário em forma de texto na língua portuguesa. A interpretação

dos gestos ocorre de duas formas distintas: Dinamicamente e estaticamente. No modo dinâmico é

possível interpretar o alfabeto da LIBRAS. No modo estático pode-se interpretar gestos mais usados

no dia-a-dia e, no caso de formação de frases, fazer a conjugação de verbos para reformulação da

frase dentro do tempo verbal correto.

O sistema computacional possui ainda a habilidade de interagir com usuário (interação

homem-máquina), caracterizada pelo controle total de abertura de janelas e execução de funções

feito pela luva sensorial e/ou acelerômetro, distribuindo-se em janelas de vídeo-aula, formulários

contando a história da LIBRAS e funcionalidades de inserção e interpretação dos gestos.

Palavras-chave: Luvas Sensoriais, LIBRAS, acelerômetro, interação homem-máquina.

Page 5: TRADUTOR LIBRAS JF - UP · ARTICLE According to data of Censo 2000 of Statistics and Geography Brazilian Institute (IBGE, 2000), 14,5% of Brazilian people has some kind of deficiency

ARTICLE

According to data of Censo 2000 of Statistics and Geography Brazilian Institute (IBGE, 2000),

14,5% of Brazilian people has some kind of deficiency. The heard impaired has a great difficult in

communication, becoming unavailable to perform a series of activities, once we live who is generally

owned by oral language, composed by specific words and grammar which are usually unknown by

heard impaired community. Starting from this population known issues, the developed prototype aims

to their biggest social and cultural interaction. It is capable of efficient and fast LIBRAS – Brazilian

Signal Language – translating, by using a pair of sensor gloves mixed up with a tri-axis accelerometer

each, which has as main functions to collect and to provide to software interface information from

fingers moves and also from hand shaking. The communication between hardware and software was

possible by using a microcontroller and an USB communication protocol. The prototype is also able to

store and interpret gestures as the user needs. These interpretations of gestures occur on two

different ways: dynamically and statically. In the dynamic mode it’s possible to interpret the LIBRAS

vocabulary from A to Z. In the static mode it´s possible to interpret common gestures and, in case of

phrases forms, to perform the verbal correction in order to have phrase pronounced correctly.

In the same time, the computational system is also able to interact with user by allowing the

full control of its interface only made by the sensor gloves, distributed in several learning windows,

history data and etc.

Key-words: Sensorial Gloves, Accelerometers, Gestures Translator, Man-machine interaction.

Page 6: TRADUTOR LIBRAS JF - UP · ARTICLE According to data of Censo 2000 of Statistics and Geography Brazilian Institute (IBGE, 2000), 14,5% of Brazilian people has some kind of deficiency

SUMÁRIO

INTRODUÇÃO ....................................................................................................................................... 10

2 – DESCRIÇÃO DO PROJETO. ........................................................................................................... 11

3 – DESCRIÇÃO TEÓRICA E ESPECIFICAÇÃO. ................................................................................ 12

3.1 - O QUE É A LIBRAS? ......................................................................................................................... 12 3.1.1 - Como surgiu?.......................................................................................................................... 12 3.1.2 - Características e Exemplos .................................................................................................... 13

3.2 - RECONHECIMENTO DE PADRÕES ........................................................................................................ 13 3.3 – ESPECIFICAÇÃO DE HARDWARE ........................................................................................................ 15

3.3.1 - Luvas sensoriais ..................................................................................................................... 15 3.3.2 – Acelerômetro – Teoria e operação ........................................................................................ 16 3.3.3 – Microcontrolador .................................................................................................................... 18

3.4 – REQUISITOS ..................................................................................................................................... 19 3.5 – ESPECIFICAÇÃO DE SOFTWARE ......................................................................................................... 20

3.5.1 - Aquisição dos dados ............................................................................................................... 20 3.5.2 - Tratamento dos dados pelo software ..................................................................................... 21 3.5.3 - Banco de Dados ..................................................................................................................... 23

4 – IMPLEMENTAÇÃO .......................................................................................................................... 25

4.1 – IMPLEMENTAÇÃO: HARDWARE .......................................................................................................... 25 4.1.1 - Firmware do microcontrolador: ............................................................................................... 25 3.1.2 – Montagem do circuito: ............................................................................................................ 26

4.2 – SOFTWARE ...................................................................................................................................... 27 4.2.1 - Login no sistema ..................................................................................................................... 28 4.2.2 - Realidade Virtual do sistema .................................................................................................. 29 4.2.3 - Inserção e Interpretação da LIBRAS ...................................................................................... 32 4.2.4 - Classes do software e suas funcionalidades .......................................................................... 36

5 – RESULTADOS E DISCUSSÃO. ...................................................................................................... 38

6 - REFERÊNCIAS BIBLIOGRÁFICAS ................................................................................................. 42

Page 7: TRADUTOR LIBRAS JF - UP · ARTICLE According to data of Censo 2000 of Statistics and Geography Brazilian Institute (IBGE, 2000), 14,5% of Brazilian people has some kind of deficiency

LISTA DE FIGURAS Figura 1 - Alfabeto da Língua Brasileira de Sinais (LIBRAS) .................. Erro! Indicador não definido. Figura 2 - Ilustração da 5DT Dataglove5 Ultra ......................................... Erro! Indicador não definido. Figura 3 - acelerômetro MMA7260Q utilizado no projeto ........................ Erro! Indicador não definido. Figura 4 - Pinagem e imagem ilustrativa do PIC18F2550 ....................... Erro! Indicador não definido. Figura 5 - Fluxo dos eventos durante aquisição/processamento dos dados. .......... Erro! Indicador não definido. Figura 6 - Amostragem do sinal de entrada e saída do microcontroladorErro! Indicador não definido. Figura 7 - Lançamento das Threads ..................................................................................................... 23 Figura 8 - algoritmo do firmware gravado no microcontrolador ............................................................ 26 Figura 9 - Firmware para o microcontrolador PIC18F2550 ..................... Erro! Indicador não definido. Figura 10 - Esquemático da comunicação entre Hardware e computador pela porta USB. ................ 26 Figura 11–Ilustração das dimensões placa de circuito Impresso e representação do Acelerômetro .. 27 Figura 12 - configuração recomendada do acelerômetro ao micrcontrolador. ..................................... 27 Figura 13 - Fórmula de cálculo da distância entre vetores ...................... Erro! Indicador não definido. Figura 14 - Tela inicial do software .......................................................... Erro! Indicador não definido. Figura 15 - Tela de inserção de dados .................................................... Erro! Indicador não definido. Figura 16 - Tela de interpretação de dados ............................................. Erro! Indicador não definido.

Page 8: TRADUTOR LIBRAS JF - UP · ARTICLE According to data of Censo 2000 of Statistics and Geography Brazilian Institute (IBGE, 2000), 14,5% of Brazilian people has some kind of deficiency

LISTA DE QUADROS E TABELAS

Tabela 1- Especificações da Luva 5DT DataGlove 5 Ultra ................................................................................. 15 Tabela 2 - Configurações e aplicações do acelerômetro, conforme faixa de medida. .......................................... 16 Tabela 3 - Relação entre os pinos GS1, GS2 e a sensibilidade do acelerômetro/modo de funcionamento. .......... 18 Tabela 4 - Dados do microcontrolador 18F2550 da Microchip ............................................................................. 19 Tabela 5 - Resultados do alfabeto ......................................................................................................................... 40 Tabela 6 - Resultados dos gestos ........................................................................................................................... 40

Page 9: TRADUTOR LIBRAS JF - UP · ARTICLE According to data of Censo 2000 of Statistics and Geography Brazilian Institute (IBGE, 2000), 14,5% of Brazilian people has some kind of deficiency

SÍMBOLOS, ABREVIATURAS, SIGLAS E CONVENÇÕES

mV/g Milivolts por unidade de aceleração da gravidade;

g Aceleração da gravidade;

V Volts;

GND Aterramento;

GHz GigaHertz;

MHz MegaHertz.

Page 10: TRADUTOR LIBRAS JF - UP · ARTICLE According to data of Censo 2000 of Statistics and Geography Brazilian Institute (IBGE, 2000), 14,5% of Brazilian people has some kind of deficiency

1 - INTRODUÇÃO

Nas escolas e centros especializados na educação de portadores de necessidades especiais,

são usados métodos pedagógicos específicos para pessoas surdas com o objetivo de fazer com que

desenvolvam ao máximo sua capacidade de comunicação. Um dos grandes diferenciais no processo

educacional dos surdos é o aprendizado da LIBRAS (Língua Brasileira de Sinais), um idioma que faz

a representação das letras, palavras e expressões complexas através de sinais corpóreos, que por

sua vez englobam expressões faciais e gestos com braços e mãos (GABARDO, 2005) .

É por meio da linguagem que um povo se constitui, integra e identifica as pessoas e lhe dá o

carimbo de pertencimento, de identidade. Neste caso, a existência de uma cultura surda ajuda a

construir as identidades das pessoas surdas dentro da sociedade. De acordo com a pesquisadora

surda PERLIN (1998), as identidades são múltiplas e multifacetadas, podendo ser definidas em várias

categorias, sempre dependendo de suas vivências sociais; assim como vemos aqueles que nasceram

ouvintes e ensurdeceram, aqueles que tiveram contato tardio com a comunidade surda, aqueles que

continuam com uma identidade dividida entre os dois mundos e aqueles que se guiaram sempre pela

experiência visual.

Muitas tentativas educacionais foram feitas com o objetivo de educar crianças surdas e, por

muito tempo, a surdez foi apontada como a causa do fracasso escolar. A surdez dificulta a

comunicação colocando o surdo em desvantagem, pois vivemos num mundo dominado pela língua

oral composta por vocábulos e gramática que são desconhecidos pelo surdo. Portanto, os surdos são

portadores de necessidades especiais (PEREIRA, 2002).

Segundo SASSAKI (2003), educadores e pesquisadores em todo o mundo têm um objetivo

em comum, o de propor aos surdos uma melhor condição de vida social e, por isso, surgiram várias

filosofias educacionais.

Partindo das dificuldades encontradas pelos deficientes auditivos na comunicação do dia-a-

dia, o presente trabalho a ser desenvolvido busca a maior integração social e cultural dessa

população. Usando-se de tecnologia apropriada e componentes necessários desenvolver-se-á um

protótipo capaz de traduzir de forma eficiente e em tempo real a libras.

Como ponto inicial, pensou-se numa forma de obter os movimentos dos dedos das mãos em

conjunto com os movimentos das mãos no espaço em três dimensões. Chegou-se então, na

conclusão de utilizar um par de luvas especiais em conjunto com um acelerômetro. Com esses dados

obtidos, foi desenvolvido um software capaz de fazer interpretação para Linguagem de Sinais.

Page 11: TRADUTOR LIBRAS JF - UP · ARTICLE According to data of Censo 2000 of Statistics and Geography Brazilian Institute (IBGE, 2000), 14,5% of Brazilian people has some kind of deficiency

11

2 – DESCRIÇÃO DO PROJETO.

O protótipo possui a capacidade de armazenar gestos conforme necessidade do usuário e/ou

interpretar os gestos. Estes gestos, quando interpretados, são amostrados ao usuário em forma de

texto na língua portuguesa, podendo este processo ocorrer de duas formas distintas: dinamicamente

e estaticamente. No modo dinâmico é possível interpretar o vocabulário (A-Z) da LIBRAS. No modo

estático é possível interpretar gestos completos e, no caso de formação de frases, fazer a conjugação

de verbos para reformulação da frase dentro do tempo verbal correto.

O sistema computacional possui ainda a habilidade de interagir com usuário (interação

homem-máquina), caracterizada pelo controle total de abertura de janelas e execução de funções

feito pela luva sensorial e/ou acelerômetro, distribuindo-se em janelas de vídeo-aula, formulários

contando a história da LIBRAS e funcionalidades de inserção e interpretação dos gestos.

Para melhor entendimento de como foi constituído o fluxo de eventos entre as diferentes

partes do protótipo, ilustramos o processo na figura 1. A aquisição de dados feita pelo computador da

luva sensorial e do acelerômetro se dará simultaneamente, passando essas informações ao software

que possui a responsabilidade de tratar essas informações.

Figura 1 - Fluxo dos eventos durante aquisição/processamento dos dados.

Page 12: TRADUTOR LIBRAS JF - UP · ARTICLE According to data of Censo 2000 of Statistics and Geography Brazilian Institute (IBGE, 2000), 14,5% of Brazilian people has some kind of deficiency

12

3 – DESCRIÇÃO TEÓRICA E ESPECIFICAÇÃO

3.1 - O que é a LIBRAS?

A Língua Brasileira de Sinais (LIBRAS) é utilizada por deficientes auditivos para a

comunicação entre eles. Para uma melhor compreensão dessa realidade é interessante que essa

linguagem se faça conhecer, e que haja uma procura por ela com o interesse de aprendê-la

(QUADROS, 1997).

A LIBRAS é uma das linguagens de sinais existentes no mundo para a comunicação entre

surdos. Ela tem origem na LSF - Linguagem de Sinais Francesa. As linguagens de sinais não são

universais, elas possuem sua própria estrutura de país pra país e diferem até mesmo de região pra

região de um mesmo país, dependendo da cultura daquele determinado local para construir suas

expressões ou regionalismos (ARAÚJO, 2010).

Como qualquer outra língua, ela também possui expressões que diferem de região para

região (os regionalismos), o que a legitima ainda mais como língua.

Segundo ARAÚJO (2010), as LS - Línguas de Sinais - não são simplesmente mímicas e

gestos soltos utilizados pelos surdos para facilitar a comunicação. Muito pelo contrário, são línguas

com estruturas gramaticais próprias. O que diferencia as Línguas de Sinais das demais línguas é a

sua modalidade visual-espacial. Dessa maneira, os surdos podem se interagir com outras pessoas,

ou ainda, entre si para conversar ou se expressar sobre qualquer assunto.

3.1.1 - Como surgiu?

No período de 1500 a 1855, já existiam muitos surdos no país. Nessa época, a educação era

precária. Em 1855, ocorreu a vinda ao Brasil de um professor francês surdo, chamado Adolph Hurt, e,

em 1887, foi fundado o primeiro Instituto Nacional de Surdos Mudos no Rio de Janeiro (SASSAKI,

2003).

No período de 1970 a 1992, os surdos se fortaleceram e reivindicaram os seus direitos.

Desde aquela época, as escolas tradicionais existentes no método oral mudaram de filosofia e, até

hoje, boa parte delas vêm adotando a comunicação total (PEREIRA, 2002).

Em 2002, foi promulgada uma lei que reconhecia a Língua Brasileira de Sinais como meio de

comunicação objetiva e de utilização das comunidades surdas no Brasil. Em 2005, foi promulgado um

decreto que tornou obrigatória a inserção da disciplina nos cursos de formação de professores para o

exercício do magistério em nível médio (curso normal) e superior (Pedagogia, Educação Especial,

Fonoaudiologia e Letras). Desde então, as instituições de ensino vêem procurando se adequar a essa

lei (ARAÚJO, 2010).

Page 13: TRADUTOR LIBRAS JF - UP · ARTICLE According to data of Censo 2000 of Statistics and Geography Brazilian Institute (IBGE, 2000), 14,5% of Brazilian people has some kind of deficiency

13

3.1.2 - Características e Exemplos

Segundo PEREIRA (2002), para determinar o seu significado, os sinais possuem alguns

parâmetros para a sua formação, como por exemplo, a localização das mãos em relação ao corpo, a

expressão facial, a movimentação que se faz ou não na hora de produzir o sinal, etc.

Há algumas particularidades simples, que facilitam o entendimento da língua, como o fato de

os verbos aparecerem todos no infinitivo e os pronomes pessoais não serem representados, sendo

necessário apontar a pessoa de quem se fala para ser entendido. Há ainda algumas palavras que

não tem sinal correspondente, como é o caso dos nomes próprios. Nessa situação, as letras são

sinalizadas uma a uma para expressar tal palavra. Uma representação do alfabeto LIBRAS pode ser

encontrado na figura 2.

Figura 2 - Alfabeto da Língua Brasileira de Sinais (LIBRAS)

3.2 - Reconhecimento de Padrões:

Voltando-se para a parte técnica do projeto, caracteriza-se a seguir o método de interpretação

dos gestos feitos pelos usuários durante a utilização do protótipo.

Os seres humanos são capazes de reconhecer padrões com grande rapidez. Faz parte da

natureza humana, ao observar um objeto, fazer uma coleta de informações, as quais são comparadas

com as propriedades e comportamentos conhecidos e armazenados em sua mente. Através dessa

comparação os seres humanos são capazes de reconhecer o alvo de sua observação. Este conceito

de reconhecimento é simples e familiar para todos em um ambiente real, mas no contexto da

inteligência artificial, o reconhecimento não é uma tarefa trivial. Não existe nenhuma máquina ou

Page 14: TRADUTOR LIBRAS JF - UP · ARTICLE According to data of Censo 2000 of Statistics and Geography Brazilian Institute (IBGE, 2000), 14,5% of Brazilian people has some kind of deficiency

14

software de inteligência artificial que seja capaz de igualar-se a capacidade de reconhecimento do

cérebro humano (MARQUES, 2005).

As iniciativas para o reconhecimento de padrões artificialmente dividem-se em duas

categorias: de reconhecimento de itens concretos e abstratos.

Ainda citando MARQUES (2005), temo que o reconhecimento de itens concretos envolve o

reconhecimento de impressões digitais, assinaturas, objetos físicos, formas de ondas, voz, faces,

enfim, o reconhecimento de itens que existem concretamente. Os elementos abstratos seriam itens

sem forma física como, por exemplo, a solução para um determinado problema.

O reconhecimento de padrões envolve três níveis de processamento: filtragem da entrada,

extração de características e classificação. A filtragem da entrada de dados tem o objetivo de eliminar

dados desnecessários ou distorcidos fazendo com que a entrada apresente apenas dados relevantes

para o reconhecimento do objeto em análise. A extração de características consiste da análise dos

dados de entrada a fim de extrair e derivar informações úteis para o processo de reconhecimento

(GABARDO, 2005).

O estágio final do reconhecimento de padrões é a classificação, onde através da análise das

características da entrada de dados o objeto em análise é declarado como pertencente a uma

determinada categoria. Quando se busca realizar o reconhecimento de padrões em modelos

estáticos, em especial a fase de classificação que é bastante onerosa, esses modelos são eficientes

apenas quando suposições de limite são satisfeitas. A eficiência de modelos estáticos depende de

um grande conjunto de suposições ou condições sobre as quais o modelo é construído. Para que o

modelo seja empregado com sucesso, é necessário que os usuários possuam um bom conhecimento

sobre as propriedades dos dados analisados e das capacidades do modelo. As redes neurais são

uma alternativa promissora para vários métodos de classificação convencionais. Elas possuem

vantagens como ser adaptativas em função dos seus dados (data driven), ou seja, são capazes de se

ajustar a si próprias sem a necessidade de qualquer especificação explícita. As redes neurais

também são modelos não lineares capazes de modelar com flexibilidade as complexas relações do

modelo do mundo real (MARQUES, 2005).

Reunindo estes dois temas principais citados acima, tornou-se possível a implementação do

projeto do tradutor de LIBRAS JF, que visa interpretar os sinais e gestos feitos pelo usuário em uma

linguagem comum a toda comunidade não-surda, proporcionando uma melhor forma de interação

entre as diferentes culturas.

Page 15: TRADUTOR LIBRAS JF - UP · ARTICLE According to data of Censo 2000 of Statistics and Geography Brazilian Institute (IBGE, 2000), 14,5% of Brazilian people has some kind of deficiency

15

3.3 – Especificação de Hardware

3.3.1 - Luvas sensoriais

Para obter as taxas de variações dos movimentos dos dedos, foi utilizado um par de Luvas

especiais do Fabricante 5DT, chamada DT Data Glove5 Ultra.

A 5DT DataGlove 5 Ultra, apresentada na Figura 3, segundo 5DT (2011), possui alta

qualidade de dados e precisão na simulação dos movimentos. As luvas vêm com a interface padrão

USB, eliminando a necessidade de fonte de alimentação externa.

Figura 3 - Ilustração da 5DT Dataglove5 Ultra

Este dispositivo possui sensores de fibra óptica, que permitem a captação de informações

como a flexão dos dedos da mão do usuário. Essas informações são transferidas à aplicação

(software) para tradução do movimento, ou seja, tradução das libras para língua portuguesa. A tabela

1 possui algumas características da Luva 5DT DataGlove 5 Ultra (5DT, 2011).

Tabela 1- Especificações da Luva 5DT DataGlove 5 Ultra

Material Lycra Stretch preto

Resolução do sensor 12 bits A/D (alcance típico de 10 bits)

Sensores de Flexão Baseado em fibra óptica 5 sensores no total 1 sensor por dedo, medidas, média de articulação e primeira junta

Interface USB 1.1 de alta velocidade RS-232 (opcional)

Alimentação Via Interface USB

Taxa de Amostragem Mínimo de 75Hz

(5DT, 2011)

Page 16: TRADUTOR LIBRAS JF - UP · ARTICLE According to data of Censo 2000 of Statistics and Geography Brazilian Institute (IBGE, 2000), 14,5% of Brazilian people has some kind of deficiency

16

Apesar da tecnologia da Luva 5DT DataGlove ser bem avançada, ela não é suficiente para o

sucesso do projeto, pois é capaz de captar somente os movimentos dos dedos. Para captar os

movimentos no espaço em três dimensões, será usado um acelerômetro tri-axial.

3.3.2 – Acelerômetro – Teoria e operação

Segundo MORIMOTO (2009), os acelerômetros são sensores capazes de converter a

aceleração da gravidade ou o movimento em sinais elétricos. Qualquer atividade onde haja

movimento pode ter o valor de sua aceleração medida por um acelerômetro. Para saber qual

aplicação é possível para um acelerômetro é preciso conhecer a ordem de grandeza da aceleração

que se deseja medir, visto que estes sensores são fabricados dentro de faixas de valores específicas.

A indústria automobilística proporcionou um grande barateamento de custos do instrumento

devido ao seu uso em larga escala. Nos carros, o acelerômetro exerce uma importante função ao

controle de estabilidade ao calcular as forças em que o veículo está sendo submetido, além de

auxiliar na orientação do GPS. Além de mais barato, o instrumento ocupa dimensões muito menores,

sendo encontrado com freqüência em celulares e computadores portáteis (PRADA, 2009).

Na tabela 2 são mostradas as faixas típicas de trabalho, com as suas respectivas aplicações.

Tabela 2 - Configurações e aplicações do acelerômetro, conforme faixa de medida.

Faixa de Medida Aplicação Típica Onde pode ser usado

0,002 – 2g Sismografia Sismógrafos, Aparelhos para detecção de terremotos.

1 – 2g Detecção de movimento Alarme antirroubo, detector de quedas de humanos.

Detecção de queda livre HD´s, notebooks, Celulares, MP3 players...

Detecção de inclinação Reconhecimento de movimentos, jogos…

2 – 8g Detecção de capotagem Acionamento de Air Bags laterais em veículos, controle de

estabilidade e tração.

8 – 10g

Vibrações de motoresindustriais

Estabilização de motores

Detecção de batidas, pancadas, choques macânicos, colisões...

Trsnsporte de cargas, área de logística, manuseio de encomendas e produtos..

10 – 20g Pedômetros Caminhas, corridas, exercícios, aparelhos de ginásticas e

academia...

20 – 40g Gravadores de movimento

Data Recorders, gravadores de evento...

40 – 100 g Detecção de batidas de automóvel

Disparo de Air Bags

(PRADA, 2009)

Continuando com as afirmações de PRADA (2009), além da faixa de aceleração que se pode

medir, informações como a tolerância, formato de saída (digital, analógica, PWM, etc.),

encapsulamento e outros, também são levados em consideração na hora de especificar qual

componente se aplica a cada projeto.

Page 17: TRADUTOR LIBRAS JF - UP · ARTICLE According to data of Censo 2000 of Statistics and Geography Brazilian Institute (IBGE, 2000), 14,5% of Brazilian people has some kind of deficiency

17

Algumas das diversas características que devem ser observadas para especificar um

acelerômetro são:

• Quantidade de eixos: o modo de construção do dispositivo permite que ele forneça

informações em até três eixos simultaneamente, geralmente chamados pelos fabricantes de X, Y e Z.

Alguns modelos medem apenas um ou dois eixos (MORIMOTO, 2009).

• Faixa de medição: informa qual é a capacidade de medição do sensor, com valores

negativos (desaceleração) e positivos (aceleração). Esta faixa será importante para determinar em

qual aplicação o sensor pode ser utilizado, como já mostrado na tabela 2 (MORIMOTO, 2009).

Optou-se pelo uso do acelerômetro da Empresa Microchip MMA7260Q BreakoutBoard,

conforme mostrado na figura 4:

Figura 4 - Acelerômetro MMA7260Q utilizado no projeto (SPARKFUN, 2001)

Características do acelerômetro MMA7260Q, segundo SPARKFUN (2001):

• O Output dos valores dos 3-eixos é analógico;

• Alimentação 0 GND / 3.3V;

• Tem 4 modos de operação, 1.5G / 2G / 4G / 6G (Valores G máximos);

• 2 Seletores para selecionar o modo de funcionamento, GS1 e GS2;

• Pino Sleep, 3,3v – acelerômetro ligado, 0v – acelerômetro desligado;

• Estes três pinos podem ser controlados por um microcontrolador (arduino, por exemplo,

com os pinos digitais).

Page 18: TRADUTOR LIBRAS JF - UP · ARTICLE According to data of Censo 2000 of Statistics and Geography Brazilian Institute (IBGE, 2000), 14,5% of Brazilian people has some kind of deficiency

18

Mais informações podem ser vistas na tabela 3, que referencia a relação entre diversos pinos

do acelerômetro no que diz respeito à sensibilidade de medição.

Tabela 3 - Relação entre os pinos GS1, GS2 e a sensibilidade do acelerômetro/modo de funcionamento.

GS1 GS2 G-range Sensibilidade

GND GND 1.5g 800mV/g

GND 3.3V 2g 600mV/g

3.3V GND 4g 300mV/g

3.3V 3.3V 6g 200mV/g

Seguindo a tabela 3, os pinos GND, GS1, GS2 ligam a 0V e os pinos VCC e Sleep ligam a

3,3V.

A sensibilidade deste acelerômetro pode ser alterada “onthefly”, isto é, ao ligar os pinos GS1

e GS2 a um microcontrolador podem alterar sua a sensibilidade mudando o valor lógico dos pinos. O

mesmo aplica-se ao pino Sleep (SPARKFUN, 2001).

3.3.3 – Microcontrolador

Os microcontroladores são chips inteligentes, que tem um processador, pinos de

entradas/saídas e memória. Através da programação dos microcontroladores podemos controlar suas

saídas, tendo como referência as entradas ou um programa interno (SILVA, 2007).

Segundo SILVA (2007), o que diferencia os diversos tipos de microcontroladores são as

quantidades de memória interna (programa e dados), velocidade de processamento, quantidade de

pinos de entrada/saída (I/O), alimentação, periféricos, arquitetura e set de instruções. O

microcontrolador que foi utilizado no trabalho está representado pela figura 5:

Figura 5 - Pinagem e imagem ilustrativa do PIC18F2550 (SILVA, 2007)

Page 19: TRADUTOR LIBRAS JF - UP · ARTICLE According to data of Censo 2000 of Statistics and Geography Brazilian Institute (IBGE, 2000), 14,5% of Brazilian people has some kind of deficiency

19

As características do microcontrolador 18F2550 do fabricante Microchip pode ser encontrado

na tabela 4, logo abaixo:

Tabela 4 - Dados do microcontrolador 18F2550 da Microchip

MemorySize 1000 Bytes

Numberof Pins 18

Access Time 20.0 µs

ClockSpeed 20.0 MHz (max)

OperatingTemperature 85.0 °C (max)

OperatingVoltage 2.00 V to 5.50 V

SupplyVoltage (DC) 5.50 V (max)

Case / Package PDIP-18

(SPARKFUN, 2001)

3.4 – Requisitos

Para construção e funcionamento do projeto foi necessário:

- Um microcontrolador capaz de suportar a interface USB de comunicação. Utilizado: PIC18F2550;

- Um computador para testes e desenvolvimento do software.

- Ferramentas para desenvolvimento do software:

- Plataforma de desenvolvimento: Visual Studio 2008 Express.

- Banco de Dados: SQL Server 2008 Express;

- Fonte de alimentação externa 5V;

- Bibliotecas de desenvolvimento disponibilizadas pelo Fabricante 5DT;

- Protoboard e componentes eletrônicos para desenvolvimento e teste;

Para o funcionamento do protótipo:

Foi preciso um par de luvas sensoriais, juntamente com o módulo de acelerômetro integrado

ao microcontrolador. O protótipo foi conectado a um computador que possuía no mínimo:

- Sistema Operacional Windows XP;

- 2 Gigabytes de memória;

Page 20: TRADUTOR LIBRAS JF - UP · ARTICLE According to data of Censo 2000 of Statistics and Geography Brazilian Institute (IBGE, 2000), 14,5% of Brazilian people has some kind of deficiency

20

- 300 Megabytes de espaço livre em disco;

- Processador de 2GHz;

A alimentação da luva sensorial se dá através da interface USB, que por sua vez, também é

responsável pela comunicação entre computador e hardware.

Na interpretação dos dados providos do hardware é necessário ainda o Software Identificador

de Libras JF.

No mais, necessitou-se que o usuário do protótipo entendesse um mínimo da LIBRAS ou

possuísse um manual dos gestos conhecidos pelo protótipo, afim de que pudesse efetuar com

sucesso a interação homem-máquina.

3.5 – Especificação de software

No contexto deste projeto, foi identificado a necessidade criar uma série de interações entre

os equipamentos de hardware e o software. O projeto divide-se então duas partes que se interagem:

Aquisição de dados do hardware e tratamento dos dados pelo software para identificação dos gestos.

3.5.1 - Aquisição dos dados

Como já é de conhecimento, o protótipo utiliza um acelerômetro com as características

mencionadas no tópico 2.4, ou seja, o sinal obtido é puramente analógico. O computador, por sua

vez, não é capaz de reconhecer tais sinais, o que torna indispensável o desenvolvimento de um

circuito para tratamento desse sinal analógico. Para isso foi utilizado um microcontrolador conforme

especificado. O microcontrolador, por sua vez, processa esses sinais analógicos e disponibiliza via

conexão USB binariamente os sinais digitalizados. Vejo o exemplo na figura 6 abaixo:

Figura 6 - Amostragem do sinal de entrada e saída do microcontrolador

Os sinais providos da luvas sensoriais já são digitais, ou seja, possuem configuração serial

configurada pelo fabricante. Desta forma os dados que chegam ao software já estão configurados

digitalmente. Tendo esses dados, coube ao software processá-los para compreender os gestos feitos.

Page 21: TRADUTOR LIBRAS JF - UP · ARTICLE According to data of Censo 2000 of Statistics and Geography Brazilian Institute (IBGE, 2000), 14,5% of Brazilian people has some kind of deficiency

21

3.5.2 - Tratamento dos dados pelo software

Após o computador receber os dados via conexão USB, o software já preparado para receber

essas informações inicia o ciclo de processamentos dessas informações. Um algoritmo foi

desenvolvido, seguindo a linha de raciocínio do digrama em blocos 1, descrito logo abaixo.

Para facilitar o desenvolvimento, a luvas sensorial possui algumas bibliotecas prontas para

recebimento dos sinais providos do hardware. Essas bibliotecas possuem identificador fd, indicando o

fabricante (Fifth Dimension Technologies). Para obter os valores é usado um verbo para definir uma

determinada ação (Scan, Get,Open, Close), e a informação que identifica o propósito da função

(SensorRawAll, SensorScaledAll, NumberSensors, Calibration). Em seguida, entre parênteses são

disponibilizados os parâmetros da referida função, geralmente compostos pelo ponteiro do tipo

fdGlove (que representa a luva de dados na aplicação e é definido na biblioteca disponibilizada pelo

fabricante) e uma variável para armazenar informações a serem recebidas (como os valores

dos sensores), ou a serem enviadas (como por exemplo, valores para calibração).

Por exemplo, na função fdGetSensorRawAll (pGlove,vetor) , que pode ser implementada

para obter os valores de todos os sensores da luva de dados simultaneamente, fd

indica o fabricante, Get identifica a ação de receber informação, SensorRawAll mostra que

é uma função para obtenção de todos os sensores do dispositivo, pGloveé um ponteiro

do tipo fdGlove , e vetor indica um array fictício para armazenar os valores obtidos.

A figura 7 representando o diagrama em blocos descrito na próxima página demonstra o

funcionamento do software, no que se refere a tratamento de dados obtidos do hardware.

Page 22: TRADUTOR LIBRAS JF - UP · ARTICLE According to data of Censo 2000 of Statistics and Geography Brazilian Institute (IBGE, 2000), 14,5% of Brazilian people has some kind of deficiency

22

Figura 7 - Fluxograma de tratamento de dados

Aprofundando um pouco mais o tratamento dos dados, no que diz respeito à utilização de

threads, desenvolveu-se um sistema de busca baseado no tempo de resposta do hardware (100ms

por amostra) juntamente com a busca em paralelo proporcionada pelo uso das linhas de execução.

As threads são acionadas a cada ciclo de 400ms e cada uma tem a capacidade de retornar um valor

válido como resposta. Se esse valor válido for o mesmo em mais de uma thread, então o software

considera que aquele valor é o correto para o gesto que se quer identificar. Abaixo, na figura 8,

temos uma representação do que foi descrito acima:

Page 23: TRADUTOR LIBRAS JF - UP · ARTICLE According to data of Censo 2000 of Statistics and Geography Brazilian Institute (IBGE, 2000), 14,5% of Brazilian people has some kind of deficiency

23

Figura 8 - Lançamento das Threads

Como determinado, as threads se iniciam umas após as outras trazendo respostas

respectivas a cada ciclo de leitura determinado pelo tempo de início de cada thread.

3.5.3 - Banco de Dados

O MS SQL Server é um SGBD - sistema gerenciador de Banco de dados relacional criado

pela Microsoft em parceria com a Sybase em 1988 e inserido como produto complementar do

Windows NT. Ao final da parceria, em 1994, a Microsoft continuou aperfeiçoando o produto. Com a

nova versão a Microsoft SQL Server 2008 é fornecida uma plataforma de dados confiável, produtiva e

inteligente que permite que você execute suas aplicações de missão crítica mais exigentes, reduza o

tempo e o custo com o desenvolvimento e o gerenciamento de aplicações e entregue percepção que

se traduz em ações estratégicas em toda sua organização. O SQL é um banco de dados robusto e

usado por sistemas corporativos dos mais diversos portes.

Como já dito anteriormente, a inserção do valor fornecido pelo hardware ocorre via software.

Porém, um cálculo é feito antes da inserção efetiva, a fim de se obter valores inteiros e únicos que

caracterizem e diferenciem o movimento feito pelo usuário da luva. Este cálculo baseia-se no conceito

de distância de vetores, que por sua vez, descreve-se pela obtenção de um valor único retirado de

dois vetores, que denota a distância cartesiana entre eles. O conceito é muito simples, sendo a

distância representada pela diferença modular entre dois vetores. Para um melhor entendimento,

temos abaixo a descrição detalhada da equação 1:

Equação 1 – Distância entre dois pontos no espaço

A equação 1 representa a forma de cálculo entre dois vetores de três posições. No software

proposto, o cálculo deve ser feito com um vetor de oito posições, ou seja, a fórmula aumentaria

apenas em termos de fatores dentro da radiciação.

Page 24: TRADUTOR LIBRAS JF - UP · ARTICLE According to data of Censo 2000 of Statistics and Geography Brazilian Institute (IBGE, 2000), 14,5% of Brazilian people has some kind of deficiency

24

Tendo em conta esta distância numérica e única, a busca no banco de dados se dá

simplesmente pela execução de um comando “SELECT” feito via código no programa principal de

controle. Cabe a observação de que, como estamos lidando com um sistema analógico, uma

variância nesses valores para um mesmo movimento é possível e, por isso, o comando enviado ao

banco de dados para seleção da resposta correta é feito com uma margem de erro de dez unidades

de valor para mais ou para menos.

Page 25: TRADUTOR LIBRAS JF - UP · ARTICLE According to data of Censo 2000 of Statistics and Geography Brazilian Institute (IBGE, 2000), 14,5% of Brazilian people has some kind of deficiency

25

4 – IMPLEMENTAÇÃO

O projeto foi dividido em duas etapas, sendo estas compostas pelo desenvolvimento do

hardware e desenvolvimento do software, respectivamente.

4.1 – Implementação: Hardware

Para desenvolvimento do hardware, duas etapas foram traçadas e cumpridas baseadas na

descrição do capítulo três, sendo necessária a constituição do firmware do microcontrolador, bem

como a construção da placa de controle que envia os dados de forma digital para a interface

computacional. Para a montagem da placa de circuito impresso foram necessários os seguintes

componentes, representados pela tabela 5:

Tabela 5 - Componentes do protótipo

Componente Descrição Fabricante Qtde

Microcontrolador PIC 18F2550 Microchip 2

Acelerômetro 3 Eixos Mma7260 Freescale 2

Capacitor 15nF - 2

Capacitor 0.4uF - 1

Capacitor 470nF - 1

Capacitor 0.1uF - 4

Resistores 10KOhm - 1

Resistores 1KOhm - 3

Regulador de Tensão L78L33 STMICROELECTRONICS 2

Cabo USB - - 2

Conector USB B - - 2

4.1.1 - Firmware do microcontrolador:

O firmware desenvolvido precisou transformar o sinal analógico, proveniente do acelerômetro,

em um sinal digital. O algoritmo responsável por essa função específica baseou-se em duas rotinas

distintas: a captura de sinais feita pelo acelerômetro e o envio destes para o computador. Para

controlar o envio de sinais de forma a evitar a perda de dados ou mesmo a repetição deles,

introduzimos no firmware um critério de parada simples de um bit cuja função é determinar se o dado

lido foi recebido com sucesso ou se ainda está sendo recebido.

Page 26: TRADUTOR LIBRAS JF - UP · ARTICLE According to data of Censo 2000 of Statistics and Geography Brazilian Institute (IBGE, 2000), 14,5% of Brazilian people has some kind of deficiency

26

Todo o funcionamento básico do firmware foi descrito no fluxograma representado pela figura

9, que é mostrada logo abaixo:

Figura 9 - Algoritmo do firmware gravado no microcontrolador

A linguagem de programação C foi utilizada para o desenvolvimento do firmware, além de

duas bibliotecas padrão para conexão com porta USB. O firmware faz a leitura do sinal analógico a

cada 100ms através das portas de entrada do conversor AD do microcontrolador. Esses dados, por

fim, tornam-se digitais e são enviados ao software via porta USB.

3.1.2 – Montagem do circuito:

Como já dito, a segunda parte do desenvolvimento do hardware consituiu-se da montagem da

placa de circuito impresso capaz de fazer a comunicação com a interface computacional. A figura 10,

abaixo, representa detalhadamente a ligação dos componentes, bem como a resposta da

comunicação USB.

Figura 10 - Esquemático da comunicação entre Hardware e computador pela porta USB.

Outra representação do circuito descrito acima pode ser vista abaixo, através da figura 11:

Page 27: TRADUTOR LIBRAS JF - UP · ARTICLE According to data of Censo 2000 of Statistics and Geography Brazilian Institute (IBGE, 2000), 14,5% of Brazilian people has some kind of deficiency

27

Figura 11–Ilustração das dimensões placa de circuito Impresso e representação do Acelerômetro

Conforme mostrado na figura 11, as tensões fornecida pelo acelerômetro ( das dimensões X,

Y, Z) são recebidas pelo microcontrolador através dos canais de ADC (conversores analógicos para

digitais). Esses canais, por sua vez, são responsáveis por transformar essas tensões em

informações digitais. Para se fazer essa conexão entre o microcontrolador e o acelerômetro

utilizamos alguns capacitores de 0,1uF e resistores de 1KOhm. A figura 12 mostra as conexões feitas,

além da configuração do acelerômetro para trabalhar dentro da faixa de captura. Essa configuração é

feita através da tensão fornecida por um dos pinos do microcotrolador (P0 ou P1 ou P2).

Figura 12 - configuração recomendada do acelerômetro ao micrcontrolador.

4.2 – Software

Para que a leitura dos dados de hardware seja feita de forma a possibilitar que usuários

comuns consigam interagir com o protótipo e utilizá-lo de forma produtiva, foi construído um sistema

de controle(software) capaz de interagir com usuário, afim de que o mesmo possa se comunicar,

aprender os gestos da libras, conhecer a história e incluir os gestos conforme necessidade e aprendizado.

O software foi implementado utilizando a interface de desenvolvimento Visual Studio 2010 C#

e foi condicionado a desempenhar as funções previstas com sucesso.

Page 28: TRADUTOR LIBRAS JF - UP · ARTICLE According to data of Censo 2000 of Statistics and Geography Brazilian Institute (IBGE, 2000), 14,5% of Brazilian people has some kind of deficiency

28

4.2.1 - Login no sistema

Como dito, cada usuário poderá possuir seus próprios gestos no sistema. Para isso, o login

no sistema deverá ser único para cada usuário. A figura 13 mostra a tela que valida a abertura do

sistema.

Figura 13 - Tela de login

Caso o usuário seja novo no sistema, o mesmo poderá fazer seu cadastro, informando dados

pessoais, senha e nome do login a ser usado no sistema. A figura 14 mostra esse formulário.

Figura 14 - Tela de cadastro

Page 29: TRADUTOR LIBRAS JF - UP · ARTICLE According to data of Censo 2000 of Statistics and Geography Brazilian Institute (IBGE, 2000), 14,5% of Brazilian people has some kind of deficiency

29

4.2.2 - Realidade Virtual do sistema

Com o objetivo de fornecer interatividade durante a navegação dento do sistema, foi

implementado, utilizando a luva sensorial e o acelerômetro, um modelo de interface de comandos em

que o usuário poderá abrir os formulários usando os movimentos da própria luva sensorial e o

acelerômetro. Assim que o sistema é aberto, uma série de opções de navegação são mostrados ao

usuário. São as opções contidas no sistema, lembrando que para fazer uso destas funções é

necessário dobrar os dedos em direção à palma da mão:

Polegar Direito – Abre e fecha formulário de interpretação de gestos.

Polegar Esquerdo – Abre e fecha formulário de inserção de novos gestos.

Indicador Esquerdo – Abre e fecha formulário de história da Libras.

Indicador Direito – abre e fecha formulário de vídeos de aprendizado da Libras.

Anular Direito – Abre e fecha formulário “Sobre” do sistema.

Médio Esquerdo – Habilita controle do mouse via dados do acelerômetro.

Movimento brusco do acelerômetro – fecha o sistema em definitivo.

Na imagem 15 temos a tela de abertura do sistema e as opções conforme descritas acima.

Figura 15 - Tela inicial

Page 30: TRADUTOR LIBRAS JF - UP · ARTICLE According to data of Censo 2000 of Statistics and Geography Brazilian Institute (IBGE, 2000), 14,5% of Brazilian people has some kind of deficiency

30

Como dito, o protótipo tem a intenção de abordar um pouco sobre o mundo da língua

brasileira de sinais. Neste intuito, o sistema computacional possui algumas telas abordando um pouco

a história e gestos conhecidos da Libras.

A tela da história da Libras, conforme mostrado na figura 16, aborda o início do uso desta

linguagem no Brasil e o seu avanço e uso na atualidade.

Figura 16 - Tela de história da LIBRAS

Foi desenvolvido ainda uma tela para aprendizado da Libras. Nesta existem 10 vídeo-aulas,

abordando os principais gestos da libras, como o alfabeto, cumprimentos, elogios, família,

agradecimentos e assim por diante. Nesta tela é possível escolher as vídeos-aula a partir da luva

sensorial, reproduzir, pausar ou reiniciar a vídeo-aula a partir dos movimentos específicos das mãos.

Seguem detalhados abaixo, os comandos existentes:

Polegar Esquerdo – Volta para vídeo anterior.

Indicador Esquerdo – Executa vídeo-aula escolhido.

Page 31: TRADUTOR LIBRAS JF - UP · ARTICLE According to data of Censo 2000 of Statistics and Geography Brazilian Institute (IBGE, 2000), 14,5% of Brazilian people has some kind of deficiency

31

Polegar Direito – Avança para próxima vídeoaula.

Indicador Direito – Pausa a vídeo-aula.

Médio Direito – Reinicia a vídeo-aula.

Movimento brusco do acelerômetro – fecha o formulário de vídeos-aula de

aprendizado.

Na figura 17 observar-se esta tela com seus comandos específicos, conforme mencionado.

Figura 17 - Tela de vídeo-aulas

A fim de obter informações de contato sobre as pessoas que construíram o sistema, foi

desenvolvido uma tela específica para isso, conforme mostrada na figura 18, com o nome “SOBRE”.

Page 32: TRADUTOR LIBRAS JF - UP · ARTICLE According to data of Censo 2000 of Statistics and Geography Brazilian Institute (IBGE, 2000), 14,5% of Brazilian people has some kind of deficiency

32

Figura 18 - Tela "SOBRE"

4.2.3 - Inserção e Interpretação da LIBRAS

O objetivo principal do sistema é a interpretação dos gestos feitos pelo usuário. Para tanto, é

necessário que haja a população do banco de dados com os gestos conhecidos. Seguindo esta linha

de raciocínio, foi desenvolvida uma tela capaz de capturar os gestos feitos pelo usuário e armazenar

num banco de dados. Este armazenamento pode ser feito por usuários diferentes, ou seja, diferentes

usuários podem inserir o mesmo gesto no banco de dados, possibilitando que o sistema saiba o

padrão de cada usuário durante o processamento de identificação dos gestos.

A figura 19 mostra o fluxograma que representa a forma com que o sistema armazena essas

informações.

Page 33: TRADUTOR LIBRAS JF - UP · ARTICLE According to data of Censo 2000 of Statistics and Geography Brazilian Institute (IBGE, 2000), 14,5% of Brazilian people has some kind of deficiency

33

Figura 19 - Fluxograma de inserção de dados

Tanto na inserção de dados quanto na interpretação de dados, ocorre a calibração do

hardware. É feita uma somatória dos valores de cada eixo do acelerômetro e de cada dedo da luva.

Após 50 leituras/somatória, é tirado um conjunto de médias, as quais simbolizam o ponto zero do

hardware. A partir deste momento, todos os valores coletados serão subtraídos deste conjunto de

dados.

Após a calibração, o campo para inserção do gesto é liberado. Neste campo o usuário poderá

digitar o nome do gesto a ser armazenado no banco de dados. Se o usuário tentar iniciar a gravação

sem digitar, uma mensagem de erro será levantada, informando ao usuário a necessidade de

preenchimento deste campo.

Como foi mostrado no fluxograma 1, o usuário deverá gravar cinco vezes o mesmo gesto,

para que seja gerado um centróide, ou seja, uma média final das gravações. É baseado neste

centróide que ocorre os filtros no banco de dados para interpretação dos gestos.

O inicio da gravação é determinada pelo usuário a partir do uso da luva esquerda, que neste

momento é chamada de “Luva de Controle”. Segue os comandos existentes para gravação:

Polegar Esquerdo – Inicia a gravação.

Indicador Esquerdo – Finaliza a gravação.

Page 34: TRADUTOR LIBRAS JF - UP · ARTICLE According to data of Censo 2000 of Statistics and Geography Brazilian Institute (IBGE, 2000), 14,5% of Brazilian people has some kind of deficiency

34

Médio Esquerdo – Fecha o formulário de inserção.

A Figura 20 mostra o formulário de inserção de gestos, com seus respectivos campos e

informações.

Figura 20 - Tela de inserção de dados

A gravação dos dados será feita em tabelas pré-definidas. Nessas tabelas constam os nomes

dos diferentes tipos de testes, os nomes dos gestos gravados e os valores calculados pelo software

para cada leitura feita.

Após a inserção dos gestos, é possível fazer a interpretação dos gestos e amostragem

computacional. A interpretação de gestos se dá de duas formas: dinamicamente ou estaticamente. Na

interpretação dinâmica o sistema filtra o banco de dados em busca de algum gesto do alfabeto.

Os dados são coletados num intervalo de 18 leituras do hardware. São utilizadas para

interpretação um total de três threads. Conforme os dados vão sendo lidos e tratados, um método

específico alimenta o gerenciador de threads. À medida que os dados chegam ao gerenciador de

threads, um contador é responsável por inicializar as threads ou finalizar o uso das mesmas. Quando

uma thread completa um conjunto de dez leituras, a mesma inicia o filtro no banco de dados para

identificação dos gestos.

No método de filtragem dinâmica é feito um loop comparando o conjunto de leituras com os

valores gravados no banco, buscando as possíveis combinações. Quando é retornado algum valor,

um contador é incrementado.

Quando o loop é terminado, um método de estatística é chamado, onde o mesmo verifica se

houve uma precisão de acertos acima de 70%. Se sim, o(s) gesto(s) encontrado(s) é(são)

retornado(s). Assim ocorre sucessivamente até as três threads finalizarem a filtragem e devolver ao

Page 35: TRADUTOR LIBRAS JF - UP · ARTICLE According to data of Censo 2000 of Statistics and Geography Brazilian Institute (IBGE, 2000), 14,5% of Brazilian people has some kind of deficiency

35

formulário a resposta através de uma combinação de gestos (neste caso devem-se haver no mínimo

duas respostas iguais para ser amostrado o nome do gesto).

Na filtragem estática, a forma com que os dados são coletados é comandada pelo usuário, ou

seja, existe um começo e fim de coleta de dados. Utilizando a luva da mão esquerda (luva de

controle) o usuário dispõe dos seguintes comandos:

Polegar Esquerdo: Inicializa a coleta de dados. O mesmo comando feito pela

segunda vez finaliza a coleta de dados.

Indicador Esquerdo: Muda o tipo de interpretação de Filtro estático para dinâmico.

Médio Esquerdo – Fecha o formulário de interpretação de gestos.

A filtragem estática não usa threads. Os dados coletados são passados para um método de

filtragem do banco de dados. Neste método, acontece um loop, ao fim do loop, uma função de

estatística é chamada para ver precisão de acertos (assim como acontece na filtragem dinâmica).

Após isso, os gestos encontrados são amostrados na tela para usuário. Uma vantagem desta

filtragem é a conjugação de verbos. Assim que o resultado é amostrado, o usuário pode incluir isso

num conjunto de outros gestos, podendo formar frases. Cada vez o usuário faz isso, um método de

conjugação de verbos é chamado. Este método percorre a frase montada a procura do agente verbal,

se o agente é encontrado, é verificado no banco de dados os verbos correspondentes da frase e

conjugados corretamente.

Uma representação do formulário de interpretação de dados acima descrito pode ser

encontrado na figura 21, inserida abaixo:

Figura 21 - Tela de interpretação de dados

Page 36: TRADUTOR LIBRAS JF - UP · ARTICLE According to data of Censo 2000 of Statistics and Geography Brazilian Institute (IBGE, 2000), 14,5% of Brazilian people has some kind of deficiency

36

4.2.4 - Classes do software e suas funcionalidades

O software desenvolvido dividiu-se em três tipos de classes distintos, de forma que todas em

conjunto contribuíssem para que a inserção de dados e usuários e a interpretação de gestos

ocorressem sem maiores problemas. As classes abaixo descritas representam estes três tipos:

Classes referentes a usuário:

clsLogin – Classe responsável pelo login do usuário. Nesta classe faz-se as validações de

senha e login.

clsControlCadastro – É a classe de controle de cadastro de novos usuários. Esta classe não é

responsável pelas ações no banco, ou seja, tem única finalidade de controlar as informações

do formulário e transmiti-las para classe de gravação ou obtenção dos dados do banco de

dados.

clsDadosCadastro – Esta classe recebe os parâmetros da classe de controle

(clsControlCadastro) e faz operação de cadastro no banco ou consulta no mesmo. É desta

classe que se grava ou obtém os dados a serem amostrados na tela de cadastro de novos

usuários do sistema.

Classes relativas à inserção de dados:

clsInsercao – Classe responsável pela inserção dos gestos no banco de dados e o tempo em

segundos do gesto coletado.

clsCentroide – Nesta classe existe vários métodos, os quais tem o objetivo de calcular a

média de valores de cada gesto a serem inseridos no banco de dados.

Classes relativas à interpretação dos gestos:

clsFiiltragemDinamica – Uma das classes principais do sistema. Possui métodos capazes de

fazerem buscas no banco de dados, gerar estatísticas e retornar ao formulário os gestos

encontrados.

clsFrasesConjugadas – À medida que os gestos são identificados, os mesmos são

armazenados num array dinâmico e são enviados a esta classe que tem o objetivo de

verificar a existência de verbos e assim conjugar a frase para o tempo verbal correto.

clsThreds – Nesta faz-se o gerenciamento das 3 threads abertas durante processamento de

identificação de gestos dinamicamente.

Classes genéricas:

clsCalibracao – Classe responsável pela calibração do acelerômetro e do par de luvas.

Page 37: TRADUTOR LIBRAS JF - UP · ARTICLE According to data of Censo 2000 of Statistics and Geography Brazilian Institute (IBGE, 2000), 14,5% of Brazilian people has some kind of deficiency

37

clsUnificacao – classe responsável pela unificação dos dados chegados da luva e

acelerômetro, já que este dados chegam duplicados e com tipo diferente da usual.

Page 38: TRADUTOR LIBRAS JF - UP · ARTICLE According to data of Censo 2000 of Statistics and Geography Brazilian Institute (IBGE, 2000), 14,5% of Brazilian people has some kind of deficiency

38

5 – RESULTADOS E DISCUSSÃO

Como já foi dito, além de utilizar a luva sensorial, foi preciso implementar algo que

conseguisse capturar as posições no espaço (X,Y,Z), neste caso fez-se uso do acelerômetro e

microcontrolador para comunicar-se com computador. A figura 22 nos mostra como ficou a placa.

Figura 22 - Placa de circuito desenvolvida

O protótipo final, em questão de hardware, ficou constituído de três módulos interligados ao

software: A luva sensorial, acima da luva ficou o acelerômetro preso a um elástico e no braço o

microcontrolador que faz a comunicação entre acelerômetro e computador. A figura 23 mostra como

ficou o protótipo final.

Figura 23 - Luva integrada ao circuito

Após todo o desenvolvimento do projeto, obtivemos como resultado a construção do software

computacional capaz de realizar todo o objetivo proposto.

Page 39: TRADUTOR LIBRAS JF - UP · ARTICLE According to data of Censo 2000 of Statistics and Geography Brazilian Institute (IBGE, 2000), 14,5% of Brazilian people has some kind of deficiency

39

Todas as funcionalidades são descritas detalhadamente no software de forma que qualquer

usuário leigo tenha totais condições de utilizar o software sem maiores problemas.

As telas principais do software são as de inserção e interpretação de dados, já comentadas

no capítulo anterior, e tem como característica semelhante, a necessidade de se calibrar a luva e o

acelerômetro antes de se iniciarem os trabalhos. Essa calibração leva não mais que 5 segundos e é

feita afim de que os dados sejam colhidos e tratados da melhor forma possível, eliminando ao

máximo a possibilidade de distorção destes dados.

Nota-se ainda, que a identificação dos dados pode ser feita da forma estática, ou seja,

iniciando e parando a identificação manualmente; ou de forma dinâmica, que por sua vez, denota a

identificação do movimento sem a necessidade da interferência manual. A primeira forma tem maior

nível de acerto devido à exatidão do tempo de movimento alcançada somente pela determinação

manual do usuário. Os níveis de acerto chegam a 70% em média, para movimentos tri-dimensionais,

e 85% em média, para movimentos estáticos (alfabeto).

Fazendo uma linha de comparação com o trabalho desenvolvido por GABARDO (2005), é

possível concluir que, atentando-se aos novos desafios citados no mesmo, atingiu-se, de forma

plenamente satisfatória, o resultado desejado, uma vez que conseguiu-se aumentar a margem de

acerto consideravelmente, subindo de 50% para 85%, em se tratando de identificação do alfabeto

LIBRAS. Além disso, tornou-se possível a identificação de gestos completos e com isso, a formação

de frases completas caracterizando o diálogo entre usuários de forma plena, trabalhando com uma

margem de acerto de 70% para esse tipo de interpretação de dados.

Para ilustrar esse desempenho, podem-se observar as tabela 5 e 6, com os movimentos

gravados e suas respectivas margens de acerto durante sua interpretação:

Page 40: TRADUTOR LIBRAS JF - UP · ARTICLE According to data of Censo 2000 of Statistics and Geography Brazilian Institute (IBGE, 2000), 14,5% of Brazilian people has some kind of deficiency

40

Tabela 5 - Resultados do alfabeto

Letra do Alfabeto Índice de acertos

A 95%

B 90%

C 80%

D 80%

E 60%

F 70%

G 60%

H 50%

I 95%

J 50%

K 50%

L 80%

M 70%

N 80%

O 70%

Q 50%

Z 50%

W 50%

Y 60%

Tabela 6 - Resultados dos gestos

Nome do Gesto Índice de acertos

Age

nte

V

erb

al EU 75%

NÓS 80%

VOCÊ 60%

Ver

bo

s

QUERER 70%

NÃO QUERER 70%

NÃO TER 60%

GOSTAR 60%

CHORAR 50%

Ou

tro

s

BOM 50%

NOME 70%

IDADE 50%

AVIÃO 70%

TIO 60%

IRMÃO 80%

Os novos desafios para este projeto são, sem dúvida a melhoria da captação de dados

dinâmicos em três dimensões, de forma a aumentar a acurácia da interpretação de gestos

completos. Outra dificuldade encontrada foi o tempo de processamento do sinal pela interface

computacional, que leva em torno de 100ms para processar cada entrada, e, como o software

precisa de no mínimo 10 leituras para interpretar um dado, nota-se que o software leva no mínimo

1 segundo para que um movimento seja lido, fato que inviabiliza a leitura em tempo real de uma

Page 41: TRADUTOR LIBRAS JF - UP · ARTICLE According to data of Censo 2000 of Statistics and Geography Brazilian Institute (IBGE, 2000), 14,5% of Brazilian people has some kind of deficiency

41

conversa em LIBRAS. A solução para este problema, é a implementação de um buffer,

configurado para armazenar os dados lidos em paralelo com a interpretação feita pelo software.

Page 42: TRADUTOR LIBRAS JF - UP · ARTICLE According to data of Censo 2000 of Statistics and Geography Brazilian Institute (IBGE, 2000), 14,5% of Brazilian people has some kind of deficiency

42

6 - REFERÊNCIAS BIBLIOGRÁFICAS

IBGE. Instituto Brasileiro de Geografia e Estatística. Disponível em: http://www.ibge.gov.br/home/, acessado em 15 de Outubro de 2011. PEREIRA, A. V. Barbosa. LIBRAS: Uma explicação para todos. Porto Alegre: [s.n.], 2002. GABARDO, Thiago. Reconhecimento computacional da língua brasileira de sinais. Curitiba - Universidade Positivo, 2005. ARAÚJO, Ana Paula de. Estudo de caso: Comunicação entre surdos usando a LIBRAS. Aracaju: [s.n.], 2010. MARQUES, J. Salvador. Reconhecimento de Padrões. São Paulo: Editora Wook, 2005. 5DT. Manual Luva 5DT Ultraseries. Disponível em: http://www.5dt.com/downloads/dataglove/ultra/ 5DT%20Data%20Glove%20Ultra%20-%20Manual.pdf, acessado em 17 de Outubro de 2011. PRADA, Rodrigo. Acelerômetro: O instrumento de interação do controle do Nintendo Wii. Campinas: [s.n.], 2009.

SPARKFUN. Datasheet do acelerômetro MMA7260Q Breakout Board. USA: MICROCHIP, 2001. SILVA, Renato A. Programando Microcontroladores PIC: Programação em Linguagem C. São Paulo:Editora Ensino Profissional, 2007