desenvolvimento de um sistema de visão

Propaganda
Á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.
Download