165
GUILHERME BRUNI VINCENZI MODELO DIDÁTICO DE SISTEMA MICROCONTROLADO PARA APLICAÇÃO EM FUTEBOL DE ROBÔS LONDRINA 2012

GUILHERME BRUNI VINCENZI - Universidade Estadual de … · Tabela 9 - Valores de massa, momentos de inércia e centróides calculados para os corpos de interesse. ..... 103 Tabela

Embed Size (px)

Citation preview

  • GUILHERME BRUNI VINCENZI

    MODELO DIDTICO DE SISTEMA MICROCONTROLADO PARA APLICAO EM FUTEBOL DE ROBS

    LONDRINA

    2012

  • GUILHERME BRUNI VINCENZI

    MODELO DIDTICO DE SISTEMA MICROCONTROLADO PARA APLICAO EM FUTEBOL DE ROBS

    Trabalho de Concluso de Curso apresentado ao Departamento de Engenharia Eltrica da Universidade Estadual de Londrina. Orientador: Prof. Dr. Ernesto Fernando Ferreyra Ramrez

    LONDRINA 2012

  • GUILHERME BRUNI VINCENZI

    MODELO DIDTICO DE SISTEMA MICROCONTROLADO PARA APLICAO EM FUTEBOL DE ROBS

    Trabalho de Concluso de Curso apresentado ao Departamento de Engenharia Eltrica da Universidade Estadual de Londrina.

    COMISSO EXAMINADORA

    ____________________________________ Prof. Dr. Ernesto Fernando Ferreyra Ramrez

    Universidade Estadual de Londrina

    ____________________________________ Prof. Dr. Mrcio Roberto Covacic

    Universidade Estadual de Londrina

    ____________________________________ Prof. Msc. Osni Vicente

    Universidade Estadual de Londrina

    Londrina, 13 de novembro de 2012.

  • DEDICATRIAS

    A Deus, que iluminou o meu caminho durante

    esta caminhada.

    minha famlia que, com muito carinho e

    apoio, no mediu esforos para que eu chegasse

    at esta fase da minha vida.

    minha namorada, pelo apoio e incentivo ao

    trabalho realizado.

    Aos meus amigos, pelos preciosos momentos

    compartilhados e pela unio ao longo destes

    anos.

    A todos que contriburam para que a realizao

    deste trabalho fosse possvel.

  • AGRADECIMENTOS

    Agradeo aos meus pais, Marco Antonio e Maria Ceclia, e minha irm

    Luiza, minha fonte diria de fora e alegria para enfrentar os obstculos, atingir

    meus objetivos e sempre buscar o melhor. Obrigado por cada ensinamento, cada

    momento, pela dedicao e por sempre acreditarem em mim.

    Agradeo ao Prof. Dr. Ernesto Fernando Ferreyra Ramirez no s pela

    possibilidade da realizao deste trabalho, mas tambm por todos os momentos

    de convivncia e dedicao, alm do seu exemplo acadmico.

    Aos professores Prof. Dr. Mrcio Roberto Covacic e Prof. Msc. Osni

    Vicente pelo apoio tanto na realizao deste projeto quanto nesta caminhada ao

    longo da Graduao.

    A todos os professores do Departamento de Engenharia Eltrica da

    Universidade Estadual de Londrina pela dedicao em ensinar e contribuir para a

    minha formao acadmica ao longo destes anos de curso.

    minha namorada Poliana pela compreenso, companheirismo, ateno,

    apoio, pacincia e tranqilidade transmitida, me incentivando sempre a alcanar

    os meus objetivos. Obrigado por tudo.

    Ao meu tio Luiz Eduardo, exemplo de dedicao profissional, alm de

    inspirao para traar minhas metas futuras na carreira. Obrigado pelos seus

    ensinamentos.

    Aos meus avs Waldomiro, Teresa, Oscar (in memorian) e Iracema, e

    minha tia Maria Aparecida, obrigado pelo incentivo durante todo este perodo.

    A Jos Marrara, David Krepsky e Prof. Dr. Dcio Gazzoni, pelas

    contribuies dadas a este trabalho.

    A todos os meus amigos, em especial a Rodrigo, Francisco, Jos Carlos,

    Daniel, Danilo, Marcus, Mrcio, Willian e Alexandre, tambm pelas contribuies

    dadas a este projeto, mas acima de tudo pela convivncia e pelos grandes

    momentos proporcionados ao longo desta trajetria.

    Por fim, agradeo a Deus por todas as oportunidades e graas alcanadas

    ao longo da minha vida.

  • E no vos conformeis a este mundo, mas transformai-vos

    pela renovao da vossa mente

    Romanos 12:2

  • i

    VINCENZI, Guilherme Bruni. Modelo Didtico de Sistema Microcontrolado

    para aplicao em Futebol de Robs. 2012. 165 p. Trabalho de Concluso de

    Curso (Graduao em Engenharia Eltrica) Universidade Estadual de Londrina,

    Londrina, 2012.

    RESUMO

    H setenta anos, pesquisadores iniciaram estudos visando desenvolver

    mtodos em que computadores auxiliem ou substituam seres humanos em

    tarefas que exigem rapidez e preciso. Tais estudos deram incio Inteligncia

    Artificial, objetivando transformar o raciocnio humano em modelos matemticos

    interpretados por mquinas que possam analisar problemas e solucion-los sem a

    interferncia humana. Uma das iniciativas est no Futebol de Robs, onde uma

    frota de mquinas disputa uma partida de futebol de forma autnoma. O sistema

    constitudo por trs mdulos: viso computacional, que identifica os objetos de

    interesse e informa ao mdulo da estratgia a localizao de cada um deles;

    estratgia, parte inteligente do sistema que define para qual posio o rob deve

    ir; e um sistema de controle, que move o rob de acordo com a estratgia para se

    chegar a uma posio desejada. O objetivo deste trabalho foi desenvolver um

    modelo deste sistema, criando para isso um mdulo de Viso Computacional e

    Estratgia em ambiente computacional MATLAB. Desenvolveu-se tambm um

    sistema de controle no qual dois motores de corrente contnua so acionados com

    um microcontrolador da Texas Instruments, MSP430G2553, recebendo os dados

    necessrios para o controle, e um circuito de potncia com um transistor e uma

    ponte H alimentado em 9 V. O sistema dispe de um mdulo de calibrao, onde

    as cores dos objetos so inicializadas antes do sistema ser acionado.

    Comparando os resultados obtidos com o embasamento feito, obteve-se

    similaridade e constatou-se que o sistema trabalhou de forma satisfatria, atravs

    do correto interfaceamento entre seus mdulos, bastando realizar algumas

    melhorias na estrutura a fim de se obter melhor velocidade e preciso.

    Palavras-chave: Futebol de Robs, Inteligncia Artificial, Viso Computacional,

    Estratgia, Processamento de Imagens, Controle, Microcontrolador.

  • ii

    VINCENZI, Guilherme Bruni. Didactic Model of Microcontrolled System for Robot Soccer Application. 2012. 165 p. End of Course Assignment (Electrical Engineering Graduation) Londrinas State University, Londrina, 2012.

    ABSTRACT

    Seventy years ago, researchers started studies in order to develop methods

    where computers help or substitute human beings in tasks that require quickness

    and precision. That studies initiated the Artificial Intelligence, aiming process the

    human reasoning in mathematic models that are interpreted by machines that can

    analyze problems and solve them without human interference. One of the

    initiatives is the Robot Soccer, where a comittment of autonomous agents plays a

    soccer match. The developed system consists of a computer vision module that

    identify objects of interest and informs to the strategy module their location; the

    strategy, intelligent part of the system that defines which position the robot should

    go to; and a control system that moves the robot according to the strategy to reach

    a desired position. The objective of this work was to develop a model for this

    system, creating a Computer Vision and Strategy module in computational

    environment MATLAB. Also, it was developed an electrical current driver circuit,

    with a transistor and a H bridge fed at 9 V, to energize two DC motors, which were

    triggered by a Texas Instruments microcontroller, MSP430G2553, receiving

    required data for the control. The system has a calibration module, where the

    objects colors are initialized before the system starts. Comparing the obtained

    results and the done basement, similarity was obtained and the system worked

    properly, simply do some improvements in the structure to obtain better speed and

    precision.

    Keywords: Robot Soccer, Artificial Intelligence, Computer Vision, Strategy, Image

    Processing, Control, Microcontroller.

  • iii

    LISTA DE ILUSTRAES

    Figura 1 - Diagrama de blocos de um sistema GOFAI genrico. Modificado de

    (MACKWORTH, 1993). .......................................................................................... 4

    Figura 2 - Estrutura fsica de um jogo de Futebol de Robs (BIANCHI; REALI-

    COSTA, 2000). ....................................................................................................... 7

    Figura 3 - Modelo da arquitetura do sistema de Futebol de Robs (SHEN et al.,

    1999). ..................................................................................................................... 8

    Figura 4 - Diagrama de blocos do sistema de Viso Computacional para Futebol

    de Robs (PENHARBEL et al., 2004). ................................................................. 11

    Figura 5 - Diagrama simplificado de uma seo do olho humano (GONZALEZ;

    WOODS, 2000). ................................................................................................... 13

    Figura 6 - Funo da resposta espectral de cada um dos trs tipos de cones da

    viso humana (SIMES, 2012). ........................................................................... 14

    Figura 7 - Cubo RGB (RIGHES, 2004). ................................................................ 15

    Figura 8 - Histogramas correspondentes a quatro tipos de imagens (GONZALEZ;

    WOODS, 2000). ................................................................................................... 25

    Figura 9 - Espao de cores utilizado no Futebol de Robs (BIANCHI; REALI-

    COSTA, 2000). ..................................................................................................... 26

    Figura 10 - Ambiente de calibrao de cores da equipe de Futebol de Robs da

    FEI de 2004 (SATOMI et al., 2005). ..................................................................... 27

    Figura 11 - Diagrama ilustrativo da utilizao do eixo de coordenadas cartesianas

    em uma matriz de dados. (GONZALEZ et al., 2004) ............................................ 35

    Figura 12 - Distncia entre dois pontos na matriz (GONZALEZ et al., 2004). ...... 36

    Figura 13 - Algoritmo para clculo do centro de massa da bola (BIANCHI; REALI-

    COSTA, 2000). ..................................................................................................... 37

    Figura 14 - Ilustrao de algoritmo de identificao dos robs (BIANCHI; REALI-

    COSTA, 2000). ..................................................................................................... 38

    Figura 15 - Ilustrao de um algoritmo para interpretao de imagens

    (FERNANDEZ et al., 2010). ................................................................................. 39

    Figura 16 - Direes dos robs (SATOMI et al., 2005). ....................................... 43

    Figura 17 - Transformao de energia em um motor (DUTRA, 2012). ................ 46

  • iv

    Figura 18 - Construo de uma mquina DC (KOSOV, 1982). ............................ 47

    Figura 19 - Efeitos da variao do fluxo na fora eletromotriz (KOSOV, 1982).... 50

    Figura 20 - Regra de Fleming para o sentido da fem induzida (KOSOV, 1982). .. 51

    Figura 21 - Regra da mo esquerda ou do motor (KOSOV, 1982). ..................... 52

    Figura 22 - Comparao entre ao motora e ao geradora (KOSOV, 1982). .. 53

    Figura 23 - Arquitetura genrica de um microcontrolador (FRANA, 2001). ....... 56

    Figura 24 - Diagrama de blocos do MSP430G2553 (TEXAS INSTRUMENTS,

    2012). ................................................................................................................... 58

    Figura 25 - Pinagem do microcontrolador MSP430G2553 (TEXAS

    INSTRUMENTS, 2012). ....................................................................................... 58

    Figura 26 - Circuito para acionamento unidirecional do motor DC. ...................... 61

    Figura 27 - Representao de uma ponte H. ....................................................... 62

    Figura 28 - Circuito esquemtico para uma ponte H. ........................................... 63

    Figura 29 - Pinagem do CI L293N (TEXAS INSTRUMENTS, 2012). ................... 65

    Figura 30 - Diagrama de blocos do CI L293N (TEXAS INSTRUMENTS, 2012). . 65

    Figura 31 - Diagrama de blocos do sistema proposto. ......................................... 67

    Figura 32 - Exemplo de variao de pixels vizinhos para representar um mesmo

    objeto. .................................................................................................................. 70

    Figura 33 - Mscara na qual so calculadas as diferenas de um pixel w(i,j) com

    seus vizinhos. ....................................................................................................... 71

    Figura 34 - Situao hipottica para anlise de imagens. .................................... 75

    Figura 35 - Diagrama ilustrativo da localizao do centride para o programa. ... 77

    Figura 36 - Casos de deslocamento possveis para o sistema de estratgia. ...... 77

    Figura 37 - Ilustrao do sistema das rodas dianteiras de um carro (FRANCISCO,

    2012). ................................................................................................................... 82

    Figura 38 - Circuito de potncia implementado para este trabalho. ..................... 87

    Figura 39 - Estrutura montada para o rob. ......................................................... 91

    Figura 40 - Imagem capturada para teste. ........................................................... 92

    Figura 41 - Camadas RGB da imagem e seus respectivos histogramas. ............ 93

    Figura 42 - Resultado mostrado pelo MATLAB aps o uso do algoritmo

    computer_vision. .................................................................................................. 94

    Figura 43 - Etapas do sistema de Viso Computacional. ..................................... 95

    Figura 44 - Imagem capturada para o segundo teste. .......................................... 99

  • v

    Figura 45 - Camadas RGB da imagem e seus respectivos histogramas. .......... 100

    Figura 46 - Plano estratgico retornado pelo MATLAB para este teste. ............ 101

    Figura 47 - Resultados das etapas do sistema de Viso Computacional para o

    Teste II. .............................................................................................................. 102

    Figura 48 - Valores recebidos no MATLAB pelo sistema de eco do

    MSP430G2553. .................................................................................................. 106

    Figura 49 - Formas de onda detectadas no osciloscpio para as portas P1.0

    (acima) e P1.7 (abaixo) do MSP430G2553. ....................................................... 107

    Figura 50 - Valores retornados ao MATLAB pelo sistema de eco do

    MSP430G2553. .................................................................................................. 108

    Figura 51 - Formas de onda no osciloscpio para as portas P1.0 (acima) e P1.6

    (abaixo) do MSP430G2553. ............................................................................... 110

    Figura 52 - Layout da placa PCI para o circuito de potncia dos motores DC. .. 112

    Figura 53 - Visualizao 3D da placa PCI com os componentes. ...................... 113

    Figura 54 - Placa com o circuito de potncia implementado para este trabalho. 113

  • vi

    LISTA DE TABELAS

    Tabela 1 - Comparao entre ao motora e ao geradora (DUTRA, 2012). .... 54

    Tabela 2 - Modelos existentes para o deslocamento angular no sistema de

    estratgia.............................................................................................................. 79

    Tabela 3 Portas do MSP430G2553 a serem acionadas para cada movimento do

    rob. ..................................................................................................................... 85

    Tabela 4 - Resultados do ensaio feito com o motor DC traseiro. ......................... 89

    Tabela 5 - Resultados obtidos no ensaio com o motor DC dianteiro. ................... 90

    Tabela 6 - Variveis retornadas pelo algoritmo computer_vision no MATLAB. .... 95

    Tabela 7 - Valores de massa, momentos de inrcia e das coordenadas do

    centride para os corpos de interesse. ................................................................ 97

    Tabela 8 - Variveis retornadas pelo algoritmo computer_vision no MATLAB. .. 101

    Tabela 9 - Valores de massa, momentos de inrcia e centrides calculados para

    os corpos de interesse. ...................................................................................... 103

    Tabela 10 - Valores medidos de tenso e corrente para os movimentos do rob no

    circuito de potncia. ........................................................................................... 111

    Tabela 11 - Valores medidos de tenso e corrente nos testes com o rob para a

    placa PCI. ........................................................................................................... 114

  • vii

    SUMRIO

    1. Introduo ......................................................................................................... 1

    2. Futebol de Robs ............................................................................................. 4

    2.1 Histria .......................................................................................................... 4

    2.2 Caractersticas, Estrutura e Funcionamento ................................................. 7

    3. Viso Computacional ..................................................................................... 11

    3.1 Captura ....................................................................................................... 12

    3.1.1 A Estrutura do Olho Humano ................................................................ 12

    3.1.2 Modelo de Formao da Imagem ......................................................... 16

    3.1.3 O Processo de Captura ........................................................................ 18

    3.2 Calibrao ................................................................................................... 24

    3.2.1 Conceito de Histograma ....................................................................... 24

    3.2.2 O Processo de Calibrao de Imagens ................................................ 25

    3.3 Filtro ............................................................................................................ 28

    3.3.1 Filtragem por vizinhana ....................................................................... 29

    3.4 Segmentao .............................................................................................. 30

    3.4.1 Conceitos de Reconhecimento de Padres .......................................... 31

    3.4.2 Deteco de objetos no Futebol de Robs ........................................... 33

    3.5 Anlise ....................................................................................................... 34

    3.5.1 Anlise Espacial em Futebol de Robs ................................................ 35

    4. Estratgia ........................................................................................................ 40

    4.1 Mdulo Interno de Modelos ......................................................................... 41

    4.2 Plano Estratgico ........................................................................................ 42

    4.3 Exemplos de Sistemas de Estratgia .......................................................... 42

    5. Hardware de Controle .................................................................................... 45

    5.1 Motor de Corrente Contnua ....................................................................... 46

    5.1.1 Estator .................................................................................................. 47

    5.1.2 Rotor ..................................................................................................... 48

    5.1.3 Funcionamento da mquina DC ........................................................... 49

    5.2 O Microcontrolador ...................................................................................... 55

    5.2.1 O MSP430G2553.................................................................................. 57

    5.2.2 Timer ..................................................................................................... 59

    5.2.3 USART .................................................................................................. 59

    5.3 Circuitos de Potncia para Motores DC ...................................................... 60

    5.3.1 Acionamento Unidirecional do Motor DC .............................................. 60

    5.3.2 Acionamento Bidirecional do Motor DC ................................................ 62

  • viii

    6.Materiais e Mtodos ........................................................................................ 66

    6.1 Sistema Proposto ........................................................................................ 66

    6.2 Viso Computacional .................................................................................. 68

    6.2.1 Aquisio da Imagem ........................................................................... 68

    6.2.2 Calibrao ............................................................................................. 69

    6.2.3 Filtro ...................................................................................................... 70

    6.2.4 Segmentao ........................................................................................ 72

    6.2.5 Anlise .................................................................................................. 74

    6.3 Estratgia .................................................................................................... 76

    6.3.1 Mdulo de Modelos ............................................................................... 76

    6.3.2 Plano Estratgico .................................................................................. 80

    6.4 Hardware de controle .................................................................................. 81

    6.4.1 O Rob ................................................................................................. 81

    6.4.2 Motores DC ........................................................................................... 82

    6.4.3 O Microcontrolador ............................................................................... 84

    6.4.5 Circuito de Potncia .............................................................................. 86

    7.Resultados e Discusso ................................................................................. 89

    7.1 Motores DC ................................................................................................. 89

    7.2 Viso Computacional e Estratgia .............................................................. 91

    7.2.1 Teste I ................................................................................................... 91

    7.2.2 Teste II .................................................................................................. 99

    7.3 Microcontrolador ....................................................................................... 105

    7.3.1 Teste I ................................................................................................. 105

    7.3.2 Teste II ................................................................................................ 108

    7.4 Circuito de Potncia .................................................................................. 111

    8.Concluso ...................................................................................................... 115

    8.1 Trabalhos Futuros ..................................................................................... 117

    Referncias Bibliogrficas .............................................................................. 118

    Anexo A Fluxogramas e Cdigos: MATLAB ............................................... 122

    Funo Calibration .......................................................................................... 123

    Funo Histogram ........................................................................................... 126

    Funo Computer_Vision ................................................................................ 127

    Funo Dif_filter .............................................................................................. 139

    Anexo B Fluxogramas e Cdigos: MSP430G2553 ...................................... 141

    Rotina Main (Principal) .................................................................................... 142

    Interrupo ...................................................................................................... 143

  • ix

    Motor ............................................................................................................... 144

    Cdigo em C++ ............................................................................................... 145

  • 1

    1. INTRODUO

    Desde meados da dcada de 1940, pesquisadores vm unindo esforos

    para desenvolver sistemas em que computadores possam auxiliar ou substituir

    seres humanos na execuo de tarefas onde a rapidez e preciso so essenciais.

    Destes esforos nasceu a Inteligncia Artificial (IA), que consiste em mtodos

    visando o objetivo de transformar o raciocnio humano em modelos matemticos,

    de modo que computadores possam analisar problemas e solucion-los sem a

    interferncia humana (FERNANDEZ et al., 2010). Partindo desse pressuposto,

    pesquisadores procuraram despertar o interesse por esta rea no ambiente

    universitrio atravs do Futebol de Robs, atividade que possibilita a realizao

    de experimentos reais com robs que apresentam comportamento inteligente e

    cooperam entre si para a execuo de uma tarefa (BIANCHI; REALI-COSTA,

    2000).

    Demonstrando os sistemas baseados em inteligncia artificial, os

    pesquisadores da Newton Labs criaram o primeiro time de futebol de robs. O

    futebol foi o jogo escolhido dada a sua difuso internacional, as inmeras

    possibilidades de aes no jogo e a dificuldade de se prever aes do adversrio.

    O time era composto de trs pequenos robs em forma de cubo, controlados por

    rdiofreqncia e baterias. A bola escolhida foi uma bola de golfe pintada de

    laranja. O jogo se realizava em um campo de madeira pintado com fundo verde e

    paredes laterais em branco. As quinas eram arredondadas para evitar que a bola

    ficasse presa. Tais foram o sucesso e a performance alcanados por esta

    empreitada, que este padro foi utilizado para criao da FIRA Federao

    Internacional de Futebol de Robs Automatizados, que regulamenta todas as

    competies nacionais e internacionais realizadas pela modalidade atualmente

    (FERNANDEZ et al., 2010).

    O futebol de robs, quando criado, levou para o campo da Inteligncia

    Artificial um novo desafio a longo prazo. Porm, o desenvolvimento de um

    sistema ao qual se d a denominao de rob para esta aplicao envolve muito

    mais que a integrao de tcnicas de IA. Para jogar uma partida razoavelmente

    bem, uma gama de tecnologias e disciplinas no campo da Engenharia Eltrica

    devem estar integradas, a saber: Teoria de Controle e Automao, Dispositivos e

  • 2

    Circuitos Eletrnicos, Inteligncia Artificial, Hardware Especializado para Controle

    de Sensores e Atuadores, Programao, Sistemas Multi-Agentes e

    Instrumentao Eletrnica (KRAETZSCHMAR et al., 1999). Assim, a

    interdisciplinaridade que envolve a construo deste sistema que faz de sua

    realizao um marco para a revitalizao da Inteligncia Artificial visando

    trabalhos futuros que tenham maior impacto social (KITANO et al., 1997).

    O presente trabalho tem por finalidade desenvolver um sistema

    microcontrolado, tanto na criao de hardware como de software, para aplicao

    no campo de estudo de Futebol de Robs. Este sistema permitir, atravs de um

    mdulo de aquisio e processamento de imagens e algoritmo de tomada de

    deciso, definir a sequncia de movimentos que um rob, controlado por motores

    de corrente contnua, dever fazer para se deslocar at uma bola que pode estar

    em qualquer lugar do campo. Ao final, espera-se que este sistema tenha as

    seguintes caractersticas:

    Baixo custo de projeto e implementao;

    Alto desempenho garantindo eficincia e confiabilidade na aquisio,

    processamento e transmisso dos dados atravs da criao de interface

    software-hardware;

    Preciso nos deslocamentos angular e retilneo a serem realizados pelo

    rob, atravs do controle dos motores DC realizados por um

    microcontrolador;

    tima funcionalidade com a presena de todos os casos possveis de

    decises a serem tomadas pelo sistema.

    O trabalho est organizado da seguinte forma:

    No segundo captulo, tem-se uma breve descrio sobre o Futebol de

    Robs, abrangendo sua histria e as caractersticas, estrutura e seu

    funcionamento. No terceiro captulo, so apresentados os conceitos relativos ao

    projeto e o funcionamento do sistema de Viso Computacional. No quarto

    captulo, so mostrados os conceitos relativos ao projeto, implementao e

    funcionamento do sistema de Estratgia para Futebol de Robs. No quinto

    captulo, so apresentadas as caractersticas de projeto e funcionamento do

  • 3

    hardware de controle para os perifricos de um sistema em Futebol de Robs. No

    sexto captulo, apresentam-se toda a metodologia e as etapas utilizadas para

    projetar um sistema microcontrolado para Futebol de Robs, desde a parte digital

    (controle de perifricos, sistema de Viso Computacional e Estratgia, calibrao,

    microcontrolador, interface serial e controle de timers) at a parte analgica

    (circuitos de potncia para alimentao e controle de motores de corrente

    contnua). No stimo captulo apresentam-se os resultados e sua anlise a fim de

    verificar o correto funcionamento do sistema, de acordo com os princpios e

    conceitos apresentados nos captulos anteriores.

    No oitavo e ltimo captulo, so apresentadas as concluses relativas ao

    estudo, projeto e implementao de um modelo didtico de sistema

    microcontrolado para aplicao em Futebol de Robs. E, por fim, so

    apresentadas as referncias bibliogrficas e dois anexos contendo os

    fluxogramas e os cdigos desenvolvidos em MATLAB e C++ para os sistemas de

    aquisio de imagens, Viso Computacional, Estratgia e para o

    microcontrolador, respectivamente.

  • 4

    2. FUTEBOL DE ROBS

    2.1 HISTRIA

    A idia de robs jogando futebol foi mencionada pela primeira vez pelo

    professor Alan Mackworth (University of British Columbia, Canad), em um artigo

    intitulado On Seeing Robots (MACKWORTH, 1993). Na poca, Mackworth

    escreveu sobre suposies necessrias para a criao de sistemas inteligentes e

    autnomos, baseado em uma aproximao do que era a Inteligncia Artificial da

    poca, a que os pesquisadores chamavam GOFAI Good Old Fashioned Artificial

    Intelligence and Robotics. Um sistema GOFAI pode ser entendido como aquele

    que percebe e entende as caractersticas do mundo real sua volta e, em funo

    delas, processa-as atravs de conceitos definidos e toma atitudes baseadas neste

    processamento. Em outras palavras, um sistema independente que traduz

    sinais e parmetros de entrada em aes reais, como movimentos fsicos.

    Figura 1 - Diagrama de blocos de um sistema GOFAI genrico. Modificado de (MACKWORTH, 1993).

    Para se projetar tal sistema, so necessrios trs mdulos: percepo,

    raciocnio e ao. Para cada mdulo, so criadas ferramentas que auxiliem na

    execuo de cada uma destas trs tarefas (MACKWORTH, 1993). Desta maneira,

    pesquisadores da poca criaram trs sistemas para compor um modelo de rob.

    O primeiro era um sistema de percepo que traduzia imagens arbitrrias do

    mundo real em descries simblicas e numricas para posterior raciocnio e

    planejamento. Aps isso, tais dados eram processados pelo segundo sistema

    (raciocnio), onde as descries eram confrontadas com os modelos matemticos

    criados e utilizados na programao do rob, produzindo um plano, que consiste

    em uma lista de aes a serem executadas sequencialmente. Por fim, o ltimo

  • 5

    sistema, o de ao, recebe este plano e o executa atravs do envio de sinais e

    comandos aos perifricos do rob fsico, geralmente utilizando motores.

    Do sucesso deste modelo, foram definidas suposies para as estratgias

    de um rob como agente para executar determinadas aes em qualquer

    situao (MACKWORTH et al., 1998).

    Indivduos e relaes entre si: Tudo que til para um agente pode ser

    descrito em termos dos indivduos e suas relaes entre si;

    Convico conhecimento: As convices de um agente a respeito do

    mundo so verdadeiras e justificadas;

    Conhecimento definido: O conhecimento de um agente sobre o mundo

    definido e positivo;

    Conhecimento Completo: O conhecimento de um agente sobre o mundo

    completo. Isto requer que tudo relevante sobre o mundo seja conhecido

    pelo agente. Assim, ele pode assumir seguramente se um fato falso ou

    verdadeiro e quais atitudes dever tomar diante deste fato;

    Ambiente Esttico: O ambiente esttico a no ser que o agente o

    modifique;

    Agente nico: Existe apenas um agente no mundo;

    Mundo Determinstico: Dada uma descrio completa e definida do

    mundo ao agente, ele pode prever todos os efeitos de uma ao;

    Aes Sequenciais Discretas: Aes so discretas e so executadas

    sequencialmente.

    Estas suposies so restritivas. Com o tempo, elas sofreram uma

    modificao, pois assumiu-se que os projetos de sistemas inteligentes e

    autnomos podem contemplar mais de um agente (MACKWORTH et al., 1998).

    Partindo destas idias, iniciaram-se outras pesquisas cientficas e tecnolgicas a

    respeito deste tema.

    Em outubro de 1992, em Tquio, um grupo de pesquisadores japoneses

    organizou um Workshop chamado Grandes Desafios para a Inteligncia

    Artificial, discutindo e propondo problemas que representavam grandes desafios.

    Esse Workshop levou a srias discusses sobre utilizar um jogo de futebol para

  • 6

    promover cincia e tecnologia. Estudos foram feitos com a finalidade de analisar a

    viabilidade prtica desta idia, mostrando que a mesma era vivel, desejvel e

    englobava diversas aplicaes prticas (MARTINS, 2012). Em 1993, um grupo de

    pesquisadores, incluindo Minoru Asada, Yasuo Kuniyoshi e Hiroaki Kitano lanou

    uma competio robtica chamada de Robot J-League. Em um ms, vrios

    pesquisadores j se pronunciavam afirmando que a iniciativa deveria ser

    estendida ao mbito internacional. Surgiu, ento a Robot World Cup Initiative

    (RoboCup).

    O ano de 1997 foi um marco na histria da Inteligncia Artificial. Em maio

    de 1997, o supercomputador da IBM, DeepBlue, derrotou o russo Garry

    Gasparov, campeo mundial de xadrez na poca (humano). Ainda naquele ano, a

    misso Pathfinder, da NASA, obteve sucesso coma sonda Sojourner, primeiro

    sistema robtico autnomo para a explorao da superfcie de Marte. Assim, o

    Futebol de Robs colocou-se como um novo desafio aos pesquisadores da

    Inteligncia Artificial, com a RoboCup e a FIRA dando os primeiros passos no

    desenvolvimento de robs jogadores de futebol pelo mundo (MARTINS, 2012).

    No Brasil, o desenvolvimento de times de Futebol de Robs comeou com

    a iniciativa do 1 Campeonato Brasileiro de Futebol de Robs (CBFR) no final de

    1997, concebido pelo professor Dr. Alberto Elfes atravs do Instituto de

    Automao do Centro de Tecnologia Informtica (IA/CTI), em Campinas. Desde a

    sua primeira edio at hoje, participam times de algumas universidades

    brasileiras que possuem estudos avanados na rea, tais como: estratgias de

    jogo e o sistema de Viso Computacional para auxiliar na tomada de decises

    durante as partidas (BIANCHI; REALI-COSTA, 2000); e filtros de imagem em

    matriz de cores (PENHARBEL et al., 2004). Alm dessa competio, pode-se citar

    tambm a CBFR (Copa Brasil de Futebol de Robs), que teve a sua primeira

    edio em 1998 (GISDI, 2012).

  • 7

    2.2 CARACTERSTICAS, ESTRUTURA E FUNCIONAMENTO

    Partidas de futebol entre robs constituem uma atividade que possibilita a

    realizao de experimentos reais para o desenvolvimento e testes de robs que

    apresentam comportamento inteligente e que cooperam entre si para a execuo

    de uma tarefa, formando um time (BIANCHI; REALI-COSTA, 2000). Partindo

    deste princpio, a estrutura que compe um time de futebol de robs deve

    trabalhar com a menor margem de erro possvel nos clculos e ter a melhor

    fidelidade possvel na aquisio, processamento e transmisso dos dados e sinais

    ao longo do seu funcionamento, seguindo, alm disso, as normas que regem as

    categorias de Futebol de Robs, regulamentadas pela FIRA.

    Fisicamente a plataforma para as partidas constituda por um campo

    plano e, para cada time, uma cmera de vdeo CCD (Charge-coupled device),

    utilizada para converter as intensidades de luz que incidem sobre ela em valores

    digitais armazenveis na forma de bits e bytes. Alm disso so usados um

    respectivo sistema para aquisio de imagens, um computador, sistema de

    aquisio de dados e os robs. A Figura 2 representa o esquema bsico do

    sistema. A bola geralmente padronizada: uma bola de golfe laranja (BIANCHI;

    REALI-COSTA, 2000).

    Figura 2 - Estrutura fsica de um jogo de Futebol de Robs (BIANCHI; REALI-COSTA, 2000).

    O funcionamento do jogo segue um esquema bsico: cada time realiza a

    aquisio da imagem atravs da sua cmera, processa a imagem utilizando

    tcnicas de Viso Computacional para descobrir a posio da bola e dos robs da

    prpria equipe e da equipe adversria. A partir desta imagem, um sistema de

  • 8

    deciso, previamente criado por cada time, define a melhor ttica a aplicar e os

    movimentos de cada rob. Com a deciso tomada, um sistema de comunicao

    por rdio envia aos robs uma mensagem com o movimento a ser realizado. Aps

    isso, o sistema eletrnico dos robs, a partir do momento que recebe os dados,

    controla os motores para movimentar cada rob de acordo com o plano

    especificado pelo bloco anterior.

    Entre os desafios a serem analisados, segundo Shen (SHEN et al., 1999),

    Jogadores robticos precisam realizar processos de reconhecimento visuais em

    tempo real, navegar em um espao dinmico, rastrear objetos em movimento,

    colaborar com outros robs e ter controle para acertar a bola na direo correta.

    Para atingir tal objetivo, os robs devem ser autnomos, eficientes, cooperativos,

    com capacidades de planejamento e raciocnio, alm de atuarem sob restries

    de tempo real, e os sistemas que o integram devem possuir uma arquitetura

    propcia a ter uma boa performance e flexibilidade (VELOSO et al., 1999). Um

    modelo para a arquitetura deste sistema mostrado na Figura 3.

    Sistema de Deciso

    Mdulo de

    Viso

    Mdulo Interno de

    Modelos

    Planejador

    Estratgico

    Controlador

    de

    Movimento

    Figura 3 - Modelo da arquitetura do sistema de Futebol de Robs (SHEN et al., 1999).

  • 9

    As caractersticas de cada mdulo so:

    Mdulo de Viso (Vision Module): Mdulo responsvel pela aquisio e

    processamento de imagens, onde as caractersticas da imagem so

    convertidas em valores numricos, processadas de forma a eliminar rudos

    ou interferncias e realar padres ou pontos de referncia que sejam teis

    para os mdulos seguintes.

    Mdulo Interno de Modelos (Internal Model Manager): Mdulo

    responsvel por confrontar os dados da imagem processada com modelos

    matemticos pertinentes aos tipos de movimentos que o rob executar.

    Em outras palavras, faz todo o raciocnio lgico e matemtico para a

    posterior definio do plano a ser executado pelo rob tanto

    individualmente como em relao a uma estratgia da equipe.

    Planejador Estratgico (Strategy Planner): Mdulo responsvel por

    definir quais as decises a serem executadas de forma sequencial pelo

    rob e pela equipe baseado nas informaes enviadas pelo mdulo

    anterior.

    Controlador de Movimento (Drive Controller): Mdulo responsvel por

    executar as instrues dadas pelo mdulo anterior, atravs de comandos e

    envio de sinais analgicos aos perifricos do rob.

    Outro ponto a ser estudado no projeto e implementao de um time de

    Futebol de Robs o interfaceamento entre os Mdulos de Aquisio de

    Imagens, Viso Computacional, Estratgia e Execuo. Pois, se mal projetado,

    programado ou dimensionado, consequentemente colocar fim ao sistema. Antes

    de mais nada, o sistema de estratgia deve ser compatvel com o controle

    aplicado aos robs e com a confiabilidade das informaes vindas do sistema de

    viso computacional que detecta as posies e direes dos robs e da bola.

    Alm disso, o controle deve permitir que a estratgia execute todas as aes

    necessrias e o sistema de viso deve garantir que as informaes estejam

    corretas para que a estratgia funcione adequadamente. Todas essas peas

    integradas devem ser confiveis o suficiente para manter os robs operando

  • 10

    corretamente mesmo sob algumas condies adversas, como variaes de luz ou

    interferncias (SATOMI et al., 2005).

    Nos prximos captulos, sero abordados de maneira mais detalhada

    alguns aspectos construtivos dos mdulos ou blocos que compem um sistema

    microcontrolado para Futebol de Robs.

  • 11

    3. VISO COMPUTACIONAL

    Como mencionado no captulo anterior, o primeiro dos mdulos que

    compem o sistema das partidas de Futebol de Robs o mdulo de Viso

    Computacional. Tal sistema essencial para a realizao das partidas e tem por

    funo obter, a partir da imagem adquirida da cmera disposta sobre o campo de

    jogo, a posio dos robs e a posio da bola em coordenadas do plano

    cartesiano (X, Y) (GONZALEZ; WOODS, 2000). O princpio de funcionamento

    deste sistema divide-se em cinco etapas. So elas: Captura, Filtragem,

    Calibrao, Segmentao e Anlise. A Figura 4 mostra um diagrama com as

    etapas do sistema de Viso Computacional.

    Figura 4 - Diagrama de blocos do sistema de Viso Computacional para Futebol de Robs (PENHARBEL et al., 2004).

    A viso computacional a parte mais complexa de todo o sistema. O

    crebro humano, por exemplo, gasta 1/3 da sua capacidade ao fazer este

    tratamento e processamento ptico (o crebro tem cerca de 100 bilhes de

    neurnios). Se compararmos com a atividade neural para resolver o mais

    complexo sistema matemtico, ou at mesmo o crebro de um grande jogador de

    xadrez, esta atividade chegaria perto de 1% da utilizao dos neurnios. Assim, o

  • 12

    reconhecimento dos objetos ao seu redor, das pessoas e outras coisas que

    envolvem a viso so de grande dificuldade de processamento para o crebro, o

    que torna ainda mais difcil e desafiador a criao de um sistema autnomo que

    faa esta interpretao atravs de modelos fsicos e matemticos (FERNANDEZ

    et al., 2010).

    Nas prximas pginas so expostos conceitos relativos s fases do

    sistema de Viso Computacional.

    .

    3.1 CAPTURA

    3.1.1 A Estrutura do Olho Humano

    O sistema visual humano um mecanismo de interface com o ambiente.

    Partindo do princpio de que a Inteligncia Artificial o estudo da computao e

    da Engenharia que torne possvel, dentre uma enorme gama de tarefas, a

    percepo, o olho humano uma fonte de novos modelos, o que justifica o breve

    estudo do seu funcionamento para este trabalho.

    A Figura 5 mostra um corte horizontal do olho humano. O olho

    aproximadamente uma esfera com um dimetro mdio de cerca de 20 mm,

    envolta por trs membranas: crnea; coride (cobertura externa da esclertica); e

    retina. A crnea um tecido transparente e resistente que cobre a superfcie

    anterior do olho. Tal membrana trabalha juntamente com a esclertica, estrutura

    opaca que envolve o restante do globo ocular. A coride situa-se diretamente

    abaixo da esclertica, contendo uma srie de vasos sanguneos que servem

    como principal fonte de nutrio ao olho. Sua cobertura fortemente pigmentada

    e auxilia a reduzir a quantidade de luz que, ao entrar no olho, se espalharia

    indesejavelmente pelo globo ocular. Na sua extremidade anterior, a coride

    dividida em corpo ciliar (responsvel pela acomodao do olho) e ris. Esta ltima

    contrai-se ou expande-se de forma a controlar a quantidade de luz que entra no

    olho (GONZALEZ; WOODS, 2000).

  • 13

    Figura 5 - Diagrama simplificado de uma seo do olho humano (GONZALEZ; WOODS, 2000).

    O cristalino formado por camadas concntricas de clulas fibrosas, sendo

    sustentado por fibras que se conectam ao corpo ciliar. Ele absorve

    aproximadamente 8% da luz visvel com absoro relativamente maior nos

    comprimentos de onda mais curtos.

    A membrana mais intensa do olho a retina, que se estende sobre toda a

    poro posterior do olho. Quando o olho est apropriadamente focalizado, a luz

    de um objeto fora do olho tornada imagem na retina. A viso de padres

    possibilitada pela distribuio de receptores discretos de luz sobre a superfcie da

    retina. Tais receptores se dividem em duas classes: cones e bastonetes. O

    nmero de cones em cada olho varia de 6 a 7 milhes, posicionados na regio

    central da retina (fvea), sendo altamente sensveis a cores. J os bastonetes

    apresentam-se em uma quantidade de 75 a 150 milhes em cada olho, sendo

    responsveis pela viso espacial da imagem (acuidade visual). Eles no esto

  • 14

    envolvidos em viso colorida e so sensveis a baixos nveis de iluminao

    (GONZALEZ; WOODS, 2000).

    Nos cones, podem ser encontrados fotopigmentos que respondem aos

    espectros de luz de trs comprimentos de onda distintos: 445 nm, 535 nm e 570

    nm. Estes comprimentos de onda correspondem s cores vermelho, verde e azul,

    grupo de cores que d origem camada de cores RGB (Red, Green and Blue). O

    fato importante no estudo do comportamento do olho humano em relao s

    imagens que a sensibilidade aos diferentes comprimentos de onda no ,

    fisicamente, idntica (SIMES, 2012). Atravs desta variao que se

    determinam as 256 cores clssicas que compem o espao de cores RGB. A

    Figura 6 mostra a frao percentual de luz absorvida pelos cones para os

    diferentes comprimentos de onda do espectro visvel.

    Figura 6 - Funo da resposta espectral de cada um dos trs tipos de cones da viso humana (SIMES, 2012).

    Para explicitar ainda mais esta variao, segue na Figura 7 um modelo das

    diferentes combinaes existentes e como as cores variam visualmente nas

    camadas RGB, atravs do cubo RGB.

  • 15

    Figura 7 - Cubo RGB (RIGHES, 2004).

    Nos trabalhos com cores, importante atentar-se a duas propriedades do

    mecanismo ocular que envolvem a interpretao de cores: a adaptabilidade ao

    brilho e cor. Na adaptabilidade ao brilho, segundo Simes (SIMES, 2012),

    superfcies com brilho de intensidade maior que o valor mdio do campo visual

    em um determinado instante apresentam-se como brilhantes, e aquelas abaixo do

    brilho mdio apresentam-se como escuras. Paralelamente, a adaptabilidade cor

    faz com que uma fonte de cor brilhante tenda a reduzir a sensibilidade dos

    receptores visuais a esta cor, ampliando a sensibilidade dos receptores cujo

    estmulo fraco nesta situao. Assim, conclui-se que fontes brilhantes em uma

    imagem podem distorcer completamente a interpretao dos receptores

    localizados nos cones do olho humano, sendo prefervel a utilizao de fontes que

    estejam dentro do brilho mdio da imagem, para que a interpretao seja a mais

    fiel possvel da realidade. Alm disso, pode-se citar tambm o fato de que o

    sistema visual humano tende a subestimar ou superestimar as intensidades

    luminosas prximas aos contornos entre regies de diferentes intensidades,

    alterando o padro de brilho da imagem. Este um motivo a mais para que a

  • 16

    incidncia de fontes luminosas de alto brilho seja a menor possvel (GONZALEZ;

    WOODS, 2000).

    3.1.2 Modelo de Formao da Imagem

    O entendimento de como uma imagem se comporta aos olhos de um

    observador passa pela interpretao da fsica deste fenmeno. Assim, existe a

    necessidade de uma descrio matemtica deste sistema atravs de um modelo.

    O termo imagem refere-se a uma funo de intensidade luminosa

    bidimensional, denotada por f(x, y), em que o valor da amplitude de f nas

    coordenadas espaciais (x, y) d a intensidade (brilho) da imagem naquele ponto.

    Como a luz uma forma de energia, f(x, y) deve ser positiva e finita, isto ,

    (GONZALEZ; WOODS, 2000).

    As imagens que as pessoas percebem em atividades visuais corriqueiras

    consistem de luz refletida dos objetos. A natureza bsica de f(x, y) pode ser

    caracterizada por dois componentes: a quantidade de luz incidindo na cena sendo

    observada e a quantidade de luz refletida pelos objetos da cena.

    Apropriadamente, esses componentes so chamados iluminao e reflectncia,

    respectivamente (GONZALEZ; WOODS, 2000). Tais elementos so

    representados por i(x,y) e r(x,y). O produto das funes i(x,y) e r(x,y) resulta em

    f(x,y).

    Eq. (1)

    Eq. (2)

    Eq. (3)

    A equao Eq. (3) indica que a reflectncia limitada entre 0 (absoro

    total) e 1 (reflexo total). A natureza de i(x,y) determinada pela fonte de luz, e

    r(x,y) determinada pelas caractersticas dos objetos presentes na imagem

    (GONZALEZ; WOODS, 2000).

    Uma denominao comumente utilizada para a intensidade f(x,y) a de

    nvel de cinza, ou . Das equaes Eq. (1) a Eq. (3), pode-se concluir que fica

    restrito ao intervalo:

  • 17

    Lmn Lmx Eq. (4)

    Em teoria, a nica restrio sobre Lmn que seja um valor positivo e sobre

    Lmx que seja finito. O intervalo [Lmn, Lmx] denominado escala de cinza. Na

    prtica, utiliza-se o intervalo [0, L], onde = 0 considerado preto e = L

    considerado branco. Todos os valores intermedirios so tons de cinza variando

    continuamente entre o branco e o preto. Vale lembrar que os valores de nveis de

    cinza so representaes numricas das quantidades de luz absorvidas pelos

    receptores dos cones do olho humano (como mostrado em 3.1.1), criando um

    modelo para o comportamento colorido de uma imagem (GONZALEZ; WOODS,

    2000).

    Para ser adequada para processamento computacional, uma funo f(x, y)

    precisa ser digitalizada tanto espacialmente quanto em amplitude. A digitalizao

    das coordenadas espaciais (x, y) denominada amostragem da imagem e a

    digitalizao da amplitude chamada quantizao em nveis de cinza

    (GONZALEZ; WOODS, 2000).

    Supondo que uma imagem contnua f(x, y) aproximada por amostras

    igualmente espaadas, arranjadas na forma de uma matriz NxM, como mostrado

    na equao Eq. (5), em que cada elemento uma quantidade discreta. Tal matriz

    representa o que denominada uma imagem digital, e cada elemento desta

    matriz chamado elemento de imagem, ou pixel (abreviao de picture element,

    elementos de figura) (GONZALEZ; WOODS, 2000). Cada pixel possui um limite

    para nveis de cinza discretos e amostras. Assim, para se obter a melhor

    aproximao possvel de uma imagem em sua digitalizao, so necessrios

    valores cada vez maiores de nveis de amostragem e quantizao. A essa

    combinao de nveis de quantizao e amostras d-se o nome de resoluo

    (GONZALEZ; WOODS, 2000). Deste modo, quanto maiores os nveis de

    amostragem e quantizao, maior ser a resoluo da imagem digitalizada.

  • 18

    Eq. (5)

    Alm dessas caractersticas, h tambm outros parmetros a se definir e

    medir em uma imagem digital, como o contraste e a tonalidade. O contraste

    uma medida da diferena de brilho entre as reas claras e escuras de uma

    imagem. Por exemplo, fotos tiradas em condio de neblina ou fumaa tero

    baixo contraste, enquanto que fotos tiradas em regies com alta incidncia de luz

    solar tero contraste muito mais alto. J a tonalidade definida como a variao

    crtica de brilho em uma imagem. Por exemplo, imagens em que h sombras,

    reflexos de objetos na gua, neblina, so todas imagens que apresentam

    variaes sutis de brilho, tendo portanto tons diferentes de uma mesma cor em

    um mesmo espao (CAMBRIDGE, 2012).

    3.1.3 O Processo de Captura

    Partindo dos conceitos explcitos nos itens anteriores, possvel agora

    definir atravs de modelos como ocorre o processo de captura.

    Dois elementos so necessrios para a aquisio de imagens. O primeiro

    um dispositivo fsico que seja sensvel a uma banda do espectro de energia

    eletromagntica (como raios X, ultravioleta, visvel, ou banda infravermelha) e que

    produza um sinal eltrico de sada proporcional a um nvel de energia percebida.

    O segundo, chamado digitalizador, um dispositivo para a converso da sada

    eltrica de um dispositivo de sensoreamento fsico para a forma digital

    (GONZALEZ; WOODS, 2000). Atravs destes elementos, feito o processo de

    interpretao das caractersticas de intensidade dos tons de cinza em cada par de

    coordenadas espaciais (x,y), tomando como base as equaes Eq. (1) a Eq. (4).

    Aps isso, os elementos so dispostos em uma matriz de acordo com a equao

    Eq. (5). As dimenses da matriz da imagem sero equivalentes ao nmero de

    amostras e aos nveis de quantizao na converso, ou seja, sendo uma matriz

  • 19

    ANxM representando a imagem digital e R e Z os nveis de quantizao e o nmero

    de amostras, respectivamente, tem-se:

    Eq. (6)

    Assim, os valores de N e M determinam a resoluo da imagem digital

    (GONZALEZ; WOODS, 2000).

    Para um sistema autnomo com Inteligncia Artificial, necessrio que o

    processo de captura da imagem seja independente, ou seja, o perifrico (no caso,

    uma cmera) do sistema responsvel pela aquisio das imagens deve ser

    programado nos parmetros desejados para funcionar sem nenhuma interferncia

    humana no processo. Na maioria dos casos, este perifrico controlado via

    software, atravs de programas que possuam protocolos de comunicao e

    configuraes definidas para controlar tais dispositivos. Um deles o software

    MATLAB, utilizado na construo do projeto descrito neste trabalho, em funo de

    atender aos requisitos desejados e utilizar uma melhor interface entre o usurio e

    o programa.

    Na verso 7.11 (R2010b) do software MATLAB, existe uma biblioteca de

    trabalho chamada Image Acquisition Toolbox. Nesta biblioteca existe um conjunto

    de funes que permite controlar tanto a configurao quanto o funcionamento de

    uma cmera conectada ao computador atravs de uma porta USB

    (TANNENBAUM, 2012.). O usurio pode detectar se h algum hardware

    conectado e configurar suas propriedades. Alm disso, uma das grandes

    vantagens da utilizao desta ferramenta que o MATLAB permite controlar os

    perifricos conectados a ele em tempo real, condio fundamental para o

    funcionamento adequado de um sistema autnomo.

    Nas prximas linhas so expostas as funes desta Toolbox utilizadas no

    projeto de Futebol de Robs deste trabalho (TANNENBAUM, 2012.).

    Videoinput: Funo que cria um objeto de entrada de vdeo. OBJ =

    VIDEOINPUT(ADAPTORNAME) constri um objeto de entrada de vdeo

    chamado OBJ. Este objeto representa o local por onde se dar conexo

    entre o MATLAB e um determinado dispositivo para aquisio de imagens

  • 20

    (cmera). A funo ADAPTORNAME uma string que especifica o nome

    do adaptador utilizado para se estabelecer a comunicao do MATLAB

    com o dispositivo. Deve-se utilizar tambm a funo IMAQHWINFO para

    determinar os adaptadores disponveis no sistema do computador utilizado.

    Get: Funo que obtm as propriedades do dispositivo para a aquisio

    das imagens. GET(OBJ) mostra todos os nomes das propriedades e seus

    valores para os dispositivo OBJ.

    Inspect: Funo que possibilita configurar as propriedades do dispositivo

    de aquisio de imagens. INSPECT(OBJ) abre o inspetor de propriedades

    e possibilita configurar as propriedades do dispositivo OBJ.

    Set: Funo que configura as propriedades do dispositivo de aquisio de

    imagens. SET(OBJ) mostra os nomes da propriedades e qualquer valor

    enumerado para todas as propriedades configurveis do dispositivo OBJ.

    Start: Faz a conexo do dispositivo para aquisio de imagens como

    MATLAB, ativando o dispositivo. START(OBJ) obtm uso exclusivo de um

    determinado dispositivo OBJ pelo MATLAB, iniciando o processo de

    aquisio de imagens de acordo com as configuraes estabelecidas. Em

    outras palavras, o comando necessrio para se iniciar todo o processo de

    aquisio de arquivos de imagens ou vdeo.

    Stop: Interrompe o processo de aquisio de imagens. STOP(OBJ)

    interrompe o processo de aquisio de imagens ou vdeo pelo determinado

    objeto OBJ.

    Wait: Funo que bloqueia a linha de comando do MATLAB at que uma

    entrada de vdeo OBJ pare de rodar. digitada no MATLAB com

    WAIT(OBJ).

  • 21

    Trigger: Dispara o objeto de aquisio de imagem para obter uma imagem

    ou um vdeo. escrito como TRIGGER(OBJ). Para executar este

    comando, necessrio que o dispositivo j esteja ativo, ou seja, deve ser

    utilizado o comando START(OBJ) antes do comando TRIGGER.

    Triggerconfig: Comando que configura as opes de disparo para o

    dispositivo de aquisio das imagens. Para uma lista de parmetros vlidos

    de configurao, deve-se utilizar o comando TRIGGERINFO(OBJ). Para se

    executar a configurao, deve-se utilizar o comando

    TRIGGERCONFIG(OBJ,CONFIG). Tal comando configura os parmetros

    de disparo do objeto OBJ atravs de uma estrutura do MATLAB chamada

    CONFIG.

    Flushdata: Funo que remove as imagens ou frames de vdeo

    armazenados temporariamente na memria do computador.

    FLUSHDATA(OBJ) remove todas as imagens ou frames armazenados

    temporariamente que foram captados pelo dispositivo OBJ.

    Getdata: Funo que retorna o nmero de frames especificados pela

    propriedade FramesperTrigger do objeto para aquisio de imagens OBJ.

    DATA = GETDATA(OBJ) retorna uma varivel DATA contendo o nmero

    de frames especificados pela propriedade FramesperTrigger de OBJ. Para

    se determinar o nmero de frames a serem retornados sem mexer nas

    configuraes, utiliza-se DATA = GETDATA(OBJ,N). DATA retornada

    como uma matriz H x W x B x F, onde:

    H altura da imagem, especificada na propriedade ROIPosition.

    W largura da imagem, especificada na propriedade ROIPosition.

    B Nmero de cores da imagem, especificada na propriedade

    NumberofBands.

    F Nmero de frames.

    Getsnapshot: Funo que imediatamente retorna um nico quadro de

    uma imagem, ou frame de um vdeo, capturado por um dispositivo. Assim,

  • 22

    FRAME = GETSNAPSHOT(OBJ) retorna uma matriz FRAME H x W x B,

    sendo H, W e B os valores conforme especificado no comando anterior.

    Atravs dos comandos IMAGE ou IMAGESC, possvel visualizar estes

    dados na forma de uma imagem, e no de uma matriz.

    Peekdata: Retorna a ltima imagem que foi adquirida por um determinado

    dispositivo. DATA = PEEKDATA(OBJ,FRAMES) retorna os ltimos frames

    escritos pela varivel FRAMES capturados pelo dispositivo OBJ. DATA

    retornada na forma de uma matriz H x W x B x F, onde H, W, B e F so

    definidas como no comando GETDATA.

    Imaqmem: Funo que limita ou mostra a memria em uso pela Image

    Acquisition Toolbox. MEM = IMAQMEM retorna uma estrutura, MEM,

    contendo os seguintes campos:

    MemoryLoad um nmero entre 0 e 100 que d uma idia geral do

    quanto de memria est sendo utilizada.

    TotalPhys Nmero total de bytes de memria fsica.

    AvailPhys Nmero de bytes da memria fsica disponveis.

    TotalPageFile Nmero total de bytes que podem ser armazenados no

    arquivo de paginao.

    FrameMemoryLimit Limite de memria para aquisio de frames em

    bytes.

    FrameMemoryUsed Memria de um frame em bytes atualmente alocado

    pela caixa de ferramentas.

    IMAQMEM(LIMIT) configura o limite de memria, em bytes, a ser utilizado

    pela Image Acquisition Toolbox.

    Delete: DELETE(OBJ) remove o dispositivo de aquisio de imagens,

    OBJ, da memria do sistema. Quando OBJ deletado, ele torna-se um

    dispositivo invlido. Um objeto invlido deve ser removido da rea de

    trabalho do MATLAB utilizando-se o comando CLEAR.

  • 23

    Imaqfind: Mostra uma lista de todos os dispositivos para aquisio de

    imagens que existem na memria. Se apenas um dispositivo encontra-se

    na memria de trabalho do MATLAB, IMAQFIND mostra um resumo

    detalhado do objeto. OUT = IMAQFIND retorna um array OUT de todos os

    dispositivos de aquisio de imagens existentes na memria.

    Imaqreset: Comando que desconecta e deleta todos os objetos de

    aquisio de imagens. IMAQRESET deleta todos os objetos de aquisio

    de imagens da memria do programa, assim como descarrega todos os

    adaptadores carregados pela caixa de ferramentas. Como resultado, o

    hardware de aquisio de imagens resetado. Em outras palavras, este

    comando reseta todo o programa de aquisio de imagens, retornando o

    MATLAB ao seu estado inicial, ou seja, sem imagens carregadas e sem

    adaptadores carregados.

    Imaqhelp: IMAQHELP(OBJ) mostra uma lista completa das funes de um

    determinado dispositivo de captura de imagens. Alm disso, mostra

    tambm um menu de ajuda para as propriedades do dispositivo.

    Imaqhwinfo: OUT = IMAQHWINFO retorna uma estrutura, OUT, que

    contm informaes sobre o hardware para aquisio de imagens. Estas

    informaes incluem a verso da caixa de ferramentas, verso do MATLAB

    e nomes dos adaptadores instalados.

    Propinfo: OUT = PROPINFO(OBJ) retorna um array de estrutura, OUT,

    com os nomes das propriedades de um determinado dispositivo OBJ.

  • 24

    3.2 CALIBRAO

    3.2.1 Conceito de Histograma

    O histograma de uma imagem digital com nveis de cinza no intervalo [0, L-

    1] uma funo discreta p(rk) = nk/n, onde rk o k-simo nvel de cinza, nk o

    nmero de pixels na imagem com esse nvel de cinza, n o nmero total de

    pixels na imagem e k = 0, 1, 2, 3, ..., L-1. De forma resumida, p(rk) uma

    estimativa da probabilidade da ocorrncia de um determinado nvel de cinza rk.

    Um grfico dessa funo para todos os valores de k fornece uma descrio global

    da aparncia de uma imagem (GONZALEZ; WOODS, 2000). A Figura 8 mostra

    os histogramas de quatro tipos bsicos de imagens. A Figura 8(a) mostra que os

    nveis de cinza presentes na imagem concentram-se na extremidade de valores

    menores, ou seja, caracteriza uma imagem com predominncia de cores escuras.

    Na Figura 8(b), verifica-se o contrrio, onde h uma predominncia maior dos

    nveis de cinza com valores mais altos, caracterizando uma imagem clara. Na

    Figura 8(c), percebe-se uma faixa de variao pequena de nveis de cinza

    predominantes, no havendo predominncia de cores escuras nem claras,

    caracterizando uma imagem de baixo contraste. Por fim, na Figura 8(d), tem-se

    uma distribuio melhor dos nveis de cinza na imagem, no havendo

    predominncia de um grupo especfico de nveis de cinza, alm de uma faixa de

    variao maior. Tais caractersticas denominam tal imagem como uma imagem de

    alto contraste.

    Embora as propriedades avaliadas anteriormente sejam descries globais

    a respeito de uma imagem, o histograma uma ferramenta de informao til

    sobre a possibilidade para realce do contraste. Atravs desta anlise, percebem-

    se as caractersticas de nveis de cinza predominantes na imagem e quais deles

    se deseja realar, atravs de tcnicas de processamento adequadas.

    Especificamente no ambiente de Futebol de Robs, o histograma representa um

    recurso importante para anlise das caractersticas que se desejam realar e

    processar na imagem, obtendo a melhor fidelidade de dados possvel para os

    mdulos seguintes que fazem parte do sistema.

  • 25

    Figura 8 - Histogramas correspondentes a quatro tipos de imagens (GONZALEZ; WOODS, 2000).

    3.2.2 O Processo de Calibrao de Imagens

    O maior problema do sistema de viso computacional para o jogo de

    futebol de robs que as cores utilizadas na competio no permanecem iguais

    durante toda uma partida. Por exemplo, a cor da bola muda quando ela se

    desloca do centro da imagem para a borda, e o mesmo acontece com a cor de

    qualquer outro objeto. Tal fenmeno ocorre porque a luminosidade do campo no

    homognea. Alm disso, o espao de cores utilizado durante uma partida no

    possui regies linearmente separveis. Por isso, tcnicas de segmentao

    baseadas em limiarizao esttica, ou seja, onde o limiar dos corpos no se

    altera, no apresentam bons resultados, perdendo os objetos durante o jogo

    (BIANCHI; REALI-COSTA, 2000). Tais tcnicas tentam separar as cores dos

    objetos criando regies cbicas no espao de cores (com os planos do cubo

    ortogonais aos eixos). Analisando a Figura 9, nota-se que o espao de cores

  • 26

    realmente no possui separao entre regies, sendo necessria a utilizao de

    alguma alternativa para uma melhor definio dos dados a serem processados.

    Figura 9 - Espao de cores utilizado no Futebol de Robs (BIANCHI; REALI-COSTA, 2000).

    Partindo de tal situao, pesquisadores propuseram diferentes sistemas

    para solucionar este impasse. Bianchi e Reali-Costa (BIANCHI; REALI-COSTA,

    2000), por exemplo, propuseram um sistema que realiza o rastreamento das

    cores dos objetos durante o jogo, visto que ao longo de uma partida completa as

    cores podem se misturar, mas em um determinado instante elas so facilmente

    separveis. Assim, este sistema inicializa a cor da bola, dos robs do time e do

    time adversrio durante a calibrao e atualiza o valor da cor destes objetos a

    cada quadro com a mdia das trs ltimas medidas. Com isto, a todo momento

    tem-se um valor de cor prximo ao real, o que permite separar cores prximas no

    espectro e encontrar objetos cuja cor percorre, durante a partida, um caminho na

    faixa do espao de cores.

    Paralelamente a isto, Satomi e um grupo de pesquisadores (SATOMI et al.,

    2005), em 2004, desenvolveu um sistema GUI (Graphical User Interface) de

  • 27

    calibrao para ambiente LINUX, permitindo a definio de cores padro, que

    eram necessrias para um sistema de filtro desenvolvido para a equipe de

    Futebol de Robs criada por eles. Tal interface para este sistema pode ser vista

    na Figura 10.

    Figura 10 - Ambiente de calibrao de cores da equipe de Futebol de Robs da FEI de 2004 (SATOMI et al., 2005).

    Assim, baseado nos exemplos anteriores, nota-se a importncia

    fundamental da criao de sistemas de calibrao de cores ou padres para o

    correto funcionamento do sistema de Viso Computacional em times de Futebol

    de Robs. Sem esse sistema, pode no haver fidelidade nas informaes a serem

    processadas pelo sistema caso os padres a serem encontrados nas imagens

    estejam distorcidos em relao a um comportamento terico.

  • 28

    3.3 FILTRO

    A utilizao de tcnicas para filtrar uma imagem adquirida por uma cmera

    tem o objetivo de eliminar rudos ou interferncias entre os pixels da imagem. No

    sistema de Viso Computacional para Futebol de Robs, os filtros so uma parte

    muito importante, pois os dados filtrados por esta etapa sero usados na

    segmentao das imagens, permitindo localizar os objetos importantes para

    realizar o controle de um jogo (PENHARBEL et al., 2004).

    A grande dificuldade em se implementar filtros de cores causada pela

    diferena de luminosidade que ocorre nas diferentes partes do campo, embora

    haja uma ateno com este fato. Alm disso, outro problema que os filtros

    apresentam a dificuldade de separao correta de cores muito similares.

    Algumas vezes, cores muito prximas no espectro RGB podem ser confundidas,

    alm do fato de que o sinal proveniente da cmera pode ter rudos que,

    eventualmente, interferem no sistema de viso e no filtro, prejudicando o seu

    desempenho (PENHARBEL et al., 2004).

    Partindo desta necessidade, um filtro deve ser projetado de forma a

    fornecer um sistema de filtragem robusto, computacionalmente eficiente e menos

    influenciado por rudos ou variao de luminosidade.

    Numa filtragem, o processamento de um nvel de cinza kr de um pixel

    depende dos valores do nvel de cinza do prprio pixel e dos pixels vizinhos, ou

    seja, os elementos da matriz de imagem mais prximos do elemento em questo.

    Em geral, na vizinhana, os pixels mais prximos contribuem mais na definio do

    novo valor do nvel de cinza do que os pixels mais afastados (FACON, 2005).

    Alm disso, deve-se levar em conta que o tipo de processamento dado ao pixel

    depende do tipo de rudo que se deseja filtrar ou qual caracterstica da imagem se

    deseja realar ou eliminar.

  • 29

    3.3.1 Filtragem por vizinhana

    Vrios tipos de rudos podem ser encontrados em uma imagem. Assim,

    proporcionalmente aos tipos de rudos, existem tambm filtros especficos para

    cada um deles. Especificamente no Futebol de Robs, um dos problemas com

    relao s imagens capturadas durante uma partida est relacionado com a

    variao brusca de nveis de cinza nos contornos das formas de uma imagem.

    Assim, faz-se necessria a utilizao ou criao (se for mais conveniente) de

    filtros espaciais que eliminem tais variaes, atravs de uma filtragem por

    vizinhana, diminuindo a probabilidade de erro ao longo dos clculos seguintes no

    sistema de Viso Computacional.

    Uma das tcnicas conhecidas para diminuir tais variaes a comparao

    ponto a ponto (RIGHES, 2004), que serviu de modelo para a proposta de filtro

    apresentada neste trabalho. Tal mtodo consiste de uma janela (imagem

    exemplo) que desliza sobre uma ou mais imagens de referncia, calculando-se a

    diferena entre os pixels do exemplo e da referncia. Esta diferena cumulativa

    para cada posio da janela e as imagens de referncia que possurem o valor de

    erro abaixo de um limite so escolhidas ou tratadas. A imagem de exemplo uma

    imagem menor ou de igual tamanho ao das imagens de referncia. Esta tcnica

    possui problemas no que diz respeito qualidade da imagem aps seu uso, mas

    os padres desejados mantm-se os mesmos, perdendo parte da informao da

    imagem ou no de acordo com o valor de erro adotado.

    A descrio detalhada do equacionamento utilizado para a implementao

    deste filtro exposta na seo 6.2.3 deste trabalho.

  • 30

    3.4 SEGMENTAO

    Alguns psiclogos alemes no incio do sculo XX introduziram o princpio

    da segmentao. Eles mostraram que o ser humano, no aspecto viso, efetua

    agrupamentos sobre o que ele percebe, baseados em proximidade, similaridade e

    continuidade. Segundo alguns estudos baseados na teoria da viso, a

    decomposio de uma cena visual em unidades significantes mostra-se uma

    etapa fundamental na compreenso da imagem (FACON, 2005). No campo da

    Robtica, a viso por computador tenta adotar um funcionamento anlogo ao da

    viso humana. A segmentao traduz esse esforo.

    A segmentao subdivide uma imagem em suas partes ou objetos

    constituintes. O nvel at onde essa subdiviso deve ser realizada depende do

    problema a ser resolvido. Ou seja, a segmentao deve parar quando os objetos

    de interesse na aplicao tiverem sido isolados (GONZALEZ; WOODS, 2000).

    Esta etapa do processo de Viso Computacional muito importante, pois uma

    segmentao efetiva quase sempre garante sucesso no reconhecimento das

    caractersticas que sero processadas posteriormente. Por essa razo, um

    cuidado considervel deve ser tomado para se melhorar as chances de uma

    segmentao robusta.

    Os algoritmos de segmentao de imagens so geralmente baseados nas

    seguintes propriedades bsicas dos nveis de cinza: descontinuidade e

    similaridade. Na primeira, a metodologia consiste em particionar a imagem

    baseado em mudanas bruscas nos nveis de cinza, fazendo a deteco

    (deteces) de pontos isolados ou deteco de linhas de bordas na imagem. Na

    segunda categoria, o processo baseia-se em limiarizao, crescimento de regies

    e diviso ou fuso de regies (GONZALEZ; WOODS, 2000). Alm dos tipos

    citados, h tambm uma terceira classe de algoritmos muito utilizada: a de

    reconhecimento de padres, categoria utilizada neste trabalho.

  • 31

    3.4.1 Conceitos de Reconhecimento de Padres

    O reconhecimento de padres uma habilidade extremamente

    desenvolvida em seres humanos e em alguns animais. O grau de refinamento

    deste reconhecimento, por parte do ser humano, pode chegar a ponto de

    distinguir uma pintura de um grande mestre daquela feita por um grande falsrio

    ou at estabelecer uma tomada de deciso por parte de um operador em um dia

    de grande movimento na bolsa de valores. Assim, pode-se dizer que padres so

    os meios pelos quais o mundo interpretado, a partir de propriedades que

    possibilitam o agrupamento de objetos ou caractersticas semelhantes dentro de

    uma determinada classe ou categoria, mediante a interpretao de dados de

    entrada, permitindo a extrao das caractersticas relevantes. A partir desta

    interpretao, elaboram-se atitudes e decises (CASTRO; PRADO, 2001).

    Desta maneira, reconhecimento de padres pode ser definido como sendo

    um procedimento em que se busca a identificao de certas estruturas nos dados

    de entrada em comparao a estruturas conhecidas e sua posterior classificao

    em categorias, de modo que o grau de associao seja maior entre estruturas de

    mesma categoria e menor entre as categorias de estruturas diferentes (CASTRO;

    PRADO, 2001). Os dados de entrada so medidos a partir de sensores e

    selecionados segundo o contedo de informaes relevantes para a deciso do

    sistema, passando por uma reduo de sua dimensionalidade para que possam

    ser usados pelo classificador, que o designar classe que melhor o represente.

    Um sistema para reconhecimento de padres possui trs etapas:

    representao dos dados de entrada e sua mensurao, extrao das

    caractersticas e identificao e classificao do objeto em estudo. Na primeira

    etapa, basicamente feita uma extrao de todas as caractersticas de um objeto,

    representadas numericamente em um vetor X, por exemplo, onde cada elemento

    deste vetor corresponde a uma caracterstica. Na segunda etapa, feita uma

    reduo da dimensionalidade de caractersticas (tamanho do vetor), ou seja,

    utilizam-se apenas as caractersticas que so pertinentes resoluo do

    problema em questo, descartando-se as outras. Tal reduo exige um profundo

    conhecimento do problema a ser resolvido pelo sistema, pois uma seleo mal

    feita das caractersticas de um objeto pode acarretar em perda de informao que

    seja relevante para o sistema. Por fim, a ltima etapa consiste em classificar,

  • 32

    mediante padres pr determinados, qual o objeto, atravs de comparaes das

    caractersticas adquiridas com as caractersticas do padro (CASTRO; PRADO,

    2001). Essas trs etapas podem ser implementadas atravs de trs tipos

    diferentes de abordagem no projeto de sistemas para reconhecimento de

    padres. So elas:

    Rol de Membros (Template Matching): Caracterizao mediante

    comparaes com um modelo previamente armazenado cujas

    caractersticas servem de parmetro para a comparao. til em

    aplicaes onde os padres a serem comparados so muito prximos do

    modelo padro.

    Propriedades Comuns (Feature Matching): Caracterizao feita

    mediante caractersticas principais de objetos de uma classe. Padres de

    uma mesma classe tm propriedades comuns de discriminao desta

    classe. Assim, quando um padro desconhecido observado pelo sistema,

    suas caractersticas so comparadas com as caractersticas discriminantes

    das classes j existentes. De acordo com o resultado, o sistema

    classificar este novo padro em uma das classes j existentes ou

    designar uma nova classe para este padro.

    Agrupamento (Clustering Matching): Quando os padres de uma classe

    so vetores cujos componentes so nmeros reais, a classe do padro

    pode ser estabelecida segundo formas de agrupamento, clusters, destes

    pontos no plano. Havendo uma separao entre tais pontos de forma clara,

    podem ser empregadas tcnicas simples de classificao. Caso contrrio,

    a classificao do padro ser feita por mtodos mais complexos como

    estatstica, mtodos determinsticos ou algoritmos mais adequados.

    Atravs de tais abordagens, possvel montar sistemas de segmentao

    altamente robustos (CASTRO; PRADO, 2001).

  • 33

    3.4.2 Deteco de objetos no Futebol de Robs

    No Futebol de Robs, utiliza-se o sistema de viso computacional para

    detectar os robs mveis e a bola por meio de cores padronizadas para cada

    equipe que disputa uma partida. Uma tcnica utilizada por Bianchi e Reali-Costa

    (BIANCHI; REALI-COSTA, 2000) a de utilizar a cor e a forma dos robs para

    deteco de sua posio no espao do campo. Com a cor e a forma pr

    estabelecidas na fase de calibrao, o sistema percorre a imagem pixel a pixel.

    Ao encontrar um ponto com a cor da bola, seu centro determinado. Ao encontrar

    um ponto com a cor de um dos robs, o sistema inicia um algoritmo para

    determinar sua posio e orientao. Ao encontrar um ponto da cor do time

    oponente, ele encontra o centro deste objeto.

    J PENHARBEL et al. (2004) utilizam o mesmo sistema, diferenciado

    apenas no uso de matrizes de cores-padro, ou seja, restringindo as cores a

    serem lidas pelo sistema de calibrao, reduzindo a probabilidade de erro na

    segmentao das imagens.

    Concluindo, nota-se que o processo de segmentao das imagens acaba

    seguindo um padro, porm as tcnicas a serem utilizadas, bem como as

    caractersticas que desejam ser analisadas, ficam a cargo do projetista do

    sistema, mantendo um nico objetivo padro: a maior fidelidade possvel de

    informaes para retratar e interpretar o mundo real atravs de uma imagem.

  • 34

    3.5 ANLISE

    A anlise dos dados das imagens a ltima etapa do Sistema de Viso

    Computacional. Ela consiste em um processo de entendimento dos padres

    relevantes performance de uma determinada tarefa baseada na imagem. A

    principal meta da anlise de imagens dotar uma mquina computadorizada com

    a capacidade de se aproximar, em um determinado sentido, capacidade similar

    dos seres humanos. Sendo assim, um sistema de anlise automtica de imagens

    deveria ser capaz de exibir vrios graus de inteligncia. O conceito de inteligncia

    um pouco vago, mas algumas caractersticas vm imediatamente mente: a

    habilidade de extrair informao a partir de um fundo de detalhes irrelevantes; a

    capacidade de aprender a partir de exemplos e generalizar o conhecimento para

    aplic-lo em circunstncias novas e diferentes; e a habilidade de fazer inferncias

    a partir de informao incompleta (GONZALEZ; WOODS, 2000).

    Sistemas analticos de imagens com essas caractersticas podem ser

    projetados e implementados para ambientes operacionais limitados. Assim, o

    estado da arte em anlise computadorizada de imagens est, em sua maior parte,

    baseado em formulaes heursticas projetadas para resolver problemas

    especficos, o que se traduz pela necessidade de, antes de projetar um sistema

    de viso computacional, o projetista responsvel ter um profundo conhecimento

    do problema. No Futebol de Robs, principalmente pelo ngulo em que as

    imagens so capturadas em relao ao campo (cmera tirando fotos de cima do

    campo em duas dimenses) e pelo tipo de informaes desejadas que se deseja

    extrair (distncias entre corpos e sentido que cada corpo se encontra em relao

    bola, no caso), as formulaes heursticas utilizadas neste sistema geralmente

    envolvem o clculo de distncias e ngulos entre dois ou mais corpos. Neste

    caso, segundo Gonzalez e Woods (GONZALEZ; WOODS, 2000), o projetista

    parte de um tipo de conhecimento chamado procedural, ou seja, trata de

    operaes que envolvem a seleo ou criao de algoritmos e configuraes de

    parmetros para esses algoritmos, desejando um resultado esperado (um

    detalhamento do contedo da imagem) a partir do que dado (uma matriz de

    pixels).

  • 35

    3.5.1 Anlise Espacial em Futebol de Robs

    Quando sistemas de anlise de imagens so projetados, muito comum a

    medio de distncias. Em muitos casos utiliza-se o clculo de distncia clssica

    entre dois pontos ou distncia euclidiana. Para tal situao, deve-se ter em mente

    que o eixo das coordenadas em uma matriz de dados se dispe conforme a

    Figura 11.

    Figura 11 - Diagrama ilustrativo da utilizao do eixo de coordenadas cartesianas em uma matriz de dados. (GONZALEZ et al., 2004)

    Analisando a figura, nota-se que o eixo das abscissas corresponde ao eixo

    onde se verificam as colunas da matriz e o eixo das ordenadas, as linhas. Desta

    maneira, lembrando que o sistema analisa os dados na notao matricial M(i,j),

    onde i indica a linha da matriz e j, a coluna, deseja-se analisar o contedo de um

    ponto P de coordenadas P(10,20), entende-se que este ponto corresponde ao

    elemento localizado na linha 10 e na coluna 20 da matriz.

  • 36

    Supondo agora a localizao de dois pontos P0(x0,y0) e P1(x1,y1) na matriz,

    dispostos aleatoriamente conforme a Figura 12, o clculo para a distncia D entre

    eles procede-se de acordo com a Equao Eq. (7).

    Figura 12 - Distncia entre dois pontos na matriz (GONZALEZ et al., 2004).

    Eq. (7)

    Tal definio comumente utilizada para clculo de distncias entre dois

    corpos em uma imagem (ALBUQUERQUE, 2000).

    Alm disso, no Futebol de Robs, existem alguns algoritmos adicionais que

    devem ser aplicados para se obter uma interpretao melhor do sistema, o que

    varia de projeto para projeto. Bianchi e Reali-Costa (BIANCHI; REALI-COSTA,

    2000), por exemplo, implementaram um algoritmo para calcular o centro de

    massa da bola, a partir de um ponto inicial Pini com a cor desejada para a bola

    (definida na fase de calibrao). Aps isso, traada uma reta horizontal e

    encontrado o ponto de cruzamento desta reta com as bordas do crculo (pontos

  • 37

    P1 e P2). O ponto mdio desta reta (Pex) define a posio x do centro do crculo.

    Traando uma outra reta a partir do ponto mdio encontrado, na vertical, so

    encontradas as outras bordas do crculo (pontos P3 e P4). O ponto mdio da

    segunda reta o ponto mdio da bola (Pcentral). A Figura 13 ilustra este algoritmo.

    Figura 13 - Algoritmo para clculo do centro de massa da bola (BIANCHI; REALI-COSTA, 2000).

    Para identificar e localizar os robs do jogo, cada rob possui uma

    identificao de acordo com a Figura 14, composta por dois crculos de tamanhos

    e cores diferentes. Partindo de uma identificao por cores, a posio e a

    orientao dos robs so encontradas atravs do seguinte algoritmo:

    1. Encontra-se o centro do crculo maior, utilizando o mesmo algoritmo

    mostrado na Figura 13;

    2. Procura-se o centro do crculo menor, que est a uma distncia conhecida

    do crculo maior;

    3. Usando o mesmo algoritmo, encontra-se o centro do crculo;

    4. Considerando a distncia entre os centros dos crculos maior e menor no

    rob, definem-se pares;

    5. Caso haja mais de uma combinao possvel entre pares, verifica-se se

    existe a conexo entre eles, definindo um par para cada rob do time.

  • 38

    6. Traa-se a reta entre os dois centros. O seu ponto mdio o centro do

    rob e sua inclinao, a orientao do rob.

    Figura 14 - Ilustrao de algoritmo de identificao dos robs (BIANCHI; REALI-COSTA, 2000).

    A cor do retngulo entre os dois crculos necessria para definir se eles

    pertencem ao mesmo rob. Isto necessrio, pois ocorrem configuraes na

    partida onde dois robs ficam encostados e, sem esta verificao, pode-se

    identificar o crculo maior de um rob com o crculo menor de outro como sendo

    um nico rob, que teria a orientao e posio calculadas de maneira errnea

    (BIANCHI; REALI-COSTA, 2000).

    J Fernandez e outros pesquisadores (FERNANDEZ et al., 2010) utilizaram

    geometria analtica como ferramenta fundamental para definir equaes de

    posicionamento. Dado um plano coordenado XY onde um ponto o rob e um

    outro ponto afastado qualquer a bola. Pela matemtica, dois pontos distintos

    determinam uma nica reta que passa por eles e a geometria analtica d a

    equao conforme Equao Eq. (8), onde a a tangente do ngulo que a reta

    forma com o eixo X, e b o ponto onde ela intercepta o eixo Y. Com o ngulo,

    sabe-se em que direo o rob dever ir para interceptar a bola.

  • 39

    Figura 15 - Ilustrao de um algoritmo para interpretao de imagens (FERNANDEZ et al., 2010).

    Eq. (8)

    Assim, conforme todas as etapas descritas neste captulo, nota-se a

    infinidade de conceitos que envolvem o projeto de um sistema de viso

    computacional, desde um conhecimento profundo do problema a ser resolvido at

    a interpretao de todos os fatores relevantes para uma atitude a ser tomada de

    acordo com o ambiente retratado na imagem.

  • 40

    4. ESTRATGIA

    Passado o mdulo de Viso Computacional, onde feito o primeiro contato

    do sistema de Futebol de Robs com o