• Nenhum resultado encontrado

Implementação de software de leitura gestual para o aprendizado de libras

N/A
N/A
Protected

Academic year: 2021

Share "Implementação de software de leitura gestual para o aprendizado de libras"

Copied!
49
0
0

Texto

(1)

LORI RONALDO FLORES MACHADO FILHO

IMPLEMENTAÇÃO DE SOFTWARE DE LEITURA GESTUAL PARA O APRENDIZADO DE LIBRAS

Trabalho de Conclusão de Curso apresentado ao Colegiado de Coordenação do Curso de Ciência da Computação da Universidade Regional do Noroeste do Estado do Rio Grande do Sul (UNIJUÍ), apresentado como requisito parcial para obtenção do Título de Bacharel em Ciência da Computação.

Orientador: Gerson Battisti, Dsc.

Ijuí / RS 2016

(2)

LORI RONALDO FLORES MACHADO FILHO

IMPLEMENTAÇÃO DE SOFTWARE DE LEITURA GESTUAL PARA O APRENDIZADO DE LIBRAS

Trabalho de Conclusão de Curso apresentado ao Colegiado de Coordenação do Curso de Ciência da Computação da Universidade Regional do Noroeste do Estado do Rio Grande do Sul (UNIJUÍ), apresentado como requisito parcial para obtenção do Título de Bacharel em Ciência da Computação.

____________________________________________ Orientador: Battisti, Dsc

Ijuí / RS 2016

(3)

Somos todos geniais. Mas se você julgar um peixe por sua capacidade de subir em árvores, ele passará a vida inteira acreditando ser estúpido Albert Einstein

(4)

AGRADECIMENTOS

Agradeço primeiramente a minha noiva, Tamires Kluge Vione, pelo apoio e incentivo em todos nossos anos que passamos juntos, pela paciência e carinho que a mim teve todo esse tempo, por me fazer rir em qualquer situação, por me ensinar a viver e por ser a razão de minha existência, a ti sou muito grato.

Agradeço também aos meus pais, Lori Ronaldo Flores Machado e Maria Isabel Hamerski Machado, por estarem presentes em minha jornada acadêmica e me apoiarem em todas as minhas decisões. Agradeço pelos ensinamentos que a mim foram passados em casa, me tornando o bom homem que hoje sou.

Quero deixar meus agradecimentos, inclusive, a família de minha noiva, pelo apoio e incentivo que obtive durante minha graduação.

Sou grato, também, ao meu irmão, Eugênio Hamerski Machado, por mais que meu ingresso na universidade tenha tornado nossos encontros quase impossíveis, são poucas as vezes que ele não te vejo com um sorriso no rosto. Obrigado por crescer comigo e ser o irmão mais velho mais legal de todos e também pelas noites em claro que passamos jogando RPG, muito obrigado.

Quero deixar um agradecimento aos meus chefes e colegas de trabalho, pois sem o conhecimento passado por eles, esse trabalho não teria sido quase impossível.

Por fim, quero agradecer a todos os professores e colegas de universidade, sejam eles no campus Santa Rosa ou Ijuí, e até mesmo colegas e professores da SETREM, pois adquiri grandes amizades em todos os lugares. Agradeço a todos que algum dia colaboraram com o meu crescimento acadêmico. Em especial, agradeço ao meu orientador Gerson Battisti por tornar a ideia do trabalho possível, pois seu incentivo e auxílio foram de fundamental importância para o desempenho desse trabalho.

(5)

RESUMO

A língua brasileira de sinais (LIBRAS) tornou-se a língua oficial da comunidade surdo-muda perante a lei, e nossa segunda língua oficial. Porém, como não é uma linguagem desenvolvida comumente nas salas de aula, esse trabalho propõe iniciar um software de ensino dessa língua que tem a interpretação gestual como meio de comunicação. É proposto fazer uso do equipamento Kinect, desenvolvido pela Prime Sense para a empresa Microsoft. Nesse documento será abordado uma técnica de interpretação das imagens captadas pelo dispositivo Kinect como tentativa de ensinar LIBRAS a população em geral.

Palavras Chaves: LIBRAS, Língua Brasileira de Sinais, Kinect, Leitor gestual, Interpretação de partículas.

(6)

ABSTRACT

The Brazilian language of signs (LIBRAS) has become the official language of the deaf-mute community before the law, and our second official lan-guage. However, since it is not a language commonly developed in class-rooms, this work proposes to initiate a teaching software of this language that has the gestural interpretation as means of communication. It is pro-posed to make use of the equipment Kinect, developed by Prime Sense for the company Microsoft. In this document will be approached a technique of interpretation of the images captured by the Kinect device as an attempt to teach LIBRAS to the population in general.

Keywords: LIBRAS, Brazilian Sign Language, Kinect, Gesture reader, Blob scanner.

(7)

LISTA DE FIGURAS

Figura 1: Exemplo de ambiente Processing ... 20

Figura 2: Execução do código Esfera.pde ... 21

Figura 3: Exemplo de coordenadas no Processing ... 22

Figura 4: Exemplo de ferramentas auxiliares na programação do NetBeans ... 24

Figura 5: Hardware Kinect ... 28

Figura 6: Região de interesse ... 33

Figura 7: GUI principal ... 34

Figura 8: GUI configuração ... 34

Figura 9: Demonstração com todas as configurações auxiliares ... 35

Figura 10: Demonstração com a configuração um separadamente ... 36

Figura 11: Demonstração com a configuração dois separadamente ... 37

Figura 12: Demonstração com a configuração três separadamente ... 38

(8)

LISTA DE TABELAS

(9)

LISTA DE QUADROS

Quadro 1: Variáveis da classe KinectTracker.class ... 40 Quadro 2: Código fonte do método track() ... 41 Quadro 3: Código fonte do método display() ... 42

(10)

LISTA DE ABREVIATURAS

API Application Programming Interface GPL General Public License

GUI Graphical User Interface

IDE Integrated Development Environment IHC Interação Humano-Computador L1 Primeira Língua

L2 Segunda Língua

LED Light-Emitting Diode

LIBRAS Língua Brasileira de Sinais LM Língua Materna

OpenGL Open Graphics Library

PDE Processing Development Environment RGB Red, Green, Blue

(11)

SUMÁRIO

1 INTRODUÇÃO ... 12

2 LIBRAS - LÍNGUA BRASILEIRA DE SINAIS ... 14

2.1 Aspectos Gerais ... 14

2.2 Metodologia atual de ensino ... 16

2.3 Metodologia proposta de ensino ... 16

3 MODELO PROPOSTO ... 18 3.1 Ferramentas de software ... 18 3.1.1 OpenKinect... 18 3.1.2 Processing... 19 3.1.3 Ambiente de Programação ... 24 3.1.4 Linguagem de Programação ... 25 3.2 Ferramentas de hardware ... 25 3.2.1 Microsoft Kinect ... 26

3.2.2 NUI - Natural User Interface ... 29

3.3 Metodologia ... 30

4 IMPLEMENTAÇÃO E RESULTADOS ... 31

4.1 Implementação ... 31

4.2 GUI - Graphical User Interface ... 33

4.3 Codificação ... 39

4.4 Resultado ... 43

4.4.1 Questionário ... 43

5 CONCLUSÃO E TRABALHOS FUTUROS ... 46

REFERÊNCIAS... 47

(12)

1 INTRODUÇÃO

A área da tecnologia voltada para a interação humano-computador tem sido abordada de diversos aspectos. Um deles é a interação física com a máquina, isto é, a interação que a pessoa utilize do seu próprio corpo para manipular comandos na máquina, seja ela um computador, um console ou simplesmente um comando para que as luzes da casa sejam apagadas.

Foi com esse objetivo que a Microsoft desenvolveu o Kinect, um hardware capaz de reconhecer as vozes de seus usuários e captar, em profundidade, a presença de até seis pessoas em sua frente. Esse dispositivo desenvolvido primeiramente para o console XBOX 360, teve uma versão criada para seu sucessor, o XBOX ONE, e uma versão para computadores, o XBOX For Windows. Esse último citado foi desenvolvido com o foco para o desenvolvimento de aplicações utilizando-se do Kinect. Seguindo a ideia de desenvolvimento, a Microsoft lançou em sequência ferramentas para auxiliar nessa implementação, e posteriormente disponibilizou em seu site guias e manuais de desenvolvimento para aplicações voltadas para a educação.

Diante disso, este trabalho propõe o desenvolvimento de uma ferramenta que faz uso do hardware Kinect da Microsoft para o ensino da Língua Brasileira de Sinais, conhecida como LIBRAS. Tendo o conhecimento que o hardware seja capaz de reconhecer gestos, o estudo é focado no desenvolvimento do software que fará a comunicação entre o Kinect da Microsoft e uma aplicação Java que recebe, interpreta e responde aos gestos articulados pelo usuário em frente ao dispositivo Kinect, através de uma técnica de interpretação de partículas.

Partindo da ideia de manter a inclusão social de todos os escopos populacionais do nosso país, foi idealizada a possibilidade de ensinar uma língua de sinais, especificamente a língua brasileira de sinais (LIBRAS), sem a necessidade de um professor ou de aulas presenciais, para que assim que um maior grupo populacional possa interpretá-la. A proposta para a concretização dessa ideia é a utilização do Kinect em conjunto de um software desenvolvido em uma linguagem de programação multiplataforma, para que a mesma realize a integração do dispositivo com um computador, sendo possível haver uma interação humano-computador (IHC).

(13)

Tendo como base a proposta de implementação do software, o objetivo do mesmo é ensinar de modo geral, os gestos necessários para aprendizagem em LIBRAS. Contudo, o trabalho é focado em imagens estáticas, isto é, não é baseado na interpretação de uma sequência de movimentos para formar um gesto, e sim uma sequência de gestos estáticos, sendo cada gesto interpretado separadamente, como a interpretação de uma letra, por exemplo.

Como parte do estudo, será aplicada uma técnica de comparação de imagens em um banco de imagens com os quadros capturados pelo sensor de movimentos Kinect. A resultante dessa técnica é de fundamental importância para o prosseguimento em pesquisas futuras relacionadas ao ensino de LIBRAS com a utilização do software de integração com o sensor de movimentos.

Assim como esse trabalho propôs a implementação do desenvolvimento da ferramenta que auxilie no aprendizado de LIBRAS a partir de um software de integração com um sensor de reconhecimento de gestos, sua motivação é a inclusão social desse escopo populacional que acaba por ser incompreensível pelo restante das pessoas que não compreendem nossa segunda linguagem oficial. Inclusive, tem como causa, uma alternativa de ensinamento sem a necessidade de um instrutor presencial.

Este trabalho está estruturado na apresentação de quatro capítulos, sendo primeiramente demonstrados a proposta, os objetivos e a justificativa da elaboração do projeto.

No capítulo posterior será abordado as questões referente a introdução às ferramentas utilizadas para o desenvolvimento do sistema de ensino de LIBRAS, assim como o dispositivo Kinect e suas características.

Na sequência serão abordadas as metodologias empregadas no decorrer do trabalho. Após, na penúltima seção, será apresentado os resultados do trabalho, desde a implementação do software até sua aplicação com pessoas de fora da comunidade surda-muda.

Por fim, serão relatadas as conclusões obtidas e algumas sugestões para trabalhos futuros, que podem dar continuidade na pesquisa realizada. Na sequência são também apresentadas as referências bibliográficas utilizadas para a elaboração do trabalho.

(14)

2 LIBRAS - LÍNGUA BRASILEIRA DE SINAIS

Neste capítulo será introduzido o conhecimento sobre a língua brasileira de sinais, seus aspectos e conceitos para o fim de obter uma ideia inicial da nossa segunda língua oficial.

2.1 Aspectos Gerais

A comunicação entre a sociedade surda e muda é realizada através do espaço visual, por meio de gestos, movimentos e, não obrigatoriamente, feições. Tais gestos são assemelhados aos que usamos no cotidiano para auxiliar a fala, comenta Alex T. S. Carneiro (2009, p. 190):

Os gestos são usados pelas pessoas em sua comunicação natural. Pessoas surdas utilizam os gestos que compõem a Língua de Sinais, como principal forma de comunicação com outras pessoas. Dentre estas, a LIBRAS (Língua de Sinais Brasileira) é utilizada em nosso país e tem ganhado uma importância cada vez maior nos últimos anos.

Portanto, a Língua de Sinais Brasileira, assim como qualquer outra língua de sinais, é de fato uma língua e não uma linguagem, conforme afirma Renato Kimura da Silva (2013, p. 45), "Língua e linguagem possuem características importantes que enquadram as Línguas de Sinais como língua e não linguagem. A linguagem é 'heteróclita e multifacetada'". Essa afirmação é perfeitamente descrita pelo famoso filósofo e linguista Ferdinand de Saussure (1916 , p. 17):

[...] o cavaleiro de diferentes domínios [...] física, fisiológica e psíquica, ela pertence, além disso, ao domínio individual e ao domínio social; não se deixa classificar em nenhuma categoria de fatos humanos, pois não se sabe inferir sua unidade.

Dessa forma, a língua de Sinais se assemelha a língua falada, visto que ambas são línguas, cita Renato Kimura da Silva(2013, p.48):

(15)

Semelhante à língua oral, as Línguas de Sinais são regionais, com pequenas variações de região para região e grandes alterações de país para país. A Língua Brasileira de Sinais (LIBRAS) é utilizada pelos membros da comunidade surda no Brasil; a American Sign Language (ASL) nos Estados Unidos; Antiga Língua de Sinais Francesa (ALSF) na França, etc.

Esta mesma semelhança é citada por BONINO (2007, p. 28), que menciona que "Uma mesma Língua de Sinais, como LIBRAS, também implica em variações linguísticas, semelhantes às línguas orais: gírias, regionalismo e até sotaques."

Porém, a população de não ouvintes estava até pouco tempo sem uma língua oficial, sem uma organização para que todos tenham uma única forma de aprendizado linguístico. Isso é fortemente defendido por Vinícius Godoy de Mendonça (2013, p. 13):

Por muitos anos, a comunidade surdo-muda brasileira tem lutado pelo direito de poder exercer de maneira completa sua cidadania. Embora conquistas importantes tenham sido realizadas, como ter a Língua Brasileira de Sinais (LIBRAS) reconhecida oficialmente em 2002, seu uso ainda é muito restrito em meios de comunicação e ferramentas, inclusive nas informatizadas.

Com base nos conhecimentos citados, aliados a tecnologia, o ensino de LIBRAS com o uso de uma ferramenta interativa seria importante para a elevação dos níveis de inclusão social da sociedade surda e muda na população. Tal importância é mencionada pelo mesmo autor Alex T. S. Carneiro (2009, p. 190), "O reconhecimento de língua de sinais é uma ponte de comunicação entre as pessoas com deficiência auditiva e ouvinte". Isto é, a população comum, em sua grande parte, ausenta do conhecimento de LIBRAS, e com esse conhecimento desenvolvido, todos os indivíduos da população estariam incluídos socialmente.

Entretanto, existe um grande esforço para que esse escopo de pessoas consiga se comunicar com o restante da população, como cita Orivaldo de L. Tavares (2005, p. 2100), "[...] a comunicação entre surdos e ouvintes é difícil, uma vez que os ouvintes não a conhecem" e posteriormente salienta (2005, p. 2100), "Essa falta de comunicação dificulta a integração dos mesmos e, principalmente, o processo de aprendizagem dos surdos".

(16)

2.2 Metodologia atual de ensino

Entre as metodologias atuais de ensino, todas são focadas em ministrar suas literaturas de forma a considerar a língua brasileira de sinais como primeira língua (L1 ou LM - Língua Materna) ou segunda língua (L2), como menciona Gesser (2010, p. 09). Esse trabalho propõe o ensinamento de LIBRAS como L2, igualmente às disciplinas de Gesser (2010, p. 02).

Contudo, no Brasil, a discussão sobre a metodologia correta a ser utilizada para o ensinamento de LIBRAS é incipiente, conforme cita Gesser (2010, p. 26). Entretanto, "A metodologia realmente desejada pelo povo surdo é a Pedagogia Surda[...]", afirma Kalatai (2014, p. 11), que complementa nos dizeres:

[...] visto que as lutas dessas pessoas giram em torno da constituição da subjetividade do jeito surdo de ser, ou seja, da construção de sua verdadeira identidade e consagração de sua cultura, e que só poderá ocorrer no encontro com seus pares.

Portanto, a educação de LIBRAS solicita um modo de ensino presencial, cita Kalatai (2014, p. 11) :

A Pedagogia Surda requer, portanto, a presença do professor surdo em salas regulares de ensino assim como nas escolas especiais e Centros de Atendimento Especializado para surdos – CAES, em tempo integral. São os professores surdos que ensinam os surdos.

Na sequência será demonstrada a metodologia proposta por esse trabalho como forma alternativa à metodologia presencial mencionada nessa seção.

2.3 Metodologia proposta de ensino

O atual trabalho tem como metodologia de ensino a ausência de um professor presencial ou não perante o usuário que estará disposto a aprender a língua brasileira de sinais. Será através de uma série de exercícios elaborados de maneira aleatória, disponibilizados pelo software desenvolvido, ao qual terá uma conexão com o dispositivo de hardware da Microsoft, o Kinect. Esse dispositivo será responsável pela captura das imagens, ou seja, do gesto do usuário, e o software

(17)

terá como incubência a interpretação desses dados com o objetivo de identificar gestos na língua brasileira de sinais.

Portanto, todo o processo resumido acima será realizado totalmente por computador, havendo apenas a interação do usuário com o mesmo. Essa interação com a máquina será através de uma interface gráfica amigável e intuitiva, capaz de possibilitar o seu uso por usuários leigos.

(18)

3 MODELO PROPOSTO

Este capítulo terá toda fundamentação teórica utilizada para a implementação do software proposto, assim como as ferramentas de software e de hardware utilizadas para a concretização do mesmo.

3.1 Ferramentas de software

Nas subseções seguintes serão abordadas as questões pertinentes às ferramentas de software utilizadas para o desenvolvimento do software proposto nesse trabalho.

3.1.1 OpenKinect

O software desenvolvido parte do princípio em que existe a extração dos dados do dispositivo Kinect e existe o processamento dessas informações. Portanto, para a resolução da obtenção dos dados do Kinect, foi utilizado a biblioteca OpenKinect, que é definida por Dias(2013, p. 06) como “uma comunidade aberta, com pessoas interessadas em utilizar o dispositivo Kinect em computadores pessoais ou outros dispositivos”, e frisa na sua distribuição livre, complementando que “o desenvolvimento da biblioteca libfreenect é distribuído sob a GNU General Public License (GPL v2.0)”.

Conforme Dias (2013, p.06) a libfreenect foi “a primeira biblioteca a prover a possibilidade de desenvolvimento de aplicações utilizando o Kinect como interface para a interação”. Dias (2013, p. 06) afirma ainda que “a libfreenect compõe classes de desenvolvimento para acesso ao hardware do dispositivo e suas funcionalidades em geral”. Logo, é possível utilizar as informações geradas pelo Kinect.

Dentre os dados abstraídos do hardware Kinect pelo OpenKinect, Campos (2013, p. 15) afirma que a biblioteca “oferece uma API de controle do motor, dos light-emitting diode’s (LED), das câmaras e do áudio da plataforma”, porém, segundo Dias (2013, p. 06) “a libfreenect permite que as câmeras infravermelho e RGB sejam utilizadas pelas aplicações desenvolvidas, contudo, os dados devem ser tratados por outras ferramentas”. Esse tratamento citado por Dias pode ser realizado por outras

(19)

bibliotecas existentes atualmente. A biblioteca que será utilizada nesse trabalho será o Processing, comentada na seção seguinte.

Uma desvantagem encontrada na libfreenect é o fato dela funcionar apenas com o Microsoft Kinect, sendo que não existe suporte para os outros dispositivos que utilizam a tecnologia de sensores PrimeSense, conforme cita Dias (2013, p.06) e foi mencionado por Trennepohl (2015, p. 32) em seu trabalho de conclusão de curso onde utiliza o mesmo dispositivo para o auxílio no tratamento de pacientes da fisioterapia.

Em concordância com Trennepohl (2015, p.32) "Uma vantagem encontrada na libfreenect é a sua compatibilidade com diversos Sistemas Operacionais e várias Linguagens de Programação", que defende sua ideia baseado na citação de Dias (2013, p. 06), onde declara que “sua API é compatível com os sistemas operacionais Windows, GNU/Linux e OS X, possuindo bindings e extensões para C, C++, .NET (C#/VB.NET) e Java”.

3.1.2 Processing

Partindo do conceito que o sistema implementado deve constituir-se de propriedades capazes da leitura das informações geradas pelo Kinect, e consequentemente a interpretação das mesmas para que seu uso adequado seja possível. Portanto, foi optado pela utilização da biblioteca disponibilizada pela Processing, a qual é voltada para interações com programas que possuem saídas em 2D e 3D, realizando a otimização dessas aplicações, conforme é dito eu seu próprio site (2016), em suas palavras:

Processing é um caderno de desenho de software flexível e uma linguagem para aprender a codificar dentro do contexto das artes visuais. Desde 2001, a Processing tem promovido a alfabetização de software dentro das artes visuais e da literacia visual dentro da tecnologia. Existem dezenas de milhares de estudantes, artistas, designers, pesquisadores e aficionados que usam Processing para a aprendizagem e prototipagem.

A própria desenvolvedora Processing (2016) cita suas principais características em seu domínio, como a sua disponibilidade gratuita da ferramenta e o código aberto, interação para aceleração de aplicações em Open Graphics Library

(20)

(OpenGL), sua operação em GNU/Linux, Mac OS X e Windows, mencionando também as mais de 100 bibliotecas que estendem sua aplicação principal, a qual é muito bem documentada.

A ferramenta Processing possui seu próprio ambiente de desenvolvimento denominado Processing Development Environment (PDE), possibilitando o desenvolvimento de aplicações de maneira descomplicada diretamente no programa disponibilizado pela empresa, podendo, inclusive, iniciar a criação de aplicações sem a necessidade de importações adicionais. Outrossim, o PDE disponibiliza exemplos de códigos prontos, tanto em seu ambiente quanto em domínio oficial.

Na sequência está uma ilustração do ambiente de desenvolvimento oferecido pela Processing com um código obtido na lista de exemplos do PDE:

Figura 1: Exemplo de ambiente Processing

Fonte: Elaborado pelo Autor

Compreendido de seu uso gráfico, abaixo segue a execução de teste do código Esfera.pde da imagem acima, o qual está disposto em seu ambiente de programação como exemplo:

(21)

Figura 2: Execução do código Esfera.pde

Fonte: Elaborado pelo Autor

Ainda referenciando a própria desenvolvedora do ambiente e, também, da biblioteca disponibilizada para o desenvolvimento do software desse trabalho, a Processing (2016) menciona sua capacidade na renderização de gráficos bi e tridimensionais e demais aspectos:

Os esboços podem desenhar gráficos bidimensionais e tridimensionais. O renderizador padrão é para desenhar gráficos bidimensionais. O processador P3D torna possível desenhar gráficos tridimensionais, que inclui o controle da câmera, iluminação e materiais. O renderizador P2D é um renderizador rápido, mas menos preciso para desenhar gráficos bidimensionais. Ambos os processadores P2D e P3D são acelerados se o computador tiver uma placa gráfica compatível com OpenGL.

A capacidade do Processing é adaptada às características gráficas do projeto em questão. A desenvolvedora Processing (2016) disponibiliza uma parametrização que otimiza renderizações 2D e 3D, conforme cita em seu sítio:

(22)

Processing tem quatro built-in renderers de tela. O renderizador padrão é para desenhar formas bidimensionais. P2D é um renderizador mais rápido, mas menos preciso, para desenhar formas bidimensionais. P3D é para a geometria tridimensional; Ele também pode controlar a câmera, a iluminação e os materiais. Os renderizadores P2D e P3D são acelerados se o computador tiver uma placa gráfica compatível com OpenGL.

Inclusive, como afirma Nakamura (2009, p. 01) "É uma opção bastante adequada para designers criarem protótipos de jogos digitais sem a necessidade de conhecer a fundo ferramentas de programação".

Aludindo questões de como são processados as coordenadas na biblioteca Processing, a desenvolvedora Processing(2016) explana em seu domínio:

O Processing usa um sistema de coordenadas cartesiano com a origem no canto superior esquerdo. Se o esboço tiver 320 pixels de largura e 240 pixels de altura, a coordenada (0, 0) é o pixel superior esquerdo e a coordenada (320, 240) está no canto inferior direito. O último pixel visível no canto inferior direito da tela está na posição (319, 239) porque os pixels são desenhados para a direita e abaixo da coordenada. [...] Usando o sistema de coordenadas tridimensional de P3D, a coordenada z é zero na superfície da imagem, com valores z negativos voltando para o espaço. Ao desenhar em 3D, a câmera é posicionada no centro da tela.

Na sequência, a ilustração visual da citação anterior a Processing (2016):

Figura 3: Exemplo de coordenadas no Processing

(23)

Ademais, a capacidade da ferramenta desenvolvida pela Processing é estendida pelas inúmeras ferramentas e bibliotecas disponibilizadas, diz a empresa. Tendo, inclusive, a contribuição de programadores para manter o software íntegro e atualizado.

Como qualquer ambiente de programação, a ferramenta para desenvolvimento oferecida realiza os retornos fundamentais executados por um compilador, trazendo a tela as mensagens de erros respectivas, assim como dito pela Processing (2016), onde também cita a terminologia utilizada:

Os programas escritos usando Processing são chamados de esboços. Estes esboços são escritos no editor de texto. Possui recursos para cortar / colar e para pesquisar / substituir texto. A área de mensagem dá feedback enquanto poupando e exportando e também exibe erros. O console exibe a saída de texto processando rascunhos incluindo mensagens de erro completas e saída de texto de esboços com as funções print () e println ().

Complementando, é dito por Shiffman (2016), que além das características já exposta, o PDE é um software desenvolvido em linguagem de programação Java, sendo disponibilizado versões para outros sistemas operacionais, como já manifestado no trabalho anteriormente. Esse aspecto, inclusive, foi um dos critério da escolha da biblioteca como base de reconhecimento dos gestos receptados pelo Kinect.

Contudo, mesmo disposto dos utilitários cedidos pela Processing, foi optado pelo uso apenas da biblioteca que a compõe, isto é, não será utilizado o PDE da Processing. Essa escolha foi tomada pela possibilidade de desenvolver aplicações de igual equivalências em outros ambientes de desenvolvimento integrado (IDE - Integrated Development Environment), não tornando seu desenvolvimento estático um único ambiente, visando a criação posterior de linhas de pesquisa a partir do software inicial para futuros programadores interessados. Essa decisão foi tomada com a elucidação do Processing (2016), onde menciona "É possível escrever qualquer código Java em arquivos com a extensão .java. De fato, o código Java completo pode ser escrito a partir do ambiente do Processing fazendo subclasse da PApple", isto é, com a simples extensão do PApplet na classe Java, é possível realizar as mesmas funcionalidades do PDE.

(24)

3.1.3 Ambiente de Programação

Partindo da premissa que o sistema desenvolvido teria um ambiente gráfico para o usuário interagir em primeiro acesso, foi tido como concepção a utilização de uma IDE que facilita a criação dessas interfaces, e que dispõem, inclusive, de inúmeras ferramentas auxiliares que colaboram para o andamento do sistema em sua construção. Com essa ideia, foi escolhida a IDE Netbeans v8.2 para implementação do software.

Os dizeres são confirmados pela própria NetBeans (2016), onde menciona sua vasta disponibilidade de recursos:

Uma IDE é muito mais do que um editor de texto. O Editor do NetBeans avança linhas, combina palavras e colchetes e destaca código fonte de forma sintática e semântica. Ele permite que você facilmente refatorar código, com uma variedade de ferramentas úteis e poderosas, enquanto também fornece modelos de código, dicas de codificação e geradores de código.

Abaixo será demonstrada uma exemplificação da facilidade citada pela NetBeans):

Figura 4: Exemplo de ferramentas auxiliares na programação do NetBeans

(25)

Em adição às facilidades disponibilizadas, um dos critérios de escolha da IDE NetBeans foi pelo seu suporte à linguagem de programação escolhida para desenvolvimento, a linguagem Java, como a própria NetBeans (2016) menciona em seu domínio:

NetBeans IDE é o IDE oficial para Java 8. Com seus editores, codificadores e conversores, você pode atualizar rapidamente e sem problemas suas aplicações para usar novas construções de linguagem Java 8, como lambdas, operações funcionais e referências de métodos.

Portanto, o pelas citações dessa seção, foi utilizado a IDE NetBeans como ambiente de programação.

3.1.4 Linguagem de Programação

Com o objetivo de construir uma ferramenta multiplataforma, a escolha após todos os critérios analisados, foi a linguagem de programação Java. Pela sua alta capacidade de programação, a própria empresa responsável pelo Java, a Oracle (2016), cita:

O Java é a base para praticamente todos os tipos de aplicações em rede e é o padrão global para o desenvolvimento e distribuição de aplicações móveis e incorporadas, jogos, conteúdo baseado na Web e softwares corporativos. Com mais de 9 milhões de desenvolvedores em todo o mundo, de forma eficiente, o Java permite que você desenvolva, implante e use aplicações e serviços estimulantes.

Complementado pela própria Oracle (2016), "O Java foi testado, refinado, estendido e comprovado por uma comunidade dedicada de desenvolvedores, arquitetos e entusiastas do Java.". Portanto, sua integridade como linguagem de programação é altamente reconhecida pela comunidade de desenvolvedores e foi de escolha absoluta para esse trabalho.

(26)

Nas subseções seguintes serão abordadas as questões pertinentes às ferramentas de hardware utilizadas para o desenvolvimento do software proposto nesse trabalho.

3.2.1 Microsoft Kinect

Tendo como base a proposta de implementação do software, o objetivo do mesmo é ensinar de modo geral, os gestos necessários para aprendizagem em LIBRAS. Contudo, o trabalho é focado em imagens estáticas, isto é, não é baseado na interpretação de uma sequência de movimentos para formar um gesto, e sim uma sequência de gestos estáticos, sendo cada gesto interpretado separadamente, como a interpretação de uma letra, por exemplo.

O dispositivo de interação humano-computador utilizado é conhecido como Kinect, da Micosoft. Tal dispositivo é utilizado, principalmente, para fins de entretenimento sem a utilização de um Joystick (Controle geralmente utilizado para ativar comandos de um Console). Tais dizeres são citados por Renato Kimura da Silva (2013, p. 42) em sua tese de mestrado:

O Kinect também é amplamente utilizado para finalidades além do entretenimento em jogos digitais. Com o lançamento em 2012 do Kinect para Windows, a Microsoft disponibilizou para os desenvolvedores de programas de computador uma forma de desenvolver novos programas e interfaces computacionais que exploram os gestos.

O dispositivo Kinect da Microsoft possui diversos tipos de sensores, como menciona Zhengyou Zhang (2012, p. 04) em seu artigo:

O sensor Kinect permite o computador detectar diretamente a terceira dimensão (profundidade) dos jogadores e do meio ambiente , tornando a tarefa muito mais fácil. Ele também entende quando os usuários conversam , sabe quem eles são quando eles andam até ele, e pode interpretar seus movimentos e traduzi-las em um formato que os desenvolvedores podem usar para criar novas experiências.

Tais dizeres são reforçados e complementados por Miguel Medeiros Correia (2013, p. 23):

(27)

O sensor Kinect foi criado para servir como uma forma de interação entre o utilizador e a consola Xbox 360, utilizando gestos e comandos de voz. Assim, o sensor é capaz de capturar imagens com 640×480 pixels a 30fps. Utilizando informação de profundidade, o sensor é ainda capaz de produzir um modelo do esqueleto da pessoa que está a ser capturada. Com este modelo é possível definir gestos que serão reconhecidos pelo Kinect e usá-los para interagir com o computador.

Baseados nessas afirmações, o software desenvolvido para esse trabalho tem como funcionalidade a interpretação dessas informações provenientes do dispositivo para que a mesma seja reconhecida como um gesto contido em LIBRAS.

Zhengyou Zhang (2012, p. 04) caracteriza o equipamento Kinect da Microsoft, " [...] ele contém um sensor de profundidade , uma câmera de cor, e uma matriz de quatro microfones que fornecem captura de movimento 3D de corpo inteiro , reconhecimento facial, e as capacidades de reconhecimento de voz ", que é complementado por Miguel Medeiros Correia (2013, p. 25):

O software interno do Kinect foi desenvolvido pela Rare, uma subsidiária da Microsoft Game Studios. Por sua vez, a tecnologia do sensor de profundidade, assim como o seu núcleo de processamento, foram desenvolvidos pela companhia PrimeSense.

A partir desse sensor de profundidade foi levantada a possibilidade de reconhecer apenas os objetos em uma certa distância do Kinect. Nesse contexto, a ideia seria a captação do objeto a uma distância de aproximadamente 90 centímetros, ou seja, capturar apenas a mão do usuário, para que o software seja capaz de focar seu processamento nessa região. A metodologia específica tratada para tal tratamento é debatida nos resultados desse trabalho.

Além disso, o Kinect possui um sistema de rastreio de esqueleto avançado, que é citado e detalhado por Rodrigo de Sales Alves (2012, p. 03):

Uma inovação do Kinect está no sensor de profundidade e no algoritmo de rastreamento de esqueleto. O Kinect pode mapear tridimensionalmente a posição do usuário no ambiente. Após este processo, é possível ao Kinect determinar ao periférico, a que está conectado, a posição exata do corpo do usuário. Possibilita, dessa forma, que o aplicativo permita uma melhor interatividade com o usuário.

(28)

Observando que todos os algoritmos de rastreamento são disponibilizados pela Microsoft para o desenvolvimento de ferramentas relacionadas ao equipamento. Contudo, tais concessões não serão totalmente utilizadas no desenvolvimento do software de leitura gestual desse projeto. O motivo pela não ocupação das ferramentas da Microsoft é elaborar um sistema que seja independente do sistema operacional Windows, sendo que o mesmo pertence a Microsoft, oferecendo uma alternativa de ensino que possa ser disponibilizada para os demais sistemas operacionais.

As características até então apresentadas são representadas na figura em sequência:

Figura 5: Hardware Kinect

Fonte: Bouchard, 2015

A figura 5 demonstra o mesmo dispositivo, versão e modelo utilizado para a aplicação da técnica de rastreamento de partículas na interpretação dos gestos dos usuários. A versão seria o Kinect 360 e o modelo 1414. Esse equipamento em específico tem como procedimento de leitura de profundidade a combinação da emissão dos raios de infravermelho com a câmera de compreensão desses raios para diferenciar os objetos próximos dos distantes, assim como menciona Shiffman (2016) em suas explanações sobre a utilização do Kinect com sua biblioteca para obtenção das informações geradas pelo equipamento.

(29)

Para auxiliar na interpretação dos gestos, uma interpretação facial seria como um "CheckSum" para confirmar o que o usuário irá dizer. Tendo isso em vista, Zhengyou Zhang (2012, p. 07) afirma:

Posição da cabeça e expressão facial - rastreamento tem sido uma área de pesquisa ativa em visão computacional por várias décadas. Ele (Kinect) tem muitas aplicações, incluindo interação humano-computador , animação facial orientada para o desempenho e reconhecimento facial.

Sendo assim, a relação de gestos e feições é essencial para a certeza na resposta do software a ser implementado. Esses aspectos foram de fundamental importância para a escolha do Kinect como ferramenta de reconhecimentos de gestos para a interação humano-computador.

Todavia, é necessário citar que o software desenvolvido em versão 1 não terá a capacidade de leitura facial ou leitura de uma sequência de movimentos para a concepção de um gesto. Em sua versão inicial, esse software é capaz de interpretar gestos pausados de LIBRAS, assim como o alfabeto ou números. As questões não implementadas estão disponíveis no bloco de trabalhos futuros.

3.2.2 NUI - Natural User Interface

A interação entre homem e computador vem evoluindo e se tornando cada vez mais transparente conforme de Paula (2011, p. 02). Isso é notável ao compararmos as primeiras interfaces com os computadores, onde os comandos eram feitos apenas por linhas de comando. Em sua evolução, desenvolveu-se então a interface gráfica, as conhecidas janelas e botões clicáveis para execução de comandos, o que, baseado na afirmação de Reimer (2005), foi um dos fatores predominantes na divulgação dos computadores fora do meio científico. Com essa premissa, atinge-se a ideia de evoluir para as interfaces naturais ao usuário (NUI - Natural User Interface), que se referem a um estilo de interface caracterizado pela invisibilidade do controle ao usuário.

Segundo Buxton (2010), uma interface é natural se explora as habilidades que o usuário adquiriu durante a vida ao interagir normalmente com o mundo. Isto é, um sistema de interação total com o corpo humano, que é caracterizado pelo emprego do Kinect.

(30)

Portanto, a utilização do hardware da Microsoft no trabalho proposto é diretamente fundamentado nos dizeres de Buxton (2010), Reimer (2005) e de Paula (2011, p. 02), tornando a ferramenta desenvolvida para o projeto um software com interface natural ao usuário.

3.3 Metodologia

A metodologia utilizada na evolução do trabalho foi a busca de fundamentação teórica em artigos, teses e domínios que obtenham uma relação com a solução proposta para o aprendizado de LIBRAS com a utilização de um sensor de movimentos, em específico, o Kinect da Microsoft. Portanto, obtendo um fundamento para a viabilidade da construção do sistema.

Ademais, após a solução implementada, foram realizados testes com pessoas aleatórias de fora da comunidade surda-muda para a realização dos exercícios propostos pelo software desenvolvido, e na sequência realizado um questionário sobre a experiência que o sistema proveu para o usuário.

(31)

4 IMPLEMENTAÇÃO E RESULTADOS

Essa seção apresenta a implementação e os resultados obtidos através desse trabalho, isto é, seu desenvolvimento como um todo e sua aplicação à comunidade. Nesta seção estará disposto os códigos fontes gerados, a interface gráfica do sistema proposto, exemplos de utilização do software e os resultados obtidos a partir do questionário determinado para alcançar um retorno de sua utilização.

4.1 Implementação

O software proposto baseou-se na premissa de que o usuário não possuiria conhecimento inicial algum em LIBRAS, obtendo todo seu saber a partir da ferramenta desenvolvida, ou seja, assimilaria a língua como L2. A partir disso, o sistema disponibilizará de três funcionalidades principais, sendo elas:

 O ensinamento das letras, em sequência, de L-I-B-R-A-S;

 Um exercício composto de cinco letras ou números aleatórios para que o usuário realize os seus respectivos gestos na Língua Brasileira de Sinais;

 Uma tarefa para expor o aprendizado obtido, possibilitando o usuário se comunicar em LIBRAS com o Kinect e o mesmo responder o que o usuário está tentando gesticular na linguagem em questão;

Ademais as atividades propostas, foi incluído uma ferramenta auxiliar em que o usuário insere via periférico do teclado uma sequência desejada de caracteres ou números e então o sistema apresentará um passo a passo de como seria essa sequência na Língua Brasileira de Sinais.

Além disso, o sistema desenvolvido é disposto de uma configuração que viabiliza o usuário as seguintes alternativas:

 Possibilidade de visualizar o percentual de comparação entre o gesto do usuário com a respectiva letra ou número proposto para execução;

(32)

 Possibilidade de visualizar um contorno gráfico ao redor da mãos do usuário indicando os pontos de colisão com a letra ou número proposto para execução;

 Possibilidade de visualizar a imagem da letra ou número em forma de contorno no momento de execução da tarefa para auxiliar como o usuário deve efetuar o respectivo gesto;

 Possibilidade de visualizar a imagem da letra ou número que é utilizada como base para realização do algoritmo de colisão de pontos com o fim de identificar o respectivo gesto em LIBRAS;

 Possibilidade de selecionar a leitura gestual para destros ou canhotos;

Paralelamente, o sistema também é organizado a apresentar algumas informações de utilidade ao usuário, como:

 Versão do sistema operacional;

 Informações sobre os Drivers do Kinect;

 Conexão do hardware Kinect, com a funcionalidade de conexão teste e movimentação do motor (Tilt);

Para desempenhar os processos mencionados, foi realizada uma função na ferramenta para que a mesma execute uma aproximação diretamente no quadro de maior quant idade de pontos, no caso, a mão do usuário. Para tal, deve-se posicionar a mão rente ao Kinect em uma distância aproximada de 90 centímetros. Feito isso, o sistema realizará um escalonamento da imagem captada pelo sensor e mostrará na GUI apenas uma região de interesse (ROI - Region of Interest) de 194x 158 pixels. O tamanho do ROI foi escolhido de forma aleatória como ilustração seguinte, onde o quadro em amarelo é a região de interesse do sistema:

(33)

Figura 6: Região de interesse

Fonte: Elaborada pelo autor

A figura 6 está retornando cores com tons de cinza para o fundo e branco para a região onde é realizado o algoritmo de colisão de pontos. Para facilitar o confronto de pontos, a região distinta do ROI é escurecida totalmente, fornecendo maior contraste para o branco como é muito bem evidenciado na figura 13.

Na seção seguinte será demonstrado a interface gráfica do utilizador (GUI - Graphical User Interface) oferecida ao usuário para manuseio do software.

4.2 GUI - Graphical User Interface

O software proposto é constituído de apenas uma tela principal e uma para configuração auxiliar, sendo todas as funcionalidades de ensino organizados na tela principal, visando a facilidade de seu uso.

(34)

Figura 7: GUI principal

Fonte: Elaborada pelo autor

Através dessa tela é possível manipular toda interação com o Kinect, podendo efetuar a execução de todos os exercícios, sequência gestual ou efetuar as configurações adicionais de auxílio ao usuário. Tal configuração é demonstrada na GUI abaixo conforme figura 8:

Figura 8: GUI configuração

(35)

Por fim, a próxima ilustração será da execução da primeira tarefa com todas as configurações acionadas, isto é, será contornar os pontos de colisão, desenhando um contorno de auxílio para o usuário e adicionado um percentual para verificação de comparação com a letra ou número proposto, a apresentação de uma imagem de auxílio que é utilizada como base para a realização do algoritmo de colisão de pontos, ao qual será demonstrado separadamente na figura 13. Contudo, a opção para o tipo de usuário será para pessoas destras. Portanto, o usuário terá total auxílio na execução das tarefas propostas. A sequência referida é a execução das letras L-I-B-R-A-S em sequência, então será demonstrado a tentativa de execução apenas da letra L, conforme segue:

Figura 9: Demonstração com todas as configurações auxiliares

(36)

A seguir, será apresentado imagens com suas configurações independentes para melhor compreensão do funcionamento da ferramenta desenvolvida. Primeiramente será a configuração um, responsável por visualizar o percentual de pontos de colisão dos gestos com o exercício proposto:

Figura 10: Demonstração com a configuração um separadamente

Fonte: Elaborada pelo autor

Nota-se que não há contornos, porém, existe no canto esquerdo inferior um retorno para o usuário do percentual de colisão entre o gesto e a letra ou número proposto. Esse percentual é calculado com base nas colisões dos contornos da figura de comparação base com o gesto interpretado. Esse conflito é calculado com uma margem de colisão de 10 pixels para as coordenadas x e y adjacentes ortogonalmente aquele ponto. Na sequência será demonstrada de forma independente a configuração dois, responsável por visualizar um contorno gráfico ao

(37)

redor da mãos indicando os pontos de colisão com a letra ou número proposto, conforme:

Figura 11: Demonstração com a configuração dois separadamente

Fonte: Elaborada pelo autor

Com essa configuração ativa, é realizado a coloração azul dos pontos de colisão, que, conforme a figura 11, acaba colorindo todos os pontos de colisão e efetuando um contorno ao redor da mão. Por fim, a figura 12 ilustra a configuração três de forma independente, cuja responsabilidade é visualizar a imagem da letra ou número em forma de contorno na tarefa para auxiliar em seu respectivo gesto:

(38)

Figura 12: Demonstração com a configuração três separadamente

Fonte: Elaborada pelo autor

Todas as configurações elaboradas foram construídas com o propósito de auxiliar no ensino da gesticulação, e por consequência, facilitar a aprendizagem da língua brasileira de sinais. Para tal, conforme respectiva configuração, é possível visualizar a imagem que está sendo comparada para colisão dos pontos conforme figura seguinte:

(39)

Figura 13: Letra 'L' utilizada como base para colisão de pontos

Fonte: Elaborada pelo autor

Na fragmentação subsequente, será demonstrada a codificação dessa aplicação, contendo as principais funções e bibliotecas utilizadas.

4.3 Codificação

Diante das implementações gráficas do software e da grande quantia de atividades propostas pelo mesmo, será demonstrado em código apenas a classe KinectTracker.class, a qual é utilizada em todas as funcionalidades do sistema.

A classe KinectTracker.class possui a função de rastrear o posicionamento dos pontos em uma distância mínima de 90 centímetros do Kinect, isto é, encontrar o ROI. Ademais, essa classe contém o algoritmo de colisão de pontos, translação e escalonamento de imagem, e será demonstrada nos quadros 1, 2 e 3, iniciando pela criação das variáveis da classe conforme quadro 1:

(40)

Quadro 1: Variáveis da classe KinectTracker.class private int threshold = 700;

private PVector loc; private PVector lerpedLoc; private int[] depth; private PImage display;

private KinectProcessing kinectProcessing;

public KinectTracker(KinectProcessing kinectProcessing) { this.kinectProcessing = kinectProcessing;

kinectProcessing.getKinect().initDepth();

kinectProcessing.getKinect().enableMirror(true);

display = kinectProcessing.createImage(kinectProcessing.getKinect().width, kinec-tProcessing.getKinect().height, kinectProcessing.RGB);

loc = new PVector(0, 0); lerpedLoc = new PVector(0, 0); }

public int getThreshold() { return threshold; }

public void setThreshold(int t) { threshold = t;

}

public PVector getLerpedPos() { return lerpedLoc;

}

public PVector getPos() { return loc;

}

public PImage getDisplay() { return this.display; }

Fonte: Elaborado pelo autor.

Na sequência é ilustrado como foi implementado o método track(), cuja função é efetivamente descobrir os pontos de distância mínima e diferenciá-los dos demais, assim como efetuar a translação da imagem para focar na mão do usuário. Essa função é seguida no quadro 2:

(41)

Quadro 2: Código fonte do método track() public void track() {

depth = kinectProcessing.getKinect().getRawDepth(); if (depth == null) { return; } float sumX = 0; float sumY = 0; float count = 0;

for (int x = 0; x < kinectProcessing.getKinect().width; x++) { for (int y = 0; y < kinectProcessing.getKinect().height; y++) {

int offset = x + y * kinectProcessing.getKinect().width; int rawDepth = depth[offset];

if (rawDepth < threshold) { sumX += x; sumY += y; count++; } } } if (count != 0) {

loc = new PVector(sumX / count, sumY / count); }

lerpedLoc.x = PApplet.lerp(lerpedLoc.x, loc.x, 0.3f); lerpedLoc.y = PApplet.lerp(lerpedLoc.y, loc.y, 0.3f);

kinectProcessing.translate(-loc.x * 2.4f, -loc.y * 1.2f); }

Fonte: Elaborado pelo autor.

Por fim, no quadro 3 é apresentado a codificação da rotina onde a imagem captada pelo método track() é de fato apresentada ao usuário que está aprendendo a língua brasileira de sinais. Nesse método, inclusive, é realizado o processamento do ROI, escalonando a imagem em um nível que o algoritmo possa trabalhar na região específica da mão do usuário, conforme segue:

(42)

Quadro 3: Código fonte do método display() public void display() {

PImage img = kinectProcessing.getKinect().getDepthImage(); float scal = 3.3f;

kinectProcessing.scale(scal); if (depth == null || img == null) { return;

}

display.loadPixels();

for (int x = 0; x < kinectProcessing.getKinect().width; x++) { for (int y = 0; y < kinectProcessing.getKinect().height; y++) {

int offset = x + y * kinectProcessing.getKinect().width; int rawDepth = depth[offset];

int pix = x + y * display.width; if (rawDepth < threshold) { display.pixels[pix] = kinectProcessing.color(255, 255, 255); } else { display.pixels[pix] = kinectProcessing.color(0, 0, 0); } } } display.updatePixels(); kinectProcessing.image(display, 0, 0); }

Fonte: Elaborado pelo autor.

As demais classes implementadas para o sistema se baseiam na ideia proposta das atividades e funcionalidades do sistema, sendo cada rotina separada em objetos distintos, mantendo um padrão de desenvolvimento para facilitar futuras manutenções.

Contudo, todas as funcionalidades do sistema utilizam da mesma compreensão de identificação de gestos, a qual é levada em consideração uma imagem base que encontra-se no diretório do sistema. Essa imagem é comparada com o atual gesto do usuário e então é realizada a técnica de colisão de pontos. Os pontos levados em consideração são todos os cantos das imagens, que, com base nos algoritmos e no banco de imagens proposto, são entre 797 e 1053 pontos, isto é, cada teste de colisão levará em consideração de 797 até 1053 pontos, contando com a margem de colisão de 10 pixels para as coordenadas x e y de adjacentes

(43)

ortogonalmente de cada ponto. Por fim, para considerar um gesto como reconhecido, o sistema reconhecerá apenas as imagens que possuam um percentual de conflito maior que 90%. Entretanto, ao considerar a imagem, o algoritmo armazena o resultado em um mapa de valores, e somente após 10 colisões semelhantes aquela letra ou número o sistema reconhecerá por fim o gesto como válido, então todas as variáveis são reiniciadas para a próxima letra ou número.

Contudo, são realizados em média, 30 testes de colisão por segundo, ou seja, a taxa de quadros da leitura do Kinect é de 30 quadros por segundo.

Entretanto, conforme já mencionado nesse trabalho, a técnica proposta é válida apenas para a interpretação de gestos separadamente, ou seja, não interpreta movimentos que formariam um gesto na língua brasileira de sinais. Esse impedimento torna impossível o reconhecimentos de algumas letras que necessitem de movimentos para sua conclusão, como é o caso das letras H, J, K, X, Y e Z.

4.4 Resultado

Com base nas implementações e software proposto, foi realizado um questionário para verificação inicial da ferramenta desenvolvido. Tal questionário estará disposto nesta seção.

4.4.1 Questionário

Diante da implementação do software e com o objetivo de obter um comparativo entre a metodologia de ensino que utiliza a pedagogia surda e a metodologia proposta por esse trabalho, foram realizados testes com cinco pessoas de fora da comunidade dos surdos-mudos. Todos as pessoas realizaram os testes com as três tarefas propostas pelo software, sendo sua utilização totalmente manuseada pelo usuário, sem influência ou auxílio do desenvolvedor.

Assim sendo, para obter um resultado qualitativo do trabalho proposto, foi elaborado um questionário para concluir o nível de satisfação e facilidade que o usuário teve em relação à ferramenta. Esse questionário foi aplicado a todos os voluntários após a finalização de todas as tarefas. Com o fundamento que o questionário elaborado é para cunho de amostra de percepção do software

(44)

desenvolvido, o mesmo não foi relatado à comissão de ética, sendo seus resultados apenas demonstrativos de um ponto de vista de fora do âmbito de desenvolvimento, não obtendo nenhuma validade estatística. Ele é baseado em responder as questões de sexo, sendo caracterizado a letra M para masculino e F para feminino, idade e questões de avaliação com notas de zero a cinco, considerando zero como ruim, insatisfeito ou discorda totalmente e cinco como ótimo, muito satisfeito ou concorda plenamente. A fim de não identificar os voluntários, os nomes foram alternados por VX, sendo X o número do voluntário. A seguir segue o resultado conforme tabela 1:

Tabela 1: Questionário após teste com ferramenta de ensino de LIBRAS

Questões realizadas V1 V2 V3 V4 V5

Sexo M M F M F

Idade 23 27 54 50 33

Tempo de execução das três atividades, em

minutos

5,10 5,00 12,45 13,75 8,86

O sistema foi intuitivo? 5 5 4 4 4

A ferramenta apresentou as atividades e funções

de modo amigável?

5 5 4 4 5

O sistema respondeu de maneira adequada aos

gestos realizados?

5 5 5 5 5

Você consideraria utilizar a metodologia proposta

para aprendizagem ao invés da metodologia

atual de ensino?

5 5 4 5 5

Você obteve interesse em aprender LIBRAS de

um modo geral após a interação com a ferramenta alternativa?

5 4 5 3 4

Fonte: Elaborado pelo autor

Com base no questionário realizado, pode-se concluir um ótimo retorno das pessoas que utilizaram o sistema, tendo uma pequena dificuldade no uso para

(45)

pessoas com mais idade. Contudo, o software mantém-se em desenvolvimento e disponível para realizações de branchs e aceite de voluntários dispostos a prosseguir com o desenvolvimento da ferramenta. Para acesso a todo código fonte, o sistema foi versionado pela ferramenta de versionamento git e adicionado no reposítório do BitBucket no domínio <https://bitbucket.org/LoriMachadoFilho/kili.git>.

(46)

5 CONCLUSÃO E TRABALHOS FUTUROS

Efetuou-se a análise da viabilidade do desenvolvimento de uma ferramenta com a capacidade de integrar sua aplicação com um dispositivo de hardware responsável pela leitura gestual de uma pessoa, fazendo dessa união um software de ensino da língua brasileira de sinais. Essa análise obteve um resultado positivo, com base no sucesso do desenvolvimento da ferramenta proposta.

A ferramenta desenvolvida para o ensino de LIBRAS foi baseada em um dicionário limitado de letras ou números obtidos através do próprio software. Ademais, o tempo de resposta do software é fundamentado nesse mesmo dicionário. A partir dessa ideia, é possível concluir que o tempo de resposta do algoritmo utilizado aumenta linearmente conforme o tamanho do dicionário.

Dessa forma, o software realizou a ideia proposta utilizando-se de um algoritmo de colisão de partículas com ótima satisfação do usuário. Levando em consideração as limitações dos gestos com base no banco de imagens e na premissa de que os gestos são interpretados separadamente, sem a possibilidade de reconhecer movimentos.

Contudo, limitando-se as disponibilidades de processamento do hardware utilizado, o tempo de resposta foi considerado hábil para uma boa interação entre o usuário e o software, evitando o desinteresse do usuário pela ferramenta.

A partir dessa observação, é possível obter a ideia de um trabalho futuro com a utilização de um hardware superior para a interpretação dos gestos, sendo inclusive, uma possível implementação para a interpretação de movimentos como um gesto. Além disso, seria de implementação em trabalhos futuros a utilização da coordenada de profundidade para o reconhecimento de gestos semelhantes.

(47)

REFERÊNCIAS

BOUCHARD, Samuel; Using The Kinect For Robotic Manipulation. Disponível em: < http://blog.robotiq.com/bid/40428/Using-The-Kinect-For-Robotic-Manipulation />. Acesso em: 01 nov. 2015.

BONINO, R. . Os sotaques dos sinais. Revista Língua Portuguesa, 28-33, 2007. BUXTON B., 2010. Entrevista CES 2010: NUI with Bill Buxton. Disponível em: <http://channel9.msdn.com/posts/LarryLarsen/CES-2010-NUI-with-Bill-Buxton>. Acesso em 15 Abril 2016.

CARNEIRO, A.; CORTEZ, P.; COSTA, R. Reconhecimento de Gestos da LIBRAS com Classificadores Neurais a partir dos Momentos Invariantes de Hu. Interaction, p. 190-195, 2009.

CORREIA, Miguel. Reconhecimento de elementos da língua gestual portuguesa com Kinect. 2013. 90 f. Tese (Mestrado Integrado em Engenharia Eletrotécnica e de Computadores) - Faculdade de Engenharia da Universidade do Porto, Porto, Portugal. 2013

DA SILVA, Renato Kimura. Interfaces Naturais e o Reconhecimento das Línguas de Sinais. 2013. 130 f. Tese (Mestrado em Tecnologias da Inteligência e Design Digital) - Pontífica Universidade Católica de São Paulo, São Paulo. 2013

DE MENDONÇA, Vinícius Godoy. Método para Classificação de um Conjunto de Gestos usando Kinect. 2013. 86 f. Tese de Doutorado. Pontifícia Universidade Católica do Paraná. 2013.

DE PAULA, Bruno Campagnolo. Adaptando e desenvolvendo jogos para uso com o Microsoft Kinect. Proceedings of SBGames, 2011.

DE SALES ALVES, Rodrigo; DE ARAUJO, Jefferson Oliveira Alves; MADEIRO, Francisco. AlfabetoKinect: Um aplicativo para auxiliar na alfabetização de crianças com o uso do Kinect. Anais do Simpósio Brasileiro de Informática na Educação. v. 23, n. 1, p. 1-5, 2012.

(48)

DIAS, Diego et al. Desenvolvimento de Aplicações com Interface Natural de Usuário e Dispositivos PrimeSense como Meio de Interação para Ambientes Virtuais. In: SIMPÓSIO DE REALIDADE VIRTUAL E AUMENTADA, 15., 2013, Cuiabá. Desenvolvimento de Aplicações com Interface Natural de Usuário e Dispositivos PrimeSense como Meio de Interação para Ambientes Virtuais. [s.l.]:

[s.n.], 2013. Disponível em:

<http://www.researchgate.net/publication/264734007_Desenvolvimento_de_Aplicaes _com_Interface_Natural_de_Usurio_e_Dispositivos_PrimeSense_como_Meio_de_In terao_para_Ambientes_Virtuais>. Acesso em: 13 ago. 2016.

GESSER, Audrei. Metodologia de ensino em Libras como L2. PEREIRA, AT C.; STUMPF, MR; QUADROS, RM Coleção Letras/Libras, 2010.

KATALAI, Patricia; STREIECHEN, ELIZIANE MANOSSO. As principais metodologias utilizadas na educação dos surdos no Brasil. Anais do Seminário de Pedagogia. v. 5, n. 120, p. 1-15, 2014.

NAKAMURA, R., TORI, R., 2009. Processing como Ferramenta para Game Design. In: Proc. VIII Brazilian Symposium on Games and Digital Entertainment, cap. 08-10, p. 01-22, 2009.

NETBEANS; NetBeans IDE. Disponível em: < https://netbeans.org/ >. Acesso em: 26 mar. 2016.

ORACLE; Obtenha Informações sobre a Tecnologia Java. Disponível em: < https://www.java.com/pt_BR/ >. Acesso em: 26 mar. 2016.

PROCESSING; Processing. Disponível em: < https://processing.org/ >. Acesso em: 07 mar. 2016.

REIMER,J., 2005. A History of the GUI. Ars Technica. Disponível em: <http://arstechnica.com/old/content/2005/05/gui.ars>. Acesso em 15 Abril 2016. SAUSSURE, F. d .Curso de Linguistica Geral. 1916.

SHIFFMAN, Daniel; Getting Started with Kinect and Processing. Disponível em: < http://shiffman.net/p5/kinect/ >. Acesso em: 07 mar. 2016.

(49)

TAVARES, Orivaldo de L.; CORADINE, Luis C.; BREDA, Wesley Lucas. Falibras-MT–Autoria de tradutores automáticos de textos do português para LIBRAS, na forma gestual animada: Uma abordagem com memória de tradução. XXV Congresso da Sociedade Brasileira de Computação. p. 2099-2107, 2005.

ZHANG, Z. Microsoft kinect sensor and its effect. MultiMedia, IEEE, v. 19, n. 2, p. 4-10, 2012.

Referências

Documentos relacionados

nesta nossa modesta obra O sonho e os sonhos analisa- mos o sono e sua importância para o corpo e sobretudo para a alma que, nas horas de repouso da matéria, liberta-se parcialmente

No entanto, maiores lucros com publicidade e um crescimento no uso da plataforma em smartphones e tablets não serão suficientes para o mercado se a maior rede social do mundo

esta espécie foi encontrada em borda de mata ciliar, savana graminosa, savana parque e área de transição mata ciliar e savana.. Observações: Esta espécie ocorre

da quem praticasse tais assaltos às igrejas e mosteiros ou outros bens da Igreja, 29 medida que foi igualmente ineficaz, como decorre das deliberações tomadas por D. João I, quan-

5 “A Teoria Pura do Direito é uma teoria do Direito positivo – do Direito positivo em geral, não de uma ordem jurídica especial” (KELSEN, Teoria pura do direito, p..

A tem á tica dos jornais mudou com o progresso social e é cada vez maior a variação de assuntos con- sumidos pelo homem, o que conduz também à especialização dos jor- nais,

Nessa situação temos claramente a relação de tecnovívio apresentado por Dubatti (2012) operando, visto que nessa experiência ambos os atores tra- çam um diálogo que não se dá

O score de Framingham que estima o risco absoluto de um indivíduo desenvolver em dez anos DAC primária, clinicamente manifesta, utiliza variáveis clínicas e laboratoriais