2010-2-Jose Moacir de Souza Junior-monografia

Embed Size (px)

Citation preview

  • 5/23/2018 2010-2-Jose Moacir de Souza Junior-monografia

    1/39

    UNIVERSIDADE LUTERANA DO BRASILCURSO DE CINCIA DA COMPUTAO

    CMPUS GRAVATA

    SISTEMA DE CAPTURA DEMOVIMENTOS PARA

    COMANDAR EQUIPAMENTOS

    ELETRNICOS

    Jos Moacir de Souza Jnior

    Monografia desenvolvida durante a disciplina de Trabalho

    de Concluso de Curso em Cincia da Computao II eapresentada ao Curso de Bacharelado em Cincia daComputao da Universidade Luterana do Brasil, cmpusGravata, como pr-requisito para a obteno do ttulo deBacharel em Cincia da Computao.

    Orientador(a): Prof. Roland Teodorowitsch

    Gravata, dezembro de 2010.

  • 5/23/2018 2010-2-Jose Moacir de Souza Junior-monografia

    2/39

    2

    Universidade Luterana do Brasil ULBRA

    Curso de Cincia da Computao Cmpus Gravata

    Coordenador do Curso de Cincia da Computao (Cmpus Gravata):

    Prof. Elgio SchlemerCoordenador das Disciplinas de Trabalho de Concluso de Curso (Cmpus Gravata):

    Prof. Roland Teodorowitsch

    Banca Avaliadora composta por: Data da defesa: 29/11/2010.

    Prof. Roland Teodorowitsch (Orientador)

    Prof. Luiz Fernando Castro da CruzProf. Maria Adelina Raupp Sganzerla

    CIP Catalogao na Publicao

    Souza Jnior, Jos Moacir de

    Sistema de Captura de Movimentos para Comandar EquipamentosEletrnicos / Jos Moacir de Souza Jnior; [orientado por] RolandTeodorowitsch; Gravata: 2010.

    39 p.: il.

    Trabalho de Concluso de Curso (Bacharelado em Cincia daComputao). Universidade Luterana do Brasil, 2010.

    1. Viso Computacional. 2. Interao Homem-Computador. 3.OpenCV. 4. Reconhecimento de Gestos. 5. Anlise de Imagens. I.Teodorowitsch, Roland. II. Ttulo.

    Endereo:Universidade Luterana do Brasil Cmpus Gravata

    Av. Itacolomi, 3.600 Bairro So VicenteCEP 94170-240 Gravata-RS Brasil

  • 5/23/2018 2010-2-Jose Moacir de Souza Junior-monografia

    3/39

    Noventa por cento do sucesso se baseia simplesmente eminsistir.

    Woody Allen

  • 5/23/2018 2010-2-Jose Moacir de Souza Junior-monografia

    4/39

    Dedico este trabalho aos meus pais, Jos Moacir de Souzae Maria Geneci Oliveira de Souza, por todo amor, carinho,

    apoio e incentivo que me proporcionaram nas horas emque mais precisei.

  • 5/23/2018 2010-2-Jose Moacir de Souza Junior-monografia

    5/39

    AGRADECIMENTOS

    Primeiramente agradeo aos meus pais, por sempre terem me incentivado a estudar epor me apoiarem durante toda minha trajetria escolar e acadmica. Me dando carinho, amor,

    ateno e ajuda nas dificuldades encontradas durante estes anos.Aos amigos que, de vrias formas, ajudaram dando seu apoio, incentivo e at mesmo

    suas opinies. Por me questionarem a respeito do projeto e me fazerem repensar sobre algoque j estava decidido.

    Ao Henrique Severo da Silva por me emprestar seu notebook, me economizando oesforo de levar meu computador desktoppara fazer as demonstraes aos professores e atmesmo para fazer a defesa do trabalho. Alm do notebook, tambm me ajudou como todos osoutros amigos que citei anteriormente.

    A todos os professores que me ajudaram na minha formao acadmica.Principalmente aos professores Roland Teodorowitsch, Luiz Fernando e Maria Adelina, que

    expressaram suas opinies e ideias sempre que necessitei.

  • 5/23/2018 2010-2-Jose Moacir de Souza Junior-monografia

    6/39

    SUMRIO

    LISTA DE FIGURAS .............................................................................................................. 7

    LISTA DE QUADROS ............................................................................................................ 8

    LISTA DE ABREVIATURAS E SIGLAS............................................................................. 9

    RESUMO ................................................................................................................................ 10

    ABSTRACT ............................................................................................................................ 11

    1 INTRODUO ................................................................................................................. 12

    2 FUNDAMENTAO TERICA.................................................................................... 142.1 REALIDADE VIRTUAL .................................................................................................. 152.2 VEX ........................................................................................................................... 152.3 OPENCV.................................................................................................................... 16

    3 DEFINIO ...................................................................................................................... 203.1 GESTOS IDENTIFICADOS .............................................................................................. 203.2 SINAIS DE SADA.......................................................................................................... 21

    4 DESENVOLVIMENTO DO TRABALHO..................................................................... 234.1 INTERFACE GRFICA DO SISTEMA................................................................................ 234.2 CONFIGURAO UTILIZADA PARA O KITVEX ............................................................. 274.3 AMBIENTE DE DESENVOLVIMENTO DO KITVEX.......................................................... 284.4 FUNCIONAMENTO DO SISTEMA .................................................................................... 294.5 COMO OPENCV FOI UTILIZADO .................................................................................. 294.6 FILTRAGEM DA IMAGEM .............................................................................................. 29

    4.7 ANLISE

    ...................................................................................................................... 305 TESTES E ANLISE DE RESULTADOS..................................................................... 33

    6 CONCLUSO.................................................................................................................... 37

    REFERNCIAS ..................................................................................................................... 39

  • 5/23/2018 2010-2-Jose Moacir de Souza Junior-monografia

    7/39

    LISTA DE FIGURASFigura 1 Jogador executando comandos atravs do Kinect .................................................. 12Figura 2 Imagem original e imagem com a aplicao do algoritmo ..................................... 14Figura 3 Alguns componentes do Kit da VEX Robotics ...................................................... 16

    Figura 4 Exemplo de cdigo-fonte que utiliza a biblioteca OpenCV ................................... 17Figura 5 Imagem original e imagem aps aplicao do algoritmo de Canny ....................... 17Figura 6 Imagem original e a imagem com os padres a serem reconhecidos ..................... 18Figura 7 Resultado do programa de deteco de face ........................................................... 19Figura 8 Gestos reconhecidos ............................................................................................... 21Figura 9 Interface grfica do sistema de reconhecimento de gestos ..................................... 23Figura 10 Tela de configurao de sadas ............................................................................. 25Figura 11 Tela de configurao de Velocidade e Tempo de ciclo via gestos ....................... 26Figura 12 Tela de configurao de velocidade atravs de gestos ......................................... 26Figura 13 Tela de configurao de tempo de ciclo atravs de gestos ................................... 27Figura 14 Possveis comportamentos do veculo em funo do sentido de suas rodas ........ 27Figura 15 Montagem do kitVEX........................................................................................... 28Figura 16 Exemplo de filtragem dos pontos de pele da imagem .......................................... 29Figura 17 Convexidade e falhas de convexidade .................................................................. 30Figura 18 Pontos analisados para identificao dos dedos ................................................... 31Figura 19 Frmula para identificar possveis dedos.............................................................. 31Figura 20 Exemplo de imagem com 5 dedos identificados .................................................. 32Figura 21 Posio que o equipamento estar antes dos comandos ....................................... 34Figura 22 Gesto 1 dedo para cima e comportamento do kitVEX..................................... 34Figura 23 Gesto 2 dedos e comportamento do kitVEX .................................................... 35Figura 24 Gesto 1 dedo para direita e comportamento do kitVEX................................... 35

    Figura 25 Gesto 1 dedo para esquerda e comportamento do kitVEX............................... 36

  • 5/23/2018 2010-2-Jose Moacir de Souza Junior-monografia

    8/39

    LISTA DE QUADROSQuadro 1 Gestos reconhecidos e suas respectivas sadas...................................................... 22Quadro 2 Possveis configuraes e suas respectivas sadas ................................................ 22Quadro 3 Listagem das possveis exibies de sinais de sada ............................................. 25

  • 5/23/2018 2010-2-Jose Moacir de Souza Junior-monografia

    9/39

    LISTA DE ABREVIATURAS E SIGLAS2D Duas dimenses3D Trs dimensesIHC Interao Homem-Computador

    USB Barramento Serial Universal (Universal Serial Bus)VB Visual Basic

  • 5/23/2018 2010-2-Jose Moacir de Souza Junior-monografia

    10/39

    RESUMO

    Esta monografia apresenta o desenvolvimento de um sistema que executa oreconhecimento de uma mo, buscando encontrar, nos movimentos feitos por ela, gestos que

    esto predefinidos dentro do sistema. Ao reconhecer um gesto como sendo vlido, o sistemater uma sada que poder ser utilizada, como entrada de comandos, em interfaces que faama comunicao com equipamentos eletrnicos, robs, etc. A captura dos movimentos e gestosda mo do usurio ser feita atravs de um dispositivo de captura de vdeo. Aps a captura dovdeo cada imagem ser processada, interpretada e transformada, em tempo real, em sadasque podero se tornar comandos vlidos para o controle de tais dispositivos.

    Palavras-chave: Viso Computacional; Interao Homem-Computador; OpenCV;Reconhecimento de Gestos; Anlise de Imagens.

  • 5/23/2018 2010-2-Jose Moacir de Souza Junior-monografia

    11/39

    ABSTRACT

    Title: A motion capture system for electronic equipment control

    This monograph presents the development of a system that runs the recognition of a

    hand.This system will try to find, in the movements of the hand, predefined gestures. When a

    gesture is recognized as valid, the system will have an output that can be used as na input

    command in interfaces that communicate with electronic equipment, robots and more. The

    capture of movements and gestures of the user's hand will be done through a video capture

    device. After the video capture, each image will be processed, interpreted and transformed, in

    real time, in outputs that may become valid commands to control such devices.

    Key-words:Computer Vision; Human-Computer Interaction; OpenCV; Gesture Recognition;

    Image Analysis.

  • 5/23/2018 2010-2-Jose Moacir de Souza Junior-monografia

    12/39

    1 INTRODUOAtualmente a forma mais comum de interao entre humanos e mquinas atravs de

    teclado, mouse e toutch screen. A utilizao destes equipamentos possui uma interface de

    baixa compreenso para pessoas leigas no assunto. H muitos anos, busca-se minimizar aomximo a dificuldade nas operaes que envolvem mquinas e equipamentos eletrnicos.Para isto, foram inventadas interfaces que buscam tornar tais operaes o mais parecidaspossvel com as atividades do dia-a-dia das pessoas e que, tambm, fossem de fcilaprendizado (PREECE, ROGERS e SHARP, 2005).

    Computadores que possuem interfaces utilizando o recurso touch screen (tela detoque) so um grande exemplo desta busca pela minimizao das dificuldades no momento deoperar um aparelho eletrnico. Com isto, elimina-se o uso do mouse, e facilita-se o uso docomputador para quem ainda no se acostumou com o uso de tal ferramenta.

    Atualmente existem muitas pesquisas com o objetivo de desenvolver interfaces

    intuitivas e inteligentes, onde o ponto chave a captura de movimentos e gestos tornando ocorpo, ou parte dele, como sendo a ferramenta de controle de aplicaes. A prova da buscapor abolir equipamentos como mouse e teclado desta nova interface de interao humano-computador o lanamento ao pblico do mais novo equipamento da Microsoft na rea deconsoles de vdeo games, chamado Kinect. Ele possui como principal foco a utilizao decmeras que fazem o rastreamento do corpo, pegando suas posies e movimentos eutilizando-os como comandos para os aplicativos. Tudo isto sem a necessidade do uso denenhuma espcie de controle (XBOX, 2010).

    Na Figura 1 possvel ver uma imagem em que foi utilizada a movimentao do corpodo jogador para comandar o aplicativo.

    Figura 1 Jogador executando comandos atravs do Kinect

  • 5/23/2018 2010-2-Jose Moacir de Souza Junior-monografia

    13/39

    13

    Uma das reas de aplicao das interfaces de comunicao, entre homens e mquinas, a robtica. A robtica uma rea da tecnologia que abrange reas como a EngenhariaMecnica, Engenharia Eltrica e Inteligncia Artificial, dentre outras. Robs podem terinmeros formatos e tamanhos. Atualmente os robs so utilizados em linhas de produo

    para aumentar a produtividade, a padronizao e diminuir os riscos de acidentes com pessoas.Existem, tambm, robs submarinos que so utilizados para explorar o fundo do mar.Independentemente do tamanho, forma ou aplicao que o rob ter, ser necessrio ter umainterface de comunicao entre o ser humano e a mquina. Esta interface pode serpredefinida, onde o rob executar sempre a mesma rotina de atividade, como o caso dosrobs de linha de produo de uma fbrica de automveis. A interface tambm pode sercomposta de controles que utilizem botes para o envio dos comandos para o rob.

    Para a criao de interfaces de comunicao possvel utilizar a realidade virtual. Arealidade virtual permite simular ambientes reais dentro de um mundo totalmente virtual, bemcomo ter ambientes virtuais e utilizar elementos do mundo real, misturando-se e interagindo,

    com o mundo virtual. Este o ponto que move a realidade virtual e faz com que ela evolua. a mistura entre o mundo virtual e o mundo real buscando torn-los o mais prximos possvel.Um exemplo desta fuso seria a possibilidade de se enxergar e tocar um objeto que somenteexiste virtualmente, isso atravs de projetores de imagem em 3D e emuladores de tato.

    Neste trabalho desenvolveu-se uma interface de captura de movimentos procuraintermediar esta interao entre homem e mquina, analisando e interpretando seusmovimentos. Em seguida, a interface envia comandos repassados ao equipamento eletrnico,que executa as aes desejadas e comandadas pelo usurio. Sempre focando a utilizao demovimentos intuitivos e que sejam do cotidiano do indivduo que estar operando o sistemade interface.

    O restante desta monografia est dividida da seguinte forma: o Captulo 2 apresenta afundamentao terica; a seguir, o Captulo 3 apresenta a definio do projeto; o Captulo 4apresenta o desenvolvimento do trabalho; o Captulo 5 apresenta os testes e anlises deresultados; e, por fim, so apresentadas a Concluses e as Referncias.

  • 5/23/2018 2010-2-Jose Moacir de Souza Junior-monografia

    14/39

    2 FUNDAMENTAO TERICAUm dos conceitos importantes para dar incio ao desenvolvimento deste trabalho o

    entendimento de padres de imagens. Todo objeto possui um formato. Entende-se por

    formato de um objeto o contorno de sua forma em um espao 2D ou 3D. Assim o formato deuma bola esfrico, o de um tabuleiro de xadrez quadrado. Para que se possa fazer aextrao dos contornos de uma imagem adquirida de uma webcam, necessrio usar umalgoritmo para a deteco de bordas, que so os contornos de suas formas.

    Existem vrios algoritmos para deteco de contornos, um deles o algoritmo deCanny. Na Figura 2, possvel ver o algoritmo aplicado sobre uma imagem simples, de altocontraste e de fcil anlise. Nesta figura foram identificados basicamente padres circulares, e possvel notar que, para cada padro de crculo, foi utilizada uma cor. Os crculos maisarredondados e os crculos com formato oval no sentido vertical foram contornados com a corvermelha, j os crculos de circunferncia mais oval no sentido horizontal, foram contornadoscom a cor verde, independentemente do tamanho do crculo. Pois, neste caso, o algoritmo foi

    destinado a identificar crculos que correspondessem a um padro, e no a uma figura detamanho esttico.

    Figura 2 Imagem original e imagem com a aplicao do algoritmo 1

    1Imagem obtida a partir de um dos exemplos de aplicaes existentes nos diretrios de instalao da ferramenta OpenCV.

  • 5/23/2018 2010-2-Jose Moacir de Souza Junior-monografia

    15/39

    15

    2.1 REALIDADE VIRTUALA realidade virtual tem como objetivo tornar o mundo virtual o mais parecido possvel

    com o mundo real atravs de emulao de viso, tato ou qualquer que seja o sentido humano

    utilizado para esta simulao. Consegue-se isto criando artifcios que faam com que ousurio, ao entrar em um mundo virtual, no perceba que no est manipulando algo irreal,achando que o que ele est manipulando virtualmente um objeto existente. Somente possvel isto com o desenvolvimento de interfaces que consigam simular esta interao econsigam imitar o objeto real no mundo virtual.

    Alm de se ter uma interface que faa com que o usurio desprenda-se de certasferramentas para a utilizao de equipamentos eletrnicos, necessrio fazer com que ousurio assimile os movimentos que ele est efetuando com as aes que esto sendoexecutadas, com a maior facilidade possvel, para que tanto o aprendizado como a utilizaose tornem de fcil compreenso e assimilao. Tornando, assim, a utilizao agradvel edando a maior sensao de imerso no mundo virtual possvel.

    A eficincia na deteco dos movimentos a maior responsvel pela sensao deimerso. a partir da deteco, anlise e interpretao dos movimentos que possvelexecutar a ao de forma correta. Para a deteco destes movimentos, existem dispositivos deabsoro de movimentos que fornecem a posio de certa parte do corpo. Estes dispositivospodem ser mecnicos, acsticos, magnticos ou pticos. Os dispositivos de rastreamento maisutilizados at hoje so os magnticos, porm a grande tendncia a da utilizao dedispositivos pticos. Os rastreadores pticos utilizam imagens para a deteco dosmovimentos, e esta caracterstica faz com que, para a utilizao destes sensores, no hajalimitao de movimentos ou, at mesmo, desconforto no uso devido a fios conectados a, porexemplo, uma luva.

    2.2 VEXA VEX Robotics uma empresa que desenvolve e fabrica kits de robtica, cujo

    objetivo educacional, com foco tanto no meio acadmico quanto na rea infantil. Afinalidade destes kits a introduo das pessoas no mundo dos robs, tendo em vista odesenvolvimento de equipamentos que auxiliem em tarefas do dia-a-dia. Com este kit, possvel desenvolver diversos modelos de robs, cada um com um formato e finalidade deuso diferente. Como possvel ver na Figura 3, estes kits so compostos, basicamente, pormotores, engrenagens, rodas e sensores. Tambm possvel adquirir peas sobressalentes,

    caso seja necessrio, para a construo de determinado rob (VEX, 2010a).

  • 5/23/2018 2010-2-Jose Moacir de Souza Junior-monografia

    16/39

    16

    Figura 3 Alguns componentes do Kit da VEX Robotics

    A escolha pela utilizao do kitVEX neste projeto foi devido grande possibilidadede movimentos que ele proporciona e facilidade em desenvolver, assim como o prpriorob, uma aplicao de comunicao com o ele.

    2.3 OPENCVOpenCV (Open Source Computer Vision) uma biblioteca para o desenvolvimento de

    aplicativos na rea de viso computacional. Atravs dela, possvel fazer a anlise,interpretao e processamento de imagens em tempo real (BRADSKI e KAEHLER, 2008).Ela multiplataforma e totalmente livre para uso acadmico e comercial, bastando seguir omodelo de licena BSD. A verso 1.0 foi lanada no final do ano de 2006 e foi desenvolvidanas linguagens de programao C e C++. Atualmente ela est na verso 2.0, e d suportetambm para desenvolvedores Phyton que desejem utiliz-la em seus projetos. Possui mais de500 funes que podem ser aplicadas nas reas de Interao Homem-Computador (IHC),identificao de objetos, reconhecimento de face, tracking (seguir), reconhecimento demovimentos, dentre outras.

    OpenCV j possui um tempo considervel de vida e tambm possui muitosutilizadores. Trata-se de uma ferramenta que facilita o desenvolvimento de projetos queenvolvam manipulao de imagens e que, assim, contribui para aumentar tambm a

    confiabilidade nas aplicaes desenvolvidas com ela. Outro ponto forte o fato de que oOpenCV multiplataforma, possibilitando a usurios de diferentes sistemas operacionaisdesenvolverem seus projetos.

    Na Figura 4, possvel ver um pequeno trecho de cdigo que utiliza a bibliotecaOpenCV, escrito em linguagem C, que exibe uma imagem esttica (foto) em uma janela, eaps a exibio, aplica uma funo para deixar a imagem somente com tons de cinza. Logoaps, aplica o algoritmo de Cannyque identifica, e destaca contornando as bordas da imagemcom linhas brancas. E aps isso exibe a imagem em preto e branco com suas bordasdestacadas.

  • 5/23/2018 2010-2-Jose Moacir de Souza Junior-monografia

    17/39

    17

    #include

    #include

    IplImage* img_original = 0;

    IplImage* img_cinza = 0;

    IplImage* img_contorno = 0;

    int main(int argc, char** argv){ /* Carregar imagem de entrada */

    img_original = cvLoadImage(argv[1]);

    /* Cria janela p/ exibir a imagem Original */

    cvNamedWindow("Imagem Original", CV_WINDOW_AUTOSIZE);

    /* Exibindo a imagem na janela criada */

    cvShowImage("Imagem Original", img_original);

    img_cinza = cvCreateImage(cvSize(img_original->width, img_original->height), IPL_DEPTH_8U, 1);

    /* Transforma imagem para tons de cinza */

    cvCvtColor(img_original, img_cinza, CV_RGB2GRAY);

    img_contorno = cvCreateImage(cvSize(img_cinza->width, img_cinza->height), IPL_DEPTH_8U, img_cinza-

    >nChannels);

    /*Aplica algoritmo de Canny */

    cvCanny(img_cinza, img_contorno, 0, 255, 3);

    /*Cria janela para exibir imagem contornos*/ cvNamedWindow("Contornos", CV_WINDOW_AUTOSIZE);

    /*Exibindo a imagem na janela criada */

    cvShowImage("Contornos", img_contorno);

    int keyCode = cvWaitKey(); /* Aguarda tecla p/ fechar programa */

    cvReleaseImage(&img_original); /* Desalocar imagem */

    cvDestroyWindow("Imagem Original"); /* Desalocar janela */

    cvReleaseImage(&img_contorno); /* Desalocar imagem */

    cvDestroyWindow("Contornada"); /* Desalocar janela */

    return(0);

    }

    Figura 4 Exemplo de cdigo-fonte que utiliza a biblioteca OpenCV

    O resultado do algoritmo apresentado na Figura 4 pode ser visto na Figura 5.

    Figura 5 Imagem original e imagem aps aplicao do algoritmo de Canny

    A biblioteca OpenCV possui recursos para efetuar o reconhecimento de padres nasimagens analisadas. Para isto necessrio estipular um padro para que a anlise seja efetuada(OPENCV, 2010). possvel usar, como exemplo, uma mo humana. Caso seja inseridodentro do sistema que o padro a ser reconhecido por ele ser uma mo aberta, o sistemaprocurar na imagem uma espcie de bloco com cinco extremidades. Ao se mostrar para acmera uma mo aberta, ela ser reconhecida como um padro vlido, e o sistema passar aexecutar os procedimentos estipulados para o reconhecimento deste padro. No momento emque a mo for fechada, ela deixar de ser reconhecida, e o sistema passar acusar a falta de

    padres na imagem. por isto que se deve prever a maior parte das possveis posies e

  • 5/23/2018 2010-2-Jose Moacir de Souza Junior-monografia

    18/39

    18

    gestos da mo, para que ela continue sendo reconhecida como uma mo mesmo aps sofrer,perante o sistema, modificaes de formato durante a movimentao.

    Dentro das aplicaes de exemplo existentes no diretrio de instalao da bibliotecaOpenCV, est a aplicao de face detect (deteco de face). Dentro desta aplicao estopredefinidos, de forma genrica e mais abrangente possvel, os padres existentes em umaface. Neste reconhecimento feita, inicialmente, a procura de uma figura que possua oformato de uma cabea, ou seja, so buscados padres ovais dentro da imagem analisada.Aps encontrar um destes padres, esta regio analisada para verificar se realmente se tratade uma cabea. Esta diviso ser feita para que cada parte possua um tratamento diferente, ouseja, cada parte buscar um novo padro que corresponder s caractersticas existentes emuma face. Neste algoritmo so buscadas, basicamente, as caractersticas das partes da facecorrespondentes a boca, olhos e testa. Na Figura 6, possvel ver como feita esta diviso daface de todo o resto da imagem, e posteriormente como feita a subdiviso de cada uma daspartes da face.

    Figura 6 Imagem original e a imagem com os padres a serem reconhecidos

    possvel ver o resultado do programa de deteco de face, encontrado no diretrio deinstalao da biblioteca OpenCV, na Figura 7. Este sistema faz um crculo em torno da regioda imagem que ele identifica como sendo uma face vlida.

  • 5/23/2018 2010-2-Jose Moacir de Souza Junior-monografia

    19/39

    19

    Figura 7 Resultado do programa de deteco de face

    Na Figura 7, possvel verificar a falha do sistema de deteco de face, pois ele no

    marcou como sendo faces vlidas as faces de trs pessoas existentes na imagem. Istoaconteceu porque ele no conseguiu identificar todas as caractersticas necessrias para queconfigurasse as faces como sendo vlidas.

    Levando em considerao o reconhecimento de movimentos e padres, possvelrealizar o reconhecimento de uma mo dentro do sistema. Com isto fica mais claro oentendimento do funcionamento da interface que se pretende desenvolver. Tendo em mente adificuldade em se identificar um padro dentro de uma imagem, possvel entender o grau dedificuldade ao se desenvolver um sistema deste gnero.

    Tendo como exemplo o sistema de deteco de face apresentado acima, possvelverificar que, para que a identificao de padres seja perfeita, necessrio um grau de

    processamento e de conhecimento de todas as possibilidades de posies do padro para queno haja falhas como as que ocorreram na Figura 7. Para os humanos o processo deidentificao do que , ou no, uma face fcil, porm para um programa o qual no possuiaprendizagem durante seu fluxo de execuo um trabalho suscetvel a falhas.

  • 5/23/2018 2010-2-Jose Moacir de Souza Junior-monografia

    20/39

    3 DEFINIOEste trabalho tem como objetivo capturar os movimentos realizados pelo usurio,

    analisando-os e interpretando-os para ter como sada um comando que possa ser utilizado por

    um dispositivo eletrnico. A interface utiliza uma cmera de captura de vdeo para detectar osgestos feitos pelo usurio. E tambm utiliza a biblioteca OpenCV para fazer a comparao dasimagens captadas pela cmera, com padres j estipulados na prpria interface. Se a imagemcoletada pela cmera coincidir com pelo menos um dos padres predefinidos dentro dosistema, a interface ter como sada comandos que podero ser utilizados em sistemaseletroeletrnicos, tais como robs, articulaes eletromecnicas, etc.

    Com isto, possibilita-se o manuseio de determinado equipamento eletrnico, sem anecessidade de se apertar botes, movimentar alavancas, etc. Como a interface ter comopadres gestos e sinais sem grande complexidade, e de uso corriqueiro, isto facilitar muito aaprendizagem do manuseio do equipamento em questo.

    Os movimentos bsicos sero os que coordenaro a direo, tais como andar, parar,girar para a direita, girar para a esquerda, andar de r. Com isto tm-se as funes bsicasrequeridas para movimentar um rob que se desloca, por exemplo, utilizando rodas.

    3.1 GESTOS IDENTIFICADOSExistem oito gestos que so reconhecidos pelo sistema, cada um deles corresponde a

    uma sada que a interface envia quando reconhec-los. O sistema tem de reconhecer o gestodentro de uma taxa de variao de tonalidade da pele, tamanho da mo ou do tamanho dosdedos. Os gestos esto ilustrados na Figura 8.

  • 5/23/2018 2010-2-Jose Moacir de Souza Junior-monografia

    21/39

    21

    Figura 8 Gestos reconhecidos

    Basicamente, o sistema faz a contagem dos dedos que esto estendidos, contandodesde zero dedos at cinco dedos. A nica particularidade existente na contagem no caso deencontrar apenas 1 dedo estendido. Neste caso o sistema far a identificao de qual lado queo dedo est apontando, podendo ser para cima, para direita ou para esquerda.

    Todos os gestos que foram mostrados na Figura 8 foram feitos com a mo direita, masno existe restrio alguma quanto a faz-los com a mo esquerda. O usurio poderia terproblemas para utilizar o sistema no caso de no possuir algum dedo.

    3.2 SINAIS DE SADA possvel fazer com que um programa gere sadas, bem como possvel aproveitar

    estas sadas utilizando-as como entrada em outro programa. Como mostrado anteriormente,cada um dos gestos reconhecidos pelo sistema possuir uma interpretao diferente, ou seja,cada gesto far com que o sistema execute um procedimento diferente.

    Cada procedimento gerar, ao seu final, uma sada correspondente ao gestoidentificado. Esta sada poder ser utilizada em qualquer sistema que d suporte a um recursocomo este. A finalidade do desenvolvimento deste projeto para que se utilize esta interfaceem sistemas que movimentem equipamentos eletrnicos, mas como no se limitou a interfacea um sistema em especfico, pode-se utiliz-la onde ela melhor se enquadrar.

    A ideia a de gerar sadas baseadas em caracteres, que tenham alguma relao com ogesto que est sendo identificado para que sejam de fcil interpretao. Como, por exemplo,quando se identificar o gesto da mo aberta, a interface envia o caractere P. Ao seidentificar o gesto correspondente mo com dois dedos estendidos, a interface envia ocaractere T. No momento em que a interface de reconhecimento de gestos identificar ogesto de um dedo da mo apontando para cima, gerar uma sada com o caractere F.

    Busca-se fazer com que os gestos tenham alguma relao lgica com o movimentoque o equipamento eletrnico executar. No Quadro 1, cada gesto e a sua sadacorrespondente so apresentados

  • 5/23/2018 2010-2-Jose Moacir de Souza Junior-monografia

    22/39

    22

    Quadro 1 Gestos reconhecidos e suas respectivas sadasGesto Sada Possvel Movimento

    0 dedos X -1 dedo para cima F Frente

    1 dedo para direita D Direita1 dedo para esquerda E Esquerda2 dedos T Trs3 dedos Y -5 dedos P Parar

    Os gestos 0 dedos e 3 dedos poderiam ser utilizados para qualquer outromovimento que um equipamento eletrnico tivesse. Todos os possveis movimentos forambaseados nos que o kitVEX poderia executar com a configurao que foi utilizada para ostestes deste sistema.

    possvel notar que o gesto 4 dedos no consta no Quadro 1, isto devido a estegesto servir para a entrada em um menu de configurao. Ou seja, no momento que o sistemareconhece o gesto 4 dedos, ele entra neste menu de configurao. Aps isto, todos os gestosexecutados tero outro significado.

    Alm dos sinais de sada citados no Quadro 1, existem mais 6 sinais que o sistemapode enviar para o equipamento eletrnico. Estas sadas so enviadas de duas maneiras,quando o usurio acessa o menu de configurao atravs do gesto 4 dedos ou quando utilizao mousepara clicar diretamente na configurao desejada que est na tela principal do sistemade reconhecimento de gestos. As possveis sadas para estas configuraes esto listadas noQuadro 2.

    Quadro 2 Possveis configuraes e suas respectivas sadasConfigurao Sada

    Velocidade Lenta LVelocidade Intermediria NVelocidade Rpida RCiclo Curto 1Ciclo Intermedirio 2Ciclo Longo 3

    As sadas que foram sugeridas para cada uma das aes so configurveis, deixando ousurio livre para mudar, inclusive, a quantidade de caracteres que enviada ao equipamentoa cada comando. A seguir ser apresentado como efetuar as configuraes de sadas.

  • 5/23/2018 2010-2-Jose Moacir de Souza Junior-monografia

    23/39

    4 DESENVOLVIMENTO DO TRABALHONeste captulo ser apresentado o sistema de reconhecimento de gestos, bem como sua

    interface e o que cada componente desta interface faz, funcionamento interno para o

    reconhecimento de cada gesto e possveis configuraes que o usurio pode aplicar sobre osistema.

    4.1 INTERFACE GRFICA DO SISTEMANa Figura 9, possvel ver a interface grfica do sistema. Aps ser feita uma

    explicao de cada funcionalidade presente no sistema.

    Figura 9 Interface grfica do sistema de reconhecimento de gestos

    Na Figura 9, foram enumeradas as funcionalidades do sistema de 1 at 11. Cadanmero corresponde a:

    Nmero 1: imagem original com a aplicao de algumas figuras geomtricas,como crculos e linhas retas, para que possa ser visualizado o que o sistema estidentificando na imagem;

  • 5/23/2018 2010-2-Jose Moacir de Souza Junior-monografia

    24/39

    24

    Nmero 2: exibe a imagem aps o filtro utilizado para deteco dos pontos quepossuem colorao de pele. Esta imagem possuir apenas duas cores, preto ebranco. Os pontos que estiverem pintados de branco so os pontos que foramconsiderados como pontos de pele. Os pontos que estiverem pintados de preto so

    os que no foram reconhecidos com pontos com tonalidade de pele; Nmero 3: possibilita a configurao da velocidade de locomoo do

    equipamento eletrnico quando ele receber os comandos de movimentao. Aoclicar em cada uma das opes, o sistema envia o respectivo comando dealterao de velocidade para o equipamento;

    Nmero 4: abre uma tela que possibilita a configurao das sadas que cadacomando enviar esta tela pode ser visualizada na Figura 10 e cada uma das suasfuncionalidades sero explicadas a seguir;

    Nmero 5: possibilita a configurao do tempo que o equipamento eletrnico irse locomover quando receber comandos de movimentao. Ao clicar em cadauma das opes, o sistema envia o respectivo comando de alterao de velocidadepara o equipamento;

    Nmero 6: este boto faz com que o sistema inicie e, aps ter iniciado, sua funo a de parar o sistema de captura;

    Nmero 7: a escolha do nmero de frames possibilita o controle do nmeromnimo de quadros, com o mesmo gesto, para que s ento o sistema reconhea-ocomo sendo um gesto vlido. Com esta configurao diminuem-se os errosocorridos por falsos positivo onde, por apenas alguns instantes, foi reconhecidoum gesto diferente ao que se est executando na frente da cmera;

    Nmero 8: representa o tempo em que o sistema aguardar, aps enviar um sinal,para s ento enviar outro sinal. Esta funcionalidade evita o congestionamento de

    sinais de sada ocasionados por atraso de hardware, sejam eles de origem doprprio computador ou do equipamento eletrnico; Nmero 9: faz uma listagem de todos os dispositivos de vdeo encontrados no

    computador, possibilitando a seleo de qual entrada de vdeo ser utilizada para acaptura das imagens;

    Nmero 10: faz uma listagem de todas as portas seriais encontradas nocomputador, possibilitando a seleo de qual porta que receber os sinais de sadado sistema de reconhecimento de gestos;

    Nmero 11: exibe qual o sinal que est sendo identificado no momento. Aspossveis exibies esto listadas, juntamente com suas respectivas descries, noQuadro 3.

  • 5/23/2018 2010-2-Jose Moacir de Souza Junior-monografia

    25/39

    25

    Figura 10 Tela de configurao de sadas

    Na Figura 10, foram enumerados de 1 a 4 cada um dos componentes da tela deconfigurao de sadas, que aceitam interao do usurio. Cada nmero corresponde a:

    Nmero 1: possibilita a seleo do comando que ir ser configurado. Apsselecionar o comando, exibida, no item de nmero 2, a sada correspondente aocomando selecionado;

    Nmero 2: mostra a sada que corresponde ao comando selecionado no item denmero 1. Este item possibilita que o usurio digite o que ele deseja que sejaenviado ao equipamento eletrnico quando for executado o gesto selecionado noitem de nmero 1;

    Nmero 3: este boto faz o salvamento do que est escrito no item de nmero 2atribuindo este valor ao gesto que estiver selecionado no item de nmero 1;

    Nmero 4: fecha a tela de configurao de sadas.Todas as configuraes so salvas em um arquivo XML no diretrio em que o sistema

    de reconhecimento de gestos estiver sendo executado. Isto d a possibilidade de, aps ofechamento do sistema, reabri-lo com as configuraes que foram efetuadas anteriormente.

    Quadro 3 Listagem das possveis exibies de sinais de sadaSinal Significado

    / No foi identificada uma figura de mo vlida0 Identificado 0 dedos estendidos1-F Identificado 1 dedo estendido apontando para cima/frente

    1-D Identificado 1 dedo estendido apontando para a direita1-E Identificado 1 dedo estendido apontando para a esquerda2 Identificado 2 dedos estendidos3 Identificado 3 dedos estendidos5 Identificado 5 dedos estendidos

    Alm das telas apresentadas at o momento, existe mais uma cuja nica forma deacesso com o sistema em pleno funcionamento e efetuando o gesto de 4 dedo. Esta telano possui outra forma de acesso devido ao fato de que ela simplesmente faz a mesmaconfigurao que as funcionalidades de velocidade e tempo de ciclo apresentados

    anteriormente, com a diferena que esta tela no pode ser controlada pelo mouse. A nicaforma de interagir com ela atravs de gestos. A Figura 11 mostra o layoutdesta tela.

  • 5/23/2018 2010-2-Jose Moacir de Souza Junior-monografia

    26/39

    26

    Figura 11 Tela de configurao de Velocidade e Tempo de ciclo via gestos

    Os itens exibidos pela tela mostrada na Figura 11 so basicamente dois: Nmero 1: representa o nmero de dedos que devem ser reconhecidos como

    estando estendidos. Ao passo que se o usurio fizer o gesto de 1 dedo(indiferentemente se o dedo est apontando para cima, direita ou esquerda) a telamudar as opes disponveis. As opes podem ser vistas na Figura 12.

    Nmero 2: descrio de qual opo corresponde ao nmero de dedos que est aolado. Ao que o usurio fizer o gesto de 2 dedos o sistema mudar as opesexibidas, apresentando as opes que podem ser vistas na Figura 13.

    Figura 12 Tela de configurao de velocidade atravs de gestos

  • 5/23/2018 2010-2-Jose Moacir de Souza Junior-monografia

    27/39

    27

    Figura 13 Tela de configurao de tempo de ciclo atravs de gestos

    No momento em que o sistema estiver exibindo as telas demonstradas na Figura 12 ena Figura 13, e quando o sistema reconhecer que o usurio estiver executando o gestocorrespondente s opes de 1, 2 ou 3 dedos, ele enviar ao equipamento a sadacorrespondente quela configurao. No caso de ser identificado o gesto de 5 dedos osistema fechar a tela de configurao e voltar para a tela principal do sistema.

    importante ressaltar que no momento em que o usurio estiver visualizando qualqueruma das telas de configurao, os gestos feitos na frente da cmera deixam de serreconhecidos como gestos de controle do equipamento eletrnico, passando a ser somentegestos de configurao.

    4.2 CONFIGURAO UTILIZADA PARA OKITVEXO kit foi montado de maneira que possusse uma configurao que possibilitasse sua

    movimentao sem grande complexidade de comandos. Ele possui a aparncia de um carrocom quatro rodas. Porm sua movimentao baseada na movimentao de tanques deguerra, ou seja, para efetuar as converses ele no muda o ngulo das rodas, ele apenas fazcom que as rodas de cada lado girem em sentidos diferentes. Isto possibilita que as conversessejam efetuadas de maneira que no seja necessrio ocupar nenhum espao alm do que jest sendo ocupado pelo equipamento, pois ele gira em torno de seu prprio eixo. Na Figura14, possvel ver uma ilustrao do que foi explicado anteriormente.

    Figura 14 Possveis comportamentos do veculo em funo do sentido de suas rodas

  • 5/23/2018 2010-2-Jose Moacir de Souza Junior-monografia

    28/39

    28

    Esta configurao de locomoo foi escolhida devido facilidade de se trabalharsomente com dois motores, no sendo necessrio preocupar-se com rotao de rodas paraefetuar as converses. A Figura 15 mostra a montagem utilizada para o kitVEX.

    Figura 15 Montagem dokitVEX

    A comunicao do computador com o rob est sendo feita atravs de um cabo USB-Serial que acompanha o kit. A escolha por este meio de comunicao foi devido praticidadede instalao. Basta instalar o driverdo cabo, o que gera uma porta Serial (COM) virtual. Autilizao deste meio de comunicao deixa o equipamento limitado a um pequeno espaopara efetuar seus movimentos. Esta desvantagem acaba se tornando nula se comparada sadaptaes necessrias para fazer a comunicao do equipamento de outra forma.

    4.3 AMBIENTE DE DESENVOLVIMENTO DOKITVEXPara o desenvolvimento de aplicaes para o kit VEX foi utilizado um ambiente de

    desenvolvimento integrado gratuito chamado MPLab (MICROCHIP, 2010a). Esta escolha foi

    devido necessidade de se ter um ambiente sem limitaes e que proporcionasse uma boaprodutividade.

    Para ser possvel trabalhar com o VEX utilizando o MPLab foi instalado no ambienteo framework WPILib, que rene funcionalidades para programao em robs (WPILIB,2010). Tambm foi necessria a instalao do compilador MCC18, que possui alguns recursosvlidos somente por um certo tempo, mas os recursos necessrios para o desenvolvimento noVEX no possuem nenhuma limitao (MICROCHIP, 2010b). Para se fazer a transferncia deum programa executvel para a controladora do VEX foi utilizado o IFILoader (VEX, 2010b).

  • 5/23/2018 2010-2-Jose Moacir de Souza Junior-monografia

    29/39

    29

    4.4 FUNCIONAMENTO DO SISTEMAPara o reconhecimento dos gestos o sistema necessita, basicamente, de 2 passos. O

    primeiro deles filtrar da imagem pontos potencialmente irrelevantes. O segundo a anlise,

    atravs de clculos e utilizao de funes do OpenCV, da parte da imagem que foiconsiderada como possuindo uma mo e identificar o gesto que ela est executando.

    4.5 COMO OPENCVFOI UTILIZADOPara o desenvolvimento do sistema foi utilizado o EmguCV, que uma plataforma em

    .Net para a biblioteca OpenCV. Ela permite que se invoquem as funes do OpenCV naslinguagens compatveis com .Net como C#, VB, VC++, etc. (EMGUCV, 2010) A escolhapela utilizao desta plataforma deu-se pela possibilidade de criao de uma interface grficaque fosse mais amigvel para a utilizao do sistema.

    4.6 FILTRAGEM DA IMAGEMA filtragem consiste em encontrar na imagem pontos que possuam colorao de pele.

    Como a tonalidade da pele varia de pessoa para pessoa e a luminosidade tambm influencianesta variao, esta filtragem faz uma busca dentro de um valor mnimo e mximo de cor,diminuindo as falhas por no identificao de pele.

    Para a filtragem so enviados para a funo: a imagem a ser analisada, a cor mnima ea cor mxima que devem ser consideradas vlidas. O retorno desta funo uma imagembinarizada, onde todos os pontos que foram considerados como possuindo cor de pele estopintados na cor branca. E todos os pontos que no foram considerados como tendo cor de pele

    na cor preta. Um exemplo desta filtragem pode ser visto na Figura 16.

    Figura 16 Exemplo de filtragem dos pontos de pele da imagem

    Para um melhor desempenho desta filtragem importante que o fundo no possuatonalidade de pele, seno o sistema passar a acusar praticamente a imagem inteira comopossuindo cor de pele.

  • 5/23/2018 2010-2-Jose Moacir de Souza Junior-monografia

    30/39

    30

    4.7 ANLISEAps encontrar os pontos que possuem cor de pele, o prximo processo encontrar

    um contorno na imagem. considerado um contorno o conjunto de pontos em que existe um

    alto contraste de cor. Se esta anlise for feita em uma imagem preto e branco torna-se fcil atarefa de identificar os contornos.

    Como possvel que outros pontos da imagem sejam identificados como possuindocor de pele, poder existir mais de um contorno na imagem. Para isto existe uma condio quefar com que o sistema somente v para o prximo passo se o contorno possuir uma reamaior que certo valor, caso contrrio o sistema considera como a no existncia de umaimagem vlida.

    Encontrando um contorno vlido, ser feita a identificao das falhas de convexidadeexistentes neste contorno. A parte de fora de um crculo pode ser considerada uma figuraconvexa. As falhas de convexidade so os pontos em que no fosse possvel formar esta

    figura de crculo. A Figura 17 destaca na cor branca o que deveria formar a figura circular, aslinhas na cor magenta representam o incio de uma falha de convexidade e as linhas verdesso o fim da falha de convexidade.

    Figura 17 Convexidade e falhas de convexidade

    Tendo a informao de quantas falhas de convexidade foram encontradas, e onde estolocalizadas, o procedimento seguinte o de anlise de cada uma das falhas. Esta prxima

    anlise consiste em fazer a medio de cada falha. Tendo em mente que cada dedo estariarepresentado por uma falha de convexidade, e que um dedo possui uma tamanho proporcionalao tamanho da mo, basta medir cada falha e comparar sua altura com a altura total docontorno que est sendo analisado.

    Para fazer a comparao do tamanho de cada falha de convexidade com o tamanhototal da figura, so utilizados 3 parmetros. O primeiro deles representa a altura total da figuraque est sendo analisada. O segundo parmetro o ponto em que se inicia a falha deconvexidade. O terceiro parmetro representa o ponto interno da falha de convexidade. Cadaum desses pontos pode ser visualizado na Figura 18.

  • 5/23/2018 2010-2-Jose Moacir de Souza Junior-monografia

    31/39

    31

    Figura 18 Pontos analisados para identificao dos dedos

    Os parmetros que foram citados acima so, respectivamente, representados peloretngulo branco, crculos vermelhos e crculos amarelos. Se cada um desses parmetros fornomeado como sendo a, be c, a frmula utilizada para identificar um dedo na imagem estdescrita na Figura 19.

    Figura 19 Frmula para identificar possveis dedos

    Esta frmula utilizada em cada uma das falhas de convexidade encontradas. Caso aexpresso seja vlida, ela uma forte candidata a ser um dedo. Para ser considerada um dedo,a falha ainda precisa se enquadrar em mais 2 afirmaes:

    1. O dedo precisa estar acima do centro da imagem;2. A ponta do dedo, ou seja, o incio da convexidade deve estar acima da base do

    dedo, ou seja, do meio da falha de convexidade.

    Na Figura 20, possvel ver um exemplo de imagem em que foram encontrados 5

    dedos. Cada um deles foi marcado com uma linha verde, que se inicia na base do dedo etermina na ponta do dedo.

  • 5/23/2018 2010-2-Jose Moacir de Souza Junior-monografia

    32/39

    32

    Figura 20 Exemplo de imagem com 5 dedos identificados

    Como citado anteriormente, depois de feita a contagem de dedos presentes na imageme no caso da identificao de apenas 1 dedo na imagem, o sistema consegue identificar qual a direo que a ponta do dedo est apontando. A tcnica utilizada a mesma utilizada pelonosso crebro para distinguir qual o lado que um dedo est apontando, bastando olhar qual olado que se encontra a base do dedo e qual lado se encontra a ponta do dedo. Para isto utilizada a posio X dos pontos que representam a ponta e a base do dedo.

  • 5/23/2018 2010-2-Jose Moacir de Souza Junior-monografia

    33/39

    5 TESTES E ANLISE DE RESULTADOSTodos os testes, para reconhecimento de gestos efetuados no sistema, foram feitos

    atravs da sada existente no prprio sistema. Os testes das sadas que o sistema envia foram

    efetuados utilizando o kitde robtica VEX. Os resultados obtidos na sada do prprio sistemaso totalmente satisfatrios. O sistema pode sofrer algumas variaes nos resultados quandose tem pouca luminosidade no ambiente ou quando se tem um fundo que possua umatonalidade de cor que se assemelhe com a cor da pele.

    Outro fator que influencia nos resultados obtidos a qualidade do equipamento decaptura de imagens, seja ela na qualidade de imagem ou na velocidade de captura dasimagens. A qualidade influencia na deteco correta do gesto e a velocidade de capturainfluencia na velocidade de reconhecimento do gesto e, consequentemente, na velocidade doenvio do comando para o equipamento eletrnico.

    Durante todos os testes realizados o sistema demonstrou muita velocidade no

    processamento das imagens, apresentando apenas duas falhas que esto relacionadas velocidade. A primeira delas a lentido do prprio equipamento de captura de imagens.Devido sua lentido o sistema parecia possuir um delay, demorando a fazer oreconhecimento dos gestos. A outra lentido ocorria aps o envio do comando para oequipamento eletrnico. Em alguns momentos o equipamento demorava a executar ocomando enviado.

    A demora aps enviar o comando pode estar sendo causada pelo prprio VEX ou pelosistema que responsvel pelo gerenciamento dos comandos na porta serial. Esta demora foio que motivou o desenvolvimento do mecanismo que possibilita, ao usurio, estabelecer umtempo de espera aps o envio do comando ao equipamento eletrnico. Antes dodesenvolvimento deste mecanismo, o equipamento eletrnico ficava com muitos comandosacumulados e, mesmo aps o fechamento do sistema de reconhecimento de gestos, continuavaexecutando os comandos atrasados.

    Ambos os problemas encontrados, na questo da lentido, esto fora dos domnios dosistema de reconhecimento de gestos, que se demonstrou muito eficiente na execuo das suastarefas. O sistema no exige o uso de um computador com grande poder de processamento,somente necessita de um equipamento que possui um custo monetrio relativamente baixoque o dispositivo de entrada de vdeo.

    Dos testes que foram realizados com o kitVEX, foram registrados alguns momentospara a comprovao do funcionamento do sistema. Para que seja possvel perceber amovimentao do kit VEX foi utilizada uma seta em marrom, que servir como ponto dereferncia do ponto de partida do equipamento. Na Figura 21, o kitVEX est na sua posio

  • 5/23/2018 2010-2-Jose Moacir de Souza Junior-monografia

    34/39

    34

    inicial. Esta ser a posio em que o equipamento estar antes de todos os comandos quesero enviados ao equipamento.

    Figura 21 Posio que o equipamento estar antes dos comandos

    A Figura 22 apresentar o gesto 1 dedo para cima, que foi executado no sistema, e omovimento executado pelo equipamento aps receber o comando respectivo ao gesto.

    Figura 22 Gesto 1 dedo para cima e comportamento dokitVEX

    A Figura 23 apresentar o gesto 2 dedos, que foi executado no sistema, e omovimento executado pelo equipamento aps receber o comando respectivo ao gesto.

  • 5/23/2018 2010-2-Jose Moacir de Souza Junior-monografia

    35/39

    35

    Figura 23 Gesto 2 dedos e comportamento dokitVEX

    A Figura 24 apresentar o gesto 1 dedo para direita, que foi executado no sistema, eo movimento executado pelo equipamento aps receber o comando respectivo ao gesto. Daperspectiva de quem olha a Figura 24, possvel perceber que o lado que o dedo estapontando para a esquerda, mas da perspectiva do usurio o dedo est apontando para adireita.

    Figura 24 Gesto 1 dedo para direita e comportamento dokitVEX

    A Figura 25 apresentar o gesto 1 dedo para esquerda, que foi executado no sistema,e o movimento executado pelo equipamento aps receber o comando respectivo ao gesto. Daperspectiva de quem olha a Figura 25, possvel perceber que o lado que o dedo estapontando para a direita, mas da perspectiva do usurio o dedo est apontando para aesquerda.

  • 5/23/2018 2010-2-Jose Moacir de Souza Junior-monografia

    36/39

    36

    Figura 25 Gesto 1 dedo para esquerda e comportamento dokitVEX

    Os gestos foram todos efetuados com a mo direita, mas no teria problema algum setivessem sido executados com a mo esquerda. Lembrando que antes da execuo de cadagesto o kitVEX foi reposicionado para a posio inicial.

  • 5/23/2018 2010-2-Jose Moacir de Souza Junior-monografia

    37/39

    6 CONCLUSOO sistema de reconhecimento de gestos foi desenvolvido com o objetivo de reduzir a

    utilizao de equipamentos como teclado, mouse e joystick para a movimentao de

    equipamentos eletrnicos. A proposta do trabalho foi o de desenvolver uma interface quecapturasse, e identificasse, gestos feitos com a mo e, aps a identificao do gesto, enviasseum comando para o equipamento eletrnico. Este objetivo foi alcanado com sucesso, sendoque consegue identificar at 8 gestos diferentes e envia os respectivos comandos para oequipamento eletrnico que estiver ligado a uma das portas seriais.

    O sistema ainda proporciona a facilidade de no utilizar todas as suas configuraes deforma fixa, permitindo ao usurio fazer alteraes em suas configuraes da maneira quemelhor lhe convir. Esta caracterstica traz um diferencial da interface de reconhecimento degestos para outros sistemas. Isto faz com que ela esteja mais prxima da realidade dosprogramas que esto no mercado. Independentemente da rea de atuao do software, eleprecisa se adaptar ou permitir sua adaptao realidade do usurio.

    Os resultados dos testes realizados para a identificao dos gestos so totalmentesatisfatrios, sendo que o sistema realiza o reconhecimento dos gestos de forma muito eficaz ecom grande desempenho. Porm os resultados obtidos nos testes realizados para as sadas decada comando no so to satisfatrios quanto os resultados do teste anterior. A lgicautilizada foi a de se enviar um comando ao equipamento, o mesmo execut-lo durante certotempo, parar e aguardar o prximo comando. Isto faz com que o equipamento fique andando eparando, causando uma certa aflio para quem est operando o sistema.

    O ideal seria que o sistema enviasse um comando em intervalos de tempo muitocurtos, e que o equipamento no parasse de executar o comando anterior enquanto o prximocomando no fosse diferente. Para que isto funcionasse, o sistema de reconhecimento degestos deveria ter 100%, ou muito prximo disso, de acerto na identificao dos gestosexecutados. Alm disso, no poderia haver atrasos entre o envio e recebimento dos comandos.Como estes dois problemas foram encontrados durante o desenvolvimento do sistema, optou-se por ter um equipamento que demore mais para terminar a tarefa desejada, mas que tenhasegurana na hora de executar os comandos.

    possvel citar algumas sugestes de melhorias do sistema de reconhecimento degestos. Elas so apresentadas a seguir:

    Reconhecimento de gestos mais complexos como, por exemplo, sequncia degestos que iro representar um gesto nico. Esta ideia vem da linguagem de libras,onde uma palavra representada por uma sequncia de movimentos.

  • 5/23/2018 2010-2-Jose Moacir de Souza Junior-monografia

    38/39

    38

    Criar uma interface de hardwarepara a interface de reconhecimento de gestos quepossibilite a comunicao entre o computador e o equipamento eletrnico, sem autilizao de fios.

    Fazer o reconhecimento de movimentos de outras partes do corpo alm das moscomo, por exemplo, a movimentao do brao inteiro. Este desenvolvimentopossibilitaria a utilizao da interface com equipamentos eletrnicos quepossussem movimentos mais complexos como, por exemplo, braos robticos.

    Efetuar a calibragem da cor da pele a partir de imagens capturadas pelo prprioequipamento de captura de imagens. Este recurso diminuiria algumas falhas naidentificao da cor de pele.

  • 5/23/2018 2010-2-Jose Moacir de Souza Junior-monografia

    39/39

    REFERNCIASBRADSKI, Gary; KAEHLER, Adrian. Learning OpenCV: Computer Vision with theOpenCV Library. Sebastopol: OReilly, 2008. 555 p.

    EMGUCV: OpenCV in .Net. [S.l.]: [s.n.], 2010. Disponvel em:. Acesso em: 28 out. 2010.

    MICROCHIP: MPLAB Integrated Development Environment. [S.l.]: [s.n.], 2010a.Disponvel em:. Acesso em: 28 out. 2010.

    MICROCHIP: MPLAB C Compiler for PIC18 MCUs. [S.l.]: [s.n.], 2010b. Disponvel em:. Acesso em: 28 out. 2010.

    OPENCV 2.1 C Reference. [S.l.]: [s.n.], 2010. Disponvel em:

    . Acesso em: 28 out. 2010.PREECE, Jennifer; ROGERS, Yvonne; SHARP, Helen. Design de interao: alm dainterao homem-computador. So Paulo: Bookman, 2005. 348 p.

    VEX Robotics Design System. [S.l.]: [s.n.], 2010. Disponvel em:. Acesso em: 28 out. 2010.

    VEX Robotics Design System. [S.l.]: [s.n.], 2010. Disponvel em:. Acesso em: 28 out. 2010.

    WPILIB: Simplified Robot Controller Programming. [S.l.]: [s.n.], 2010. Disponvel em:. Acesso em: 28 out. 2010.

    XBOX Kinect. [S.l.]: Microsoft Corporation, 2010. Disponvel em:. Acesso em: 28 out. 2010