• Nenhum resultado encontrado

Desenvolvimento de um Sistema de Visão Global para uma Frota de Mini-Robôs Móveis

N/A
N/A
Protected

Academic year: 2017

Share "Desenvolvimento de um Sistema de Visão Global para uma Frota de Mini-Robôs Móveis"

Copied!
92
0
0

Texto

(1)

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

(2)

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

(3)

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

(4)

“O que sabemos ´e uma gota, o

que ignoramos ´e um oceano.”

(5)

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

(6)

Lista de Algoritmos

(7)

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

(8)

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

(9)

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

(10)

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

(11)

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

(12)

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

(13)

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

(14)

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

(15)

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

(16)

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.

(17)

each robot can be obtained with a precision of few millimeters. The updating of the

(18)

Introdu¸

ao

Motiva¸

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.

(19)

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

(20)

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]:

(21)

• 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¸

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

(22)

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

(23)

Cap´ıtulo 1

O Futebol de Robˆ

os

1.1

Introdu¸

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

(24)

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

(25)

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

(26)

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

(27)

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.

(28)

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

(29)

Figura 1.3: Imagem do campo de jogo.

Figura 1.4: Estrutura de ilumina¸c˜ao do campo.

(30)

Figura 1.5: Mini-robˆos.

1.4.3

Atribui¸

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¸

ao e processamento de imagens

O sistema de aquisi¸c˜ao de imagens ´e formado basicamente por uma cˆamera e

(31)

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¸

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

(32)

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

(33)

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

(34)

Cap´ıtulo 2

O Sistema de Vis˜

ao

2.1

Introdu¸

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

(35)

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

(36)

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)

(37)

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

(38)

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

(39)

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

(40)

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¸

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

(41)

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¸

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

(42)

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

(43)

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

(44)

Cap´ıtulo 3

ecnicas Existentes

3.1

Introdu¸

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¸

ao e Classifica¸

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

(45)

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¸

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].

(46)

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¸

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

(47)

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

(48)

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:

(49)

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.

(50)

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

(51)

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

(52)

Cap´ıtulo 4

Calibra¸

ao: O Algoritmo

K-Means

4.1

Introdu¸

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

(53)

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”

(54)

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

(55)

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

(56)

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¸

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

Imagem

Figura 1.2: Esquema de uma partida de futebol de robˆos.
Figura 1.4: Estrutura de ilumina¸c˜ao do campo.
Figura 1.5: Mini-robˆos.
Figura 1.7: PC’s utilizados para execu¸c˜ao dos programas e controle dos robˆ os.
+7

Referências

Documentos relacionados

 Random storage - refere-se à alocação de um espaço de stock de forma aleatória, segundo o espaço disponível no momento de chegada dos produtos (Petersen e Aase,

Predicted values were calculated by measuring the joint probability of effects on isopods’ biomass variation found for single exposures to different soil

Os supercondutores magnéticos, volantes de inércia e os condensadores são apropriados para aplicações que necessitam de grande potência de saída em pouca

Dessa maneira, os resultados desta tese são uma síntese que propõe o uso de índices não convencionais de conforto térmico, utilizando o Índice de Temperatura de Globo Negro e

Atualmente os currículos em ensino de ciências sinalizam que os conteúdos difundidos em sala de aula devem proporcionar ao educando o desenvolvimento de competências e habilidades

Segundo Cheng (2007) a casa da qualidade (planejamento do produto) é utilizada para traduzir a qualidade demandada pelos clientes em requisitos técnicos do produto

Diante dos discursos levantados por tais instituições, sejam elas, os Museus, os Institutos, ou as Faculdades, a obra de Schwarz 1993, fornece amplo conhecimento sobre a formação

Our contributions are: a set of guidelines that provide meaning to the different modelling elements of SysML used during the design of systems; the individual formal semantics for