Centro Universitário Positivo - UnicenP
Núcleo de Ciências Exatas e Tecnológicas – NCET
Engenharia da Computação
Tiago Machado Gabardo
Reconhecimento Computacional da Língua Brasileira
de Sinais
Curitiba
2005
Centro Universitário Positivo - UnicenP
Núcleo de Ciências Exatas e Tecnológicas – NCET
Engenharia da Computação
Tiago Machado Gabardo
Reconhecimento Computacional da Língua Brasileira
de Sinais
Monografia apresentada à disciplina de
Projeto Final, como requisito parcial à
conclusão do Curso de Engenharia da
Computação. Orientador: Prof. José
Carlos da Cunha.
Curitiba
2005
TERMO DE APROVAÇÃO
Tiago Machado Gabardo
Reconhecimento Computacional da Língua Brasileira de Sinais
Monografia aprovada como requisito parcial à conclusão do curso de Engenharia
da Computação do Centro Universitário Positivo, pela seguinte banca examinadora:
Prof. José Carlos da Cunha
Prof. Edson Pedro Ferlin
Prof. Valfredo Pilla Jr.
Curitiba, 01 de janeiro de 2006.
AGRADECIMENTOS
Este trabalho não seria possível sem a ajuda direta ou indireta de algumas
pessoas a quem sinto a obrigação de agradecer.
Aos amigos do laboratório Alto Desempenho que muito contribuíram para a
elevação do meu conhecimento técnico durante a execução dos projetos.
Aos meus amigos, especialmente Gilberto e Rafael, por terem entendido a minha
ausência devido a este trabalho e a compromissos da graduação. Também pelos
momentos de alegria e descontração que serviram como um apoio para mim.
Ao meu orientador e amigo, professor Cunha, por ter dado a idéia e confiado este
projeto a mim. Também pela confiança na execução do mesmo e, por todas as
oportunidades de crescimento pessoal e profissional que me proporcionou com a
sugestão de projetos durante o curso.
Para minha irmã, Renata, que sempre ficou feliz pelas minha conquistas.
Para minha avó Rosa e tias Doroti, Tereza e Nelsi que tiveram um papel
fundamental na minha infância. Especialmente às minhas tias Nelvi e Cida, por terem,
desde a minha infância, participado ativamente da minha educação e vida escolar.
Também por me acolherem em Curitiba. Obrigado pela constante prontidão em ajudar
e por me tratarem como um verdadeiro filho.
Aos meus pais, Renato e Lidia, por nunca terem medido esforços para me
oferecer uma vida melhor e mais rica em oportunidades do que a que tiveram.
Obrigado por terem me ensinado o valor do esforço em tudo que faço e por nunca
terem permitido que eu desistisse de algo por causa das dificuldades encontradas. Não
consigo expressar a minha admiração e gratidão por todo o esforço que vocês tiveram
durante a minha educação e por terem devotado a mim grande parte de suas vidas
sem almejar nenhum retorno. Não conseguimos definir o amor em palavras, mas tenho
certeza que dele faz parte essa doação incondicional.
Finalmente, agradeço a Deus por ter me oferecido oportunidades que somente
pessoas privilegiadas têm. Entre elas, a chance de receber uma educação de primeira
linha e de nascer em meio a pessoas tão maravilhosas como as citadas acima.
SUMÁRIO
LISTA DE FIGURAS ....................................................................................................................III
LISTA DE TABELAS...................................................................................................................IV
LISTA DE EQUAÇÕES .............................................................................................................. V
LISTA DE SIGLAS.......................................................................................................................VI
LISTA DE SIGLAS.......................................................................................................................VI
LISTA DE SÍMBOLOS ...............................................................................................................VII
RESUMO ....................................................................................................................................VIII
ABSTRACT...................................................................................................................................IX
1
INTRODUÇÃO......................................................................................................................1
2
DESCRIÇÃO DO PROJETO..............................................................................................2
3
REVISÃO BIBLIOGRÁFIC A ...............................................................................................2
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
4
LÍNGUAS DE SINAIS ..................................................................................................2
RECONHECIMENTO COMPUTACIONAL DE GESTOS ......................................3
MEDIDAS DE TENDÊNCIA CENTRAL ....................................................................4
MEDIDAS DE VARIAÇÃO ..........................................................................................5
DISTRIBUIÇÃO NORMAL ..........................................................................................5
TEOREMA CENTRAL DO L IMITE ............................................................................5
ACELERÔMETROS – TEORIA DE OPERAÇÃO...................................................6
SENSORES DE CURVATURA ..................................................................................7
ESPECIFICAÇÃO TÉCNICA..............................................................................................8
4.1
ESPECIFICAÇÃO DO HARDWARE .........................................................................8
4.1.1
Acelerômetro – ADXL203 ...................................................................................8
4.1.2
Sensor de Curvatura – Flex Sensor ................................................................10
4.1.3
Microcontrolador.................................................................................................11
4.1.4
Transmissão de dados ......................................................................................12
4.1.5
Instalação dos sensores na luva......................................................................12
4.2
ESPECIFICAÇÃO DO SOFTWARE........................................................................13
5
VALIDAÇÃO DO PROJETO .............................................................................................15
6
CRONOGRAMA DO PROJETO ......................................................................................16
7
ESTUDO DE VIABILIDADE ECONÔMICA ....................................................................18
8
PROJETO DE HARDWARE .............................................................................................19
8.1
8.2
8.3
8.4
8.5
8.6
8.7
8.8
8.9
SENSORES DE CURVATURA ................................................................................19
ACELERÔMETRO .....................................................................................................19
BUFFER DE TENSÃO...............................................................................................20
MICROCONTROLADOR ..........................................................................................20
TRANSMISSÃO SERIAL ..........................................................................................20
TRANSMISSÃO USB ................................................................................................20
BUFFER DE COMUNICAÇÃO.................................................................................21
CIRCUITO DE ALIMENTAÇÃO...............................................................................21
SINAIS DE CONEXÃO..............................................................................................21
i
9
PROJETO DE SOFTWARE..............................................................................................23
9.1
FIRMWARE .................................................................................................................23
9.1.1
Fluxograma..........................................................................................................23
9.1.2
Diagrama de Estados ........................................................................................24
9.2
SOFTWARE DE CADASTRO ..................................................................................25
9.3
SOFTWARE DE ANÁLISE........................................................................................25
9.3.1
Análise Estatística ..............................................................................................25
9.4
DIAGRAMAS DE CASOS DE USO.........................................................................27
9.5
DIAGRAMA DE CLASSES .......................................................................................27
9.6
DIAGRAMAS DE SEQÜÊNC IA DO SOFTWARE DE CADASTRO...................30
9.7
DIAGRAMAS DE SEQÜÊNC IA DO SOFTWARE DE RECONHECIMENTO ..34
9.8
MODELO ENTIDADE RELACIONAMENTO .........................................................36
9.9
DICIONÁRIO DE DADOS .........................................................................................36
9.10 PROTÓTIPOS DE TELA...........................................................................................37
10
RESULTADOS ................................................................................................................37
11
CONCLUSÃO..................................................................................................................40
12
REFERÊNCIAS BIBLIOGRÁFICAS............................................................................42
13
ANEXOS ..........................................................................................................................43
13.1
A.1 DIAGRAMA ESQUEMÁTICO DOS SENSORES E INTERFACEAMENTO
44
13.2 A.2 DIAGRAMA ESQUEMÁTICO DA INTERFACE DE COMUNICAÇÃO.......45
13.3 A.3 DIAGRAMA ESQUEMÁTICO DO MICROCONTROLADOR .......................46
13.4 A.4 PROJETO DA PLACA DE CIRCUITO IMPRESSO – CAMADA TOP ........47
13.5 A. 5 PROJETO DA PLACA DE CIRCUITO IMPRESSO – CAMADA BOTTOM
48
13.6 A.6 MANUAL TÉCNICO............................................................................................49
13.7 A.7 MANUAL DO USUÁRIO.....................................................................................67
13.8 A.8 ARTIGO CIENTÍFIC O.........................................................................................84
13.9 A.9 FOTO 1 DO PROTÓTIPO DA LUVA ...............................................................90
13.10 A.10 FOTO 2 DO PROTÓTIPO DA LUVA .........................................................91
14
GLOSSÁRIO ...................................................................................................................92
ii
LISTA DE FIGURAS
Figura 1 - Visão geral do sistema ..............................................................................................2
Figura 2 - Sistema massa-mola .................................................................................................7
Figura 3 - Alfabeto da LIBRAS ...................................................................................................8
Figura 4 - Circuito interno do ADXL203....................................................................................9
Figura 5 - Encapsulamento do acelerômetro .........................................................................10
Figura 6 - Dimensões do Flex Sensor.....................................................................................11
Figura 7 - Microcontrolador MSC1211Y5 ...............................................................................12
Figura 8 - Sensores posicionados no dorso da luva .............................................................13
Figura 9 – Diagrama em blocos do software .........................................................................14
Figura 10 - Fluxograma do Firmware ......................................................................................24
Figura 11 - Diagrama de estados do Firmware .....................................................................24
Figura 12 - Gráfico de Distribuição dos Valores do Polegar para a Letra A .....................26
Figura 13 - Diagrama de Casos de Uso do Software de Cadastro ....................................27
Figura 14 - Diagrama de Casos de Uso do Software de Reconhecimento ......................27
Figura 15 - Diagrama de Classes do Software de Cadastro...............................................28
Figura 16 - Diagrama de Classes do Software de Reconhecimento .................................29
Figura 17 - Seqüência de Início do Software de Cadastro ..................................................30
Figura 18 - Seqüência de Inclusão Software de Cadastro ..................................................31
Figura 19 - Seqüência de Alteração Software de Cadastro ................................................32
Figura 20 - Sequência de Exclusão Software de Cadastro.................................................33
Figura 21 - Seqüência de Exibição dos Sensores Software de Reconhecimento...........34
Figura 22 - Seqüência Análise dos Dados Software de Reconhecimento .......................35
Figura 23 - MER..........................................................................................................................36
Figura 24 – Tela de Cadastro ...................................................................................................37
Figura 25 - Tela Principal ..........................................................................................................37
iii
LISTA DE TABELAS
Tabela 1 - Estudo de Viabilidade Econômica ........................................................................18
Tabela 2 - Sinais do Anexo A.1 (Sensores e Interfaceamento).........................................22
Tabela 3 - Sinais do Anexo A.2 (Transmissão de dados) ...................................................22
Tabela 4 - Sinais do Anexo A.3 (Microncontrolador) ............................................................22
Tabela 5 - Dicionário de Dados................................................................................................36
Tabela 6 - Resultados do Reconhecimento ...........................................................................39
iv
LISTA DE EQUAÇÕES
Equação 1 - Média Aritmética ....................................................................................................4
Equação 2 - Desvio Padrão ........................................................................................................5
Equação 3 - Equação de Hooke ................................................................................................6
Equação 4 - Segunda Lei de Newton .......................................................................................6
Equação 5 - Relação das equações de Hooke e Newton.....................................................6
v
LISTA DE SIGLAS
ADC - Analog Digital Converter.
AC - Corrente Alternada.
DC - Corrente Contínua.
IBGE - Instituto Brasileiro de Geografia e Estatística.
LIBRAS - Língua Brasileira de Sinais.
MEMS - Micro Electro Mechanical System.
RAM - Random Access Memory.
USB - Universal Serial Bus.
vi
LISTA DE SÍMBOLOS
B - Bytes.
g - Força da gravidade.
Hz - Hertz.
K - Kilo.
µ - Micro.
n - Nano.
O - Ohm.
V - Volts.
M - Mega.
vii
RESUMO
Este trabalho descreve o desenvolvimento de um equipamento composto por
uma luva equipada com sensores, interligada a um microcomputador do tipo PC, onde
é executado um programa de reconhecimento da posição da mão do usuário. Este
software é especializado no reconhecimento do alfabeto da Língua Brasileira de Sinais
e pode ser usado como auxílio no aprendizado da LIBRAS e do Português por
deficientes auditivos, bem como por não deficientes que queiram aprender este idioma
de sinais.
A leitura da posição da mão é feita com dois tipos de sensores: sensores de
curvatura e movimento. Os dados destes sensores são transformados para forma
digital e enviados para o computador através de um microcontrolador. Para análise dos
dados no PC são usadas ferramentas estatísticas.
Com este método, conseguiu-se um reconhecimento correto de 85% de todo
o banco de dados.
viii
ABSTRACT
This document shows the development of an equipment composed by a
glove equipped with sensors, that is connected to a computer where a software will
recognize the user’s position hand. This software is specialized in recognizing the
Brazilian Sign Language’s alphabet and could be used to help teaching the Brazilian
Sign Language and Portuguese to deaf people, and others that are interested in this
sign language.
The hand’s position is measured using two types of sensors: movement and
bend sensors. The data of the sensors are passed to digital form and sent to computer
by a microcontroler. Statistics tools are used to analise these data in the computer.
Using this method, it was reached 85% of correct recognition considering the
whole data bank.
ix
1
1 INTRODUÇÃO
Segundo dados do IBGE [1], aproximadamente 3,37% (5.7350.99 pessoas)
da população brasileira é composta por pessoas portadoras de algum tipo de
deficiência auditiva. Como pertencem a um grupo relativamente pequeno da
população, a maioria dos deficientes auditivos se encontra à margem da sociedade. Os
problemas de comunicação causados pela deficiência auditiva dificultam seriamente a
socialização do indivíduo, já que a comunicação é um fator importantíssimo em áreas
que demandam alto grau de interação social como, por exemplo, educação e mercado
de trabalho.
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 de letras, palavras e expressões complexas através de sinais corpóreos.
Os sinais geralmente englobam expressões faciais e gestos com braços e mãos.
É possível que um surdo desenvolva a habilidade para se comunicar através
da fala, mas há consenso entre os especialistas [2] de que o aprendizado de LIBRAS é
uma forma mais natural de comunicação de uma pessoa deficiente auditiva, que ajuda
a desenvolver a habilidade espacial do cérebro sendo possível estabelecer uma
relação direta entre o mundo real e sua representação na linguagem de símbolos, o
que não ocorre com a fala, já que não existe o feedback auditivo.
Outra grande dificuldade lingüística que as pessoas surdas apresentam é em
relação ao aprendizado do português escrito. Pensa-se, freqüentemente, que uma
pessoa surda, por não apresentar nenhum problema relacionado à visão, não possui
dificuldade alguma em produzir ou compreender um texto escrito. Entretanto é fato
conhecido que nas instituições educacionais brasileiras, as dificuldades dos alunos
surdos na aquisição da escrita é enorme, sendo a Língua Portuguesa um desafio para
eles e seus professores.
No caso do surdo brasileiro, o problema que se coloca é o seguinte: pelo fato
de ser surdo, ele não adquire a língua oral, ou seja, o português falado de forma
espontânea e, assim, seu desempenho nessa modalidade da língua portuguesa é, em
geral, extremamente precário. Como as metodologias de ensino e aprendizagem da
2
escrita no Brasil fazem apelo, na maioria dos casos, ao aspecto fônico do idioma
para ensinar as letras do alfabeto gráfico e, as palavras geralmente são apresentadas
descontextualizadas e sem ênfase no significado, o desempenho do surdo em
português escrito, que poderia ser excelente, acaba sendo precário ou quase nulo [2].
Argumenta-se que o português escrito pode ser plenamente adquirido pelo
surdo se a metodologia recorrer, principalmente, a estratégias visuais, essencialmente
à LIBRAS, não se enfatizando a relação letra-som, e se essas estratégias forem
similares àquelas utilizadas no ensino do segundo idioma ou língua estrangeira.
Com base nos argumentos apresentados acima e aliados ao fato de que a
LIBRAS fornece todo o aparato lingüístico-cognitivo necessário à utilização de
estratégias de interpretação e produção de textos escritos, propõe-se com este projeto,
desenvolver um tipo de interface homem-máquina constituída por uma luva sensoreada
e um software inteligente (operado em um computador) capazes de reconhecer as
letras do alfabeto da LIBRAS feitos por um usuário. Espera-se que este sistema possa
auxiliar deficientes auditivos na aprendizagem da língua portuguesa escrita e, também,
pessoas ouvintes no aprendizado de LIBRAS. Futuramente, caso o projeto se mostre
viável, existe a possibilidade de incrementar o hardware e software do projeto para que
seja possível o reconhecimento de gestos mais complexos que representem palavras e
expressões da Língua Brasileira de Sinais.
3
2 DESCRIÇÃO DO PROJETO
A meta do projeto é produzir uma luva equipada com sensores resistivos de
curvatura e acelerômetros, para que seja possível mapear a posição da mão de um
usuário e enviar estes dados para um software que capaz de reconhecer os dados
como sinais do alfabeto da LIBRAS. Os parâmetros avaliados são a curvatura dos
dedos e sua relação entre si, bem como a posição da mão do usuário em relação ao
solo. Os sensores são instalados na luva com ajuda de velcros costurados na mesma e
nos sensores.
Os sensores são lidos por um microcontrolador e estes dados enviados ao
computador para que seja possível a análise dos mesmos. No computador, podem ser
aplicados métodos estatísticos e/ou de inteligência artificial para identificação da
posição relativa dos dedos e da mão e, conseqüentemente, o reconhecimento de um
possível sinal do alfabeto da LIBRAS. Até o presente momento somente métodos
estatísticos são usados para reconhecimento.
Pode-se ter uma visão geral do sistema na figura 1.
Figura 1 - Visão geral do sistema
4
3 REVISÃO BIBLIOGRÁFICA
3.1
Línguas de Sinais
As línguas de sinais apresentam-se numa modalidade diferente das línguas
orais-auditivas; são línguas espaço-visuais, ou seja, a realização dessas línguas não é
estabelecida através do canal oral-auditivo, mas através da visão e da utilização do
espaço. A diferença na modalidade determina o uso de mecanismos sintáticos
específicos diferentes dos utilizados nas línguas orais. As línguas de sinais são
sistemas lingüísticos independentes dos sistemas das línguas orais e não são
universais.
Pesquisas sobre idiomas de sinais vêm mostrando que estes são
comparáveis em complexidade e expressividade a quaisquer idiomas orais. Estas
línguas expressam idéias sutis, complexas e abstratas, permitindo que seus usuários
discutam sobre diversos assuntos como filosofia, literatura ou política, além de
esportes, trabalho, moda e a utilizem com funções estéticas para fazer poesias,
estórias, teatro e humor [3].
As línguas de sinais são naturais porque, assim como as línguas orais,
surgiram espontaneamente da interação entre pessoas e porque devido à sua estrutura
permitem a expressão de qualquer conceito - descritivo, emotivo, racional, literal,
metafórico, concreto, abstrato - enfim, permitem a expressão de qualquer significado
decorrente da necessidade comunicativa e expressiva do ser humano.
Por isso são complexas, porque são dotadas de todos os mecanismos
necessários aos objetivos mencionados, porém, econômicas e “lógicas” porque servem
para atingir todos esses objetivos de forma rápida e eficiente e até certo ponto de forma
automática. Isto porque, tratando-se muitas vezes de significados que demandam
operações complexas que devem ser transmitidas prontamente diante de diferentes
situações e contextos, seus usuários terão que utilizar os mecanismos estruturais que
elas oferecem de forma apropriada sem ter que pensar e elaborar longamente sobre
como atingir seus objetivos lingüísticos.
Como as línguas de sinais utilizam-se de um meio ou canal visual-espacial e
não oral auditivo, muitas vezes apresentam formas icônicas, isto é, formas lingüísticas
5
que tentam copiar o referente real em suas características visuais. Esta iconicidade
mais evidente nas estruturas das línguas de sinais do que nas orais deve-se ao fato de
que o espaço parece ser mais concreto e palpável do que o tempo, dimensão utilizada
pelas línguas orais-auditivas quando constituem suas estruturas através de seqüências
sonoras que basicamente se transmitem temporalmente.
A
LIBRAS
é
natural e dinâmica como as línguas orais-auditivas,
apresentando regras finitas que podem ser usadas para criar um número infinito de
expressões e símbolos, de acordo com a necessidade de seus usuários. Considera-se
que a LIBRAS é ou deve ser a língua materna dos surdos não porque é a língua natural
dos surdos, mas sim porque, tendo os surdos bloqueios para a aquisição espontânea
de qualquer língua natural oral, eles sim é que só vão ter acesso a uma língua materna
que não seja veiculada através do canal oral-auditivo.
A LIBRAS é a língua que possibilita aos surdos o desenvolvimento de toda
capacidade lingüística nata de todo o ser humano [3].
3.2
Reconhecimento Computacional de gestos
Desde o surgimento dos primeiros computadores, existe um esforço para
tornar a comunicação homem-máquina cada vez mais natural para os usuários destes
equipamentos. Em todo histórico da Computação, buscou-se facilitar a operação dos
computadores por meio de ferramentas implementadas em software e hardware, de
forma a aumentar a produtividade do uso do computador. Assim, o objetivo principal é
que o usuário possa extrair a máxima capacidade do equipamento, preocupando-se o
mínimo com detalhes técnicos.
Evoluções nesta área da computação mostram-se desafiadoras porque
geralmente demandam que novas formas de interação sejam fáceis de ser assimiladas
pelo usuário final e, ao mesmo tempo, mantenham toda a flexibilidade de
funcionamento da máquina. Estes objetivos contrastantes geralmente fazem surgir
soluções
que
exigem
processamentos
complexos,
como
por
exemplo,
o
reconhecimento de imagens.
Na maior parte das pesquisas relacionadas a este fim, procura-se fazer o
reconhecimento do comportamento corporal do usuário. Como exemplo, podemos citar
sistemas que utilizam reconhecimento de imagens, reconhecimento de voz e posições
6
ou movimentos de partes do corpo humano. As áreas mais vistosas para
aplicações destas técnicas são a Realidade Virtual e Realidade Aumentada, porém, o
campo de aplicações é muito mais amplo.
Como a maioria destas novas interfaces procuram fazer uma análise do
comportamento do usuário em relação ao espaço e/ou tempo, surge a idéia e fazer o
reconhecimento computacional de gestos predeterminados. Desta forma, os idiomas de
sinais servem bem a esta abordagem porque são idiomas completos, com regras
muitas vezes complexas, porém, bem determinadas. Várias pesquisas que visam o
reconhecimento de linguagens de sinais já foram desenvolvidas e outras estão em
andamento. A maioria delas usa como ferramenta o reconhecimento de imagens;
outras usam algum tipo de equipamento ligado ao corpo do usuário. Logicamente, do
ponto de vista do usuário, o reconhecimento de gestos através de imagens é preferível
porque implica em um grau de liberdade muito maior aos movimentos corpóreos.
Porém, este tipo de técnica demanda um processamento computacional altamente
complexo porque deve extrair várias imagens em um pequeno intervalo de tempo e
também lidar com variações nas posições do corpo do usuário [4]. Outras técnicas
fazem uso de uma luva equipada com diversos sensores [5][6] para mapear a posição
da mão. Neste caso, o desafio é produzir uma luva que possa fornecer o maior número
possível
de
informações
sobre
o
posicionamento
da
mão,
comprometendo
minimamente a liberdade do usuário.
Para o reconhecimento de gestos ou linguagens de sinais é também
necessário um software capaz de obter as informações do hardware (câmeras e
sensores) e decidir se os dados representam um sinal válido e qual sinal eles
representam. Para isso, são usadas técnicas estatísticas e de inteligência artificial
como redes neurais. Outro componente fundamental para uma análise consistente dos
dados é um banco de dados com informações sobre os sinais que serão avaliados e
que seja estatisticamente válido. No caso específico da LIBRAS, existem esforços para
confecção de um banco de dados padrão para este fim [9]. É importante observar que
a construção de tal base de dados é uma tarefa complicada já que apresenta um
volume de dados grande devido às variações entre sinais executados por pessoas
diferentes.
O campo de pesquisas na área da interface homem-máquina oferece
grandes desafios e, ao mesmo tempo, um campo de aplicações enorme que vai desde
a operação remota de um dispositivo eletrônico até a aplicações em Engenharia da
Reabilitação e Lingüística, por exemplo.
7
3.3
Medidas de Tendência Central
A maioria dos conjuntos de dados apresenta uma diferente tendência de se
agrupar ou concentrar em torno de um ponto central (ou “meio” do conjunto). Assim
sendo, para um conjunto de dados, em particular, geralmente se torna possível
selecionar um valor típico ou representativo para descrever todo o conjunto. Tal valor
descritivo é uma medida de localização ou tendência central. Há diferentes definições
de medidas de tendência central como, por exemplo, média, mediana, moda, ponto
médio, etc [7].
A medida de tendência central relevante para este trabalho é a média
aritmética (ou simplesmente “média”), que é obtida somando-se todos os valores do
conjunto de dados e dividindo-se o total pelo número de itens envolvidos. Na
implementação do software de reconhecimento estatístico, a média desempenha uma
função crucial juntamente com uma medida da variação dos dados.
A média é obtida pela Equação 1, onde n é o tamanho da amostra e xi é a iésima observação da variável aleatória X.
Equação 1 - Média Aritmética
3.4
Medidas de Variação
As medidas de variação são de grande importância para a estatística porque
são ferramentas que fornecem meios para avaliação do comportamento dos dados. As
medidas de tendência central dão uma idéia sobre o conjunto de dados, mas não são
capazes de fornecer informações sobre como eles se distribuem. Usando-se alguma
medida de tendência central em conjunto com uma medida de variação pode-se extrair
este tipo de informação [8].
8
A medida de variação mais importante é o Desvio Padrão – que avalia
como os dados flutuam em torno da média. É uma medida de variação dos valores em
relação à média. Assim, números relativamente próximos uns dos outros têm baixo
desvio padrão, enquanto números mais dispersos têm maior valor de desvio padrão.
O desvio padrão ? pode ser calculado pela Equação 2, onde n é o tamanho
da amostra, x é o valor do dado corrente e X a média [7].
Equação 2 - Desvio Padrão
3.5
Distribuição Normal
A distribuição normal é especialmente importante na estatística porque
inúmeros fenômenos podem ser aproximados por meio dela e também porque oferece
base para a inferência estatística e processos de decisão que usam o teorema central
do limite [8]. A distribuição normal possui várias propriedades importantes: apresenta
gráfico em forma de sino, suas medidas de tendência central são todas idênticas e sua
dispersão média é igual a 1,33 desvio padrão [7].
Muitos conjuntos de dados apresentam uma distribuição normal ou, pelo
menos, podem ter seus valores aproximados por uma distribuição normal. Assim,
usando os conceitos de média e desvio padrão em uma distribuição normal, pode-se
criar um sistema de decisão que leve em conta a probabilidade de um determinado
dado pertencer a um conjunto específico de valores.
Como esta é uma distribuição muito usada, foram criados tabelas e métodos
para facilitar o cálculo de probabilidade.
9
3.6
Teorema Central do Limite
O teorema central do limite é outro tópico importantíssimo no estudo da
estatística. Este teorema explica que à medida que o tamanho de uma amostra de
dados aumenta, a distribuição amostral das médias amostrais tende para uma
distribuição normal. Em outras palavras, se extraímos amostras de mesmo tamanho da
mesma população, calculamos suas médias e construímos um histograma dessas
médias, esse histograma tende para a forma de um sino de uma distribuição normal e a
média das médias amostrais será a média populacional. E isto é verdade
independentemente da forma de distribuição da população original [7].
3.7
Acelerômetros – Teoria de Operação.
Um acelerômetro é um transdutor que converte uma aceleração aplicada
sobre ele em uma grandeza elétrica.
O princípio básico de funcionamento dos acelerômetros é a lei de Hooke, que
diz que o deslocamento de uma mola é proporcional à força aplicada na mesma.
Podemos formalizar esta definição usando a equação de Hooke, onde L é o
deslocamento e K uma constante inerente à mola (Equação 3).
Equação 3 - Equação de Hooke
Outro princípio físico envolvido é a Segunda Lei de Newton, que relaciona
força com massa e aceleração através da Equação 4.
Equação 4 - Segunda Lei de Newton
10
Igualando as equações 1 e 2 obtém-se a Equação 5.
Equação 5 - Relação das equações de Hooke e Newton
Desta maneira, o problema de medir a aceleração, torna-se um problema de
medir o deslocamento de uma massa conhecida.
Os acelerômetros existentes no mercado fazem uso de um sistema de
“massa e mola” diminuto fabricado com a tecnologia de micromáquinas de superfície
(ou MEMS - Micro Electro Mechanical System). Esta tecnologia permite a fabricação de
dispositivos eletromecânicos de dimensões microscópicas [10]. A figura 2 exemplifica o
princípio de funcionamento do acelerômetro. Nela pode-se identificar a massa que
deve ser considerada nos cálculos da aceleração e, as placas capacitivas fixas e
móvel.
Quando o dispositivo é sujeito à aceleração, a distância entre as placas
capacitivas muda. Como a massa do braço móvel é conhecida, o deslocamento pode
ser medido verificando-se a capacitância entre as placas. Como mostrado na equação
5, conhecendo-se o deslocamento do braço móvel, é possível calcular a aceleração
sofrida.
Existem acelerômetros de diversos tamanhos e diversas faixas de força e
aceleração. Para uma noção mais intuitiva de aceleração, os fabricantes especificam a
faixa de operação e resistência de seus acelerômetros em “g” (força da gravidade
terrestre - aproximadamente 9,8 m/s2).
Figura 2 - Sistema massa -mola
11
3.8
Sensores de curvatura
Sensores de curvatura são sensores especializados na mensuração do
ângulo de deslocamento de algum objeto em relação a outro. Existem vários tipos de
sensores de curvatura [6]: indutivos, mecânicos, ópticos e resistivos. Sensores
resistivos podem usar como materiais principais, borrachas condutivas ou um tipo
especial de tinta condutiva. Estes sensores têm uma resistência elétrica determinada
que se modifica linearmente (dentro de um limite especificado pelo fabricante)
conforme é curvado.
Os sensores de curvatura mais comuns e baratos são os sensores resistivos
e por este motivo serão usados neste trabalho.
12
4 ESPECIFICAÇÃO TÉCNICA
O sistema proposto deve reconhecer as letras do alfabeto da LIBRAS e ter
um acerto de aproximadamente 70%. O reconhecimento abrange somente as letras de
“a” até “z” do alfabeto datilológico mostradas na figura 3. O sistema não faz o
reconhecimento que qualquer outro caracter ou sinal.
4.1
Especificação do Hardware
O hardware envolvido no projeto é composto principalmente por dois tipos de
sensores e um microcontrolador com conversor analógico digital embutido.
Os sensores utilizados incluem um acelerômetro com dois eixos que será
usado para análise da inclinação da mão do usuário bem como seu movimento
horizontal e, um sensor resistivo que indica a curvatura de cada dedo da mão. O
microcontrolador é usado para aquisição e envio dos dados provenientes dos sensores
para o computador.
Figura 3 - Alfabeto da LIBRAS
13
4.1.1 Acelerômetro – ADXL203
O acelerômetro utilizado neste projeto foi o ADXL203 fabricado pela Analog
Devices [11]. As principais características deste dispositivo são listadas abaixo:
?? Dois eixos de operação.
?? Sensibilidade de 1V/g.
?? Resolução de 1mg.
?? Freqüência de operação selecionável por capacitor externo.
?? Faixa de operação de ±1,7g.
?? Resposta é um sinal analógico.
?? Circuito interno de condicionamento do sinal.
?? Encapsulamento de tamanho reduzido.
Um dos eixos do acelerômetro é usado para medir a posição da mão do
usuário da luva em relação ao solo e outro eixo para identifcar os padrões de
movimento de algumas letras; portanto, a aceleração aplicada sobre ele será a força da
gravidade e a aceleração de movimentos da mão que não deverão ser grandes. Isso
permite que um acelerômetro com uma faixa de operação restrita (±1,7g) seja usado.
O ADXL203 possui ainda um circuito interno para o condicionamento do sinal
proveniente das placas capacitivas mostradas na figura 4.
Figura 4 - Circuito interno do ADXL203
14
Analisando o circuito percebemos que as placas fixas são polarizadas
com ondas quadradas em antifase, de modo que a cada ciclo a corrente que percorre o
capacitor muda de sentido. A excitação tem freqüência de 100KHz e é de grande
amplitude, o que resulta em baixa sensibilidade a ruído proveniente de dispositivos
eletrônicos.
Se a massa estiver centralizada, ambos os lados do capacitor diferencial têm
capacitâncias iguais, e a tensão CA na massa é zero. No entanto, se a massa não está
centralizada devido a uma aceleração, o capacitor diferencial torna-se desbalanceado.
A forma de onda da massa é uma onda quadrada cuja amplitude é proporcional ao
deslocamento e, portanto, à aceleração. A fase da tensão da massa em relação à
excitação determina a polaridade da aceleração.
A saída da massa é conectada a um amplificador não inversor, que amplifica
o sinal de saída de 100KHz.
A saída é demodulada em um demodulador síncrono que amostra a saída do
amplificador, uma vez que a tensão neste esteja estabilizada. Uma vez que o
demodulador é sincronizado em fase com a excitação, a polaridade do sinal de saída
indica corretamente a polaridade da aceleração aplicada.
Este acelerômetro possui também um pino de autoteste. Quando este pino é
ativado, um sinal conhecido é aplicado ao sensor, criando um campo elétrico que força
um deslocamento do braço móvel. Isto gera um sinal conhecido na saída, que pode ser
monitorado permitindo verificar se o sinal na saída é o esperado, testando desta forma
a integridade do acelerômetro. A figura 5 apresenta as dimensões do acelerômetro
utilizado (em milímetros).
Figura 5 - Encapsulamento do acelerômetro
15
4.1.2 Sensor de Curvatura – Flex Sensor
Para mapear a posição dos dedos da mão, foram usados sensores de
curvatura fabricados com um tipo de tinta condutiva alocada sobre um substrato
flexível. Eles foram instalados no dorso de cada dedo da mão.
Quando o sensor não está flexionado, apresenta uma resistência de
aproximadamente 80K? . À medida que se flexiona o sensor, a resistência aumenta
para aproximadamente 300 K? em 180º de curvatura.
Este tipo de sensor é produzido pela empresa Spectra Symbol [12] e seu
nome comercial é Flex Sensor. Suas dimensões são explicitadas na figura 6.
Figura 6 - Dimensões do Flex Sensor
16
4.1.3 Microcontrolador
O microcontrolador é o elemento responsável pela aquisição e tratamento
dos dados provenientes dos sensores. Ele também faz a comunicação com o
computador através de uma interface serial.
Para que o microcontrolador possa manipular os dados dos sensores, é
necessário que estes estejam no formato digital. Para tanto, é usado um conversor
analógico-digital.
Com vista na racionalização do espaço necessário para montagem do
hardware, optou-se pela utilização de um microcontrolador com conversor A/D
embutido. Este microcontrolador é o MSC1211Y5 fabricado pela Texas Instruments
[13]. As principais características do dispositivo são listadas abaixo:
?? Núcleo da família 8051.
?? Memória flash de 32 KB interna ao chip.
?? Memória flash configurável entre memória de dados e programa.
?? Conversor A/D com oito entradas multiplexadas.
?? Conversor A/D de até 24 bits (limitados pela taxa de conversão).
?? Conversor A/D com calibração automática de offset e ganho.
?? Buffer interno.
?? Sensor de temperatura interno.
?? Gerador de tensão de referência interno com precisão de 2%.
?? Porta serial padrão RS232.
?? Tensão de alimentação de 2,7V até 5,25V.
?? Programação serial ou paralela.
Um diagrama em blocos da estrutura interna do MSC1211Y5 é mostrado na figura 7.
17
Figura 7 - Microcontrolador MSC1211Y5
4.1.4 Transmissão de dados
A transmissão de dados do hardware para o microcomputador se dá pela
interface serial ou USB, dependendo unicamente da seleção do usuário.
Para transmissões feitas pela porta USB é usado o dispositivo TUSB3410
fabricado pela Texas Instruments que faz a conversão de uma transmissão serial para
USB. O fabricante fornece junto com este dispositivo, um driver para ser instalado no
computador. Este driver permite que a porta USB, à qual está ligado o TUSB3410, seja
tratada como um simples porta serial.
Com o uso deste componente, é possível disponibilizar uma interface USB
para o usuário, sem as complicações de um tratamento especial por software e
hardware da interface USB.
4.1.5 Instalação dos sensores na luva
O primeiro protótipo da luva foi confeccionado de lycra para melhor
adaptação à mão do usuário. Os sensores são anexados à luva com velcros para que
seja possível removê-los na lavagem da luva.
18
Um esquema do primeiro protótipo da luva é mostrado na figura 8.
Figura 8 - Sensores posicionados no dorso da luva
4.2
Especificação do software
O software deste projeto está divido em duas partes: firmware e programa de
análise. O firmware é responsável pela configuração do microcontrolador, operação do
conversor analógico digital e transmissão dos dados para o computador. O mesmo foi
desenvolvido em linguagem C usando o software ? Keil da empresa ? Vision [14]. (Para
carregar o código do programa no microcontrolador será usado o software TI
Downloader, fornecido gratuitamente pela Texas Instuments).
O software de análise tem a função de estabelecer a comunicação do
computador com o microcontrolador, usando a interface serial RS232 ou USB, manter
uma base de dados que contenha informações sobre a língua de sinais, analisar os
dados provenientes dos sensores e decidir se a configuração dos dedos da mão
representa algum sinal válido do alfabeto de LIBRAS. O software foi escrito na
linguagem C++, com a ferramenta C++ Builder 6.0 da Borland. O banco de dados é o
Paradox. A figura 9 é um diagrama em alto nível dos módulos do software.
19
O uso do software é simples. A interface com o usuário é de forma
gráfica não sendo necessários conhecimentos técnicos avançados para operá-lo. Um
usuário que saiba operar um computador não encontrará grandes problemas na
operação do software após um pequeno treinamento ou leitura do manual do sistema.
Figura 9 – Diagrama em blocos do software
20
5 VALIDAÇÃO DO PROJETO
O funcionamento do sistema foi avaliado em testes usando todos os valores
do banco de dados coletados dos usuários. Depois de implementada a classe de
reconhecimento e a geração de relatórios todos os valores do banco de dados foram
processados na classe de reconhecimento e os resultados anotados para posterior
geração do relatório.
O relatório exibe todas as entradas do banco de dados e o reconhecimento
feito pelo software para cada entrada. Como o banco de dados pode conter muitas
entradas, este esquema de representação pode se tornar insignificante. Por isso, no
final do arquivo é mostrada uma representação percentual dos resultados. São exibidos
o resultado total de erros e os erros individuais para cada letra. Assim é possível
verificar o funcionamento do sistema como um todo e as letras críticas para o
reconhecimento, podendo-se verificar quais posições da mão o sistema tem mais
dificuldade para identificar.
21
6 CRONOGRAMA DO PROJETO
Dezembro/04:
?? Pesquisas sobre LIBRAS e componentes de hardware.
?? Levantamento do alfabeto de sinais.
?? Conversa com especialistas em LIBRAS.
Janeiro/05:
?? Estudos sobre o funcionamento do microcontrolador.
?? Estudo da arquitetura interna.
?? Estudo do processo de gravação.
?? Confecção da placa de circuito impresso.
?? Montagem do circuito em proto-board.
Fevereiro/05:
?? Desenvolvimento de códigos de testes para o microcontrolador.
?? Desenvolvimento de códigos para operação do conversor A/D.
?? Desenvolvimento de códigos para operação da porta serial.
?? Programação de rotinas em C++ para leitura da porta serial do PC.
Março/05:
?? Testes com os sensores de curvatura e projeto da disposição dos sensores na
luva.
?? Desenvolvimento de um protocolo para comunicação entre microcontrolador e o
microcomputador.
Abril/05:
?? Aquisição da luva, instalação dos sensores e interligação do microcontrolador
com os sensores e o PC.
Maio/05:
?? Estudos de técnicas de software.
?? Estudar quais técnicas de software se adequam melhor ao reconhecimento dos
dados.
Junho/05:
?? Projeto do software.
?? Levantamento de requisitos.
?? Diagramas.
22
?? Documentação geral do software.
Julho/05:
?? Início da implementação do software e construção da base de dados.
Agosto/05:
?? Desenvolvimento do Software.
Setembro/05:
?? Realização dos testes.
?? Levantamento estatístico dos resultados obtidos.
Outubro/05:
?? Documentação das conclusões e resultados finais.
Novembro/05:
?? Elaboração do manual técnico e do usuário.
?? Elaboração do artigo científico.
?? Revisão da monografia.
23
7 ESTUDO DE VIABILIDADE ECONÔMICA
Tabela 1 - Estudo de Viabilidade Econômica
Componentes
Quantidade
Preço
Total (R$) *
MSC1211Y5
1
US$ 20,95
57,61
TLC084
2
US$ 1,05
5,77
ADXL203
1
US$ 12,00
33,00
Flex Sensor
7
US$ 10,00
192,50
Par de Luvas de Lycra
1
R$ 20,00
20,00
TUSB3410
1
US$ 2,50
6,87
Componentes eletrônicos (resistores,
x
R$ 30,00
30,00
Cabo USB
1
R$ 10,00
10,00
Cabo Serial
1
R$ 10,00
10,00
MAX232
1
US$ 0,50
1,37
UCC283-5
1
US$ 0,50
1,37
capacitores, cristais, fios, solda, etc).
* Dólar cotado em R$ 2,75
Obs: Não computado o custo da mão de obra.
368,49
24
8 PROJETO DE HARDWARE
O hardware envolvido no projeto tem a função de transformar os movimentos
feitos pela mão de um usuário em sinais elétricos que possam ser tratados, convertidos
para sinais digitais e enviados ao computador para análise do software.
Para um melhor entendimento do funcionamento desta parte do projeto,
divide-se a explicação do hardware em sensores, microcontrolador e transmissão de
dados. Os diagramas esquemáticos completos de cada parte estão em anexo, bem
como a lista de componentes usados Anexo A.4. O Anexo A.1 mostras as conexões
dos sensores; o Anexo A.2, as ligações do microcontrolador e a última folha, Anexo A.3
exibe as ligações dos drivers de comunicação.
8.1
Sensores de Curvatura
Após a instalação de todos os sensores de curvatura na luva, foram feitos
testes com cada um destes para levantar com precisão qual o valor de resistência
máxima e mínima que apresentavam de acordo com a flexão a que eram submetidos.
Verificou-se que em repouso (curvatura de 0º) os sensores tinham uma resistência de
aproximadamente 80K? ; quando totalmente curvados (mão completamente fechada),
apresentavam uma resistência por volta de 300K? .
A ligação dos sensores de curvatura foi feita por meio de um divisor de
tensão. Com esta configuração, os valores de tensão mínimos e máximos que atuarão
sobre os sensores de curvatura são de 1,023V e 2,5V, respectivamente. A variação de
tensão é diretamente proporcional ao valor da resistência do Flex Sensor.
8.2
Acelerômetro
Os eixos do acelerômetro apresentam internamente um resistor de 32K?
ligado a sua saída, permitindo que sejam implementados filtros passa baixa (com
valores de corte definido pelo projetista) apenas com a ligação de um capacitor
externo. Este filtro pode ser usado para limitar a banda de resposta do acelerômetro.
25
Para o eixo que será usado como inclinômetro a banda de resposta pode ser
reduzida porque a intenção é medir a posição da mão e reconhecer se esta se
encontra na posição correta para execução dos sinais. No caso específico das letras da
LIBRAS, o movimento vertical da mão não é usado com freqüência e não será repetido
por mais de uma vez a cada segundo. Para o eixo horizontal Y, é necessário uma
resposta mais precisa e rápida já que movimentos neste eixo são de grande
importância para o reconhecimento correto do sinal. Para algumas letras a
configuração da mão é idêntica, o único parâmetro variante é o movimento horizontal, o
que justifica uma maior banda passante.
8.3
Buffer de Tensão
Para ligar os sensores com o conversor analógico digital do microcontrolador
foi usado um buffer de tensão feito com um amplificador operacional unipolar (TLC084).
Este buffer foi usado apenas para garantir que as entradas do conversor analógico
digital não interferissem nas medidas de tensão sobre os sensores.
Os principais
parâmetros observados na escolha do amplificador foram: resposta em freqüência (10
MHz), alimentação unipolar, resistência de entrada (1 T? ), slew-rate (16 V/? s), corrente
elétrica máxima de saída (1,9 mA) e CMRR (110 dB).
8.4
Microcontrolador
No Anexo A.2, o esquema de ligação do microcontrolador MSC1211Y5 é
mostrado. Para cada pino de alimentação digital foi ligado um capacitor cerâmico de
100nF em paralelo com o pino. Estes capacitores foram usados para filtrar possíveis
variações na alimentação, o que poderia influenciar na execução do firmware ou até
mesmo danificar o dispositivo.
Este
microcontrolador
possui
dois
modos
de
operação:
modo
de
programação e modo de execução. A escolha entre estes dois modos é feita pelo
estado lógico aplicado aos pinos PSEN e ALE. Se forem aplicados nestes pinos nível
lógico baixo e alto respectivamente, após um reset o dispositivo entrará em modo de
programação e estará pronto para gravar o código de programa na memória flash.
26
Caso o nível lógico nestes pinos seja aberto, o dispositivo entrará em modo de
execução após o reset.
8.5
Transmissão Serial
Para transmissão serial dos dados entre o microcontrolador e o computador
é necessário adequar as tensões de trabalho entre ambos, já que a porta serial do
computador trabalha com tensões de +8V e -8V e o microcontrolador com 0V e 5V.
Para este fim foi usado o circuito integrado MAX232 da Texas Instruments.
8.6
Transmissão USB
Para transmissão dos dados via porta USB foi usado o conversor TUSB3410
da Texas Instruments. Este dispositivo é composto por um microcontrolador da família
8052 que é especializado na conversão de dados seriais para o padrão de
comunicação USB. Será usada a versão 1.1 da USB com velocidade de 1,5 Mb/s.
Como este circuito integrado opera com tensão de 3,3V e a alimentação foi
feita pelo próprio barramento USB (5V), foi usado o regulador UCC283-3 fabricado pela
Texas Instruments.
Quando conectado ao computador, o dispositivo é reconhecido como TI USB
e usa um driver específico fornecido pelo fabricante.
8.7
Buffer de Comunicação
Como foram usados dois padrões (serial e USB) para transmissão dos
dados, foi necessário isolar os dispositivos de conversão (MAX232 e TUSB3410) para
que a operação de um não interfira na operação do outro. Para isso foi usado o buffer
74LS244 em conjunto com dois transistores BC548 operando como portas inversoras.
Quando o circuito estiver ligado à porta USB do computador, a alimentação
de 5V do barramento USB estará ativa. Isso fará com que os transistores enviem os
27
sinais lógicos de controle adequados para o buffer, que ativará a parte da
comunicação USB e colocará as saídas realtivas ao MAX232 em tri-state. Quando não
houver alimentação de 5V do barramento USB, o buffer habilitará as suas saídas para
o driver MAX232, colocando as saídas relativas ao TUSB3410 em tri-state, liberando a
comunicação serial. Desse modo, a seleção da forma de comunicação do hardware
com o computador se dará de forma automática, liberando o usuário desta
responsabilidade.
8.8
Circuito de Alimentação
A alimentação de todo o hardware é feita através de uma fonte estabilizada
que forneça tensões contínuas entre 7V e 9V. Esta tensão é limitada em 5V pelo
regulador UCC283-5 da Texas Instruments. Este regulador foi escolhido porque
apresenta uma regulagem de alta precisão.
8.9
Sinais de Conexão
As tabelas 1, 2 e 3 apresentam uma descrição dos sinais que fazem a
interligação das diferentes folhas do diagrama esquemático. Os sinais que interligam
diferentes folhas têm o mesmo nome nas duas folhas.
28
Tabela 2 - Sinais do Anexo A.1 (Sensores e Interfaceamento)
Sinal
Tipo
Descrição
Ligado com
AIN0
Saída
Tensão dos sensores
Anexo 2
AIN1
Saída
Tensão dos sensores
Anexo 2
AIN2
Saída
Tensão dos sensores
Anexo 2
AIN3
Saída
Tensão dos sensores
Anexo 2
AIN4
Saída
Tensão dos sensores
Anexo 2
AIN5
Saída
Tensão dos sensores
Anexo 2
AIN6
Saída
Tensão dos sensores
Anexo 2
Tabela 3 - Sinais do Anexo A.2 (Transmissão de dados)
Sinal
Tipo
Descrição
Ligado com
RX_uC Saída
Dados de saída da Porta serial
Anexo 3
TX_uC Entrada
Dados de entrada da Porta
Anexo 3
Serial
Tabela 4 - Sinais do Anexo A.3 (Microncontrolador)
Sinal
Tipo
Descrição
Ligado com
AIN0
Entrada
Entrada do conversor A/D
Anexo 1
AIN1
Entrada
Entrada do conversor A/D
Anexo 1
AIN2
Entrada
Entrada do conversor A/D
Anexo 1
AIN3
Entrada
Entrada do conversor A/D
Anexo 1
AIN4
Entrada
Entrada do conversor A/D
Anexo 1
AIN5
Entrada
Entrada do conversor A/D
Anexo 1
AIN6
Entrada
Entrada do conversor A/D
Anexo 1
Dados de entrada da Porta
Anexo 2
RX_uC Entrada
serial
TX_uC
Saída
Dados de saída da Porta Serial
Anexo 2
29
9 PROJETO DE SOFTWARE
A parte de software deste projeto abrange o firmware, que faz a configuração
e operação do microcontrolador, o software de cadastro das letras e o software de
análise, que contém os algoritmos para reconhecimento dos sinais.
O software de cadastro das letras foi separado do software de análise devido
ao fato de que a operação de cadastros de letras e usuários pode comprometer todo o
banco de dados e, conseqüentemente, todo o reconhecimento do sistema. Desta
forma, a operação de cadastro deve ser supervisionada por uma pessoa que tenha um
maior conhecimento sobre o sistema e que também conheça a LIBRAS. Assim, podese disponibilizar o software de reconhecimento para usuários leigos e o software de
manipulação dos dados quando houver um conhecimento do sistema mais
aprofundado por parte do usuário.
9.1
Firmware
O programa que opera no microcontrolador inicia seu funcionamento
configurando todos os periféricos que serão usados. Primeiramente, é feita a
configuração da porta serial para uma velocidade de transmissão e recepção de
115200 bps. Após a configuração da porta serial, o conversor analógico digital é
configurado. A taxa de conversão é configurada para 200 Hz (o que permite dados com
uma largura de até 24 bits) e é escolhida a tensão de referência interna de 2,5V.
Geralmente, a tensão de referência interna é escolhida porque o MSC1211Y5 possui
um gerador de referência de alta precisão e estabilidade. Depois de configurado o
conversor analógico digital, é feita uma calibração automática do conversor para anular
as tensões de offset de entrada e escolher um ganho adequado para o amplificador
interno. Depois disso, a interrupção da porta serial é habilitada e o programa entra em
um laço infinito aguardando por um comando do computador.
Quando algum comando é recebido do computador, a tarefa requisitada é
executada e o programa coloca novamente o microcontrolador em espera por um novo
comando. O programa do microcontrolador está preparado para receber os seguintes
comandos: início de conversão dos dados dos sensores, envio de dados dos sensores,
30
e calibração do conversor A/D. Este último comando é necessário porque alguns
minutos depois do início da operação do microcontrolador a temperatura deste
dispositivo muda, fato que pode interferir na correta leitura dos sensores.
Nas próximas seções são apresentados o fluxograma do firmware e o seu
diagrama de estados.
9.1.1 Fluxograma
t – Transmissão, c – Conversão, a – Calibração.
Figura 10 - Fluxograma do Firmware
31
9.1.2 Diagrama de Estados
Figura 11 - Diagrama de estados do Firmware
9.2
Software de Cadastro
O software de cadastro tem a função principal de cadastrar usuários do
sistema e as informações sobre os caracteres do alfabeto da LIBRAS. Para o cadastro
dos caracteres o software estabelece automaticamente a comunicação com o hardware
e mostra os dados dos sensores em tempo real usando a interface gráfica. A letra que
deverá ser repetida pelo usuário da luva durante o cadastro aparece em uma foto no
meio da tela do programa. Quando o usuário tiver feito o sinal correto daquela letra, os
dados dos sensores são armazenados no banco de dados.
9.3
Software de Análise
O software de análise é executado em um computador e tem a função de
estabelecer a comunicação com o hardware, comandar o funcionamento do
microcontrolador, analisar os dados recebidos com base em um banco de dados que
contém informações sobre os caracteres da LIBRAS.
32
A conexão com o hardware é feita de forma automática. Quando receber
o comando do usuário para conectar-se ao hardware, o programa avaliará quais portas
seriais estão disponíveis para uso e tentará estabelecer comunicação com todas para
descobrir em qual delas está conectada a luva. Quando a comunicação for
estabelecida, a análise dos dados é iniciada.
Nas próximas seções são mostrados os diagramas dos principais módulos
do software.
9.3.1 Análise Estatística
A análise dos sinais é feita usando os dados individuais de cada usuário ou
os dados de todos os usuários do sistema.
No início da execução da análise, os dados serão lidos do banco de dados e
transferidos para a memória do computador. Estes dados são compostos pela média
dos valores dos sensores para cada letra do alfabeto e seu desvio padrão. Com as
informações da média e desvio padrão pode-se, com o teorema central do limite,
decidir se um dado sinal é um caracter válido da LIBRAS. O gráfico apresentado na
figura 12 pode auxiliar no entendimento deste processo. Este gráfico foi levantado com
valores reais do sistema e corresponde às medidas do dedo polegar para a letra “a”.
Pelo gráfico, podemos perceber que os dados estão dispostos em uma
distribuição normal de probabilidade. O eixo Y mostra os valores lidos do sensor
instalado sobre o polegar e o eixo X contém estes mesmos valores porém,
padronizados para que fosse possível usar as tabelas de cálculo da área sob a curva.
Foram usadas 30 amostras do sensor para que a disposição do gráfico fosse
visivelmente normal [7].
A média dos valores é de aproximadamente 1,64 e o desvio padrão 0,0387.
Um intervalo de dois desvios padrão foi criado para a área de decisão. Este intervalo é
delimitado pelas retas verticais de –0,9 e 0,9. Através destes valores padronizados e
das tabelas de cálculo de área, verifica-se que a área sob este intervalo corresponde a
63% da área total, ou seja, levando em consideração este conjunto de dados, podemos
afirmar que uma amostra selecionada aleatoriamente tem 63% de chance de estar
localizada dentro deste intervalo definido.
33
O algoritmo de reconhecimento usa este mesmo princípio para todas as
letras. Cada letra é formada por sete sinais diferentes que possuem seus respectivos
valores de média e desvio padrão. Para cada conjunto de dados (sete números
correspondentes a cada sensor) lidos da luva, é feita uma avaliação para verificar em
qual letra cada dedo se encaixa de acordo com sua posição.
Figura 12 - Gráfico de Distribuição dos Valores do Polegar para a Letra A
34
9.4
Diagramas de Casos de Uso
Figura 13 - Diagrama de Casos de Uso do Software de Cadastro
Figura 14 - Diagrama de Casos de Uso do Software de Reconhecimento
35
9.5
Diagrama de Classes
Figura 15 - Diagrama de Classes do Software de Cadastro
36
Figura 16 - Diagrama de Classes do Software de Reconhecimento
37
9.6
Diagramas de Seqüência do Software de Cadastro
Figura 17 - Seqüência de Início do Software de Cadastro
38
Figura 18 - Seqüência de Inclusão Software de Cadastro
39
Figura 19 - Seqüência de Alteração Software de Cadastro
40
Figura 20 - Sequência de Exclusão Software de Cadastro
41
9.7
Diagramas de seqüência do Software de Reconhecimento
Figura 21 - Seqüência de Exibição dos Sensores Software de Reconhecimento
42
Figura 22 - Seqüência Análise dos Dados Software de Reconhecimento
43
9.8
Modelo Entidade Relacionamento
Figura 23 - MER
9.9
Dicionário de Dados
Tabela 5 - Dicionário de Dados
Tabela
Campo
Tipo
Descrição
Usuário
Codigo
Auto Incremento
Chave Primária
Nome
String
Nome do usuário
Letra
Caracter
Chave Primária
M_Polegar
Real
Média da curvatura
Amostras
do dedo polegar
S_Polegar
Real
Desvio padrão da
curvatura o polegar
44
9.10 Protótipos de Tela
Figura 24 – Tela de Cadastro
Figura 25 - Tela Principal
45
10 RESULTADOS
A colocação dos sensores na luva foi feita de forma artesanal através de
velcros costurados na mesma e nos sensores. A luva apresentou um funcionamento
satisfatório apesar de sua fragilidade e problemas com desprendimento dos sensores
que geralmente não são percebidos de imediato pelo usuário e conseqüentemente
afetam o funcionamento do sistema.
Os sensores apresentaram um bom desempenho não tendo sido notados
qualquer alteração do funcionamento dos mesmos em relação ao uso e fadiga do
material.
O hardware se mostrou eficiente na leitura dos sensores e na transmissão
dos dados para o computador. O conversor analógico digital foi configurado para uma
taxa de amostragem de 200Hz e a transmissão serial ajustada para 115200 bps. Isto
possibilitou que fossem lidos oito vezes todos os sete sensores durante um segundo.
O software de reconhecimento usou como base a análise estatística, mais
especificamente os conceitos de média, desvio padrão, distribuição normal e o teorema
central do limite. Durante os testes verificou-se empiricamente que o reconhecimento
apresentava melhor desempenho quando o intervalo de decisão era aumentado
somando-se uma constante ao desvio padrão. Para os testes, todas as amostras de
letras presentes no banco de dados foram submetidas à classe de reconhecimento. No
total foram analisados 780 registros, ou seja, 30 amostras para cada uma das 26 letras.
Durante o teste foram anotados todas as entradas de dados na classe de
reconhecimento e o resultado indicado pela classe. A partir da comparação destes
dados foi gerado um relatório com os valores percentuais dos erros de reconhecimento.
Considerando o número total de erros para todo o banco de dados, obteve-se uma taxa
de acerto de 85%.
Os resultados total e de cada letra são mostrados na tabela 6.
46
Tabela 6 - Resultados do Reconhecimento
LETRA
A
B
C
D
E
F
G
H
I
J
K
L
M
ERRO (%)
3
0
10
6
6
10
3
6
10
16
0
13
6
LETRA
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
ERRO (%)
20
10
16
10
13
13
40
50
86
10
16
0
26
47
11 CONCLUSÃO
De acordo com a proposta de funcionamento apresentada, o sistema de
reconhecimento mostrou um desempenho superior ao esperado. Apesar de a
colocação dos sensores na luva ter sido feita de forma artesanal, esta se mostrou
estável a despeito da fadiga do material durante todo o desenvolvimento e teste do
projeto. Em relação ao conforto e grau de liberdade do usuário da luva verificou-se que
melhorias ainda devem ser feitas a fim aumentar o tempo de tolerância de uso da luva,
já que, os velcros podem machucar a mão do usuário (principalmente as articulações)
em um longo período de uso. Durante novos desenvolvimentos desse sistema é
possível que se chegue à conclusão que outras modificações precisem ser feitas na
luva ou na colocação dos sensores, porém, só será possível afirmar isto com o
desenvolvimento de novas técnicas de reconhecimento.
Analisando os erros do software, vemos que estes se concentram nas letras
mais semelhantes e principalmente nas letras que são diferenciadas apenas pela
abertura relativa dos dedos, sugerindo a melhoria do sistema de reconhecimento tanto
por hardware como por software.
Como novas técnicas de reconhecimento provavelmente exigirão a aquisição
de um grande conjunto de dados, fica claro que a confecção da luva deve ser
melhorada com o objetivo de deixá-la mais resistente ao esforço e conseqüentemente
mais confiável durante todo este processo. Também podem ser feitas melhorias em
relação ao aumento do número de sensores (tanto de curvatura como de movimentos)
com o objetivo de refinar o reconhecimento da posição da mão do usuário em relação
ao espaço e ao seu corpo.
O hardware de aquisição se mostrou eficaz tanto para conversão dos dados
de natureza analógica para digital como para a transmissão desses dados para o
computador, sendo provavelmente o módulo do sistema que menos sofrerá alterações
em possíveis melhorias que venham a ser desenvolvidas. Uma das melhorias que
poderá causar modificações no hardware é a adição de novos sensores na luva,
fazendo com que o microcontrolador tenha que ser trocado ou as entradas do seu
conversor analógico-digital multiplexadas devido ao fato de só existirem oito entradas
disponíveis. Dependendo do número de sensores e componentes adicionados será
também necessário fazer novos testes para aferição da velocidade do sistema de
48
aquisição para verificar se a alteração não compromete o desempenho do sistema
como um todo.
Em relação ao reconhecimento estatístico implementado em software foi
visto que este oferece um bom desempenho comparado ao esforço computacional e a
relativa facilidade de implementação. Apesar disso, ainda é um esquema muito simples
e pouco robusto para esta aplicação. Provavelmente, a estatística possa ser aplicada
com uma eficiência muito maior quando usada em conjunto com outros algoritmos que
usem redes neurais ou lógica fuzzy, por exemplo.
Outro problema detectado durante os testes do sistema foi a impossibilidade
de reconhecimento do momento da troca entre dois sinais. A troca de sinais é um
evento crítico para um reconhecimento mais refinado dos caracteres e também, devido
às variações produzidas nos sensores durante esses momentos, uma fonte de erros
para o software de reconhecimento. Tentou-se corrigir este problema regulando a
temporização de leitura dos sensores, porém o resultado foi insatisfatório. Ainda na
tentativa de verificar este evento no sistema, foi feita uma análise dos sinais dos
sensores no domínio da freqüência, o que também não gerou bons resultados devido à
baixa freqüência de variação destes.
Também será de grande ajuda a implementação de funções secundárias
para a continuação do desenvolvimento do software. Tais funções teriam a
responsabilidade de gerar relatórios, gráficos e outras formas de auxílio à análise do
desenvolvedor devido a grande quantidade de dados que deve ser analisada e
interpretada.
Finalmente, em conversa com profissionais especializados no ensino da
LIBRAS a pessoas surdas, conclui-se que o sistema em questão pode auxiliar na
educação de deficientes auditivos se fizer reconhecimento de gestos mais complexos
como palavras e expressões completas e também atuar como um elemento motivador
no processo educacional dos surdos.
99
14 GLOSSÁRIO
Dactilológico – Alfabeto em que as letras são representadas por sinais
manuais.
Download

Reconhecimento Computacional da Língua Brasileira de Sinais