Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios

download Reconhecimento Completo Do Alfabeto de LIBRAS Com Dispositivo KINECT_Lucas_Rios

of 79

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