Área: CV ( ) CHSA ( ) ECET ( X ) DESENVOLVIMENTO DE UM SISTEMA DE VISÃO COMPUTACIONAL PARA UM AMBIENTE ROBÓTICO DE REALIDADE MISTA Karoline de Moura Farias (Bolsista do PIBIC/CNPq), Dr. Andre Macêdo Santana (Orientador, Depto de Computação – UFPI) INTRODUÇÃO O futebol de robôs é uma das formas de se desenvolver os conhecimentos em computação, engenharia e robótica. Para que um sistema que gerencie uma equipe de futebol de robôs seja eficiente é necessário um sistema de percepção, estratégia e comunicação. Para o desenvolvimento de um sistema de realidade mista entre robôs foi utilizada a biblioteca OpenCV, ferramenta open source desenvolvida pela Intel para processamento de imagens e a linguagem de programação C++ para desenvolvimento de um programa para controlar todo o funcionamento do sistema. Durante o projeto foram estudados e implementados algoritmos de sistema de visão com o objetivo de se escolher a melhor técnica de reconhecimento. O processamento de imagens é uma das características fundamentais de um sistema de visão computacional. Neste trabalho, os objetos de interesse nas imagens capturadas são o campo de futebol virtual, os robôs, identificados por um rótulo, e a bola. Esse reconhecimento é feito através da segmentação da imagem em regiões de interesse. Para isso foram usadas técnicas de limiar e identificação de rótulos por meio de cores [2]. METODOLOGIA Inicialmente foram realizados estudos bibliográficos em periódicos, trabalhos de conclusões de cursos e artigos científicos em busca de trabalhos relevantes. A segunda etapa consistiu no estudo da biblioteca de processamento de imagem OpenCV, que conta com diversos algoritmos que auxiliam no processo de segmentação aliado ao estudo da linguagem C++ para implementação.O desenvolvimento dos algoritmos estudados foi feito durante a terceira etapa. Entre as técnicas desenvolvidas está a subtração de fundo [3], que consiste em definir uma imagem estática que representa o fundo e qualquer mudança nele é destacado em uma imagem resultante. Esta técnica mostrou-se eficiente quando usado em conjunto com o modelo de cores HSV [1], onde há menos variações de ruído e iluminação. Para identificação individual de cada robô utilizou-se a função findContours [4] que é própria da API OpenCv e realiza a busca de contornos em uma imagem binária e guarda o resultado em uma matriz de pontos. Outra técnica utilizada para segmentação e identificação de rótulos foi a busca em espiral [1], que ao contrário da subtração de fundo que compara todos os pixels da imagem, parte de um ponto central e analisa somente os pixels da espiral. Quando um pixel analisado está dentro de um limiar que corresponde a uma das cores do rótulo padrão, os pontos adjacentes a ele são verificados através do algoritmo floodFill [3], que vai preenchendo recursivamente a região de interesse. Com cada região contendo um robô destacado por um retângulo, foram determinados os centros de cada região e a orientação do robô. Área: CV ( ) CHSA ( ) (a) ECET ( X ) (b) Figura 1 – Rótulos destacados pelo sistema de visão: a) subtração de fundo. b) busca em espiral Após e durante as implementações vários testes foram realizados para se verificar a eficácia da técnica analisada bem como os possíveis problemas de identificação e localização que poderiam ocorrer, consistindo na quarta etapa do projeto. Por último, os algoritmos estudados foram submetidos a alguns testes para avaliação dos resultados de eficiência de cada um. RESULTADOS E DISCUSSÕES Primeiramente foram realizados testes com os algoritmos de subtração de fundo e identificação de objetos pelo reconhecimento de contornos. Para efeito de padronização, foram utilizadas imagens com resolução 448x336 no formato jpeg, onde os objetos de interesse, representados pelos rótulos em formato quadrado, estão dispostos sobre uma superfície de cor branca. O sistema foi testado em um ambiente com sistema operacional Windows 7 Home Basic, com processador Intet(R) Core™ i3 2.53GHz. Com relação à técnica de busca em espiral e o preenchimento de regiões de interesse, foram feitos os mesmos testes, submetidos às mesmas condições que as técnicas relatadas anteriormente. Abaixo é mostrado o tempo médio de processamento de ambas as técnicas de reconhecimento e segmentação. Técnica Busca em espiral com preenchimento de região. (a) Tempo em milissegundos 60 Técnica Tempo em milissegundos Conversão RGB para HSV 6 Subtração de Fundo 25 FindContours 58 (b) Figura 2 – Tempo médio de processamento: a) busca em espiral com preenchimento de região. b) subtração de fundo e busca por contornos Área: CV ( ) CHSA ( ) ECET ( X ) Em uma das situações testadas não houve o reconhecimento satisfatório dos rótulos envolvidos em nenhuma das técnicas implementadas. Na Figura 3 é mostrada uma situação na qual dois rótulos diferentes estão muito próximos um do outro com regiões de mesma cor se tocando, foi observado que nesta situação os algoritmos tendem a considerar ambos os rótulos como um só e com isso englobam os dois em uma mesma região de interesse. (a) (b) Figura 3 – Rótulos destacados pelo sistema de visão: a) busca em espiral b) subtração de fundo CONCLUSÃO O estudo e a implementação de um sistema de visão para uma equipe de robôs permitiu a comparação entre técnicas de reconhecimento e processamento de imagens. O algoritmo da subtração de fundo em conjunto com a técnica de busca de contornos apresentou bons resultados, porém o tempo de processamento não foi muito satisfatório visto que em um ambiente de tempo real com captura de várias imagens por segundo o sistema poderia se tornar bastante ineficiente. A busca em espiral também apresentou bons resultados e em relação a tempo de processamento foi bem melhor que a técnica anterior. Uma vantagem é que ela não analisa todos os pixels da imagem ao contrário da subtração de fundo que compara pixel a pixel. O que tornou a execução do algoritmo um pouco custosa foi o calculo de comparação das cores no algoritmo de preenchimento. Uma solução para o problema de identificação de rótulos muito próximos seria desenvolver outro esquema de rotulagem de forma que não houvesse interferência de reconhecimento. Embora alguns testes não tenham sido satisfatórios, o sistema implementou todas as suas funcionalidades nas situações as quais foi submetido. REFERÊNCIAS [1] AZEVEDO, Eduardo; Computação Gráfica: Teoria e Prática; Editora Campus; 2003 [2] NASCIMENTO NETO, P. S.; SANTANA, A. M.; Sistema de visão robótica aplicado a ambientes de realidade mista (2013). Trabalho de Conclusão de Curso, Universidade Federal do Piauí. [3] FERNANDES, L. A. F.; GOMES, P. C. R.; Remoção do Fundo da Cena e Identificação da Silhueta Humana para a Captura Óptica de Movimento. XI SEMINCO, pp 77-90 (2002). [4] Suzuki, S. and Abe, K., Topological Structural Analysis of Digitized Binary Images by Border Following. CVGIP 30 1, pp 32-46 (1985). Palavras-chaves: Robótica. Realidade mista. Futebol de robôs.