Sei sulla pagina 1di 79

FACULDADE DE TECNOLOGIA DE SO PAULO

LUCAS TADEU ROSENTE RIOS

Reconhecimento completo do alfabeto de LIBRAS com dispositivo KINECT

SO PAULO
2014

FACULDADE DE TECNOLOGIA DE SO PAULO

LUCAS TADEU ROSENTE RIOS

Reconhecimento completo do alfabeto de LIBRAS com dispositivo KINECT

Trabalho submetido como exigncia parcial


para a obteno do Grau de Tecnlogo em
Anlise e Desenvolvimento de Sistemas
Orientador: Professor Doutor Marcelo Duduchi

SO PAULO
2014

FACULDADE DE TECNOLOGIA DE SO PAULO


LUCAS TADEU ROSENTE RIOS

Reconhecimento completo do alfabeto de LIBRAS com dispositivo KINECT

Trabalho submetido como exigncia parcial para a obteno do Grau de


Tecnlogo em Anlise e Desenvolvimento de Sistemas.

Parecer do Professor Orientador: ____________________________________


_______________________________________________________________
_______________________________________________________________
Conceito/Nota Final: ___________

Orientador: Professor Doutor Marcelo Duduchi

SO PAULO, ____ de Junho de 2014

Resumo
Atualmente a tecnologia assistiva tem desenvolvido um papel importante
na acessibilidade s atividades corriqueiras de pessoas que apresentam algum
tipo de deficincia. Um dos desafios para esta rea de estudo o
desenvolvimento de solues que permitem estabelecer comunicao efetiva
entre pessoas que apresentam alguma deficincia com pessoas que no
possuem. Este trabalho apresenta uma soluo capaz de criar um meio de
comunicao entre deficientes auditivos com pessoas que no apresentam
esta deficincia, por meio da traduo do alfabeto de LIBRAS utilizando o
dispositivo Microsoft KINECT. O objetivo deste trabalho descrever as etapas
de desenvolvimento e de usabilidade de um software que, utiizando-se dos
conceitos da interface natural de usurio, capaz de reconhecer e traduzir em
tempo de execuo os vinte e seis sinais que compem o alfabeto da Lingua
Brasileira de Sinais. So apresentados referenciais tericos sobre a lingua de
sinais, com estudo aprofundado sobre os sinais que compem o alfabeto em
LIBRAS, o detalhamento do hardware e software utlizados, focando as
caractersticas do dispositivo KINECT e dos Frameworks necessrios e por fim,
a apresentao detalhada dos algoritmos capazes de traduzir os sinais, assim
como testes aplicados com usurios para avaliar a usabilidade do software.
Palavras-Chave: LIBRAS. Reconhecimento. Alfabeto. Kinect. NUI.

Abstract
The assistive technology has developed an important role with people who
developed some kind of disability assuring them the accessibility to ordinary
activities nowadays. One of the challenges for this subject is focused on the
development of solutions which enable effective communication between
people who have a disability with people who do not. This project introduces a
solution able to create a medium of communication between deaf people with
those that do not have this kind of deficiency, through the translation of the
LIBRAS alphabet using the Microsoft KINECT device. The main objective is to
describe the stages of the development and usability of a software that, through
the concepts of natural user interface, is able to recognize and translate, at
runtime, all the signs that make up the alphabet of the Brazilian Signal
Language. A previous research is stated defining the concepts about the signal
language, including a depth study of the signs that consist in the LIBRAS
alphabet, detailing the hardware and software used, describing the KINECT
device characteristics and all the Frameworks required and, finally, a detailed
presentation about the algorithms developed that is capable of translate the
signals, as well as an usability test performed with users to evaluate the
software.
Keywords: LIBRAS. Recognizing. Alphabet. Kinect. NUI.

Lista de Ilustraes
Figura 1 Sinais do Alfabeto de LIBRAS ................................................ 16
Figura 2 Representao das letras sem dedos definidos ..................... 20
Figura 3 Comparao de reas entre as letras S, A e O ...................... 20
Figura 4 Interface CLI ........................................................................... 24
Figura 5 Programao em COBOL e FORTRAN.................................. 25
Figura 6 Sistema Operacional Lisa ....................................................... 26
Figura 7 Windows 95 ........................................................................... 27
Figura 8 Interface NUI .......................................................................... 28
Figura 9 Componentes eletrnicos contidos no dispositivo KINECT .... 31
Figura 10 Recursos de Hardware do dispositivo Kinect ........................ 32
Figura 11 Pontos do corpo rastreados pelo dispositivo KINECT .......... 33
Figura 12 Arquitetura OPENNI SDK 2 .................................................. 36
Figura 13 Software de reconhecimento de Sinais................................. 38
Figura 14 Reconhecimento da lngua oral para lngua de sinais .......... 38
Figura 15 Classes envolvidas no desenvolvimento da aplicao ......... 40
Figura 16 Classe App ........................................................................... 41
Figura 17 Classe Config ....................................................................... 42
Figura 18 Classe wConfig ..................................................................... 42
Figura 19 Classe CountHistory ............................................................. 43
Figura 20 Classe HandCoordinates ...................................................... 43
Figura 21 Classe HandInterfaceElement .............................................. 45
Figura 22 Classe InterfacePainter......................................................... 46
Figura 23 Classe KinectControls........................................................... 47
Figura 24 Classe KinectSkeleton .......................................................... 48
Figura 25 Classe MainWindow ............................................................. 49
Figura 26 Classe ModeCombination ..................................................... 50

Figura 27 Classe OpenControls ............................................................ 50


Figura 28 Classe PathFactory............................................................... 51
Figura 29 Classe PerguntaLetra ........................................................... 51
Figura 30 Classes Externas .................................................................. 52
Figura 31 Grfico de dependncias entre classes ................................ 53
Figura 32 Tela Inicial do Software......................................................... 54
Figura 33 Camadas Canvas da aplicao ............................................ 55
Figura 34 Componentes de controle da Tela Inicial .............................. 56
Figura 35 Tela de configurao ............................................................ 58
Figura 36 Ponto de inicializao da Calibragem ................................... 60
Figura 37 Projeo da mo do usurio ................................................. 62
Figura 38 Pontos de inicializao de Sinal ........................................... 63
Figura 39 Altura Y da mo do usurio .................................................. 65
Figura 40 Reconhecimento da Letra Z.................................................. 65
Figura 41 Reconhecimento da Letra J .................................................. 66
Figura 42 Componentes de texto da Tela Inicial ................................... 66
Figura 43 Escolha de letra .................................................................... 67

Lista de Tabelas
Tabela 1 Classificao das letras do alfabeto de LIBRAS .................... 17
Tabela 2 Caractersticas das letras que possuem movimento .............. 18
Tabela 3 Caractersticas das letras que no possuem movimento ....... 21
Tabela 4 Tarefas Preliminares Teste de Usabilidade ........................ 68
Tabela 5 Erros x Tarefa Teste de Usabilidade ................................... 69
Tabela 6 Questionrio de Avaliao Teste de Usabilidade ................ 70

SUMRIO
Introduo ................................................................................................ 11
1. Lingua de Sinais .................................................................................. 14
1.1. Caractersticas da Lingua de Sinais ..................................... 14
1.2. LIBRAS A Lingua Brasileira de Sinais ............................... 15
1.3. Alfabeto em LIBRAS ............................................................ 16
2. Recursos Tecnolgicos de Interatividade ............................................ 23
2.1. Command Line Interface CLI............................................. 23
2.2. Graphic User Interface GUI ............................................... 25
2.3. Natural User Interface NUI ................................................ 27
3. KINECT - Potencialidade e Bibliotecas de Desenvolvimento............... 29
3.1. Histrico ............................................................................... 29
3.2. Especificaes Tcnicas ...................................................... 31
3.3. Limitaes Tcnicas ............................................................. 34
3.4. Frameworks.......................................................................... 35
3.4.1. Microsoft SDK ......................................................... 35
3.4.2. OPENNI .................................................................. 35
3.4.3. Candescent NUI ..................................................... 36
4. O uso do Kinect no reconhecimento de sinais ..................................... 37
5. Software de Reconhecimento Completo do Alfabeto de LIBRAS ........ 39
5.1. Desenvolvimento .................................................................. 39
5.2. Classes ................................................................................ 41
5.2.1. App ......................................................................... 41
5.2.2. Config e wConfig .................................................... 41
5.2.3. CountHistory ........................................................... 43
5.2.4. HandCoordinates .................................................... 43
5.2.5. HandInterfaceElement ............................................ 44

5.2.6. InterfacePainter ...................................................... 46


5.2.7. KinectControls ........................................................ 46
5.2.8. KinectSkeleton ........................................................ 47
5.2.9. MainWindow ........................................................... 48
5.2.10. ModeCombination ................................................. 50
5.2.11. OpenControls ........................................................ 50
5.2.12. PathFactory .......................................................... 50
5.2.13. PerguntaLetra ....................................................... 51
5.2.14. Classes Externas .................................................. 52
5.2.15. Relacionamento entre classes Grfico de
dependncias ................................................................... 53
5.3. Telas .................................................................................... 54
5.3.1. Tela Inicial............................................................... 54
5.3.2. Tela de Configurao.............................................. 57
5.4. Algoritmos ............................................................................ 59
5.4.1. Calibragem ............................................................. 59
5.4.2. Algoritmo de Reconhecimento ................................ 63
6. Testes de Usabilidade ......................................................................... 67
6.1. Objetivo do Teste ................................................................. 68
6.2. Perfil do Usurio ................................................................... 68
6.3. Metodologia .......................................................................... 68
6.4. Relatrio de Resultados ....................................................... 69
6.4.1 Erros por execuo de Tarefas............................. 69
6.4.2 Respostas ao questionrio de Avaliao .............. 69
Consideraes Finais .............................................................................. 72
Anexo A Formulrio de Coleta de Dados .............................................. 74
Anexo B Questionrio de Avaliao do Software.................................. 76
Referncias Bibliogrficas ....................................................................... 77

11

Introduo

A audio desempenha um papel decisivo no desenvolvimento e na


manuteno da comunicao por meio da linguagem falada.
Segundo censo realizado em 2010 pelo Instituto Brasileiro de Geografia e
Estatstica (IBGE), 9,7 milhes de brasileiros (5,1% da populao) possuem
deficincia auditiva.(IBGE,2010)
Para estas pessoas a comunicao por meio da linguagem falada
realizada utilizando Lngua Brasileira de Sinais (LIBRAS). A LIBRAS a lngua
usada pela maioria dos surdos dos centros urbanos brasileiros e reconhecida
por Lei.
Segundo Cllia Regina Ramos, mestre e doutora em semiologia pela
Universidade Federal do Rio de Janeiro, a origem exata da lngua de sinais
incerta, pois no existem registros escritos, alm de se tratarem de
comunidades pequenas e no reunidas geograficamente.
O primeiro livro que descreve a Lngua de Sinais como um sistema
complexo, Chirologia, de autoria de J. Bulwer e foi publicado em 1644.
Em 1760, na Frana, o abade l'Epe (Charles Michel de l'Epe: 1712 1789) iniciou um trabalho de instruo formal da lngua de sinais, sendo que a
partir dessa poca a metodologia por ele desenvolvida passou a ser modelo
para a educao dos seus alunos.(RAMOS, 2006).
Segundo Ramos (2006), no Brasil a lngua de sinais teve incio oficial com
a fundao do Instituto Nacional de Surdos-Mudos (INSM, atual Instituto
Nacional de Educao de Surdos- INES), atravs da Lei 839, assinada por D.
Pedro II em 26 de setembro de 1857. Porm, sabe-se que em 1835, o
deputado Cornlio Ferreira apresentou Assembleia um projeto de lei criando
o cargo de "professor de primeiras letras para o ensino de cegos e surdomudos". Projeto esse que no conseguiu ser .

12

A LIBRAS foi bastante influenciada pela Lngua Francesa de Sinais. Em


1873, foi publicado o mais importante documento encontrado at hoje sobre a
Lngua Brasileira de Sinais, o Iconographia dos Signaes dos Surdos-Mudos, de
autoria do aluno surdo Flausino Jos da Gama (RAMOS, 2006).
Ramos (2006) descreve ainda que apenas em 2001 foi lanado o
Dicionrio Enciclopdico Ilustrado de LIBRAS, um projeto coordenado pelo
Professor Doutor pelo Instituto de Psicologia da USP, Fernando Capovilla e,
nacionalmente, a LIBRAS foi oficializada no ano seguinte atravs da Lei n.
4.857/2002.
Cada pas possui uma lngua de sinais particular, com movimentos
significativos para cada expresso, ou seja, essa linguagem no universal,
nem padronizada . Cada palavra pode ser interpretada de forma independente
variando conforme o pas. (OLIVEIRA, 2011).
Atualmente os softwares voltados interpretao da LIBRAS esto
restringidos catlogos e dicionrios de sinais que auxiliam na comunicao e
interpretao dos mesmos, porm de forma pouco dinmica. Esta pesquisa
apresenta importncia, no somente acadmica, mas social e humana, pois
apresenta um software estvel e capaz de interpretar e responder em tempo de
execuo os sinais realizados pelo usurio, limitando-se, primeiramente, s
letras do alfabeto de LIBRAS. Dessa forma o conhecimento prvio necessrio
para estabelecer comunicao com uma pessoa que apresenta deficincia
auditiva fica por conta do software. Esta pesquisa apresenta uma prvia do que
pode ser desenvolvido neste segmento. Se os resultados buscados forem
alcanados com xito, podemos esperar o desenvolvimento de novos projetos
na rea.
O presente trabalho apresenta a construo de um software que tem por
objetivo traduzir, por meio de calibragem em algoritmos de reconhecimento, em
tempo de execuo, os sinais do alfabeto de libras utilizando o conceito NUI
(Natural User Interface). Em computao, uma interface natural de usurio
(NUI) um termo utilizado por designers desenvolvedores de interfaces
homem-mquina para se referir a uma interface que efetivamente invisvel,

13

ou se torna invisvel com os sucessivos nveis de imerso, para o usurio, e


baseado na natureza ou elementos naturais humanos. O software em questo
utiliza-se do dispositivo Kinect para traduzir os movimentos realizados pelo
usurio em processamento computacional.
O primeiro captulo deste trabalho apresenta um estudo sobre as
caractersticas da Lngua de Sinais, da LIBRAS e do alfabeto de LIBRAS,
objeto de estudo principal deste trabalho.
O segundo captulo apresenta recursos tecnolgicos de interatividades
entre homem e mquina, como so definidas e desenvolvidas as interaes
humano-computador com e sem a utilizao dos conceitos de NUI.
No terceiro captulo apresentado o Microsoft KINECT, dispositivo
utilizado no desenvolvimento do software. Suas caractersticas e limitaes
tcnicas, assim como as ferramentas e frameworks necessrios para o
desenvolvimento da aplicao.
O quarto captulo descreve a funo do KINECT no reconhecimento da
lngua gestual. Uma pesquisa nesta rea de estudo, desenvolvido pela
Microsoft Research, demonstra o quo avanado esto os estudos cerca do
reconhecimento de sinais.
O software construdo apresentado no quinto captulo do trabalho. Nele,
a usabilidade, interfaces e algoritmos desenvolvidos so detalhados e
apresentados de forma tcnica.
No sexto captulo so apresentados os resultados dos testes realizados
para medir a eficcia do software e as dificuldades encontradas pelos usurios
na usabilidade do sistema.
Por fim, as principais ideias do projeto confrontadas com os objetivos
esperados, alm de trabalhos futuros so apresentados nas consideraes
finais.

14

1. Lingua de Sinais

Este primeiro captulo aborda a definio e caractersticas da Lngua de


Sinais tendo como foco a Lngua Gestual Brasileira ou Lngua Brasileira de
Sinais (LIBRAS).
Ao final do captulo apresentado o alfabeto de LIBRAS, foco principal
deste projeto. So apresentados os sinais que representam as letras do
alfabeto.
Defini-se como lngua de sinais o meio de comunicao que utiliza-se de
gestos e sinais em substituio lngua sonora ou oral (OLIVEIRA, 2011).

1.1.

Caractersticas da Lingua de Sinais

Semelhante lngua oral que composta por fonemas (qualquer dos


traos distintivos de um som da fala, capaz de diferenar uma palavra de
outra), a lngua de sinais tambm possui nveis lingusticos como fonologia,
morfologia, sintaxe e semntica, alm dos itens lexicais, os quais se chamam
de sinais. O diferencial desta linguagem das demais a sua modalidade visualespacial.
Sobre esta modalidade a Doutora Cllia Regina Ramos define em seu
artigo LIBRAS: A Lngua de Sinais dos Surdos Brasileiros (Ramos, 2006), que
os sinais so formados a partir da combinao do movimento das mos com
um determinado formato em um determinado lugar, podendo este lugar ser
uma parte do corpo ou um espao em frente ao corpo.
Estas articulaes das mos so chamadas de parmetros. Na Lngua de
Sinais podem ser encontrados os seguintes parmetros:
1. Configurao das mos: so formas das mos, que podem ser da
datilologia (alfabeto manual) ou outras formas feitas pela mo predominante
(mo direita para os destros), ou pelas duas mos do emissor ou sinalizador.

15

2. Ponto de articulao: o lugar onde incide a mo predominante


configurada.
3. Movimento: os sinais podem ter um movimento ou no.
4. Orientao: os sinais podem ter uma direo e a inverso desta pode
significar idia de oposio, contrrio ou concordncia nmero-pessoal.
5. Expresso facial e/ou corporal: muitos sinais tem como trao
diferenciador tambm a expresso facial e/ou corporal.
Na combinao de quatro parmetros, ou cinco, tem-se o sinal. Falar com
as mos , portanto, combinar estes elementos que formam as palavras e
estas formam as frases em um contexto.

1.2.

LIBRAS A Lingua Brasileira de Sinais

LIBRAS a abreviao de Lngua Brasileira de Sinais, utilizada pela


comunidade de surdos no Brasil e reconhecida como uma lngua oficial, tal
como nossa lngua falada. LIBRAS uma lngua derivada da lngua de sinais
autctone (que natural da regio onde ocorre), ou seja, do Brasil, e tambm
da lngua gestual francesa, como citado anteriormente. A LIBRAS no uma
lngua de gestos representando a lngua portuguesa, e sim uma autntica
lngua de nosso pas.(LIBRAS,2013).
Segundo o decreto N 5.626, de 22 de Dezembro de 2005, esto
garantidas pelo poder pblico, formas institucionalizadas de apoio para o uso e
a difuso da LIBRAS como meio de comunicao nas comunidades surdas. Os
sistemas educacionais federal, estadual e municipal devem garantir a incluso
do ensino da Libras nos cursos de formao de Educao Especial,
Fonoaudiologia e Magistrio, tanto nos nveis mdio como no superior.
(CUORE,2009).

16

1.3.

Alfabeto em LIBRAS

O alfabeto em LIBRAS o principal objeto de estudo deste projeto. As


caractersticas, o formato do sinal, a posio e a quantidade de dedos
presentes em cada letra so importantes para a parametrizao do software
desenvolvido.
Assim como na lngua oral, o alfabeto em LIBRAS possui 26 letras, como
indicado na figura 1.
Figura 1 Sinais do Alfabeto de LIBRAS

Fonte (MASSOLI,2006)

Os sinais que representam as letras do alfabeto possuem caractersticas


similares e, ao mesmo tempo, distintas para cada letra.

17

O estudo realizado prev a separao dos sinais em conjuntos, e,


posteriormente, a anlise de cada conjunto a fim de determinar caractersticas
especficas de cada sinal.
Os sinais do alfabeto de LIBRAS podem ser divididos em trs grupos
distintos: Sinais com movimento; sinais que no possuem dedos definidos e
sinais que possuem dedos definidos. Cada sinal pode estar contido em um ou
mais grupos. Ou seja, podemos encontrar sinais que no possuem dedos
definidos, mas que representam uma letra. Assim como sinais que possuem
dedos definidos, mas que precisam de um determinado movimento para
representar uma letra.
A tabela 1 classifica cada letra do alfabeto em seus respectivos grupos.

Tabela 1 Classificao das letras do alfabeto de LIBRAS

Com
Movimento
A
B
C
D
E
F
G
H
I
J
K
L
M
N

Sem
Dedos
Definidos

Com
Dedos
Definidos

18

O
P
Q
R
S
T
U
V
W
X
Y
Z
Fonte - Autor

Os dados obtidos atravs da anlise da tabela demonstram que para o


conjunto de sinais com movimentos necessria a presena de um ou mais
dedos.
Os movimentos possveis para realizao de um sinal so: Vertical,
horizontal, diagonal e circular. A combinao do movimento com a quantidade
de dedos presentes no sinal definem a letra representada.
A tabela 2 caracteriza cada letra contida no conjunto de sinais com
movimentos.
Tabela 2 Caractersticas das letras que possuem movimento

Representao
Grfica
H

Dedos
presentes no
Sinal

Descrio do Movimento

Indicador e
Mdio

Movimento circular horizontal do


dedo mdio, tendo o dedo indicador
como eixo, no sentido anti-horrio.

Mnimo

Movimento circular vertical do dedo


mnimo, tendo a palma da mo como
eixo, no sentido anti-horrio.

19

Indicador e
Mdio

Movimento da mo na vertical para


cima.

Indicador

Movimento horizontal da
estando na posio deitada.

Indicador

Combinao entre o
horizontal e diagonal.

mo

movimento

Fonte - Autor

As letras contidas no conjunto de sinais sem dedos definidos podem ser


caracterizadas pela singularidade do sinal, ou seja, a posio necessria para
a realizao do sinal. No mbito computacional, essa caracterstica no
expressiva e consequentemente, a identificao do sinal sofre com a perda de
confiabilidade. Para corrigir esse problema, com este estudo sobre o alfabeto
de LIBRAS foi possvel observar novas caractersticas desse conjunto de letras
e dividi-lo em dois subconjuntos.
O primeiro nvel do subconjunto refere-se altura do sinal realizado com
relao palma da mo. Nota-se que todas as letras contidas no conjunto de
sinais sem dedos definidos possuem o sentido dos dedos voltados para cima.
Definindo-se um ponto de referncia como a palma da mo aberta e os dedos
fechados, possvel dividir a altura em trs partes iguais compreendidas entre
o centro da palma da mo e a ponta do dedo mdio. A partir desta diviso,
possvel isolar os sinais que representam as letras, como demonstrado na
Figura 2.

20

Figura 2 Representao das letras sem dedos definidos

Fonte - Autor

A altura da mo de uma pessoa pode variar de acordo com as


caractersticas de cada indivduo, porm, como os pontos de referncia so
dados da prpria mo, os sinais mantero sempre a mesma proporo de
altura.
Nota-se que as letras A,S e O pertencem ao mesmo subconjunto. A
partir deste subconjunto foi analisada uma nova caracterstica que distinguisse
os trs sinais restantes, a rea ocupada pelo sinal.
Entende-se como rea do sinal o espao compreendido dentro do
contorno da mo. Assim como descrito anteriormente, este espao tambm
pode variar de acordo com a altura e largura da mo de cada pessoa, porm,
como os sinais independem desses dados, a rea de cada sinal deve variar
obedecendo mesma lgica, sendo assim, possvel concluir que a rea das
letras A, S e O (Figura 3).
Figura 3 Comparao de reas entre as letras S, A e O

S<A<O
Fonte - Autor

Onde a rea ocupada pelo sinal que representa a letra O maior do que
a rea do sinal que representa a letra A, que por sua vez, maior do que a

21

rea do sinal que representa a letra S. Considerando que a rea de O


corresponde tambm ao espao vazio ao centro do sinal.
O ltimo conjunto analisado corresponde aos sinais que possuem dedos
definidos, representando 61% das letras do alfabeto. Analisando a quantidade
e identificao de cada dedo, alm da forma como so representados,
possvel distinguir todos os elementos deste conjunto, assim como na
representao dos sinais com movimentos, a combinao de duas ou mais
caractersticas de cada elemento definem qual letra corresponde ao sinal
representado.
A tabela 3 apresenta as caractersicas nicas dos elementos, que so
necessrias para a escolha de cada letra pelo algoritmo de reconhecimento.
Tabela 3 Caractersticas das letras que no possuem movimento

Representao
Grfica
C

Qtde. Dedos

Identificao

Polegar
Indicador

Sentido dos
Dedos
Direita (se mo
esquerda)

Esquerda (se mo
direita)

Polegar
Indicador
Mdio

Para cima

Polegar
Indicador
Mdio
Anelar
Mnimo

Para cima

Indicador

Para cima

Mnimo

Para cima

Polegar
Indicador

Para cima

22

Indicador
Mdio
Anelar

Para baixo

Indicador
Mdio

Para baixo

Indicador
Mdio

esquerda)
Esquerda (se mo
direita)

Indicador

Para baixo

Indicador
Mdio

Para cima

Polegar
Indicador
Mdio
Anelar
Mnimo

Para cima

Indicador
Mdio

Para cima

Indicador
Mdio

Para cima

Indicador
Mdio
Anelar

Para cima

Polegar
Mnimo

Para cima

Direita (se mo

Fonte - Autor

O desenvolvimento deste estudo e sua aplicao deram origem ao


algoritmo de reconhecimento completo do alfabeto de LIBRAS.

23

2. Recursos Tecnolgicos de Interatividade


Entende-se como interface, o meio que permite a comunicao entre um
usurio e um sistema, sendo considerada parte do sistema, encarregada de
mapear as aes do usurio na aplicao do processamento de requisies e
apresentao de seus resultados pelo sistema.
Ou seja, a interface tambm o prprio dilogo entre o programa e o ser
humano.(EG SA,2011).
A Interao Humano-Computador (IHC) responsvel, na rea da
informtica, pelo estudo de fatores humanos em sistemas computacionais e
seus

aspectos tecnolgicos. Segundo Laura Sanchez Garcia, Doutora e

professora pela Universidade Federal do Paran, o principal desafio de IHC


nos dias atuais consiste em se manter atualizado com os avanos tecnolgicos
assegurando que eles sejam aproveitados para benefcio dos usurios.(Garcia,
2003).
Este captulo procura conceituar os principais tipos de interface de
usurio, suas caractersticas e a importncia do mesmo na construo de uma
interface.

2.1. Command Line Interface - CLI

Devido sua natureza de usabilidade atravs de texto, uma interface de


linha de comando muitas vezes confundida com a interface de usurio
baseada em texto, uma espcie de interface de usurio que usa apenas o
texto, mas no necessariamente apresentados em linhas sucessivas. O texto
pode ser formatado e aparecer em localizaes fixas em uma tela de terminal
de computador, em vez de apenas aparecendo em linhas sucessivas. (EG
SA,2011).
A CLI foi o principal meio de interao humano-computador da maioria
dos sistemas operacionais mais antigos, tais como MS-DOS, CP / M, Unix e
DOS Apple. Antes do surgimento do computador pessoal. (EG SA,2011).

24

A interface geralmente implementada com um escudo de linha de


comando, que um programa que aceita comandos de entrada de texto e
converte os comandos para as funes apropriadas do sistema operacional.
(EG SA,2011).
Neste tipo de interface o padro de interao nico e dado atravs de
comando textual via teclado. Exibe-se pouco ou nenhum alerta na tela.
A CLI ainda pode ser definida como uma interface abstrata e no familiar,
onde muitos comandos no tem significado direto para os usurios, dificultando
o entendimento e identificao pelos mesmos.(EG SA,2011). A interface CLI
apresentada na figura 4.
Figura 4 Interface CLI

Fonte (EG SA,2011)

Outros pontos crticos na interao de um usurio com uma interface CLI,


d-se na necessidade de uma curva de aprendizado maior e na memorizao
de comandos, alm da familiaridade imposta pela falta de segurana e
feedback.(EG SA,2011).
Programas eram rodados em linguagens como COBOL e FORTRAN,
como na Figura 5, exigindo conhecimento prvio de desenvolvedor e usurios.

25

Figura 5 Programao em COBOL e FORTRAN

Fonte Autor

2.2. Graphic User Interface GUI

A interface grfica de usurio (GUI) est presente em grande parte do


computadores pessoais atualmente. Esta interface comeou a ganhar aspectos
modernos a partir de 1974, com o surgimento da Smalltalk, linguagem de
programao e ambiente de desenvolvimento que possua uma interface
grfica diferenciada.(ARRUDA,2011).
A difuso global da GUI teve incio apenas em 1978 com o lanamento do
primeiro computador pessoal com interface grfica fabricado pela Apple
Computers Inc, conhecido como LISA, figura 7. (ARRUDA,2011).

26

Figura 6 Sistema Operacional Lisa

Fonte (ARRUDA,2011).

A grande inovao desta interface

foi o surgimento de janelas, que

possuam bordas, barras de ttulos que permitiam a identificao e o


reposicionamento delas. O conceito de cones tambm surgiu na mesma
poca, assim como o menu de contexto. No mesmo perodo, tambm foram
apresentadas as barras de rolagem, as caixas de dilogo e os botes de
opes (radio buttons). (ARRUDA,2011).
Outras empresas como VisiCorp, Tandy Computers, Commodore,
WorkBench e Berkeley Softworks tambm criaram suas prprias verses de
sistema operacional com interface grfica, porm nenhuma destas empresas
obteve sucesso na concorrncia contra a Apple.
Em 1983 a Microsoft lanou a primeira verso de seu sistema operacional
Windows. O Windows ganhou popularidade com as verses 3.0 e 3.2 no incio
do anos 90, mas foi apenas com o Windows 95 (figura 7) que a empresa se
firmou lder do mercado de software. (ARRUDA,2011).

27

Figura 7 Windows 95

Fonte (ARRUDA,2011).

A principal e mais importante caracterstica da GUI a preocupao com


o usurio. A usabilidade, facilidade e entendimento por parte do usurio fazem
com que o mesmo continue a utilizar o sistema.
Atualmente essa interface ganha inovaes significativas cada verso
de sistema operacional lanada pela Apple ou Microsoft. A disputa de mercado
entre estas e outras empresas faz com que os usurios sejam os maiores
beneficiados

na

utilizao

desta

interface.

No

necessidade

de

conhecimento tcnico prvio para utilizao de sistemas e a curva de


aprendizado, tanto para uso pessoal, como para fins profissionais, menor do
que a exigida pela interface de Linhas de Comando.

2.3. Natural User Interface NUI

A Interface Natural de Usurio ou (NUI Natural User Interface), a


interface atualmente usada por designers e desenvolvedores para se referir a

28

uma interface de usurio que efetivamente invisvel, ou torna-se invisvel com


sucessivas interaes aprendidas, para seus usurios. (Software Livre,2011).
Uma interface NUI depende somente do usurio ser capaz de interagir
com ambiente.
A aprendizagem facilitada atravs de um design que remete ao usurio
a sensao de estarem interligados.
O poder das tecnologias NUI derivado do uso da nossa voz e gestos
para interagir com o sistema. Neste ponto, a maioria das interfaces NUI com as
quais interagimos podem ser semelhantes s atuais GUIs, mas as maneiras
pelas quais ns controlamos um ambiente computacional possui menor relao
com elementos presentes na tela, como cones e botes, e maior relao com
gestos que realizamos.(RIEDER,2012)
O grande diferencial nesta interface est na usabilidade. O usurio
deixa de ter o papel de executor de comandos e tarefas, e passa a fazer parte
da interface. O sistema capaz de entend-lo e realizar funes atravs de
gestos realizados pelo prprio usurio. O perifrico principal que estabelece
comunicao entre homem e mquina passou a ser o prprio ser humano,
como apresentado na figura 8.
Figura 8 Interface NUI

Fonte (ARRUDA,2011).

Este projeto foi desenvolvido utilizando-se da interface NUI, todos os


comandos e controles necessrios para uso da aplicao so realizados
atravs de gestos do prprio usurio que so reconhecidos pelo dispositivo

29

Kinect. Este novo conceito de interface j se expande para diversas reas de


aplicao e apresenta novos desafios para IHC no cuidado com a usabilidade.
A exigncia de uma interface interativa e eficiente passa a ser do prprio
usurio e no apenas como diferencial para os desenvolvedores de interface.

3. KINECT - Potencialidade e Bibliotecas de Desenvolvimento

O dispositivo Kinect a ferramenta capaz de identificar o corpo humano


e, com auxilio de uma biblioteca especfica, os dedos do usurio. O Kinect foi o
hardware escolhido para a construo do software estudado e este captulo
apresenta o histrico e surgimento desta ferramenta, alm das especificaes
tcnicas, e o funcionamento do dispositivo, o modo pelo qual ele capaz de
reconhecer o corpo humano diferenciando-o dos demais objetos no ambiente.
Por ltimo, este captulo apresenta os frameworks necessrios para
utilizao do dispositivo, alm daqueles utilizados com fins especficos para o
desenvolvimento do projeto.

3.1.

Histrico

O Microsoft Kinect foi desenvolvido pela empresa Microsoft Corporation,


uma multinacional, dos Estados Unidos da Amrica, lder mundial em software,
servio e solues na rea da informtica . Em novembro de 2001 a empresa
passou a investir ativamente no desenvolvimento de consoles de vdeo game
com o lanamento de seu primeiro console, o XBOX. (MICROSOFT, 2011).
O Microsoft Kinect foi lanado como acessrio do XBOX 360, console
tambm produzido pela Microsoft. Diferentemente do console, o Kinect possui
parte de seu processo terceirizado por outras empresas. A tecnologia em
software aplicada no dispositivo foi desenvolvida pela PrimeSense, uma
empresa Israelense lder em deteco e reconhecimento de padres em 3D
(GOHRING, 2010 ) , enquanto que o hardware foi baseado na tecnologia

30

produzida pela empresa Rare (Rareware), desenvolvedora britnica de vdeo


games. Posteriormente a

Rare foi adquirida pela Microsoft. (REYNOLDS,

2010).
Anunciado e demonstrado como "Projeto Natal" em junho de 2009, o
Kinect apresenta uma interao com o usurio inovadora ao conseguir traduzir
todos os movimentos do corpo do usurio e reproduzi-lo em aplicaes e jogos.
Alm disso, atualmente o hardware compatvel com o Windows capaz de
reconhecer o rosto e a voz do usurio para que ele possa buscar e saber quem
est utilizando o equipamento em determinado ambiente. (REYNOLDS, 2010)
Project Natal teve sua primeira demonstrao realizada na conferncia
E3 (Electronic Entertainment Expo). Com a campanha de Marketing focada em
atingir novos pblicos. Tendo como slogan "Voc o controle", a Microsoft
superou os investimentos realizados no lanamento do Xbox 360, chegando a
atingir um oramento de publicidade de U$ 500 milhes. (LEADBETTER,
2011).
O "Projeto Natal" levou esse nome em referncia cidade de Natal no Rio
Grande do Norte, cujo seu autor, o Brasileiro Alex Kipman, procurou prestar
homenagem. (Jnior e Petr, 2010)
O nome definitivo foi implantado pouco antes da data de lanamento nos
Estados Unidos da Amrica em quatro de Novembro de 2010. A origem da
palavra Kinect a uma juno das palavras kinetic (cintica, em portugus) e
connect (conectividade), que descrevem os principais aspectos da iniciativa.
(WASH, 2010).
A Microsoft projetou o Kinect como um acessrio para o Xbox Live
Experience, o console Xbox 360 e posteriormente para a plataforma Windows.
O Kinect, porm, no mgica em tudo. , entretanto, uma combinao
inovadora de cmeras, microfones e software que transforma corpo do usurio
em um controle.

31

3.2.

Especificaes Tcnicas

A tecnologia inovadora por detrs do Kinect est ligada combinao de


hardware e software contido dentro do acessrio. O sensor Kinect uma caixa
preta plana que fica em uma pequena plataforma. O Kinect possui um cabo
USB a partir do qual o dispositivo pode extrair energia e estabelecer
comunicao com o console ou computador, possuindo ainda uma fonte de
alimentao. A figura 9 apresenta todos os componente que compe o
dispositivo KINECT.(ABRO,2010).
Figura 9 Componentes eletrnicos contidos no dispositivo KINECT

Fonte (http://tecnoblog.net/46298/kinect-e-aberto-e-desmontado-de-verdade/)

O Kinect combina vrios elementos em um aparelho s, permitindo que


imagens em 3D sejam capturadas e renderizadas. (ABRO, 2010)
H um trio de inovaes de hardware trabalhando em conjunto com o
sensor Kinect.
Cmera de vdeo VGA - Auxilia no reconhecimento facial e de outros
recursos de deteco atravs da deteco de trs componentes de cores:
vermelho, verde e azul. A Microsoft definiu como uma "cmera RGB" referindose aos componentes de cor detectados.

32

Sensor de profundidade - Um projetor infravermelho e um sensor


monocromtico CMOS (semicondutor metal-xido complementar) trabalham
juntos para "ver" a sala em 3-D, independentemente das condies de
iluminao.
Microfone multi-array - Esta uma matriz de quatro microfones que
podem isolar as vozes dos usurios do barulho na sala. (CRAWFORD,2010).
O dispositivo tem um campo de viso de 47 na vertical e 57 na
horizontal. A base motora permite inclinao de -27 a 27, facilitando a
adaptao do dispositivo para diversos ambientes.
Figura 10 Recursos de Hardware do dispositivo Kinect

Fonte (ABRO, 2010)

As especificaes tcnicas do Kinect revelam ainda que tanto o sensor


de profundidade como as cmeras de vdeo possuem resoluo de 640 x 480
pixels e rodam a 30 FPS (frames por segundo), a verso especfica para
Windows possui resoluo de 1280x960 pixels na mesma velocidade FPS.
(Developer Network,2014).
A aplicao desenvolvida neste projeto exige com que o usurio utilize o
dispositivo a uma distncia que varia de 0,1 0,5 metros, distncias fora deste
intervalo impossibilitam o reconhecimento das mos e dedos do usurio.
O hardware do Kinect, porm, no seria nada sem o software que faz
uso dos dados que recolhe.

33

A camada de software do Kinect o componente essencial para o


funcionamento do dispositivo. Quando o usurio inicia pela primeira vez o
Kinect, feita a leitura do layout do ambiente e configurado o espao possvel
de movimentao. O Kinect detecta e rastreia 48 pontos no corpo de cada
usurio, como demonstrado na figura 12, mapeando-as para a reproduo
digital de forma a reconhecer o corpo e a estrutura do esqueleto, incluindo
detalhes faciais. (CRAWFORD,2010).
Figura 11 Pontos do corpo rastreados pelo dispositivo KINECT

Fonte (http://msdn.microsoft.com/en-us/magazine/jj159883.aspx)

Em entrevista revista Scientific American, Alex Kipman, diretor de


incubao para o Xbox 360 da Microsoft, explica a abordagem do
desenvolvimento do software Kinect, "Todo movimento nico do corpo uma
entrada, que cria combinaes aparentemente interminveis de aes"
(CRAWFORD,2010).
Ao invs de programar reaes para as interminveis entradas de
dados, os desenvolvedores procuraram "ensinar" o sistema como reagir com
base em como os seres humanos aprendem: classificando os gestos de
pessoas no mundo real.

34

Um artigo na revista Popular Science descreve que as quatro etapas do


"crebro" do Kinect so processadas 30 vezes por segundo, velocidade
definida na especificao como frames por segundo, para ler e responder os
movimentos do usurio. (DUFFY,2010).
Na primeira etapa o algoritmo calcula a distncia entre os diferentes
pontos no corpo do usurio.
A segunda etapa consiste em "adivinhar" quais partes do corpo
corresponde aos pontos identificados. Essa anlise baseada na experincia
do algoritmo com posies do corpo que foram previamente "aprendidas" pelo
mesmo.
Baseado nas probabilidades de reconhecimento de cada ponto, na
terceira etapa, o algoritmo relaciona todos os esqueletos conhecidos que
podem se assimilar ao movimento realizado. O que possui maior semelhana
escolhido.
Finalmente, aps o algoritmo estar suficientemente certo sobre os
pontos que compe o movimento e ter escolhido a estrutura de esqueleto mais
provvel, ele capaz de apresentar o possvel avatar retratado em uma figura
3D. (DUFFY,2010).
O software Kinect vai um passo alm do que apenas detectar e reagir ao
que pode "ver". O Kinect tambm pode distinguir os usurios e seus
movimentos, mesmo que eles estejam parcialmente escondidos. O Kinect
sugere o que o resto do corpo est fazendo enquanto ele pode detectar
algumas partes dele.

3.3.

Limitaes Tcnicas

Apesar do dispositivo Kinect ser capaz de reconhecer o esqueleto


humano, o Framework original, desenvolvido pela Microsoft, no suporta o
reconhecimento dos dedos do usurio. Para suprir essa limitao, a
comunidade de desenvolvedores e analistas desenvolveu ferramentas capazes

35

de identificar e distinguir os dedos das mos. A biblioteca utilizada neste


projeto um conjunto de ferramentas e API's desenvolvido pelo suo Stefan
Stegmueller, arquiteto de software, desenvolvedor e mestre em cincias da
computao, que contribui para a comunidade de desenvolvimento Candescent
NUI, fundada a partir de um de seus projetos.

3.4.

Frameworks

3.4.1. Microsoft SDK

O Software Development Kit (SDK) um conjunto de drivers,


ferramentas e API's com o intuito de simplificar o desenvolvimento de
aplicativos com o uso do dispositivo Kinect. Atualmente o SDK encontra-se na
verso 1.8 e com ela apresenta novas funcionalidades, como melhorias no
reconhecimento do esqueleto, e novas funes como reconhecimento facial. O
SDK gratuito e pode ser adquirido atravs do site da Microsoft Kinect for
Windows. O primeiro SDK disponvel foi lanado em abril de 2011 e era
compatvel somente com o dispositivo Kinect para XBOX. Alguns meses antes,
a comunidade de desenvolvedores j havia desbloqueado o dispositivo para
funcionar nos computadores.
Em novembro do mesmo ano, a Microsoft lanou o Kinect for Windows e
com ele uma nova verso do SDK, dando origem ao Kinect Effect, uma galeria
de projetos e sistemas desenvolvidos com o dispositivo Kinect, grande parte
sendo Open Source e disponveis para download no Kinect Dev Center.

3.4.2. OPENNI

O grupo sem fins lucrativos OPENNI foi fundado em 2010 com o objetivo
de promover e estabelecer padres de comunicao e compatibilidade da
Interao Natural (Natural Interaction - NI) com dispositivos, aplicaes e

36

camadas intermedirias de software. O SDK OPENNI capaz de prover ao


desenvolvedor uma completa variedade de ferramentas de software capazes
de estabelecer comunicao entre dispositivos de hardware com o software a
que se pretender desenvolver. (OPPENNI, 2014).
A arquitetura do OPENNI SDK 2, representada pela figura 12, apresenta
de forma clara a funo do OPENNI no reconhecimento de um dispositivo
como o Kinect.
Figura 12 Arquitetura OPENNI SDK 2

Fonte (OPENNI,2014)

3.4.3. Candescent NUI

O Framework Candescent NUI uma coleo de bibliotecas compatveis


com o framework .NET que tem como objetivo identificar mos e dedos do
usurio atravs dos dados de profundidade das cmeras do Kinect.

37

Desenvolvido com OPENNI e com o SDK oficial da Microsoft, o


Candescent NUI foi escrito utilizando a linguagem de programao C# e, este
pacote de desenvolvimento Open Source, capaz de suprir uma das limitaes
tcnicas do SDK oficial, que exatamente a deteco de mos e dedos do
usurio. (Candescent NUI,2013).
Diferentemente do SDK oficial, o Candescent NUI limita a distncia de
uso do dispositivo devido dificuldade em distinguir os dedos a uma distncia
maior que um metro. Na configurao padro, a distncia varia entre 500cm
800cm.
Para reconhecimento mais eficaz do algoritmo, sugerido o uso do
Kinect especfico para Windows. O Kinect padro do console XBOX no
recomendvel pois o mesmo no retorna valores abaixo da distncia de
850cm.

4. O uso do Kinect no reconhecimento de sinais

Desde seu lanamento em junho de 2011 at os dias atuais, o KINECT


para Windows tem reunido inmeras comunidades de desenvolvedores vidos
a trabalhar no desenvolvimento de aplicaes desktop utilizando os recursos
do dispositivo. Atualmente a Microsoft dispe de um site exclusivo para o
desenvolvimento de aplicaes que envolvam o KINECT (Kinect for Windows,
2014), a galeria disponvel conta com 44 projetos reconhecidos e publicados
pela empresa que variam entre as reas da educao, reabilitao de
pacientes, automotiva e varejo. Alm do suporte ao desenvolvimento, com
manuais, video-aulas e exemplos que podem ser adquiridos gratuitamente pelo
site da companhia.(Kinect for Windows, 2014)
Sobre o reconhecimento de sinais possvel encontrar inmeros
prottipos capazes de reconhecer padres de sinais e apresentar palavras
atravs do reconhecimento destes, porm, ainda com muitas limitaes. Em
outubro de 2012 pesquisadores do instituto da tecnologia da computao da
universidade de Pequim, em parceria com pesquisadores do intituto de

38

pesquisa da Microsoft deram grande avano nesta rea de pesquisa


desenvolvendo um prottipo capaz de traduzir a lngua de sinais americana e
mandarim, representados nas figuras 13 e 14. Atualmente trata-se do estudo
mais avanado que se tem registro. (Research, 2013)
Figura 13 Software de reconhecimento de Sinais

Fonte - (Research, 2013)

O software prev a traduo da lngua de sinais para a lngua oral e da


lngua oral para a lngua de sinais em tempo de execuo. Os sinais podem ser
realizados na lngua norte-americana ou em mandarim, assim como a lngua
oral. O software capaz de reconhecer voz e sinal, e traduzi-los em escrita, em
fala ou em sinais, dependendo de como feita a interao do usurio.
Figura14 Reconhecimento da lngua oral para lngua de sinais

Fonte - (Research, 2013)

39

No

foram

encontradas

pesquisas

ou

registros

de

aplicaes

semelhantes esta no Brasil.

5. Software de Reconhecimento Completo do Alfabeto de LIBRAS

Este captulo procura abordar as fases envolvidas no desenvolvimento da


aplicao capaz de traduzir o alfabeto de LIBRAS.
Com utilizao do dispositivo Kinect, juntamente com os frameworks
citados anteriormente, foi possvel desenvolver desde a modelagem at o
design da aplicao.
Neste captulo so apresentados o desenvolvimento da aplicao, as
telas visveis ao usurio final e os algoritmos capazes de reconhecer os sinais.

5.1.

Desenvolvimento

O projeto foi desenvolvido a partir da IDE Visual Studio 2012 utilizando-se


da linguage C# como Back-End e WPF como Front-End.

A escolha da

linguagem deve-se ao fato dos frameworks em open-source, como Oppen NI e


Candescent NUI, serem desenvolvidos em C#, permitindo a integrao apenas
com essa linguagem.
A soluo da aplicao apresenta dois projetos. O primeiro corresponde
ao aplicativo desenvolvido e o segundo modelagem de classes e objetos
envolvidos no mesmo. Os frameworks esto contidos nas referncias do
primeiro projeto.
A figura 15 apresenta as classes desenvolvidas para a aplicao.

40

Figura 15 Classes envolvidas no desenvolvimento da aplicao

Fonte - Autor

Algumas classes inicialmente pertenciam ao projeto open source


desenvolvido pela Candescent NUI. Estas foram alteradas e adaptadas para
utilizao neste projeto.
As classes xaml correspondem camada de aplicao e suas telas so
visveis ao usurio, as demais classes operam em back-end para prover o
reconhecimento do sinal.
As classes visualizadas acima esto detalhadas na sequncia.

41

5.2.

Classes

5.2.1. App

A classe App uma das classes que apresentam um arquivo xaml para
exibio da camada de usurio. Sua funo porm, apenas instanciar e
inicializar a aplicao (figura 16).
Figura 16 Classe App

Fonte - Autor

5.2.2. Config e wConfig

As classes Config (figura 17) e wConfig (figura 18) trabalham em conjunto


para garantir a configurao do dispositivo Kinect e de outros atributos da
aplicao.
A primeira delas responsvel por carregar e salvar alteraes realizadas
nos atributos do dispositivo Kinect, como ngulo do motor, distncias mnimas
e mximas de reconhecimento e etc.
A segunda classe est contida em um arquivo xaml que permite a
exibio dos dados. A classe wConfig responsvel por instanciar o objeto
Config e alterar seus atributos.

42

Figura 17 Classe Config

Fonte - Autor

Figura 18 Classe wConfig

Fonte - Autor

43

5.2.3. CountHistory

A classe CountHistory (figura 19) tem como funo contar quantos dedos
esto presentes no momento em que o usurio est realizando o sinal. Esta
classe pertencia ao projeto Candescent NUI originalmente, porm foi
modificada para atender s necessidades do projeto.
Figura 19 Classe CountHistory

Fonte - Autor

5.2.4. HandCoordinates

Uma das principais classes do projeto, a HandCoordinates (figura 20) tem


como objetivo armazenar as coordenadas da mo do usurio no momento da
calibragem do algoritmo e no momento da realizao de um sinal.
Figura 20 Classe HandCoordinates

Fonte - Autor

44

5.2.5. HandInterfaceElement

A classe principal da aplicao (figura 21) tambm foi herdada do projeto


original da Candescent NUI e depois de algumas mudanas, esta classe
capaz de gerenciar todo o reconhecimento dos sinais expostos, desde a
calibragem do algoritmo at a resposta final da letra obtida. Suas funes
utilizam-se de objetos criados a partir de outras classes, porm nesta classe
que so tomadas as decises de controle do algoritmo, como por exemplo,
decidir quando o algoritmo deve ser iniciado ou desativado, e at mesmo
analisar e responder qual letra corresponde ao sinal realizado pelo usurio.

45

Figura 21 Classe HandInterfaceElement

Fonte Autor

46

5.2.6. InterfacePainter

A classe InterfacePainter (figura 22) responsvel por desenhar todos os


objetos que aparecem e desaparecem acima da imagem RGB capturada do
sensor Kinect.
Figura 22 Classe InterfacePainter

Fonte - Autor

5.2.7. KinectControls

A classe KinectControls (figura 23) trabalha especificamente com o SDK


oficial da Microsoft. Nesta classe so utilizadas funes disponveis do SDK,

47

como o controle do mouse atravs do dispositivo Kinect, o desenho do


esqueleto do usurio quando identificado, alm da instanciao e inicializao
do objeto KinectSensor que ser utilizado por outras classes.
Figura 23 Classe KinectControls

Fonte - Autor

5.2.8. KinectSkeleton

A classe KinectSkeleton (figura 24) utilizada pela KinecControls para


prover o desenho do esqueleto do usurio capturado pelo objeto

48

KinectSensor. Esta classe pertencia inicialmente ao projeto de exemplo


disponibilizado junto ao SDK oficial da Microsoft, porm ela foi adaptada para
desenhar um modelo especfico de esqueleto compatvel com a aplicao.
Figura 24 Classe KinectSkeleton

Fonte - Autor

5.2.9. MainWindow

A MainWindow (figura 25) a classe principal da camada de usurio da


aplicao. Nesta foi construdo o design e interface da tela principal do projeto
atravs do arquivo XAML da mesma. A classe MainWindow responsvel por
inicializar o dispositivo Kinect, carregar os atributos iniciais e gerenciar todos os
eventos contidos na interface da tela principal.

49

Figura 25 Classe MainWindow

Fonte - Autor

50

5.2.10. ModeCombination

A funo da classe ModeCombination (figura 26) disponibilizar para o


usurio opes de interao do mouse atravs do uso do Kinect. Define-se, a
partir desta classe, como ser a ao do clique do mouse e a movimentao do
ponteiro. A configurao desta interao encontra-se na tela principal.
Figura 26 Classe ModeCombination

Fonte - Autor

5.2.11. OpenControls
A classe OpenControls (Figura 27) tem como funo instanciar o objeto
IdataSourceFactory que um dos objetos responsveis pela identificao do
corpo humano pelo dispositivo Kinect.
Figura 27 Classe OpenControls

Fonte - Autor

5.2.12. PathFactory

Assim como outras classes anteriormente citadas, a classe Pathfactory


(figura 28) tambm foi uma classe herdada do projeto CandescentNUI e sua

51

funo na aplicao desenhar uma figura geomtrica oval a partir do


contorno da mo do usurio.
Figura 28 Classe PathFactory

Fonte - Autor

5.2.13. PerguntaLetra

A classe PerguntaLetra (figura 29) atua na camada de usurio e tambm


no back-end da aplicao. Esta classe responsvel por apresentar as duas
letras mais prximas ao sinal realizado pelo usurio quando o algoritmo no
capaz de definir com clareza. Este processo de perguntar a letra ser descrito
nos prximos tpicos sobre o funcionamento do algoritmo.
Figura 29 Classe PerguntaLetra

Fonte - Autor

52

5.2.14. Classes Externas


A figura 30 apresenta em resumo, as classes que fazem parte dos
frameworks utilizados no desenvolvimento deste projeto.
Figura 30 Classes Externas

Fonte - Autor

53

5.2.15. Relacionamento entre classes Grfico de dependncias

A figura 31 foi criada com o objetivo de apresentar graficamente as


relaes entre as classes envolvidas no desenvolvimento do projeto.
Figura 31 Grfico de dependncias entre classes

Fonte - Autor

54

5.3.

Telas

Nesta parte do captulo so apresentadas as caractersticas e funes


das duas telas do sistema que os usurios tm acesso, a tela inicial e a tela de
configurao.

5.3.1. Tela Inicial

A tela inicial do software, (figura 32), apresenta todos os comandos


necessrios para controle total da aplicao, alm da visualizao da imagem
projetada pela cmera RGB do dispositivo, com exceo tela de
configurao.
Figura 32 Tela Inicial do Software

Fonte - Autor

Para criar o efeito de contorno acima da mo que projetada pelo vdeo


foram utilizadas trs camadas de objetos sobrepostos. A camada interna
contm a visualizao da cmera RGB do dispositivo. A segunda camada
possui um objeto Canvas que permite desenhar qualquer figura geomtrica em

55

qualquer coordenada X e Y. Dentro deste Canvas encontra-se a terceira


camada que um objeto imagem que permite carregar qualquer imagem que a
aplicao necessite.
Sendo os dois ltimos objetos transparentes, eles no atrapalham na
visualizao da imagem RBG, e as figuras ou textos, criados a partir deles,
ficam sobrepostos imagem que exibida pelo dispositivo, como apresentado
na figura 33.
Figura 33 Camadas Canvas da aplicao

Fonte - Autor

O layout foi adaptado para melhor usabilidade sem a necessidade da


utilizao de um mouse. Enquanto o software estiver sendo utilizado, no se
faz necessria a utilizao de teclado e mouse, a lgica aplicada no software
permite o controle do ponteiro do mouse a partir do dispositivo Kinect.
Os pares ordenados X e Y detectados pelo dispositivo Kinect so
passados para as coordenadas do ponteiro do mouse. A configurao de
reconhecimento e funo clique do mouse so configuradas por um objeto
ComboBox presente na tela principal, figura 35, identificado como "Modo de
Mouse".
O controle do mouse tem ativao automtica. Enquanto o usurio no
ativa o algoritmo de reconhecimento possvel controlar o mouse a partir do

56

Kinect. Uma vez que o algoritmo acionado e passa a trabalhar no


reconhecimento da letra, o controle do mouse desabilitado e volta a ser
reativado ao final do algoritmo ou no momento de escolher uma letra. O mesmo
controle pode ser ativado e desativado manualmente atravs do objeto
CheckBox identificado como "Habilitar Mouse" na tela inicial (figura 34).
Figura 34 Componentes de controle da Tela Inicial

Fonte - Autor

Juntamente a este controle, existem outras duas funes de configurao


do sistema. "Esqueleto" e "Calibragem Rpida". A primeira habilita e desabilita
a funo de exibio do "esqueleto" do usurio enquanto o mesmo utiliza o
software. Como citado anteriormente, o Kinect, utilizando-se do pacote de
desenvolvimento disponibilizado pela Microsoft Kinect for Windows Dev

57

Center, capaz de detectar e rastrear 48 pontos (joints) no corpo de cada


usurio. A partir dos pares ordenados X e Y de cada joint possvel desenhar
pontos na segunda camada dos objetos Canvas. Como o objeto de desenho
transparente, o desenho do joint permanece acima da primeira camada aonde
representada a figura RGB do dispositivo Kinect. Por fim, o software liga os
joints desenhando linhas de um ponto outro, criando o esqueleto do usurio.
Por definio, o software est configurado para representar apenas 12 pontos
do esqueleto do usurio, todos os pontos presentes acima da cintura,
excetuando-se as expresses faciais. Esta alterao prev melhoria no
desempenho do software.
A tela inicial apresenta ainda dois botes para manipulao do texto
escrito, alm do boto Iniciar que inicializa o dispositivo Kinect, tal processo
feito automaticamente na inicializao da aplicao. O boto Parar, que libera
da memria as variveis e objetos de controle do dispositivo Kinect, e por fim, o
boto Config, que permite o acesso tela de configuraes da aplicao.

5.3.2. Tela de Configurao

A configurao otimizada da aplicao padronizada em arquivos XAML


prprios do Visual Studio, porm ela ainda pode ser alterada na tela de
configurao, representada pela figura 35. Diferentemente da tela inicial, esta
tela foi criada para ser usada esporadicamente, por isso no houve
preocupao em manter o layout sem a necessidade de utilizar mouse e
teclado.

58

Figura 35 Tela de configurao

Fonte - Autor

59

Esta tela divide-se em abas de configuraes que permitem configurar


componentes internos do sistema, como Cluster, contorno e deteco da mo
e contorno do esqueleto, alm da configurao do motor do dispositivo Kinect.
O Kinect permite uma inclinao que varia entre -27 a 27 graus. Este ngulo
pode ser configurado dentro da aplicao de forma a adaptar o dispositivo para
o usurio que ir utilizar o software. Todas as configuraes, se alteradas,
podem impactar diretamente na eficincia do algoritmo.

5.4.

Algoritmos

Aps a modelagem do projeto e a apresentao do software o captulo


passa a abordar o algoritmo de reconhecimento de sinais. O algoritmo
dividido em duas partes. A calibragem e o reconhecimento. Na etapa da
calibragem o sistema capaz de identificar e parametrizar todos os atributos
necessrios para a captura dos sinais realizados por determinado usurio. O
reconhecimento por sua vez, consiste em comparar os dados da calibragem
com os

dados obtidos no momento da execuo do sinal, possibilitando,

atravs de lgicas de deciso, a definio da letra a partir do sinal realizado.


Os algoritmos de calibragem e de reconhecimento so detalhados a
seguir.

5.4.1. Calibragem

O dispositivo Kinect capaz de reconhecer o corpo do usurio sem a


necessidade de uma calibragem inicial, porm em muitos softwares e jogos
este processo ainda comum, pois as aplicaes em geral necessitam guardar
dados de base para que seus algoritmos consigam ser executados com maior
confiabilidade.

60

O processo de calibragem desta aplicao consiste em guardar dados


caractersticos da mo do usurio para que seja possvel identificar, em
qualquer rea da aplicao, qual letra que o usurio est representando.
O software permite a calibragem em dois mtodos diferentes, a
"calibragem normal" e a "calibragem rpida". Esta ltima pode ser habilitada na
tela inicial. A "calibragem normal" habilitada por padro na inicializao do
software.
Este processo de calibragem realizado na inicializao da aplicao,
porm pode ser acionado a qualquer momento atravs do boto "Detectar"
tambm localizado na tela inicial. O ponto de inicializao da calibragem
visvel na tela como representado pela figura 36.
Figura 36 Ponto de inicializao da Calibragem

Fonte - Autor

O usurio d incio ao algoritmo de calibragem no momento em que


posiciona o centro da mo no local indicado.
A Calibragem Normal foi criada para facilitar a interao com usurios que
no possuem familiaridade com o sistema, e divide-se em quarto etapas, sendo
trs delas de interao com o usurio e a ltima interna no algoritmo, comum

61

para ambos os processos de calibragem: Identificao do dedo polegar,


identificao do dedo mnimo, identificao da mo como um todo, Clculos e
armazenagem de dados.
O usurio d incio ao algoritmo posicionando o centro de sua mo no
local indicado. Na primeira etapa do processo o usurio posiciona somente o
dedo polegar. O software reconhece o dedo e armazena as coordenadas X,Y e
Z. A segunda etapa consiste em armazenar as coordenadas do dedo mnimo
de forma semelhante primeira. Na terceira etapa o usurio orientado a
posicionar o centro da mo no local indicado, de forma semelhante ao incio do
algoritmo. Nesta etapa so armazenas as coordenadas X, Y e Z do dedo
mdio.
A partir destes dados so calculadas as coordenadas dos dedos indicador
e anelar, obtendo a mdia entre as distncias do polegar com o mdio e do
mnimo com o mdio respectivamente, o eixo Z do plano cartesiano tambm
considerado na anlise. O algoritmo trabalha com aproximao de dez pontos
de diferena para mais ou para menos, as etapas da calibragem no so
realizadas se esta distncia divergir alm da aproximao.
Armazenar as coordenadas X e Y no seria suficiente para definir cada
dedo em um sinal, uma vez que o usurio pode realizar o sinal em um ponto
diferente do que foi calibrado. Para que seja possvel realizar um sinal em
qualquer rea da aplicao o algoritmo armazena em um objeto "Hand" as
distncias entre o centro da mo e os pontos obtidos na calibragem. Como os
valores das distancias entre os dedos anelar e indicador, e mnimo e polegar
so muito semelhantes o algoritmo determina o dedo mdio como ndice 0 do
eixo, os valores esquerda (mnimo e anelar) como ndices negativos e os
valores direita (indicador e polegar) como ndices positivos, desta forma o
algoritmo de reconhecimento no se perde ao reconhecer um determinado
dedo.
A ltima etapa da calibragem consiste em armazenar e projetar a mo do
usurio em todos os pontos inteiros do eixo Z. Em cada ponto do eixo Z as
coordenadas de cada dedo assumem valores diferentes, inviabilizando o

62

reconhecimento do sinal se o mesmo for executado em um ponto Z diferente


do qual foi calibrado. Para corrigir o problema o algoritmo calcula como seria a
mo do usurio em cada ponto do eixo Z utilizando-se da teoria da semelhana
de tringulos conforme vemos na figura 37.
Figura 37 Projeo da mo do usurio

Fonte - Autor

Desta forma cria-se o objeto com o qual o algoritmo de reconhecimento


ir ter como base para identificar o sinal, um vetor de "Hands".
A calibragem rpida procura poupar o tempo dos usurios que j
possuem facilidade no uso do sistema. Este mtodo divide-se em duas etapas:
Identificao da mo do usurio como um todo e clculos e armazenagem de
dados. Este ltimo descrito previamente no processo da calibragem normal.
Aps a inicializao do algoritmo de calibragem, na identificao da mo
do usurio como um todo, o mesmo posiciona o centro da mo no local
indicado, e diferentemente do primeiro mtodo, o algoritmo identifica e
armazena dados de todos os dedos. Este algoritmo acionado aps a
identificao de todos os dedos ao mesmo tempo, ou seja, para que a
calibragem seja concluda, necessrio que o usurio posicione sua mo de
tal forma que todos os dedos sejam reconhecidos pelo dispositivo Kinect. As
coordenadas X, Y e Z de cada dedo so armazenadas e a partir desta etapa

63

d-se incio ao armazenamento e projeo da mo do usurio como descrito


anteriormente.
Aps o processo da calibragem a aplicao est apta a identificar as
letras do alfabeto de LIBRAS.

5.4.2. Algoritmo de Reconhecimento

Aps o processo de calibragem o software permite que o usurio inicie ao


algoritmo de reconhecimento.
O algoritmo de reconhecimento acionado com um movimento horizontal
na tela entre os pontos indicados na figura 38.
Figura 38 Pontos de inicializao de Sinal

Fonte - Autor

Um temporizador de cinco segundos acionado para que o usurio tenha


tempo de posicionar o sinal desejado. Aps este tempo, o algoritmo passa a
analisar o sinal que est sendo realizado pelo usurio.
O tempo que o sinal fica exposto ao algoritmo configurvel. Por padro
o software mantm o algoritmo de reconhecimento ativo durante sete
segundos. Este tempo foi analisado e definido por apresentar confiabilidade no
resultado da anlise.

64

A anlise das letras divide-se em trs partes: Letras que possuem


quantidades definidas de dedos, letras que no possuem dedos presentes no
sinal e letras com movimento.
O algoritmo inicia a anlise definindo quantos dedos esto presentes no
sinal apresentado pelo usurio. Para cada dedo encontrado so armazenadas
as coordenadas X e Y, e, a partir destes dados, o algoritmo calcula a distncia
entre o centro da mo do usurio e os pontos encontrados, de forma
semelhante calibragem. O valor obtido no eixo Z utilizado para encontrar
dentro do vetor de "hands" o valor Z correspondente mais prximo. Tendo
carregado o objeto Hand, armazenado na calibragem, juntamente com os
dados obtidos em tempo de execuo, o algoritmo capaz de identificar qual
dedo est presente em determinado sinal.
Para analisar se o sinal possui dedos apontados para baixo, como na
representao da letra N ou M, o algoritmo analisa ainda se a coordenada do
eixo Y do dedo menor do que a coordenada do mesmo eixo do centro da
mo.
Aps analisar quantos e quais so os dedos presentes no sinal o
algoritmo capaz de definir qual letra que o usurio est representando.
Para letras que no possuem dedos, o algoritmo analisa a distncia entre
a palma da mo e o ponto de contorno mais longe do centro, ou seja, o valor
do eixo Y que mais se distancia do valor do mesmo eixo do centro da palma da
mo.
Esta anlise considera como base comparativa a distncia entre o dedo
mdio e o centro da palma da mo obtido na calibragem (Figura 39).

65

Figura 39 Altura Y da mo do usurio

Fonte - Autor

Esta ltima distncia dividida por trs e cada parcial comparada


distncia encontrada em tempo de execuo. A partir desta comparao o
algoritmo consegue definir qual letra est sendo representada pelo usurio.
A ltima anlise consiste em letras com movimento. Dependendo do dedo
analisado no sinal possvel habilitar coordenadas indicadas na tela principal
que daro incio um movimento de letra especfica, como no caso das letras J
e Z que tm seus movimentos acionados pelo dedo mnimo conforme ilustram
as figuras 40 e 41.
Figura 40 Reconhecimento da Letra Z

Fonte - Autor

66

Figura 41 Reconhecimento da letra J

Fonte - Autor

Em cada ciclo de processamento o algoritmo define qual a letra que est


sendo mostrada pelo usurio, a letra definida armazenada em um contador.
Ao final do ciclo, a letra que possuir o maior nmero em seu contador
apresentada como sendo a letra representada pelo usurio em uma caixa de
texto abaixo da imagem do usurio, na tela principal como apresenta a figura
42.
Figura 42 Componentes de texto da Tela Inicial

Fonte - Autor

H casos em que a letra obtida assemelha-se muito a alguma outra letra


do alfabeto de LIBRAS, como exemplo entre as letras A e S. Nestes casos o
algoritmo no capaz de discernir qual letra o usurio est tentando
representar. Para corrigir este problema a aplicao apresenta na tela as duas
letras mais prximas do sinal demonstrado e o controle do mouse habilitado
para que o usurio escolha qual letra que realmente foi representada pelo sinal
realizado. Basta que o usurio posicione o ponteiro do mouse sobre a letra
desejada para o software contabiliz-la e defini-la como a letra representada
pelo sinal. Como representado na figura 43.

67

Figura 43 Escolha de letra

Fonte (Autor)

6. Testes de Usabilidade
O teste de usabilidade um dos modelos de testes conceituado e
desenvolvido pelo estudo da Interao Humano-Computador (IHC).
Em seu livro Handbook of Usability Testing, sem traduo para o
portugus, os autores Jeff Rubin 1 e Dana Chisnell 2 definem que, em geral, um
produto possui usabilidade quando h [...] ausncia de frustrao na utilizao
[...] quando um produto ou servio realmente til, o usurio pode fazer o que
ele ou ela quer fazer do jeito que ele ou ela espera ser capaz de faz-lo, sem
impedimentos, hesitao, ou questes.(RUBIN J., Chisnell D.,2008).
Segundo Rubin e Chisnell (RUBIN J., Chisnell D.,2008) o teste de
usabilidade pode ser definido como um processo no qual os participantes
avaliam o grau que um produto se encontra em relao a critrios especficos
de usabilidade. Os teste de usabilidade so mais eficientes quando
implementados no processo de desenvolvimento do software.
1

Psiclogo Experimental pela Universidade de Lehigh, EUA.Co-fundador e scio-gerente do The


Usability Group de 1999 2005.Atuou no Conselho de Administrao da Associao dos Profissionais de
Usabilidade de 1999 2001.
2
Bacharel em Ingls pela Universidade Estadual de Michigan. Pesquisadora em usabilidade e design de
interface de usurio, e consultora em comunicao tcnica e desenvolvimento desde 1982.

68

Este captulo apresenta uma avaliao preliminar do teste de usabilidade


aplicada ao software desenvolvido.
6.1. Objetivo do Teste
O objetivo deste teste verificar a usabilidade alcanada pelos
participantes e o entendimento das funes do sistema, com a finalidade de
realizar correes necessrias posteriormente. Para que seja possvel avaliar a
usabilidade do software fez-se necessrio medir o tempo gasto para a
realizao das tarefas propostas e a identificao de erros e dificuldades
envolvendo a utilizao do prottipo.
6.2. Perfil do Usurio
Foram utilizados 4 usurios, entre 22 e 40 anos de idade, sem restrio
quanto a conhecimentos prvios sobre informtica ou sobre o alfabeto em
LIBRAS.
6.3. Metodologia
Para melhorar a adaptabilidade no modo de uso do Sistema Operacional
pelo Kinect foram propostas as tarefas preliminares conforme a Tabela 4.

N Tarefa

Tabela 4 Tarefas Preliminares Teste de Usabilidade


Detalhamento da Tarefa
Descrio da Tarefa
TME: Tempo mximo para Execuo
Controlar as funes
Utlizar o Kinect para realizar as funes bsicas de
bsicas do sistema
controle do sistema operacional, tais como: Mover o
operacional Windows
mouse e controlar apresentaes de slides e fotos.
utilizando o Kinect.
TME: 10 minutos.
Utilizar softwares
O usurio deve estar familiarizado com outros
semelhantes ao prottipo
softwares disponibilizados pela Microsoft que
desenvolvido.
apresentam usabilidade semelhante ao prottipo
desenvolvido. Esta tarefa visa mitigar o impacto
com algoritmo de calibragem e o movimento
horizontal necessrio para inicializao do sinal.

Estudo sobre o alfabeto em


LIBRAS

TME: 15 minutos
Observar e treinar os sinais do alfabeto em LIBRAS
a partir dos desenhos apresentados pelo avaliador.
TME: 10 minutos.
Fonte - Autor

69

O formulrio Coleta de Dados (Anexo 1) foi preenchido de acordo com o


progresso do usurio na utilizao do software e, aps a coleta de dados, o
usurio pde preencher o questionrio de Avaliao do Software (Anexo 2).
6.4. Relatrio de Resultados
6.4.1 Erros por execuo de Tarefas
A tabela 5 mostra o nmero de erros que cada usurio cometeu durante a
execuo das treze tarefas propostas.
Tabela 5 Erros x Tarefa Teste de Usabilidade

Tarefas
Usurio 1
Usurio 2
Usurio 3
Usurio 4
Mdia
Desvio
Padro
Pior Nvel
Aceitvel
Nvel Alvo
Melhor
Nvel

1
2
3
4
5
6
7
8
9
10
11
12
13
1
5
3
0
0
2
1
4
5
1
2
5
2
2
3
0
0
0
3
0
3
5
1
0
3
0
1
3
0
0
0
2
1
1
5
0
0
2
0
3
5
2
0
0
2
2
3
0
0
3
2
2
1,75 4,00 1,25 0,00 0,00 2,25 1,00 2,75 3,75 0,50 1,25 3,00 1,00
1,66 2,00 2,60 0,00 0,00 0,87 1,41 2,18 4,33 1,00 2,60 2,45 2,00
2
1

3
1

1
0

1
0

2
1

3
1

1
0

2
1

3
1

1
0

2
1

3
1

2
0

Fonte - Autor

Atravs dos dados obtidos possvel avaliar que houveram maiores


dificuldades na realizao da sexta, nona e dcima segunda tarefas, por se
tratarem justamente das tarefas envolvendo a realizao de sinais de maior
complexidade envolvendo letras com dedos definidos, letras sem dedos
definidos e letras com movimento respectivamente.
As demais tarefas mantiveram a mdia de erros dentro do esperado,
estando prximo ao nvel alvo ou dentro do nvel aceitvel de erros.
6.4.2 Respostas ao questionrio de Avaliao
A tabela 6 traz o comparativo entre as respostas dos usurios referentes
s questes objetivas do questionrio de avaliao da usabilidade do software.

70

Tabela 6 Questionrio de Avaliao Teste de Usabilidade


Questo
a Facilidade de Utilizao

Usurio 1

Usurio 2

Usurio 3

Usurio 4

3,5

1,7321

b Algoritmo de Calibragem

3,25

0,8660

c Algortimo de Reconhecimento

4,25

1,6583

d Tempo de Exposio do Sinal

3,5

1,0000

e Organizao das informaes

0,0000

Layout das Telas

Mdia

Desvio Padro

4,75

0,8660

g Nomenclatura utilizada nas telas

4,25

0,8660

h Mensagens do Sistema

3,5

1,7321

Assimilao das informaes

0,0000

J No geral, a realizao do teste foi

4,25

0,8660

4
Fonte - Autor

Segundo os dados apresentados

na tabela 6, possvel avaliar que

grande parte das questes ficaram acima da mdia, excetuando-se o tempo de


exposio do sinal, no qual o melhor valor apresentado deveria ser abaixo da
mdia de trs pontos. O resultado obtido representa que o tempo que o usurio
necessita ficar esperando pela resposta do sistema est ligeiramente longo.
As respostas s questes dissertativas esto descritas abaixo.
Questo 2 - Aponte situaes em que voc achou fcil utilizar no sistema.
Usurio 1 Na execuo dos comandos solicitados e letras com
movimento.
Usurio 2 No sistema de reconhecimento; Sinais sem movimentao;
Sinais sem dedos definidos e ou com a apresentao de mais de uma letra
para escolha.
Usurio 3 No algoritmo de reconhecimento. Entender o que o sistema
quer passar de informao. Escolha de uma letra ao ter que decidir quando o
sistema est em dvida.
Usurio 4 No movimento para comear a reconhecer o sinal e no
reconhecimento de letras com dedos distintos.
Questo 3 Aponte situaes que voc sentiu dificuldade.

71

Usurio 1 Interpretao de letras sem dedos definidos e utilizao do


mouse virtual.
Usurio 2 Algoritmo de Calibragem e sinais com movimento.
Usurio 3 Acertar o ponto de calibragem do sistema. Reconhecer letras
que no possuem os dedos bem definidos.
Usurio 4 Letras que no diferenciam dedos. Acertar o local da
calibragem com os cinco dedos abertos.
Questo 4 Diante do teste realizado, voc acha que o programa atingiu
o objetivo para o qual foi desenvolvido ?
Usurio 1 Sim, por se tratar de um desenvolvimento que partiu do zero,
principalmente na programao.
Usurio 2 Sim, por apresentar, na maioria das vezes, as letras que o
usurio procurou representar.
Usurio 3 Sim, por reconhecer as letras que procuramos representar,
muitas vezes sem precisar refazer o sinal.
Usurio 4 Sim. Por conseguir reconhecer os sinais at com usurios
sem experincia.

72

Consideraes Finais
Um dos principais desafios para o desenvolvimento de aplicaes
voltados tecnologia assistiva est relacionado usabilidade do sistema.
Ao buscar alcanar o objetivo proposto para o desenvolvimento do
software, a principal preocupao esteve relacionada usabilidade do mesmo.
Como e o quo confortveis os usurios se sentiriam ao utilizar uma aplicao
que no necessitasse dos perifricos bsicos, como teclado e mouse, e, ao
mesmo tempo, passando informaes relevantes para o sistema conseguir
interpretar o sinal proposto.
A partir dos dados levantados atravs do teste de usabilidade do software
possvel analisar, com o desvio padro, a mdia da variao do nmero de
erros cometidos por tarefa entre cada participante, o que indica que a
exprincia do usurio com o uso do software tambm relevante para avaliar a
usabilidade do mesmo.
importante ressaltar que grande parte das tarefas propostas foram
realizadas mantendo a mdia de erros dentro do nvel esperado, sendo vlido
observar que os usurios tiveram maior dificuldade justamente nas letras com
maior complexidade no sinal, com ou sem dedos definidos, como as letras T ou
F, e em alguns movimentos especficos, como nas letras H e K.
O questionrio de avaliao da usabilidade do software mostrou que os
pontos crticos de utilizao do sistema esto acima da mdia esperada, ao
mesmo tempo em que as respostas dissertativas dos usurios serviram para
levantar possveis alteraes de melhorias no o uso do sistema.
O layout das telas, a organizao das informaes e at mesmo o prprio
algoritmo de reconhecimento dos sinais so pontos a serem destacados.
Enquanto o algoritmo de calibragem, o tempo em que o usurio precisa esperar
para receber a confirmao do sinal e o reconhecimento de letras que o
dispositivo Kinect no consegue distinguir os dedos presentes, podem ser
reanalisados para melhor atender aos usurios em uma prxima verso do
software.

73

Levando-se em considerao as limitao tcnicas do dispositivo Kinect,


os resultados dos testes e a avaliao final dos usurios, o software mostrou
ser capaz de reconhecer os sinais do alfabeto de LIBRAS mantendo uma
usabilidade aceitvel pelo usurio.
O estudo realizado sobre o alfabeto em LIBRAS e os algoritmos
desenvolvidos para reconhecimento dos sinais, mostraram que possvel
desenvolver aplicaes similares para este fim, capazes de identificar e traduzir
as vinte e seis letras que compem o alfabeto em LIBRAS.
Com o avano da tecnologia, tanto em hardware como em software, e a
partir dos estudos j existentes sobre este tema, as prximas pesquisas
tendem a ter como objetivo a traduo, em tempo de execuo, dos elementos
bsicos que compem os sinais, permitindo que os usurios interajam no
apenas com letras, mas com palavras.
Assim como o prottipo j desenvolvido pela equipe de pesquisadores da
Microsoft, podemos esperar que pesquisas como estas sejam desenvolvidas
para a traduo completa da Lngua Brasileira de Sinais.

74

ANEXO A Formulrio de Coleta de Dados

ANEXO B - Questionrio de Avaliao do Software

75

76

ANEXO B - Questionrio de Avaliao do Software


O objetivo deste questionrio colher informaes sobre a opinio do usurio
que utilizou o prottipo desenvolvido.
1. Favor marcar o nmero correspondente ao grau que voc mais concorda:
a Facilidade de Utilizao
b Algoritmo de Calibragem
c Algortimo de Reconhecimento
d Tempo de Exposio do Sinal
e Organizao das informaes
f

Layout das Telas

g Nomenclatura utilizada nas telas (nome


de comandos, ttulos, campos, etc.)
h Mensagens do Sistema
I

Assimilao das informaes

J No geral, a realizao do teste foi

Difcil
0
1
Confuso
0
1
Confuso
0
1
Rpido
0
1
Ruim
0
1
Confuso
0
1
Confuso
0
1
Confuso
0
1
Difcil
0
1
Montona
0
1

Fcil
5
Claro
4
5
Claro
4
5
Demorado
4
5
Boa
4
5
Claro
4
5
Claro
4
5
Claro
4
5
Fcil
4
5
Interessante
4
5
4

2. Aponte situaes em que voc achou fcil utilizar no sistema:


_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
3. Aponte situaes que voc sentiu dificuldades:
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
4. Diante do teste realizado, voc acha que o programa atingiu o objetivo para
o qual foi desenvolvido? Explique.
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________

77

Referncias Bibliogrficas

ABRO, Gustavo Donato. Kinect: a anlise completa do Baixaki com vdeo e


infogrfico. Disponvel em: <http://www.tecmundo.com.br/xbox-360/7021kinect-a-analise-completa-do-baixaki-com-video-einfografico.htm#ixzz1LDHC7oYl> Acesso em: 19 Fevereiro 2014.
ARRUDA,Felipe. A histria da Interface Grfica. Disponvel em:
http://www.tecmundo.com.br/historia/9528-a-historia-da-interface-grafica.htm.
Acesso em: 15 Abril 2014.
BLAKE, Joshua. The Natural User Interface Revolution. Disponvel em:
http://nui.joshland.org/2009/01/natural-user-interface-revolution.html Acesso
Em: 15 Abril 2014.
Candescent NUI. Codeplex. Disponvel em:
http://candescentnui.codeplex.com/. Acesso em: Jul/2013.
CRAWFORD, Stephanie. Como funciona o Microsoft Kinect. Disponvel em:
<http://eletronicos.hsw.uol.com.br/microsoft-kinect2.htm> Acesso em: 19
Fevereiro 2014.
CUORE, P. R. E. C. A Importncia De Conhecer A Estrutura Lingstica Da
Libras Para O Educador, Campo Grande, 30 maio 2009. Disponivel em:
<http://www.artigonal.com/educacao-artigos/a-importancia-de-conhecer-aestrutura-linguistica-da-libras-para-o-educador-945026.html>. Acesso em: 05
Maro 2014.
DEVELOPER NETWORK, Microsoft. Kinect for Windows Sensor Components
and Specifications. Disponvel em: <http://msdn.microsoft.com/enus/library/jj131033.aspx> Acesso em: 19 de Fevereiro 2014.
DUFFY, Jill. Exclusive: Inside Project Natal's Brain. Disponvel em:
<http://www.popsci.com/gadgets/article/2010-01/exclusive-inside-microsoftsproject-natal> Acessado em: 19 Fevereiro 2014.
EG SA, Equipe. Tipos de Interface por Usurio: por linha de comando.
Disponvel em: http://www.ecommercegroup.com.br/tipos-de-interface-dousuario-por-linha-de-comando.html. Acesso em: 15 Abril 2014.
GOHRING, N. Mundie: Microsoft's Research Depth Enabled Kinect. PC
World,2010.Disponivel em:

78

<http://www.pcworld.com/businesscenter/article/202184/mundie_microsofts_res
earc h_depth_enabled_kinect.html>. Acesso em: 19 Maro 2011.
IBGE - Censo Demogrfico 2010:Resultados gerais da amostra. Disponvel em:
http://censo2010.ibge.gov.br/noticiascenso?busca=1&id=3&idnoticia=2170&view=noticia. Acesso em: Mar/2012.
JNIOR, lvaro Pereira Jr. e PETR, Gustavo. Conhea o brasileiro que criou
o videogame que se joga sem joystick. Disponvel em:
<http://g1.globo.com/tecnologia/noticia/2010/06/conheca-o-brasileiro-que-criouo-videogame-que-se-joga-sem-joystick.html>. Acessado em: 19 Fevereiro
2014.
Kinect For Windows. Dev Center. Disponvel em: <http://www.microsoft.com/enus/kinectforwindows/discover/features.aspx> Acesso em 08 Abril 2014.
LEADBETTER, Richard. Prime Sense: Beyond Natal. Disponvel em:
<http://www.eurogamer.net/articles/digitalfoundry-primesense-article?page=2>
Acesso em: 19 Fevereiro 2014.
Libras. O que LIBRAS? Disponvel em: <http://www.libras.com.br/libras/oque-e-libras> .Acesso em: Jan/2014.
MASSOLI, Adriano. Alfabeto Libras. Disponvel em:<
http://csjonline.web.br.com/alfabeto.htm> Acesso em: 08 Abril 2014.
MICROSOFT. Microsoft, 2011. Disponivel em: <www.microsoft.com>. Acesso
em: 26 Abril 2011.
OLIVEIRA, P. M. T. D. Sobre Surdos. Site de Jonas Pacheco, 2011. Disponivel
em: <http://www.surdo.org.br/informao.php?lg=pt&info=Historiadossurdos>.
Acesso em: 24 Fevereiro 2014.
OPENNI. Disponvel em: <http://www.openni.org/> Acesso em: 08 Abril 2014.
RAMOS, C. R. LIBRAS: A Lngua de Sinais dos Surdos Brasileiros, Petrpolis,
2006. Disponivel em: <http://www.editora-arara-azul.com.br/pdf/artigo2.pdf>.
Acesso em: 05 Maro 2014.
RESEARCH. Microsoft. Kinect Sign Language Translator. Disponvel em:
<http://research.microsoft.com/en-us/collaboration/stories/kinect-sign-languagetranslator.aspx> Acesso em: 08 Abril 2014.

79

REYNOLDS, M. Digital Spy. Disponvel em:


<http://www.digitalspy.co.uk/gaming/news/a284690/rare-kinect-will-be-ourmain-focus.html?rss>. Acesso em: 19 Fevereiro 2014.
RIEDER, David M. From GUI to NUI: Microsofts Kinect and the Politics of the
(Body as) Interface. Disponvel em: http://www.presenttensejournal.org/volume3/from-gui-to-nui-microsofts-kinect-and-the-politics-of-the-body-as-interface/
Acesso em: 15 Abril 2014.
RUBIN, Jeff, CHISNELL, Dana. Handbook of Usability Testing: How to Plan,
Design and Conduct Effective Tests. Wiley Publishing, Inc., 2008. 366 p.
SOFTWARE LIVRE. Interface Natural do Usurio. NUI. Disponvel em:
http://softwarelivre.org/jordan/blog/interface-natural-do-usuario-nui%E2%80%93-natural-user-interface Acesso em: 15 Abril 2014.
WASH, R. PrimeSense Supplies 3-D-Sensing Technology to Project Natal for
Xbox 360. Microsoft Corporation. Disponivel em:
<http://www.microsoft.com/Presspass/press/2010/mar10/0331PrimeSensePR.mspx>. Acesso em: 19 Fevereiro 2014.

Potrebbero piacerti anche