Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
-
Upload
lucas-rios -
Category
Documents
-
view
59 -
download
0
description
Transcript of Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
1/79
FACULDADE DE TECNOLOGIA DE SO PAULO
LUCAS TADEU ROSENTE RIOS
Reconhecimento completo do alfabeto de LIBRAS com dispositivo KINECT
SO PAULO2014
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
2/79
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 PAULO2014
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
3/79
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
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
4/79
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 dosconceitos 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, assimcomo testes aplicados com usurios para avaliar a usabilidade do software.
Palavras-Chave: LIBRAS. Reconhecimento. Alfabeto. Kinect. NUI.
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
5/79
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, atruntime, 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 thesoftware.
Keywords: LIBRAS. Recognizing. Alphabet. Kinect. NUI.
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
6/79
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 .......................................................................... 28Figura 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
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
7/79
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 .................................................. 66Figura 42 Componentes de texto da Tela Inicial ................................... 66
Figura 43 Escolha de letra .................................................................... 67
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
8/79
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
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
9/79
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 ............................................... 252.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/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
10/79
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 dedependncias ................................................................... 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.................................. 76Referncias Bibliogrficas ....................................................................... 77
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
11/79
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 surdo-
mudos". Projeto esse que no conseguiu ser .
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
12/79
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, poisapresenta 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 projetosna 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,
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
13/79
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.
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
14/79
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 visual-
espacial.
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.
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
15/79
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 eestas 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, talcomo 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).
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
16/79
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.
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
17/79
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
ComMovimento
SemDedos
Definidos
ComDedos
DefinidosA
B
C
D
E
F
G
H
I
J
K
L
M
N
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
18/79
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 maisdedos.
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
RepresentaoGrfica
Dedospresentes no
SinalDescrio do Movimento
H Indicador eMdio
Movimento circular horizontal dodedo mdio, tendo o dedo indicadorcomo eixo, no sentido anti-horrio.
J MnimoMovimento circular vertical do dedomnimo, tendo a palma da mo comoeixo, no sentido anti-horrio.
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
19/79
19
K Indicador eMdio
Movimento da mo na vertical paracima.
X IndicadorMovimento horizontal da moestando na posio deitada.
Z Indicador Combinao entre o movimentohorizontal e diagonal.
Fonte - Autor
As letras contidas no conjunto de sinais sem dedos definidos podem ser
caracterizadas pela singularidade do sinal, ou seja, a posio necessria paraa 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.
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
20/79
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
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
21/79
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 movimentoRepresentao
GrficaQtde. Dedos Identificao Sentido dos
Dedos
C 2Polegar
Indicador
Direita (se moesquerda)
Esquerda (se modireita)
D 3 PolegarIndicadorMdio
Para cima
F 5
PolegarIndicador
MdioAnelarMnimo
Para cima
G 1 Indicador Para cima
I 1 Mnimo Para cima
L 2 PolegarIndicador
Para cima
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
22/79
22
M 3Indicador
MdioAnelar
Para baixo
N 2 IndicadorMdio Para baixo
P 2 IndicadorMdio
Direita (se moesquerda)
Esquerda (se modireita)
Q 1 Indicador Para baixo
R 2Indicador
Mdio Para cima
T 5
PolegarIndicador
MdioAnelarMnimo
Para cima
U 2 IndicadorMdio Para cima
V 2Indicador
Mdio Para cima
W 3Indicador
MdioAnelar
Para cima
Y 2PolegarMnimo Para cima
Fonte - Autor
O desenvolvimento deste estudo e sua aplicao deram origem ao
algoritmo de reconhecimento completo do alfabeto de LIBRAS.
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
23/79
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 otexto, 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).
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
24/79
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.
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
25/79
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).
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
26/79
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 empresasobteve 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).
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
27/79
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 h necessidade de
conhecimento tcnico prvio para utilizao de sistemas e a curva de
aprendizado, tanto para uso pessoal, como para fins profissionais, menor doque 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
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
28/79
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
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
29/79
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 captuloapresenta 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
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
30/79
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 prestarhomenagem. (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.
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
31/79
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" referindo-
se aos componentes de cor detectados.
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
32/79
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 paraWindows 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 fazuso dos dados que recolhe.
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
33/79
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.
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
34/79
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, acomunidade de desenvolvedores e analistas desenvolveu ferramentas capazes
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
35/79
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 eracompatvel 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
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
36/79
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.
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
37/79
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 dauniversidade de Pequim, em parceria com pesquisadores do intituto de
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
38/79
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)
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
39/79
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 odesign 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 correspondeao 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.
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
40/79
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.
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
41/79
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.
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
42/79
42
Figura 17 Classe Config
Fonte - Autor
Figura 18 Classe wConfig
Fonte - Autor
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
43/79
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
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
44/79
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.
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
45/79
45
Figura 21 Classe HandInterfaceElement
Fonte Autor
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
46/79
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,
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
47/79
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
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
48/79
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 porinicializar o dispositivo Kinect, carregar os atributos iniciais e gerenciar todos os
eventos contidos na interface da tela principal.
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
49/79
49
Figura 25 Classe MainWindow
Fonte - Autor
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
50/79
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
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
51/79
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
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
52/79
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
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
53/79
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
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
54/79
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
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
55/79
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
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
56/79
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
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
57/79
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 textoescrito, 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.
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
58/79
58
Figura 35 Tela de configurao
Fonte - Autor
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
59/79
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.
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
60/79
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
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
61/79
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 doeixo, 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
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
62/79
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
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
63/79
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 noresultado da anlise.
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
64/79
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 qualdedo 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 oalgoritmo 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 dedomdio e o centro da palma da mo obtido na calibragem (Figura 39).
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
65/79
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
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
66/79
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 letrado 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 representadapelo sinal. Como representado na figura 43.
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
67/79
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 Rubin1e Dana Chisnell 2definem 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.2Bacharel 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.
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
68/79
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 Operacionalpelo Kinect foram propostas as tarefas preliminares conforme a Tabela 4.
Tabela 4 Tarefas Preliminares Teste de Usabilidade
N Tarefa Descrio da Tarefa Detalhamento da TarefaTME: Tempo mximo para Execuo
1
Controlar as funesbsicas do sistemaoperacional Windowsutilizando o Kinect.
Utlizar o Kinect para realizar as funes bsicas decontrole do sistema operacional, tais como: Mover omouse e controlar apresentaes de slides e fotos.
TME: 10 minutos.
2
Utilizar softwaressemelhantes ao prottipodesenvolvido.
O usurio deve estar familiarizado com outrossoftwares disponibilizados pela Microsoft queapresentam usabilidade semelhante ao prottipodesenvolvido. Esta tarefa visa mitigar o impactocom algoritmo de calibragem e o movimentohorizontal necessrio para inicializao do sinal.
TME: 15 minutos
3Estudo sobre o alfabeto emLIBRAS
Observar e treinar os sinais do alfabeto em LIBRASa partir dos desenhos apresentados pelo avaliador.
TME: 10 minutos.Fonte - Autor
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
69/79
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 1 2 3 4 5 6 7 8 9 10 11 12 13
Usurio 1 1 5 3 0 0 2 1 4 5 1 2 5 2
Usurio 2 2 3 0 0 0 3 0 3 5 1 0 3 0
Usurio 3 1 3 0 0 0 2 1 1 5 0 0 2 0
Usurio 4 3 5 2 0 0 2 2 3 0 0 3 2 2
Mdia 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
Desvio
Padro 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
Pior Nvel
Aceitvel 2 3 1 1 2 3 1 2 3 1 2 3 2
Nvel Alvo 1 1 0 0 1 1 0 1 1 0 1 1 0
Melhor
Nvel 0 0 0 0 0 0 0 0 0 0 0 0 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.
-
5/19/2018 Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios
70/79
70
Tabela 6 Questionrio de Avaliao Teste de Usabilidade
Questo Usurio 1 Usurio 2 Usurio 3 Usurio 4 Mdia Desvio Padroa Facilidade de Utilizao 4 2 4 4 3,5 1,7321b Algoritmo de Calibragem 3 4 3 3 3,25 0,8660c Algortimo de Reconhecimento 5 3 5 4 4,25 1,6583
d Tempo de Exposio do Sinal 4 3 4 3 3,5 1,0000e Organizao das informaes 5 5 5 5 5 0,0000f Layout das Telas 5 4 5 5 4,75 0,8660g Nomenclatura utilizada nas telas 5 4 4 4 4,25 0,8660h Mensagens do Sistema 3 5 3 3 3,5 1,7321I Assimilao das informaes 4 4 4 4 4 0,0000J No geral, a realizao do teste foi 4 4 5 4 4,25 0,8660
Fonte - Autor
Segundo os dados apresentados na tabela 6, possvel avaliar quegrande 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.
-
5