• Nenhum resultado encontrado

Interpretação da língua gestual portuguesa

N/A
N/A
Protected

Academic year: 2021

Share "Interpretação da língua gestual portuguesa"

Copied!
248
0
0

Texto

(1)UNIVERSIDADE DE LISBOA Faculdade de Ciências Departamento de Informática. INTERPRETAÇÃO DA LÍNGUA GESTUAL PORTUGUESA Ana Paula de Almeida e Sousa. DISSERTAÇÃO MESTRADO EM ENGENHARIA INFORMÁTICA Especialização em Sistemas de Informação. 2012.

(2)

(3) UNIVERSIDADE DE LISBOA Faculdade de Ciências Departamento de Informática. INTERPRETAÇÃO DA LÍNGUA GESTUAL PORTUGUESA Ana Paula de Almeida e Sousa. DISSERTAÇÃO Trabalho orientado pelo Professor Doutor Paulo Jorge Cunha Vaz Dias Urbano. MESTRADO EM ENGENHARIA INFORMÁTICA Especialização em Sistemas de Informação. 2012.

(4)

(5) Agradecimentos Ilda e Carlos Sousa. Os dois nomes que não poderiam faltar aqui, a minha mãe e o meu pai. Sem eles nada disto teria sido possível. A pessoa que sou hoje e os objetivos que tenho e tento concretizar não existiriam se não fosse pelos meus pais, as pessoas mais espetaculares e mais fortes que conheço. Continuando na minha família, por todo o apoio que me deram, quero agradecer ao meu avô com um carinho muito especial, às minhas primas (Sara e Ana) que nunca me abandonaram e sempre me estimularam a concretizar o meu objetivo, ao meu Tio Panão e Tia Tina que me forneceram alguns contactos pessoais, e à Babi, ela sabe porquê. Aos meus amigos: André Rosa, Oleksandr Malichevskyy e Francisco Aragão. Sem vocês onde é que eu estaria? Vocês que nunca me deixaram desistir e sempre estiveram lá para mim, até em horas menos próprias. Diz-se que é nas alturas mais difíceis que se vêm os amigos, pois apesar da distância que nos separou vocês estiveram sempre lá nos momentos fáceis e nos mais complicados. Agradeço a todas as pessoas da ESEC que disponibilizaram parte do seu tempo tanto a fazer-me compreender a comunidade surda e as suas regras, como a testar o protótipo que desenvolvi. Aqui destaco a Dra Anabela Ramalho, a Dra. Rafaela Silva e a Professora Lurdes, pois sem elas não teria tido o conhecimento necessário na área da LGP. Um agradecimento especial a duas senhoras que começaram com o ensino inclusivo em Portugal e que me deram muito apoio, são elas a Dra. Miette Borges e a Dra. Ana Maria Bénard da Costa. Por último falta-me agradecer ao meu orientador que, apesar de me encontrar longe dele, sempre me apoiou, ajudou e acompanhou o trabalho inclusivamente em horas mais tardias, por vezes, através de videochamada. Um muito obrigado pelo apoio e dedicação a esta dissertação e na redação deste documento..

(6)

(7) Aos meus pais, ao meu avô e ao meu gato..

(8)

(9) Resumo Há em Portugal cerca de 30 mil pessoas que têm como primeira língua, a Língua Gestual Portuguesa (LGP). O Kinect é uma ferramenta de custo acessível que pode ser usado para o reconhecimento e tradução de gestos desta língua para a Língua Portuguesa, usando uma aplicação adequada. Para o reconhecimento de gestos de LGP, efetuados por pessoas distintas, selecionámos um conjunto de features, que considerámos importantes, através de um pré-processamento e extração das características do sinal devolvido pelo Kinect. Suportada por estas características, construímos uma base de dados inicial, apenas com gestos estáticos do alfabeto em LGP, que foi submetida, como um conjunto de treinamento, à plataforma Weka, para construir e testar uma grande variedade de classificadores. Obtivemos um óptimo desempenho, a nível de taxa de sucesso, por dois dos algoritmos. Numa segunda fase, construiu-se um protótipo, utilizando os dois melhores classificadores, capazes de reconhecer, em tempo real, palavras em datilologia (soletragem de palavras). Para isso, usaram-se duas técnicas de coarticulação dos gestos, que consistiram na verificação da estabilização da letra prevista pelo algoritmo, e no uso de regras de construção de palavras da língua portuguesa. Para melhor testar o protótipo utilizaram-se três modos diferentes de interação com o utilizador, o modo “easy” e o “hard”, vocacionados para o reconhecimento de gestos, e o modo “direct” mais destinado à inserção rápida de gestos em datilologia na base de dados. Por último, o protótipo foi submetido a testes efetuados por pessoas da comunidade surda, e avaliado o seu desempenho em datilologia. Os dois classificadores que obtiveram maior sucesso no reconhecimento de poses estáticas, não se revelaram tão eficazes quanto à datilologia, devido às elevadas exigências da coarticulação. De qualquer forma, estes resultados são uma contribuição significativa lançando nova luz sobre como melhorar o reconhecimento de gestos em tempo real e coarticulação.. Palavras-chave: Língua Gestual Portuguesa, LGP, Kinect, Reconhecimento de gestos, interpretação, Surdo. i.

(10) ii.

(11) Abstract In Portugal there are about 30 thousand people who use Portuguese Sign Language (PSL) as their primary language. The Kinect is an affordable tool that can be used to recognize gestures and translate this language into the Portuguese written language, using an appropriate application. For gesture recognition in PSL, with different people, we selected a set of features, we considered important, through a pre-processing and feature extraction of the signal returned by the Kinect. Supported by these characteristics, we constructed an initial database, just with the PSL alphabet gestures, which was submitted as a training set to the WEKA platform in order to build and evaluate a wide range of classifiers. We had a great performance, in terms of success rate, by two of the algorithms. In a second phase, we built a prototype, using these two best classifiers capable of recognizing, in real time, words in dactylology (spelling words). For this, we used two different techniques of gestures co-articulation, which consisted in verifying the stability of the letter provided for by the algorithm, and in using Portuguese lexical rules. To better test the prototype we used three different modes of interaction with the user. "Easy" and "Hard" modes, oriented towards gesture recognition, and "Direct" mode, destinated to a fast insertion of gestures, in dactylology, on the database. Finally, the prototype was submitted to tests with dactylology, performed by people from the deaf community, and it’s performance evaluated. The two classifiers with the greatest success in recognizing isolated static poses, have not proved as effective in dactylology due to the coarticulation’s high requirements. Anyhow, these results are a significant contribution shedding new light on how to improve real time gesture recognition and coarticulation.. Keywords: Portuguese Sign Language, PSL, Kinect, gesture recognition, interpretation, Deaf iii.

(12) iv.

(13) Conteúdo Capítulo 1. Introdução............................................................................................ 1. 1.1. Motivação ................................................................................................... 2. 1.2. Objetivos..................................................................................................... 3. 1.3. Contribuições .............................................................................................. 4. 1.4. Estrutura do documento .............................................................................. 5. Capítulo 2 2.1. Fundamentos do trabalho .................................................................... 7. A Língua Gestual ........................................................................................ 7. 2.1.1. Estrutura da Língua ............................................................................. 8. 2.1.2. A Língua Gestual em Portugal ............................................................ 9. 2.1.3. Complexidade do reconhecimento da Língua Gestual Portuguesa ... 11. 2.2. Estudo de dispositivos para reconhecimento ............................................ 11. 2.2.1. O Dispositivo Kinect ......................................................................... 13. 2.2.2. Especificações Técnicas do Kinect ................................................... 13. 2.3. Algoritmos ................................................................................................ 16. 2.3.1. Algoritmos de Data Mining............................................................... 18. 2.3.2. Avaliação tendo em conta conjuntos de dados.................................. 18. 2.3.3. O Weka.............................................................................................. 20. 2.3.4. O Algoritmo K-nn (K-nearest neighbour) ou IBK (no Weka) .......... 21. 2.3.5. O Algoritmo C4.5 ou J48 (no Weka) ................................................ 22. 2.3.6. O Formato de dados ARFF ............................................................... 22. 2.4. Extração de características........................................................................ 24. 2.5. Análise das ferramentas a utilizar............................................................. 24. Capítulo 3. Trabalho relacionado ......................................................................... 29. 3.1. Sensores e dispositivos ............................................................................. 30. 3.2. Reconhecimento de mãos e dedos ............................................................ 32. 3.3. Reconhecimento e tradução ...................................................................... 35. 3.4. Artigos complementares ........................................................................... 38. Capítulo 4. Aprendizagem das poses estáticas do alfabeto .................................. 41 v.

(14) 4.1. Extração de características (ou features) .................................................. 41. 4.2. Construção da primeira Base de Dados de treino ..................................... 44. 4.2.1. Recolha de Dados .............................................................................. 44. 4.2.2. Depuração dos atributos .................................................................... 45. 4.3 Comparação entre o desempenho dos classificadores do Weka com a base de dados inicial ........................................................................................................... 47 4.4. A Base de Dados final .............................................................................. 48. 4.5. Seleção dos dois melhores classificadores do Weka com a base de dados .................................................................................................................. 54. final. Capítulo 5. Protótipo de reconhecimento em tempo real de palavras soletradas . 57. 5.1. Processamento em tempo real dos gestos ................................................. 59. 5.2. Coarticulação/previsão das letras ............................................................. 60. 5.3. Três modos facilitadores ........................................................................... 62. 5.4. Incremento da base de dados .................................................................... 66. Capítulo 6 6.1. Avaliação do protótipo ...................................................................... 69. Descrição dos testes .................................................................................. 69. 6.1.1. Testes ................................................................................................. 70. 6.1.2. Participantes ...................................................................................... 70. 6.1.3. Detalhes técnicos ............................................................................... 71. 6.2. Análise dos testes efetuados ..................................................................... 71. 6.2.1. Duração dos testes por utilizadores ................................................... 71. 6.2.2. Erros globais de validação das letras................................................. 73. 6.2.3. IB1 vs J48 .......................................................................................... 74. 6.2.4. Discussão dos resultados obtidos ...................................................... 78. Capítulo 7. Conclusões e Trabalho Futuro........................................................... 83. 7.1. Conclusões ................................................................................................ 83. 7.2. Trabalho Futuro ........................................................................................ 85. Referências Bibliográficas ...................................................................................... 87 Bibliografia ............................................................................................................. 95. vi.

(15) Anexos .................................................................................................................... 99 Anexo A – Enquadramento ................................................................................... 101 Anexo A1 – "A VIDA DOS SURDOS" A história animada/desenhada em Língua Gestual Portuguesa (LGP) ............................................................................ 103 Anexo A2 – Reunião com a Dra. Ana Maria Bénard da Costa a 7 de Outubro de 2011 .......................................................................................................................... 125 Anexo A3 – Reunião com a Dr.ª Rafaela Silva dia 12 e 13 de Outubro de 2011 .................................................................................................................................. 127 Anexo B – Glossário ............................................................................................. 129 Anexo C – Manual de utilizador do protótipo ...................................................... 131 Anexo D – Informação recolhida do Weka .......................................................... 139 Anexo D1 – com uma base de dados inicial pequena ....................................... 141 Anexo D2 – com a base de dados completa até à execução dos testes ............. 207 Anexo E – Matrizes de confusão do protótipo ...................................................... 217. vii.

(16) viii.

(17) Lista de Imagens Ilustração 1 - Exemplo de um gesto da categoria referencial, agrupado à expressão facial de interrogação, em LGP __________________________________________________________________ 9 Ilustração 2 - Exemplificação de frases em LGP ______________________________________________ 9 Ilustração 3 - Representação do Alfabeto em LGP ___________________________________________ 10 Ilustração 4 - O Microsoft Kinect. Liga-se a um computador via USB, tornando-o numa poderosa forma de comunicação entre computadores. O transmissor de infravermelhos encontra-se colocado à esquerda. ___________________________________________________________________________________ 14 Ilustração 5 - Como funciona a deteção de objetos no “Kinect” ________________________________ 15 Ilustração 6 - Como o “Kinect” "vê" a profundidade. _________________________________________ 16 Ilustração 7 - Exemplo de um cabeçalho de um ficheiro ARFF __________________________________ 23 Ilustração 8 - Exemplo do conjunto de dados de um ficheiro ARFF ______________________________ 23 Ilustração 9 - Interação entre o Weka e o protótipo _________________________________________ 28 Ilustração 10 - Visualização da deteção da mão ____________________________________________ 42 Ilustração 11 - Imagem ilustrativa de como foram executados os testes e inserida a base de dados ___ 44 Ilustração 12 - Parte inicial do ficheiro ARFF utilizado ________________________________________ 49 Ilustração 13 - Distribuição dos dados depois de carregado o ficheiro ARFF no Weka _______________ 50 Ilustração 14 - Identificação das classes através das cores ____________________________________ 50 Ilustração 15 - Distribuição dos dados do atributo x-box ______________________________________ 51 Ilustração 16 - Distribuição dos dados do atributo y-box ______________________________________ 51 Ilustração 17 - Distribuição dos dados do atributo z-box ______________________________________ 51 Ilustração 18 - Distribuição dos dados do atributo x-bar ______________________________________ 51 Ilustração 19 - Distribuição dos dados do atributo y-bar ______________________________________ 51 Ilustração 20 - Distribuição dos dados do atributo x2bar _____________________________________ 51 Ilustração 21 - Distribuição dos dados do atributo y2bar _____________________________________ 52 Ilustração 22 - Distribuição dos dados do atributo x2ybr ______________________________________ 52 Ilustração 23 - Distribuição dos dados do atributo nptrcontour ________________________________ 52. ix.

(18) Ilustração 24 - Distribuição dos dados do atributo xynptrcontour _______________________________ 52 Ilustração 25 - Distribuição das classes ____________________________________________________ 52 Ilustração 26 - Exemplos de captações para a base de dados efetuada por cinco utilizadores distintos (primeira parte do alfabeto) ____________________________________________________________ 53 Ilustração 27 - Exemplos de captações para a base de dados efetuada por cinco utilizadores distintos (segunda parte do alfabeto) ____________________________________________________________ 53 Ilustração 28 - Apresentação do protótipo _________________________________________________ 59 Ilustração 29 - Fluxo de informação do protótipo ___________________________________________ 60 Ilustração 30 - Interação no modo "easy" __________________________________________________ 63 Ilustração 31 - Interação no modo "hard" _________________________________________________ 64 Ilustração 32 - Interação no modo "direct" _________________________________________________ 65 Ilustração 33 - Interação no modo "direct" _________________________________________________ 65. x.

(19) Lista de Tabelas Tabela 1 - Os 11 atributos selecionados ..................................................................................................... 46 Tabela 2 - Comparação do desempenho dos classificadores em termos da taxa de precisão (validação cruzada de 10 folds) ................................................................................................................................... 47 Tabela 3 - Comparação do desempenho dos classificadores em termos da taxa de precisão (Leave-OneOut)............................................................................................................................................................. 48 Tabela 4 - Comparação do desempenho dos classificadores em termos da taxa de precisão (validação cruzada de 10 folds) ................................................................................................................................... 54 Tabela 5 - Taxa de precisão de cada uma das letras .................................................................................. 55 Tabela 6 - Tabela com as regras de construção de palavras em português contempladas no protótipo .. 61 Tabela 7 - Matriz de confusão total dos testes (IB1 + J48) ......................................................................... 73 Tabela 8 - Matriz de confusão dos testes com o classificador IB1 (modos “easy” e “hard”) ..................... 74 Tabela 9 - Matriz de confusão dos testes com o classificador J48 (modos “easy” e “hard”)..................... 76 Tabela 10 - Percentagens das letras validadas corretamente nos classificadores e modos distintos ........ 78 Tabela 11 - Matriz de confusão do classificador IB1 (modos “easy” e “hard”) ........................................ 218 Tabela 12 - Matriz de confusão do classificador IB1 (modo “easy”) ........................................................ 218 Tabela 13 - Matriz de confusão do classificador IB1 (modo “hard”) ........................................................ 218 Tabela 14 - Matriz de confusão do classificador J48 (modos “easy” e “hard”) ........................................ 218 Tabela 15 - Matriz de confusão do classificador J48 (modo “easy”) ........................................................ 218 Tabela 16 - Matriz de confusão do classificador J48 (modo “hard”) ........................................................ 218. xi.

(20) xii.

(21) Lista de Gráficos Gráfico 1 - Tempos dos utilizadores (em segundos) ................................................................................... 72 Gráfico 2 - Gráfico com tempos do IB1 tendo em conta os níveis de dificuldade para cada palavra ......... 74 Gráfico 3 - Gráfico com erros do IB1 tendo em conta os níveis de dificuldade para cada palavra ............ 74 Gráfico 4 - Gráfico com tempos do J48 tendo em conta os níveis de dificuldade para cada palavra ........ 75 Gráfico 5 - Gráfico com erros do J48 tendo em conta os níveis de dificuldade para cada palavra ............ 75 Gráfico 6 - Representação dos tempos dos classificadores no modo “easy” ............................................. 76 Gráfico 7 - Representação dos erros dos classificadores no modo “easy” ................................................. 76 Gráfico 8 - Representação dos erros dos classificadores no modo “hard” ................................................. 77 Gráfico 9 - Representação dos tempos dos classificadores no modo “hard” ............................................. 77 Gráfico 10 - Representação dos erros dos classificadores no modo “direct” ............................................. 77 Gráfico 11 - Representação dos tempos dos classificadores no modo “direct” .......................................... 77. xiii.

(22) xiv.

(23) Lista de Símbolos/Abreviaturas [Abreviaturas] ’’. Unidade de comprimento (polegada). .NET. dotNET. 3D. Tridimensional. API. Interface. de. Programação. da. Aplicação. (Application Programming Interface) ARFF. Attribute-Relation File Format. ASL. Língua Gestual Americana. B-ON. Biblioteca Online. BSL. Língua Gestual Britânica. BSN. Dispositivo que permite ajudar e desenvolver redes wireless de sensores corporais. Byte. unidade digital de informação. CIL. Common Intermediate Language. cm. Unidade de medida (centímetros). CMOS. complementary metal-oxide-semiconductor sensor. DLL. Dynamic-link library. ESEC. Escola Superior de Educação de Coimbra. GD. Gestuário Digital. HCI. Interação Computador Humano (Human computer interaction). HMM. Modelos Escondidos de Markov (Hidden Markov Models). Hz. Unidade de frequência do sistema internacional de frequências (Hertz) xv.

(24) IR. Infravermelhos (Infra-Red). IR-LED. Infrared Light Emitting Diodes. JPG. Extensão de ficheiro (Joint Photographics Experts Group). JVM. Java Virtual Machine. Kb’s. kilobyte (múltiplo da unidade digital de informação byte). K-nn. K- nearest neighbour. LG. Língua Gestual. LGP. Língua Gestual Portuguesa. LP. Língua Portuguesa. LSF. Língua Gestual Francesa. m. Unidade de medida (metros). m2. Unidade de medida (metros quadrados). MHZ. Unidade de frequência (um milhão de Hz). mm. Unidade de medida (milímetros). NUI. Interface Natural de Utilizador (Natural User Interface). OpenNI. Open Natural Interaction. p. ex.. Por exemplo. PSL. Portuguese Sign Language. pxs. Pixéis. RAM. Random Access Memory. RGB. Sistema de cores aditivas formado por Vermelho (Red), Verde (Green) e Azul (Blue). SDK. Kit de Desenvolvimento de Software (Software Development Kit). SOV. sujeito-objeto-verbo xvi.

(25) USB. Universal Serial Bus. vs.. versus. XML. eXtensible Markup Language. [Símbolos] X. variável. Y. variável. S. conjunto. {Si}. subconjunto. ∑. (). ( ) [ ( )]. média dos pontos variância de valor esperado de número total de pontos. xvii.

(26) xviii.

(27) CAPÍTULO 1 – INTRODUÇÃO. 1. Capítulo 1 Introdução Os gestos fazem parte do nosso dia-a-dia. Usamos gestos, acompanhados de linguagem corporal, para nos exprimirmos e dar mais ênfase àquilo que proferimos transmitindo uma variedade de sentimentos, de hostilidade ou afeição, de alegria ou de tristeza, ou mesmo, ilustrativos de determinada ação. O estudo do movimento corporal, “Kinesics”, como parte da comunicação nãoverbal, e a sua aplicação enquanto meio de interação com equipamentos tecnológicos, é alvo de crescentes pesquisas nas áreas da interação humano-computador e nas interfaces de utilizador natural. Os surdos, em vez de utilizarem padrões de sons convencionais, usam comunicação manual e linguagem corporal para se expressarem. Em cada local onde exista uma comunidade de surdos desenvolveu-se uma língua gestual. Cada uma destas línguas apresenta caraterísticas de sintaxe e gramática muito próprias, exprimindo-se por gestos simbólicos, icónicos ou arbitrários, e ainda soletrando quando não existe gesto definido, como no caso de nomes próprios. Para a resolução de um problema que afeta mais de 30.000 portugueses surdos, considerou-se fazer uso das novas tecnologias para possibilitar a comunicação entre falantes e não falantes da Língua Gestual Portuguesa (LGP) e uma melhor inclusão da comunidade surda. Para melhor a compreendermos, socorremo-nos da consulta de documentação diversa, entrevistas a personalidades ligadas à comunidade surda e académicos na área do ensino desta língua, visando a metodologia a aplicar para o seu reconhecimento e tradução utilizando computadores. Para avaliar a viabilidade do desenvolvimento de uma aplicação que interprete a LGP em tempo real, construiu-se um protótipo para reconhecimento e tradução de gestos, que aproveita as características do “Kinect” [1]. Devido à complexidade da língua limitou-se o reconhecimento à datilologia (composição letra a letra de cada palavra). Foram usadas técnicas de machine learning.

(28) 2. CAPÍTULO 1 – INTRODUÇÃO. para criar classificadores capazes de reconhecer poses estáticas correspondentes a cada letra do alfabeto, efetuadas por diferentes pessoas conhecedoras de LGP. Esses classificadores foram utilizados para reconhecer datilologia de palavras completas, em três diferentes modos de interação tendo sido, posteriormente, avaliados por um conjunto de pessoas novas, também estas conhecedoras de LGP.. 1.1 Motivação A comunicação entre os surdos e os ouvintes desde há muito tempo que é uma preocupação comum, nas diferentes partes do mundo, pretendendo aproximar as pessoas que comunicam entre si usando uma língua gestual com outras que não conhecem essa forma de expressão. Embora por todo o mundo se mobilizem pessoas e organizações que tentam atingir o reconhecimento, em tempo real, da língua gestual do país a que pertencem, bem como a sua tradução para a língua materna, esta área não se encontra ainda muito desenvolvida. Revela-se uma necessidade de desenvolver um sistema que auxilie os deficientes auditivos a serem mais independentes na comunicação com pessoas que não entendem LGP, e abrir caminho para que, mais tarde, com o advento de novas ferramentas e tecnologia, se possa vir a aprofundar e melhorar esta interação. A utilização das novas tecnologias poderá contribuir para uma maior aproximação entre as culturas surda e ouvinte, e conseguir melhorias na ultrapassagem do problema que preocupa uma comunidade de mais de cem mil pessoas. O desenvolvimento dos computadores e do tratamento de imagem digital, com processadores mais rápidos e maior resolução gráfica, permitiu explorar novos métodos de reconhecimento automático de objetos [2, 3] , de representação da LG [4] (p. ex. com o uso de imagens virtuais) e ensaios de interpretação de língua gestual [5]. Foram realizadas algumas tentativas, infrutíferas, para reconhecimento da língua gestual, Língua Gestual Americana [2] (ASL), Língua Gestual Japonesa [6], Língua Gestual Portuguesa [7], recorrendo a Webcams, limitadas pela baixa resolução e tempo de resposta [2, 3, 6]. No sentido de melhorar o tempo de resposta foram utilizadas resoluções gráficas mais baixas (40x40 pixéis). Muitas destas tentativas recorreram a equipamento invasivo como luvas coloridas [8], luvas com acelerómetros 3D [9, 10], ou à tentativa de reconhecimento de tom de pele [11] ou expressão facial [12, 13]. Estes equipamentos são bastante dispendiosos pelo que foi necessário procurar-se uma alternativa viável e acessível, encontrada no dispositivo Kinect..

(29) CAPÍTULO 1 – INTRODUÇÃO. 3. O Microsoft Kinect, além de outras características, apresenta a capacidade de reconhecimento de profundidade de campo, baixo custo de mercado, fácil ligação a qualquer computador, e, ainda, o uso de software interno de tratamento de imagem, que permite alguma rapidez de processamento. Como tal, revela-se uma boa opção para o reconhecimento e tratamento rápido e eficaz de sinais, dispensando o uso de outros dispositivos complementares ou algum tipo de aprendizagem específico. São já diversos os estudos para reconhecimento de língua gestual, tendo como finalidade a compreensão da língua [14, 15], a tentativa de reconhecer a língua gestual para aprendizagem [16, 17], o reconhecimento do alfabeto em língua gestual [18], e também o de algumas palavras icónicas [19]. No decorrer da escrita desta dissertação, após todo o trabalho efetuado de investigação e aprendizagem (da LGP, dos dispositivos e dos algoritmos), levantamento dos trabalhos já existentes na área, escolha do Kinect, escolha dos algoritmos, implementação do protótipo, e testes com pessoas da comunidade, foi conhecida a existência de uma ferramenta que pretende efetuar o mesmo objetivo [7], embora com algumas nuances. No entanto, uma ferramenta, que facilite quer o ensino, quer a tradução da LGP, revela-se de extrema importância e não deve ser menosprezada, sendo que todas as contribuições nesta área são valiosas. A utilização de algoritmos de aprendizagem automática, fundamentais para o reconhecimento de gestos, poderão contribuir para um bom desempenho numa aplicação deste tipo, uma vez que a aplicação teria a capacidade de autoaprendizagem à medida que fosse sendo utilizada, cometendo cada vez menos erros na deteção dos gestos.. 1.2 Objetivos A LGP é uma língua complexa, com um vasto vocabulário e uma gramática própria, que engloba seis componentes (descritas no capítulo 2.1.1), de forma a “pronunciar” o alfabeto, e os gestos icónicos, simbólicos, referenciais e arbitrários (também descritos no próximo capítulo para uma melhor compreensão), contendo, assim, gestos estáticos e dinâmicos. Devido à sua complexidade, nesta dissertação, limitamo-nos ao reconhecimento de gestos estáticos do alfabeto em LGP, ou seja, poses estáticas da mão correspondentes às letras. Pretende-se construir uma aplicação que faça o reconhecimento do alfabeto e datilologia (soletragem das palavras), utilizando o dispositivo Kinect e algoritmos de aprendizagem máquina (data mining). A aplicação deve conseguir reconhecer,.

(30) CAPÍTULO 1 – INTRODUÇÃO. 4. interpretar e traduzir, em tempo real, as poses estáticas (relativas ao gesto do alfabeto em LGP), e compreender a coarticulação entre poses. Por último, vai ser testada e avaliada, de modo a validar os objetivos e expectativas, por pessoas da comunidade surda. Para a criação desta aplicação foi necessário dividir o trabalho em sub-objectivos: - a criação de uma base de dados fiável do alfabeto em LGP, com os dados necessários ao seu reconhecimento; - o estudo dos algoritmos de classificação que poderiam ser utilizados; - a aplicação de teste que utiliza os modelos gerados pelos algoritmos tendo em conta a base de dados, sendo que, reconhece em tempo real, os gestos do alfabeto que o utilizador se encontra a executar; - a coarticulação dos gestos do alfabeto, de forma ao utilizador conseguir soletrar palavras e até mesmo frases. Destinando-se não só à comunidade surda, todos os gestos de LGP reconhecidos como letras formam palavras em português corrente, sendo apresentados no ecrã da aplicação, permitindo que um ouvinte, não falante de LGP, compreenda o que está a ser transmitido. Esta aplicação pretende ser a base para um reconhecimento de LGP mais completo, podendo ser integrada com outras aplicações já existentes, uma vez que a soletragem das palavras (datilologia) é utilizada na realidade (p. ex.: para nomes).. 1.3 Contribuições Deste trabalho resultaram as seguintes contribuições: 1. Pré-processamento e extração de características do sinal devolvido pelo Kinect para o reconhecimento de gestos (neste caso, poses estáticas do alfabeto) de diferentes pessoas em LGP. 2. Uma base de dados do alfabeto em LGP construída por 12 pessoas do meio académico, de forma a obter um bom conjunto de treino para o programa. Esta base de dados contém várias versões do mesmo gesto por pessoa, e foi construída em diversos locais com condições de ambiente não controladas de modo ao protótipo não ficar sujeito a certas condições chave, generalizando o mais possível a sua aplicação..

(31) CAPÍTULO 1 – INTRODUÇÃO. 5. 3. Comparação do desempenho de diversos classificadores implementados pelo Weka, de modo a apurar o melhor algoritmo para a utilização no protótipo, ou, neste caso, os dois algoritmos com melhor desempenho. 4. Um protótipo capaz de prever letras para construir as palavras portuguesas por datilologia em tempo real. Esta aplicação utiliza os modelos construídos com base nos classificadores escolhidos no ponto anterior, e está preparada para a construção de frases usando datilologia e o caracter de espaço incluído na interface. Foram usadas duas técnicas para identificação das letras, tendo em conta a coarticulação dos gestos, que consistiram na verificação da estabilização da letra prevista pelo algoritmo, e no uso de regras de construção de palavras da língua portuguesa. Este protótipo é facilmente adaptável a outras línguas gestuais, bastando, para isso, a constituição de novas bases de dados, e respetivos modelos para cada um dos algoritmos (para mais detalhes consultar o anexo C). 5. Um estudo baseado nos resultados dos testes efetuados à composição de sete palavras selecionadas, realizados por 14 pessoas, maioritariamente da comunidade surda. Estes testes foram realizados em diferentes condições de ambiente e localização, e permitiram verificar a possibilidade da datilologia das palavras. Para a escolha das palavras considerou-se o uso de todas as vogais, e de um número elevado de consoantes não repetidas mas com boa classificação nos resultados obtidos no ponto 3.. 1.4 Estrutura do documento Este documento encontra-se dividido em oito capítulos:  Capítulo 2 – Fundamentos do trabalho: é feita uma breve abordagem de introdução à Língua Gestual Portuguesa, ao Kinect e aos algoritmos. É realizada uma contextualização do tema e dos conceitos em que o trabalho se baseia, fornecendo uma visão global sobre os temas relevantes neste trabalho. Começamos primeiramente por apresentar o enquadramento a nível da Língua Gestual e seu reconhecimento; seguidamente deparamo-nos com a escolha do dispositivo escolhido para a execução deste trabalho; por fim, apresentamos uma abordagem aos algoritmos um pouco mais detalhada.  Capítulo 3 – Trabalho relacionado: Faz-se uma exposição dos conceitos e do que foi encontrado na literatura. . Capítulo 4 – Aprendizagem das poses estáticas do alfabeto: Neste capítulo descreve-se, com algum detalhe, o trabalho realizado tendo em conta os estudos.

(32) CAPÍTULO 1 – INTRODUÇÃO. 6. já existentes na área para implementação do protótipo, a criação da base de dados necessária e a sua classificação. . Capítulo 5 – Protótipo de reconhecimento em tempo real de palavras soletradas: Este capítulo apresenta o protótipo desenvolvido e um estudo ao mesmo, em que a interação entre o utilizador e a interface se realiza apenas por gestos, representando as letras do alfabeto em LGP.. . Capítulo 6 – Testes ao protótipo: Este capítulo apresenta um estudo do protótipo desenvolvido, em que a interação entre o utilizador e a interface se realiza apenas por gestos, representando as letras do alfabeto em LGP. Também são divulgados os resultados dos testes efetuados, a sua importância e as conclusões a retirar.. . Capítulo 7 – Conclusões e Trabalho Futuro: Neste capítulo, apresentam-se algumas conclusões, discussões do trabalho realizado e as perspetivas do trabalho futuro.. . Referências Bibliográficas: Aqui encontram-se bibliográficas citadas no decorrer do documento.. . Bibliografia: Encontra-se a bibliografia utilizada que não foi diretamente citada no texto, tais como livros e artigos consultados para a melhor compreensão e realização desta dissertação.. . Anexos: Foram introduzidos alguns anexos, considerados importantes para uma melhor compreensão desta dissertação.. todas. as. referências.

(33) CAPÍTULO 2 – FUNDAMENTOS DO TRABALHO. 7. Capítulo 2 Fundamentos do trabalho Neste capítulo é abordada a Língua Gestual Portuguesa (LGP), o dispositivo “Microsoft Kinect”, alguns algoritmos de aprendizagem automática (data mining), e o trabalho relacionado, que servem de base a esta dissertação.. 2.1 A Língua Gestual A Língua Gestual é uma língua de movimento e de espaço, das mãos e dos olhos, da comunicação abstrata, mas, acima de tudo, é a língua da comunidade surda e é portadora da cultura das pessoas que a utilizam para comunicar. É bastante comum confundir-se língua e linguagem, encarando estes termos como pertencentes ao mesmo campo semântico. A linguagem gestual deve ser considerada como elemento para-linguístico, sendo principalmente utilizada como complemento da comunicação oral, concorrendo para uma maior expressividade da comunicação. Já a língua gestual deve ser encarada como língua humana, na medida em que obedece a parâmetros linguísticos uniformes, como a arbitrariedade, a convencionalidade, a recursividade e a criatividade. Não há uma língua gestual universal, mas sim diversas línguas gestuais, de acordo com as comunidades que as utilizam. De facto, as línguas gestuais não dependem das línguas dos seus respetivos países, como verificamos na Grã-Bretanha, Irlanda e Estados Unidos da América, todos países de língua inglesa, que têm línguas gestuais totalmente distintas. Na realidade, a língua gestual Americana (ASL) está mais próxima da língua gestual Francesa (LSF) do que da língua gestual Britânica (BSL), por as suas raízes se encontrarem em França, e não na Inglaterra. Em 1968, um estudo de Edward Klima e Ursulla Bellugi concluiu que existem sistemas linguísticos primários, que passam de uma geração de surdos para a outra, com propriedades gramaticais complexas que não derivam da língua falada. Concluíram.

(34) CAPÍTULO 2 – FUNDAMENTOS DO TRABALHO. 8. também, que a ASL (American Sign Language), é de facto uma língua complexamente estruturada, com grande articulação gramatical; uma língua que exibe propriedades essenciais idênticas às da língua falada, incluindo a fonologia sem som, bem como estruturação complexa nos níveis morfológicos e sintáticos.. 2.1.1 Estrutura da Língua A Língua Gestual, como língua manuo-visual e falada, ocupa um espaço tridimensional onde os sinais são constituídos por até seis componentes principais: a orientação e configuração das mãos, a sua localização em relação ao tronco ou cabeça, os dedos, a expressão facial, o movimento corporal, e alguns sons proferidos. Estes componentes, conjugados ou isoladamente, representam todo o meio que a rodeia. O que se vê, sente e pensa, é transmitido através de gestos, produzindo palavras ou vocábulos. Possui, como qualquer língua oral, uma Gramática com: - Fonética – em vez de sons possui gestos articulados. - Fonologia – em vez de fonemas que diferenciam a forma sonora das palavras possui elementos de natureza visual que cumprem a mesma função diferenciadora das palavras. - Léxico – vocabulário próprio. - Sintaxe – regras para a construção das frases. - Semântica – efeitos regulares de significado das palavras e frases. - Pragmática – modos de utilização da língua adequados à expressão individual e à comunicação entre as pessoas. Deve notar-se que a estrutura do discurso da língua gestual é totalmente diferente da língua falada e, apesar de ambas possuírem uma gramática própria, não existe qualquer similaridade nas suas regras. Podemos classificar e agrupar os gestos (vocábulos) da Língua Gestual (LG) em três categorias principais: icónicos, referenciais e arbitrários. Os icónicos são facilmente decifráveis e entendidos por qualquer indivíduo, seja surdo ou ouvinte, ainda que não conheça a Língua Gestual, pois apresentam alguns elementos de similitude geométrica com o seu significante (p. ex.: bola é representada pelas mãos em posição côncava, viradas uma para a outra e com movimento arqueado). Tanto em relação à configuração da mão como ao movimento executado têm características facilmente associáveis aos objetos ou às ações que representam..

(35) CAPÍTULO 2 – FUNDAMENTOS DO TRABALHO. 9. Os referenciais indicam objectos ou locais, apontando para eles, ou referem factos para a construção do relato.. Ilustração 1 - Exemplo de um gesto da categoria referencial, agrupado à expressão facial de interrogação, em LGP. Os arbitrários transmitem conceitos abstratos e não se sustentam na forma para a sua representação (p. ex.: indivíduo, conversar, gostar, fome, …). São, portanto, convencionados. Mais exemplos podem ser encontrados no anexo A1.. 2.1.2 A Língua Gestual em Portugal A Língua Gestual Portuguesa (LGP), foi reconhecida oficialmente nos termos da alínea h) do n.º 2 do artigo 74.º da Constituição da República Portuguesa [20]. A Língua Gestual usa uma estrutura muito específica, distinta da que é habitualmente usada em Língua Portuguesa (LP) [21]. A sequência que predomina é sujeito-objecto-verbo (SOV), exemplificado pelas seguintes frases:. LP – O aluno deu uma flor à professora. LP – Eu vou para casa. LGP – Aluno flor professora dar. LGP – (Eu) casa ir. Ilustração 2 - Exemplificação de frases em LGP. Daqui se infere que a LGP não usa preposições e que no caso de o sujeito ser constituído por um pronome pessoal, poderá não ser necessário marcá-lo se este estiver implícito no contexto. Também é possível constatar que o verbo é sempre aplicado no infinitivo. Assim, a marcação de tempo verbal é feita pelos advérbios de tempo ou, na sua ausência, pelo movimento do corpo (para a frente indica futuro e para trás indica passado)..

(36) 10. CAPÍTULO 2 – FUNDAMENTOS DO TRABALHO. Tal como na língua falada se usam vocábulos diferentes para o mesmo objeto, em função da região onde é falada (p. ex. “Fino” vs. “Imperial”), também a LGP apresenta gestos diferentes para a mesma palavra tendo em conta a comunidade em que se insere. Um exemplo é a palavra “neto” que tem duas representações, em que uma é usada no Norte do país e a outra é usada no Sul e Centro. A comunidade surda utiliza gestos que representam as imagens simbólicas dos conceitos exprimidos. É o conjunto dos parâmetros do gesto, assim como a expressão da face e o movimento do corpo, que criam uma imagem precisa da ideia expressa. No entanto, há palavras que, por serem pouco usuais ou muito específicas, não fazem parte do léxico e necessitam de ser soletradas. O alfabeto é parte integrante da LGP e é constítuido por símbolos efectuados com a mão dominante do falante da língua (destro ou esquerdino). Estes símbolos são na sua maioria, estáticos, e icónicos, representando letras. Apenas as letras “d”, “k” e “z” contém movimento, no entanto, para esta dissertação foi adoptada a sua forma estática da mesma maneira que se encontra representado na imagem seguinte (ilustração 3). A datilologia (representação das palavras soletrando-as, ou melhor, doletrando-as) é utilizada em LGP sempre que alguém não conhece o símbolo para uma determinada palavra, ou quando esse símbolo não existe, como é o caso dos nomes próprios.. Ilustração 3 - Representação do Alfabeto em LGP.

(37) CAPÍTULO 2 – FUNDAMENTOS DO TRABALHO. 11. 2.1.3 Complexidade do reconhecimento da Língua Gestual Portuguesa A LGP, como sistema de símbolos característicos da comunidade surda portuguesa, é bastante complexa, e deve ser alvo de estudo aprofundado para que seja, primeiramente, compreendida, em segundo lugar, analisada à luz das possibilidades oferecidas pelas novas tecnologias, e por fim, estruturada de modo a poder ser tratada usando computadores. Como foi referido anteriormente, a língua gestual portuguesa (LGP) obedece a algumas regras que a definem como língua. Atentando a essas regras, torna-se necessário, para reconhecer a LGP em tempo real, conseguir isolar e conjugar cada gesto (tendo em conta a coarticulação dos seus componentes), icónico, referencial, arbitrário, ou mesmo o alfabeto, uma vez que o Kinect reconhece todos os movimentos efetuados quer sejam gestos válidos ou não. Uma vez tratando-se de reconhecimento utilizando uma câmara para a captação de imagem, temos que ter atenção a pormenores tais como a posição frontal do sujeito em relação ao dispositivo e a distância a que se encontra deste. Interpretar todos os movimentos gerados pelos ombros, expressão facial, mãos e dedos, em simultâneo, usando software externo num computador, e algoritmos de reconhecimento de imagem e/ou de aprendizagem automática, torna a aplicação bastante pesada para um tratamento em tempo real. Sente-se também a necessidade da criação de uma base de dados indexada e agrupada por tipos de movimento permitindo uma pesquisa mais rápida (p. ex. no caso do movimento do polegar só seria pesquisada a base de dados nessa categoria). Ainda as nuances nos gestos efetuados por cada sujeito, pois nem todos os indivíduos fazem os gestos exatamente iguais, obrigam a que para cada gesto existam no mínimo três amostragens na base de dados. A construção e estruturação da base de dados para identificação dos gestos, exige um bom domínio da língua gestual.. 2.2 Estudo de dispositivos para reconhecimento O reconhecimento de gestos de mão tem sido utilizado em diversos estudos, como um meio de interação homem-máquina (human computer interaction - HCI) ou para controlo de robots, como uma alternativa aos dispositivos mais comuns HCI, tais como teclado, rato, ou joystick. O reconhecimento de gestos assenta no desenvolvimento de algoritmos para tratamento e interpretação da imagem, e permite uma interação, mais natural, entre o.

(38) 12. CAPÍTULO 2 – FUNDAMENTOS DO TRABALHO. sujeito e o computador. Os gestos, normalmente efetuados com a mão, podem, também, ser complementados com movimentos corporais ou expressões faciais. Ao longo do tempo, tem sido cada vez mais importante o reconhecimento de gestos e mais recentemente a tentativa do reconhecimento de língua gestual. Para isso têm sido experimentadas diversas formas de reconhecimento com a ajuda de um computador. Normalmente a interação com os computadores é realizada com recurso a dispositivos que necessitam de contacto físico: teclado, rato [22, 23], ecrã táctil, objetos com sensores embutidos, luvas, luva com acelerómetros 3D [9, 10] para reconhecimento de ASL (Língua Gestual Americana), etc. Para reconhecimento de língua gestual são utilizados outros dispositivos que não dependem de contacto físico, como as câmaras, e que usam algoritmos de visão computacional para a sua interpretação [24, 25, 26, 27]. Desde o princípio dos anos 80 que as interfaces que usam a imagem têm vindo a ser ensaiadas: o rastreamento e reconhecimento de sinais têm vindo a ser estudados desde os primeiros trabalhos realizados [28, 29] na comunidade da visão computacional. Uma das soluções adotadas no passado consiste na utilização de marcadores visuais nas mãos e/ou nos dedos [30, 31], ou, em ambientes com iluminação reduzida, Infrared Light Emitting Diodes (IR-LED), para permitir a deteção e o rastreamento baseado na visão computacional. Outro método consiste na identificação das mãos baseando-se na cor aproximada da pele humana [32, 33] e extraindo essa parte da imagem para uma nova camada (layer) através de técnicas de segmentação. A aplicação desta técnica apresenta alguns problemas uma vez que a cor da pele não é igual para todos os indivíduos e a iluminação ambiente pode também afetar essa deteção. Para superar essas dificuldades utilizam-se artifícios ou elementos adicionais, como a utilização de uma luva com uma cor uniforme e distinta. Esta luva colorida poderia ter uma cor para cada dedo e consoante a orientação da mão [34, 35], ou poderia ser toda de uma só cor para cada uma das mãos, de modo a obter a distinção da mão que está a ser reconhecida [16]. Isola-se, neste caso, a mão por meio de técnicas de subtração da imagem de fundo, onde o fundo é removido pelo processamento das imagens sequenciais do vídeo [36], ou, ainda no caso de visão estéreo [37], pela conjugação das imagens obtidas pelas diversas câmaras com diferentes pontos de vista. Esta técnica apresenta algumas limitações, particularmente se a cena tiver um fundo demasiado complexo, pouco contraste, ou se a iluminação não for constante. Outro método é baseado no modelo 3D da mão [38, 39]. Através da combinação do modelo 3D com imagens 2D adquiridas por uma ou mais câmaras, é obtida uma estimativa da posição da mão do utilizador. Esta técnica exige muitos recursos de computação e pode ser afetada pela ausência de imagens de zonas não visíveis pelas câmaras..

(39) CAPÍTULO 2 – FUNDAMENTOS DO TRABALHO. 13. Outras tentativas são o uso de um sistema de visão com auxílio de infravermelhos [40], ou simplesmente usando algoritmos de reconhecimento tendo em conta a forma da mão [41], o tom de pele [11], ou até mesmo o reconhecimento da face [12]. Existem diversas técnicas de deteção de dedos que fazem uso do conhecimento da geometria do objeto que está a ser procurado, como por exemplo o comprimento e a largura dos dedos, e outras de monitorização e análise de algoritmos de gestos da mão que podem ser encontradas em artigos publicados [30, 42].. 2.2.1 O Dispositivo Kinect O “Microsoft Kinect” é um dispositivo projetado para uma interface natural de utilizador (NUI – Natural User Interface). O dispositivo faz uso de gestos e comandos falados, revelando um novo e excitante progresso nas interações humano-computador devido a usar técnicas puramente visuais para construir o espaço tridimensional que está a ser visualizado à sua frente. O Kinect consegue reconhecer uma pessoa que se encontra no seu campo de visão, e determina automaticamente as posições da sua cabeça, corpo, braços, mãos, pernas e pés. Aqui, o utilizador não necessita de dispositivos de transmissão nem de etiquetas especiais refletivas, basta colocar-se à frente do Kinect. Uma das suas vantagens é a de conseguir identificar diversos utilizadores, e a capacidade de tratar o movimento de um utilizador específico num ambiente onde permanecem mais pessoas. As imagens 3D capturadas pelo Kinect podem ser processadas por um computador de modo a extrair os valores de x-y-z de um ponto de interesse.. 2.2.2 Especificações Técnicas do Kinect O Kinect assenta numa tecnologia de software desenvolvida internamente pela Microsoft, e uma tecnologia de câmara de grande alcance desenvolvida por Israeli da empresa PrimeSense, que interpreta a informação de uma cena 3D através de uma luz estruturada infravermelha contínua. Este sistema de scanner 3D denominado de Light Coding emprega uma variante baseada em imagem de reconstrução em 3D. O sensor Kinect é uma caixa relativamente pequena (25 x 12 x 3 cm) ligada a uma pequena base, com um pivô motorizado e foi projetado de modo a poder ser posicionado acima ou abaixo de um monitor de vídeo. O dispositivo contém uma câmara RGB, uma câmara monocromática que, em conjunto com um emissor de infravermelhos, monitoriza um padrão de pontos refletidos pelos objetos, permitindo.

(40) CAPÍTULO 2 – FUNDAMENTOS DO TRABALHO. 14. medir o tempo da luz refletida e calcular a profundidade, e microfone. O Kinect tem um campo de visão de 57º na horizontal, 47º na vertical, e 27º de movimento do pivot motorizado. O Kinect retorna uma descrição tridimensional do que pode ver na sua frente, bem como uma visão convencional RGB. A câmara RGB apresenta uma resolução de imagem de 640 x 480 pixels a 32 bits de profundidade de cor, enquanto que, a resolução da câmara de profundidade é de 320 x 240 pixels a 16 bits. Ambas as câmaras captam 30 imagens por segundo. A capacidade de reconhecer profundidade de dados, que não está disponível noutros tipos de equipamentos, torna o sensor extremamente empolgante considerando os dados recolhidos e o tipo de interação que pode permitir, algo que só era possível com a utilização de equipamentos como luvas com a posição reconhecida por sensores ou pela combinação de duas ou mais câmaras [43]. Uma pequena limitação do Kinect é a sua visualização em 3D, que se limita à área à sua frente e vê sempre do mesmo ângulo. Isto significa que ele não pode entender uma visualização completa de um objeto 3D, dado que não visualiza a parte de trás do objeto, ou um objeto oculto por outro. Essa limitação poderia ser compensada com a utilização de vários dispositivos Kinect partilhando pontos de vista individuais e complementando-se. Utiliza o padrão USB (Universal Serial Bus) como interface de entrada e saída de dados, o que permite a sua ligação a qualquer PC. Para utilizar o Kinect num computador comum, bastou a implementação de drivers para interpretar e solicitar dados através da sua interface USB.. Ilustração 4 - O Microsoft Kinect. Liga-se a um computador via USB, tornando-o numa poderosa forma de comunicação entre computadores. O transmissor de infravermelhos encontra-se colocado à esquerda.. O computador recebe do Kinect, além de um feed de vídeo, um fluxo de dados correspondentes aos pontos dos locais em 3D dos objetos detetados pelo Kinect..

(41) CAPÍTULO 2 – FUNDAMENTOS DO TRABALHO. 15. Desta forma, a comunidade de programadores interessada neste tipo de dispositivo, passou a contribuir para o desenvolvimento de drivers e aplicações para o Kinect, dando origem ao projeto “Open Kinect” [44], que visa a criação de bibliotecas e aplicações de código aberto que utilizam o potencial deste dispositivo. Além da disponibilização da biblioteca opensource do grupo “Open Kinect”, a empresa PrimeSense (companhia responsável pelo hardware do Kinect), em conjunto com o grupo Willow Garage e a empresa Side-Kick, disponibilizaram a versão oficial para sistemas Windows e Linux dos drivers para o Kinect em meados de Dezembro de 2010. Os drivers distribuídos permitem acesso às informações provenientes dos sensores de áudio, vídeo e profundidade do Kinect através de um conjunto de API’s conhecidas como OpenNI (Open Natural Interaction) [45] e do middleware NITE [46] do projeto PrimeSensor.. Ilustração 5 - Como funciona a deteção de objetos no “Kinect”. A ilustração 5 exemplifica como é detetado um objeto com o Kinect. Ele usa tecnologia conjunta de hardware e software para gerar uma imagem 3D do objeto no seu campo de visão e deteta, também, os objetos em movimento nesse mesmo campo. Ao emitir um foco de luz infravermelha para iluminar o objeto, cuja reflexão é depois captada pelo sensor “CMOS”, consegue medir a distância, em função do tempo que a luz infravermelha demora a viajar [47], de cada píxel dentro do “chip”, e gerar a imagem 3D do objeto..

(42) CAPÍTULO 2 – FUNDAMENTOS DO TRABALHO. 16. Ilustração 6 - Como o “Kinect” "vê" a profundidade.. A ilustração 6 indica como o Kinect “vê” a imagem de profundidade. No canto superior direito, pode-se visualizar a imagem gerada pelo Kinect com uma escala no seu fundo que representa a profundidade da imagem. O Kinect consegue medir a profundidade de uma imagem com precisão de 1 cm e consegue medir a largura e altura com uma precisão de 3 mm. O reconhecimento de dedos e das expressões faciais, essenciais no reconhecimento de qualquer língua gestual, não é uma tarefa fácil com a atual resolução e software embutido do Kinect. Isto obriga ao uso de software externo, que vai incrementar o tempo de resposta, tornando-se complexo o reconhecimento de gestos em tempo real, pelo que necessitará, ainda, de uma evolução tecnológica do dispositivo.. 2.3 Algoritmos Um algoritmo pode ser definido como uma sequência finita de passos sequenciais (instruções) para resolver um determinado problema [48]. Sempre que desenvolvemos um algoritmo estamos a estabelecer um padrão de comportamento que deverá ser seguido para alcançar o resultado de um problema. Um algoritmo não é a solução do problema, pois, se assim fosse, cada problema teria um único algoritmo; um algoritmo é um caminho para a solução satisfatória de um problema. Em geral, existem muitos caminhos que levam a uma solução satisfatória. O termo algoritmo está muito ligado à Ciência da Computação, mas, na realidade, ele pode ser aplicado a qualquer problema cuja solução possa ser decomposta num grupo de instruções [49]..

(43) CAPÍTULO 2 – FUNDAMENTOS DO TRABALHO. 17. Existem cinco tipos de algoritmos de aprendizagem [50]: - Algoritmos de classificação: determinam uma ou mais variáveis discretas, baseadas nos outros atributos do conjunto de dados (algoritmos de árvore de decisão, naive bayes, algoritmo de clustering, neural network) - Algoritmos de regressão: predizem uma ou mais variáveis contínuas, tais como lucro ou perda, baseados noutros atributos do conjunto de dados (algoritmos de árvore de decisão, time series, regressão linear) - Algoritmos de segmentação: dividem a informação em grupos, ou clusters, de instâncias que tenham propriedades similares (algoritmos de clustering) - Algoritmos de associação: encontram a correlação entre diferentes atributos num conjunto de dados. A aplicação mais comum para este tipo de algoritmos é a de criar regras de associação, que podem ser utilizadas em análises simples (algoritmos de associação ou de árvore de decisão) - Algoritmos de análise de sequências: sumarizam sequências frequentes ou episódios no conjunto de dados, tais como fluxo Web (algoritmos de clustering) Depois de decidido qual o algoritmo que resolve o problema, o passo seguinte é analisar tanto o algoritmo como o problema dentro do modelo. Queremos estimar o custo dos recursos exigidos por um algoritmo, quer por ele próprio, quer comparando-o com outros algoritmos que servem para resolver o mesmo problema. No fundo, pretendermos prever até que ponto um algoritmo se pode tornar mau e determinar o quão difícil o problema é. No âmbito deste trabalho apenas será focado o conceito de algoritmo dentro da área de mineração de dados (data mining). Um algoritmo de data mining é um conjunto de heurísticas e cálculos que cria um modelo a partir da informação. Para criar o modelo, o algoritmo primeiro analisa a informação providenciada no ficheiro que contém a base de dados, pesquisando tipos específicos de padrões ou tendências. O algoritmo usa o resultado desta análise para definir os melhores parâmetros de modo a criar o modelo de dados. Estes parâmetros, são então aplicados a todo o conjunto de informação de modo a extrair padrões contestáveis e estatísticas detalhadas. Na secção seguinte estão referidos alguns dos algoritmos de data mining..

(44) CAPÍTULO 2 – FUNDAMENTOS DO TRABALHO. 18. 2.3.1 Algoritmos de Data Mining Tendo em conta os tipos de algoritmos já mencionados em 2.3, indicam-se, neste subcapítulo, alguns nomes de algoritmos de data mining já existentes. Os algoritmos de árvore de decisão mais utilizados são: DecisionStump, J48 (ou C4.5), LMT, M5P, RandomForest, RandomTree, REPTree. Os algoritmos de definição de regras mais utilizados são: DecisionTable, JRip, M5Rules, OneR, PART, ZeroR. Os algoritmos denominados de Lazy são ótimos para previsões de números reais contínuos: IBk (ou K-nn), Kstar, LWL. Para previsões de números discretos podemos contar com algoritmos tais como o BayesNet, NaiveBayes, e suas variações. Outros algoritmos que também devem ser tidos em conta: Bagging, ClassificationViaRegression, Logistic, SMO, MultiClassClassifier, AttributeSelectedClassifier.. 2.3.2 Avaliação tendo em conta conjuntos de dados Em problemas de classificação é usual medir-se a performance de um classificador em termos da sua taxa de erro. O classificador prediz a classe para cada instância: se está correta, conta como sucesso, caso contrário é um erro. A taxa de erro é apenas a proporção de erros efetuados ao longo de um conjunto de instâncias, e mede o desempenho global do classificador. A taxa de erro do conjunto de treino é denominada de erro de substituição, pois é calculada substituindo as instâncias de treino num classificador que foi construído através delas. Para predizer a performance de um classificador num conjunto de dados novo, necessitamos de aceder à sua taxa de erro num conjunto de dados que não tenha sido parte da formação do classificador. Este conjunto de dados independente é denominado o conjunto de teste. O conjunto de treino é utilizado por um ou mais métodos de aprendizagem para chegar a um classificador. O conjunto de validação é usado para otimizar parâmetros desses classificadores, ou para selecionar um em particular. O conjunto de teste é então usado para calcular a taxa de erro do método final otimizado. Cada um dos três conjuntos deve ser escolhido separadamente: o conjunto de validação deve ser diferente do conjunto de treino de modo a obter uma boa performance no estado de otimização ou.

(45) CAPÍTULO 2 – FUNDAMENTOS DO TRABALHO. 19. seleção, e o conjunto de teste deve ser diferente dos dois anteriores de modo a obter uma estimativa fiável da verdadeira taxa de erro. Consideremos agora que temos um conjunto de teste e treino limitado. O método de avaliação reserva uma certa quantidade de instâncias para teste e usa o resto para treino. Em termos práticos, é comum colocar-se de lado 1/3 do conjunto para teste e usar os outros 2/3 para treino. No entanto, devemos ter o cuidado de que cada classe pertença ao conjunto de teste e seja representada com um mesmo número de instâncias. Para que isto aconteça, normalmente utiliza-se o método aleatório no conjunto de dados para construir o conjunto de teste e espera-se que este tenha todas as classes instanciadas, pois se elas não existirem nunca poderão ser bem classificadas no conjunto de teste. A validação cruzada (cross-validation) é uma técnica estatística importante considerada no método de avaliação. Ela consiste no utilizador escolher a quantidade de conjuntos (folds) ou partições da base de dados. Uma forma standard de predizer a taxa de erro de uma técnica de aprendizagem dado um único e fixo exemplo da base de dados é usando uma validação cruzada de 10 conjuntos. A informação é então dividida aleatoriamente em 10 conjuntos onde cada classe estará representada nas mesmas proporções do que na base de dados completa. Cada parte é mantida de fora à vez, e o esquema de aprendizagem é treinado com os outros 9/10, só então é calculada a taxa de erro para o conjunto de treino. Assim o procedimento de aprendizagem é executado 10 vezes em diferentes conjuntos de treino (cada qual com muito em comum). Finalmente, as estimativas das taxas de erro dos 10 conjuntos são calculadas em média de modo a obter um erro global. Foram escolhidos 10 conjuntos de treino, pois diversas técnicas de aprendizagem já demonstraram que este é o melhor número para conseguir uma melhor estimação do erro, e também existe algum trabalho teórico que comprova isto. Outra técnica estatística importante é a Leave-One-Out, que não passa de uma validação cruzada com n conjuntos, onde n é o número de instâncias da base de dados. É percorrida a base de dados toda em que cada instância é mantida de fora à vez, e é testada com todas as outras instâncias da base de dados. Este procedimento é atrativo por duas razões: primeiro porque a maior quantidade de informação possível é testada em cada caso, o que aumenta a hipótese do classificador ser preciso; segundo, porque o procedimento é determinístico, ou seja, não envolve conjuntos de dados aleatórios. Existem no entanto duas desvantagens desta técnica, o enorme custo computacional exigido, e a não estratificação do conjunto. A estratificação do conjunto envolve conseguir uma proporção correta de exemplos de cada classe no conjunto de teste, o que neste caso é impossível existir visto que o conjunto de teste contém apenas uma instância..

Referências

Documentos relacionados

• A mulher nas obras indicadas como leitura obrigatória • S. Madalena se suicida justamente para não se submeter à obsessão de posse e poder do marido. Ela escolhe a morte como

A Medida Provisória nº 759, de 23 de dezembro de 2016, dispõe sobre a regularização fundiária urbana e rural, inclusive no âmbito da Amazônia Legal, objetivando a simplificação e

O terceiro trimestre de 2011 foi encerrado com uma base de quase 220 milhões de registros de nomes de domínios em todos os Domínios de Primeiro Nível (TLDs) Os

Se os polígonos têm muitos vértices comuns, quantos vértices

(b) Problema de otimização: Neste tipo enquadram-se os problemas nos quais se requer encontrar, dentre todos os quadros de horário que satisfazem a um certo conjunto

7.- AVALIAÇÃO INTEGRADA E COMPARATIVA DOS IMPACTOS GERADOS Do ponto de vista da cadeia de produção de gado de corte, a introdução do capim-massai beneficiou

O objectivo deste trabalho é ilustrar um pequeno resumo das técnicas mais utilizadas e conhecidas, para a análise do risco em organizações e aplicar a análise de

Além da utilização deste questionário para poder se definir as deficiências relacionadas com segurança computacional do ambiente alvo, para assim posteriormente corrigir possíveis