Universidade Federal do Rio Grande do Norte
Centro de Tecnologia
Departamento de Engenharia El´etrica
Disserta¸c˜
ao de Mestrado
“Desenvolvimento de um Sistema de Vis˜
ao Global
para uma Frota de Mini-Robˆ
os M´
oveis”
AUTOR: Kelson Rˆomulo Teixeira Aires
ORIENTADOR: Pablo Javier Alsina
CO-ORIENTADOR: Adelardo Adelino Dantas de Medeiros
Natal/RN - Brasil
Desenvolvimento de um Sistema de Vis
˜
a
o Global
para uma Frota de Mini-Rob
ˆ
o
s M
´
o
veis
Kelson Rˆomulo Teixeira Aires
Aprovada, em 28 de Mar¸co de 2001, pela Comiss˜ao Examinadora
for-mada pelos seguintes membros:
Prof. Jo˜ao Marques de Carvalho, Dr. - UFPB
Prof. Adri˜ao Duarte D´oria Neto, Dr. - UFRN
Prof. Adelardo Adelino Dantas de Medeiros, Dr. - UFRN
Prof. Pablo Javier Alsina, Dr. - UFRN (Orientador)
NATAL, RN - BRASIL
Universidade Federal do Rio Grande do Norte
Centro de Tecnologia
Departamento de Engenharia El´etrica
Kelson Rˆ
omulo Teixeira Aires
Desenvolvimento de um Sistema de Vis˜
ao Global
para uma Frota de Mini-Robˆ
os M´
oveis
Disserta¸c˜ao submetida ao Programa de
P´os-Gradua¸c˜ao em Engenharia El´etrica do
Cen-tro de Tecnologia da Universidade Federal do
Rio Grande do Norte, como parte dos
requi-sitos necess´arios para obten¸c˜ao do grau de
Mestre em Ciˆencias (M.Sc.) em Engenharia
El´etrica.
ORIENTADOR: Prof D.Sc. Pablo Javier Alsina
CO-ORIENTADOR: Prof D.Sc. Adelardo Adelino Dantas de Medeiros
Natal/RN - Brasil
“O que sabemos ´e uma gota, o
que ignoramos ´e um oceano.”
Agradecimentos
Ao final dessa ´ardua tarefa, n˜ao poderia deixar de agradecer `aqueles que, de
alguma forma, contribu´ıram para o sucesso desse trabalho.
Aos amigos e orientadores, Prof. Dr. Pablo Javier Alsina e Prof. Dr. Adelardo
Adelino Dantas de Medeiros, pelo apoio e inesgot´avel dedica¸c˜ao ao trabalho.
Ao Prof. Dr. Jo˜ao Marques de Carvalho, por participar da banca examinadora.
Aos Profs. Maitelli, Celso e Agostinho, por suas grandes sugest˜oes e por tornarem
o ambiente de trabalho mais divertido e prazeroso.
Aos amigos Frederico, Rodrigo, Diogo e Carlos, dentre outros, pelas sugest˜oes,
discuss˜oes, momentos de descontra¸c˜ao, enfim, por tudo que fizemos juntos. `
A CAPES, pelo suporte financeiro.
Aos meus pais, Antonio e Concei¸c˜ao, e aos meus irm˜aos, Lidianne, Fenelon e
Olivan, pelo apoio moral e financeiro e, principalmente, por sempre acreditarem em
mim. Eu n˜ao estaria aqui se n˜ao fosse por vocˆes.
Finalmente, a Deus, pois sem Ele nada existiria.
A todos vocˆes, e muitos outros que aqui n˜ao foram mencionados, o meu eterno
Lista de Algoritmos
Conte´
udo
Resumo xiii
Abstract xv
Introdu¸c˜ao 1
Motiva¸c˜ao . . . 1
Objetivos . . . 3
Objetivo geral . . . 3
Objetivos espec´ıficos . . . 3
Crit´erios de desempenho do sistema de vis˜ao . . . 3
Justificativa . . . 4
Organiza¸c˜ao do trabalho . . . 4
1 O Futebol de Robˆos 7 1.1 Introdu¸c˜ao . . . 7
1.2 Hist´orico da Categoria MiroSot . . . 7
1.3 Objetivos . . . 10
1.4 Hardware . . . 10
1.4.1 O campo de jogo e a bola . . . 12
1.4.2 Robˆos . . . 12
1.4.3 Atribui¸c˜ao de cores . . . 14
1.4.4 Sistema de aquisi¸c˜ao e processamento de imagens . . . 14
1.5 Software . . . 15
1.6 Conclus˜oes . . . 16
2 O Sistema de Vis˜ao 19 2.1 Introdu¸c˜ao . . . 19
2.2 Modelos de Cores . . . 20
2.2.1 Modelo RGB . . . 20
2.2.2 Modelo HSL . . . 22
2.2.3 Escolha do Modelo de Cor . . . 22
2.3 Arquitetura do Sistema de Vis˜ao Proposto . . . 24
2.3.1 Aquisi¸c˜ao de imagens . . . 25
2.3.2 Calibra¸c˜ao . . . 26
2.3.3 Processamento das Imagens . . . 28
2.4 Conclus˜oes . . . 28
3 T´ecnicas Existentes 29 3.1 Introdu¸c˜ao . . . 29
3.2 Calibra¸c˜ao e Classifica¸c˜ao . . . 29
3.2.1 Sub-espa¸co de cores . . . 29
3.2.2 Menor distˆancia . . . 30
3.2.3 Sele¸c˜ao com o mouse . . . 30
3.3 Localiza¸c˜ao dos Objetos . . . 31
3.3.1 Centr´oide do quadrado . . . 31
3.3.2 Momentos e Eixos Principais . . . 32
3.3.3 Centr´oide do c´ırculo . . . 34
3.4 Conclus˜oes . . . 36
4 Calibra¸c˜ao: O Algoritmo K-Means 37 4.1 Introdu¸c˜ao . . . 37
4.2 Limiar e Histograma . . . 38
4.4 Calibra¸c˜ao do Sistema . . . 41
4.5 Conclus˜oes . . . 44
5 Localiza¸c˜ao e Identifica¸c˜ao 45 5.1 Introdu¸c˜ao . . . 45
5.2 R´otulos . . . 45
5.3 Algoritmo de Localiza¸c˜ao e Identifica¸c˜ao . . . 46
5.4 Conclus˜oes . . . 50
6 Resultados Experimentais 51 6.1 Introdu¸c˜ao . . . 51
6.2 Parˆametros e Ajustes . . . 51
6.3 Calibra¸c˜ao . . . 53
6.4 Localiza¸c˜ao . . . 57
6.5 Conclus˜oes . . . 62
Conclus˜ao 63 Coment´arios Gerais . . . 63
Trabalhos Futuros . . . 65
Considera¸c˜oes Finais . . . 66
A Regras MiroSot 67 A.1 O Campo e a Bola . . . 67
A.1.1 Dimens˜oes do campo . . . 67
A.1.2 Marcas no campo . . . 67
A.1.3 O gol . . . 67
A.1.4 A linha e a ´area do gol . . . 68
A.1.5 A bola . . . 68
A.1.6 Localiza¸c˜ao do campo . . . 68
A.1.7 Condi¸c˜oes de ilumina¸c˜ao . . . 68
A.2.1 Sobre o sistema . . . 68
A.2.2 Os robˆos . . . 68
A.2.3 Substitui¸c˜oes . . . 69
A.2.4 Pedido de tempo . . . 70
A.3 Transmiss˜ao de Informa¸c˜oes . . . 70
A.4 O Sistema de Vis˜ao . . . 70
A.5 Dura¸c˜ao do Jogo . . . 70
A.6 In´ıcio do Jogo . . . 71
A.7 M´etodo de Marca¸c˜ao de Pontos . . . 71
A.7.1 O vencedor . . . 71
A.7.2 A prorroga¸c˜ao . . . 71
A.8 Faltas . . . 72
A.9 Interrup¸c˜oes do Jogo . . . 72
A.10 Chute Livre . . . 73
A.11 Pˆenalti . . . 73
A.12 Chute a Gol . . . 73
A.13 Bola Livre . . . 74
Lista de Figuras
1.1 Diagrama funcional do sistema utilizado no futebol de robˆos. . . 11
1.2 Esquema de uma partida de futebol de robˆos. . . 11
1.3 Imagem do campo de jogo. . . 13
1.4 Estrutura de ilumina¸c˜ao do campo. . . 13
1.5 Mini-robˆos. . . 14
1.6 Alguns tipos de r´otulos usados nos robˆos. . . 15
1.7 PC’s utilizados para execu¸c˜ao dos programas e controle dos robˆos. . . 16
1.8 Diagrama de blocos simplificado que demonstra a ordem de execu¸c˜ao dos diversos programas envolvidos no projeto. . . 17
2.1 Modelo de cor RGB. . . 21
2.2 Vendo o cubo de cores RGB (a) ao longo da diagonal principal, seus limites externos formam um hex´agono (b). . . 23
2.3 Cone Hexagonal Duplo - Modelo HSL. . . 23
2.4 Diagrama simplificado de um sistema de vis˜ao. . . 25
2.5 Esquema de aquisi¸c˜ao de imagens de uma partida de futebol de robˆos. 26 2.6 Exemplo de imagem representada no modelo RGB. . . 27
2.7 Exemplo de imagem representada no modelo HSL. . . 27
3.1 Robˆo do time GUARAN ´A. C´alculo da posi¸c˜ao e orienta¸c˜ao. . . 32
3.2 Posi¸c˜ao e orienta¸c˜ao baseada no c´alculo do momento angular. . . 33
3.3 C´alculo do centro do r´otulo circular. . . 35
4.1 Histograma de dois tipos b´asicos de imagens. . . 39
4.2 AlgoritmoK-means. Movimento dos centros. . . 42
4.3 Detalhe de uma imagem RGB ap´os ter sido calibrada com o algoritmo K-means. . . 44
5.1 R´otulos utilizados nos mini-robˆos. . . 47
5.2 C´alculo do centr´oide de um c´ırculo. . . 48
5.3 Localiza¸c˜ao do robˆo. . . 49
5.4 Orienta¸c˜ao do robˆo. . . 49
6.1 Diversas calibra¸c˜oes realizadas com diferentes valores de N e K. . . . 54
6.2 Imagem do campo no modelo HSL ap´os calibra¸c˜ao. . . 55
6.3 Imagem do campo no modelo RGB ap´os calibra¸c˜ao. . . 55
6.4 Gr´afico representativo dos grupos de cor de uma imagem ap´os cali-bra¸c˜ao. Os pontos pretos representam os centros de cada grupo. . . . 58
6.5 Gr´afico da posi¸c˜ao e orienta¸c˜ao do robˆo amarelo-ciano. . . 59
6.6 Gr´afico da posi¸c˜ao e orienta¸c˜ao do robˆo amarelo-verde. . . 60
6.7 Gr´afico da posi¸c˜ao e orienta¸c˜ao do robˆo azul-rosa. . . 60
6.8 Gr´afico da posi¸c˜ao da bola. . . 61
Lista de Tabelas
5.1 Rela¸c˜ao de cores usadas nos robˆos. . . 46
6.1 Parˆametros referentes `a imagem a ser adquirida. . . 52
6.2 Parˆametros necess´arios ao sistema de vis˜ao. . . 52
6.3 Rela¸c˜ao de centros fornecidos pela calibra¸c˜ao do sistema. . . 56
6.4 Centros escolhidos ap´os a calibra¸c˜ao do sistema. . . 57
6.5 Dados de localiza¸c˜ao dos robˆos e da bola. . . 59
6.6 Dados de localiza¸c˜ao dos robˆos e da bola. . . 61
Resumo
A navega¸c˜ao baseada em realimenta¸c˜ao visual para robˆos, trabalhando em um
ambiente fechado, pode ser obtida instalando-se uma cˆamera em cada robˆo
(sis-tema de vis˜ao local). Esta solu¸c˜ao, entretanto, requer uma cˆamera e capacidade de
processamento embarcado para cada robˆo. Quando poss´ıvel, um sistema de vis˜ao
global ´e uma solu¸c˜ao barata para este problema. Neste caso, uma ou uma pequena
quantidade de cˆameras, cobrindo todo o espa¸co de trabalho, pode ser compartilhada
pelos robˆos, diminuindo o custo de uma grande quantidade de cˆameras e ohardware
de processamento necess´ario a um sistema de vis˜ao local. Este trabalho apresenta
a implementa¸c˜ao e os resultados experimentais de um sistema de vis˜ao global para
uma frota de mini-robˆos m´oveis, utilizando como plataforma de testes uma partida
de futebol entre robˆos.
O sistema de vis˜ao proposto consiste de uma cˆamera, uma placa digitalizadora de
imagens e um computador (PC) para o processamento das imagens. O PC ´e
respon-s´avel pelo controle dos robˆos, baseado em realimenta¸c˜ao visual, enviando comandos
aos robˆos atrav´es de um transmissor de r´adio. Com o objetivo de possibilitar ao
sistema reconhecer unicamente cada robˆo, eles possuem r´otulos em seu topo,
con-sistindo de dois c´ırculos coloridos. Algoritmos de processamento de imagem foram
desenvolvidos para o cˆomputo eficiente, em tempo real, da posi¸c˜ao (robˆo e bola) e
orienta¸c˜ao (robˆo) dos objetos em campo.
Um grande problema encontrado foi rotular a cor, em tempo real, cada ponto
colorido da imagem, em condi¸c˜oes de varia¸c˜ao de luminosidade. Para resolver este
aglomera¸c˜ao K-means, foi implementado. Este m´etodo garante que pixels similares sejam agrupados ao redor de uma ´unica classe de cor.
Os resultados experimentais obtidos mostram que a posi¸c˜ao e a orienta¸c˜ao de
cada robˆo pode ser obtida com uma precis˜ao de poucos mil´ımetros. A atualiza¸c˜ao
das informa¸c˜oes de posi¸c˜ao e orienta¸c˜ao foi realizada em tempo real, analisando 30
Abstract
Navigation based on visual feedback for robots, working in a closed environment,
can be obtained settling a camera in each robot (local vision system). However, this
solution requests a camera and capacity of local processing for each robot. When
possible, a global vision system is a cheapest solution for this problem. In this case,
one or a little amount of cameras, covering all the workspace, can be shared by
the entire team of robots, saving the cost of a great amount of cameras and the
associated processing hardware needed in a local vision system. This work presents
the implementation and experimental results of a global vision system for mobile
mini-robots, using robot soccer as test platform.
The proposed vision system consists of a camera, a frame grabber and a computer
(PC) for image processing. The PC is responsible for the team motion control, based
on the visual feedback, sending commands to the robots through a radio link. In
order for the system to be able to unequivocally recognize each robot, each one has a
label on its top, consisting of two colored circles. Image processing algorithms were
developed for the efficient computation, in real time, of all objects position (robot
and ball) and orientation (robot).
A great problem found was to label the color, in real time, of each colored point
of the image, in time-varying illumination conditions. To overcome this problem,
an automatic camera calibration, based on clustering K-means algorithm, was
im-plemented. This method guarantees that similar pixels will be clustered around a
unique color class.
each robot can be obtained with a precision of few millimeters. The updating of the
Introdu¸
c˜
ao
Motiva¸
c˜
ao
O termoRob´otica foi introduzido por Isaac Asimov, um grande escritor de fic¸c˜ao cient´ıfica, como uma forma de simbolizar a ciˆencia dedicada ao estudo dos robˆos.
A palavra robˆo surgiu do aportuguesamento da pron´uncia francesa para o termo
robot, que, por sua vez, ´e derivado da palavra eslava robota, que significa trabalho executivo [Medeiros, 1998]. Desde ent˜ao, pesquisadores sonham com a possibilidade
de desenvolver m´aquinas autˆonomas capazes de executar tarefas complexas.
O surgimento daInteligˆencia Artificial fez com que os pesquisadores come¸cassem a pensar na possibilidade de dotar m´aquinas com a capacidade de tomar decis˜oes,
mais ou menos complexas, de modo a adaptar-se `as varia¸c˜oes no ambiente, n˜ao
previstas pelo projetista. Em outras palavras, incorporar um certo grau de
“inteli-gˆencia” `as mesmas. Come¸cavam a surgir os Sistemas Rob´oticos Autˆonomos. Uma importante propriedade destes sistemas ´e o fato deles poderem interagir, de maneira
inteligente, com o ambiente de trabalho, ou seja, “sentir” o que acontece em sua
volta e atuar no mesmo, de acordo com a informa¸c˜ao sentida. Para isso, diversos
sensores podem ser instalados no robˆo, de forma a permitir a aquisi¸c˜ao dos mais
variados tipos de dados.
Com o objetivo de tornar os robˆos cada vez mais autˆonomos, pesquisadores
co-me¸caram a pensar em formas de desenvolver sistemas sensoriais capazes de fornecer
maiores quantidades poss´ıveis de informa¸c˜oes ´uteis sobre o mundo ao seu redor.
ar-tificial. Com isto, surgiu a Vis˜ao Computacional, que ´e a ´area da ciˆencia dedicada a desenvolver teorias e t´ecnicas voltadas `a extra¸c˜ao e processamento de informa¸c˜oes
´
uteis contidas em imagens. A vis˜ao pode ser encarada como mais um dos diversos
sensores que podem ser acoplados a um sistema rob´otico, permitindo-lhe perceber o
mundo. Um sistema de vis˜ao pode ser implementado de diversas maneiras.
A Vis˜ao Computacional procura oferecer, do modo mais eficiente poss´ıvel, uma
grande quantidade de informa¸c˜oes ´uteis ao sistema computacional. V´arias aplica¸c˜oes
para a Vis˜ao Computacional podem ser citadas, dentre elas: sele¸c˜ao e classifica¸c˜ao,
controle de processos, garantia de qualidade, reconhecimento de padr˜oes, identifica-¸c˜ao e localiza¸c˜ao de objetos, etc. O processamento de imagens digitais ´e um campo envolvente, com diversas aplica¸c˜oes na ciˆencia e engenharia. O processamento de
imagens assegura a possibilidade de desenvolvimento de m´aquinas de ´ultima gera¸c˜ao,
capazes de executar diversas fun¸c˜oes da vis˜ao humana [Jain, 1989]. Uma plataforma
de testes bastante utilizada para o desenvolvimento de sistemas de vis˜ao em tempo
real ´e o futebol de robˆos.
Atualmente, v´arios sistemas de vis˜ao est˜ao sendo desenvolvidos para tornar robˆos
aptos a disputarem uma partida de futebol. O futebol de robˆos ´e um excelente
campo de pesquisa na ´area de vis˜ao computacional, pois requer o desenvolvimento de
programas eficientes, principalmente no que diz respeito ao tempo de processamento
das informa¸c˜oes contidas na imagem, bem como de algoritmos robustos em rela¸c˜ao
`as varia¸c˜oes de ilumina¸c˜ao do ambiente. Neste trabalho, prop˜oe-se um sistema de
vis˜ao a ser desenvolvido para uma frota de mini-robˆos, que possibilite aos mesmos
disputarem uma partida de futebol.
Um time de robˆos aptos a disputar uma partida de futebol pode fazer uso de dois
tipos de sensores de imagens: sensores embarcados, que s˜ao localizados no pr´oprio robˆo, ou seja, cada robˆo ´e equipado com sua pr´opria cˆamera (sistema de vis˜ao local),
esensores n˜ao-embarcados, onde apenas uma cˆamera pode ser utilizada para fornecer as imagens do ambiente de trabalho a todos os robˆos (sistema de vis˜ao global). O
trabalho proposto diz respeito a um sistema de vis˜ao global, e suas caracter´ısticas
Objetivos
Objetivo geral
Desenvolvimento de um sistema de vis˜ao global para uma frota de mini-robˆos
m´oveis, utilizando como plataforma de pesquisa e experimenta¸c˜ao uma disputa de
futebol entre robˆos.
Objetivos espec´ıficos
• Implementa¸c˜ao de um software de intera¸c˜ao com o hardware de captura de imagem, capaz de colher os dados acerca das imagens digitalizadas.
• Elabora¸c˜ao de uma an´alise comparativa entre os tipos de dados fornecidos pelo
digitalizador.
• Desenvolvimento e implementa¸c˜ao de um algoritmo capaz de fornecer posi¸c˜ao,
orienta¸c˜ao e identifica¸c˜ao de todos os objetos da imagem, utilizando para isso
os dados fornecidos pelo digitalizador.
• Desenvolvimento e implementa¸c˜ao de um m´etodo de calibra¸c˜ao do sistema de
vis˜ao proposto.
• Integra¸c˜ao do sistema de vis˜ao com os demais sistemas presentes em uma
partida de futebol de robˆos, fornecendo a localiza¸c˜ao e identifica¸c˜ao dos objetos
da imagem.
Crit´
erios de desempenho do sistema de vis˜
ao
Para determinar o sucesso de um sistema de vis˜ao, seu desempenho pode ser
medida segundo alguns fatores [Dichiera, 1999]:
• Velocidade: Mede o tempo requerido para determinar posi¸c˜ao, orienta¸c˜ao e velocidade dos objetos da imagem. O m´odulo de vis˜ao deve determinar estes
parˆametros de forma c´ıclica e suficientemente r´apida, para que os outros
m´o-dulos do sistema possam dispor da maior quantidade de informa¸c˜ao poss´ıvel,
em um m´ınimo intervalo de tempo.
• Robustez: Mede a habilidade do m´odulo de vis˜ao em operar com ru´ıdo, refle-x˜oes e varia¸c˜oes nas condi¸c˜oes de ilumina¸c˜ao.
Justificativa
A localiza¸c˜ao e identifica¸c˜ao de objetos ´e um problema cl´assico em processamento
de imagens. Resolvˆe-lo em tempo real constitui um grande desafio. Dentro da
bibliografia pesquisada, nenhum conhecimento foi encontrado acerca do m´etodo de
calibra¸c˜ao utilizado. Com o intuito de oferecer uma contribui¸c˜ao cient´ıfica na ´area
de processamento de imagens, e baseando-se nos crit´erios citados na se¸c˜ao anterior,
esse trabalho prop˜oe uma forma autom´atica de calibrar um sistema de vis˜ao, bem
como um algoritmo, r´apido e eficiente, de identifica¸c˜ao e localiza¸c˜ao dos robˆos e da
bola, envolvidos em uma partida de futebol.
Organiza¸
c˜
ao do trabalho
Neste trabalho, o cap´ıtulo 1 trata do futebol de robˆos, primeiramente situando
o mesmo em um contexto hist´orico e, logo em seguida, discutindo alguns pontos
b´asicos do projeto global, do qual faz parte este trabalho. O cap´ıtulo 2 discute de
uma forma geral os aspectos referentes a um sistema de vis˜ao computacional. O
cap´ıtulo 3 mostra algumas t´ecnicas existentes no que se refere `a calibra¸c˜ao de cores
e algoritmos de localiza¸c˜ao e identifica¸c˜ao de objetos, utilizados no futebol de robˆos.
O cap´ıtulo 4 trata do est´agio de calibra¸c˜ao, propondo uma t´ecnica capaz de calibrar
dos robˆos e da bola. No cap´ıtulo 6 s˜ao mostrados os resultados de diversos testes
realizados para validar o sistema proposto. Por fim ´e apresentada uma conclus˜ao
Cap´ıtulo 1
O Futebol de Robˆ
os
1.1
Introdu¸
c˜
ao
As diversas competi¸c˜oes de futebol de robˆos constituem um importante
laborat´o-rio para sistemas autˆonomos cooperativos. A diversidade de t´ecnicas apresentadas
neste tipo de competi¸c˜ao possibilita um estudo cada vez mais aprofundado nessa
´area, propiciando um r´apido avan¸co tecnol´ogico. Desde o ano de 1996, quando o
futebol de robˆos foi criado, o avan¸co foi bastante significativo. A partir da´ı
surgi-ram diversas categorias, baseadas em diferentes regras quanto aos diversos aspectos
relacionados ao Futebol de Robˆos. A seguir ´e apresentado um breve hist´orico do
futebol de robˆos, bem como uma descri¸c˜ao sum´aria de todas as etapas e
proces-sos envolvidos, relacionados `a categoria MiroSot da FIRA1
, que foi escolhida para
desenvolvimento deste trabalho.
1.2
Hist´
orico da Categoria
MiroSot
Em 1995 o prof. Dr. Jong-Hwan Kim, pesquisador do Centro de Pesquisas
KAIST2
da Cor´eia do Sul, fez um convite a toda comunidade internacional para que
cientistas envolvidos com os diversos aspectos da rob´otica autˆonoma se reunissem
1
Federation of Internacional Robot-soccer Association
e elaborassem um plano de a¸c˜ao conjunto, utilizando o futebol de robˆos como ´area
comum de experimenta¸c˜ao. O grupo formado gerou, a partir de regras b´asicas
estipuladas pelos coreanos, as normas e acordos do que viria a constituir a atual
FIRA.
O futebol de robˆos ´e considerado como uma das mais flex´ıveis plataformas para
experimenta¸c˜ao de t´ecnicas sofisticadas de processamento de imagens em tempo
real, gerenciamento de diversas m´aquinas autˆonomas atuando em conjunto com um
objetivo comum, comunica¸c˜ao entre robˆos e mecˆanica fina. Os resultados obtidos
nesse campo de pesquisa s˜ao de migra¸c˜ao imediata para os ambientes industrial e
cient´ıfico.
O in´ıcio efetivo do envolvimento brasileiro com o futebol de robˆos ocorreu em
julho de 1995, quando o Instituto de Automa¸c˜ao do CTI3
enviou dois pesquisadores
da ´area de rob´otica para o Centro de Pesquisas KAIST. Nesta ocasi˜ao, com os
pes-quisadores do CTI sendo os ´unicos representantes da Am´erica Latina, ficou decidido
que a primeira Copa do Mundo de Futebol de Robˆos seria no in´ıcio de novembro
de 1996. A escassez de recursos, aliada ao curto espa¸co de tempo, comprometeu a
participa¸c˜ao brasileira na copa. Mesmo assim, um pesquisador brasileiro foi
envi-ado `a Cor´eia com o objetivo de fazer um estudo comparativo entre as tecnologias
apresentadas pelos pa´ıses em disputa.
Nessa copa, a superioridade do time americano do Newton Labs fez os diversos
participantes repensarem as t´ecnicas utilizadas. A maioria dos times utilizava
senso-reamento local, enquanto que o time do Newton Labs utilizava um sistema de vis˜ao
global, onde as imagens da disputa eram fornecidas por uma cˆamera posicionada
acima do campo de jogo.
Em dezembro desse ano, foi realizado no Rio Grande do Sul um encontro de
pes-quisadores da ´area de Rob´otica do Brasil e dos Estados Unidos. Ali deu-se o in´ıcio
de um projeto nacional, chamado projeto Leopard4
. Este projeto viabiliza que, por
exemplo, pesquisadores da ´area de vis˜ao, mas sem nenhuma experiˆencia em
estra-3
Centro Tecnol´ogico para Inform´atica
4Dispon´ıvel em
t´egia ou robˆos (mecˆanica), possam vir a fazer parte de um grande projeto conjunto
em rob´otica autˆonoma. Contudo, a grande dificuldade em conseguir financiamento
das agˆencias de fomento `a pesquisa fez com que a ades˜ao ao projeto n˜ao fosse t˜ao
efetiva. Iniciar um trabalho dessas propor¸c˜oes iria exigir um enorme intervalo de
tempo. Apesar de todas as dificuldades, o “Pa´ıs do Futebol” come¸cava a mostrar
sua cara na arena da tecnologia.
Em meados de 1997, o processo come¸cou a se acelerar. Pesquisadores da USP5
e
da UNESP6
de Bauru entraram em contato com o pessoal do CTI. Em seguida, outra
institui¸c˜ao aderiu ao grupo, a COPPE do Rio de Janeiro. Resolveram ent˜ao unir
for¸cas e levar um time para a copa de junho, no KAIST. Divididas as tarefas, ao CTI
coube implementar o sistema de comunica¸c˜ao, a UNESP ficou com a implementa¸c˜ao
do robˆo e a parte de estrat´egia, a USP ficou com o sistema de vis˜ao e a COPPE
desenvolveu o robˆo. Entretanto, devido a problemas t´ecnicos a trˆes dias da data de
embarque, a equipe ficou impossibilitada de disputar a competi¸c˜ao.
A decep¸c˜ao foi grande, mas n˜ao foi capaz de desmotivar a equipe que come¸cou a
pensar em uma copa a ser realizada no Brasil. A Copa Brasileira de Futebol de Robˆos
(CBFR/98) foi realizada em mar¸co de 1998 tendo como principal objetivo selecionar
times e tecnologias para a Copa Mundial de Futebol de Robˆos, em julho/98 na
Fran¸ca. A CBFR/98 contou tamb´em com a participa¸c˜ao da equipe da Universidade
Federal de Minas Gerais. A equipe vencedora foi a equipe GUARAN ´A (USP, UNESP
e CTI) [Tavares, 1997].
A Copa Mundial de Futebol de Robˆos, na Fran¸ca, foi realizada em paralelo
com a Copa do Mundo de Futebol, no per´ıodo de 29 de junho a 03 de julho, em
Paris. Nessa oportunidade, o time brasileiro GUARAN ´A sagrou-se vice-campe˜ao
mundial na categoria Mirosot, que corresponde a uma das categorias da FIRA. Esta
competi¸c˜ao presenciou um desenvolvimento muito promissor na tecnologia de vis˜ao,
bem como na ´area de rob´otica cooperativa.
No ano de 1999, o Brasil sediou a competi¸c˜ao mundial da FIRA, que contou com
5
Universidade de S˜ao Paulo
a presen¸ca do CTI, UFMG, UFRJ, UFRGS, UnB, PUC-RS e UFSC. No ano de
2000 a competi¸c˜ao realizou-se na Austr´alia, em paralelo aos jogos ol´ımpicos.
1.3
Objetivos
Existem diversos objetivos referentes ao uso do futebol de robˆos como plataforma
de pesquisa e experimenta¸c˜ao. Dentre eles podemos citar:
• desenvolver um sistema de vis˜ao robusto a efeitos de ilumina¸c˜ao e eficiente
quanto ao tempo de execu¸c˜ao;
• desenvolver estrat´egias de controle que permitam sistemas multi-agentes
atu-arem de forma cooperativa; e
• desenvolver um sistema de navega¸c˜ao capaz de pˆor em pr´atica as estrat´egias
desenvolvidas.
1.4
Hardware
Geralmente ohardwareutilizado em uma partida de futebol de robˆos compreende:
• hardwarepara aquisi¸c˜ao e processamento de imagens (sistema de vis˜ao),
• hardwarepara implementa¸c˜ao de estrat´egia e planejamento de trajet´oria (sis-tema de controle),
• hardwarede comunica¸c˜ao (transmissores ligados ao PC e receptores nos robˆos), e
• robˆos.
O diagrama mostrado na figura 1.1 detalha melhor o funcionamento e interliga¸c˜ao
entre os m´odulos envolvidos no projeto. As imagens do campo de jogo s˜ao captadas
identifica¸c˜ao dos objetos em cena ao sistema de controle e estrat´egia. Esse por sua
vez processa essas informa¸c˜oes e, atrav´es de comunica¸c˜ao via r´adio, envia comandos
a serem executados pelos robˆos.
Controle
Comunicação
Sistema de Visão
Estratégia e
Câmera
Transmissor Computador
Receptor Microcontrolador
Motores
Robô
Figura 1.1: Diagrama funcional do sistema utilizado no futebol de robˆos.
A figura 1.2 demonstra o esquema de uma partida de futebol de robˆos, com cada
time possuindo seuhardwareespec´ıfico.
Para desenvolvimento deste projeto foi escolhida a categoria MiroSot, da FIRA,
cujas regras s˜ao mostradas no apˆendice A. De acordo com essas regras, s˜ao
expla-nadas a seguir algumas caracter´ısticas importantes da disputa, quanto aos diversos
elementos envolvidos [FIRA, 1999].
1.4.1
O campo de jogo e a bola
O campo de jogo ´e preto, fosco7
, de dimens˜oes 150×130cm e constru´ıdo de
madeira. As paredes laterais do campo tem 5cm de altura por 2,5cm de espessura,
com o topo na cor do campo, e as laterais na cor branca. Triˆangulos is´osceles de
7×7cm s˜ao fixados nos quatro cantos do campo, de maneira a evitar que a bola
fique presa, o que dificultaria o alcance dos robˆos. A textura da madeira deve ser
igual `a de uma mesa de tˆenis de mesa. As marcas do campo tamb´em possuem
medidas espec´ıficas. Uma imagem do campo de jogo pode ser vista na figura 1.3, e
suas medidas melhor visualizadas no apˆendice A. Uma bola de golfe laranja ´e usada
como a bola do jogo, com 42,7mmde diˆametro e 46g de peso.
O campo possui ilumina¸c˜ao pr´opria ficando as lˆampadas posicionadas 2 metros
acima deste, em uma estrutura met´alica, como pode ser visto na figura 1.4. As
condi¸c˜oes de ilumina¸c˜ao devem ser fixadas em 1000Lux(ver apˆendice A).
1.4.2
Robˆ
os
Cada time ´e formado por trˆes robˆos (ver figura 1.5), qualquer um deles podendo
assumir a posi¸c˜ao de goleiro. Caso haja necessidade, pode haver substitui¸c˜ao no
intervalo da partida, que tem dois tempos de 5min cada. Os robˆos s˜ao pequenos,
medindo, no m´aximo, 7,5cm de lado.
No nosso projeto, cada robˆo possui dois servo-motores (um para cada roda),
baterias, um pequeno receptor de ondas de r´adio e um microprocessador. Os times
s˜ao rotulados com as cores azul ou amarelo para diferenciar da bola que, como j´a
foi dito, tem a cor laranja. Essa diferencia¸c˜ao de cores ´e feita na forma de r´otulos
Figura 1.3: Imagem do campo de jogo.
Figura 1.4: Estrutura de ilumina¸c˜ao do campo.
Figura 1.5: Mini-robˆos.
1.4.3
Atribui¸
c˜
ao de cores
Os objetos de cor da imagem s˜ao formados pela bola e por r´otulos colocados
sobre os robˆos, como se percebe na figura 1.5. A FIRA determina algumas regras
quanto `a identifica¸c˜ao dos robˆos e da bola:
• os robˆos devem possuir no topo um r´otulo colorido, de 12,25cm2
de ´area
m´ınima, e formato livre, que os identifique quanto ao time (amarelo ou azul),
e
• deve ser utilizada uma bola de golfe laranja.
Fica a cargo da equipe colocar ou n˜ao um r´otulo de outra cor, que n˜ao seja das
especificadas pelas regras da FIRA, em cima do robˆo. Esse r´otulo auxiliar serve
para ajudar na determina¸c˜ao da orienta¸c˜ao do robˆo ou diferenciar os componentes
de um mesmo time. Algumas formas poss´ıveis de rotular os robˆos s˜ao mostradas na
figura 1.6.
1.4.4
Sistema de aquisi¸
c˜
ao e processamento de imagens
O sistema de aquisi¸c˜ao de imagens ´e formado basicamente por uma cˆamera e
Cor do
time
Cor do
time Cor do
time Cor do
time
(a) (b)
(c) (d)
Figura 1.6: Alguns tipos de r´otulos usados nos robˆos.
a serem processados pelo computador. Os dois formam o sistema de vis˜ao, que ser´a
melhor detalhado ao longo deste trabalho.
1.4.5
Sistema de controle e comunica¸
c˜
ao
O controle dos robˆos ´e feito principalmente atrav´es de software, utilizando como
hardwareapenas o PC (ver figura 1.7) para execu¸c˜ao dos programas. A comunica¸c˜ao entre os robˆos e o PC ´e feita atrav´es de um sistema de transmiss˜ao, utilizando ondas
de r´adio em frequˆencia ´unica. O transmissor recebe instru¸c˜oes do computador sobre
o que e como transmitir.
1.5
Software
Figura 1.7: PC’s utilizados para execu¸c˜ao dos programas e controle dos robˆos.
• processamento das imagens fornecidas pelo sistema de vis˜ao - fornece a posi¸c˜ao
e orienta¸c˜ao de todos os elementos da imagem,
• planejamento estrat´egico - de acordo com a situa¸c˜ao (dados do sistema de
vis˜ao), define para onde cada robˆo do time deve se movimentar, e
• planejamento e execu¸c˜ao de movimento - de acordo com os objetivos definidos
pelo planejamento estrat´egico e a situa¸c˜ao atual, define como cada robˆo
che-gar´a em seu destino, calculando trajet´orias adequadas para cada robˆo, bem
como executa efetivamente o controle em tempo real das trajet´orias planejadas.
1.6
Conclus˜
oes
Este cap´ıtulo mostrou as diversas etapas relacionadas ao projeto Futebol de
Robˆos. Como se pode verificar do que foi exposto, o projeto envolve uma s´erie de
subsistemas, tanto em softwarequanto em hardware, que devem ser integrados har-monicamente, de modo que o sistema como um todo funcione de maneira adequada.
Esses m´odulos se comunicam de forma direta ou indireta, pois, como vimos, um
numa seq¨uˆencia de processamento, cujo objetivo global consiste em fazer um time
de robˆos disputar uma partida de futebol. O cap´ıtulo 2, a seguir, trata melhor das
caracter´ısticas de um dos m´odulos do projeto, o sistema de vis˜ao, que ´e o objeto
principal deste trabalho.
Processamento Planejamento Planejamento de Movimento
das Imagens Estratégico
Figura 1.8: Diagrama de blocos simplificado que demonstra a ordem de execu¸c˜ao
Cap´ıtulo 2
O Sistema de Vis˜
ao
2.1
Introdu¸
c˜
ao
Ao ser disputada uma partida de futebol de robˆos, as informa¸c˜oes de posi¸c˜ao e
orienta¸c˜ao dos robˆos e posi¸c˜ao da bola s˜ao imprescind´ıveis. Para a obten¸c˜ao dessas
informa¸c˜oes, um sistema de vis˜ao pode ser utilizado. O sistema de vis˜ao deve ser
capaz de perceber um ambiente dinˆamico e, a partir da´ı, fornecer as informa¸c˜oes
necess´arias para o sistema de controle dos robˆos. Um sistema de vis˜ao robusto e
eficaz deve ser capaz de atuar em ambientes diferentes quanto `a ilumina¸c˜ao e `as
condi¸c˜oes de cores, mantendo, ao mesmo tempo, velocidade e exatid˜ao.
Este cap´ıtulo descreve o m´odulo de vis˜ao global utilizado pelo time de futebol de
robˆos do LECA-UFRN1
. Diversas t´ecnicas, atualmente em uso, foram pesquisadas,
de modo a possibilitar o desenvolvimento do sistema. Nas se¸c˜oes que se seguem, ser˜ao
mostradas todas as etapas executadas pelo sistema em quest˜ao, desde a aquisi¸c˜ao
e processamento das imagens, at´e o c´alculo da posi¸c˜ao e orienta¸c˜ao dos robˆos e da
bola. Antes de tudo, o conceito de modelo de cor ´e de extrema importˆancia, pois
define o tipo de dado a ser processado.
1Laborat´orio de Engenharia de Computa¸c˜ao e Automa¸c˜ao da Universidade Federal do Rio
2.2
Modelos de Cores
Um modelo de cor determina um subespa¸co de um sistema de coordenadas
tri-dimensionais, onde cada ponto desse subespa¸co representa uma cor. Os modelos
de cores tˆem como principal objetivo facilitar a representa¸c˜ao das cores em algum
padr˜ao aceit´avel. Os modelos de cores, atualmente existentes, podem ser
separa-dos em dois tipos: modelos orientasepara-dos a hardware (RGB, YUV e CMY) e orien-tados a usu´arios (HSV, HSL e HVC). Cada modelo possui um meio de convers˜ao
para alguma outra especifica¸c˜ao de cor, todas elas internacionalmente
padroniza-das [Foley and Hughes, 1990].
O m´odulo digitalizador do sistema proposto, como j´a foi dito, trabalha com dois
modelos de cor, RGB e HSL, o que n˜ao impede de ser usado outro modelo. Isso
´e poss´ıvel atrav´es do processo de convers˜ao de modelos que pode facilmente ser
implementado, embora `as custas de um maior esfor¸co computacional. A seguir ´e
feita uma breve cita¸c˜ao dos modelos fornecidos pelo m´odulo digitalizador.
2.2.1
Modelo RGB
Baseado na teoria de “tri-est´ımulo” da vis˜ao, os olhos humanos percebem a cor
atrav´es da ativa¸c˜ao de trˆes pigmentos visuais nos cones da retina. Esses
pigmen-tos tˆem um pico de sensibilidade nos comprimenpigmen-tos de onda por volta de 630nm
(vermelho), 530nm (verde) e 450nm (azul). A cor ´e percebida pela compara¸c˜ao
das intensidades das cores prim´arias de uma fonte luminosa. Essa teoria serve
como base para a constru¸c˜ao de monitores coloridos que usam as trˆes cores
pri-m´arias [Hearn and Baker, 1994].
O modelo RGB ´e o mais usado dentre os modelos de cores. Ele se baseia em um
sistema de coordenadas cartesianas, onde cada cor aparece em seus componentes
espectrais prim´arios Red (vermelho), Green (verde) e Blue (azul). As trˆes cores juntas com toda intensidade formam a corbranca, e a ausˆencia das trˆes forma a cor
intervalo [0,1], de acordo com o subespa¸co de um sistema de coordenadas
tridimen-sionais como mostrado na figura 2.1.
A origem do sistema de coordenadas, citado anteriormente, representa a cor
preta, sendo o branco representado pelo v´ertice (1,1,1) do cubo de cores. Neste cubo,
a escala de cinza varia do preto ao branco, ao longo da reta que une esses dois
v´erti-ces. As cores prim´arias (vermelho, verde e azul) s˜ao representadas pelos v´ertices do
cubo sobre os eixos do sistema de coordenadas. Os v´ertices remanescentes
represen-tam as cores complementares (amarelo, ciano e magenta) [Foley and Hughes, 1990],
que s˜ao aquelas que, se somadas `a sua cor prim´aria, resultam na cor branca (1,1,1),
como pode ser visto nas equa¸c˜oes abaixo:
vermelho(1,0,0) +ciano(0,1,1) =branco(1,1,1) (2.1)
verde(0,1,0) +magenta(1,0,1) =branco(1,1,1) (2.2)
azul(0,0,1) +amarelo(1,1,0) =branco(1,1,1) (2.3)
(1,0,1) Verde
Vermelho
Azul Ciano
Preto
Branco
Magenta
Amarelo
(0,0,0)
(1,1,0)
(0,0,1)
(1,1,1)
(1,0,0) (0,1,0)
(0,1,1)
2.2.2
Modelo HSL
O modelo HSL (Hue, Saturation, Lightness) ´e um modelo baseado em
parˆame-tros intuitivos de cores, sendo derivado do cubo de cores do modelo RGB. Ele ´e
representado por um “cone hexagonal duplo”. A maneira como ´e formado o
hex´a-gono do modelo HSL ´e melhor visualizada na figura 2.2. O cone hexagonal duplo
representa o subconjunto de um sistema de coordenadas cil´ındricas, como mostrado
na figura 2.3 [Hearn and Baker, 1994].
Os parˆametros do modelo HSL s˜ao especificados como:
• Intensidade de CorH: especifica um ˆangulo ao redor do eixo vertical do cone,
variando de 0o, que corresponde ao vermelho, a 360o. Os v´ertices do hex´agono
s˜ao separados por ˆangulos de 60o, e correspondem `as cores prim´arias e suas
complementares. Cada v´ertice de cor complementar situa-se a 180o do v´ertice
da respectiva cor prim´aria. O parˆametro H possui valor indefinido para a
escala de cinza, que vai do preto ao branco.
• Satura¸c˜aoS: medida ao longo do eixo horizontal e especifica a pureza relativa
da cor. Este parˆametro varia de 0 a 1, e para cores puras, S = 1. `A medida
queS diminui, a pureza da cor tamb´em diminui. Em S = 0 temos a escala de
cinza.
• Luminˆancia L: medida ao longo do eixo vertical, possui valor 0 para o preto e
1 para o branco. Especifica a quantidade de luz na cor. ParaL= 0.5 eS = 1
temos um hex´agono que corresponde `as cores puras.
FOLEY e HUGHES [Foley and Hughes, 1990] descrevem rotinas em linguagem
de programa¸c˜ao C que possibilitam a transforma¸c˜ao do modelo RGB para o HSL, e
vice-versa.
2.2.3
Escolha do Modelo de Cor
A escolha do modelo de cor no tratamento de imagens ´e de fundamental
B Vermelho Amarelo Verde Azul Ciano Magenta G R Branco
Hexágono de cores (b) (a)
Modelo RGB
Figura 2.2: Vendo o cubo de cores RGB (a) ao longo da diagonal principal, seus
limites externos formam um hex´agono (b).
120o 240o 0o 0.5 S H L Branco Verde Vermelho Ciano Azul Magenta Amarelo Preto 1.0 0.0
Figura 2.3: Cone Hexagonal Duplo - Modelo HSL.
escolhida uma componente, ou rela¸c˜ao entre componentes, do modelo de cor que
Isso permite a defini¸c˜ao de limites bem espec´ıficos onde est˜ao localizados os diversos
elementos da imagem.
Al´em da robustez a varia¸c˜oes de ilumina¸c˜ao, um fator muito importante a ser
considerado em processamento de imagens ´e o tempo de execu¸c˜ao dos programas.
Sendo assim, deve ser escolhido um modelo que forne¸ca a maior quantidade de
informa¸c˜oes de cor, com a menor quantidade de dados poss´ıvel que possibilite a
diferencia¸c˜ao de cores dos objetos da imagem em quest˜ao.
O modelo HSL possui caracter´ısticas de cor e de luminˆancia separadas, ao
m´a-ximo, em duas componentes: H, que especifica a cor, e L, que especifica a quantidade
de luz que possui a imagem. Portanto, varia¸c˜oes de luz na imagem interferem
dire-tamente nos valores expressos na matriz L, e quase n˜ao alteram os valores da matriz
H. Como a separa¸c˜ao das caracter´ısticas de cor e de luminˆancia n˜ao ´e completa, uma
margem de seguran¸ca deve ser considerada ao se trabalhar com o modelo HSL. Uma
desvantagem do modelo HSL ´e que ele n˜ao possui valores definidos da matriz H para
as cores branca e preta, que s˜ao cores predominantes na imagem a ser processada.
J´a o modelo RGB necessariamente utiliza as trˆes componentes para definir as cores
e a quantidade de luz da imagem. Isso implica que, ao utilizar o modelo RGB para
diferencia¸c˜ao de cores, deve-se fazer uso de suas trˆes componentes ou definir uma
rela¸c˜ao entre elas que possibilite tal trabalho.
2.3
Arquitetura do Sistema de Vis˜
ao Proposto
O sistema de vis˜ao proposto pode ser dividido em m´odulos como mostra a
fi-gura 2.4. As informa¸c˜oes sobre o espa¸co de trabalho (campo de jogo) s˜ao obtidas
pelo m´odulo de aquisi¸c˜ao de imagens. Antes desses dados serem processados, o
sis-tema deve ser calibrado. A calibra¸c˜ao do sissis-tema pode ser feitaoff-lineou em tempo real, quando necess´ario. Como resultados do processamento dos dados, s˜ao
forneci-das posi¸c˜ao, orienta¸c˜ao e identifica¸c˜ao dos objetos em campo. As se¸c˜oes seguintes
do campo
Imagem Processamento
Calibrar Sistema
Posição, orientação e identificação dos objetos Adquirir
Imagens
Figura 2.4: Diagrama simplificado de um sistema de vis˜ao.
2.3.1
Aquisi¸
c˜
ao de imagens
De acordo com GONZALEZ [Gonzalez and Woods, 1994], dois elementos s˜ao
primordiais em uma aquisi¸c˜ao de imagens digitais. O primeiro ´e um dispositivo
f´ısico que seja sens´ıvel a uma banda do espectro de energia eletromagn´etica e que
produza um sinal el´etrico de sa´ıda, proporcional a um n´ıvel de energia percebida. O
segundo elemento, chamado digitalizador, ´e um dispositivo para convers˜ao do sinal
el´etrico da sa´ıda do dispositivo de sensoreamento f´ısico, para a forma digital. No
caso do projeto de futebol de robˆos LECA-UFRN, utiliza-se uma cˆamera CCD 2
Samsung colorida. O digitalizador utilizado ´e uma placa de aquisi¸c˜ao de imagens (frame grabber) da National Instruments, modelo PCI 1411. A mesma fornecer´a dados, de forma c´ıclica, em trˆes matrizes de componentes de cor, onde cada elemento
dessas matrizes est´a associado a um ponto de um determinado quadro da imagem,
denominado pixel. Os modelos de cor padr˜oes do digitalizador s˜ao o RGB e o HSL,
cuja utiliza¸c˜ao ser´a discutida posteriormente. O esquema de aquisi¸c˜ao de imagens ´e
representado de forma simplificada pela figura 2.5.
De acordo com as regras da FIRA, a cˆamera deve ser montada a dois metros ou
G B R
CCD
H S L DIGITA−
LIZADOR
Figura 2.5: Esquema de aquisi¸c˜ao de imagens de uma partida de futebol de robˆos.
mais acima do campo de jogo. A altura da cˆamera ´e importante, pois, quanto mais
alta ela estiver, menos distorcida aparecer´a a imagem. Em vista do que foi
apresen-tado nesta se¸c˜ao, conclui-se que o processo de aquisi¸c˜ao de imagens ´e relativamente
simples, devido ao fato de j´a existir hardware espec´ıfico para essa tarefa, restando apenas escolher os componentes que melhor se adaptam ao processo, dentre eles, o
modelo de cor que deve ser usado: RGB ou HSL. A figura 2.6 mostra um exemplo
de uma imagem adquirida do campo no modelo RGB. A figura 2.7 mostra a mesma
imagem representada no modelo HSL, ou seja, a imagem ´e representada
utilizando-se os valores H, S e L, respectivamente, para os parˆametros R, G e B. Na imagem
do campo representada no modelo HSL (figura 2.7) pode ser percebida a indefini¸c˜ao
de valores do parˆametro H para as cores branca e preta, predominantes na imagem.
2.3.2
Calibra¸
c˜
ao
O est´agio de calibra¸c˜ao frequentemente ´e realizadooff-line, previamente ao pro-cessamento propriamente dito, visando sintonizar o est´agio de propro-cessamento, de
modo a otimizar a dete¸c˜ao dos objetos em campo. O processo de calibra¸c˜ao pode
ser efetuado manualmente, pelo operador, ou de modo autom´atico, por um
Figura 2.6: Exemplo de imagem representada no modelo RGB.
Figura 2.7: Exemplo de imagem representada no modelo HSL.
de processamento usados no sistema de vis˜ao, tais como: brilho, satura¸c˜ao,
con-traste e resolu¸c˜ao da imagem. Al´em disso, de acordo com o modelo de cor utilizado
objetos de cor, ou seja, os r´otulos que identificam cada robˆo, e a bola laranja. Esses
dados s˜ao fornecidos como parˆametros de inicializa¸c˜ao do programa de localiza¸c˜ao
dos robˆos e da bola, possibilitando a classifica¸c˜ao de cada pixel da imagem. Esse
est´agio do sistema de vis˜ao ser´a melhor tratado no cap´ıtulo 4.
2.3.3
Processamento das Imagens
Ap´os o est´agio de calibra¸c˜ao, a imagem est´a pronta para ser processada. Aqui
deve entrar em a¸c˜ao o softwarede localiza¸c˜ao e identifica¸c˜ao dos elementos da ima-gem. O algoritmo de localiza¸c˜ao fornece a posi¸c˜ao e a orienta¸c˜ao de todos os objetos
em cena. O processo de identifica¸c˜ao consiste na determina¸c˜ao do que representa
cada objeto localizado na imagem, isto ´e, o algoritmo de identifica¸c˜ao deve
reco-nhecer os objetos detectados, associando-os a modelos conhecidos (ex.: robˆo 02 do
time azul, bola, etc.). O modo como essa informa¸c˜ao deve ser extra´ıda fica a cargo
do algoritmo de localiza¸c˜ao e identifica¸c˜ao dos elementos da imagem. O algoritmo
utilizado deve atuar de forma r´apida e eficiente, analisando a maior quantidade
pos-s´ıvel de quadros por segundo, implicando na eficiˆencia do sistema. O algoritmo de
localiza¸c˜ao dos robˆos e da bola ´e melhor tratado no cap´ıtulo 5.
2.4
Conclus˜
oes
Este cap´ıtulo mostrou, de uma maneira geral, as caracter´ısticas mais relevantes a
serem levadas em considera¸c˜ao no projeto de um sistema de vis˜ao aplicado ao futebol
de robˆos. Os cap´ıtulos seguintes mostram o funcionamento detalhado dos m´odulos de
calibra¸c˜ao e processamento das imagens, para fornecimento da posi¸c˜ao, orienta¸c˜ao e
identifica¸c˜ao dos objetos do espa¸co de trabalho, propostos nesta disserta¸c˜ao. Antes
disso, s˜ao mostradas algumas t´ecnicas utilizadas em alguns sistemas de vis˜ao j´a
Cap´ıtulo 3
T´
ecnicas Existentes
3.1
Introdu¸
c˜
ao
Os cap´ıtulos anteriores mostraram uma vis˜ao do funcionamento do futebol de
robˆos e uma s´erie de objetivos relacionados ao m´odulo de vis˜ao. Este cap´ıtulo
apresenta uma revis˜ao de t´ecnicas que podem ser ou tˆem sido usadas para calibra¸c˜ao,
classifica¸c˜ao de cores e detec¸c˜ao de objetos, com o prop´osito de satisfazer os objetivos
do m´odulo de vis˜ao.
3.2
Calibra¸
c˜
ao e Classifica¸
c˜
ao
O est´agio de calibra¸c˜ao consiste basicamente em analisar as imagens adquiridas,
sob determinadas condi¸c˜oes de ilumina¸c˜ao, e determinar os parˆametros do sistema
de vis˜ao mais eficientes para classificar a cor de cada pixel. A seguir s˜ao apresentadas
algumas t´ecnicas que visam esse prop´osito.
3.2.1
Sub-espa¸
co de cores
Essa t´ecnica consiste em definir manualmente, atrav´es da an´alise de histograma1
,
um subespa¸co dentro do espa¸co 3D (R,G,B) de cores correspondente a cada cor
presente na imagem. Ap´os delimitados esses subespa¸cos, s˜ao definidos intervalos
bidimensionais das rela¸c˜oesR/GeG/Bpara classificar cada pixel de cor da imagem
[Costa et al., 1999]. Os dados podem tamb´em ser mapeados somente nos planos RG
e GB [Campos et al., 1998].
Apesar de ter produzido resultados satisfat´orios, como analisado por seus autores,
esta t´ecnica apresenta algumas desvantagens como: perda dos objetos em algumas
imagens durante a partida e dificuldade em definir subespa¸cos mutuamente exclusos
capazes de classificar uma grande quantidade de cores. Isso impossibilita o uso de
muitas cores no jogo.
3.2.2
Menor distˆ
ancia
Ap´os a an´alise do histograma, um vetor (R, G, B) ´e definido para cada cor. A
classifica¸c˜ao de cores ´e feita observando-se a menor distˆancia entre o vetor RGB
de cada pixel, e os vetores de cor definidos anteriormente [Wyeth et al., 1999]. A
grande desvantagem deste m´etodo consiste na dificuldade em definir corretamente
o vetor RGB de classifica¸c˜ao.
3.2.3
Sele¸
c˜
ao com o mouse
Essa t´ecnica consiste em o usu´ario utilizar o mouse para, a partir das imagens
capturadas em tempo real, definir as cores que ser˜ao utilizadas. Por exemplo, para
calibrar a cor da bola, o usu´ario seleciona a a¸c˜ao “calibrar - cor da bola” em um
menu e depois clica com o mouse em trˆes regi˜oes distintas da imagem da bola. Esses
cliques capturam os valores RGB de cada um dos trˆes pixels. O programa define
uma faixa de valores tridimensionais, de tamanho pr´e-determinado pelo usu´ario, que
possua a m´edia dos valores anteriormente capturados como o centro desse intervalo.
Esse intervalo de valores serve para classificar aquela cor, ou seja, todo pixel
anali-sado que possua valor dentro desse intervalo ser´a classificado como sendo dessa cor
[Bianchi and Costa, 2000].
ape-sar de sua praticidade, o mesmo apresenta algumas desvantagens como por exemplo,
a impossibilidade de o sistema definir limites suficientemente grandes, que sejam
ca-pazes de classificar corretamente cada pixel. Devido `as varia¸c˜oes de luminosidade
no campo de jogo, um pixel pode pertencer a um certo objeto de cor e, devido aos
limites terem sido mal calculados, ser classificado erroneamente.
3.3
Localiza¸
c˜
ao dos Objetos
Essa etapa consiste em analisar os dados correspondentes `a imagem e definir
quais objetos est˜ao presentes nela (robˆos e bola), al´em de sua localiza¸c˜ao no espa¸co
de trabalho. Para facilitar a localiza¸c˜ao de cada robˆo, r´otulos coloridos em seu
topo podem ser utilizados. T´ecnicas foram pesquisadas e estudadas, sendo algumas
mostradas a seguir.
3.3.1
Centr´
oide do quadrado
A t´ecnica do c´alculo do centr´oide do quadrado foi utilizada pelo time GUARAN ´A
[Costa et al., 1999] para robˆos que utilizam r´otulos como o da figura 3.1. Os robˆos
s˜ao diferenciados, uns dos outros, com dois r´otulos, um que define a cor do time e
outro que define a orienta¸c˜ao do robˆo. ´
E feita uma an´alise pixel a pixel dos dados da imagem, sendo os pixels
classifica-dos e agrupaclassifica-dos. O centr´oide (x, y) de cada r´otulo e a posi¸c˜ao da bola s˜ao calculados
por:
x= 1
n
n
i=1
xi ey =
1
n
n
i=1
yi, (3.1)
onde os pontos (xi, yi) correspondem aos pixels que foram classificados como
per-tencentes ao r´otulo e n ao n´umero de pixels do r´otulo. Ap´os calculados todos os
centr´oides, a orienta¸c˜ao a ´e medida a partir do eixo x ao vetor tp, como ilustrado
na figura 3.1, sendo dada pela f´ormula:
a= arctan yp−yt
xp−xt
Time
Cor do
Cor
t
p
a
rodas
x
Auxiliar
Figura 3.1: Robˆo do time GUARAN ´A. C´alculo da posi¸c˜ao e orienta¸c˜ao.
A posi¸c˜ao (x, y) de cada robˆo ´e dada por uma rela¸c˜ao entre os centr´oides dos
dois r´otulos deste robˆo, dada por:
x= c1xt+c2xp
c1+c2
ey = c1yt+c2yp
c1+c2
, (3.3)
ondec1 ec2 s˜ao fatores que dependem do tamanho de cada r´otulo e da resolu¸c˜ao da
imagem.
O esfor¸co computacional empregado neste m´etodo constitui em uma grande
des-vantagem, porque o algoritmo requer a an´alise de todos os pixels da imagem para
poder determinar os pixels que constituem cada r´otulo.
3.3.2
Momentos e Eixos Principais
A orienta¸c˜ao tamb´em pode ser calculada atrav´es do c´alculo de momentos dos
elementos de cor (r´otulos) da imagem. Este m´etodo pode ser aplicado para identificar
robˆos com r´otulos, como o mostrado na figura 3.2 [Kim and Vadakkepat, 2000].
Essa t´ecnica consiste em calcular, pelo uso de momentos, o eixo maior p do
y
x
rodas
O
p q
Figura 3.2: Posi¸c˜ao e orienta¸c˜ao baseada no c´alculo do momento angular.
calculados utilizando-se a seguinte equa¸c˜ao [Wyeth and Brown, 2000]:
mjk = xmax
x=xmin
ymax
y=ymin
(x−xc)j(y−yc)kf(x, y), (3.4)
onde f(x, y) ´e 1 se o pixel pertence ao r´otulo, e 0 caso contr´ario. Os fatores xmin,
xmax,ymin eymax s˜ao os extremos do agrupamento colorido determinado durante o
processamento. O centr´oide (xc, yc) ´e pr´e-calculado durante o processo de forma¸c˜ao
dos grupos coloridos. A orienta¸c˜ao q do eixo principal, p, do segmento ´e calculada
atrav´es da seguinte equa¸c˜ao:
tan(2q) = 2m11
m20−m02
. (3.5)
A orienta¸c˜ao do robˆo ´e calculada a partir da orienta¸c˜ao do eixo principal p, de
acordo com a disposi¸c˜ao do r´otulo no robˆo. Para o caso do robˆo representado na
figura 3.2, a sua orienta¸c˜ao ´e calculada por:
A posi¸c˜ao do robˆo ´e determinada pelo centr´oide de seu r´otulo. A posi¸c˜ao da
bola ´e determinada pelo seu centr´oide. O esfor¸co computacional tamb´em ´e uma
grande desvantagem deste m´etodo, devido `a necessidade de resolu¸c˜ao de equa¸c˜oes
matem´aticas complexas para c´alculo dos momentos, pois as mesmas operam sobre
um grande n´umero de pixels.
3.3.3
Centr´
oide do c´ırculo
Neste m´etodo, a cada nova imagem o sistema inicia uma varredura, com passos
menores que a metade do menor objeto, `a procura da cor desejada. Ao encontrar
um pixels com a cor da bola, sua vizinhan¸ca ´e processada e seu centro determinado,
e ao encontrar um pixel com a cor de um dos robˆos, o sistema inicia um algoritmo
que determina sua posi¸c˜ao e orienta¸c˜ao, analisando os pixels vizinhos ao pixel
encon-trado. Essa t´ecnica apresentada pelo time FUTEPOLI [Bianchi and Costa, 2000],
foi empregada para robˆos que possuem r´otulos circulares.
O c´alculo do centr´oide dos r´otulos circulares e da bola ´e feito com o uso de um
algoritmo bastante simples, ilustrado na figura 3.3. A partir de um ponto inicial
(Pini) encontrado com a cor desejada, analisa-se o pixel imediatamente vizinho `a
esquerda. Caso ele tenha a mesma cor que o ponto encontrado, passa-se ao vizinho
do vizinho, e assim sucessivamente, at´e encontrar o primeiro ponto que n˜ao pertence
ao r´otulo (P1). O processo ´e repetido para a direita, para determinar o ponto P2.
Tra¸ca-se ent˜ao uma reta de P1 aP2. A partir do ponto m´edio da reta anteriormente
tra¸cada (Pcx), tra¸ca-se uma perpendicular e encontram-se as bordas do c´ırculo (P3
e P4), repetindo-se o mesmo procedimento para cima e para baixo. O ponto m´edio
Pcentral dessa segunda reta define o centro do c´ırculo.
A identifica¸c˜ao dos robˆos do time FUTEPOLI ´e composta de dois c´ırculos de
tamanhos e cores diferentes, como pode ser visto na figura 3.4. Para encontrar a
posi¸c˜ao e orienta¸c˜ao de um robˆo ´e utilizado o seguinte algoritmo:
1. Encontre o centro do c´ırculo maior.
P1
P2
P3
P4
Pcx
Pcentral
Pini
Figura 3.3: C´alculo do centro do r´otulo circular.
3. Considerando a distˆancia entre os c´ırculos maior e menor, definir pares de
c´ırculos como pertencentes a um mesmo robˆo.
4. Caso haja mais de uma combina¸c˜ao poss´ıvel entre pares, verifique se existe a
conex˜ao preta entre eles, definindo um par.
5. Trace uma reta ligando os centros dos c´ırculos pertencentes ao mesmo robˆo. O
seu ponto m´edio define a posi¸c˜ao do robˆo, e sua inclina¸c˜ao define a orienta¸c˜ao
do robˆo.
Esse m´etodo, apesar de muito bom, possui algumas desvantagens. Al´em da
ne-cessidade do uso de trˆes cores em cada robˆo, o segundo r´otulo ´e muito pequeno e
pode ser de dif´ıcil localiza¸c˜ao em determinadas cenas. Ap´os uma calibra¸c˜ao onde os
limites de classifica¸c˜ao de cores foram definidos manualmente, o algoritmo de
detec-¸c˜ao de c´ırculos foi testado e, em certas ocasi˜oes, os cruzamentos de linhas brancas
C
C menor
maior
Fundo
Figura 3.4: Identifica¸c˜ao dos robˆos do time FUTEPOLI.
3.4
Conclus˜
oes
O estudo das t´ecnicas descritas neste cap´ıtulo serviu de referˆencia para uma
me-lhor defini¸c˜ao das t´ecnicas propostas neste trabalho, tendo como principal objetivo
propiciar um sistema de vis˜ao com maior eficiˆencia e robustez. Os cap´ıtulos
seguin-tes tratam detalhadamente das t´ecnicas desenvolvidas para o projeto de Futebol de
Cap´ıtulo 4
Calibra¸
c˜
ao: O Algoritmo
K-Means
4.1
Introdu¸
c˜
ao
Um dos mais importantes est´agios do sistema de vis˜ao consiste na calibra¸c˜ao de
cores. As cores precisam ser definidas e cada pixel precisa ser reconhecido e
clas-sificado. O est´agio de calibra¸c˜ao consiste, basicamente, em uma an´alise pr´evia dos
dados de uma imagem modelo sob determinadas condi¸c˜oes de luz. O principal
obje-tivo da calibra¸c˜ao ´e possibilitar ao sistema de vis˜ao identificar e classificar, quanto
`a cor, todos os pixels da imagem. Para isso, precisa ser definido o menor volume
no espa¸co de cores que contenha a cor desejada [Campos et al., 1998]. Essa fase ´e
muito importante, pois o sistema deve ser calibrado de acordo com a luminosidade
dispon´ıvel. Ap´os calibrado, o sistema deve mostrar-se robusto a pequenas e r´apidas
varia¸c˜oes de luminosidade, e `a desigual quantidade de luz nas diversas regi˜oes do
campo.
A calibra¸c˜ao de cores pode ser feita de forma manual ou autom´atica. A calibra¸c˜ao
manual consiste em o usu´ario analisar as matrizes de componentes de cor na sa´ıda
do digitalizador e fornecer os parˆametros essenciais ao programa de localiza¸c˜ao dos
robˆos. A calibra¸c˜ao autom´atica consiste na execu¸c˜ao de um programa que detecte
os parˆametros que possibilitem identificar e classificar os pixels da imagem. Esse
no algoritmo de aglomera¸c˜ao K-means. Antes disso, a revis˜ao de alguns conceitos ´e de extrema importˆancia.
4.2
Limiar e Histograma
Limiar pode ser definido como um valor limite entre diferentes faixas de
intensi-dade que separa classes diferentes de pixels. Ele pode ser usado para checar o n´ıvel
de intensidade de um determinado pixel e classific´a-lo segundo o seu valor. Muito
utilizado no tratamento de imagens bin´arias, ajuda a identificar o contraste existente
entre suas partes. Esse conceito ´e ´util para a defini¸c˜ao de limites que sejam capazes
de agrupar pixels pertencentes a um mesmo elemento de cor. Esses limites ser˜ao
determinados a partir da an´alise do histograma.
Considerer uma vari´avel que representa os n´ıveis dos elementos de uma matriz,
onde esses elementos correspondem aos pixels de uma imagem, e r variando em
um intervalo discreto de tamanho L, [0, L−1]. O histograma de uma determinada
componente de uma imagem digital, com n´ıveis variando no intervalo anteriormente
citado, pode ser representado pela fun¸c˜ao:
h(rk) =
nk
n, (4.1)
onderk representa o k-´esimo n´ıvel da componente,nk o n´umero de pixels na imagem
com esse n´ıvel, n o n´umero total de pixels ek= 0,1, ..., L−1.
A fun¸c˜ao h(rk) d´a uma estimativa da probabilidade de ocorrˆencia de um
deter-minado n´ıvel rk de uma componente. Um gr´afico dessa fun¸c˜ao, para todos os valores
de k, fornece uma descri¸c˜ao global da aparˆencia de uma imagem. A figura 4.1
mos-tra o histograma de dois tipos de imagens em preto e branco. O histograma da
figura 4.1(a) mostra que os n´ıveis de cinza est˜ao concentrados em dire¸c˜ao `a
extre-midade “escura” do intervalo de n´ıveis. Assim, esse histograma corresponde a uma
imagem com caracter´ısticas predominantemente escuras. O contr´ario se verifica
para a figura 4.1(b), onde os n´ıveis de cinza se concentram na extremidade “clara”
k
p(r )
k
r
k
r
k
p(r )
Imagem clara Imagem escura
(b) (a)
Figura 4.1: Histograma de dois tipos b´asicos de imagens.
Embora as propriedades acima discutidas sejam descri¸c˜oes globais que n˜ao dizem
nada espec´ıfico sobre o conte´udo da imagem, a forma do histograma nos d´a
informa-¸c˜oes sobre a possibilidade para realce do contraste ou, at´e mesmo, mostrar a
exis-tˆencia de elementos com um determinado n´ıvel de cor [Gonzalez and Woods, 1994].
Em imagens coloridas, os pixels podem ser considerados como pontos num espa¸co
tridimensional, cujas coordenadas dependem do modelo de cores adotado (RGB,
HSL, etc.). Neste caso, os limiares n˜ao s˜ao mais representados por um valor escalar,
um ponto que separa a reta de intensidade em duas semi-retas associadas a classes
diferentes, mas por superf´ıcies (semi-planos, superf´ıcies esf´ericas, etc.), que dividem
o espa¸co de cores em sub-espa¸cos disjuntos, cujos pontos podem ser associados a
classes (ouclusters) diferentes.
4.3
O Algoritmo
K-means
Diversas t´ecnicas de aglomera¸c˜ao tˆem sido ferramentas frequentemente
recomen-dadas para trabalhos de classifica¸c˜ao de padr˜oes. Aglomera¸c˜ao nada mais ´e que um
processo de particionamento de um conjunto de padr˜oes em grupos (clusters) disjun-tos, ou classes. ´E feito de tal forma que os padr˜oes do mesmo agrupamento s˜ao
O objetivo final de toda t´ecnica de aglomera¸c˜ao ´e encontrar “agrupamentos
natu-rais” atrav´es da an´alise de um conjunto de dados. Provavelmente o mais popular
algoritmo de aglomera¸c˜ao ´e o algoritmo K-means.
O algoritmo K-means´e largamente aceito como uma t´ecnica “padr˜ao” de detec-¸c˜ao autom´atica de classes pela an´alise de dados [Raatikainen, 1993]. Trata-se de
um m´etodo baseado em heur´ıstica, que possui um grande poder de modelagem. O
princ´ıpio de aglomera¸c˜ao consiste na determina¸c˜ao do modelo da distribui¸c˜ao dos
exemplos no espa¸co atribu´ıdo. O K-means atinge esses objetivos de forma r´apida e eficiente, utilizando um n´umero fixo de classes iniciais, determinadas pelo
usu´a-rio [Michie et al., 1994]. Assim como todos os m´etodos particionais, o algoritmo
K-means produz uma parti¸c˜ao dos n objetos em K agrupamentos, geralmente oti-mizando uma fun¸c˜ao objetivo. Essa fun¸c˜ao objetivo geralmente ´e representada pelo
somat´orio das distˆancias entre os dados e o centro que o classifica, o que
corres-ponde ao erro total absoluto. Existem algumas vantagens, como a possibilidade de
mudan¸cas de pertinˆencia de objetos em rela¸c˜ao a um agrupamento durante todo o
processo de forma¸c˜ao dos agrupamentos, e possibilidade de trabalhar com grandes
bases de dados. Esse m´etodo requer tempo de ordem O(n), onde n ´e o n´umero de
objetos no conjunto de dados [Costa, 1999].
O referido algoritmo ´e sens´ıvel `a escolha das classes iniciais. O fato do n´umero
de classes ter que ser fixa e conhecida a priori, e de solu¸c˜oes diferentes poderem ser geradas dependendo do n´umero K de classes escolhidas, constituem algumas
desvantagens do K-means. Cada classe ´e representada por um ponto (centro) e, inicialmente, ´e formada somente por este. A escolha inicial correta do n´umero de
classes ´e um dos problemas mais fundamentais e ainda n˜ao solucionados. O problema
de se escolher K de forma errada ´e que o m´etodo ir´a impor uma estrutura aos dados
ao inv´es de buscar uma inerente a estes [Alsabti et al., 1997]. A escolha dos centros
deve ser feita dentro da base de dados, pelo usu´ario ou de forma aleat´oria.
Ap´os escolhidos os centros, cada dado ´e assinalado como pertencente `a classe cujo
centro est´a mais pr´oximo. Ap´os todos os dados serem processados, a posi¸c˜ao m´edia
novamente. Esse processo ´e repetido at´e que n˜ao mais ocorram mudan¸cas nos centros
encontrados ou um n´umero limite de itera¸c˜oes definido pelo usu´ario seja atingido.
O algoritmo 1 e a figura 4.2 mostram melhor o funcionamento doK-means.
Algoritmo 1 Algoritmo de aglomera¸c˜ao K-means.
1 Inicialize os K centros (w1, ..., wk), que representam as classes
2 Cada classe Cj ´e associada a um centrowj
3 Para cada dado de entradapl, assinale-o como pertencente `a classe Cj, casowj
seja o centro mais pr´oximo a este dado
4 Para cada classeCj, atualize os centroswj atrav´es da m´edia de todas as amostras
de dados assinaladas como pertencentes a cada classe Cj
5 Calcular a fun¸c˜ao de erro E:
E =
k
j=1
pl∈Cj
|pl−wj|
2
6. Repetir passos 3, 4 e 5 at´e que o erro E n˜ao mude significativamente
4.4
Calibra¸
c˜
ao do Sistema
Antes da calibra¸c˜ao de cores do sistema, alguns parˆametros como brilho,
con-traste, satura¸c˜ao e resolu¸c˜ao, referentes `a imagem precisam ser ajustados. Esses
ajustes s˜ao feitos manualmente atrav´es dosoftwareque acompanha a placa digitali-zadora, de forma que a imagem do campo apresente uma boa ilumina¸c˜ao e contraste
(diferen¸cas entre cores). Outro parˆametro de extrema importˆancia ´e a altura da
cˆamera, que deve ser ajustada previamente, pois influencia diretamente nos valores
dos parˆametros anteriormente citados. De acordo com as regras da FIRA (ver
apˆen-dice A), a cˆamera deve ser posicionada a dois metros ou mais acima do campo de
jogo.
A calibra¸c˜ao de cores ´e feita utilizando-se o algoritmoK-means. Inicialmente s˜ao escolhidos K centros de maneira aleat´oria, dentro do conjunto de pixels que forma a