You are on page 1of 7

IDENTIFICAO DA TRAJETRIA DE UM OBJETO

Guilherme Serra1; Marco Grella2; Renato Bueno & Ricardo Crudo4


Orientador: Prof. Nuncio Perrella Coorientador: Prof. Alexandre Brincalepe Campo TG-03-2012-EL Graduandos do Curso de Engenharia Eltrica, nfase Eletrnica, da USJT, turma de 2012. e-mail :gui_serra@hotmail.com; e-mail2; marco_grella@hotmail.com; e-mail3:munhoz.bueno@yahoo.com.br; e-mail4: ricardo.crudo@yahoo.com.br
1 1,2,3,4

Resumo - Este artigo apresenta o desenvolvimento de um projeto de identificao da trajetria de um objeto atravs de viso computacional. O projeto foi fundamentado em uma mesa de pebolim composta apenas pelos vares de defesa. No artigo descrito como foi feita a identificao e o clculo da trajetria da bola, alm de uma possvel integrao com um sistema mecnico. Abstract - This paper presents the design of a project that identifies the trajectory of an object using computer vision. The project was grounded on a football table composed just by defense rods. The paper describes how to identify the ball and estimate your trajectory, in addition a potential integration with mechanical system. (Palavras-chave: pebolim, viso computacional, rastreamento, trajetria de objeto).

1. Introduo A viso computacional aliada ou no inteligncia artificial permite criar sistemas com uma infinidade de aplicaes, seu uso pode ser encontrado em diversos segmentos, como por exemplo: indstria automotiva, monitoramento em sistemas de segurana, reconhecimento facial, modelamento tridimensional, medicina e etc. Este projeto tem como propsito desenvolver um algoritmo de viso computacional capaz de reconhecer uma bolinha de pebolim e calcular sua trajetria. Tendo em vista que a trajetria da bolinha corresponde ao ataque de um jogador humano, seria possvel inferir onde um eventual goleiro autnomo deveria estar posicionado para realizar a defesa. Alguns projetos, com objetivo similar a este, foram utilizados como base de conhecimento. Na Universidade de Adelaide [1], foi montada na mesa, sob os ps dos bonecos, uma grade de lasers, de forma que somente a bolinha pudesse interromper os feixes de luz. O grupo do projeto KiRo[2], da Universidade de Freiburg, utilizou uma cmera colorida e atravs da classificao das cores eles puderam diferenciar a bolinha dos demais objetos. J na Universidade de Eindhoven [3] foi utilizada uma cmera monocromtica com regio de interesse configurvel, e o algoritmo de deteco da bolinha foi realizado por um mtodo denominado de mascaramento. A grade de lasers utilizada no projeto de Adelaide tem a desvantagem de no conseguir detectar a bola quando ela salta [1]. Alm disso, a construo mecnica desta soluo requereu que a mesa fosse desmontada para que os lasers pudessem ser fixados e alinhados.

O projeto KiRo, por ter utilizado uma cmera colorida, teve a necessidade de desenvolver um algoritmo que considerasse as trs camadas de cores da imagem, isso elevou o tempo de processamento. Assim como na Universidade de Eindhoven, o cenrio utilizado neste projeto composto por uma cmera monocromtica, com regio de interesse ajustvel, posicionada acima da mesa de pebolim. Na seo 2 deste artigo, so abordadas as seguintes questes: cenrio, recursos utilizados, algoritmos e clculos. Na seo seguinte so expostas as concluses obtidas. 2. Metodologia 2.1. Cenrio A mesa de pebolim utilizada no projeto composta por trs vares, o goleiro e os zagueiros de um dos times e o goleiro do outro time, sendo que este ltimo representa o goleiro autnomo. A cmera ficou posicionada sobre a mesa de pebolim, sustentada por uma estrutura independente, de modo a evitar que as vibraes mecnicas que aconteam durante o jogo sejam transferidas para o corpo da cmera. A figura 1 representa fielmente a estrutura criada.

geomtricas [6]. Para fazer a deteco das formas, a transformada faz uso das equaes paramtricas que as representam, no caso do crculo a equao :

r2 = (x - x0)2 + (y - y0)2
Na equao acima, r o raio do crculo e y e x so as coordenadas do centro do crculo. O algoritmo Hough Circle Transform do OpenCV, integra outros dois algoritmos que so executados implicitamente, so eles: Hough Transform, que detecta linhas e Canny, que detecta as bordas da imagem. Depois de executados esses algoritmos, cria-se um mapa de pontos com base nas bordas encontradas pelo algoritmo Canny, ento, inicia-se uma estratgia de busca pelos crculos. Esta estratgia considera dois parmetros que so passados para o algoritmo: raios mnino e mximo do crculo desejado. Uma explicao mais profunda sobre o funcionamento dos algoritmos da Transformada Hough pode ser encontrado no livro [6] de Robert Laganire. A bolinha de pebolim, nas imagens capturadas, tem raio que varia de 8 a 10 pixels, de acordo com o zoom da lente. Os valores utilizados para os parmetros de raios mnimo e mximo do algoritmo Hough Circle foram 6 e 12, respectivamente. Inicialmente a imagem capturada foi diretamente submetida ao algoritmo Hough Circle, sem qualquer prprocessamento. A figura 2 exibe o resultado obtido.

Figura 1 - Estrutura de sustentao da cmera

2.2. Recursos Utilizados A cmera utilizada no projeto foi o modelo Manta G-032 da Allied Vision Technologies. Ela tem as seguintes especificaes: - Interface IEEE 802.3 Gigabit - Resoluo VGA, 656 x 492 - 80 FPS na mxima resoluo - Regio de Interesse ajustvel - Monocromtica - Tempo de exposio do sensor ajustvel A lente utilizada em conjunto com a cmera da marca Tamron, modelo varifocal de 4 a 12 mm que permite, alm do ajuste de foco/zoom, o controle da entrada de luz

no sensor.
Como unidade de processamento, serviu-se de um notebook Dell modelo Vostro 3550 com as seguintes caractersticas tcnicas: - Processador Intel Core i3 de 2.2 GHz - 4GB Memria RAM - Placa de rede Ethernet Gigabit Dos recursos de software, utilizou-se o sistema operacional Linux Xubuntu 12.04 64bits com configuraes padro e a biblioteca de viso computacional OpenCV. Ambos so softwares de cdigo aberto e livre para uso acadmico e comercial. A biblioteca OpenCV tem interface para as linguagens de programao C, C++, Python e Java, e conta com mais de 2500 algoritmos otimizados para funcionamento em tempo real, alm disso, tem a vantagem de realizar o processamento em mltiplos ncleos [4,5]. 2.3. Algoritmo de Deteco da Bolinha A deteco da bolinha na imagem faz uso de um algoritmo do OpenCV chamado de Hough Circle Transform. A transformada de Hough utilizada para detectar linhas em uma imagem, no entanto, graas evoluo do algoritmo, tambm possvel detectar crculos e outras entidades
Figura 2 - Resultado do processamento do algoritmo Hough Circle

Conforme visto na figura acima, o algoritmo detectou trs crculos em uma imagem onde a bolinha no estava presente. Os crculos detectados correspondem s marcaes do centro de campo e dos escanteios. Para evitar esse efeito indesejado foi necessrio mascarar as linhas de marcao do campo. Isso foi feito subtraindo-se uma imagem modelo das imagens capturadas em tempo real. A figura 3 um fragmento de uma imagem capturada em tempo real, enquanto que a figura 4 a imagem resultante da operao mdulo da subtrao na mesma regio da figura anterior. O contorno vermelho ao redor da bolinha na figura 3 indica aonde o algoritmo encontrou um crculo. Dessa forma deu-se por resolvido o problema de encontrar crculos no correspondentes bolinha de pebolim.

Nesta situao o algoritmo encontrou mais de um crculo na regio onde a bolinha est presente, conforme mostra a figura abaixo.

Figura 3 - Imagem capturada em tempo real e com a presena da bolinha

Figura 6 - Resultado do algoritmo com a bolinha se movendo em alta velocidade

A soluo adotada nestes casos consiste em calcular a mdia entre os centros dos crculos. Alm disso, o tempo de exposio foi ligeiramente diminudo, fazendo com que esta situao ocorra apenas em casos excepcionais. 2.4. Regio de Interesse Criar uma regio de interesse significa eliminar as reas da imagem que no so importantes na execuo do algoritmo. Essa tcnica minimiza os erros e o tempo de processamento, pois a imagem a ser processada ser menor. Outra vantagem deste procedimento o aumento da taxa de aquisio de imagens (FPS). Neste projeto a regio de interesse retangular e deve ser definida manualmente, fazendo-se a marcao de dois pontos na imagem. Porm, para que esta rea seja defina corretamente necessrio que a mesa de pebolim esteja alinhada com a imagem da cmera, na figura 7 mostrado como esta ao deve ser realizada.

Figura 4 - Imagem resultante da operao mdulo da subtrao

As imagens acima foram capturadas com a bolinha se movimentando em baixa velocidade, outro problema foi identificado com bolinha se deslocando em alta velocidade. Na figura 5 a bolinha aparece deformada, como se houvessem duas bolinhas sobrepostas. Isso acontece porque no instante em que a imagem capturada, a bolinha se move mais rpido do que a velocidade do obturador da cmera, sendo que essa velocidade proporcional ao tempo de exposio do sensor.

Figura 7 - Alinhamento da mesa com a imagem da cmera

Figura 5 - Imagem com a bolinha se movendo em alta velocidade

Conforme mostrado na imagem acima, a mesa dever ser alinhada com a imagem da cmera de modo que a linha central do campo e as marcas de pnalti fiquem alinhadas com a cruz azul mostrada na tela.

Depois desta etapa vem a definio da regio de interesse. As duas figuras seguintes mostram como o retngulo deve ser marcado, e a figura 10 mostra a regio de interesse j definida.

2.5. Clculo da Trajetria O algoritmo de deteco da bolinha, em cada imagem capturada, retorna um ponto (x, y) que indica o centro da bolinha em relao imagem total. Cada um desses pontos armazenado em um vetor que depois ser utilizado no clculo da trajetria, explicado abaixo. O mtodo utilizado para calcular a trajetria chamase ajuste de curva. Dispondo os pontos adquiridos em um grfico obtm-se um diagrama de disperso, conforme mostrado na figura 11. Em um diagrama com dados dispersos raramente se consegue obter uma curva que passe exatamente por cada ponto [7]. O que pode ser feito encontrar uma curva que melhor se ajuste aos dados, levando em considerao o erro que ser gerado devido aproximao.

Figura 8 - Marcao do primeiro ponto da regio de interesse

Figura 11 - Exemplo de um grfico de disperso

Figura 9 - Marcao do segundo ponto da regio de interesse

Uma vez conhecida a equao da curva que representa os dados possvel fazer uma extrapolao com boa aproximao, o que no caso deste projeto significa dizer que ser possvel prever a posio da bolinha quando ela estiver na linha gol. Esta informao poderia ser transmitida para um sistema de controle que consiga posicionar o goleiro de forma a interceptar o movimento da bolinha. Este mtodo pode ser ajustado a diversos tipos de curvas, dentre elas: retas, parbolas, logaritmos e polinmios de grau N. Analisando-se as imagens capturadas, verificouse que a curva que melhor se ajusta trajetria da bolinha uma reta. Abaixo apresentado o procedimento utilizado para calcular os coeficientes da equao de uma reta, baseando-se em pontos dispersos. Dado a tabela de pontos abaixo, calculam-se os coeficientes do sistema linear utilizando-se as frmulas da figura 12. X x1 x2 x3 x4 x5 ...
Tabela 1 - Pontos da trajetria

Figura 10 - Regio de interesse definida

Y y1 y2 y3 y4 y5 ...

As laterais da mesa e dos bonecos do jogador humano so reas que no interessam ao algoritmo de deteco de bolinha, elimin-las garante que o algoritmo no encontre falsas bolinhas nessas regies.

A partir dos dados da tabela 2, foram gerados vrios pontos sendo que cada um deles representa o resultado de cada imagem processada pelo algoritmo de deteco de bolinha e colocados em um grfico de disperso, conforme mostra a figura 15. Na figura, a linha vermelha representa a reta que melhor se ajusta aos dados.

Figura 12 - Coeficientes do sistema linear

Os parmetros acima so utilizados no seguinte sistema linear:


Figura 15 - Grfico da simulao do clculo da trajetria

Com esta planilha foi possvel simular chutes de origens diferentes, velocidades diferentes e erros maiores. 2.6. Goleiro Virtual Conforme descrito anteriormente, atravs da extrapolao do mtodo de ajuste de curvas possvel prever a posio da bolinha na linha do gol. Para pr em prtica esta afirmao criou-se um goleiro virtual que se desloca de acordo com a resposta do clculo do ajuste de curva. Primeiro foi necessrio delimitar a linha de atuao do goleiro, da mesma forma que acontece com um goleiro real da mesa. Estes limites foram determinados automaticamente, atravs de um algoritmo que obedece ao seguinte fluxograma:
Define regio de interesse apenas na rea do goleiro

Figura 13 - Sistema linear

Resolvendo o sistema linear acima, obtm-se os valores de A e B, sendo que B representa o coeficiente angular da reta e A o coeficiente linear. Portanto a equao da reta ser:

Figura 14 - Equao da reta

A fim de verificar a eficincia do clculo criou-se uma planilha eletrnica para simular os chutes efetuados pelos jogadores. Para cada ponto gerado foi somado um valor aleatrio, considerando um possvel erro do algoritmo de deteco da bolinha. O valor deste erro varia entre raio da bolinha. A tabela abaixo apresentada os dados utilizados para efetuar a simulao.
Dados da mesa Comprimento interno da mesa Largura interna da mesa Distncia goleiro / parede da mesa Distncia zagueiro / parede da mesa Largura do gol Dimetro da bolinha Distncia goleiro jogador humano / goleiro jogador eletrnico Distncia zagueiro jogador humano / goleiro jogador eletrnico Dados do algoritmo Frequncia de amostragem de imagens Velocidade mxima do chute Erro mximo esperado do algoritmo Tabela 2 - Dados utilizado na simulao Valor 112,5 68,5 5,5 20,0 21,0 3,55 101,5 87,0 Valor 100,0 200,0 1,775 Unidade cm cm cm cm cm cm cm cm Unidade FPS cm/s cm

Threshold = 0

Aplica o threshold e calcula o valor mdio dos pixels da imagem

Mdia <= 0.60

NO

Threshold = Threshold + 1

SIM Varre a imagem linha por linha e soma os valores dos pixels de cada linha

Exibir grfico

Figura 16 - Fluxograma de determinao do threshold

A imagem foi varrida linha por linha e em duas etapas, uma da metade da imagem para cima e outra da metade para baixo. Os valores dos pixels de cada linha foram somados e plotados em um grfico (figura 17). A coluna mais alta do grfico, entre os valores 75 e 80 do eixo x, corresponde linha da grande rea, enquanto que a coluna entre os valores 45 e 50 do eixo x, correspondem linha da pequena rea.

Na figura 10 o ponto azul simboliza o goleiro virtual e os pontos verdes representam os limites do goleiro, ou seja, as traves. A figura abaixo mostra o percurso da bola ao longo do campo. Em azul, direita da imagem, possvel ver as posies percorridas pelo goleiro virtual.

Figura 17 - Grfico da somatria dos pixels de cada linha

Figura 20 - Percurso da bola ao longo do campo

O goleiro de um jogo de pebolim se move apenas entre as linhas da pequena rea. A estratgia utilizada para diferenciar a linha da pequena rea das demais linhas, consiste em aplicar um limiar nos valores das somatrias, este valor foi definido como a metade do valor de pico das somatrias. Desta forma, a variao de zoom na lente no compromete o valor de corte. A figura 18 mostra o resultado da aplicao do limiar, enquanto que a figura 19 mostra o resultado de todo o algoritmo.

2.7. Integrao com um sistema mecnico A posio que enviada ao goleiro virtual tambm enviada para uma porta serial, que pode ser conectada, atravs de uma interface eletrnica, a um sistema eletromecnico capaz de controlar o goleiro, possibilitando-o de defender os chutes de um jogador humano. 3. Concluses Neste artigo foi apresentado um projeto de identificao de objeto atravs de viso computacional, ou simplesmente PeboTron Viso, como foi apelidado por seus autores. Este projeto passou por vrias etapas, o artigo apresentou somente as mais importantes. De todas as etapas, a mais complexa foi o desenvolvimento do algoritmo de deteco da bolinha, que sofreu algumas modificaes at que se chegasse a um cdigo confivel. A maior dificuldade enfrentada nesta fase foi a iluminao, que um fator crtico em qualquer sistema de viso computacional, no entanto isso foi superado fazendo-se uso de funes mais robustas da biblioteca OpenCV. Atualmente o PeboTron Viso limitado, pois seu funcionamento foi baseado em um sistema de pnaltis, todavia, uma slida base de conhecimento foi gerada, e poder ser reaproveita em melhorias futuras do projeto, que dentre as muitas possveis fica como sugesto dos autores: a adio dos demais vares, para que se forme o jogo completo, e a insero de inteligncia artificial no algoritmo de clculo da trajetria. Por fim, vale acrescentar que o PeboTron um projeto divertido e que pode ser explorado por muitas reas da engenharia.

Figura 18 - Grfico da somatria dos pixels depois de aplicado o limiar

Figura 19 - Resultado do algoritmo de deteco da pequena rea

4. Agradecimentos Dados Biogrficos dos Autores: Ao orientador, professor Nuncio Perrella, e coorientador, professor Alexandre Brincalepe Campo, pela crena e apoio ao trabalho proposto. Aos professores que compe a banca examinadora da Faculdade de Tecnologia e Cincias Exatas da Universidade So Judas Tadeu pela anlise e crtica do trabalho. E, por fim, os autores agradecem tambm a todas as pessoas que os apoiaram e acompanharam durante toda a graduao. REFERNCIAS: [1] T. Chau and J.Then and M. Turnbull and S. Wan and S. Cheng, Robotic Foosball Table, University of Adelaide, 2007 [2] T. Weigel and B. Nebel, KiRo - An Autonomous Table Soccer player, University of Freiburg, 2003 [3] R. Janssen, J. de Best, R. van de Molengraft and M. Steinbuch, The Design of a Semi-Automated Football Table, Eindhoven University of Technology, 2009 [4] OpenCV Wiki, http://opencv.willowgarage.com/wiki/, em 22/09/2012 [5] OpenCV Official Site, http://opencv.org, em 22/09/2012 [6] Robert Laganire, OpenCV 2 Computer Vision Application Programming Cookbook, PACKT Publishing, 2011 [7] D. P. F. Pedrosa, Ajuste de Curva, Centro de Tecnologia da Universidade Federal do Rio Grande do Norte, 2011 Marco Antonio Grella 10 de maio de 1984, nascido na cidade de So Paulo, cursando o 6 Ano de engenharia eltrica com nfase em eletrnica pela Universidade So Judas Tadeu, exercendo a atividade de estagirio na empresa NEC Latim America. Guilherme Augusto Serra da Silva 18 de julho de 1988, nascido na cidade de So Paulo, Tcnico em eletrnica pelo colgio SETA, cursando o 6 Ano de engenharia eltrica com nfase em eletrnica pela Universidade So Judas Tadeu, exercendo a atividade de tcnico eletrnico na empresa Controller BMS.

Renato Munhoz Bueno 11 de abril de 1988, nascido na cidade de So Paulo, Tcnico em eletrnica pela ETESP, cursando o 6 Ano de engenharia eltrica com nfase em eletrnica pela Universidade So Judas Tadeu, exercendo a atividade de vendedor tcnico na empresa Danfoss do Brasil. Ricardo Crudo de Almeida 16 de outubro de 1986, nascido na cidade de Osasco, Tcnico em eletrnica pela escola SENAI Anchieta, cursando o 6 Ano de engenharia eltrica com nfase em eletrnica pela Universidade So Judas Tadeu, exercendo a atividade de programador de firmwares na empresa AGR Indstria e Comrcio.

You might also like