XIII Simp osio Brasileiro de Automac a~o Inteligente Porto ... · detecc˘ao e identificac˘~ ao de...

6
DETEC ¸ C ˜ AO E IDENTIFICA ¸ C ˜ AO DE PESSOAS UTILIZANDO REDES NEURAIS CONVOLUCIONAIS INTEGRADA A UM SISTEMA DE LOCALIZA¸ C ˜ AO E MAPEAMENTO SIMULT ˆ ANEO PARA UM ROB ˆ O AUT ˆ ONOMO M ´ OVEL Alberto Torres Angonese, Paulo Fernando Ferreira Rosa * * Instituto Militar de Engenharia c General Tib´ urcio, 80 Rio de Janeiro, RJ, Brasil Email: [email protected], [email protected] Abstract— This paper presents the integration of a multiple people detection and identification system with a simultaneous localization and mapping system for an autonomous robotic platform. This integration allows the exploration and navigation of the robot considering people identification. The robotic platform consists of a Pioneer 3DX robot equipped with an RGBD camera, a Sick Lms200 sensor laser and a computer using the robot operating system (ROS). The idea is to integrate the people detection and identification system to the simultaneous localization and mapping (SLAM) system of the robot using ROS. The people detection and identification system is performed in two steps. The first one is for detecting multiple people on scene and the other one is for an individual person identification. Both steps are implemented as ROS nodes that works integrated with the SLAM ROS node. The multiple people detection’s node uses a manual feature extraction technique based on HOG (Histogram of Oriented Gradients) detectors, implemented using the PCL library (Point Cloud Library) in C ++. The person’s identification node is based on a Deep Convolutional Neural Network (CNN) that are implemented using the MatLab MatConvNet library. This step receives the detected people centroid from the previous step and performs the classification of a specific person. After that, the desired person centroid is send to the SLAM node, that consider it during the mapping process. Tests were made objecting the evaluation of accurateness in the people’s detection and identification process. It allowed us to evaluate the people detection system during the navigation and exploration of the robot, considering the real time interaction in a semi-structured environment. Keywords— People Detection, Convolutional Neural Network (CNN), Simultaneous Localization and Map- ping (SLAM), Robot Operating System (ROS). Resumo— Este artigo apresenta a integra¸c˜ ao de um sistema de detec¸ c˜aoeidentifica¸c˜aodem´ ultiplas pessoas com um sistema de localiza¸c˜ao e mapeamento simultˆaneo para uma plataforma rob´ otica autˆ onoma. Esta integra- ¸c˜ aopermiteaexplora¸c˜aoenavega¸c˜ ao do robˆo, considerando a identifica¸ c˜ao das pessoas. A plataforma rob´ otica ´ e composta por um robˆ o Pioneer 3DX equipado com uma cˆamera RGBD, um sensor laser Sick Lms200 e um computador usando o sistema operacional rob´otico (ROS). A ideia ´ e integrar o sistema de detec¸c˜ ao e identifi- ca¸c˜ao de pessoas ao sistema de localiza¸c˜ ao e mapeamento simultˆaneo (SLAM) do robˆ o usando ROS. O sistema dedetec¸c˜ ao e identifica¸c˜ao de pessoas ´ e realizado em duas etapas. A primeira detecta v´arias pessoas em cena e a segunda realiza a identifica¸c˜ao de pessoa espec´ ıfica. Ambas as etapas s˜ao implementadas como n´os ROS que trabalham integrados com o n´o SLAM ROS. O n´o de detec¸c˜ ao de m´ ultiplas pessoas usa uma t´ ecnica de extra¸ c˜ao de caracter´ ısticas manual, baseada em detectores HOG (Histograma de Gradientes Orientados), implementada usando a biblioteca PCL (Point Cloud Library) em C ++. O n´ o de identifica¸c˜ ao da pessoa ´ e baseado em uma Rede Neural Convolucional Profunda (CNN) que ´ e implementada usando a biblioteca MatLab MatConvNet. Esta etapa, recebe os centroides das pessoas detectadas na etapa anterior e executa a classifica¸ c˜ao de uma pessoa espec´ ıfica. Depois disso, o centroide da pessoa desejada ´ e enviado para o n´o SLAM, que o considera durante o processo de mapeamento. Testes foram feitos objetivando a avalia¸c˜ ao da acur´acia no processo de identifica¸ c˜ao edetec¸c˜aodepessoas. Com isso, foi poss´ ıvel validar o sistema de detec¸c˜ ao de pessoas durante a navega¸c˜ao e explora¸c˜aodorobˆo,considerandoaintera¸c˜ ao em tempo real em um ambiente semi-estruturado. Palavras-chave— Detec¸c˜ ao de Pessoas, Redes Neurais Convolucionais (CNN), Localiza¸c˜ ao e Mapeamento Simultˆ aneo (SLAM), Sistema Operacional Rob´otico (ROS). 1 Introdu¸c˜ ao Aintera¸c˜ ao humano robˆ e uma realidade pre- sente nos dias atuais. Para executar tarefas como busca e salvamento, inspe¸c˜ ao em desastres urba- nos, situa¸ oes de sequestro, servi¸cos dom´ esticos ou assistˆ encia ` a idosos ´ e esperado que um robˆ o autˆ o- nomo seja capaz de localizar-se enquanto explora o ambiente. Esta habilidade caracteriza a ´ area de pesquisa conhecida como SLAM (Simultaneous Localization and Mapping). Para essas aplica¸c˜ oes, ´ e interessante que o robˆ o considere a detec¸c˜ ao e identifica¸ ao de pessoas ao explorar, mapear e se localizar em um ambiente dinˆ amico e, assim, mo- dificar suas tomadas de decis˜ ao com base nessa detec¸c˜ ao. Este artigo apresenta um m´ etodo de detec¸c˜ ao e identifica¸c˜ ao de pessoas que ´ e execu- tado simultaneamente com um m´ etodo SLAM, j´ a implementado e apresentado em trabalho anterior (Silveira Vidal et al., 2015). A detec¸ ao de pessoas tem sido o foco da pes- quisa por um longo tempo. Apesar dos resulta- dos impressionantes alcan¸ cados por uma ampla gama de t´ ecnicas, ainda apresentam-se muitos de- safios a serem superados, especialmente conside- rando sua aplica¸c˜ ao em rob´ otica m´ ovel autˆ onoma. Em (Munaro and Menegatti, 2014), os autores apresentam uma metodologia para detec¸ ao e ras- XIII Simp´osio Brasileiro de Automa¸ ao Inteligente Porto Alegre – RS, 1 o – 4 de Outubro de 2017 ISSN 2175 8905 1333

Transcript of XIII Simp osio Brasileiro de Automac a~o Inteligente Porto ... · detecc˘ao e identificac˘~ ao de...

Page 1: XIII Simp osio Brasileiro de Automac a~o Inteligente Porto ... · detecc˘ao e identificac˘~ ao de pessoas utilizando redes neurais~ convolucionais integrada a um sistema de localizac˘ao

DETECCAO E IDENTIFICACAO DE PESSOAS UTILIZANDO REDES NEURAISCONVOLUCIONAIS INTEGRADA A UM SISTEMA DE LOCALIZACAO EMAPEAMENTO SIMULTANEO PARA UM ROBO AUTONOMO MOVEL

Alberto Torres Angonese, Paulo Fernando Ferreira Rosa∗

∗Instituto Militar de EngenhariaPc General Tiburcio, 80

Rio de Janeiro, RJ, Brasil

Email: [email protected], [email protected]

Abstract— This paper presents the integration of a multiple people detection and identification system witha simultaneous localization and mapping system for an autonomous robotic platform. This integration allowsthe exploration and navigation of the robot considering people identification. The robotic platform consistsof a Pioneer 3DX robot equipped with an RGBD camera, a Sick Lms200 sensor laser and a computer usingthe robot operating system (ROS). The idea is to integrate the people detection and identification system tothe simultaneous localization and mapping (SLAM) system of the robot using ROS. The people detection andidentification system is performed in two steps. The first one is for detecting multiple people on scene andthe other one is for an individual person identification. Both steps are implemented as ROS nodes that worksintegrated with the SLAM ROS node. The multiple people detection’s node uses a manual feature extractiontechnique based on HOG (Histogram of Oriented Gradients) detectors, implemented using the PCL library (PointCloud Library) in C ++. The person’s identification node is based on a Deep Convolutional Neural Network(CNN) that are implemented using the MatLab MatConvNet library. This step receives the detected peoplecentroid from the previous step and performs the classification of a specific person. After that, the desired personcentroid is send to the SLAM node, that consider it during the mapping process. Tests were made objectingthe evaluation of accurateness in the people’s detection and identification process. It allowed us to evaluate thepeople detection system during the navigation and exploration of the robot, considering the real time interactionin a semi-structured environment.

Keywords— People Detection, Convolutional Neural Network (CNN), Simultaneous Localization and Map-ping (SLAM), Robot Operating System (ROS).

Resumo— Este artigo apresenta a integracao de um sistema de deteccao e identificacao de multiplas pessoascom um sistema de localizacao e mapeamento simultaneo para uma plataforma robotica autonoma. Esta integra-cao permite a exploracao e navegacao do robo, considerando a identificacao das pessoas. A plataforma roboticae composta por um robo Pioneer 3DX equipado com uma camera RGBD, um sensor laser Sick Lms200 e umcomputador usando o sistema operacional robotico (ROS). A ideia e integrar o sistema de deteccao e identifi-cacao de pessoas ao sistema de localizacao e mapeamento simultaneo (SLAM) do robo usando ROS. O sistemade deteccao e identificacao de pessoas e realizado em duas etapas. A primeira detecta varias pessoas em cena ea segunda realiza a identificacao de pessoa especıfica. Ambas as etapas sao implementadas como nos ROS quetrabalham integrados com o no SLAM ROS. O no de deteccao de multiplas pessoas usa uma tecnica de extracaode caracterısticas manual, baseada em detectores HOG (Histograma de Gradientes Orientados), implementadausando a biblioteca PCL (Point Cloud Library) em C ++. O no de identificacao da pessoa e baseado em umaRede Neural Convolucional Profunda (CNN) que e implementada usando a biblioteca MatLab MatConvNet.Esta etapa, recebe os centroides das pessoas detectadas na etapa anterior e executa a classificacao de uma pessoaespecıfica. Depois disso, o centroide da pessoa desejada e enviado para o no SLAM, que o considera durante oprocesso de mapeamento. Testes foram feitos objetivando a avaliacao da acuracia no processo de identificacaoe deteccao de pessoas. Com isso, foi possıvel validar o sistema de deteccao de pessoas durante a navegacao eexploracao do robo, considerando a interacao em tempo real em um ambiente semi-estruturado.

Palavras-chave— Deteccao de Pessoas, Redes Neurais Convolucionais (CNN), Localizacao e MapeamentoSimultaneo (SLAM), Sistema Operacional Robotico (ROS).

1 Introducao

A interacao humano robo e uma realidade pre-sente nos dias atuais. Para executar tarefas comobusca e salvamento, inspecao em desastres urba-nos, situacoes de sequestro, servicos domesticos ouassistencia a idosos e esperado que um robo auto-nomo seja capaz de localizar-se enquanto explorao ambiente. Esta habilidade caracteriza a areade pesquisa conhecida como SLAM (SimultaneousLocalization and Mapping). Para essas aplicacoes,e interessante que o robo considere a deteccao eidentificacao de pessoas ao explorar, mapear e selocalizar em um ambiente dinamico e, assim, mo-

dificar suas tomadas de decisao com base nessadeteccao. Este artigo apresenta um metodo dedeteccao e identificacao de pessoas que e execu-tado simultaneamente com um metodo SLAM, jaimplementado e apresentado em trabalho anterior(Silveira Vidal et al., 2015).

A deteccao de pessoas tem sido o foco da pes-quisa por um longo tempo. Apesar dos resulta-dos impressionantes alcancados por uma amplagama de tecnicas, ainda apresentam-se muitos de-safios a serem superados, especialmente conside-rando sua aplicacao em robotica movel autonoma.Em (Munaro and Menegatti, 2014), os autoresapresentam uma metodologia para deteccao e ras-

XIII Simposio Brasileiro de Automacao Inteligente

Porto Alegre – RS, 1o – 4 de Outubro de 2017

ISSN 2175 8905 1333

Page 2: XIII Simp osio Brasileiro de Automac a~o Inteligente Porto ... · detecc˘ao e identificac˘~ ao de pessoas utilizando redes neurais~ convolucionais integrada a um sistema de localizac˘ao

treamento de pessoas a partir de imagens RGBDextraıdas por uma plataforma robotica.

Tecnicas de aprendizado profundo tem apare-cido como uma alternativa interessante para ala-vancar os avancos na area de reconhecimento vi-sual e aprendizado de maquina, como pode servisto em (Ren et al., 2015), (Girshick et al., 2015)e (Cheron et al., 2015). As redes neurais convo-lucionais (CNN) tem sido usadas com sucesso emvarios problemas envolvendo o reconhecimento deimagens, como a deteccao de faces, conforme des-crito em (Li et al., 2015), (Ranjan et al., 2015) e(Farfade et al., 2015). A motivacao para usar umaarquitetura de CNN emergiu como uma possibili-dade de tratar abstracoes de alto nıvel de umamaneira mais eficiente, como o caso da identifica-cao de pessoas. A figura 1 ilustra o desempenhoda CNN apresentada neste artigo identificando erotulando duas pessoas diferentes.

Figura 1: Identificacao de Pessoas pela CNN

Este artigo aborda o problema de deteccao eidentificacao de pessoas em duas etapas. A pri-meira implementa a deteccao e a segunda a iden-tificacao. A primeira etapa utiliza a biblioteca denuvens de ponto (PCL) (Rusu and Cousins, 2011)e a segunda usa a biblioteca MATLAB MatConv-Net (Vedaldi and Lenc, 2014) para implementacaode uma arquitetura de rede neural convolucional(CNN). Ambas sao implementadas como aplica-coes (nos) no sistema operacional robotico ROS.

Neste artigo e apresentado a integracao dossistemas de deteccao e identificacao de pessoascom o SLAM pelo sistema operacional roboticoROS (Quigley et al., 2009) incorporado no robo.Para isso, foram desenvolvidos nos ROS espe-cıficos para deteccao e identificacao de pessoasque trabalham simultaneamente com o sistema deSLAM.

Alem da introducao, este artigo tambem ecomposto das seguintes secoes. Na Secao 2 e des-crito a implementacao do sistema de deteccao eidentificacao de pessoas. Alem disso, tambem saodescritos testes e resultados comparativos, a fimde avaliar precisao da rede neural convolucionalna identificacao de pessoas. A Secao 3 apresentaa descricao da composicao do hardware do roboe a integracao dos sistemas no ambiente ROS. A

Secao 4 apresenta um experimento real que uti-liza a plataforma robotica descrita detectando eidentificando pessoas enquanto realiza o SLAM.Finalmente, a Secao 5 propoe algumas considera-coes finais.

2 Deteccao e Identificacao de Pessoas

O sistema de deteccao e identificacao de pessoasfoi implementado utilizando duas abordagens dis-tintas. A primeira e baseada no detector HOG e asegunda e baseada em uma arquitetura de CNN.Ambas sao implementadas como nos ROS que seintegram com o sistema de SLAM do robo.

2.1 No de Deteccao de Pessoas

A etapa de deteccao de pessoas e baseada em des-critores HOG que sao implementados usando a bi-blioteca de nuvens de ponto (PCL - Point CloudLibrary) (Rusu and Cousins, 2011).

O no de deteccao de pessoas foi adaptado apartir da aplicacao Ground Based People Detec-tion App disponıvel na PCL. Esta etapa, foi adap-tada da proposta apresentada em (Munaro andMenegatti, 2014). O processo de deteccao atual-mente implementado, usa uma base de dados rotu-lada a partir do Kinect Tracking Precision (KTP)Dataset 1, apenas para o processo de classificacaoSVM (Support Vector Machine). E importanteressaltar que a etapa de treinamento nao foi rea-lizada em nossa implementacao.

Durante os experimentos, verificou-se que oHOG apresenta uma satisfatoria deteccao de mul-tiplas pessoas em tempo real, mesmo com oclusoesparciais, como mostrado na figura 2. No entanto,considerou-se para os experimentos, ambientes in-ternos semi-estruturados. Alem disso, o sistemaapresenta boa acuracia na deteccao de pessoas so-mente na posicao vertical, com uma perda fre-quente quando a pessoa assume diferentes posi-coes desta, o que ocorre regularmente em ambien-tes nao estruturados. Este tipo de problema foiabordado em trabalhos anteriores como descritoem (Angonese and Rosa, 2016b) e (Angonese andRosa, 2016a).

Figura 2: Multipla Deteccao de Pessoas

1http://www.dei.unipd.it/ munaro/KTP-dataset.html

XIII Simposio Brasileiro de Automacao Inteligente

Porto Alegre – RS, 1o – 4 de Outubro de 2017

1334

Page 3: XIII Simp osio Brasileiro de Automac a~o Inteligente Porto ... · detecc˘ao e identificac˘~ ao de pessoas utilizando redes neurais~ convolucionais integrada a um sistema de localizac˘ao

2.2 No de Identificacao de Pessoas

A etapa de identificacao e implementada usandouma arquitetura de Rede Neural ConvolucionalProfunda (CNN). Neste trabalho, utilizou-se abiblioteca MATLAB MatConvNet (Vedaldi andLenc, 2014) que implementa redes neurais convo-lucionais para aplicacoes de visao computacional.

Na parte inferior da figura 3 e ilustrado ofluxograma com uma visao geral do metodo ado-tado para o no de identificacao de pessoas. Nestaabordagem, utilizou-se uma variante pre treinadada arquitetura CNN GoogLeNet obtida a partirda MatConvNet 2 para extrair caracterısticas denosso proprio conjunto de dados rotulados como(pessoa1, pessoa2..., pessoan). Tal estrategia nospermitiu criar um modelo mais ajustado para trei-nar um classificador SVM multi-classe usado naidentificacao das pessoas.

Figura 3: Visao geral do no de identificacao depessoas

O no de deteccao de pessoas, descrito na se-cao 2.1 esta ilustrado no topo da figura 3. Este noe responsavel por publicar mensagens contendo oangulo, altura , distancia e o centroide (/Angle,/Height, /Distance e /PeopleCentroid) das pes-soas detectadas para o no de Identificacao, quedefine uma Regiao de Interesse (ROI) para ser cor-tada e classificada pelo SVM multi classe.

2.3 Teste de Acuracia do No de Identificacao dePessoas

O objetivo do teste e avaliar a acuracia do nossomodelo de caracterısticas CNN para identificacaode pessoas. O processo de classificacao foi rea-lizado com 400 imagens recortadas de um vıdeooffline obtido a partir de uma camera estaciona-ria, capturando uma caminhada aleatoria de duaspessoas previamente rotuladas.

2http://www.vlfeat.org/matconvnet/pretrained/

Figura 4: Cenario do Teste de Identificacao dePessoas

Como mostrado na figura 4, foram considera-das duas classes de pessoas rotuladas como Pessoa1 e Pessoa 2. O modelo de caracterısticas da CNNfoi extraıdo e o classificador SVM foi treinado apartir de um conjunto de 250 imagens positivas decada classe e mais uma classe com 250 imagens ne-gativas, totalizando 750 imagens de treinamento.

O cenario ilustrado na figura 4 demonstra aspessoas caminhando aleatoriamente. A tabela 1apresenta a matriz de confusao e a tabela 2 apre-senta os resultados de acuracia do processo deidentificacao.

Tabela 1: Matriz de Confusao

Pessoa 1 Pessoa 2Pessoa 1 334 66Pessoa 2 10 390

Tabela 2: Acuracia

Pessoa 1 Pessoa 2

Verdadeiro Positivo 334 390Falso Positivo 66 10

Total de Imagens 400 400

Acuracia 84% 98%

2.4 Consideracoes sobre resultados do teste

A realizacao do teste de classificacao mostrouresultados satisfatorios em termos de acuracia,mesmo considerando o cenario apresentado, noqual muitas das imagens recortadas apresentaminformacoes ruins para uma classificacao correta.No entanto, quando ambos os nos trabalham emconjunto, a taxa de atualizacao de frames do node deteccao e a velocidade do robo foram respecti-vamente reduzidos para 5 fps e 10 cm/s, para queocorra a identificacao correta. Outro limitante eo custo computacional para treinar o modelo decaracterısticas da CNN. Apesar do tempo de trei-namento usando a rede pre-treinada GoogleNet serbastante reduzido, nos permitindo a utilizacao de

XIII Simposio Brasileiro de Automacao Inteligente

Porto Alegre – RS, 1o – 4 de Outubro de 2017

1335

Page 4: XIII Simp osio Brasileiro de Automac a~o Inteligente Porto ... · detecc˘ao e identificac˘~ ao de pessoas utilizando redes neurais~ convolucionais integrada a um sistema de localizac˘ao

um computador com CPU, a utilizacao de umaGPU otimizaria os tempos de computacao.

3 Sistema Robotico

Nesta secao, e descrito a plataforma fısica do roboe os componentes dos nos ROS desenvolvidos paraa integracao do sistema de deteccao de pessoas edo sistema SLAM.

3.1 Plataforma Fısica do Robo

O robo ilustrado na figura 5 e composto pela pla-taforma Pioneer 3DX que e amplamente utilizadapara pesquisa relacionada a robos moveis. O LaserSick LMS200 e usado para a extracao de marcos2D durante o processo SLAM e a camera RGBD,que e usada no processo SLAM e tambem comoo principal componente de captura de cenas parao processo de deteccao e identificacao de pessoas.Alem disso, os componentes do robo sao conecta-dos a um notebook Core I7 com CPU de 2,40 GHz,8GB de RAM e uma distribuicao linux Ubuntu14.04 LTS com sistema operacional robotico insta-lado para processamento dos aplicativos (nos) doSLAM e de deteccao e identificacao de pessoas.

Figura 5: Plataforma fısica do robo

3.2 Integracao do No de Deteccao de Pessoascom o No SLAM

As aplicacoes de deteccao e identificacao de pes-soas e SLAM sao integradas pelo sistema opera-cional robotico ROS. Os dispositivos fısicos comoo sensor laser e a camera RGBD fornecem infor-macoes para aplicacoes SLAM e deteccao de pes-soas atraves do ROS, que implementa um eficientesistema de troca de mensagens. Essa caracterıs-tica permite a integracao do sistema de deteccaode pessoas ao sistema de SLAM com o mınimoadaptacoes. Outra caracterıstica interessante eque o ROS implementa um conjunto de abstra-coes de hardware, proporcionando a possibilidadede substituicao de sensores ou mesmo de toda aplataforma robotica sem qualquer impacto signifi-cativo nas aplicacoes ja desenvolvidas. Tal fatonos permite testar componentes mais eficientese robustos, mantendo constantemente o sistemaatualizado.

A figura 6 apresenta o mapa de topicos e nosROS que implementa a troca de mensagens entreos componentes do sistema. Os nos implementa-dos se comunicam uns com os outros atraves dapublicacao de mensagens para topicos. Na figura6, as elipses sao os nos e os retangulos sao os topi-cos. Os topicos /Angle, /Height, /Distance e /Pe-opleCentroid sao publicados pelo no de deteccaode pessoas (PeopleDetector) para o no de identi-ficacao de pessoas (PeopleIdent) e correspondemrespectivamente ao angulo, altura, distancia e ocentroide das pessoas detectadas. Tais informa-coes sao utilizadas para o processo de definicaoda regiao de interesse (ROI) pelo no PeopleIdent.O topico /camera/rgb/imagem rect mono corres-ponde a imagem RGB usada simultaneamentepelo no PeopleIdent para o processo de classifi-cacao CNN e pelo no SLAM. O topico /camera/-depth registered/points e a nuvem de pontos usadapelo no SLAM.

Figura 6: Mapa de nos e topicos ROS do sistema

Os componentes do no ROS para a deteccaode pessoas e o no do sistema do SLAM sao ilus-trados na figura 7. Cada um dos dispositivos dehardware do robo tem uma abstracao no ROS,como mostrado na figura. Os retangulos laranjailustram as partes fısicas acopladas ao robo. Odo-metria, Motor Esquerdo e Motor Direito sao com-ponentes do robo Pioneer descritos neste artigo. Acamera RGBD e o Sensor Laser sao componentesacoplados ao robo e sao respectivamente, respon-saveis pela deteccao optica e extracao de caracte-rısticas. As elipses azuis sao abstracoes do ROSrelacionadas aos componentes fısicos. Os topicos,ilustrados pelos retangulos azuis, sao responsaveispelas mensagens provenientes dos nos ROS, espe-cificamente os encoders para odometria, o laser e acamera RGBD. O sistema de deteccao de pessoasusa componentes ROS que sao realcados pelo re-tangulo amarelo, cujo principal sensor e a cameraRGBD, responsavel pela deteccao de extracao dacena. Apos o processamento do no de deteccaode pessoas, uma mensagem contendo o vetor deposes (XP1, YP1, ZP1θP1)...(XPn, YPn, ZPnθPn) eo vetor de alturas (HP1)...(HPn) das pessoas de-

XIII Simposio Brasileiro de Automacao Inteligente

Porto Alegre – RS, 1o – 4 de Outubro de 2017

1336

Page 5: XIII Simp osio Brasileiro de Automac a~o Inteligente Porto ... · detecc˘ao e identificac˘~ ao de pessoas utilizando redes neurais~ convolucionais integrada a um sistema de localizac˘ao

tectadas e publicado para o no de identificacao depessoas que assina o topico. Depois disso, o topicode identificacao de pessoas publica a pose da pes-soa identificada (XPi, YPi, θPi) para o no SLAM.Basicamente, o no SLAM ajusta o sistema de co-ordenadas da pessoa e do robo para o referencialdo mapa que esta sendo gerado, da seguinte forma:px = ZPi +DXRGBD e py = −YPi −DYRGBDem que, DXRGBD e DYRGBD sao as distan-cias X e Y da camera RGBD para o centro dorobo. Entao, os topicos de SLAM publicam a pose(XP , YP , θP ) da pessoa e do robo (XR, YR, θR)para o no de planejamento do trajetoria que porsua vez sao enviados para controle de movimenta-cao do robo pelo no Pioneer.

Figura 7: Componentes de nos ROS

4 Experimento: Integracao SLAM +Deteccao e Identificacao de Pessoas

Este experimento tem como objetivo demonstrarem uma situacao real, a integracao dos nos de de-teccao e identificacao de pessoas com o no SLAMdescrito na secao 3.2 deste artigo. A figura 8 ilus-tra o robo executando um mapeamento autonomoenquanto executa uma trajetoria retangular emambiente interno. Duas pessoas a serem detec-tadas estao em posicoes diferentes no local. Aspessoas detectadas sao rotuladas na figura comoPessoa 1 e Pessoa 2. As setas pretas ilustram aorientacao do caminho do robo e o cırculo verdeindica o inıcio e o fim do percurso realizado pelorobo.

A figura 9, ilustra uma captura de tela coma visao do robo durante o processo de exploracaoe mapeamento do ambiente. No canto superior

Figura 8: Experimento de integracao

esquerdo da figura 9 esta representado o no de de-teccao, a direita e ilustrado o no de identificacao,no momento em que realiza a correta classifica-cao da pessoa desejada. O canto inferior esquerdoilustra o mapa sendo gerado a medida que o roboexplora o ambiente.

Figura 9: Visao do robo durante o mapeamento

O grafico da figura 10, mostra o caminho dorobo e a posicao das pessoas detectadas relaciona-das a trajetoria SLAM executada pelo robo, con-forme ilustrado na figura 8.

Figura 10: Grafico resultante

As setas pretas indicam a direcao do caminhodo robo, em que e possıvel observar que o graficoesta rotacionado 90 graus para a direita. A traje-toria azul exibe o caminho que o robo executariacaso sua trajetoria fosse definida pela odometria.A trajetoria verde e o caminho correto definidopelo SLAM e seguido pelo robo. E possıvel perce-ber o erro acumulado da odometria, gerando umatrajetoria inesperada e a correcao pelo processo

XIII Simposio Brasileiro de Automacao Inteligente

Porto Alegre – RS, 1o – 4 de Outubro de 2017

1337

Page 6: XIII Simp osio Brasileiro de Automac a~o Inteligente Porto ... · detecc˘ao e identificac˘~ ao de pessoas utilizando redes neurais~ convolucionais integrada a um sistema de localizac˘ao

de SLAM, definindo o caminho verde seguido pelorobo. Os cırculos pretos sao os centroides da pes-soa detectada e os cırculos vermelhos sao os cen-troides da pessoa identificada pelo robo duranteo SLAM. A nuvem de pontos indicada pelos cır-culos pretos e vermelhos, representam a variacaode deteccao e identificacao dos centroides das pes-soas, que ocorre devido a variacao do movimentodo robo.

5 Conclusao e Trabalhos Futuros

Este artigo apresentou um sistema de deteccao eidentificacao de pessoas para uma plataforma ro-botica capaz de executar SLAM. O sistema foi im-plementado em um robo composto por um sensorlaser 2D e uma camera RGBD acoplada a pla-taforma robotica Pioneer 3DX, utilizando o sis-tema operacional robotico ROS. Os sistemas dedeteccao e identificacao foram desenvolvidos comonos ROS que se integram com o no de aplicacaoSLAM permitindo que o modelo de movimentacaodo robo considere a identificacao das pessoas.

Os resultados do teste do no de identificacaode pessoas mostraram que uma rede neural con-volucional (CNN) tem uma precisao satisfatoriapara a identificacao de pessoas em tempo real.No entanto, o sistema ainda nao e robusto paraambientes nao estruturados devido a limitacao dereducao de frames.

Como passos adicionais desta pesquisa, pro-pomos a implementacao do processo de identifica-cao e deteccao de pessoas como um unico no ROSa ser integrado com o no SLAM. Alem disso, os sis-temas serao implementados em uma arquiteturacom GPU para melhor desempenho, permitindoseu uso em ambientes nao estruturados.

Agradecimentos

Os autores agradecem o apoio financeiro fornecidopela Coordenacao de Aperfeicoamento de Pes-soal de Nıvel Superior (CAPES) – Edital Pro-Estrategia

Referencias

Angonese, A. T. and Rosa, P. F. F. (2016a). In-tegration of people detection and simultane-ous localization and mapping systems for anautonomous robotic platform, Robotics Sym-posium and IV Brazilian Robotics Sympo-sium (LARS/SBR), 2016 XIII Latin Ameri-can, IEEE, pp. 251–256.

Angonese, A. T. and Rosa, P. F. F. (2016b). Peo-ple detection system for an autonomous robo-tic platform integrated with simultaneous lo-calization and mapping, XXI Congresso Bra-sileira de Automatica (CBA), pp. 2689–2694.

Cheron, G., Laptev, I. and Schmid, C. (2015).P-cnn: Pose-based cnn features for actionrecognition, The IEEE International Confe-rence on Computer Vision (ICCV).

Farfade, S. S., Saberian, M. J. and Li, L.-J. (2015).Multi-view face detection using deep convolu-tional neural networks, Proceedings of the 5thACM on International Conference on Multi-media Retrieval, ACM, pp. 643–650.

Girshick, R., Iandola, F., Darrell, T. and Malik,J. (2015). Deformable part models are con-volutional neural networks, The IEEE Con-ference on Computer Vision and Pattern Re-cognition (CVPR).

Li, H., Lin, Z., Shen, X., Brandt, J. and Hua,G. (2015). A convolutional neural networkcascade for face detection, Proceedings of theIEEE Conference on Computer Vision andPattern Recognition, pp. 5325–5334.

Munaro, M. and Menegatti, E. (2014). Fast rgb-dpeople tracking for service robots, Autono-mous Robots 37(3): 227–242.

Quigley, M., Conley, K., Gerkey, B., Faust, J., Fo-ote, T., Leibs, J., Wheeler, R. and Ng, A. Y.(2009). Ros: an open-source robot operatingsystem, ICRA workshop on open source soft-ware, Vol. 3, p. 5.

Ranjan, R., Patel, V. M. and Chellappa, R.(2015). A deep pyramid deformable partmodel for face detection, Biometrics The-ory, Applications and Systems (BTAS),2015 IEEE 7th International Conference on,IEEE, pp. 1–8.

Ren, S., He, K., Girshick, R. and Sun, J. (2015).Faster r-cnn: Towards real-time object de-tection with region proposal networks, inC. Cortes, N. D. Lawrence, D. D. Lee, M. Su-giyama and R. Garnett (eds), Advances inNeural Information Processing Systems 28,Curran Associates, Inc., pp. 91–99.

Rusu, R. B. and Cousins, S. (2011). 3d is here:Point cloud library (pcl), Robotics and Au-tomation (ICRA), 2011 IEEE InternationalConference on, IEEE, pp. 1–4.

Silveira Vidal, F., de Oliveira Palmerim Barce-los, A. and Ferreira Rosa, P. (2015). Slamsolution based on particle filter with outliersfiltering in dynamic environments, IndustrialElectronics (ISIE), 2015 IEEE 24th Interna-tional Symposium on, pp. 644–649.

Vedaldi, A. and Lenc, K. (2014). Matconvnet-convolutional neural networks for matlab, ar-Xiv preprint arXiv:1412.4564 .

XIII Simposio Brasileiro de Automacao Inteligente

Porto Alegre – RS, 1o – 4 de Outubro de 2017

1338