Home

universidade do vale do itajaí centro de ciências tecnológicas da

image

Contents

1. resserre ne 42 Figura 22 Tela de tutorial saga ssnsasosislsia adia a SESDEC En T io pra S iai tole Des 43 Figura 23 Erro no InputRegisterApp 2 aie cece cous tocetyas Cot ccves Uadestoes duda das Gadecvestediauas ini 46 Figura 24 Log do KinectServer saga eh ae eee ieee ee OA 49 Figura 25 An lise de performance e monitor de recursos do Windows 51 Figura 26 Gr fico Frequ ncia da Experi ncia 54 Figura 27 Casos de USO MENU sai aie sac teen cues Des dani dg aid sa pa Ga L dE Deda dia DU nadas 70 Figura 28 Casos de uso ambiente nai aa aas a aaanal anaes 71 Figura 29 Log do KINCCISCIVEN 2x5 aoe cee cee ce acc encase desmaia ra nanda 73 Figura 30 Debug no console do Units asma nero alo eae 74 Figura 31 Menu InpulRegisterApp 0 225 2 asizesilasioassfasisassfasipaosinspaceiiasiaasilasirasapasise 15 Figura 32 Pose reconhecida no InputRegisterApp ceeeeeeeeeeeeeeeeeeeeeeeeeeeees 76 Figura 33 Configura es do InputRegisterApp 76 Figura 34 Criado um novo comando de voZ aaa 76 Fiqura So KINGCISEM Or cars fosses aeee e seas fassa ad 77 Figura 36 InputRegisterApp ccccceeeeeeeeeseeneceeeeeeeeeeeeeeeaanaeeeeeeeeeeeeseenaeeeeeeeees 80 Figura 37 InputRegisterApp ccccccceeeeeeeeeeeeceeeeeeeeeeeeseeaaaeaeeeeeeeeeeeesennaeeeeeeeees 80 Figura 38 InputRegisterApp cccccceeeeee
2. N vel de Experi ncia Facilidade Nota da documenta o as Nota 6 75 P ssima Basico Desvio Padrao 2 872 0 _ Nota 7 20 P ssima Regular Intermediario l Desvio Padrao 1 483 0 577 Nota 8 00 Nao utilizaram Avancado re Desvio Padr o o N o utilizaram Nota 7 18 P ssima Regular Total R Desvio Padr o 1 888 0 500 Tabela 5 M dia com desvio padr o Sendo assim percebe se que o n vel de experi ncia influencia na facilidade de utiliza o da biblioteca por m verificando pela dist ncia entre as notas n o h muita 56 abrang ncia entre os casos Pelo fato que os participantes com n vel de experi ncia b sico e intermedi rio recorrerem mais a documenta o e a mesma ser classificada como p ssima pela maioria entende se que se a mesma fosse mais completa e intuitiva estes participantes poderiam obter maior facilidade e alcan ar os participantes mais avan ados 4 2 2 Avalia o da interface natural da Trilha O question rio para avalia o dos comandos naturais e a implementa o da trilha foi realizada com integrantes do Laborat rio de Educa o Ambiental da UNIVALI Para responder este question rio foi solicitado para que os participantes iniciassem a aplica o do projeto da Trilha do Morro da Cruz iniciasse o reconhecimento de comandos naturais e interagisse com um dos conjuntos de comandos O question rio solicitou que os participantes respondessem o n vel de co
3. Locomover frente Pressionar a tecla W Pose Bra o direito apontando para frente Locomover diagonal direita Pressionar ateclaWe D juntas Pose Bra o direito apontando para a diagonal direita Locomover diagonal esquerda Pressionar a tecla W e A juntas Pose Bra o direito apontando para a diagonal esquerda Mover c mera direita Movimento do mouse para a direita Gesto Movimentar m o da direita para a esquerda Pose Bra o direito esticado direita Mover c mera esquerda Movimento do mouse para a esquerda Gesto Movimentar m o da esquerda para a direita Pose Bra o esquerdo esticado esquerda Acionar Intera o Por proximidade N o existente Pose Bra o esquerdo esticado para cima Sair da Intera o Pressionar tecla ESC Pose Posi o que Simboliza o Pare com a m o direita ou esquerda Comando de voz Out Trocar aba na Intera o Clique do mouse sobre a aba Gesto Movimentar m o da esquerda para a direita ou vice versa Mover barra de rolagem lateral para leitura da intera o Clicar e arrasta o mouse sobre a barra de rolagem Gesto Movimentar m o de cima para baixo ou vice versa 88 Comando Intera o Atual Intera o Natural Pausar Menu Pressionar tecla ESC Pose M os na cintura Comando de voz Menu Menu Iniciar Clique do mouse sobre o Pose Bra o esque
4. 2 1 3 Interface NUI O surgimento de interfaces naturais conhecidas como NUI traz consigo novas formas de intera o entre o humano e a m quina A tecnologia est se tornando mais natural e intuitiva Pessoas j usam gestos e fala para interagir com dispositivos computacionais o que torna f cil a aprendizagem na opera o de sistemas MICROSOFT RESEARCH 2013 Apesar desse tipo de interface estar surgindo comercialmente nos ltimos anos o estudo de interfaces naturais estima se que j exista desde a d cada de 70 com pesquisas realizadas por Steve Mann CYBORG 2013 Interfaces naturais tem como princ pio b sico a intera o com sistemas computacionais atrav s de comandos naturais como gestos poses e comandos de voz Gestos s o movimentos do corpo principalmente das m os bra os e cabe a j poses s o posi es que o indiv duo assume e permanece de forma est tica MICHAELIS 2013 Um exemplo de ativa o de comando utilizando uma interface natural atrav s do multitoque demonstrado na figura 5 que consiste em uma tela t til que reconhece m ltiplos contatos simultaneamente ETIN G rkem 2009 Pode se tamb m ter comandos mais naturais como poses ou gestos como no uso do Microsoft Kinect 20 Figura 5 Zoom em uma imagem Fonte TURK TRT 2013 2 2 MICROSOFT KINECT O dispositivo de captura de movimentos Kinect desenvolvido pela Microsoft MICROSOFT KINECT 2013 um dispositivo que ofer
5. o do sistema operacional Descri o Ao tentar salvar o arquivo do comando criado no InputRegisterApp em uma pasta que o aplicativo n o possui permiss o de altera o no sistema operacional o aplicativo para de responder conforme pode ser visualizado na figura 23 46 ICO pur REGISTER APP Compose Voice Command Group re Group Name Confidence Level Command Saar Add Voice Command Delete Voice Command ty InputRegisterApp COMMANDS test InputRegisterApp parou de funcionar O Windows est coletando mais informa es sobre o problema Isso dever levar alguns minutos Cancelar Figura 22 Erro no InputRegisterApp Corre o Problema identificado como uma exce o levantada e n o tratada pela aplica o por m ainda n o corrigido por n o pertencer ao escopo deste trabalho e ser uma corre o de baixa prioridade para a implementa o da interface natural Status Pendente lll KinectServer Falha 3 KinectServer nao encerra corretamente quando existem eventos em execu o Descri o Na aplica o KinectServer ao fechar a aplica o com eventos rodando a interface fecha e o processo do KinectServer continua em execu o sendo necess rio finaliza lo pelo gerenciador de tarefas do sistema operacional Corre o Foi corrigido o c digo fazendo com que a aplica o force a finaliza o dos processos envolvidos Status Problema resolvido Falha 4 Bot o do
6. 2012 Dispon vel em lt http Siaibib01 univali br pdf Gabriel Schade Cardoso pdf gt Acesso em 21 fev 2018 SILVA Eduardo A Trilha virtual interativa em 3D do Morro da Cruz Dissemina o digital do conhecimento obtido no processo de restaura o da biodiversidade do local Itaja 2012 Universidade do Vale do Itaja CTTMAR Centro de Ci ncias Tecnol gicas da Terra e do Mar Brasil Dispon vel em lt http sbgames org sbgames2012 proceedings papers cultura C S10 pdf gt Acesso em 08 mar 2013 SONY Playstation Move Motion 2013 Dispon vel em lt http us playstation com ps3 playstation move gt Acesso em 13 mar 2013 SPARX System UML Tools for Software Development Dispon vel em lt http Anww sparxsystems com au gt Acesso em 04 jun 2013 SZNELWAR Laerte ABRAH O J lia SILVINO Alexandre SARMET Maur cio PINHO Diana Introdu o Ergonomia da Pr tica Teoria Editora Blucher 2009 TURK TRT te dokunmatik e itleri 2013 Dispon vel em lt http Awww trtturk com tr haber iste dokunmatik cesitleri html gt Acesso em 10 abr 2018 UNITY Technologies Unity Documentation 2013 Dispon vel em lt http unity3d com company support documentation gt Acesso em 09 mar 2018 UNIVALI Morro da Cruz Morro da Cruz Univali 2013 Dispon vel em lt http morrodacruzunivali blogspot com br gt Acesso em 20 mar 2013 ZIGFU Unity Recipes 2013 Dispon vel em lt h
7. O 1 1 1 Formula o do Problema No desenvolvimento da biblioteca KinectProject n o houve uma avalia o mais detalhada de suas as funcionalidades em uma aplica o real por este motivo n o poss vel identificar todas as suas limita es caracter sticas de desempenho e de usabilidade Levando se em considera o que a falta de afinidade com tecnologias computacionais nas comunidades as quais o Projeto Trilha do Morro da Cruz ser implantado a forma de intera o e a interface atual do projeto da trilha podem tornar um tanto restritivas e frustrantes a experi ncia de intera o com a trilha virtual 1 1 2 Solu o Proposta Sendo assim torna se v lido utilizar e validar a biblioteca KinectProject atrav s da implementa o de uma interface natural para uma aplica o real Para tal avalia o foi escolhido o Projeto da Trilha do Morro da Cruz como estudo de caso devido a necessidade de aprimorar a forma de intera o atual do mesmo 14 Para possibilitar a avalia o e a valida o do uso da biblioteca KinectProject no Projeto da Trilha do Morro da Cruz este trabalho apresenta m tricas para facilidade do uso por parte dos desenvolvedores a aplicabilidade em aplica es n o relacionadas a jogos a an lises de performance no reconhecimento de poses e comandos de voz e avalia o de usabilidade na intera o com a interface natural por parte dos usu rios finais Atrav s dos resultados obtidos nas m t
8. RIOS E CASOS DE USO ssssssssssssssssssssssesssesssssssssscesseessesses 70 A 1 CASOS DE USOS assenta ii ti la 70 A2 CENAS RO RR TP is 71 AP NDICE B LOG DO KINECT SERVER csssssssssssssssssssssesssesssesssssssssssssseesseesss 73 AP NDICE C LOG DO UNITY sssssssssssssssssssssssssesssssssssssssussssccsscssscsssssscssscesscessesses 74 AP NDICE D MANUAL DE INSTALA O E CONFIGURA O DA TRILHA 75 AP NDICE E QUESTION RIO DE VALIDA O DE USABILIDADE 78 AP NDICE F VALIDA O DA BIBLIOTECA sessssssssssssssssssssssesssssssssssesssesssessscsses 79 AP NDICE G QUESTION RIO DE VALIDA O DA BIBLIOTECA 83 AP NDICE H COMANDOS NATURAIS DEFINIDOS s sssssssssssssesssesssesssesseesses 84 AP NDICE ESTRUTURA DE PASTAS DO PROJETO DA TRILHA 89 APENDICE J TRECHOS DE C DIGO DAS CORRE ES E ALTERA ES DO KINECTRROJECT use raras ses E A E A a EE aiaia 90 12 1 INTRODU O Este trabalho re ne conceitos de dois trabalhos realizados por acad micos da UNIVALI sendo estes o KinectProject desenvolvido pelo Bacharel em Ci ncia da Computa o Gabriel Schade Cardoso e o Projeto Trilha do Morro da Cruz desenvolvido pelo acad mico em Ci ncia da Computa o Eduardo A da Silva O KinectProject uma biblioteca de fun es que permite aplica es utilizarem as fun es do Microsoft Kinect A biblioteca captura e reconhece as poses e co
9. como discutido nos pr ximos par grafos O fato do KinectServer ser uma aplica o e n o um servi o torna invi vel para algumas aplica es utilizar esta biblioteca Seria necess rio modific lo como um servi o para que aplica es pudessem ser distribu das normalmente sem a necessidade da utiliza o de um segundo software Outra fun o interessante seria a adequa o autom tica do ngulo do Kinect baseando se no esqueleto do usu rio em reconhecimento Essa fun o dispensaria que o usu rio necessitasse configurar o ngulo manualmente Apesar de corre es da biblioteca n o fazerem parte do objetivo e escopo deste trabalho grande parte do esfor o realizado foi para corre es das mesmas As 61 corre es foram realizadas medida que se tornaram necess rias e que n o prejudicassem o cronograma deste trabalho a fim de tornar poss vel a implementa o da interface natural projetada Trechos de c digo das altera es realizadas podem ser visualizados no ap ndice J Com as corre es e melhorias apresentadas na se o 4 devidamente realizadas a biblioteca KinectProject tem grande potencial sendo poss vel implementar novas funcionalidades facilmente e assim se transformar em uma boa ferramenta de integra o com o Kinect 5 1 OBJETIVOS ALCAN ADOS Nesta se o est o listados os objetivos espec ficos deste TTC e como os mesmos foram alcan ados e Estudar e documentar a biblioteca
10. gratuito e atualmente se encontra na vers o 1 7 Com ele podemos integrar aplica es Windows com os recursos oferecidos pelo sensor Kinect utilizando a linguagem C C ou Visual Basic Nesta mesma poca come ou a ser vendido o Kinect for Windows que especifico para desenvolvedores na plataforma Windows contendo neste pacote o licenciamento para desenvolvimento Na figura 7 poss vel entender a estrutura do SDK 22 Microsoft Kinect SDK RB Kinect Sensor C mera IR Processamento i E Microfones C mera RGB interno Microsoft Kinect Figura 7 Estrutura do SDK Fonte SCHADE Gabriel 2012 2 3 UNITY Unity tamb m conhecido como Unity 3D um motor de jogo 3D desenvolvido pela Unity Technologies UNITY 2013 O Unity oferece ferramentas que auxiliam em todo desenvolvimento de jogos desde a modelagem a programa o poss vel publicar os jogos para diferentes plataformas como Windows Mac Android e Web 2 3 1 Scripts Utilizando linguagens como JavaScript C e Boo poss vel codificar scripts no Unity para implementa o de anima o ao ambiente virtual criado A manipula o de entradas realizada atrav s da cria o de um script de input no qual ser inserido em um determinado objeto O Unity possui um script de controle de usu rio chamado FPSWalkerEnchanced no qual j conta com m todos para locomo o e gravidade e atrav s deste arquivo poss vel manipular as entrad
11. 108 136 324 25 344 110 980 svchost exe LocalSystemNetwo 624 0 106 408 98 460 12 760 85 700 MsMpEng exe 2248 0 105 880 83 216 14 620 68 596 Dropbox exe 6248 0 78 236 90 856 25 916 64 940 explorer exe 5128 0 72 492 132 124 77 424 54 700 Skype exe 4144 o 68 092 87 868 34 328 53 540 perfmon exe 5816 0 36 200 47 460 12 472 34 988 Searchindexer exe 1584 0 38 944 39 320 12 540 26 780 v v Figura 24 An lise de performance e monitor de recursos do Windows 52 Os testes foram realizados utilizando as seguintes especifica es de hardware processador Intel Core i5 2410M 2 30GHz mem ria DDR3 4GB 1333MHz placa de v deo AMD Radeon HD 6630M de 1GB 128 bit e disco r gido de 7200RPM Atrav s dos testes com a utiliza o da biblioteca foi verificado que o KinectServer aumenta cerca de 200 KB por segundo de mem ria virtual e utiliza em m dia 150 MB da mem ria de trabalho Percebeu se tamb m que a quantidade de threads para o processo do KinectServer aumenta progressivamente sendo em m dia duas threads por segundo Ap s dez minutos de utiliza o nota se uma queda de desempenho da aplica o erro o qual pode ser proveniente da quantidade excessivas de threads em execu o O projeto da trilha com a interface natural implementada com os plug ins carregados e executando os scripts de reconhecimento obteve um aumento de 20 de uso da CPU e 15 da mem ria em compara o com os testes realizados com o projeto da trilha original s
12. 81 Quadro 7 Obter eventos na fila ereta eaerre tea anrenea 82 Quadro 8 Reconhecer evento rt eeeerre tea eerree eae tea nrenta 82 Quadro 9 Question rios de facilidade da biblioteca s e erieeeeererea 83 Quadro 10 Melhoria para reconhecimento de m ltiplas poses 90 Quadro 11 Buscar somente os eventos reconhecidos eretas 91 Quadro 12 Constante do tamanho do buffer sc eereeeererrereeaneerenea 91 Quadro 13 Nome da pose ou comando de voz NO log 91 Quadro 14 Bot o e fechamento do KinectServer rea 92 LISTA DE ABREVIATURAS E SIGLAS API Application Programming Interface CG Computa o Gr fica CLI Command Line Interface GUI Graphical User Interface LEA Laborat rio de Educa o Ambiental LIA Laborat rio de Intelig ncia Artificial NUI Natural User Interface SDK Software Development Kit TTC Trabalho T cnico cient fico de Conclus o de Curso UML Unified Modeling Language UNIVALI Universidade do Vale do Itaja SUM RIO T INTRODUCA Oire e a esol A eae 12 1 1 PROBLEMAT IZA O a dene oeateraeacieniate 13 1 1 1 Ropmulacac Ge Probie mas sia tet eee ad ate een ag 13 Eira OOMICAO TODOS Abra dis dA ates AeA act Oh ee N R Ad a 13 NE 10 al BLO ho eee ee Rend Da R TO et a ERR 14 1 2 1 Objetivo GA asia ar a Rot da A aetied Atadaaaants 14 fee ObICNVOS ESDECHICOS sp ipi id
13. KinectServer para ativar desativar a comunica o com o Kinect com falhas 47 Descri o O bot o para ativar desativar a comunica o com o Kinect tamb m est com falhas o mesmo inicia corretamente mas ao tentar desativar para parar todos os eventos em execu o nada acontece Corre o Foram efetuadas corre es no bot o para destruir os objetos para que se possa recria los ao iniciar novamente Status Problema resolvido Falha 5 Falha no m todo de reconhecimento de poses quando executado atrav s do KinectServer Descri o Percebeu se que atrav s do KinectServer o reconhecimento de poses n o funciona como deveria se torna falho principalmente quando testado com uma maior diversidade de poses O problema s ocorre no KinectServer enquanto o InputRegisterApp o reconhecimento normal Corre o Atrav s da an lise do c digo comparando a execu o do reconhecimento de pose com o KinectServer e com o InputRegisterApp notou se que apesar de ambos utilizarem as mesmas classes e fun es para reconhecimento de poses atrav s do KinectServer o trecho do quadro 2 da classe KinectFunctionsManager n o era executado Foi ent o identificado que somente para o KinectServer existia uma vari vel global que definia que o uso da lei dos cossenos estava desativa Ap s definir a vari vel como verdadeiro o c lculo das lei dos cossenos come ou a ser utilizado na compara o das poses tornando o reconhecime
14. Trilha do Morro da Cruz Itaja 2013 92 Trabalho T cnico cient fico de Conclus o de Curso Gradua o em Ci ncia da Computa o Centro de Ci ncias Tecnol gicas da Terra e do Mar Universidade do Vale do Itaja Itaja 2013 Partindo se da intera o via linhas de comando CLI passando se por telas gr ficas com menus e bot es GUI e hoje j poss vel utilizar gestos poses e comandos de voz para interagir com o computador Estas interfaces naturais NUI necessitam de um hardware como o Kinect desenvolvido pela Microsoft para a captura de movimentos e voz Este trabalho apresenta uma proposta e implementa o de uma interface natural NUI utilizando o dispositivo Kinect ao um estudo de caso utilizando se da biblioteca KinectProject desenvolvida como trabalho de conclus o de curso pelo Bacharel em Ci ncia da Computa o pela UNIVALI Gabriel Schade Cardoso A biblioteca encapsula o SDK desenvolvido pela Microsoft para o uso do Kinect em diversas aplica es Este projeto tem como objetivo verificar e validar as funcionalidades desempenho e facilidade de uso da KinectProject para a implementa o de uma NUI utilizando se do projeto da Trilha Virtual do Morro da Cruz como estudo de caso Este Projeto da Trilha foi desenvolvido na ferramenta Unity a qual se trata de um motor de jogos que n o possui suporte para configura o de uma interface natural com o Kinect Prop e se tamb m um conjunto de comandos naturai
15. all events in the queue at 16 13 2 845 1 Nothing to send to client at 16 13 27 845 Figura 28 Log do KinectServer Fonte Schade Gabriel 2013 74 AP NDICE C LOG DO UNITY O Unity conta com um console para uso dos desenvolvedores para fazer o debug das cenas Os desenvolvedores podem utiliza lo para demonstrar mensagens em algumas areas de c digo assim como retornar valores de objetos ou vari veis Atrav s da classe Debug utiliza se o m todo Log para exibir as mensagens A figura 27 demonstra o uso deste m todo para demonstrar a frase Pulando no console do Unity O c digo foi inserido no m todo do controle de um componente no qual identifica quando pressionado a tecla de espa o para pular if Input GetButton Jump jumpTimer else if jumpTimer gt antiBunnyHopFactor Debug Log Pulando moveDirection y jumpSpeed jumpTimer 0 UnityEngine Debug Log Object Figura 29 Debug no console do Unity 75 AP NDICE D MANUAL DE INSTALA O E CONFIGURA O DA TRILHA 1 Instala o Execute o arquivo de instala o do Projeto da Trilha o mesmo ser descompactado na pasta Arquivos de Programas da unidade do Sistema Local por padr o O projeto cont m o aplicativo do ambiente da trilha desenvolvido no Unity o aplicativo KinectServer respons vel pela comunica o com o Kinect e tamb m o aplicativo InputRegisterApp para cria o edi o de poses e comandos de voz 2 Conf
16. como por exemplo fazer determinada pose para cancelar uma a o ou um gesto como na figura 17 Figura 16 Gesto Aprendido Fonte MICROSOFT HIG 2013 Dentro destes gestos inatos e aprendidos est o os gestos est ticos que representam uma pose est tica no qual o sistema reconhece din micos que s o movimentos com feedback continuo como arrastar um objeto e cont nuos que s o obter os movimentos em tempo real e transformar em a es continuas O foco deste projeto ser sobre gestos est ticos ou tamb m conhecidos por poses no qual a biblioteca KinectProject inclui uma ferramenta para grava o destes tipos de gestos Como o projeto trata de uma interface natural para a intera o em um ambiente virtual e n o um jogo n o se v a necessidade de comandos desafiantes e sim comandos simples e n o cansativos pois se torna invi vel por exemplo o usu rio se locomover com o bra o levantado Existem diversas formas de intera o como a proposta por Beckhaus Blom and Haringer BECKHAUS 2005 chamada Virtual Foot DPad Body Turn Consiste basicamente em um direcional semelhante a um dance pad s que virtual O p a frente indica que se deve locomover em frente e a dire o dos ombros indica o movimento da c mera naquela dire o A figura 18 demonstra esta intera o 34 Figura 17 Virtual Foot DPad Fonte DAM Peter LOAIZA Manuel SOARES Luciano RAPOSO Alberto 2012 Existem outras formas de
17. do buffer ser muito pequeno para transmitir a imagem da c mera Problema ainda n o corrigido por n o pertencer ao escopo deste trabalho e por ser uma corre o de baixa prioridade para a implementa o da interface natural Status Pendente 4 1 1 2 Melhorias Melhoria 1 Log do KinectServer n o identifica qual o nome do comando reconhecido Descri o O log do KinectServer identifica corretamente o hor rio e o tipo do evento reconhecido pelo KinectScan mas n o demonstra o nome do comando 49 Altera o Foi alterado o c digo para inserir no registro do log o nome das poses ou comandos de voz reconhecidos conforme demonstrado na figura 24 The server sends to client a Message Response event at 23 49 41 391 Server receive a Voice Command from Kinect Scan Name Start at 23 49 49 580 The server sends to client a Voice Command event at 23 49 49 627 Figura 23 Log do KinectServer Melhoria 2 Reconhecimento de poses simult neas Descri o O reconhecimento de poses s permite enviar um evento de pose reconhecida por vez sendo necess rio que nenhuma pose esteja sendo reconhecida para que reconhe a uma nova Por exemplo enquanto o usu rio realizar a pose com o p frente outras poses como um bra o esticado n o reconhecido somente reconhecer se o usu rio retirar o p a frente Isso necess rio para cumprir um requisito de usabilidade produzindo assim v rias entradas ao mesmo tempo Al
18. falhas identificadas na biblioteca sua descri o an lise de corre o realizada e se foi poss vel corrigir As falhas foram divididas por componente da KinectProject KinectScan Falha 1 Impossibilidade de obter esqueleto do usu rio Descri o Quando h tentativa de obter as juntas do esqueleto do usu rio em tempo real uma exce o levantada Ao testar em modo debug uma exce o de objeto n o marcado como serializ vel levantada Corre o A classe KinectScanUserSkeleton da KinectEvents utiliza uma cole o do tipo Dictionary que n o serializ vel ent o criou se e substitui se por uma classe dicion rio serializ vel Notou se ent o que al m deste problema o buffer de comunica o que estava fixo para o usu rio final em 1 024 bytes n o era o suficiente para enviar as informa es do esqueleto do usu rio ent o o mesmo foi fixado para 20 000 Com estas altera es a obten o do esqueleto do usu rio funcionou corretamente quando testado sendo necess rio somente adaptar outras aplica es como o InputRegisterApp para utilizar o mesmo dicion rio serializ vel Seria interessante possibilitar ao usu rio final alterar o tamanho do buffer na aplica o removendo assim a constante fixa no c digo Status Problema de obten o do esqueleto do usu rio resolvido Il InputRegisterApp Falha 2 Impossibilidade de salvar um comando criado no InputRegisterApp em uma pasta sem permiss o de altera
19. natural foi implementada com sucesso e est documentada na se o 3 1 Implementar um tutorial interativo Y Tutorial desenvolvido conforme detalhes na se o 3 1 2 Executar testes e an lises de verifica o do funcionamento da interface e ferramenta v Testes foram realizados e os resultados podem ser verificados na se o 4 Produzir um manual de instala o para usu rios da nova interface natural do projeto da Trilha Virtual YO manual foi realizado e pode ser visualizado no ap ndice D 63 e Validar a usabilidade da interface natural atrav s da implanta o do projeto no Laborat rio de Educa o Ambiental LEA da UNIVALI v Realizada a valida o da interface com integrantes do laborat rio tornando o objetivo conclu do e Documentar todas as etapas envolvidas no desenvolvimento deste TTC na forma de um relat rio final e poss vel artigo cient fico Y Objetivo conclu do com a entrega deste relat rio final e do artigo cient fico Sendo assim o objetivo geral deste trabalho que a valida o da biblioteca KinectProject foi conclu da 5 2 TRABALHOS FUTUROS Algumas necessidades e sugest es est o comentadas nesta se o a fim de corrigir e melhorar a biblioteca KinectProject 1 Inserir identificador em cada pose quando esta armazenada atrav s do Editor de Poses InputRegisterApp para que se possa passar para o KinectServer quais poses querem ser testadas Da forma atual tod
20. onze participantes Destes participantes a maioria possu a conhecimento b sico ou intermedi rio em programa o somando juntos aproximadamente 82 do total conforme visualizado na tabela 2 e no gr fico da figura 26 N vel Experi ncia Frequ ncia Basico 4 36 4 Intermediario 5 45 5 Avangado 2 18 2 Total 11 100 0 Tabela 2 Frequ ncia Experi ncia NivelExperiencia E Avan ado E B sico Ortermediario Figura 25 Grafico Frequ ncia da Experi ncia 55 Destes participantes 90 conseguiram concluir o teste realizado E como pode ser visualizado nos quadros 3 e 4 36 recorreram a documenta o e 55 obtiveram um ou mais erros Recorreu documenta o Sim 36 4 N o 63 6 Total 100 0 Tabela 3 Frequ ncia do uso da documenta o Erros Yo 0 45 5 1 36 4 2 9 1 4 9 0 Total 100 0 Tabela 4 Quantidade de erros Dos que recorreram a documenta o 75 avaliaram o nivel da mesma como p ssima e o restante como regular Para a estimativa da nota de facilidade e nota de documenta o foi realizada a correla o do n vel de experi ncia do participante com a nota obtida Para esta estimativa foi realizado a m dia com o c lculo de desvio de padr o que pode ser verificado na tabela 5 Para o c lculo foi dado os valores 0 para documenta o p ssima 1 para regular e 2 para tima
21. sendo reconhecido em tempo real para feedback ao usu rio O tutorial sobre a interface NUI acess vel atrav s do menu um adicional para os usu rios iniciais entenderem como interagir com o ambiente Atrav s deste ser informado aos usu rios todas as poses gestos ou comandos de voz dispon veis para cada tipo de intera o com a trilha virtual Caso nenhuma modifica o seja efetuada nas entradas de controle de intera o os comandos a serem exibidos ser o os do conjunto padr o conforme definido no ap ndice H Para implementa o da interface natural algumas altera es nos requisitos do projeto da trilha foram necess rios Requisitos funcionais e RFO1 O sistema deve permitir ao usu rio aprender e testar os comandos de intera o atrav s de um tutorial e RFO2 O sistema deve permitir a altera o das poses e comandos de voz de cada intera o natural Requisitos n o funcionais e RNFO1 Utiliza o do dispositivo Kinect para intera o do usu rio e RNFO2 Utiliza o da biblioteca de integra o do Unity com o Kinect KinectProject 39 e RNFO3 Utiliza o de poses e comandos voz definidos atrav s de trabalhos similares e requisitos de usabilidade Para a codifica o da interface o projeto foi dividido em quatro classes de intera o e uma classe principal conforme figura 19 A classe principal Globallnput a classe que faz a comunica o com a biblioteca KinectProject iniciando
22. teste de software 2011 Dispon vel em lt http Awww galeote com br blog 201 1 06 tipos de testes de software gt Acesso em 05 maio 2018 IBM IBM SPSS software 2013 Dispon vel em lt http www 01 ibm com software analytics spss gt Acesso em 20 set 2013 IEA International Ergonomics Association What is Ergonomic 2010 Dispon vel em lt http www iea cc 01_what What 20is 20Ergonomics html gt Acesso em 14 mar 2013 JORDAN Gustavo Software Livre do Brasil Interface Natural do Usuario 2013 Dispon vel em lt http softwarelivre org jordan blog interface natural do usuario nui E2 80 93 natural user interface gt Acesso em 20 abr 2013 MICHAELIS UOL Dicion rio Online Michaelis 2013 Dispon vel em lt http michaelis uol com br gt Acesso em 09 mar 2018 67 MICROSOFT HIG Kinect for Windows Human Interface Guidelines 2013 Dispon vel em lt _http go microsoft com fwlink LinkID 247735 gt Acesso em 09 mar 2013 MICROSOFT KINECT Kinect Documentation amp Resources 2013 Dispon vel em lt http Awww microsoft com en us kinectforwindows develop resources aspx gt Acesso em 09 mar 2013 MICROSOFT MSDN Visual C 2013 Dispon vel em lt http msdn microsoft com pt BR vstudio hh388566 gt Acesso em 13 mar 2013 MICROSOFT RESEARCH Research NUI Natural User Interface 2013 Dispon vel em lt http research microsoft com en us collaboration focus nui default a
23. 0 2 6 USABILIDADE E ERGONOMIA saias ia e dein eseade lela cah eaee peu cineca secre 30 2 6 1 Import ncia ao projeto em desenvolvimento errar 31 20 2 Defini o DECO MANTO Sci cura sialic ta nu a uistil 31 2 7 T CNICAS DE AVALIA O E VALIDA O 35 2 7 1 Pesquisa atrav s da coleta de dados se eeeeeereeeaerereaes 35 Ee Testes de SONWAIO sie ia Ride A ad edie O acetates 36 3 DESENVOLVIMENT Ovssssccsessscvccesssacisatvesvacedsscsvasvavevssssesasistvavasisazscatidebesssaseeasatishoneare 38 3 1 IMPLEMENTA O DA INTERFACE PARA O PROJETO DA TRILHA 40 3 1 1 Menu de configura o da interface NUL serra rerreeraneeara 42 3 1 2 Tutorial para aprendizagem dos comandos naturais 42 4 RESULTADOS ausasssras emana asnadhaquca ferra god nd a Se Ca a aa 44 4 1 AVALIA ES RELACIONADAS AO KINECTPROJECT 44 AAT Funcionalidade ssa aaa bon eaters GUS LO a didai 44 4 1 2 SOS CIID CIN sasni e E saida valet De peida 50 dita Facilidade dO USO seia nan aaa a ecb Seat RR RU Ra 52 de QUESTIONARIOS eiieeii a i al a lead OE E AE a leah ba Oe Ng 53 4 2 1 Avalia o da usabilidade na programa o com a biblioteca KinectProject 53 4 2 2 Avalia o da interface natural da Trilha reereerreeanea 56 5 CONCLUS O A 58 5 1 OBJETIVOS ALCAN ADOS usaria A as A O caga 61 5 2 TRABALHOS FUTURO So ronca sis tro e ai iii ei ln et 63 5 3 CONCLBSQES FINAIS we ccd siecle oti SS SN A eter ea eR 65 AP NDICE A CEN
24. 3 0 00000 0 70711 E Avan ado Nota 7 0000 7 0000 7 0000 N o se aplica Qtd 1 1 1 1 Desvio Padr 0 0 0 9 Total Nota 5 5714 6 2857 5 8571 N o se aplica Qtd 7 7 7 7 Desvio Padr 2 14920 1 49603 1 46385 9 Tabela 6 1 conjunto de comandos naturais Seguindo o mesmo padr o da tabela 6 a tabela 7 demonstra os resultados obtidos com o conjunto alternativo de comandos naturais De acordo com as notas de facilidade e flu ncia e as observa es dos participantes deste conjunto a redu o da facilidade e conforto no uso dos comandos naturais deve se a locomo o do personagem na trilha se tornar cansativa pois se utiliza dos bra os em uma posi o que alongo do tempo torna se exaustiva Conhecimento Aprendizagem Facilidade Flu ncia Dificuldade B sico Nota 5 6667 5 0000 4 3333 Qtd 3 3 3 3 Desvio Padr 0 57735 1 00000 0 57735 Intermed Nota 6 0000 5 0000 5 5000 Qtd 2 2 2 2 Desvio Padr 1 41421 0 00000 0 70711 Avan ado Nota 5 0000 6 5000 6 5000 Qtd 2 2 2 2 Desvio Padr 0 00000 0 70711 0 70711 Total Nota 5 5714 5 4286 5 2857 Qtd 7 7 7 7 Desvio Padr 0 78680 0 97590 1 11270 Tabela 7 2 conjunto de comandos naturais 58 5 CONCLUS O z A partir dos dados obtidos na se o 4 sobre a usabilidade da interface poss vel perceber que o n vel de conhecimento em computa o jogos ou no dispositivo Kinect influencia tanto na facili
25. KinectProject desenvolvida pelo Graduado em Computa o Gabriel Schade v Foi realizado o estudo do TTC realizado pelo Gabriel da implementa o do KinectProject e documentado na se o 2 4 e Estudar e documentar a engine do Unity 3D Y Foram realizados estudos na no conceito e API do Unity realizados testes e a documenta o destes conforme a se o 2 3 e Estudar e documentar o Projeto Trilha do Morro da Cruz feita no Unity 3D v Estudos na implementa o do Projeto da Trilha foram documentados na se o 2 5 e Estudar e documentar conceitos de ergonomia usabilidade e acessibilidade relacionados a NUls y Objetivo cumprido os estudos realizados foram documentados na se o 2 6 62 Selecionar poses e comandos de voz adequados intera o com o ambiente virtual baseando se nos estudos e an lises descritos nas etapas anteriores Vv As poses selecionadas para a utiliza o na trilha virtual podem ser visualizadas no ap ndice H Projetar a interface natural proposta y O projeto foi realizado da interface natural foi realizada Projetar an lises e testes a serem efetuados para valida o da ferramenta vy Projeto e realizado as valida es Produzir a documenta o do projeto da interface v A documenta o do projeto pode ser verificada na se o 3 de desenvolvimento Implementar a interface natural atrav s do KinectProject no projeto da Trilha do Morro da Cruz y O projeto da interface
26. Otima Ocorreram erros Sim N o Se sim quantos erros ocorreram D uma nota de 0a 10 em rela o a facilidade obtida para a implementa o das fun es Observa es ou sugest es Quadro 9 Question rios de facilidade da biblioteca 84 AP NDICE H COMANDOS NATURAIS DEFINIDOS A tabela 8 demonstra o conjunto padr o de todos os comandos mapeados para a interface natural Comando Intera o Atual Intera o Natural Pose Locomover frente Pressionar a tecla W Pose P direito frente Locomover diagonal direita Pressionar a tecla W e D juntas Pose P direito na diagonal direita ou ombros deslocados a direita Locomover diagonal esquerda Pressionar a tecla W e A juntas Pose P esquerdo na diagonal esquerda ou ombros deslocados a esquerda j 85 Comando Intera o Atual Intera o Natural Pose Mover c mera direita Movimento do mouse para a direita Gesto Movimentar m o da direita para a esquerda Pose Bra o direito esticado direita Mover c mera esquerda Movimento do mouse para a esquerda Gesto Movimentar m o da esquerda para a direita Pose Bra o esquerdo esticado esquerda Acionar Intera o Por proximidade N o existente Pose Bra o direito esticado para cima A Sair da Intera o Pressionar tecla ESC Pose Posi o que Si
27. UNIVERSIDADE DO VALE DO ITAJA CENTRO DE CIENCIAS TECNOL GICAS DA TERRA E DO MAR CURSO DE CIENCIA DA COMPUTA O VALIDA O DA BIBLIOTECA KINECTPROJECT ATRAVES DA IMPLEMENTA O DE UMA INTERFACE NATURAL AO PROJETO DA TRILHA DO MORRO DA CRUZ por Sergio Roberto Gorniski J nior Itaja SC dezembro de 2013 UNIVERSIDADE DO VALE DO ITAJA CENTRO DE CIENCIAS TECNOL GICAS DA TERRA E DO MAR CURSO DE CIENCIA DA COMPUTA O VALIDA O DA BIBLIOTECA KINECTPROJECT ATRAVES DA IMPLEMENTA O DE UMA INTERFACE NATURAL AO PROJETO DA TRILHA DO MORRO DA CRUZ rea de Computa o Gr fica por Sergio Roberto Gorniski J nior Relat rio apresentado a Banca Examinadora do Trabalho T cnico cient fico de Conclus o do Curso de Ci ncia da Computa o para an lise e aprova o Orientadora Dra Ana Elisa Schmidt Itaja SC dezembro de 2013 AGRADECIMENTOS Agrade o minha fam lia pela oportunidade de ingressar na faculdade que me fez chegar at aqui Agrade o minha namorada Larissa pelo apoio dado que sempre me motivou e nunca me deixou desanimar Agrade o tamb m pela paci ncia nos momentos dif ceis por muitas vezes n o poder estar presente Agrade o tamb m a minha orientadora Ana Elisa por todo suporte e conselhos dados para o desenvolvimento deste trabalho RESUMO GORNISKI Sergio Roberto Valida o da biblioteca KinectProject atrav s da implementa o de uma Interface Natural para o Projeto da
28. a 1 Passeando pelo Projeto da Trilha do Morro da Cruz 13 Figura 2 Principais interfaces de usu rio ara 17 Figura 3 Imagem do prompt de comando do Windows 8 18 Figura 4 Interface gr fica do SO Windows 1 0 19 Figura 5 Zoom em uma Imagen 21 Aden iancnnsaitio ahaa aavawa ian reenn 20 Figura 6 Imagem do Kinect adaptada aa 21 Figura 7 Estr t ra do SDKs itere GEE E akaa sa ans 22 Figura 8 Estrutura do KinectServer ss ssssesssssseerrrreesserrnrrnnnrenserrrrnnnnnnnnserrnren nnn 24 Figura 9 Estrutura do InputRegisterApp aa 25 Figura 10 InputRegisterApp em execu o no teste de pose 26 Figura 11 Estrutura do KINGCIWAIY so cassar oras pr nda A A SS Da RE 26 Figura 13 Trilha do Morro da Cruz em ltaja ne 28 Figura 14 Imagem de intera o atual no projeto da trilha do morro 29 Figura 15 Gesto est tico simbolizando OK 32 Figura 16 Gesto Inatoa CEIA ra E CS A Si id Siad 33 Figura 17 Gesto ADrENdIA Oss Alaa Aaa aA a al NS A Po cau 33 PIQUra TS VirpalFooLDPAS sussa sadia gado saia Dada ds caia ida ea A ad Sds tra 34 Figura 19 Diagrama de ClassaS sora spremais na rosgrabal css adaa Es sase tetckes Asi orar ta linasansaiass 39 Figura 20 Intera o com a interface natural a 41 Figura 21 Configura o dos comandos naturais
29. ama do KinectServer Figura 11 Estrutura do KinectUnity Fonte SCHADE Gabriel 2012 27 2 4 2 Restricoes A nica restri o inicial segundo o criador da biblioteca est relacionada aos gestos pois n o foi desenvolvida uma ferramenta de grava o e captura de gestos Sendo assim a biblioteca conta somente com um gesto embutido diretamente na DLL que o gesto de mover a m o da esquerda para a direita ou vice versa tamb m chamado de swipe 2 4 3 Integra o com Unity A API KinectProject j conta com uma DLL KinectUnity para integra o com o Unity poss vel atrav s da programa o de scripts acessar e utilizar o Kinect com menos de 10 linhas de c digos Na figura 12 poss vel visualizar um exemplo de uma implementa o Este exemplo inicia instanciando a classe KinectInput e envia uma requisi o para que se inicie o servi o de reconhecimento de comandos de voz no sensor Durante o m todo Update no qual executado a cada frame da aplica o enviada uma requisi o para que se obtenha todos os eventos reconhecidos Logo em seguida define se em uma vari vel se houve ou n o o reconhecimento do comando de voz denominado Right 01 void Start 1 02 KinectInput objetoDeInput KinectInput Instance 03 objetoDeInput SendRequest new StartVoiceCommandRequest Diret rio 04 05 06 void Update 1 07 KinectInput Instance SendRequest new TryGetEventsRequest 08 bool speechR
30. ari veis com o mesmo nome do quadro 3 pois as mesmas ser o utilizadas para realizar a movimenta o do personagem no Unity bool speechRightMove KinectInput GetInputVoiceCommand Right bool speechLeftMove bool poseRightMove KinectInput GetInputPose Direita poseLeftMove gestureRightMove GetInputGesture Kinectl Enums Gestures Right Swipe gestureLeftMov Quadro 8 Reconhecer evento 4 Realizando o teste Para realizar o teste do que foi implementado abra o aplicativo KinectServer inicie o mesmo e inicie a cena no Unity Qualquer d vida a documenta o pode ser consultada para maiores informa es pam Settings Server Log Kinect Server Scanner Status Running I Not initialized Kinect Sensor Status Kinect Sensor Elevation Angle Kinect Scan Events User Skeleton Voice Command Stopped topped Pose Gesture Kinect Status Changed Stopped Stopped ed Event Status Changed Stopped Figura 38 KinectServer 83 AP NDICE G QUESTION RIO DE VALIDA O DA BIBLIOTECA Question rio de Avalia o da Biblioteca Kinect Project Nome Opcional Como voc considera seu n vel de experi ncia e conhecimento em programa o B sico Intermedi rio Avan ado Conseguiu concluir o teste com sucesso Sim N o Recorreu a documenta o da biblioteca Sim N o Se sim como considera o n vel da qualidade da documenta o JP ssima Regular
31. as as poses da pasta s o testadas sendo que uma aplica o pode n o estar ou n o querer utilizar todas em um determinado momento sendo que a nica forma poss vel de contornar a distribui o dos comandos em pastas diferentes parar os eventos de reconhecimento e iniciar novamente 2 Tratar as exce es do InputRegisterApp com mensagens de aviso em vez do travamento da aplica o o mesmo vale para o KinectServer 3 Criar uma fila para altera o do ngulo do Kinect para resolver a exce o levantada caso uma nova solicita o de altera o seja recebida antes do fim da primeira 10 11 64 Criar uma fila separada para os eventos do esqueleto do usu rio para que os eventos de pose voz e gesto sejam reconhecidos simultaneamente Ou ent o mudar da estrutura de fila para uma outra estrutura para que assim dois eventos possam ser reconhecidos simultaneamente sem necessidade de remover o item da fila para depois reconhecer o pr ximo Corrigir a transmiss o de dados da c mera RGB para as aplica es via KinectServer para que a imagem possa ser exibida Criar reconhecimento de gestos personalizados com a possibilidade de cria los atrav s do InputRegisterApp Verificar o motivo do c lculo para reconhecimento de poses via produto escalar n o estar funcionando corretamente comparado com a execu o pela lei dos cossenos a fim de melhorar o desempenho da aplica o Verificar e analisar uma f
32. as ou como reagir dentro do ambiente UNITY 2013 No quadro 1 esta um exemplo de script para o Unity escrito na linguagem C Os scripts s o comportamentos associados a um objeto da cena por este motivo o c digo deste exemplo herda a classe MonoBehaviour O m todo Update chamado 23 a cada frame sendo assim este o ponto no c digo do script onde os desenvolvedores inserem o comportamento desejado Neste trecho de script o objeto associado a ele ir se locomover na posi o x 5 pixels a cada frame 01 using UnityEngine 02 03 public class Teste MonoBehaviour 04 05 void Update 1 06 transform Translate 5f Of Of 07 08 Quadro 1 Trecho de script de controle 2 4 API KINECTPROJECT Com a libera o do Kinect SDK poss vel integrar aplica es Windows com os recursos oferecidos pelo sensor Kinect utilizando a linguagem C C ou Visual Basic Utilizando este SKD o Bacharel em Ci ncias da Computa o pela UNIVALI Gabriel Schade Cardoso prop s em seu Trabalho de Conclus o de Curso a biblioteca KinectProject SCHADE Gabriel 2012 que encapsula a SDK do Microsoft Kinect e permite a integra o com softwares de desenvolvimento como o Unity 3D Atrav s de cria o de scripts poss vel usar os m todos da KinectProject que permitem acesso s fun es do Kinect Igualmente importante o KinectProject tamb m oferece a funcionalidade de cria o e reconhecimento de poses e co
33. cede een dp q onda 14 13 METODOLOGIA cn ere etcetera leet Ace iat eas att La uefa 13 1 4 ESTRUTURADO TRABALHO naredite a a a AaS 16 2 FUNDAMENTA O TEORICA sssssssssssssssssssscssescsseecsnecesnsccessceessccenseessneeesseensees 17 2 1 INTERFACES DE USUARIO q rias Te a RNA N OQ NA NS 17 24 1 Interface C Gherar na RE 18 ata nterface GU asim ss ana bates na A A A A EnA a RS 18 e tio tera Cen NUI r reii se a 19 22 MICROSOFT KINEG seas sd do id a cara 20 2 2 1 Detalhando o Microsoft KINGCH cassia iai edite iscecicse dees dadas dn ea sa anta 20 22 21 Microsoft Kinect SDK arc oc De PD ea A el date E 21 23 PAINT Y css dedo ci a Ra pa A a Maes line ites haa es dos 22 DID SENDO sara R actin A E AA R E IN RS R E 22 24 APLRINEGTPROJECA aan aa pai Scan a e E qa a da td 23 241 Estrut ra li rs 23 24 2 HACSTICOCS sui a I a IE Pe ea ea ENG 27 2 4 3 Integra o com UM wives aataica eeandata dada tada LC A a caca 27 2 4 4 Solu es SHUN OS sacs sie VA Ed E ieee cd ie eaalidaaeeec eae 27 2 5 PROJETO TRILHA DO MORRO DA CRUZ ccccccccsscesscseesccesscessesssesseesseeseeeaes 28 2 5 1 Sobre a Trilha do Morro da CRUZ easier trasa lala bisa tancerealaAsisaidsdetela Nee s gana lados 28 2 5 2 cobre o Projeto da THA sa pus sagas ssa No PUDE CASA tabi SAS a 29 2 a Objetivo do Projeto da TUNG is enren dpan qua a a a lada 29 254 Mpe meN A jO e tan ira DS pa SS Mi cuneate 30 2 5 5 Escolha como estudo de CASO ua ices done Ja sen cies Be SUA SEN SANS 3
34. da DLL KinectScan Sua finalidade acessar as funcionalidades da KinectScan de forma que aplica es que n o suportem o Framework NET 4 5 possam interagir como Kinect Essa funcionalidade poss vel pois a aplica o inicia um servi o que pode ser acessado via TCP IP ou seja torna necess rio que a aplica o final deve fazer requisi es por socket para o servidor interagir como o Kinect A figura 8 demonstra o fluxograma de funcionamento da KinectServer A DLL KinectScan testa os comando utilizando o SDK da Microsoft na qual faz comunica o com o hardware se um comando reconhecido um evento da KinectEvents disparado para o KinectServer e a aplica o final solicita ao KinectServer os eventos da fila Kinect Scan Microsoft Kinect SDK Kinect Sensor Kinect Events T ty Aplica o Cliente Kinect Server Stream de conex o Figura 8 Estrutura do KinectServer Fonte SCHADE Gabriel 2012 25 InputRegisterApp Aplica o desenvolvida para registrar as entradas Na figura 9 poss vel visualizar o fluxograma de funcionamento da ferramenta Similar ao fluxograma do KinectServer a DLL KinectScan testa os comandos que ao ser reconhecido envia a aplica o final um evento do tipo KinectEvents Com esta aplica o poss vel criar e salvar em arquivo poses e comandos de voz novos Para a cria o de poses utilizado um sistema de subposes margem de erro e tempo de espera Uma pose pode ser dividida em
35. dade do uso como na aprendizagem dos comandos naturais Os usu rios com mais conhecimento nas reas citadas acima se adaptam mais rapidamente por conhecerem as limita es do dispositivo seja por quest es de espa o ou da necessidade de precis o do comando natural a ser realizado O que n o seria o ideal para uma interface natural na qual esta deveria se adaptar ao usu rio e n o o usu rio a ela A partir de observa es de alguns participantes durante os testes percebeu se grande dificuldade na memoriza o dos comandos naturais e na realiza o destes comandos Pelo fato da interface natural ter sido desenvolvida para suprir todos os comandos n o naturais uma grande diversidade de poses teve de ser criada dificultando para a memoriza o do usu rio Al m disto surgiu a necessidade de restringir a margem de erro do reconhecimento das poses para que as poses n o conflitassem entre si o que tornou dificultosa a execu o dos comandos por usu rio em um primeiro momento Outro empecilho para o reconhecimento a falta de feedback da imagem do usu rio no momento da intera o com a trilha O usu rio n o consegue saber se seu corpo est dentro da rea de reconhecimento do Kinect e nem comparar o esqueleto sendo reconhecido com a pose a ser efetuada O feedback se torna indispens vel inclusive para os comandos de voz para que o usu rio entenda que comando rec m falado n o foi reconhecido Pelas notas do questi
36. das as considera es gerais em rela o ao projeto realizado e toda a documenta o do mesmo em um relat rio final Foram registradas desde a apresenta o do problema a solu o testes resultados e a fundamenta o te rica para a realiza o deste 1 4 ESTRUTURA DO TRABALHO Este documento est estruturado em quatro cap tulos i Introdu o ii Fundamenta o Te rica iii Desenvolvimento iv Resultados e v Conclus o O Capitulo 1 Introdu o apresenta uma vis o geral do trabalho informando qual a rea no qual o projeto est inserido os objetivos e a metodologia usada O Cap tulo 2 Fundamenta o Te rica apresenta uma revis o bibliogr fica sobre os conceitos trabalhos similares e informa es pertinentes ao projeto como interfaces naturais usabilidade Unity KinectProject Projeto Trilha Virtual e o Microsoft Kinect O Cap tulo 3 Desenvolvimento apresenta a implementa o da interface natural ao estudo de caso para realiza o das valida es da biblioteca O Capitulo 4 Resultados apresenta os resultados obtidos e analises dos mesmos a partir dos testes realizados durante o desenvolvimento deste projeto e question rios de avalia o p s implementa o O Capitulo 5 Conclus o apresenta as considera es sobre o projeto desenvolvido como avalia o dos objetivos alcan ados e trabalhos futuros 17 2 FUNDAMENTA O TE RICA Para o desenvolvimento deste trabalho tor
37. de Ci ncia da Computa o da UNIVALI incluindo a turma de T picos Especiais em Computa o do semestre Il de 2013 totalizando onze participantes Foi solicitado aos participantes que em posse da biblioteca e aplica es do KinectProject modificassem um minijogo desenvolvido no Unity para utiliza o de comandos naturais com o Microsoft Kinect O pacote constava e Um simples tutorial de passo a passo do que realizar no qual consta no ap ndice F e Documenta o da biblioteca KinectProject e Ominijogo Jump Game desenvolvido no Unity e As aplica es KinectServer e InputRegisterApp e As biblioteca de integra o KinectProject e Question rio Os participantes tiveram que responder seu n vel de conhecimento em programa o se conseguiu concluir o teste se recorreu documenta o da biblioteca e sobre a qualidade da mesma quantos erros ocorreram e uma nota de 54 zero a dez em rela o a facilidade de uso da biblioteca O question rio pode ser visualizado no ap ndice G Os resultados obtidos foram divididos em tr s popula es sendo estas definidas pelo conhecimento ou experi ncia em programa o Question rios com informa es incompletas foram descartados ao inv s de inferir os dados faltantes No total foram descartados dois question rios A realiza o dos c lculos e gera o dos gr ficos foram efetuadas pela ferramenta IBM SPSS Statistics IBM 2013 Para este question rio houveram
38. do acessa se o objeto necess rio e altera se suas propriedades Para a altera o das propriedades dos scripts dos objetos da trilha foi necess rio alterar as vari veis de controle utilizadas como a vari vel da posi o atual da aba de uma intera o textual Estas vari veis foram alteradas de permiss o privada para permiss o p blica assim obtendo acesso a partir das classes de integra o 41 Ao iniciar a aplica o os eventos de reconhecimento de pose e gestos s o iniciados e pausados Somente ap s receber o evento de comando de voz Kinect os eventos de poses e gestos s o retomados e todos comandos s o testados no script Caso o comando de voz bye seja reconhecido os eventos de pose e gestos s o pausados novamente e os comandos n o s o mais testados Essa fun o foi implementada afim de ser poss vel ativar e desativar a interface natural evitando reconhecimentos indesejados Para melhor identifica o quando a interface natural ativada ou desativada um som de bip tocado A figura 20 demonstra uma intera o sendo realizada ap s a implementa o da interface O lado A demonstra o Kinect a aplica o KinectServer executando e o Projeto da Trilha em execu o O lado B a trilha virtual antes da execu o de algum comando natural No lado C o usu rio realiza um comando natural na qual aciona a intera o textual visualizada no lado D Figura 19 Intera o com a interface
39. e pesquisadores de forma digital tornando desta forma o conte do mais acess vel e interessante ao usu rio final Os usu rios finais ter o acesso ao sistema atrav s de centros de integra o e nos laborat rios LEA 30 2 5 4 Implementa o A implementa o do projeto foi dividida em scripts espec ficos para cada fun o como por exemplo acessar o menu e interagir com uma foto Atrav s do objeto denominado Personagem poss vel efetuar a locomo o e a movimenta o da c mera A locomo o efetuada atrav s da adi o do componente FPSWalkerEnhanced o qual script incluso no Unity que j vem implementado todas as fun es para andar ou correr J para a movimenta o da c mera utilizado outro script o MouseLook tamb m incluso no Unity As mesmas funcionalidades podem ser adaptadas para a implementa o da interface natural Cada intera o visual textual e menu representa um script inserido em um componente no Unity Estes scripts n o s o inclusos no Unity foram implementados durante o desenvolvimento do Projeto da Trilha e ser o pouco modificados para a adapta o da nova interface Segundo SILVA 2013 n o foi desenvolvido um projeto de modelagem conceitual da trilha virtual impossibilitando conhecer o que ser ainda desenvolvido no projeto 2 5 5 Escolha como estudo de caso O Projeto da Trilha do Morro da Cruz foi escolhido como estudo de caso para este trabalho devido primeiram
40. e recebe se em uma lista as poses que est o sendo reconhecidas no momento e verifica se se continuam ao final testas todas as poses novamente 01 private void UserSkeletonPoseTracking KinectScanUserSkeleton userSkeleton 02 try 03 if userSkeleton null f 04 List lt Pose gt inProgressPose Poses Where pose gt pose Status PoseStatus in_progress pose Status PoseStatus accepted ToList lt Pose gt os foreach Pose p in inProgressPose 06 bool poseIsRecognized KinectFunctionsManager PoseTest userSkeleton p UseLawOfCosines 07 if p Status PoseStatus in progress os if poseIsRecognized o9 TestPoseInProgress p 10 11 else 12 RestartHypotheticalPoseTracking p 13 14 15 else if p Status PoseStatus accepted 16 if poseIsRecognized 17 RestartHypotheticalPoseTracking p 18 AddPoseEvent p PoseEventStatus interrupted 19 20 21 22 foreach Pose p in Poses 23 if p Status PoseStatus not_started 24 if KinectFunctionsManager PoseTest userSkeleton p UseLawOfCosines 25 p Status PoseStatus in_progress 26 TestPoseInProgress p 27 28 29 30 B1 else B2 if _eventStates EventType pose EventState running 33 List lt Pose gt inProgressPose Poses Where pose gt pose Status PoseStatus in_progress pose Status PoseStatus accepted ToList lt Pose gt 34 if inProgressPose Count gt 0 f 35 foreach Pose p in inProgr
41. ece recursos para a implementa o de uma interface natural Estes recursos s o compostos de sensores digitais que capturam os movimentos do usu rio e os interpretam transformando estes est mulos em informa es no formato digital O Kinect utiliza se de uma tecnologia que permite a intera o dos jogadores com jogos sem a necessidade de um controle joystick diferentemente do Wii NINTENDO 2013 e Move da Sony SONY 2013 no qual dependem de um controle 2 2 1 Detalhando o Microsoft Kinect O sensor Kinect pode ser visto na figura 6 Este sensor possui cerca de 27cm de comprimento horizontal e conta com Emissor de Luz Infravermelha Emite v rios raios infravermelhos para uso da c mera infravermelha e C mera Infravermelha Atrav s dos raios infravermelhos utiliza se a c mera para obter a dist ncia do objeto em rela o c mera 21 C mera RGB Captura imagens coloridas em uma resolu o de 640x480 e em uma taxa de quadros de 30Hz Microfone embutido Para captura de comandos de voz Eixo motorizado Para ajustes do ngulo da c mera Emissor de luz C mera RGB infravermelha C mera infravermelha a Eixo Motorizado Microfones Figura 6 Imagem do Kinect adaptada Fonte SCHADE Gabriel 2012 2 2 2 Microsoft Kinect SDK Em 2011 a empresa Microsoft liberou um kit de desenvolvimento para o Kinect SDK chamado de Kinect for Windows MICROSOFT KINECT 2013 O kit
42. ecido 01 private void EventQueue EventAdded object sender EventArgs e o2 if this KinectScanner EventQueue HasEvent 03 Event kinectEvent this KinectScanner EventQueue GetEvent 04 this _serverEventQueue Enqueue kinectEvent 05 if kinectEvent Type EventType pose o6 String s Name PoseEvent kinectEvent PoseName 07 WriteLog string Format Server receive a 0 1 from Kinect Scan kinectEvent Type EnumToText PoseEvent kinectEvent Status s o9 else 10 String s 11 if kinectEvent Type EventType voice_command 12 s Name VoiceCommandEvent kinectEvent Command 13 14 WriteLog string Format Server receive a 0 from Kinect Scan kinectEvent Type EnumToText s 15 16 17 Quadro 13 Nome da pose ou comando de voz no log 92 O quadro 13 demonstra os m todos de ativar e desativar o KinectServer e o de fechar a aplica o O m todo de desativar finaliza todos os objetos em execu o e o de fechar aplica o finaliza os objetos antes de fechar a aplica o 01 02 03 private void tglKinectServer Checked object sender RoutedEventArgs e System Windows Application Current ShutdownMode ShutdownMode OnExplicitShutdown if tglKinectServer IsChecked Value amp amp this KinectServer null this KinectServer new Server true this DataContext this KinectServer this KinectServer InitializeServer tglKinectServer IsC
43. eeeeeneeeeeeeeeeeeeeseeaaaeaeeeeeeeeeeeeeenaeeeeeeeeees 81 PIQUA 39 KINCCLSG NV Clie ecas nce coed ied ins ves tes exes beet ea Lad qd ia o ined need io ni eo ad 82 Figura 40 Estrutura de pastas do Projeto da Trilha 89 LISTA DE TABELAS Tabela 1 Intera es padr es da ThinkMoto rear 34 Tabela 2 Frequ ncia Experi ncia errar 54 Tabela 3 Frequ ncia do uso da documenta o a 55 Tabela 4 Quantidade de eros iiss civassaveie stat anisharsans aassies UA DENSO ORNE 55 Tabela 5 M dia com desvio padr o ccceceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeneeeeeeeeeeeteeee 55 Tabela 6 1 conjunto de comandos naturais ccceeeeeeceeeeeeeeeeeceeeeeeeeeeeeeeeeeeeees 57 Tabela 7 2 conjunto de comandos naturais aereas 57 Tabela 8 Conjunto padr o de comandos naturais e 86 Tabela 9 Conjunto alternativo de comandos naturais 88 LISTA DE QUADROS Quadro 1 Trecho de script de controle ea 23 Quadro 2 Exemplo de implementa o no Unity 27 Quadro 3 Verificar se lei dos cossenos est ativo ieeerereeeneererea 48 Quadro 4 Verifica o se as juntas est o reconhecidas 50 Quadro 5 Question rio de usabilidade eee 78 Quadro 6 Iniciar Reconhecimentos cece eecceeeeceeeeeeueueeeueueueueusesuesesuaeeesuaess
44. em a interface natural Falha de desempenho Alto processamento necess rio para testar se os comandos foram reconhecidos Descri o A implementa o original do KinectUnity necessitava que o desenvolvedor informasse o nome do comando a ser testado de forma individual e era retornado um valor booleano representando se o comando foi reconhecido ou n o Foi ent o realizada uma altera o na estrutura para que se possa retornar o nome dos comandos que foram reconhecidos e ent o mapeados no Unity para cada a o diminuindo assim consideravelmente o processamento dos scripts 4 1 3 Facilidade de uso A biblioteca KinectProject simples e com poucas linhas de c digos poss vel realizar o reconhecimento de comandos naturais Mas devido falta de uma documenta o mais completa e com exemplos de como executar cada fun o torna se dif cil a implementa o 53 Falha de usabilidade Documenta o incompleta Descri o Para efetuar testes na obten o do esqueleto do usu rio por exemplo recorrer documenta o n o foi suficiente algumas horas foram gastas em testes at a obten o correta dos dados Al m da falta de exemplos n o h uma explica o mais detalhada de cada fun o 4 2 QUESTION RIOS 4 2 1 Avalia o da usabilidade na programa o com a biblioteca KinectProject O question rio para avaliar a biblioteca KinectProject foi realizada por programadores e por estudantes do curso
45. entasse consideravelmente e impedindo o reconhecimento de outros eventos Seria necess rio alterar a estrutura da biblioteca criando uma segunda fila de eventos somente para o reconhecimento do esqueleto do usu rio Restri o 2 Erros durante a altera o do ngulo de vis o do Kinect Descri o Quando uma nova solicita o de altera o do ngulo do Kinect enviada antes de uma anterior ter sido finalizada uma exce o levantada originando do SDK do Kinect 4 1 2 Desempenho Utilizando o monitor de recursos do Windows e a an lise de performance da IDE Visual Studio 2012 foi poss vel verificar o consumo dos recursos de hardware Foram duas avalia es a primeira da execu o do projeto da trilha na sua vers o original onde a intera o realizada via teclado e mouse e a segunda execu o da vers o final com a interface natural implementada Na segunda execu o tamb m avaliado o desempenho do KinectServer 51 A figura 25 demonstra do na parte superior o analisador de performance da IDE Visual Studio no qual demonstra resultados de uso da CPU e tamb m da mem ria sendo utilizada por cada componente da biblioteca J na parte inferior demonstra o monitor de recursos do Windows com as informa es dos processos em execu o Cada teste executado duas vezes por um per odo de 10 minutos lemory Profiling Report total bytes allocated No Call Tree Data Is Available Just My Code is enabled w
46. ente por ter sido desenvolvido em Unity que por onde ser validada a biblioteca KinectProject Tamb m devido a possibilidade de modificar a forma de intera o do projeto da trilha assim tornando a mais intuitiva Com esta nova forma de intera o pretende se torna lo mais atrativo ao usu rio final e assim mais adequado ao objetivo do Projeto da Trilha Com testes de usabilidade poder ser verificada a satisfa o do usu rio final com a nova interface 2 6 USABILIDADE E ERGONOMIA Ergonomia a disciplina relacionada com a intera o entre usu rios e instrumentos a fim de otimizar o bem estar humano IEA 2013 Enquanto usabilidade est relacionada a facilidade de uso 31 2 6 1 Import ncia ao projeto em desenvolvimento De acordo com princ pios ergon micos deve se levar em considera o tanto o componente f sico como ps quico dos usu rios de um software sendo projetado para que se possa definir as t cnicas de NUI adequadas proposta NUI de intera o SZNELWAR 2009 Em um projeto de um software a interface deve ser flex vel visando atender a usu rios com diferentes necessidades ergon micas e de acessibilidade NORMAN 2012 No caso de softwares que utilizam conceitos de NUI deve existir uma preocupa o no momento da defini o dos gestos poses e comandos de voz que ser o associados s a es Tais gestos poses e comandos de voz devem ser escolhidos de forma a tornar mais confort vel e intu
47. eragido 3 O sistema apresenta a imagem no ambiente 4 O sistema carrega as entradas na intera o com objetos 5 O sistema aguarda o usu rio executar o comando natural de sair da intera o 6 O usu rio executa o comando de intera o 7 O sistema retorna ao ambiente de passeio 8 O sistema recarrega as entradas de intera o com o ambiente de passeio 13 AP NDICE B LOG DO KINECT SERVER O KinectServer cont m em sua tela uma rea reservada para o log de eventos despachados Todos os eventos despachados pelo cliente do KinectServer s o inseridos em uma fila e executados em sequ ncia ambos s o registrados no log Cada registro possui a hora minuto segundo e milissegundos no qual foi executado ou recebido pelo servidor N o necess rio acionar o log o mesmo executado automaticamente e sem a possibilidade de desabilita lo Na figura 26 demonstrado o log no qual uma aplica o cliente do KinectServer envia uma requisi o para iniciar a captura de gestos Logo depois solicita que o servidor tente obter novos eventos e verifica que n o h novos eventos para serem enviados para a aplica o cliente Server Log Scanner Status Handling client at 16 ti Client send a request start gesture at 16 13 23 959 Initialized 9 The server sends to client a Message Response event at 16 13 24 1 6 Handling client at 1 Client send a request try get event at 16 13 27 845 Kinect Sensor Elevation Angle Iry get
48. essPose 36 RestartHypotheticalPoseTracking p 37 if p Status PoseStatus accepted 38 AddPoseEvent p PoseEventStatus interrupted 39 40 41 42 43 44 45 catch Exception e 46 Quadro 10 Melhoria para reconhecimento de m ltiplas poses 91 O quadro 10 apresenta a altera o realizada na classe KinectInput para obter os eventos que foram reconhecidos ao inv s de testar cada comando individualmente 01 public Dictionary lt string InputValue gt getPosesEvents 02 return _inputPoses Where pose gt pose Value Value true ToDictionary v gt v Key v gt v Value 03 04 5 public Dictionary lt string InputValue gt getVoiceCommandsEvents 06 return _inputVoiceCommands Where pose gt pose Value Value true ToDictionary v gt v Key v gt v Value 07 as 9 public Dictionary lt Gestures InputValue gt getGesturesEvents 10 return _inputGestures Where pose gt pose Value Value true ToDictionary v gt v Key v gt v Value 11 Quadro 11 Buscar somente os eventos reconhecidos O quadro 11 demonstra a constante do buffer de comunica o constante na qual definida no c digo sem possibilidade do usu rio final alter la private const int BUFFER_SIZE 20000 Quadro 12 Constante do tamanho do buffer O quadro 12 representa a altera o feita no log do KinectServer para demonstrar o nome da pose ou comando de voz reconh
49. has de comandos atrav s do prompt de comando do Windows EM 26 05 2013 System32 25 05 2013 E SysWOW64 26 07 2012 s TAPI 16 05 2013 Tasks 26 05 2013 Temp 19 05 2013 ToastData 26 07 2012 z tracing 26 07 2012 twain_32 26 07 2012 twain 32 dll 19 03 2013 vbaddin ini 26 07 2012 z ungcoinstall log 26 07 2012 z lt DIR gt Uss 26 07 2012 lt DIR gt Web 11 11 2612 win ini 2 06 2012 WindowsShell Manifest 27 05 2013 1 311 WindowsUpdate log 26 07 2012 16 winhlp32 exe 19 05 2013 lt DIR gt WinStore 23 05 2013 lt DIR gt WinSxs 2 66 2612 z 316 WMS ys Pr prx 26 07 2012 E 16 752 write exe 32 arquivots gt 554 007 168 bytes 64 pastas 22 115 602 432 bytes dispon veis C Windows gt Figura 3 Imagem do prompt de comando do Windows 8 2 1 2 Interface GUI Interfaces gr ficas do usuario ou GUI Graphical User Interface um tipo de interface que permite usuarios interagir com equipamentos eletr nicos usando imagens em vez de comandos de texto Uma interface gr fica possui informa es e a es atrav s de cones ou indicadores visuais acess veis normalmente com o uso de mouse e teclado RAYMOND Eric 2013 A figura 4 demonstra o primeiro sistema operacional da Microsoft que se utilizou de interface gr ficas 19 r untitled E Saturday January 9 1999 January 1999 W Figura 4 Interface gr fica do SO Windows 1 0 Fonte RAYMOND Eric 2013
50. hecked true else if tglKinectServer IsChecked Value amp amp this KinectServer null tglKinectServer IsChecked false this KinectServer Terminate this DataContext null this KinectServer null private void MetroWindow_Closing 1 object sender EventArgs e f if tglKinectServer IsChecked Value amp amp this KinectServer null tglKinectServer IsChecked false this KinectServer Terminate this DataContext null this KinectServer null System Windows Application Current Shutdown Quadro 14 Bot o e fechamento do KinectServer
51. hich may prevent non user code from being displayed Show All Code 100 CPU Usage 80 Y Filter by selection Y Zoom by selection 60 Y Zoom reset Y Zoom out 40 20 0 0 803779698 Wall Clock Time Seconds Arquivo Monitor Ajuda Vis o Geral CPU Mem ria Disco Rede ni a A CPU EE 4 de Uso de CPU 7 102 de Frequ ncia M xima gt i z Processo PID Descri Status Threads CPU CPUM CPU 100 LiveComm exe 4224 Comm Suspe 21 0 0 00 WWAHost ex 7144 Host S 5 7 0 0 00 E S E S Disco 100 KB s perfmon exe 5816 Monit Em exe 19 1 0 75 Interrup es do Sistema Chama Em exe 0 0 38 dwm exe 6624 Gerenc Em exe 5 o 0 23 100 KBps csrss exe 712 Proces Em exe 11 0 0 19 System 4 NT Ker Em exe 118 0 0 05 ApMsgFwd exe 7440 ApMsg Em exe 2 0 0 04 Mem ria 100 Falhas Graves s svchost exe LocalSystemNet 624 Proces Em exe 22 0 0 02 svchost exe LocalServiceNo 1504 Proces Em exe 25 0 0 02 v Disco EE 0 KB s de E S de Disco EE 0 Mais Longo Tempo em Vv L Rede EE 24 Kbps de E S de Rede EE 0 de Utiliza o da Rede v E ga Mem ria E 0 Falhas Graves s M 52 de Mem ria Fisica Usa E Processo PID Falhas Confir Conju Compa Privad WINWORD EXE 680 O 264 316 249 428 107 336 142 092 svchost exe netsvcs 964 0 243
52. ightMove KinectInput Instance GetInputVoiceCommand Right 09 3 Quadro 2 Exemplo de implementa o no Unity 2 4 4 Solu es Similares Foram efetuadas buscas em solu es similares ao KinectProject que suportem o Unity 3D Uma das solu es encontradas foi Zigfu que suporta a integra o do Kinect com o Unity 3D JavaScript HTML 5 e futuramente Flash ZIGFU 2013 28 Apesar de seu suporte ao Unity este n o possui o reconhecimento de poses Possui somente o reconhecimento de alguns gestos como swipe acenar e push empurrar mas n o sendo poss vel criar novos gestos personalizados Caso haja a necessidade de algum tipo de reconhecimento de pose necess rio implementar manualmente com o uso dos estados obtidos pela biblioteca como posi o das juntas Maiores detalhes sobre a biblioteca KinectProject podem ser encontradas no trabalho do Gabriel Schade Biblioteca de Fun es para utiliza o do Kinect em Aplica es GUI e Jogos Eletr nicos SCHADE Gabriel 2013 2 5 PROJETO TRILHA DO MORRO DA CRUZ 2 5 1 Sobre a Trilha do Morro da Cruz O Morro da Cruz situado na cidade de Itaja uma area de grande atrativo tur stico na regi o surge assim a necessidade de preserva o Atualmente o morro encontra se em estado degradado Sendo assim em 2009 a partir do projeto Restaura o da Biodiversidade An lise do processo de recupera o de uma rea do Morro da Cruz FAPESC 2009 inic
53. igurando Todos os comandos de intera o natural s o salvos na pasta de instala o do projeto Os comandos de voz se encontram na pasta VoiceCommands e as poses na pasta Poses Utilizando o aplicativo InputRegisterApp pode se criar novas poses ou comandos de voz e deve se salvar os mesmos em suas respectivas pastas do projeto 3 Cria o das poses e comandos de voz Create a new voice command input XML file for your application Create a new pose input XML file for your application y Create a new pose Create a new voice command Figura 30 Menu InputRegisterApp Abra o aplicativo InputRegisterApp v em Create a new pose Escreva o nome da pose e posicione se para grava o Ao estar posicionado diga as palavras Kinect e logo ap s Record Pose 76 Record New Pose Waiting Time Figura 31 Pose reconhecida no InputRegisterApp Grave pelo menos uma subpose e salva a pose criada Voc pode ir em Settings para mudar o local onde a pose ser salva Path of Poses Input Files Ca CENTRAL JOINT AUXILIARY JOINT 1 AUXILIARY JOINT 2 ERROR MARGIN Right Hip Right Shoulder Left Hip 30 Figura 32 Configura es do InputRegisterApp Para os comandos de voz v em Create a new voice command Crie um nome para o grupo de comandos de voz insira dois comandos de voz em ingl s para reconhecimento COMMANDS Right Figura 33 Criado um novo comando de voz 17 poss vel pa
54. intera o e algumas empresas como a Think Moto desenvolvedora de softwares determinou um padr o para intera es naturais conforme demostrado na tabela 1 THINK MOTO 2013 Acenar para mover objetos rolar ou ativar R Acenar com a cabe a para cima ou baixo para confirmar ou rolar Inclinar se para direita ou esquerda para mover objeto Juntar as m os para reduzir objeto ou aumentar zoom Afastar as m os para aumentar objeto ou reduzir o zoom UUW N M os no quadril para pausar N A N Gal Polegar para cima para confirmar a sele o Nq Utilizar o bra o para mover um cursor AN Tabela 1 Intera es padr es da ThinkMoto Fonte THINK MOTO 2013 35 2 7 T CNICAS DE AVALIA O E VALIDA O Para a avalia o e valida o da biblioteca KinectProject necess rio conhecimento em realiza es de pesquisas com usu rios para coletar dados testes de funcionamento de uma aplica o e t cnicas que s o utilizadas para avaliar a usabilidade tanto da interface quanto da biblioteca Nas pr ximas subse es algumas destas t cnicas s o descritas com mais detalhes 2 7 1 Pesquisa atrav s da coleta de dados Para realizar a avalia o deste projeto se faz necess rio realizar pesquisas com usu rios para determinar fatores importantes como a facilidade no uso de uma fun o dispon vel no KinectProject por exemplo Pesquisas descritivas possuem caracte
55. iou se um processo de recupera o A figura 13 demonstra o in cio da trilha acess vel pela UNIVALI a Figura 12 Trilha do Morro da Cruz em Itaja Fonte UNIVALI Morro da Cruz 2013 29 2 5 2 Sobre o Projeto da Trilha O Projeto da Trilha consiste em um ambiente virtual 3D desenvolvido na ferramenta Unity no qual o usu rio atrav s do uso de teclado e mouse se locomove e interage neste ambiente O projeto foi desenvolvido para acesso somente a rea da trilha Em determinados pontos da trilha o usu rio encontrar indicadores de informa es textuais para identifica o de um trabalho realizado pelos pesquisadores da Universidade do Vale do Itaja assim como informa es sobre a biodiversidade ali contida Existe tamb m a possibilidade de em alguns pontos visualizar fotos reais da trilha A figura 14 mostra um exemplo de intera o no qual um icone de fotografia demonstrado no espa o do ambiente e o usu rio deve clicar sobre o mesmo para interagir Ao interagir a c mera deslocada e uma imagem real da trilha subposta no ambiente virtual sendo necess rio o usu rio interagir novamente para retornar a trilha w Clique ou pressione ENTER para interagir Pressione ENTER para voltar Figura 13 Imagem de intera o atual no projeto da trilha do morro 2 5 3 Objetivo do Projeto da Trilha O Projeto da Trilha do Morro da Cruz tem como objetivo a dissemina o do projeto sendo realizado pelo grupo d
56. itetura e estrutura da biblioteca O que tamb m dificulta a aprendizagem na utiliza o da biblioteca a falta de uma documenta o mais completa com exemplos e informa es A documenta o indispens vel para que os desenvolvedores tenham ao que recorrer quando necessitarem de apoio Uma contextualiza o mais profunda antes da realiza o do question rio com informa es sobre a biblioteca sua estrutura qual a sua finalidade e o sobre o Unity ambiente no qual foram realizados os testes poderia facilitar o entendimento dos participantes e assim consequentemente aumentar as notas de facilidade necess rio corrigir as falhas descritas na se o 4 a fim de facilitar e tornar poss vel adaptar diversos tipos de aplica es para uma interface natural utilizando o Kinect A corre o da funcionalidade do esqueleto do usu rio ou exibi o da imagem RGB primordial para feedbacks A verifica o e poss vel corre o do reconhecimento de poses tamb m importante para melhorar a performance pois aplica es como jogos muitas vezes necessitam alto desempenho A biblioteca KinectProject possui v rias funcionalidades teis para a implementa o de uma interface natural como a possibilidade de pausar e retomar os eventos de reconhecimento para evitar processamento adicional indesej vel Entretanto outras se tornam necess rias para facilitar a adapta o das interfaces naturais a diversos tipos de aplica es
57. itiva a intera o com o software A escolha dos gestos e poses pode influenciar de forma positiva ou negativa em quest es de usabilidade e ergonomia dos softwares NORMAN 2012 Um exemplo de influ ncia positiva do uso de NUI em rela o usabilidade a facilidade de compreens o por parte de usu rios que n o possuem habilidades com tecnologias da informa o al m de se tornar um atrativo para o software por possuir uma interface inovadora E um exemplo onde a utiliza o dos conceitos de NUI influencia negativamente a usabilidade e ergonomia de um software a n o padroniza o do conjunto de gestos associados a uma determinada a o como ocorre nos celulares de diferentes sistemas com a necessidade de memoriza o de cada comando NORMAN 2012 Neste trabalho t cnico cientifico a partir do crit rio de flexibilidade apresentado um menu de configura o no qual ser poss vel o usu rio determinar os comandos naturais a serem utilizados assim tornando o ambiente ainda mais acess vel 2 6 2 Defini o de comandos Segundo Bill Buxton 2012 a defini o dos comandos a serem realizados da melhor forma poss vel n o depende da pose mais natural do gesto mais natural ou comando de voz e sim do conjunto destes que contribuem para tornar a interface com o sistema mais intuitiva 32 A pr pria Microsoft fornece aos desenvolvedores algumas dicas para desenvolver uma interface natural intuitiva Cada m t
58. jam exaustivas Com a constante evolu o dos dispositivos de intera o n o convencionais como o Kinect que por oferecer um SDK aberto j est sendo utilizado inclusive em aplica es web torna se interessante para desenvolvedores tomarem conhecimento do funcionamento das interfaces naturais de ferramentas que auxiliam nesta rea e come arem a se adequar aos novos padr es de usabilidade e implementa es em interface natural Baseando se nas informa es obtidas e descritas neste projeto juntamente com o fato de n o existir outra ferramenta dispon vel com as mesmas funcionalidades a biblioteca KinectProject torna se de grande utilidade e com potencial para auxiliar desenvolvedores a migrar suas aplica es para uma interface natural 66 REFER NCIAS BALSAMIQ Balsamiq Mockups 2013 Dispon vel em lt http Awww balsamig com gt Acesso em 17 mar 2013 CYBORG Anthropology Steve Mann 2013 Disponivel em lt http cyborganthropology com Steve Mann gt Acesso em 05 jun 2013 DAM Peter LOAIZA Manuel SOARES Luciano RAPOSO Alberto A Study of Selection and Navigation Techniques Using Kinect in VR 2012 Dispon vel em lt http Awww tecgraf puc rio br abraposo pubs SVR2012 Short Peter pdf gt Acesso em 15 maio 2013 GAGE Getting to Know NUI 2013 Dispon vel em lt http Awww gage com connect insights 2013 gettingtoknownui aspx gt Acesso em 02 dez 2013 GALEOTE Sidney Tipos de
59. locomo o atrav s do uso do bra o direito e acionamento de fun es com o bra o esquerdo Por exemplo o bra o direito esticado para frente sinaliza ao personagem para se locomover a frente Todos os testes de valida o foram feitos baseados na implementa o das funcionalidades ao projeto da trilha virtual tirando os testes de mudan a do ngulo de vis o do Kinect e obter as informa es da c mera RGB que n o seriam utilizados para alguma funcionalidade somente para valida o 3 1 IMPLEMENTA O DA INTERFACE PARA O PROJETO DA TRILHA Conforme descrito na se o 3 o projeto foi dividido em quatro classes sendo uma para cada se o do ambiente virtual menu trilha intera o tutorial e uma principal na qual efetuada a comunica o integra o com a biblioteca KinectProject A classe principal de integra o foi desenvolvida em Cf e inserida na pasta Standard Assets para que assim o Unity o compile antes das outras classes Essa modifica o foi necess ria para que as outras classes que foram desenvolvidas em Unity Script possam acessar as informa es contidas na classe principal denominada Globallnput As classes de cada se o foram desenvolvidas em Unity Script para melhor compatibilidade com os outros scripts desenvolvidos para a Trilha do Morro da Cruz Estas classes acessam a vari vel que possui o mapeamento dos comandos que est o sendo reconhecidos Quando um determinado comando reconheci
60. mandos de voz capturados atrav s do Kinect permitindo posterior associa o destes comandos espec ficos de aplica es desenvolvidas atrav s do Unity 3D 2 4 1 Estrutura Para implementa o da biblioteca KinectProject foi adotado a filosofia de dispatcher listener no qual uma aplica o fica respons vel por despachar eventos na qual insere estes eventos em uma fila como o evento reconhecimento de uma pose por exemplo e a aplica o final obt m estes eventos da fila SCHADE Gabriel 2013 A biblioteca foi dividida nas seguintes DLLs e aplica es KinectScan DLL respons vel por acessar as fun es do sensor diretamente atrav s do Microsoft Kinect SDK Esta DLL respons vel por despachar os eventos reconhecidos sendo eles imagem da c mera RGB informa es do esqueleto do usu rio detec o de gestos pr definidos detec o de poses e comandos de voz e 24 altera o do estado do sensor E tamb m a funcionalidade de altera o do estado dos eventos descritos anteriormente como exemplo iniciar pausar e parar o evento de reconhecimento de poses KinectEvents DLL que trabalha em conjunto com a KinectScan Esta DLL conta com as classes que representam os dados do dispositivo Kinect as classes base da biblioteca como a classe de poses comandos de voz entre outras enumerados para o cada tipo de evento por exemplo e classes de comunica o com o KinectServer KinectServer Aplica o cliente
61. mandos de voz do usu rio obtidos atrav s do Kinect em tempo real durante a execu o da aplica o e compara com arquivos de comandos previamente gravados SCHADE Gabriel 2012 O KinectProject extens vel para diversos tipos de aplica es sendo somente necess rio implementar o cliente que o modulo da aplica o que receber e interpretar os eventos despachados pela biblioteca A biblioteca j conta com uma implementa o para integra o ao Unity 3D O projeto Trilha do Morro da Cruz implementa uma ferramenta de navega o virtual para a referida trilha SILVA Eduardo 2012 Este projeto utilizou t cnicas da rea de CG e de Jogos para implementar a modelagem e navega o no ambiente virtual proposto utilizando a engine Unity 3D como ferramenta de desenvolvimento UNITY 2013 O projeto da Trilha consiste em uma modelagem 3D da Trilha do Morro da Cruz situada em Itajai para a cria o de um ambiente virtual conforme mostra a figura 1 Semelhante a um jogo eletr nico a intera o com a trilha virtual dada atrav s da utiliza o de mouse e teclado sendo o teclado para locomo o e o mouse para manipula o da c mera 13 Figura 1 Passeando pelo Projeto da Trilha do Morro da Cruz O projeto da trilha tem como objetivo ser implantado em diferentes locais da regi o de Itaja inclusive em comunidades que n o possuem habilidades e afinidade com tecnologia de inform tica 1 1 PROBLEMATIZA
62. mboliza o Pare com a m o direita ou esquerda Comando de voz Out ns Trocar aba na Intera o Clique do mouse sobre a aba Gesto Movimentar m o da esquerda para a direita ou vice versa Mover barra de rolagem lateral para leitura da intera o Clicar e arrasta o mouse sobre a barra de rolagem Gesto Movimentar m o de cima para baixo ou vice versa 86 Comando Intera o Atual Intera o Natural Pose Pausar Menu Pressionar tecla Pose M os na cintura ESC 7 Comando de voz Menu Menu Iniciar Clique do mouse Pose Bra o direito sobre o bot o esticado para cima Comando de voz Start Menu Tutorial Menu Reiniciar N o existente N o existente Pose Bra o esquerdo esticado para cima Comando de voz Tutorial Pose Posi o que Simboliza o Pare com a m o direita ou esquerda Comando de voz Restart ig 325 o N comt Tela Menu Clique do mouse Pose Bra o esquerdo Configura o sobre o bot o esticado esquerda Tela Tutorial Nao existente Comando de Voz Okay Pr xima Intera o Tabela 8 Conjunto padr o de comandos naturais 87 A tabela 9 demonstra o conjunto alternativo de todos os comandos mapeados para a interface natural as principais altera es foram na locomo o pela utiliza o do bra o direito Comando Intera o Atual Intera o Natural
63. natural 42 3 1 1 Menu de configura o da interface NUI poss vel atrav s de um menu alterar as configura es da interface natural Conforme a imagem 21 mostra todos os comandos est o listados e pode se ativar uma pose um comando de voz e ou um gesto Nos campos de texto deve se inserir o nome do comando a ser reconhecido Novas poses e comandos de voz dever o ser criados pela aplica o InputRegisterApp e inseridos em suas respectivas pastas na pasta data da Trilha do Morro da Cruz A estrutura das pastas pode ser visualizada no ap ndice l Secao Menu Comando Comando de Voz Iniciar Continuar 1coEsaEst we Omen Configuracao oEsticadoEsqu Configur Tutorial BracoEsticad alt Reiniciar gt areDireit O Restart Secao trilha Comando Comando de Voz Locomover a frente 2 Frente e Move Locomover a diagonal direita Locomover a diagonal esquerda Acionar interacao Mover camera esquerda amera direita Pausar Menu Il Secao interacao Comando Comando de Voz Figura 20 Configura o dos comandos naturais 3 1 2 Tutorial para aprendizagem dos comandos naturais Um tutorial foi implementado para permitir que todos os comandos naturais existentes sejam apresentados testados e verificados pelo usu rio O tutorial apresenta uma interface gr fica que informa qual comando est sendo testado Se este comando possuir um comando de voz a palavra ou frase exibida na tela se possuir gesto o gesto desc
64. nhecimento com jogos ou com o dispositivo Kinect e uma nota de zero a dez para aprendizagem dos comandos naturais facilidade e conforto na execu o nos comandos naturais e flu ncia obtida na execu o Ao final o participante tamb m dever responder se encontrou alguma restri o ou dificuldade informando qual e um campo opcional para observa es e sugest es apresentada uma discuss o comparando os resultados com os participantes que utilizaram o conjunto padr o e o conjunto alternativo Foi obtido retorno de quatorze participantes sendo sete utilizando o conjunto padr o de comandos e sete o conjunto alternativo Os resultados est o divididos pelo grupo de comandos naturais testados A tabela 6 demostra os resultados encontrados com o primeiro conjunto de comandos separados por n vel de conhecimento em jogos ou dispositivo Kinect A coluna dificuldade demonstra dentro da popula o quantos encontram algum tipo de dificuldade A partir destes dados poss vel perceber que o n vel de conhecimento em computa o jogos ou no dispositivo Kinect influencia tanto na facilidade como na aprendizagem dos comandos naturais 57 Conhecimento Aprendizagem Facilidade Flu ncia Dificuldade B sico Nota 5 2500 5 7500 52500 Nae se aplica Qtd 4 4 4 4 Desvio Padr 2 06155 1 89297 1 70783 g Intermed Nota 5 5000 7 0000 6 5000 N o se aplica Qtd 2 2 2 2 Desvio Padr 3 5355
65. nou se necess rio realizar uma pesquisa bibliogr fica nas diversas reas relacionadas esta proposta s o elas as interfaces de usu rios ambientes virtuais o dispositivo Microsoft Kinect o software Unity 3D a biblioteca KinectProject o Projeto da Trilha do Morro da Cruz conceitos de usabilidade e acessibilidade de interfaces NUI t cnicas de projeto e modelagem de interfaces NUI e por fim t cnicas e metodologias voltadas avalia o e valida o da KinectProject A seguir detalhado cada item informado anteriormente 2 1 INTERFACES DE USU RIO Interface de usu rio o meio no qual uma pessoa controla um software ou dispositivo de hardware A qualidade no design destas interfaces proveem uma experi ncia e intera o mais amig vel mais intuitiva TECHTERMS COM 2013 Conforme a figura 2 as tr s principais interfaces de usu rios s o as interfaces CLI GUI e NUI Figura 2 Principais interfaces de usu rio Fonte Adapta o de GAGE 2013 18 2 1 1 Interface CLI As interfaces por linhas de comando Command Line Interface foram as primeiras formas de intera o nos mais populares sistemas operacionais nos anos 1970 Softwares que utilizam interfaces CLI necessitam a memoriza o e conhecimento dos comandos e par metros para utiliza o sendo considerada para usu rios avan ados em v rios sistemas operacionais JORDAN Gustavo 2013 Na figura 3 demonstrado um exemplo de interface por lin
66. nte de passeio Reiniciar passeio Cen rio Principal 1 O usu rio executa a intera o natural que reinicia o passeio 2 O sistema reconhece o comando 3 O sistema apresenta a mensagem Passeio reiniciado 4 O sistema recarrega a posi o inicial do passeio 5 O sistema retorna ao menu principal Acessar menu pausar Cen rio Principal 1 O usu rio executa a intera o natural que ativa o menu pausa 2 O sistema reconhece o comando 3 O sistema abre o menu principal 4 O sistema carrega as intera es naturais do menu 72 Interagir com objetos textuais Cenario Principal 1 O usuario executa 0 comando para interagir com objetos no ambiente de passeio 2 O sistema reconhece o comando e o objeto a ser interagido 3 O sistema apresenta as informa es textuais 4 O sistema carrega as entradas na intera o com objetos 5 O sistema aguarda o usu rio executar o comando natural de sair da intera o 6 O usu rio executa o comando de intera o como swipe para rolar o texto e retorna ao passo 5 7 O sistema retorna ao ambiente de passeio 8 O sistema recarrega as entradas de intera o com o ambiente de passeio Sair da Intera o Caso o comando para sair da intera o seja utilizado ir para o passo 7 Interagir com objetos visuais Cen rio Principal 1 O usu rio executa o comando para interagir com objetos no ambiente de passeio 2 O sistema reconhece o comando e o objeto a ser int
67. nto normalizado Apesar disto necess rio corrigir o c lculo atrav s do produto escalar por quest es de performance Status Problema parcialmente resolvido 48 01 if returnValue amp amp useLawOfCosines 02 03 LawOfCosinesResult lawOfCosinesResult MathFunctionsManager LawOfCosinesCalculation userSubPose 04 returnValue amp MathFunctionsManager ComparisonWithErrorMargin subPoseForTest Angle LawOfCosinesResult PlanXY lawOfCosinesResult PlanXY subPoseForTest AngleMarginError 05 returnValue amp MathFunctionsManager ComparisonWithErrorMargin subPoseForTest Angle LawOfCosinesResult PlanxZ lawOfCosinesResult PlanXZ subPoseForTest AngleMarginError 06 returnValue amp MathFunctionsManager ComparisonWithErrorMargin subPoseForTest Angle LawOfCosinesResult PlanYZ lawOfCosinesResult PlanYZ subPoseForTest AngleMarginError 07 Quadro 3 Verificar se lei dos cossenos esta ativo Falha 6 N o poss vel receber as informa es da camera RGB do Kinect Descri o N o poss vel receber os bytes referentes ao RGB da c mera do Kinect atrav s do KinectServer uma exce o levantada constantemente na DLL KinectServer de sem mem ria e ao tentar obter pelo Unity ocorre um erro na deserializa o Corre o Problema n o identificado mas com poss veis problemas na transmiss o no qual utiliza fun es de serializa o e o limite
68. odo de entrada melhor em alguma coisa e pior em outra Para in cio a entrada deve ser natural e apropriada para o tipo de uso Caso a interface natural seja implementada em uma aplica o frequentemente usada como em um escrit rio a curva de aprendizagem pode ser maior e assim possuindo funcionalidades mais ricas J em aplica es que raramente s o utilizadas a curva de aprendizagem deve ser mais suave permitindo que o usu rio aprenda no menor tempo poss vel MICROSOFT HIG 2013 Resumindo a escolha de uma pose ou gesto de intera o deve ser e Ergonomicamente confort vel e Precisa confi vel e r pida e e De f cil entendimento devendo ensinar o usu rio qualquer novo tipo de intera o Um importante detalhe a ser levado em conta na escolha dos gestos o significado simb lico em diferentes culturas o s mbolo OK visto na figura 15 pode ter outro significado em outra cultura Figura 14 Gesto est tico simbolizando OK Fonte MICROSOFT HIG 2013 De acordo com o HIG Microsoft HIG 2013 existem depois tipos de gestos e poses em quest es de aprendizagem gestos inatos e gestos aprendidos Gestos inatos s o aqueles que o usu rio conhece intuitivamente baseado no entendimento do mundo como por exemplo apontar para mirar conforme mostra a imagem 16 33 Figura 15 Gesto Inato Fonte MICROSOFT HIG 2013 J gestos aprendidos s o aqueles no qual necess rio ensinar o usu rio a interagir
69. omo por exemplo inserir juntamente com a mensagem na qual informa que para fechar uma intera o visual deve se pressionar a tecla enter o comando natural que pode ser realizado Algumas restri es do Kinect vieram a ser relatadas pelos usu rios da trilha dentre delas o reconhecimento de voz somente na l ngua inglesa e a dificuldade do reconhecimento dos comandos devido a pron ncia seja pela presen a ru dos no ambiente ou pela pronuncia incorreta da palavra A limita o da l ngua para reconhecimento de voz um grande empecilho para trabalhos educativos muitos possuem dificuldade em pronunciar corretamente na l ngua inglesa tornando o reconhecimento falho Outro fator limitante em rela o ao dispositivo Kinect diz respeito a necessidade de espa o e luminosidade para a utiliza o do mesmo o que torna dif cil a utiliza o em ambientes p blicos e mal iluminados Comparando os resultados de facilidade da biblioteca KinectProject obtidos entre os n veis de conhecimento em programa o percebe se que n o h muita dificuldade para a implementa o das funcionalidades com um conhecimento b sico em programa o Com apenas 3 comandos poss vel iniciar um evento de reconhecimento obter os eventos da fila e verificar se determinado comando foi reconhecido Outra informa o importante que 63 dos participantes dos 60 question rios n o necessitaram recorrer documenta o evidenciando uma boa arqu
70. on rio e por observa es notou se que participantes que utilizaram conjunto alternativo de comandos tiveram mais dificuldade e desconforto na utiliza o da interface natural Isso ocorre pelo fato da locomo o do personagem na trilha se tornar cansativa com a utiliza o dos bra os em uma posi o exaustiva Ap s a realiza o da avalia o da trilha com usu rios foi poss vel perceber que o cen rio ideal para uma trilha virtual seria a utiliza o da quantidade de 59 comandos naturais mais reduzida Desta forma poderia ser aumentada a margem de erro utilizada no reconhecimento da pose para facilitar o reconhecimento e dispensar a necessidade de um tutorial para memoriza o Caso o tutorial seja realmente necess rio seria tamb m ideal modificar o feedback atual que mostra a exibi o do esqueleto realizando tal pose para a imagem real de uma pessoa realizando a mesma pose permitindo assim que a no o de profundidade da pose possa ser percebida Atualmente est fica prejudicada por a pose representada somente atrav s das linhas que representam o esqueleto Outros tipos de tutoriais mais interativos tamb m s o poss veis como por exemplo a cada nova intera o uma pequena janela se abre informando como o usu rio pode proceder demonstrando a pose comando de voz ou gesto a ser realizado Tamb m seria poss vel adicionar esta funcionalidade juntamente com os feedbacks da intera o via mouse e teclado c
71. orma de diminuir o consumo de hardware da aplica o KinectServer Analisar e modificar se poss vel o aplicativo KinectServer para um servi o do sistema operacional sem a necessidade da interven o do usu rio final Adicionar funcionalidade de altera o autom tica do ngulo de vis o do Kinect para a melhor posi o baseando se no esqueleto do usu rio Permitir a possibilidade do InputRegisterApp ser aberto enquanto o KinectServer estiver em execu o 12 Complementar a documenta o com exemplos de cada comando e como 18 usar Escrever em diferentes l nguas n o somente ingl s e Modificar o tutorial para se tornar mais intuitivo conforme as conclus es descritas neste projeto 65 5 3 CONCLUS ES FINAIS Com este trabalho foi poss vel entender a melhor forma de desenvolver uma interface natural Nem sempre aconselh vel transformar todos os comandos existentes em uma interface gr fica em comandos naturais A grande diversidade de comandos dificulta a aprendizagem do usu rio e tamb m torna exaustiva a intera o Como as aplica es variam em seus requisitos de intera o estas podem utilizar se de diferentes dispositivos que permitem a implementa o de uma interface natural Para o dispositivo Kinect podem se ter jogos com o objetivo de se realizar um grande esfor o f sico como o caso de alguns jogos de esportes e tamb m ambientes virtuais desde que suas intera es n o se
72. os eventos obtendo os da fila e verificando se algum comando foi reconhecido As outras classes s o respons veis por obter os comandos reconhecidos da classe principal e tratar devidamente com a es ao Projeto da Trilha lt lt Interface gt gt Input inputControl void Tutorialinput inputControl void inputControl void Globalinput static comandoReconhecido String static posicaoMao Vector 2 verificarReconhecimento void verificarPosicaoMao void Figura 18 Diagrama de classes Os cenarios e casos de usos definidos ao inicio deste projeto podem ser consultados no ap ndice A Como estudado na sess o 2 4 o reconhecimento de poses no KinectProject se d por um conjunto de subposes e uma margem de erro em rela o aos ngulos Para as poses foram definidas uma margem de erro entre 15 e 30 dependendo da complexidade da pose Esta margem foi definida durante a cria o e testes do reconhecimento de cada pose Foi utilizando a aplica o InputRegisterApp que todos os comandos utilizados foram criados editados e testados Foram definidos dois conjuntos de comandos naturais e estes foram baseadas no estudo do HIG da Microsoft apresentado na sess o 2 6 e padr es de 40 empresas de desenvolvimento de software como a Think Moto THINK MOTO 2013 Dessa forma poss vel avaliar o n vel de aceita o Para o segundo conjunto ocorrer algumas altera es como a
73. que impediriam cumprir totalmente os objetivos deste TTC Com o aplicativo InputRegisterApp foi poss vel criar e editar poses e comandos de voz corretamente Inclusive as fun es de teste destes comandos criados tamb m funcionaram de forma correta Foram identificados alguns erros n o tratados como por exemplo o item falha 2 da se o 4 1 1 1 Os testes de reconhecimento de gestos e de voz realizados obtiveram sucesso nenhum problema foi identificado Os testes foram realizados atrav s da utiliza o destes comandos naturais para realizar algumas intera es como mover a c mera e acionar uma intera o textual no projeto da trilha A execu o dos comandos de iniciar pausar e parar os eventos de reconhecimento do KinectProject funcionaram corretamente Tamb m foi poss vel alterar o ngulo de vis o do Kinect fun o descrita na se o 2 2 1 ocorrendo apenas uma erro descrita no item restri o 2 da se o 4 1 1 3 Foi realizado um teste basico do reconhecimento de poses no inicio deste projeto atrav s do minijogo Jump Game Neste teste foi possivel verificar o reconhecimento de poses em a o Durante os testes da implementa o da trilha percebeu se que o reconhecimento de poses nao estava funcional as poses nao eram reconhecidas normalmente Foi ent o identificada a falha 5 da se o 4 1 1 1 falhas e a necessidade da melhoria 2 da se o 4 1 1 2 melhorias 45 4 1 1 1 Falhas Aqui est o listadas as
74. r sticas como facilitar o levantamento de opini es e atitudes de uma popula o a respeito de uma situa o Existem diferentes t cnicas para a coleta de dados como a observa o entrevista e question rios Para pesquisas descritivas comum utilizar se de question rios para coleta de dados UNIVALI 2011 Question rios s o utilizados quando h a necessidade de descrever as caracter sticas de um grupo social e medir algumas de suas vari veis Tem como vantagens a possibilidade de coletar dados de um grande n mero de pessoas assim como a localiza o ou acesso ao informante n o um fator para realiza o Por outro lado possui desvantagens como um n mero restrito de quest es e baixas taxas de devolu o Para realiza o destes question rios basicamente existem dois tipos de quest es sendo estas abertas e fechadas Quest es abertas s o aquelas que d o liberdade ao respondente formular uma reposta j as fechadas s o aquelas que as respostas j s o pr formuladas e cabe ao respondente indicar qual mais se aproxima As perguntas fechadas aceitam v rias formas de formula o como por exemplo sim ou n o escalas de um a dez e m ltipla escolha 36 A disposi o das perguntas devem seguir alguns crit rios como perguntas f ceis no in cio seguidas por perguntas mais especificas com uma complexidade maior e encerrar com perguntas sociodemogr ficas idade sexo etc UNIVALI 2011 U
75. ra cada comando de intera o no projeto selecionar um comando de voz uma pose e um gesto A altera o desses comandos poss vel pelo menu Config Kinect acess vel pela aplica o da trilha Atrav s de uma caixa de sele o poss vel informar se o tipo de reconhecimento est ativo ou n o J no campo de texto deve se informar o nome do comando cadastrado na aplica o InputRegisterApp No caso de uma pose utilize o nome cadastrado no campo Name na hora do registro no comando de voz a palavra ou frase em si e para os gestos escreva Right Swype ou Left Swype 4 Execu o Para a execu o do projeto da Trilha do Morro da Cruz sempre necess rio primeiramente e Conectar o Microsoft Kinect ao computador e Executar o aplicativo KinectSever lt Settings Server Log Ser Running i Kinect Sensor Status Kinect Sensor Elevation Angle Kinect Scan Events RGB Image User Skeleton Pose Gesture Figura 34 KinectServer e Iniciar o reconhecimento no KinectServer e e Executar o Projeto da Trilha do Morro da Cruz 78 AP NDICE E QUESTION RIO DE VALIDA O DE USABILIDADE Question rio de Avalia o do Projeto Trilha do Morro da Cruz com uso da interface natural Comandos de intera o Padr o Alternativo Como voc considera seu n vel de conhecimento em computa o jogos ou no uso do dispositivo Kinect Basico Intermedi rio Avan ado D uma no
76. rdo esticado para bot o cima Comando de voz Start Menu Tutorial N o existente Pose Bra o esquerdo esticado para cima Comando de voz Tutorial Menu Reiniciar N o existente Pose Posi o que Simboliza o Pare com a m o direita ou esquerda Comando de voz Restart Tela Menu Configura o Clique do mouse sobre o bot o Pose Bra o esquerdo esticado esquerda Tela Tutorial Pr xima Intera o N o existente Comando de Voz Okay Tabela 9 Conjunto alternativo de comandos naturais 89 AP NDICE ESTRUTURA DE PASTAS DO PROJETO DA TRILHA O Projeto da Trilha compilado e montado possui uma pasta chamada de data onde todas as informa es necess rias do projeto s o armazenadas A figura 40 demonstra a estrutura de pastas onde o arquivo de comandos armazenado na raiz As poses devem ficar armazenadas na pasta Poses e os comandos de voz na pasta VoiceCommands hd Trilha Virtual Data gt d Managed d Mono 5 Poses Resources n stico VoiceCommands J comandos xml Jor mainData output log t t PlayerConnectionConfigFile resources assets _ sharedassets0 assets Figura 39 Estrutura de pastas do Projeto da Trilha 90 AP NDICE J TRECHOS DE C DIGO DAS CORRE ES E ALTERA ES DO KINECTPROJECT O quadro 9 apresenta a melhoria realizada para o reconhecimento de mais uma pose ao mesmo tempo Ond
77. reate a new voice command input XML file for your application Create a new pose input XML file for your application y Create a new pose Create a new voice command Figura 2 InputRegisterApp Abra o aplicativo InputRegisterApp v em Create a new pose Escreva o nome da pose e posicione se para grava o Ao estar posicionado diga as palavras Kinect e logo ap s Record Pose Record New Pose Waiting Time Figura 35 InputRegisterApp Grave pelo menos uma subpose e salva a pose criada Voc pode ir em Settings para mudar o local onde a pose ser salva Path of Poses Input Files Ca Po CENTRAL JOINT AUXILIARY JOINT 1 AUXILIARY JOINT 2 ERROR MARGIN Right Hip Right Shoulder Left Hip 30 Figura 36 InputRegisterApp 81 Crie duas poses e comandos de voz distintos para cada movimento a ser realizado no jogo Agora v em Create a new voice command Crie um nome para o grupo de comandos de voz insira dois comandos de voz em ingl s para reconhecimento no jogo Group Name Confidence Level x Command Left COMMANDS Right Figura 37 InputRegisterApp 3 Configurando o Unity Adicione as DLLs KinectUnity e KinectEvents na pasta Plugins do mini jogo Salve as poses criadas em uma pasta chamada Poses e os comandos de voz em uma pasta chamada VoiceCommands dentro da pasta Assets Obter eventos gerados pelo Kinect KinectProject Abra o jogo no Unity e o arquivo PlayerMovemen
78. ricas citadas acima se pretende realizar a avalia o e valida o da biblioteca KinectProject tornando se de conhecimento cient fico o quanto confi vel e funcional a biblioteca agregando conhecimento para os futuros desenvolvedores que venham a utiliz la 1 2 OBJETIVOS 1 2 1 Objetivo Geral Realizar a valida o e avalia o da biblioteca KinectProject atrav s da an lise e testes durante e p s implementa o da interface natural ao estudo de caso 1 2 2 Objetivos Espec ficos e Estudar e documentar a biblioteca KinectProject desenvolvida pelo Graduado em Computa o Gabriel Schade e Estudar e documentar a engine do Unity 3D e Estudar e documentar o Projeto Trilha do Morro da Cruz feita no Unity 3D e Estudar e documentar conceitos de ergonomia usabilidade e acessibilidade relacionados a NUIs e Selecionar poses e comandos de voz adequados intera o com o ambiente virtual baseando se nos estudos e an lises descritos nas etapas anteriores e Projetar a interface natural proposta e Projetar an lises e testes a serem efetuados para valida o da ferramenta 15 e Produzir a documenta o do projeto da interface e Implementar a interface natural atrav s do KinectProject no projeto da Trilha do Morro da Cruz e Implementar um tutorial interativo e Executar testes e an lises de verifica o do funcionamento da interface e ferramenta e Produzir um manual de instala o para usu rio
79. rito atrav s de um texto e se possuir uma pose o esqueleto gravado no arquivo da pose exibido ao usu rio Conforme a figura 22 quando o comando reconhecido uma mensagem informa que o comando j foi reconhecido e o usu rio dever falar OK para ir para 43 o pr ximo comando Al m disto quando um comando reconhecido a frase Comando reconhecido tamb m aparece e se possuir uma pose o esqueleto fica da cor verde e ap s cerca de quatro segundos a frase desaparece e o esqueleto do usu rio retornam para a cor normal Esta forma de feedback de reconhecimento de comandos foi implementada para que o usu rio possa efetuar o teste novamente caso tenha realizado o comando sem inten o Figura 21 Tela de tutorial A fun o de Picture In Picture do esqueleto do usu rio em tempo real teve de ser removida do projeto devido a limita o da biblioteca conforme explicado em mais detalhes na sess o 4 1 deste trabalho 44 4 RESULTADOS 4 1 AVALIA ES RELACIONADAS AO KINECTPROJECT Nas pr ximas se es est o descritas todas as avalia es realizadas e suas respectivas an lises juntamente com um levantamento de falhas encontradas As avalia es foram divididas em funcionalidade desempenho e facilidade de uso 4 1 1 Funcionalidade Durante a implementa o da interface para o Projeto da Trilha do Morro da Cruz foram identificados problemas com algumas funcionalidades da KinectProject
80. s baseados em estudos de usabilidade e a avalia o pela perspectiva dos usu rios da interface natural implementada Palavras chave NUI Trilha do Morro da Cruz Kinect KinectProject Valida o ABSTRACT Starting with command line interfaces passing by graphics screens with menus and buttons GUI today it s possible to use gestures poses and voice commands to interact with the computer These natural interfaces NUI usually pair with non conventional devices like the Kinect developed by Microsoft to capture movements and voice This paper presents a proposal and an implementation of a natural interface with the Kinect to a study case using the KinectProject s API developed as a term paper by the Bachelor of Computer Science from UNIVALI Gabriel Schade Cardoso This API encapsulates the SDK developed by Microsoft to use Kinect in different applications This project has as objective to verify and validate the KinectProject s functionalities performance and ease of use to implement a NUI using the Morro da Cruz s Trail s Project as a study case This trail s project was developed in Unity which is a game engine that don t support configuration of a natural interface with Kinect It also proposes a set of natural commands based on usability studies and the evaluation by the user s perspective of the natural interface implemented Keywords NUI Morro da Cruz s Trail KinectProject Validation LISTA DE FIGURAS Figur
81. s da nova interface natural do projeto da Trilha Virtual e Validar a usabilidade da interface natural atrav s da implanta o do projeto no Laborat rio de Educa o Ambiental LEA da UNIVALI e Documentar todas as etapas envolvidas no desenvolvimento deste TTC na forma de um relat rio final e poss vel artigo cient fico 1 3 METODOLOGIA Este trabalho est dividido em tr s etapas i fundamenta o do projeto ii modelagem da interface natural e dos testes iii considera es gerais e documenta o Na primeira etapa foram efetuadas pesquisas sobre os conceitos e informa es necess rios para realiza o do projeto nas reas de usabilidade interfaces naturais em computa o gr fica APIs e dispositivos relacionados NUls Foram extra das as informa es de artigos cient ficos trabalhos de conclus o e documenta es online principalmente da Microsoft pesquisados utilizando strings de busca como interfaces naturais NUI Kinect usabilidade em NUI e Unity Na segunda etapa foi elaborado a modelagem da implementa o da interface natural atrav s de diagramas de classe casos de uso e cen rios com o software Enterprise Architect SPARX 2013 e prot tipos de tela com o Balsamiq Mockups BALSAMIQ 2013 tamb m foi definido quais e como ser o realizados os testes da 16 biblioteca KinectProject com question rios planos de teste performance e funcionais Na terceira etapa foram defini
82. spx gt Acesso em 09 mar 2013 NINTENDO Wii Official Site at Nintendo 2013 Dispon vel em lt http Awww nintendo com wii gt Acesso em 13 mar 2013 NORMAN Donald Gestural Interfaces A Step Backwards in Usability 2012 Disponivel em lt http Avww jnd org dn mss gestural interfaces a step backwards in usability 6 ht ml gt Acesso em 08 mar 2013 OMG Object Management Group UML 2013 Dispon vel em lt http Avww uml org gt Acesso em 20 maio 2013 RAYMOND Eric The first GUIs 2013 Dispon vel em lt http Avww catb org esr writings taouu html chn02s05 html gt Acesso em 27 maio 2013 REIS Eberton TestExpert Estrat gia Tipos e T cnicas de teste 2009 Dispon vel em lt http Awww testexpert com br q node 1375 gt Acesso em 16 maio 2018 68 SANTOS Robson L G Usabilidade e m todos de avalia o de usabilidade de linterfaces web Rio de Janeiro Pontif cia Universidade Cat lica do Rio de Janeiro Dispon vel em lt http pt scribd com doc 50857920 Usabilidade e Metodos de Avaliacao de Usabilidade de Interfaces WEVB pt scribd com doc 50857920 Usabilidade e Metodos de Avaliacao de Usabilidade de Interfaces WEVB gt Acesso em 20 maio 2013 SCHADE Gabriel UNIVERSIDADE DO VALE DO ITAJA Biblioteca de Fun es para utiliza o do Kinect em Aplica es GUI e Jogos Eletr nicos 2012 TCC gradua o em Ci ncia da Computa o Universidade do Vale do Itaja Itaja
83. t cs script no qual est adicionado ao personagem do jogo Atrav s deste arquivo faremos todo o controle do KinectProject e movimento do personagem Instancie o Kinectinput no Start do script e envie requisi es para iniciar os reconhecimentos como no exemplo do quadro 1 KinectInpu j tUnity Classes KinectInput Instance KinectInput Request new ts Cla munication Classes ests ClearEventQueueReq tInpu Re ts Cla om quest new munication Classes ES tVoiceCommandR Dados Documentos Unity Assets tInput SendRequest new ts Classes Communication Classes ts Req t Documentos Unity Assets quest new munication Classes Req tures Left Swipe quest new munication Classes Req tures Right Swipe tInput SendRe ts Cla ses Com s Events Enums Ges tInput SendRe ts Classes Com Events Enums Ges Quadro 6 Iniciar Reconhecimentos 82 Dentro do m todo Update do Script adicione o seguinte c digo abaixo para obter os eventos da fila if countToCheckNewEvents gt 0 5 KinectInput SendRequest new Events Classes Communication Classes Requests TryGetEventsReques countToCheckNewEvents 0 countToCheckNewEvents Time deltaTime Quadro 7 Obter eventos na fila Conforme o exemplo no quadro 3 utilize a KinectInput para verificar se determinado evento foi reconhecido Crie as v
84. ta de O a 10 para as pr ximas considera es Aprendizagem dos comandos naturais Facilidade e conforto no uso dos comandos naturais Flu ncia no uso da aplica o __ Encontrou dificuldade na utiliza o da trilha ou alguma restri o Sim N o Se sim comente Observa es e sugest es Quadro 5 Question rio de usabilidade 19 AP NDICE F VALIDA O DA BIBLIOTECA Este documento trata se de um passo a passo da utiliza o da biblioteca KinectProject que integra o Microsoft Kinect com diversas aplica es para a avalia o da mesma Para avalia o iremos desenvolver uma interface natural para um mini jogo no Unity pois a biblioteca j conta com a DLL de integra o com o mesmo Os passos a serem executados neste documento s o e Cria o de duas Poses e Cria o de dois Comandos de Voz e Obter os Eventos do KinectProject no Unity e Identificar Poses no Unity e Identificar Comandos de Voz no Unity e Identificar Gestos no Unity 1 Mini Jogo Jump Game Figura 1 Jump Game Neste jogo o personagem principal mantem se pulando constantemente e tem como objetivo alcan ar o topo do mapa subindo atrav s de plataformas O jogador deve movimentar o personagem para direita ou esquerda para completar o objetivo Sendo assim iremos criar intera es para mover o personagem tanto para direita ou para esquerda 80 2 Cria o das poses e comandos de voz C
85. tera o Foi alterado o c digo para que todas as poses continuem sendo verificadas independente se j existe uma com o status reconhecido Melhoria 3 Verificar se as juntas da subpose que ir ser testada est o sendo reconhecida Descri o Os c lculos para reconhecimento de poses s o efetuados mesmo que alguma junta da subpose a ser testada n o esteja sendo reconhecida Altera o Foi inserido o c digo do quadro 3 no qual verifica se todas as juntas das subposes do esqueleto do usu rio que ser o comparadas com os arquivos de poses est o sendo reconhecidos 50 Ol if centerJoint TrackingState Equals KinectEvents Enums KinectScanJointT rackingState Tracked fauxiliaryJointl TrackingState Equals KinectEvents Enums KinectScanJoi mtTrackingState Tracked fauxiliaryJoint2 TrackingState Equals KinectEvents Enums KinectScanJoi ntTrackingState Tracked 02 03 return false 04 Quadro 4 Verificagao se as juntas estao reconhecidas 4 1 1 3 Restri es Restri o 1 Impossibilidade da obten o do esqueleto do usu rio juntamente com outros eventos Descri o Ap s a implementa o de um Picture In Picture do esqueleto do usu rio no Projeto da Trilha o reconhecimento de voz pose e gestos deixava de funcionar corretamente Notou se que os eventos do esqueleto do usu rio eram enviados constantemente a cada ciclo da biblioteca fazendo que a fila aum
86. tilizando o software SPSS da IBM IBM 2013 que trata se de uma ferramenta de apoio para an lises estat sticas foi gerado os gr ficos e c lculos estat sticos como m dia frequ ncia e desvio padr o Neste software os dados s o inseridos e determina se o tipo de sa da que deseja se obter Atrav s de question rios foram coletados os dados necess rios para analisar e obter os resultados das avalia es realizadas neste projeto 2 7 2 Testes de software Existem diversos tipos de testes de software destacando se dentre eles testes funcionais testes n o funcionais testes estruturais e testes de regress o Para o escopo deste projeto ser o abordados os testes funcionais e testes n o funcionais GALEOTE 2013 Testes funcionais ou tamb m chamados de caixa preta s o aqueles orientados s fun es do software considerando somente o comportamento externo no software e n o a l gica ou estrutura do c digo S o fornecidas entradas o teste executado e compara se o resultado obtido com o previamente conhecido Esses testes s o baseados em casos de usos ou cen rios GALEOTE 2013 Testes n o funcionais verificam a forma que o sistema trabalha em quest es de desempenho carga ou estresse usabilidade portabilidade entre outros GALEOTE 2013 Uma t cnica de avalia o de desempenho consiste em fornecer v rias entradas de tamanhos diferentes ao sistema e avalia se o tempo de resposta para uma determinada f
87. ttp zigfu com en zdk recipes gt Acesso em 26 maio 2013 69 70 APENDICE A CENARIOS E CASOS DE USO Neste ap ndice est o os cen rios dos casos de uso referentes a implementagao do Projeto da Trilha do Morro da Cruz gerados pela ferramenta Enterprise Architect A 1 CASOS DE USO Os casos de usos est o divididos em funcionalidades acess veis pelo ambiente e acess veis pelo menu Os casos de uso do menu podem ser vistos na figura 27 dentro dele est o iniciar ou continuar passeio alterar as configura es de entrada testar e aprender as entradas configuradas e reiniciar passeio Iniciar Continuar passeio Alterar configura es de entrada das intera es naturais Usu rio Testar e aprender as intera es naturais configuradas para tera o com o siste Reiniciar passeio Figura 26 Casos de uso menu J os casos de uso do ambiente visualizados na figura 28 s o acessar menu ou pausar interagir com objetos visuais interagir com objetos textuais e locomover se no ambiente 71 Acessar menu pausar Interagir com objetos visuais Interagir com objetos textuais Figura 27 Casos de uso ambiente A 2 CEN RIOS Iniciar Continuar passeio Cen rio Principal 1 O usu rio executa a intera o natural que ativa o in cio ou continua o do passeio 2 O sistema reconhece o comando 3 O sistema fecha o menu principal 4 O sistema carrega as intera es naturais do ambie
88. uncionalidade onde normalmente utiliza se a medida de milissegundo O tempo de resposta varia de fun o para fun o e de sistema para sistema REIS Eberton 2013 37 Na avalia o da usabilidade pode se citar quatro t cnicas para avalia o de usabilidade SANTOS Robson 2010 e Inspe o Utiliza se de listas de verifica o ou recomenda es por guidelines para avaliar a usabilidade de uma interface e Observa o Atrav s da observa o dos usu rios do software registra se os comportamentos e sua satisfa o ou frusta o com algum determinado ponto e Inquirigao Avalia se atrav s de question rios entrevistas ou escalas de avalia o e Experimenta o Cria se uma situa o ou caso de teste para que se compare a situa o real com a simulada Neste trabalho foi utilizada a t cnica de inquiri o utilizando se de question rios e tamb m a observa o para obter informa es no qual nos question rios n o foram informadas 38 3 DESENVOLVIMENTO Para o desenvolvimento deste projeto algumas fun es foram adicionadas ao Projeto da Trilha do Morro da Cruz de forma a adaptar se a interface natural mas sem perder ou reduzir funcionalidades existentes Dentro destas funcionalidades est um tutorial para aprendizagem dos comandos NUI a possibilidade de modifica o das entradas para intera o dentro da op o de configura o e um Picture in Picture com o esqueleto do usu rio
89. v rias subposes e cada subpose um conjunto de tr s articula es Para cada subpose necess rio configurar uma margem de erro para assim facilitar o reconhecimento de uma pose e que haja o reconhecimento para esqueletos diferentes Tamb m para finalizar a cria o de uma pose necess rio definir o tempo de espera que significa quanto tempo o usu rio dever manter a pose est tica para se tornar como uma pose reconhecida Para criar um comando de voz somente necess rio escrever a palavra e definir a margem de erro para o reconhecimento Nesta ferramenta tamb m poss vel editar uma pose ou comando de voz j existente como tamb m testar o reconhecimento conforme demonstra a figura 10 Microsoft Kinect SDK Kinect Sensor Di Sm Ferramenta de captura de entradas Kinect Scan Kinect Events a Figura 9 Estrutura do InputRegisterApp Fonte SCHADE Gabriel 2012 26 Test Pose E M 3D X PLAN XZ PLAN YZ PLAN XY PLAN XZ PLAN YZ PLAN Figura 10 InputRegisterApp em execu o no teste de pose Fonte SCHADE Gabriel 2012 KinectUnity DLL respons vel por consumir os eventos da KinectScan atrav s do servidor KinectServer Isto ocorre atrav s da utiliza o da classe KinectServerClient no qual possui os m todos para enviar requisi es e verificar se algum gesto pose ou comando de voz foi ativo poss vel entender seu funcionamento atrav s da figura 11 no qual segue o mesmo fluxogr

Download Pdf Manuals

image

Related Search

Related Contents

ZEOLITE - CLINOPTILOLITE  Impression du manuel d`utilisation Zenit 12XP - 35mm    Belkin F1DN116C KVM switch  USER MANUAL  SAMII Manual  医療・介護ベッド用手すりのすき間に頭や首    

Copyright © All rights reserved.
Failed to retrieve file