+ All Categories
Home > Documents > Deivite Guimar˜aes, Fagner Pimentel, Fl avio Sapucaia...

Deivite Guimar˜aes, Fagner Pimentel, Fl avio Sapucaia...

Date post: 18-Apr-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
4
Bahia-RT@Home 2014 Team Description Paper Deivite Guimar˜ aes, Fagner Pimentel, Fl´ avio Sapucaia, Leone Jesus, Ivan Santos e Josemar Rodrigues de Souza Abstract— This document is a description of the Bahia- RT@Home, a team created since 2013 in an effort to build robots focusing on the Human-Machine interaction and co- operation, navigation and mapping in dynamic environments, objects and face recognition in natural lighting conditions, artificial intelligence, systems integration and standardizing, although not being limited to these areas. Our robots follow RoboCup@Home application guidelines in Assistive Robotics. The team is originated from the Bahia Robotics Team which represents the Universidade do Estado da Bahia(UNEB), Bahia State University, in robotics competitions. The paper describes the Controling Environment and the mechanical and electrical design of our robot Tricinctus, as well as our approach to facial and speech recognition, speech synthesis, object perception. I. INTRODUC ¸ ˜ AO A Universidade do Estado da Bahia (UNEB) ´ e repre- sentada pela equipe Bahia Robotics Team (BRT) [1] nas competic ¸˜ oes de rob´ otica. Em 2013 o BRT iniciou o desen- volvimento de um novo time denominado Bahia-RT@Home. Os robˆ os elaborados seguem a linha de aplicac ¸˜ oes da RoboCup@Home [2], onde um conjunto de testes de bench- mark ´ e utilizado para avaliar a capacidade e o desempenho dos robˆ os em um ambiente dom´ estico n˜ ao padronizado e re- alista. Assim, os trabalhos gerados tˆ em foco nos dom´ ınios de interac ¸˜ ao e cooperac ¸˜ ao Humano-Robˆ o, navegac ¸˜ ao e mapea- mento em ambientes dinˆ amicos, reconhecimento de objetos e faces em condic ¸˜ oes naturais de luminosidade, inteligˆ encia artificial, padronizac ¸˜ ao e integrac ¸˜ ao de sistemas, mas n˜ ao se limitando a estas ´ areas. II. PROJETO EL ´ ETRICO E MEC ˆ ANICO Nosso robˆ o Tricinctus (Figura 1) foi constru´ ıdo com a finalidade de garantir o seu desempenho em ambiente desconhecidos e desestruturados, considerando o ˆ ambito dom´ esticos. Para tanto, sua construc ¸˜ ao foi realizada por interm´ edio da confecc ¸˜ ao de odulos de alum´ ınio, que acoplados comp˜ oem a sua estrutura principal, corroborando para a diminuic ¸˜ ao significativa do seu peso (obtendo uma media de 7,197 Kg), e reduzindo o custo agregado ao projeto. Sua estrutura ´ e constitu´ ıda por quatro motores 12V DC 83RPM W/Encoder, que proporciona uma resoluc ¸˜ ao de 16 contagens por cada rotac ¸˜ ao do eixo do motor, e um torque nominal de 3Kg*cm. Cada par de motores ´ e controlado individualmente por interm´ edio de um modulo ponte H L298N. Sendo todo controle do circuito logico de baixo n´ ıvel gerenciado por um Arduino Mega 2560 Rev3 (Figura 2). III. AMBIENTE DE CONTROLE O ambiente de controle autˆ onomo do nosso robˆ o utiliza o processo de comunicac ¸˜ ao e infraestrutura do m´ odulo de Fig. 1. Vis˜ ao frontal do Robˆ o Tricinctus arquitetura provido pelo Robot Operating System (ROS) [3]. O ROS ´ e uma framework para escrita de software para robˆ os, sendo composta por uma colec ¸˜ ao de ferramentas, bibliotecas e convenc ¸˜ oes que visam simplificar o desenvolvimento de comportamentos complexos e robustos para robˆ os. Na arquitetura desenvolvida para o nosso robˆ o (Figura 3), Brain ´ e o principal m´ odulo de controle do sistema, sendo respons´ avel por filtrar as informac ¸˜ oes provenientes do odulo Voice, detalhado no cap´ ıtulo V. Este m ´ odulo tamb´ em atua como um gatilho para o acionamento de uma das tarefas, dentre todas poss´ ıveis de serem realizadas. O m´ odulo Arduino ´ e utilizado no gerenciamento e controle do Tricinc- tus, interpretando os comandos relativos a movimentac ¸˜ ao e navegac ¸˜ ao para o nosso sistema de hardware. IV. PERCEPC ¸˜ AO VISUAL ameras RGB-D est˜ ao cada vez mais eficientes e acess´ ıveis, esses dispositivos ao capazes de fornecer informac ¸˜ oes relativas a cor e a profundidade de cada pixel. O kinect ´ e um exemplo de sensor RGB-D, constru´ ıdo pela Microsoft em conjunto com a Prime Sense [4] [5], essen- cialmente desenvolvido para utilizac ¸˜ ao com o Xbox 360. A tecnologia de sensoriamento PrimeSense 3D permite aos dispositivos digitais a capacidade de observar uma cena em trˆ es dimens˜ oes. As observac ¸˜ oes s˜ ao traduzidas em um fluxo de imagem sincronizado (profundidade e cor). Ent˜ ao, as imagens sincronizadas s˜ ao convertidas em informac ¸˜ ao.
Transcript
Page 1: Deivite Guimar˜aes, Fagner Pimentel, Fl avio Sapucaia ...sistemaolimpo.org/midias/uploads/0c5fd2812917335b... · divididas em blocos, e para cada bloco ´e computado o his-tograma

Bahia-RT@Home 2014 Team Description Paper

Deivite Guimaraes, Fagner Pimentel, Flavio Sapucaia, Leone Jesus, Ivan Santos e Josemar Rodrigues de Souza

Abstract— This document is a description of the Bahia-RT@Home, a team created since 2013 in an effort to buildrobots focusing on the Human-Machine interaction and co-operation, navigation and mapping in dynamic environments,objects and face recognition in natural lighting conditions,artificial intelligence, systems integration and standardizing,although not being limited to these areas. Our robots followRoboCup@Home application guidelines in Assistive Robotics.The team is originated from the Bahia Robotics Team whichrepresents the Universidade do Estado da Bahia(UNEB), BahiaState University, in robotics competitions. The paper describesthe Controling Environment and the mechanical and electricaldesign of our robot Tricinctus, as well as our approach to facialand speech recognition, speech synthesis, object perception.

I. INTRODUCAOA Universidade do Estado da Bahia (UNEB) e repre-

sentada pela equipe Bahia Robotics Team (BRT) [1] nascompeticoes de robotica. Em 2013 o BRT iniciou o desen-volvimento de um novo time denominado [email protected] robos elaborados seguem a linha de aplicacoes daRoboCup@Home [2], onde um conjunto de testes de bench-mark e utilizado para avaliar a capacidade e o desempenhodos robos em um ambiente domestico nao padronizado e re-alista. Assim, os trabalhos gerados tem foco nos domınios deinteracao e cooperacao Humano-Robo, navegacao e mapea-mento em ambientes dinamicos, reconhecimento de objetose faces em condicoes naturais de luminosidade, inteligenciaartificial, padronizacao e integracao de sistemas, mas nao selimitando a estas areas.

II. PROJETO ELETRICO E MECANICO

Nosso robo Tricinctus (Figura 1) foi construıdo coma finalidade de garantir o seu desempenho em ambientedesconhecidos e desestruturados, considerando o ambitodomesticos. Para tanto, sua construcao foi realizada porintermedio da confeccao de modulos de alumınio, queacoplados compoem a sua estrutura principal, corroborandopara a diminuicao significativa do seu peso (obtendo umamedia de 7,197 Kg), e reduzindo o custo agregado ao projeto.

Sua estrutura e constituıda por quatro motores 12V DC83RPM W/Encoder, que proporciona uma resolucao de 16contagens por cada rotacao do eixo do motor, e um torquenominal de 3Kg*cm. Cada par de motores e controladoindividualmente por intermedio de um modulo ponte HL298N. Sendo todo controle do circuito logico de baixo nıvelgerenciado por um Arduino Mega 2560 Rev3 (Figura 2).

III. AMBIENTE DE CONTROLE

O ambiente de controle autonomo do nosso robo utilizao processo de comunicacao e infraestrutura do modulo de

Fig. 1. Visao frontal do Robo Tricinctus

arquitetura provido pelo Robot Operating System (ROS) [3].O ROS e uma framework para escrita de software para robos,sendo composta por uma colecao de ferramentas, bibliotecase convencoes que visam simplificar o desenvolvimento decomportamentos complexos e robustos para robos.

Na arquitetura desenvolvida para o nosso robo (Figura3), Brain e o principal modulo de controle do sistema,sendo responsavel por filtrar as informacoes provenientes domodulo Voice, detalhado no capıtulo V. Este modulo tambematua como um gatilho para o acionamento de uma dastarefas, dentre todas possıveis de serem realizadas. O moduloArduino e utilizado no gerenciamento e controle do Tricinc-tus, interpretando os comandos relativos a movimentacao enavegacao para o nosso sistema de hardware.

IV. PERCEPCAO VISUAL

Cameras RGB-D estao cada vez mais eficientes eacessıveis, esses dispositivos sao capazes de fornecerinformacoes relativas a cor e a profundidade de cada pixel.O kinect e um exemplo de sensor RGB-D, construıdo pelaMicrosoft em conjunto com a Prime Sense [4] [5], essen-cialmente desenvolvido para utilizacao com o Xbox 360.A tecnologia de sensoriamento PrimeSense 3D permite aosdispositivos digitais a capacidade de observar uma cena emtres dimensoes. As observacoes sao traduzidas em um fluxode imagem sincronizado (profundidade e cor). Entao, asimagens sincronizadas sao convertidas em informacao.

Page 2: Deivite Guimar˜aes, Fagner Pimentel, Fl avio Sapucaia ...sistemaolimpo.org/midias/uploads/0c5fd2812917335b... · divididas em blocos, e para cada bloco ´e computado o his-tograma

Fig. 2. Visao de cima do Robo Tricinctus

A. Tracker

O Tricinctus utiliza o kinect como sensor no processode rastreamento de pessoas enquanto essas se encontramem deslocamento pelo ambiente. Com esse objetivo, nosutilizamos o trabalho proposto por Murphy and Corke [6],o qual apresenta uma ferramenta de codigo aberto capazde seguir um humano. Na implementacao do nosso roboe utilizado o modulo de deteccao de torso extraıdo daferramenta, e a informacao de saıda e entao processada pelomodulo Safety Path, descrito no capıtulo III. E construıdauma representacao da trajetoria em tempo real enquanto orobo detecta, rastreia e segue fisicamente uma determinadapessoa.

B. Percepcao de Objetos

Nesta etapa o Robo deve ser capaz de segmentar eclassificar objetos utilizando as informacoes de profundidade(Figura 4a) e cor (Figura 4b) retiradas do sensor RGB-D previamente descrito. A partir das informacoes de pro-fundidade e realizada a segmentacao de todos os objetosexistentes na imagem, onde cada pixel seria agrupados emfuncao de sua conectividade e profundidade em relacao aospixels vizinhos. Para realizar este processo o sensor deveestar a uma distancia de no minimo 50 centımetros.

Em seguida, cada objeto segmentado pode ser classificadocomo um dos objetos alvo, baseado em um modelo declassificador previamente treinado. E realizada uma etapade preprocessamento onde objetos muito afastados e objetosmuito proximos a camera sao removidos, reduzindo assim oespaco de busca dos objetos alvos.

Fig. 3. Arquitetura do robo Tricinctus

O classificador utilizado neste processo e o SVM [7]. OSVM (do ingles, Support Vector Machine) e um classificadorque tambem pode fazer regressao. Segundo Cortes e Vapnik[7],o SVM implementa a seguinte ideia: um vetor de en-trada e mapeado nao linearmente para um espaco de variasdimensoes de caracterısticas. Neste espaco, um hiperplano dedecisao linear e construıdo. O algoritmo aprende separandohiperplanos que maximamente separam as classes de grandesdimensoes. Para o treinamento deste classificador e passadoum conjunto de exemplos pertencentes a classes distintas.Este treinamento constroi um modelo SVM que representaos exemplos como pontos no espaco, mapeados de formaque sejam claramente separados por um hiperplano em umespaco multidimensional. Novos exemplos sao mapeadosno mesmo espaco do modelo e definidos de qual classepertencem baseados no seu posicionamento em relacao aohiperplano.

Para a utilizacao do SVM, um dataset de objetos alvosdeve ser previamente preparado. Sao utilizadas entre 300a 500 imagens contendo os objetos alvos para criacao do

Page 3: Deivite Guimar˜aes, Fagner Pimentel, Fl avio Sapucaia ...sistemaolimpo.org/midias/uploads/0c5fd2812917335b... · divididas em blocos, e para cada bloco ´e computado o his-tograma

(a) Informacoes de cor (b) Informacoes de profundidade’

Fig. 4. Informacoes do sensor RGB-D

dataset. Para o treinamento do classificador, cada objeto seg-mentado nas imagens utilizadas sao marcados manualmentecomo sendo um dos objetos alvo ou nao. Esta marcacao epassada juntamente com um vetor de caracterısticas refer-ente a cada objeto para o classificador. As caracterısticasutilizadas sao a forma utilizando Histograma de gradientesorientados (HOG, do inges textitHistogram of Oriented Gra-dients) [8] e Cor utilizando o espaco de cor LAB [9].

A ideia do HOG e que a forma dos objetos pode ser car-acterizada pela direcao e intensidade dos gradientes em umaimagem. Esse metodo e implementado atraves da divisaoda imagem em pequenas regioes (celulas). As celulas saodivididas em blocos, e para cada bloco e computado o his-tograma de gradientes orientados sobre os pixels das celulas[8], cada componente do histograma e a representacao deuma caracterıstica a ser passada para o classificador.

O espaco de cores LAB e um espaco subtrativo, coma dimensao L representando a luminosidade sendo A eB representacoes das cores. O LAB e o espaco de coresmais completo especificado pela Comissao Internacionalde Iluminacao. Ao contrario do modelo RGB, o LAB foiconcebido para se aproximar da visao humana [9]. Assimcomo no HOG, tambem sao utilizados histogramas ondecada componente sao caracterısticas do LAB passadas parao classificador.

Finalmente, com o classificador treinado, e gerado ummodelo de classificacao que e utilizado pelo robo para classi-ficar automaticamente novos exemplos de objetos. O mesmoprocesso de segmentacao utilizado na etapa de treinamentodo classificador e utilizado nesta etapa.

C. Reconhecimento Facial

O modulo da percepcao responsavel pelo reconhec-imento facial foi elaborada de forma a permitir umainteracao homem-maquina, tornando possıvel executar ativi-dades como tracking de uma pessoa em especıfico (Figura5).

Para possibilitar a identificacao de uma pessoa presente emuma imagem, e preciso executar uma sequencia de passosque, quando realizadas com sucesso, permitem alcancar adifıcil tarefa de reconhecer faces. Seguindo de forma basica,o primeiro passo e localizar onde esta a face em uma imageme destaca-la desta. Esta fase e realizada pelo metodo HaarCascade, que se baseia em um algoritmo de classificacao emcascada descrito por Viola[10].

O algoritmo Haar Cascade Classifiers percorre uma im-agem a partir do pixel (0,0) atraves de sub-janelas, passandoem cada regiao da imagem utilizando um classificador. Eassim segue linha por linha, crescendo no eixo X e Y,repetindo-se sempre que termina uma busca e recomecaaumentando a escala da sub-janela ate que esta esteja dotamanho da imagem total [11]. Todas as sub-janelas passampor diversos classificadores. Apenas aquelas onde sao obti-dos resultados positivos desde uma analise do classificador,permanecendo positiva durante ate o fim das varreduras saoconsideradas faces. Se em qualquer etapa da deteccao ateo final da cascata, uma janela for rejeitada, o classificadorentende que ali nao ha uma face. Este algoritmo sera usadopara determinar a presenca de uma face na imagem e, quandoencontrar, executara sua separacao do resto da imagem.

Com esta separada, a imagem e normalizada para adquiriras mesmas caracterısticas das imagens presentes no bancode imagens, ou seja, esta e redimensionada e descolorida.Alem disso, neste projeto, a imagem da face e submetidaa um metodo de processamento de imagem, combinandoa Equalizacao de Histograma com o Filtro Gaussiano[12],a fim de influenciar de forma positiva os resultados prove-nientes da fase de reconhecimento.

Desta forma, no proximo passo, e feita a comparacao comas faces existentes no banco de imagens a fim de identificar aqual pessoa pertence cada face (Figura 7), extraindo atributosfaciais que possam ser usados a fim de diferenciar as diversasfaces do banco, como distancia entre olhos, nariz, boca, ououtras caracterısticas relevantes para o metodo. Neste projeto,estes atributos nao sao analisados de forma distinta, pois serautilizado o algoritmo de reconhecimento facial Fisherfaces,que leva em consideracao a representacao facial por completapara obter as informacoes necessarias, tanto na analise daimagem capturada, como no treino das imagens do banco.

Ao final e efetuada a identificacao, onde as imagens dobanco de faces serao comparadas com imagem da face a serreconhecida. Para isso o Fisherfaces cria uma representacaode baixo nıvel da face, resultante da analise discriminantelinear, sobre a projecao da imagem no sub-espaco de imagenscriado com a analise dos componentes principais(PCA) [13][14]. Como resultado desta comparacao, o metodo retornaum numero que representa distancia euclidiana entre arepresentacao de baixo nıvel da imagem capturada e da maisparecida com ela no banco, e um numero que representa estaimagem associada.

Fig. 5. Reconhecimento facial em varios angulos

V. RECONHECIMENTO E S INTESE DE VOZ

A voz e uma forma de interacao homem maquina usadapara dar comandos para o robo de uma forma mais natural,

Page 4: Deivite Guimar˜aes, Fagner Pimentel, Fl avio Sapucaia ...sistemaolimpo.org/midias/uploads/0c5fd2812917335b... · divididas em blocos, e para cada bloco ´e computado o his-tograma

Fig. 6. Reconhecimento de varias faces

seja atraves de comandos especıficos ou linguagem natural.Para o reconhecimento, e utilizado o CMU Sphinx [15], emparticular o modulo denominado pocketsphinx, que apresentamaior flexibilidade para a adaptacao e personalizacao, per-mitindo adequar o dicionario e modelos acusticos ao contextodo problema. O pocketsphinx usa uma abordagem estatısticabaseada em modelos ocultos de Markov (HMMs)[16], e suaarquitetura e definida em 5 modulos: Front-end, dicionariofonetico, modelo acustico, modelo de linguagem e decodifi-cador.

Fig. 7. Arquitetura basica do pocketsphinx [17]

No processo de sintetizacao, e utilizado o Festival, umsoftware que nos permite alterar as diversas nuances davoz, como timbre, velocidade de fala entre outros, afim degarantir um melhor entendimento por parte do ouvinte, nospermitindo gerar uma experiencia de interacao melhor.

VI. CONCLUSAO

A equipe BRT tem colaborado de diversas formas coma comunidade academica e cientıfica, alem das conquistasde premios de robotica em varias modalidades. Para darcontinuidade a esta contribuicao, o time Bahia-RT@Homefoi desenvolvido, tendo pouco mais de um ano de existencia,que ja conquistou o primeiro lugar na modalidade Openda liga @Home na Competicao Brasileira de Robotica de2013. Com o proposito de alcancar novos objetivos, o roboTricinctus foi desenvolvido pelo time, com funcionalidadesque integram varias abordagens para percepcao, controle einteracao Homem-maquina. Atraves dos comandos de voz, oTricinctus executa diversas funcoes, como o traking, possıvel

devido a sua arquitetura movel e seus modulos de percepcao.Atraves da percepcao tambem sera possıvel realizar outrastarefas utilizando sua capacidade de reconhecer faces, recon-hecer pessoas pelo seu entorno, reconhecer objetos e demaisfuncoes provenientes de sua arquitetura.

REFERENCES

[1] ACSO, “Acso - brt,” Retrieved March 20, 2014, fromwww.acso.uneb.br/brt/, 2014.

[2] RoboCup@Home, “Robocup@home,” Retrieved April 05, 2014, fromhttp://www.robocupathome.org/, 2014.

[3] M. Quigley, K. Conley, B. P. Gerkey, J. Faust, T. Foote, J. Leibs,R. Wheeler, and A. Y. Ng, “Ros: an open-source robot operatingsystem,” in ICRA Workshop on Open Source Software, 2009.

[4] Microsoft, “Kinect for windows,” Retrieved April19, 2014, from http://www.microsoft.com/en-us/kinectforwindows/discover/gallery.aspx, 2014.

[5] PrimeSense, “Primesense,” Retrieved April 19, 2014, fromhttp://www.primesense.com/, 2014.

[6] L. Murphy and P. Corke, “Stalkerbot: Learning to navigate dy-namic human environments by following people,” in Proceedings ofthe Australasian Conference on Robotics and Automation (ACRA),Wellington, NZ, Dec 2012.

[7] C. Cortes and V. Vapnik, “Support-vector networks,” Machine learn-ing, vol. 20, no. 3, pp. 273–297, 1995.

[8] N. Dalal and W. Triggs, “Histograms of Oriented Gradients for HumanDetection,” 2005 IEEE Computer Society Conference on ComputerVision and Pattern Recognition CVPR05, vol. 1, no. 3, pp. 886–893,2004.

[9] (2014, Jun.) Lab color space. [Online]. Available:http://en.wikipedia.org/wiki/Lab color space

[10] P. VIOLA and M. JONES, “Rapid object detection using a boostedcascade of simple features,” Computer Vision and Pattern Recognition.Proceedings of the 2001 IEEE Computer Society Conference, vol. 1,pp. I–511 – I–518, 2001.

[11] P. I. WILSON and J. FERNANDEZ, “Facial feature detection usinghaar classifiers,” J. Comput.Sci. Coll., vol. 21, p. 127–133, 2006.

[12] P. T. PONTES, “Visage - impacto dos filtros de abstracao no re-conhecimento facial em imagens,” Master’s thesis, FACULDADE DEENGENHARIA DA UNIVERSIDADE DO PORTO, Portugal, 2013.

[13] R. Q. FEITOSA, C. E. THOMAZ, and A. VEIGA, “Comparing theperformance of the discriminant analysis and rbf neural network forface recognition,” International Conference on Information SystemsAnalysis and Synthesis, 1999.

[14] J. F. PEREIRA, “Estrategia para reconhecer faces baseado em analisede componentes principais,” Master’s thesis, Universidade Federal dePernambuco, Recife, 2008.

[15] D. Huggins-Daines, “Pocketsphinx api documentation,” 2010.[16] X. Huang, A. Acero, H.-W. Hon et al., Spoken language processing.

Prentice Hall Englewood Cliffs, 2001, vol. 18.[17] R. Oliveira, P. Batista, N. Neto, and A. Klautau, “Recursos para

desenvolvimento de aplicativos com suporte a reconhecimento de vozpara desktop e sistemas embarcados,” 12o Forum Internacional deSoftware Livre, 2011.


Recommended