reconhecimento e rastreamento de objetos

Upload: filipebahia

Post on 29-Oct-2015

37 views

Category:

Documents


2 download

TRANSCRIPT

  • UNIVERSIDADE CATLICA DE GOIS DEPARTAMENTO DE COMPUTAO

    GRADUO EM CINCIA DA COMPUTAO

    RECONHECIMENTO E RASTREAMENTO DE OBJETOS

    ANA CAROLINA CORREIA RZIO

    DEZEMBRO, 2008

  • ii

    UNIVERSIDADE CATLICA DE GOIS DEPARTAMENTO DE COMPUTAO

    GRADUO EM CINCIA DA COMPUTAO

    RECONHECIMENTO E RASTREAMENTO DE OBJETOS

    Trabalho de Trabalho de Concluso de Curso apresentado por Ana Carolina Correia Rzio Universidade Catlica de Gois, como requisito parcial para obteno do ttulo de Bacharel em Cincia da Computao aprovado em 12/12/2008 pela Banca Examinadora:

    Professor Alexandre Ribeiro, MsC. UCG Orientador

    Professor Leandro Luis Galdino de Oliveira, Dr. UCG

    Professor Augusto Silva. UCG

  • iii

    RECONHECIMENTO E RASTREAMENTO DE OBJETOS

    ANA CAROLINA CORREIA RZIO

    Trabalho de Concluso de Curso apresentado por Ana Carolina Correia Rzio Universidade Catlica de Gois Departamento de Computao, como parte dos requisitos para obteno do ttulo Bacharel em Cincia da Computao.

    Professor Jeov Martins Ribeiro, MsC Coordenador do TCC

    Professor Alexandre Ribeiro, MsC Orientador

  • iv

    DEDICATRIA

    Dedico este trabalho, aos meus pais, Ana Lcia e Jos Rzio pelo amor, carinho, dedicao, compreenso e principalmente por acreditarem em meu sucesso e ajudarem a realizar mais um dos meus sonhos.

    Ao meu amigo e professor Alexandre Ribeiro pela amizade, companheirismo e considerao.

  • v

    EPGRAFE

    O sucesso nasce do querer, da determinao e persistncia em se chegar a um objetivo. Mesmo no atingindo o alvo, quem busca e vence obstculos, no mnimo far coisas admirveis.

    Jos de Alencar

  • vi

    AGRADECIMENTOS

    Agradeo primeiramente a Deus por ter me sustentado durante todo esse perodo.

    Agradeo aos meus pais, irmos e cunhada, pelo amor, carinho, pacincia e apoio em todos os momentos, principalmente naqueles em que tive que dedicar parte do meu tempo a este projeto.

    Agradeo aos meus professores e orientadores Augusto Silva e Alexandre Ribeiro pela pacincia, ateno e dedicao oferecida.

    Agradeo ao Alexandre Ribeiro, que desde meu ingresso universidade, esteve ao meu lado, incentivando, apoiando e aconselhando em todos os aspectos.

    minha amiga Maressa, agradeo pela amizade, confiana, apoio, incentivo e pelos bons momentos proporcionados.

    E aos demais, agradeo pela compreenso, apoio, carinho, amizade e companheirismo em especial ao Max, Jean, Yuriana, Thiago Rodrigues, Iury, Paulo e Shilene.

  • vii

    RESUMO

    Este trabalho tem como propsito o estudo e a apresentao de algumas tcnicas de rastreamento de padro fundamentadas na teoria de viso computacional. Com o objetivo de contextualizar o projeto de futebol de robs promovido pela FIRA [6], dentre as tcnicas apresentadas, a escolhida foi baseada na representao das cores dos objetos (Algoritmo CamShift). O algoritmo utiliza tcnicas de processamento para localizar e identificar os alvos pertencentes cena do jogo e assim, determinar suas trajetrias baseando-se na distribuio das cores e na semelhana com um modelo especificado. O principal objetivo garantir que as aes atribudas a cada rob sero executadas corretamente.

    Palavras-chave: Viso Computacional, Rastreamento de Objetos e Algoritmo CamShift.

  • viii

    ABSTRACT

    This work has the purpose of studying and presentation of some techniques of pattern tracking based in the theory of vision computational. With the objective of contextualize the robots soccer project promoted for FIRA [6], within the presented techniques, the chosen was basing on the representation of the colors of the objects or targets (CamShift Algorithm). The algorithm uses processing techniques to locate and to identify the objects that belong to a games scene, in order to determine their paths basing on the colors distribution and on the similarity with a model specified. The main objective is to guarantee that the actions attributed to each robot will be done correctly.

    Key word: Computer Vision, Target Tracking and CamShift Algorithm.

  • ix

    RECONHECIMENTO E RASTREAMENTO DE OBJETOS

    SUMRIO

    LISTA DE FIGURAS .............................................................................................................. xii

    LISTA DE TABELAS ............................................................................................................ xiii LISTA DE ABREVIATURAS E SIGLAS ............................................................................. xiv

    LISTA DE SMBOLOS ........................................................................................................... xv 1. INTRODUO ...................................................................................................................... 1

    1.1. Viso Computacional .................................................................................................... 2 1.2. Caracterizao do problema .......................................................................................... 2 1.3. Objetivos do projeto ...................................................................................................... 3 1.4. Estrutura e contedo do trabalho ................................................................................... 4 1.5. Concluso ...................................................................................................................... 4

    2. PROCESSAMENTO DIGITAL DE IMAGENS ................................................................... 6 2.1. Aquisio da Imagem .................................................................................................... 6 2.1.1. Digitalizao da Imagem ............................................................................................ 6 2.2. Espao de cores ............................................................................................................. 7 2.2.1. Escala de cinza............................................................................................................ 7 2.2.2. Espao RGB ............................................................................................................... 8

    2.2.3. Espao HSV ................................................................................................................ 9 2.3. Convoluo .................................................................................................................. 10

    2.4. Filtro Gaussiano ........................................................................................................... 10 2.5. Segmentao ................................................................................................................ 11 2.5.1. Subtrao .................................................................................................................. 11 2.5.2. Binarizao ............................................................................................................... 12 2.6. Morfologia Matemtica ............................................................................................... 12 2.6.1. Dilatao ................................................................................................................... 12 2.6.2. Eroso ....................................................................................................................... 13 2.6.3. Abertura .................................................................................................................... 14

  • x

    2.6.4. Fechamento ............................................................................................................... 15 2.7. Conectividade .............................................................................................................. 15 2.8. Histograma .................................................................................................................. 16 2.9. Retroprojeo............................................................................................................... 17 2.10. Concluso .................................................................................................................. 17

    3. FUTEBOL DE ROBS ....................................................................................................... 19 3.1. Estrutura Fsica Definida ............................................................................................. 19 3.2. Estrutura Funcional ..................................................................................................... 20

    3.3. Concluso .................................................................................................................... 21 4. SISTEMA FUNCIONAL ..................................................................................................... 22

    4.1. Subsistema de Viso Computacional .......................................................................... 22 4.1.1. Segmentao dos Alvos ............................................................................................ 23 4.2. Subsistema Estrategista ............................................................................................... 25 4.3. Subsistema de Comando e Comunicao .................................................................... 25 4.4. Concluso .................................................................................................................... 25

    5. RASTREAMENTO DE OBJETOS ..................................................................................... 27 5.1. Segmentao pelo Contorno ........................................................................................ 27 5.1.1. Modelo de Observao ............................................................................................. 27 5.1.2. Modelo de Movimento ............................................................................................. 29 5.1.3. Estimao do Movimento ......................................................................................... 31 5.1.4. Estimao da Forma ................................................................................................. 32 5.2. Segmentao pela Cor ................................................................................................. 33 5.2.1. Mean-Shift ................................................................................................................ 33 5.2.2. CamShift ................................................................................................................... 35 5.3. Algoritmos Estudados ................................................................................................. 37 5.3.1. Algoritmo de BEM e COSTA .................................................................................. 37 5.3.1.1. Etapas do Algoritmo .............................................................................................. 38 5.3.2. Algoritmo de CamShift ............................................................................................ 39 5.3.2.1. Etapas do Algoritmo .............................................................................................. 39 5.4. Avaliao dos Algoritmos ........................................................................................... 40 5.4.1. Avaliao do CamShift ............................................................................................. 40 5.4.2. Avaliao do Filtro de Kalman ................................................................................. 41 5.5. Concluso .................................................................................................................... 41

  • xi

    6. ESTRUTURA DO CENRIO ............................................................................................. 42 6.1. Estrutura Utilizada ....................................................................................................... 42 6.2. Ferramentas e Componentes ........................................................................................ 44 6.2.1. Biblioteca OpenCV................................................................................................... 44 6.2.1.1. CxCore ................................................................................................................... 45 6.2.1.2. Cv .......................................................................................................................... 46 6.2.1.3. Highgui .................................................................................................................. 46 6.2.1.4. CvAux .................................................................................................................... 47 6.3. Mtodos e funes ....................................................................................................... 47 6.4. Concluso .................................................................................................................... 48

    7. APLICAO DESENVOLVIDA ....................................................................................... 49 7.1. Localizao .................................................................................................................. 49 7.2. Identificao ................................................................................................................ 56 7.3. Rastreamento ............................................................................................................... 58 7.4. Resultados .................................................................................................................... 60 7.5. Concluso .................................................................................................................... 61

    8. CONCLUSO ...................................................................................................................... 63 REFERNCIAS BIBLIOGRFICAS ..................................................................................... 65 APNDICE .............................................................................................................................. 67

  • xii

    LISTA DE FIGURAS

    Figura 1 Processo de digitalizao da imagem. ..................................................................... 7 Figura 2 Imagem na escala de cinza ...................................................................................... 7 Figura 3 Espao de cores RGB[10]........................................................................................ 8 Figura 4 Espao de cores HSV[10] ........................................................................................ 9 Figura 5 Processo de convoluo a) Primeiro passo. b) Segundo passo. ............................ 10 Figura 6 Processo de Dilatao[9] ...................................................................................... 13 Figura 7 Processo de Eroso[9] .......................................................................................... 14 Figura 8 Processo de Abertura[9] ........................................................................................ 14 Figura 9 Processo de Fechamento[9] .................................................................................. 14 Figura 10 Vizinhana ............................................................................................................ 16 Figura 11 Cenrio de uma partida de futebol robtico segundo categoria MiroSot [6] ..... 18 Figura 12 Medidas e marcaes segundo as regras da Mirosot[6] ..................................... 19 Figura 13 Esquema do funcionamento do futebol de robs [17] ......................................... 20 Figura 14 Etapas do sistema de viso computacional ......................................................... 22 Figura 15 Tcnicas de processamento. ................................................................................. 24 Figura 16 Estimativa do contorno dos alvos [18]. ............................................................... 28 Figura 17 Regio de interesse, centro de massa e vetor Mean-Shift[22] ............................ 33 Figura 18 Convergncia no procedimento de Mean-Shift [22]............................................ 34 Figura 19 Fluxograma do algoritmo CamShift [8] .............................................................. 35 Figura 20 Cenrio utilizado no projeto ................................................................................ 42 Figura 21 Definio das marcas superiores do rob ........................................................... 43 Figura 22 Objetos da cena. ................................................................................................... 43 Figura 23 OpenCV: Arquitetura e seus componentes[7] ..................................................... 45 Figura 24 Diagrama de atividade. ....................................................................................... 49 Figura 25 Subtrao ............................................................................................................. 50 Figura 26 Resultado da subtrao ........................................................................................ 50 Figura 27 Algoritmo da subtrao entre imagens ................................................................ 51 Figura 28 Mscara de convoluo gaussiana ...................................................................... 52 Figura 29 Funo de convoluo gaussiana ........................................................................ 52 Figura 30 Filtro Gaussiano .................................................................................................. 53 Figura 31 Resultado da aplicao do Filtro Gaussiano ...................................................... 53 Figura 32 Binarizao .......................................................................................................... 53 Figura 33 Resultado da binarizao .................................................................................... 54 Figura 34 Resultado da abertura .......................................................................................... 54 Figura 35 4-Conectividade ................................................................................................... 55 Figura 36 Resultado da 4-conectividade .............................................................................. 55 Figura 37 Converso RBG para HSV ................................................................................... 56 Figura 38 Imagem no espaoHSV ........................................................................................ 57 Figura 39 Histograma de cor ............................................................................................... 57 Figura 40 (a) Back-Projection (b) Identificao .................................................................. 57 Figura 41 Processo de rastreamento .................................................................................... 58 Figura 42 Cores menos saturadas e mais escuras ............................................................... 60 Figura 43 Cores mais saturadas e mais claras .................................................................... 61

  • xiii

    LISTA DE TABELAS

    Tabela 1 Especificaes de hardware ................................................................................... 44

  • xiv

    LISTA DE ABREVIATURAS E SIGLAS

    CAMSHIFT Continuously Adaptive Mean Shift Algorithm. CCD Charge Coupled Device. CTI Centro Tecnolgico da Informtica. FIRA Federation of International Robotsoccer Association. HSV Hue, Saturation e Value. MAP Mximo a posterioi.

    MIROSOT MicroRobot Soccer Tournament. OpenCV Open Source Computer Vision Library. RGB Red, Green e Blue. ROBOCUP Robot World Cup Initiative.

  • xv

    LISTA DE SMBOLOS

    Processo de dilatao.

    Processo de eroso.

    Processo de abertura.

    Processo de fechamento.

    N4 4-Vizinhos.

    Nd 4-Vizinhos diagonais. N8 8-Vizinhos diagonais. Funo Base. Ponto na Imagem. Ponto central. u Velocidade de translao. s Fator de escala. A Matriz de rotao e mudana de escala.

    Representa o estado do contorno. O vetor de estado do movimento do alvo. P Matriz de covarincia. Ganho de Kalman. Vetor de observao do sistema. Rudo da observao. Nmero de robs da equipe. Momento ou instante. , Probabilidade do pixel (x,y). ( , ) Centride da regio de interesse.

  • 1

    RECONHECIMENTO E RASTREAMENTO DE OBJETOS

    CAPTULO I INTRODUO

    O projeto de futebol de robs foi criado em 1996 pelo professor Jong-Hwan Kim do Departamento de Engenharia Eltrica do Kaist, da Repblica da Coria do Sul. Em 1997, o Instituto de Automao da Fundao Centro Tecnolgico da Informtica (CTI), Campinas-SP, trouxe a idia para o Brasil [1].

    Atualmente, os principais times existentes no Brasil so o UFPR e o Guaran. Este ltimo, resultado da unio entre as equipes FUTEPOLI (EPUSP) e UNESP (UNESP-Bauru), foi vice-campeo do campeonato mundial realizado na Frana em 1998 [2].

    Os campeonatos de futebol de robs podem ser regulamentados por dois rgos, o ROBOCUP (Robot World Cup Initiative) e a FIRA (Federation of International Robotsoccer Association), ambos com os mesmos objetivos: desenvolver um time de robs capazes de jogar contra um time de seres humanos. No presente projeto a FIRA foi adotada por ter suas normas aceitas pela maioria das instituies acadmicas do Brasil. O jogo regulamentado por essa federao possui suas regras especificadas de acordo com a categoria adotada [3].

    Dentre as reas de desenvolvimento propcias para este projeto, destacam-se a Robtica, Viso Computacional e a Inteligncia Artificial. Embasado nas teorias de viso computacional e com o objetivo de dar continuidade e aperfeioamento na tcnica utilizada para o processamento de imagens, do projeto de MELO e FERREIRA [4], foi proposto o presente trabalho tendo como enfoque o processo de rastreamento de objetos. O objetivo localizar, identificar e rastrear um ou mais objetos pertencentes cena do jogo a partir de uma seqncia de imagens capturadas por uma cmera de vdeo cuja principal restrio o processamento em tempo real.

  • 2

    Durante uma partida de futebol, a central de processamento de cada equipe responsvel pelo reconhecimento de imagens, rastreamento de objetos, processamento dos dados e transmisso das informaes [4]. Um dos problemas cruciais o rastreamento da trajetria do rob devido necessidade de garantir que as instrues enviadas para cada rob sejam realizadas corretamente. A rea de fundamental importncia para solucionar este problema a Viso Computacional (Seo 1.1).

    O contedo abordado de grande importncia para sistemas inteligentes, principalmente no que refere s inferncias realizadas sobre o ambiente. Tais sistemas inteligentes podem ser utilizados em vrias aplicaes entre elas: sistema de segurana, sistema de vigilncia, anlise de movimentos humanos, sistema de deteco e rastreamento de pedestres ou veculos, dentre outros [5].

    1.1. Viso Computacional

    A viso computacional abrange uma variedade de tcnicas e mtodos para reconhecimento e rastreamento de imagem [4]. Seu objetivo consiste principalmente na determinao das caractersticas dos objetos representados em uma imagem, distinguindo-os pelas suas cores e formas.

    Atravs da viso computacional, uma imagem captada de um cenrio por um sensor ptico (cmera), pode ser tratada e nela podem ser identificados objetos por meio de padres (por exemplo, a cor e a forma). Este objeto reconhecido pode ter sua trajetria monitorada atravs de algoritmos de reconhecimento e rastreamento de alvos. Tais algoritmos consistem basicamente em associar modelos definidos quadro-a-quadro em uma seqncia de imagens processadas a fim de descrever o movimento de um ou mais objetos em uma cena, ou ainda, gerar inferncia sobre este movimento [1].

    1.2. Caracterizao do problema

    O campeonato de futebol de robs promovido pela Federao Internacional de Associaes de Futebol Robtico (FIRA), fundada por pesquisadores coreanos, dividido em categorias, dentre elas a categoria Mirosot (MicroRobot Soccer Tournament) [6].

  • 3

    Na categoria Mirosot os jogos so disputados entre duas equipes, composta cada qual por trs robs em formato de cubo, um computador e um sensor ptico (cmera de vdeo digital) para captar as informaes. Nesta categoria existem ainda trs sub-categorias Small League, Middle League e Large League, diferindo no nmero de robs, 3, 5 e 7 respectivamente, e no tamanho do campo 150cm x 130cm, 220cm x 180cm e 280cm e 220cm respectivamente. A sub-categoria escolhida, por exigir menos recursos, foi a Small League.

    De posse das informaes e da identificao dos elementos padronizados dentro do campo de viso [4], surge a necessidade de determinar suas trajetrias. Essas trajetrias so determinadas a fim de obter-se a direo, sentido e velocidade de cada objeto, garantindo o monitoramento do ambiente. O resultado deste processamento utilizado para definir a melhor estratgia a ser aplicada e garantir que as decises, tomadas pelo sistema estrategista e enviadas via rdio ao sistema de comunicao, sero traduzidas em aes aplicadas de forma eficiente.

    O problema resume-se no rastreamento de alvos em movimento que obtido pelo reconhecimento de objetos atravs das imagens fornecidas pelas cmeras de vdeo. Cada imagem da seqncia deste vdeo denominada de quadro. Baseado nas teorias de viso computacional e nas tcnicas de rastreamento, este projeto consiste na pesquisa e anlise terica sobre o tema e na implementao de um algoritmo de rastreamento.

    Foram estudadas duas tcnicas de rastreamento de objetos sendo uma baseada no contorno do objeto e a outra baseada na cor (vide Captulo 5). O processo de localizao e identificao foi realizado segundo algumas adaptaes aos passos proposto por BEM e COSTA e o processo de rastreamento utilizado, devido ao seu desempenho, foi o algoritmo CAMSHIFT (Continuously Adaptive Mean Shift Algorithm) que baseia-se na cor do objeto identificado.

    1.3. Objetivos do projeto

    O objetivo do projeto consiste em implementar um algoritmo para aquisio e anlise da imagem com padres reconhecidos para ento determinar a trajetria do objeto

  • 4

    identificado, a fim de garantir, por exemplo, que as aes que foram definidas pelo sistema de estratgia sero executadas corretamente pelos robs.

    As atividades realizadas no projeto foram:

    apresentao terica do mdulo de viso computacional;

    estudo e anlise de algoritmos de rastreamento de alvos;

    implementao de uma aplicao que a partir de um ou mais objetos reconhecidos por padres estabelecidos rastreie as suas trajetrias;

    1.4. Estrutura e contedo do trabalho

    O presente trabalho est estruturado de forma a ilustrar a teoria envolvida no estudo do tema, viso computacional. O Captulo 2 apresenta os fundamentos do processamento digital de imagens essenciais para entendimento da aplicao desenvolvida. O Captulo 3 apresenta de forma detalhada os sistemas envolvidos no jogo de futebol de robs, as regras e os padres utilizados. No Captulo 4 apresentada uma viso detalhada sobre o sistema funcional e seus subsistemas, dentre eles o subsistema de viso computacional e sua aplicao no problema a ser tratado. O Captulo 5 apresenta um estudo e a anlise de duas tcnicas de rastreamento de objetos, dentre elas, a que foi utilizada.

    Toda estrutura do cenrio, ferramentas e componentes utilizados para simulao so especificados no Captulo 6. O Captulo 7 contm os detalhes da implementao utilizada para o desenvolvimento da aplicao e os resultados alcanados. O Captulo 8 apresenta a concluso dos estudos e as sugestes para os trabalhos futuros.

    1.5. Concluso

    Utilizando a teoria de viso computacional, os objetos pertencentes a uma determinada cena, capturada por uma cmera de vdeo, podem ser identificados e diferenciados pela suas cores e formas. Alm disso, estes objetos podem ter sua trajetria determinada a partir das tcnicas de rastreamento de objetos apresentadas no Captulo 5. Neste projeto, a tcnica escolhida e detalhada nos prximos captulos realizada a partir da segmentao das cores

  • 5

    [7][8]. Esta tcnica foi escolhida devido principalmente ao desempenho computacional proporcionado.

    Este trabalho est contextualizado no ambiente do projeto de futebol de robs promovido pela FIRA. Os detalhes da estrutura fsica e funcional do jogo de futebol de robs so apresentados no Captulo 3 e a fundamentao terica, necessria para o entendimento da aplicao desenvolvida, apresentada no prximo captulo.

  • 6

    CAPTULO II PROCESSAMENTO DIGITAL DE IMAGENS

    As sees contidas neste captulo tm por objetivo apresentar os fundamentos da imagem digital que serviro como suporte para compreenso dos prximos captulos.

    2.1. Aquisio da Imagem

    A aquisio da imagem realizada a partir de um sensor e um digitalizador, onde o sensor responsvel por converter a informao ptica em sinal eltrico e o digitalizador transformar a imagem analgica em imagem digital. Assim, o resultado dessa etapa produzir uma imagem digitalizada (Seo 2.1.1), ou seja, uma representao numrica adequada para o processamento digital.

    Normalmente, os sensores utilizados nas cmeras digitais so monocromticos, ou seja, a radiao emitida produzida por apenas uma cor (um comprimento de onda). O sensor CCD (Charge Coupled Device) encontrado na Webcam empregada no projeto um exemplo de sensor monocromtico. Esse sensor transforma a luz refletida em sinais eltricos que sero convertidos em bits pelo conversor analgico-digital ou digitalizador [9].

    2.1.1. Digitalizao da Imagem

    A digitalizao da imagem consiste basicamente de trs passos. A partir da imagem original analgica (Figura 1-a) realizado o processo de amostragem no qual a imagem amostrada matriz de pixel (Figura 1-b). Depois de realizada a amostragem inicia o processo de ponderao, onde cada pixel da imagem (ou amostra) ponderado (Figura 1-c). O ltimo passo consiste da quantizao no qual os pixels so convertidos forma numrica (Figura 1-d).

  • 7

    Figura 1 Processo de digitalizao da imagem. FONTE: Desconhecida

    2.2. Espao de cores

    Embora a imagem seja monocromtica, a cor pode ser registrada atravs de filtros de cor. A descrio de algumas teorias relacionada escala de cinza e aos espaos de cores RGB (Red, Green, Blue) e HSV (Hue, Saturation, Value) se faz necessria para o melhor entendimento dos algoritmos relacionados.

    2.2.1. Escala de cinza

    A imagem monocromtica, resultante da digitalizao, pode ser descrita em sua forma matricial como uma funo de intensidade luminosa f(x,y), sendo x e y coordenadas espaciais, e o valor da funo no ponto (x,y) proporcional ao brilho (ou nvel de cinza) da imagem naquele ponto (Figura 2) [9].

    Figura 2 Imagem na escala de cinza

  • 8

    A imagem apresentada (Figura 2) pode ser considerada como uma matriz, no qual os ndices de linha e de coluna identificam um ponto da imagem, e o correspondente da matriz identifica o nvel de cinza daquele ponto. Nesta matriz, cada elemento chamado de pixel.

    Como pode ser observado, este espao de cor apresenta um nico canal, o nvel de cinza, este canal representa a variao de intensidade do valor preto para o branco. Este valor pode ser obtido por uma imagem no espao RGB, apresentada prxima seo, atribuindo-se o mesmo valor para os canais R, G e B [9].

    2.2.2. Espao RGB

    No espao de cores RGB cada pixels da imagem digital dividido em trs canais de cores RGB (vermelho, verde e azul). Cada canal varia de 0 a 255, que corresponde a intensidade da cor, no qual o 0 representa a ausncia de cor (preto), enquanto que o 255 representa a tonalidade mxima dessa cor (branco) [10]. Este espao utiliza um sistema de coordenadas R, G, B, cujo subespao de interesse representado pelo cubo unitrio ilustrado na Figura 3.

    Figura 3 Espao de cores RGB[10]

    As cores primrias RGB so aditivas. A diagonal principal do cubo (vide Figura 3), que vai do preto ao branco, representa a escala de cinza e possui quantidades iguais de cores primarias.

  • 9

    2.2.3. Espao HSV

    O modelo HSV (Hue, Saturation, Value) possui a componente de intensidade V desacoplada da informao de cor na imagem e as componentes matiz (H) e saturao (S) so relacionadas percepo humana de cores [10].

    O termo hue (matiz) distingue entre azul, ciano, verde, amarelo, vermelho e magenta; representa a cor da imagem. A saturation da cor, denominada pureza ou saturao, indica o afastamento da cor. Uma cor vermelha pura altamente saturada enquanto o rosa pouco saturada. O value (brilho) representa a intensidade da luz refletida pela superfcie dos objetos [11].

    O sistema de coordenadas um cilindro, e o subconjunto sobre o qual o modelo definido um hexgono, ou uma pirmide de seis lados como ilustrado na Figura 4.

    Figura 4 Espao de cores HSV[10]

    O eixo V representa a escala de tons de cinza, no qual o ponto V = 0 e S = 0 corresponde ao preto e V = 1 e S = 0 ao branco. No topo do hexgono encontram-se as cores de maior intensidade.

    A matiz fornecida pelo ngulo ao redor do eixo vertical, sendo o vermelho igual a 0, o amarelo 60 e assim por diante. O valor da saturao (eixo V) varia entre 0 a 1.

  • 10

    2.3. Convoluo

    A convoluo uma operao na qual uma mscara (elemento estruturante) g(x,y) percorre a imagem f(x,y) desde o seu canto superior esquerdo at seu canto inferior direito (vide Figura 5). A cada posio relativa da mscara sobre a imagem, o pixel central da sub-rea da imagem naquele instante ser substitudo pelo valor calculado na Equao 1 [12].

    , , , !" (1)

    Figura 5 Processo de convoluo a) Primeiro passo. b) Segundo passo. FONTE: Desconhecida

    2.4. Filtro Gaussiano

    O filtro gaussiano aplicado para melhorar a qualidade da imagem de entrada, eliminando caractersticas indesejveis como sujeira no dedo, excesso ou pouca fora aplicada pelo dedo no sensor entre outras, as quais podem induzir a erros de anlise. O objetivo do filtro suavizar os valores associados a cada pixel [13].

    Este filtro definido por uma mscara gaussiana quadrada, nos quais os coeficientes so proporcionais a uma densidade gaussiana bivariada de mdia nula e matriz de covarincia. Aps definida, inicia o processo de convoluo (Seo 2.3), na qual a mscara utilizada para calcular o desvio do pixel central em relao aos vizinhos na janela [13]. Todos os pixels so visitados e posicionados no centro da janela e um novo valor para o pixel obtido a partir da Equao 2.

    #,$ %,&'( )* +,$+-&+ ., (2)

  • 11

    onde:

    * %/0- 1 2, 3 4 %/0- e %,& a constante de padronizao que garante #,$ 1; o tamanho (mpar) da mscara; 6 o espalhamento da densidade gaussiana. Quanto maior o espalhamento, maior ser o efeito da borragem da imagem.

    2.5. Segmentao

    A segmentao de imagem consiste em dividir a imagem em dois ou mais subconjuntos (segmentos: objetos e regies) de acordo com um determinado critrio. Desta forma, cada subconjunto composto pelos pixeis da imagem que satisfazem uma mesma condio, que pode ser por exemplo, ter a mesma cor, ter a mesma textura, apresentar transies bruscas, entre outros.

    Dentre as tcnicas mais conhecidas destacam-se a deteco de descontinuidade, a deteco de limiares (binarizao), a segmentao baseada em regies (subtrao) e watersheds [14].

    2.5.1. Subtrao

    O processo de subtrao entre duas imagens digitalizadas consiste de uma operao aritmtica na qual o resultado a diferena dos valores de intensidade entre as duas imagens.

    A segmentao por subtrao de fundo consiste em subtrair a imagem atual de uma imagem de referncia, a qual apresenta apenas o fundo da cena. O resultado desta subtrao so os objetos no pertencentes ao fundo, ou seja, os objetos que esto em movimento no cenrio. Um problema muito comum encontrado neste processo a mudana da iluminao. Caso ocorra variao da iluminao, depois de adquirida a imagem de referncia, os pixels pertencentes ao fundo podem ser definidos como pertencentes ao objeto por distanciarem do brilho original. Por isso, para se obter um bom resultado necessrio manter a iluminao constante [4].

  • 12

    2.5.2. Binarizao

    O processo de binarizao realizado a partir da tcnica de deteco de limiares. Essa tcnica uma das tcnicas mais simples de segmentao e consiste em agrupar os diferentes objetos e regies da imagem conforme a similaridade de tonalidades entre os mesmos [14].

    A operao de limiarizao corresponde definio de um valor L de limiar para o nvel de intensidade luminosa ao qual se deseja realizar o ponto de corte (binarizao) da imagem [14]. Um limiar (L) utilizado na imagem de 256 tons de cinza significa que todas as tonalidades onde f(x,y) < L tornam-se informao de fundo da imagem (valor 0 binrio, ou cor preta). Os demais valores (f(x,y) >= L) tornam-se correspondente aos objetos da imagem (valor 1 binrio ou cor branca).

    2.6. Morfologia Matemtica

    A morfologia matemtica tem como objetivo extrair caractersticas importantes da estrutura de alguns componentes da imagem. Esta morfologia baseia-se principalmente na teoria de conjunto e em operaes lgicas e mais utilizada em imagens binrias [14].

    Dentre os operadores morfolgicos mais comuns encontram-se a eroso, dilatao, abertura e fechamento, apresentadas nas prximas sees. De modo geral, os operadores baseiam-se no conceito da aplicao de um elemento estruturante percorrendo sobre uma imagem, de modo anlogo ao que ocorre com as mscaras de convoluo apresentada na Seo 2.3.

    2.6.1. Dilatao

    A dilatao o processo no qual se aplica um elemento estruturante de forma homocntrica sobre um conjunto definido de pontos (brancos ou pretos) em uma imagem, de modo que o elemento estruturante adicione informaes sobre a vizinhana destes pontos. Isso significa que o elemento estruturante desliza sobre um conjunto de pontos dilatando sua vizinhana numa proporo que varia conforme as dimenses do elemento. Esta operao

  • 13

    mais utilizada quando se deseja preencher intervalos e lacunas indesejveis na imagem [9, 14].

    A Figura 6 ilustra o resultado do processo de dilatao (7 ), no qual 7 representa a imagem, representa o elemento estruturante e 8 equivale sua reflexo.

    Figura 6 Processo de Dilatao[9]

    2.6.2. Eroso

    A operao de eroso o inverso da dilatao. Neste caso o elemento estruturante aplicado a fim de retirar informao gerando eroso nas reas percorridas, ao invs de dilatar a vizinhana do ponto percorrido inserindo informao como acontece na dilatao. Essa operao mais utilizada para eliminar detalhes irrelevantes, como rudos, e abrir intervalos ou lacunas em regies de conexo indesejada [9, 14].

    A Figura 7 ilustra o resultado do processo de eroso (7 ), no qual 7 representa a imagem, representa o elemento estruturante e 8 equivale sua reflexo.

  • 14

    Figura 7 Processo de Eroso[9]

    2.6.3. Abertura

    A operao de abertura (7 ) derivada das operaes de dilatao e eroso. Esta operao consiste da aplicao da eroso seguida da dilatao. Atravs da eroso, a abertura elimina pequenos rudos na imagem e abre lacunas em regies de fraca conexo entre objetos, e posteriormente tenta restaurar as dimenses reais dos objetos da imagem atravs da dilatao. Os rudos e as fracas conexes eliminados com a operao de eroso no retornam imagem depois de realizado a dilatao [9] [14]. Vide Figura 8.

    Figura 8 Processo de Abertura[9]

  • 15

    2.6.4. Fechamento

    A operao de fechamento derivada das operaes de dilatao e eroso. Esta operao consiste na aplicao da dilatao seguida da eroso, processo inverso da operao de Abertura. Objetivo desta operao visa restaurar conexes fracas entre os objetos da imagem [9][14]. O processo (7 ) ilustrado na Figura 9.

    Figura 9 Processo de Fechamento[9]

    2.7. Conectividade

    Antes de falar do conceito de conectividade importante definir o que vem ser vizinhana. Um pixel p, de coordenadas (x, y), tem 4 vizinhos horizontais e verticais, cujas coordenadas so (x+1, y), (x-1, y), (x, y+1) e (x, y-1). Os 4-vizinhos so formados por estes pixels de p, tambm designado por N4(p), vide Figura 10-a [9].

    Os quatros vizinhos diagonais de p so os pixels de coordenadas (x-1, y-1), (x-1, y+1), (x+1, y-1) e (x+1, y+1), e constituem o conjunto Nd(p), vide Figura 10-b. J os 8-vizinhos de p definida por: N8(p) = N4(p) 9 Nd(q), conforme Figura 10-c.

  • 16

    (a) (b) (c)

    Figura 10 Vizinhana

    Conectividade um importante conceito utilizado para estabelecer limites de objetos e componentes de regies na imagem. Para determinar se dois pixels esto conectados, necessrio determinar se eles so vizinhos (adjacentes) segundo algum critrio e se obedecem a um critrio de similaridade dentro de uma escala de cor, ou seja, seus valores esto dentro de um conjunto pr-estabelecido de valores de cinza [9].

    Considerando V = {G1, G2, ..., Gk} como o conjunto de k valores de nveis de cinza utilizado para definir a conectividade. So definidos trs tipos de conectividade:

    4-conectividade: dois pixels p e q com valores em V e q N4(p); 8-conectividade: dois pixels p e q com valores em V e q N8(p); m-conectividade: dois pixels p e q com valores em V e:

    i) q N4(p) ou ii) q Nd(p) e N4(p) : N4(q) = ;

    Em resumo: dois pixels podem ser 4-vizinhos, mas somente sero considerados 4-conectados se possurem o mesmo valor.

    2.8. Histograma

    O histograma de uma imagem, tambm conhecido como funo de distribuio de freqncia (probabilidade), muitas vezes representado por um grfico de barras que mostra a quantidade de pixels que representam um determinado nvel de cinza. Atravs do histograma de uma imagem pode-se obter uma idia da qualidade da imagem com relao ao seu nvel de contraste e brilho [9].

  • 17

    Para cada nvel de cinza, pertencente imagem, a probabilidade calculada por:

    (?> (3)

    Onde: = o k-simo nvel de cinza (0 1 = 4 1); o nmero de pixels na imagem com o nvel de cinza =; (

  • 18

    CAPTULO III FUTEBOL DE ROBS

    Este Captulo tem como documentao bsica as regras especificadas segundo a categoria MiroSot [6]. Em 1998, com o incio dos campeonatos de futebol de robs, surgiu a necessidade de criar regras definidas para garantir a compatibilidade dos times. Pesquisadores coreanos fundaram ento a Federation of International Robotsoccer Association (FIRA).

    Atualmente a FIRA possui as categorias: HuroCup, KheperaSot, MiroSot, NaroSot,

    AndroSot, RoboSot e SimuroSot. Em cada categoria so estabelecidas especificaes como cores, medidas e marcaes dos objetos. A categoria utilizada neste projeto a categoria MiroSot porque foi a mesma proposta por MELO e FERREIRA [4].

    O cenrio apresentado na Figura 11 ilustra, segunda a categoria Mirosot, como cada equipe se dispe e como esto estruturadas. Como pode ser observado, existe um campo e uma bola e cada equipe composta por trs robs, uma central de processamento (computador) e um sensor (cmera de vdeo digital).

    As cmeras de cada equipe so posicionadas a uma altura de 2m acima do campo, na mesma altura onde posicionada iluminao. Segundo o regulamento, deve-se garantir uma qualidade de 1,000 lux de iluminao.

    Figura 11 Cenrio de uma partida de futebol robtico segundo categoria MiroSot [6]

  • 19

    3.1. Estrutura Fsica Definida

    Todas as medidas e marcaes so definidas e padronizadas (Figura 12). Na sub-categoria Small League Mirosot o campo um tablado de madeira de formato retangular com 150 centmetros de comprimento e 130 centmetros de largura de cor preta e suas demarcaes possuem colorao branca com 3,0 milmetros de espessura. Todo o campo delimitado por paredes nas extremidades laterais com 5,0 centmetros de altura e 2,5 centmetros de largura.

    Figura 12 Medidas e marcaes segundo as regras da Mirosot[6]

    A bola utilizada uma bola de golfe de cor laranja com 42 milmetros de dimetro. Os robs possuem formato cbico com 7,5 centmetros de aresta. Em suas superfcies superiores so colocadas etiquetas, figuras geomtricas coloridas, em uma rea mnima de 3,5cm x 3,5cm que definem as camisetas dos robs. Tais camisetas permitem ao sistema de viso computacional identificar os robs em uma equipe.

    Para identificar um rob na equipe utiliza-se a combinao da camiseta e a identificao individual do rob. Essa identificao tambm representada por uma figura geomtrica colorida situada na superfcie superior do rob.

  • Segundo as regras da FIRA, as cores utilizadas para identificar as equipes (cor da camiseta) so amarela e azul. Para a idmarcaes (etiquetas) com colorao diferentelaranja, pois as mesmas j esto reservadas.

    As cmeras, utilizadas durante a partida, capturam imagens do campo para aquisio e identificao de padres. O computador responsvel por todo o reconhecimento de e cores, rastreamento de objetos em um plano, processamento dos dados e transmisso das informaes via rdio aos agentes.

    3.2. Estrutura Funcional

    De forma resumida, cada equipe realiza a aquisioimagem e processa a imagem usando tcnicas de viso computacional. Com as informaes fornecidas pelo subsistema de viso computacional, um sistema de deciso define estratgia a ser aplicada comando e comunicao que responsvel por enviar, via robs [16]. A Figura 13 mostra o esquema de funcionamento do futebol de rob

    Figura 13

    Segundo as regras da FIRA, as cores utilizadas para identificar as equipes (cor da camiseta) so amarela e azul. Para a identificao individual do rob na equipe so utilizadas marcaes (etiquetas) com colorao diferente das cores: amarela, azul, preta, branca e laranja, pois as mesmas j esto reservadas.

    As cmeras, utilizadas durante a partida, capturam imagens do campo para aquisio e identificao de padres. O computador responsvel por todo o reconhecimento de e cores, rastreamento de objetos em um plano, processamento dos dados e transmisso das informaes via rdio aos agentes.

    De forma resumida, cada equipe realiza a aquisio, processamento e anliseimagem e processa a imagem usando tcnicas de viso computacional. Com as informaes

    sistema de viso computacional, um sistema de deciso define e os movimentos de cada rob. Em seguida, o que responsvel por enviar, via rdio, a deciso tomada

    mostra o esquema de funcionamento do futebol de rob

    Esquema do funcionamento do futebol de rob

    20

    Segundo as regras da FIRA, as cores utilizadas para identificar as equipes (cor da a equipe so utilizadas

    das cores: amarela, azul, preta, branca e

    As cmeras, utilizadas durante a partida, capturam imagens do campo para aquisio e identificao de padres. O computador responsvel por todo o reconhecimento de imagens e cores, rastreamento de objetos em um plano, processamento dos dados e transmisso das

    , processamento e anlise da imagem e processa a imagem usando tcnicas de viso computacional. Com as informaes

    sistema de viso computacional, um sistema de deciso define a melhor Em seguida, o subsistema de

    a deciso tomada para os mostra o esquema de funcionamento do futebol de robs.

    Esquema do funcionamento do futebol de robs [17]

  • 21

    Entre os desafios e problemas a serem estudados destacam-se que os robs 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 [16].

    No presente trabalho o problema que ser abordado consiste no rastreamento de objetos em movimento utilizando para tanto o subsistema de viso computacional que ser descrito no prximo Captulo.

    3.3. Concluso

    Uma partida de futebol de robs realizada entre dois times sendo cada time composto por trs robs. A estrutura fsica definida possui, alm dos robs, um campo com as dimenses impostas pela MiroSot, uma bola, um computador e um sensor. utilizada uma bola de golfe de cor laranja e os robs so pequenos cubos e em suas superfcies superiores so colocadas etiquetas coloridas. Uma etiqueta utilizada para definir a camiseta (amarela ou azul) do rob permitindo ao subsistema de viso computacional identificar a qual time pertence. A outra etiqueta utilizada, combinada com a cor da camiseta, na identificao individual do rob.

    No prximo Captulo ser detalhado o sistema funcional para o controle da partida de futebol. Este sistema subdivide-se em trs subsistemas, subsistema de viso computacional, subsistema estrategista e subsistema de comando e comunicao, que sero apresentados com mais detalhes no prximo Captulo. Dentre os problemas encontrados e destacados no sistema funcional, o rastreamento de objetos o tema deste projeto e ser abordado no Captulo 5.

  • 22

    CAPTULO IV SISTEMA FUNCIONAL

    Um time de futebol de robs possui um sistema computacional (software) que se subdivide em outros trs subsistemas. O subsistema de viso computacional, detalhado na Seo 4.1, resume-se na localizao, identificao e rastreamento dos objetos presentes na cena do jogo. O subsistema estrategista, apresentado na Seo 4.2, tem como funo principal traduzir as informaes, recebidas pelo subsistema de viso computacional, em tomadas de decises que definem a melhor estratgia para a prxima jogada. Por fim, o subsistema de comando e comunicao (Figura 13), descrito na Seo 4.3, baseia-se na converso das informaes recebidas do subsistema estrategista em aes ou movimentaes para executar a estratgia definida na Seo 4.2.

    4.1. Subsistema de Viso Computacional

    Durante o processo de viso computacional a imagem adquirida atravs de uma cmera digital disposta sobre o campo, Figura 12 (pg. 19). Aps a aquisio, a imagem processada, segmentada e os objetos so ento reconhecidos (localizados), assim como ilustrado na Figura 14.

    Figura 14 Etapas do sistema de viso computacional

  • 23

    Os objetos so reconhecidos pela sua forma e identificados pela sua cor podendo distinguir os robs da equipe dos robs adversrios. Depois de identificados os robs da equipe, o processo de rastreamento realizado a partir da cor de identificao dos robs da equipe.

    4.1.1. Segmentao dos Alvos

    No processo de segmentao o principal objetivo identificar os alvos na imagem adquirida pela cmera de vdeo. Este objetivo pode ser inicialmente alcanado a partir da subtrao das duas primeiras imagens da seqncia (processo apresentado na Seo 2.5.1). A partir da terceira imagem da seqncia, inicia-se o processo de rastreamento, no qual os alvos no so mais segmentados, mas sim rastreados atravs cor da marcao individual de cada alvo. Este processo ser discutido no prximo captulo.

    Depois de realizada a subtrao das imagens e identificados os alvos, sobre a imagem resultante (Figura 15-a) so aplicadas tcnicas de processamento para determinar a rea correspondente aos alvos com baixo rudo. Na imagem resultante a primeira tcnica aplicada o filtro espacial gaussiano (Figura 15-b) cujo objetivo borrar a imagem para remover os detalhes e eliminar os rudos impulsivos (vide Seo 2.4).

    Em seguida a imagem binarizada (Seo 2.5.2), ou seja, transformada em uma imagem com apenas dois tons (ex: preto e branco) como pode ser vista na Figura 15-c. Depois de binarizada, a imagem submetida tcnica de processamento denominada operao morfolgica de abertura.

    A operao morfolgica de abertura (Seo 2.8.3) resume-se em eliminar os componentes isolados com reas muito menores do que a rea do objeto e eliminar da imagem as salincias de espessura reduzida, mesmo que as mesmas estejam ligadas aos alvos [18]. O resultado da aplicao desta tcnica apresentado na Figura 15-d.

  • 24

    Figura 15 Tcnicas de processamento.

    Depois de aplicadas as tcnicas (Figura 15), os objetos caracterizados como robs, so identificados pelas suas cores como pertencentes equipe amarela ou equipe azul. Assim como foi apresentado no Captulo 3, na superfcie de cada rob esto localizadas uma etiqueta cuja cor (azul ou amarela) define o time ao qual o rob pertence e uma etiqueta de cor variada que identifica cada componente do time.

    Para identificar os objetos segmentados e com o objetivo de contornar os problemas de variao de iluminao, os pixels da cor so projetados no espao de cores HSV (hue-saturation-value). Neste espao de cores, a intensidade isolada na banda V e a saturao na banda S e sua distribuio passa a ser definida no espao 1D H, passando a apresentar um grau de constncia em relao a alteraes de iluminao.

    O mtodo escolhido para estimao da densidade de probabilidade foi o mtodo do histograma, por no haver muitos indcios sobre a forma da funo de densidade de probabilidade dos objetos. A classificao feita determinando-se o time ao qual um objeto tem maior probabilidade de pertencer, de acordo com a densidade de probabilidade estimada. Este mtodo chamado de mximo a posteriori (MAP) [18].

  • 25

    4.2. Subsistema Estrategista

    O algoritmo responsvel pelo subsistema estrategista recebe as informaes do subsistema de viso computacional e as traduz em decises de jogadas que resultam em aes que os robs devero executar, incluindo ttica de jogo, definies de trajetria dos jogadores e tendncia de movimentao da bola [19] [16]. Como resultado final dessa etapa tem-se as informaes de velocidade e ngulo de deslocamentos necessrios para cumprir as aes solicitadas [17].

    4.3. Subsistema de Comando e Comunicao

    O subsistema de comando e comunicao tem como objetivo converter as instrues fornecidas pelo subsistema estrategista em comandos de movimentao para os robs. Essa movimentao determinada pelo clculo das velocidades e dos ngulos de deslocamento dos motores dos robs. O resultado ento transmitido para o rob via transmissor de rdio.

    O subsistema de comando acoplado aos robs interpreta as informaes recebidas via rdio freqncia e determina o quanto cada rob dever se deslocar e em que sentido, efetuando o deslocamento do rob [17]. Este subsistema deve permitir que o rob siga trajetrias com o mnimo de erro possvel.

    4.4. Concluso

    O componente primordial do sistema funcional o subsistema de viso computacional. Este subsistema consiste basicamente na aquisio e processamento de imagem, no reconhecimento (localizao), identificao e rastreamento dos objetos pertencentes mesma, utilizando tcnicas de viso computacional. A partir das informaes geradas, o subsistema de deciso define a melhor estratgia e encaminha a deciso ao subsistema de comando e comunicao. Este ltimo, por sua vez, envia a deciso tomada aos robs.

    No subsistema de viso computacional, aps a aquisio da imagem, os alvos so identificados atravs da segmentao caracterizada pelo processo de subtrao entre duas

  • 26

    imagens da seqncia. Sobre a imagem resultante so aplicadas tcnicas de processamento tais como, filtro espacial gaussiano, binarizao e operao morfolgica de abertura, a fim reduzir os rudos gerados pela subtrao e permitir o reconhecimento dos alvos. Entre os alvos localizados na imagem, os que so caracterizados como robs so identificados pelas cores contidas em suas superfcies. Depois de localizados e identificados inicia-se o processo de rastreamento dos alvos, apresentado no prximo captulo.

  • 27

    CAPTULO V RASTREAMENTO DE OBJETOS

    Para o desenvolvimento deste projeto foram estudados dois algoritmos de rastreamento, sendo que um deles utiliza a segmentao baseada no contorno dos alvos (apresentada na Seo 5.1) e o outro utiliza a segmentao pelas cores dos alvos (apresentada na Seo 5.2).

    5.1. Segmentao pelo Contorno

    O processo de segmentao pelo contorno, proposto por BEM e COSTA [18], utilizado para garantir o rastreamento dos objetos durante a partida. Para cada objeto mvel identificado na cena, atravs do processo apresentado na Seo 4.1.1 definida uma regio de interesse descrita por um quadriltero englobando toda rea, que ser utilizada para definir o contorno do objeto (Seo 5.1.1). Alm disso, como foi apresentado, cada rea identificada como correspondente a um dos times do jogo, de acordo com a sua cor, e esta identificao ser mantida no processo de rastreamento (Seo 5.1.2). Depois deste ponto no processo, o modelo de observao baseado nos contornos dos objetos empregado para extrair as informaes das imagens.

    5.1.1. Modelo de Observao

    No modelo de observao, os alvos so descritos por seus contornos, modelados como B-splines quadrticas, permitindo uma boa aproximao das suas projees no plano da imagem [20].

    Uma funo B-splines de ordem k gerada a partir da soma ponderada de M funes base (B-splines) , 2 0, , * 1 e definida como:

    B , 0 1 1 * 1,C/0DE 4

  • 28

    onde representa o ponto de controle, aplicado s respectivas funes base . A curva gerada medida que o parmetro u variado.

    Cada funo base formada por cpias transladadas de segmentos de funes polinomiais de ordem k em um intervalo u denotadas por GEH, G0H, , G/0 H, com 0 1 H 1 1, onde t a parametrizao local de u:

    IG>JK/0 , 2 1 2H 1 2 L M0, N'O#2P (QHQP R , 5

    Como descrito na Seo 4.1.1, o modelo inicial de cada objeto determinado pela segmentao dos objetos mveis nas duas primeiras imagens da seqncia. A partir dessa imagem, so definidos alguns pontos de controle, igualmente espaados ao longo do permetro da regio de interesse, que sero utilizados para construo da estimativa inicial do contorno do alvo. A Figura 16-a mostra o quadriltero envolvente da regio de interesse, os pontos de controle definidos.

    Figura 16 Estimativa do contorno dos alvos [18].

    Os pontos de controle definem a configurao do contorno do alvo. Com o objetivo de reduzir o custo computacional e o tempo de processamento, a observao dos alvos nas imagens realizada atravs de linhas de medida construdas sobre os pontos de controle do contorno, como visto na Figura 16-b. Um detector de bordas unidimensional, filtro passa-alta, aplicado a cada uma das linhas de medida. Este filtro atenua as freqncias espaciais mais baixas de uma imagem e acentua as mais altas. Assim os detalhes das imagens so realados

  • 29

    tornando as transies entre regies diferentes mais ntidas, ou seja, as alteraes bruscas na intensidade dos pixels so localizadas [18] [21].

    5.1.2. Modelo de Movimento

    O objetivo deste modelo definir um modelo nico e simples, aplicvel a todos os alvos, utilizando poucas informaes a priori. Considerando o campo de viso usado, alvos com movimentos limitados pelo plano do campo e independentes entre si, as alteraes de velocidade e de forma dos alvos mveis na seqncia de imagens podem ser aproximadas por transformaes lineares.

    Sendo , um ponto da imagem localizado em uma rea correspondente a um alvo, o movimento O neste ponto pode ser aproximado por: OT 7 * L , (6)

    onde o centro da rea, o deslocamento de c na direo e e A a matriz de rotao e mudana de escala. Considerando-se que h pouca alterao do alvo entre quadros consecutivos, a matriz A fica restrita mudana de escala. Assim, a Equao 6 pode ser reduzida para: O P * L , (7)

    onde P o fator de escala.

    Quando P 0 significa que no h mudana de escala, enquanto P U 0 corresponde diminuio e P V 0, ao aumento da rea estimada do objeto, envolvida pelo contorno. Desta forma, a translao e a mudana de escala dos alvos na seqncia de imagens so

    representadas por e P.

    O rastreamento dos objetos realizado durante a partida de futebol, proposto por BEM e COSTA, baseia-se na descrio de seus contornos. Durante este processo so instanciados

  • 30

    dois Filtros de Kalman (estimador recursivo Bayesiano) para cada alvo, um para estimao da forma do contorno e outro para estimao do movimento [18].

    O processo inicia-se com a descrio do sistema em dois vetores, chamados vetores de estado. Estes vetores so dados por:

    0, -, , >W 0, 0, -, -, , >, >W , (8) , PW X" , !, PYW , (9)

    onde representa o estado do contorno, definido por seus pontos de controle , com 2 Z [1, , \; e o vetor de estado do movimento do alvo, definido pela velocidade de translao u e o fator de escala s. Considerando a Equao 7, do captulo anterior, para um

    ponto de controle, com O ,, ,/0, tem-se: , ,/0 L P/0X,/0 * ],/0Y L , (10)

    onde o ndice k denota o tempo H e ],/0 X],/0" , ],/0! YWcorresponde ao centro de todos os pontos de controle do alvo i, o qual estima o centro de rea do alvo. A Equao 10, que

    define a posio que ser ocupada pelo ponto de controle ,/0 no tempo M, pode ser descrita na forma matricial para o contorno de um alvo:

    /0 L ^/0 , QO ^/0 _- X0,/0 * ]0,/0Y` `- X>,/0 * ]>,/0Ya, (11)

    sendo - uma matriz identidade de dimenso 2 x 2.

    Os sistemas de estimao do movimento e forma so apresentados nas prximas sees.

  • 31

    5.1.3. Estimao do Movimento

    O modelo de movimento, apresentado na Seo 5.1.2, possui como parmetros, que compe o vetor de estado do movimento do alvo, constantes locais. Assim o sistema descrito pelas equaes:

    /0 L b/0 (12) X/0 L ^/0Y L , (13)

    onde, no tempo k, b uma varivel aleatria gaussiana, representando o rudo do processo de estimao, com mdia zero e covarincia c: b ~ f0, c. o vetor de observao do sistema; e uma varivel aleatria gaussiana, representando o rudo da observao, com mdia zero e covarincia h: ~ f0, h. O vetor de observao corresponde posio dos pontos de controle do contorno acrescida do rudo da observao [18].

    Na aplicao do Filtro de Kalman, cada iterao executa trs etapas: predio, assimilao e atualizao. Uma vez que o filtro um estimador gaussiano linear, a

    distribuio de probabilidade sobre o vetor de estado totalmente definida pela mdia iiii e pela matriz de covarincia jC,. Assim, o processo de estimao dado pelas seguintes equaes caractersticas do Filtro de Kalman:

    Predio:

    iiiii iiii (14) jC, jC,/0 L c/0 (15)

    Assimilao (Clculo do Ganho de Kalman):

    jC,^/0W X^/0jC,^/0W L hY/0 (16)

  • 32

    Atualizao:

    iiiii iiiii L k * l/0 L ^/0iiiiimn (17) jC, * ^/0jC, (18)

    5.1.4. Estimao da Forma

    A estimao do contorno rastreia os n pontos de controle do alvo e modelada como:

    l/0 L ^/0iiiim L o/0, (19) L , (20)

    onde o uma varivel aleatria gaussiana, representando o rudo na estimao, com mdia zero e covarincia p: o ~ f0, p. o vetor de observao do sistema; e representa o rudo da observao como mencionado anteriormente.

    As etapas do Filtro de Kalman para estimao da forma do contorno so definidas como:

    Predio:

    iiii /0iiiiii L ^/0iiii (21) j", j",/0 L p/0 (22)

    Assimilao (Clculo do Ganho de Kalman):

    j",Xj", L hY/0 (23)

    Atualizao:

    j", * jj", (24)

  • 33

    5.2. Segmentao pela Cor

    O processo de segmentao pela cor proposto por DIAS [7] e CARREIRAS [8] para garantir o rastreamento dos objetos, implementa o algoritmo CamShift. Este algoritmo detecta o modelo de distribuio de probabilidade aplicando o Mean-Shift (mximo do gradiente da distribuio de probabilidade), enquanto ajusta dinamicamente os parmetros da distribuio da cor a ser rastreada.

    5.2.1. Mean-Shift

    Mean-Shift (deslocamento pela mdia) tambm conhecido como estimao do gradiente de uma funo densidade, desenvolvido por Fukunaga e Hostetler (1975) um algoritmo de rastreamento utilizado para achar modas (regies mais densas) em um conjunto de dados, manifestando uma funo densidade de probabilidade.

    Para explicar o algoritmo, Ukrainitz e Sarel (2004), propem uma descrio intuitiva: uma regio de interesse qualquer, escolhida sobre uma distribuio de bolas de bilhar idnticas, conforme Figura 17. O algoritmo, atravs do histograma de cores, detecta a regio com mais densidade de pontos de uma determinada cor e calcula uma mdia ponderada para encontrar o centro de massa desta regio mais densa. Em seguida, traado um vetor entre o centro da regio de interesse e o centro de massa obtido, conhecido como vetor de Mean-Shift. Este vetor aponta sempre na direo do maior incremento na densidade, ou seja, descobre o caminho que leva ao local de densidade mxima [22].

    Figura 17 Regio de interesse, centro de massa e vetor Mean-Shift[22]

  • 34

    Na seqncia, como pode ser observado na Figura 18, a regio de interesse transladada at que seu centro coincida com o centro de massa, atingindo a convergncia. Esse processo repete at que no se encontre regies com maior densidade do que a regio j obtida, ou seja, o centro de massa coincide com o centro da regio ou a diferena entre eles insignificante.

    Figura 18 Convergncia no procedimento de Mean-Shift [22]

    Este procedimento vantajoso, visto que no necessria uma avaliao da imagem por inteiro, o que caracteriza o seu bom desempenho.

    A estimao de densidade do gradiente realizada por este algoritmo no-paramtrica, onde as probabilidades da funo de densidade so extradas diretamente do conjunto de dados reais. Assim, as regies mais densas correspondem aos mximos da funo e as menos densas correspondem aos mnimos. Isso significa que quanto mais densa a regio, maior o valor na funo densidade de probabilidade, utilizada para representar a distribuio de probabilidade.

  • 35

    5.2.2. CamShift

    Como apresentado na seo anterior, o algoritmo Mean-Shift opera na distribuio de probabilidade. Para rastrear objetos coloridos em seqncia de quadros de vdeo, os dados da imagem colorida tm de ser representados como uma distribuio de probabilidade (por exemplo: histograma de cor). O algoritmo Mean-Shift foi modificado para adaptar dinamicamente a distribuio da probabilidade no rastreamento que varia conforme as seqncias da imagem gerada pelo vdeo. O novo algoritmo chamado de CAMSHIFT [23].

    O algoritmo CamShift[7][8] utilizado para rastreamento do objeto, robusto, no-paramtrico, baseado no seguimento do mximo do gradiente da distribuio de probabilidade (Mean-Shift). O algoritmo inicia a partir do estabelecimento de uma regio de interesse (objeto que se pretende rastrear). Em seguida aplica-se o algoritmo de Mean-Shift (Seo 5.2.1) e determina a distribuio de probabilidade desta regio. Neste ponto, inicia o processo de iterao do Mean-Shift at que no haja alterao significativa do centro da massa e do centro do objeto. Esta passa a ser a nova regio de interesse e o processo repete enquanto se pretende rastrear o objeto [8]. O fluxograma simplificado deste algoritmo encontra-se na Figura 19.

    Figura 19 Fluxograma do algoritmo CamShift [8]

  • 36

    No entanto, para realizar este processo necessrio determinar a distribuio de probabilidade da imagem. O mtodo deve associar a cada pixel o valor da probabilidade do mesmo pertencer ao alvo, para tanto foi utilizado o Histogram Back-Projection. Este mtodo aplicado ao canal HUE da imagem no espao de cores HSV (vide Seo 1.10).

    Esta tcnica, desenvolvida por Swain e Ballar em 1991, recorre razo entre o histograma da cor do objeto (q) e o histograma da Imagem (), onde i representa a cor do pixel analisado. O Histogram Back-Projection consiste em atribuir, a cada pixel da imagem, a probabilidade de que pertena ao objeto. O clculo da probabilidade realizado pela razo dos histogramas (Equao 25). A imagem resultante (escala de cinza) normalmente composta por zonas em que os pixels recebem valores mais elevados quando correspondem regio do objeto que se pretende identificar [8].

    h rsts (25)

    Para viabilizar o rastreamento com o CamShift ainda necessrio que o tamanho da regio de interesse se adapte ao alvo que est sendo rastreado, uma vez que o tamanho ideal da regio varia conforme o objeto se encontra mais perto ou mais afastado das cmeras.

    Esta adaptao feita com base no instante zero, que pode ser interpretado como a rea sobre a regio de interesse (Figura 17). Desta forma o comprimento e a altura da regio so determinados em funo deste instante, que consiste na soma das probabilidades de todos os pixels na regio de interesse [8] (vide Equao 29).

    Considerando , a probabilidade do pixel , , onde x e y abrange toda a regio de interesse. O instante zero e primeiro instante representado pela Equao 26 e 27 respectivamente.

    Instante zero:

    EE , !" (26)

  • 37

    Primeiro instante:

    0E , !" ; E0 , !" (27)

    O centride ( , ) da regio de interesse determinado pela Equao 28 e a dimenso do objeto calculada pela Equao 29.

    Centride da regio de interesse:

    CvwCww ; CwvCww (28)

    Dimenso do objeto:

    # lC+wCww * -m ; G 2 lCvvCww * m ; lCw+Cww * -m (29)

    #yH=# z{,,|}+,{/+- ; y#==# z{,/|}+,{/+- (30)

    5.3. Algoritmos Estudados

    Durante o estudo deste projeto, foram identificadas e detalhadas duas tcnicas de rastreamento de objetos cujos algoritmos so apresentados nas prximas sees. Dentre estas tcnicas, encontra-se a que foi escolhida como melhor soluo para o rastreamento (Seo 5.3.2).

    5.3.1. Algoritmo de BEM e COSTA

    Como especificado na Seo 5.1, o objetivo do algoritmo consiste em rastrear os objetos descritos por seus contornos, sem a determinao a priori da sua forma, ao invs de utilizar apenas a informao de cor. Para isso, o modelo de observao utilizado baseado em bordas de intensidade extradas ao longo de linhas de medidas fixas do contorno e o processo

  • 38

    de rastreamento realiza-se a partir de dois Filtros de Kalman a fim de estimar a forma e o movimento.

    5.3.1.1. Etapas do Algoritmo

    1) Aquisio da imagem E. 2) Aquisio da imagem 0. 3) < Subtrao das imagens da seqncia 0 * E. 4) Segmentao para determinar as reas correspondentes aos alvos.

    a. O filtro gaussiano aplicado sobre a < com o objetivo de eliminar rudos impulsivos.

    b. < binarizada, ou seja, transformada em uma imagem com dois tons. c. Operaes Morfolgicas:

    i. Abertura da rea: elimina componentes isolados, com reas menores que a rea dos alvos;

    ii. Abertura: elimina salincias de espessuras reduzidas;

    5) Uso do Mtodo Mximo a posteriori, um mtodo histograma para a estimao das densidades de probabilidade. A classificao feita determinando-se o time ao qual um objeto tem maior probabilidade de pertencer, de acordo com a densidade de probabilidade estimada, utilizando o espao de cores HSV.

    6) Para cada alvo mvel definida uma regio de interesse que ser usada para definio do contorno do objeto. Cada rea identificada como correspondente a um dos times do jogo, de acordo com a sua cor, e esta identificao ser mantida no processo de rastreamento.

    7) Modelo de observao: so definidos alguns pontos de controle, igualmente espaados ao longo do permetro da regio de interesse, que sero utilizados para construo da estimativa inicial do contorno do alvo.

    8) Modelo de movimento: considerando o campo de viso usado, alvos com movimentos limitados pelo plano do campo e independentes entre si, as alteraes da velocidade e da forma dos objetos na seqncia das imagens so aproximadas por transformaes lineares (vide Equao 7).

    9) Rastreamento com filtro de Kalman

    a. Filtro de Kalman para estimar o movimento;

  • 39

    b. Filtro de Kalman para estimar a forma.

    10) Aquisio da imagem , i > 1. 11) Retornar passo 7.

    5.3.2. Algoritmo de CamShift

    A prxima seo apresenta os passos do algoritmo utilizado no projeto para o rastreamento de objetos em tempo real, esses passos foram realizados segundo adaptaes ao algoritmo proposto por BEM e COSTA. Conforme descrio apresentada na Seo 5.2 o algoritmo utilizado no processo de rastreamento realizado a partir da cor do alvo segmentado.

    5.3.2.1. Etapas do Algoritmo

    1) Aquisio da imagem E. 2) Aquisio da imagem 0. 3) < Subtrao das imagens da seqncia 0 * E. 4) Segmentao para determinar as reas correspondentes aos alvos.

    a. O filtro gaussiano aplicado sobre a < com o objetivo de eliminar rudos impulsivos.

    b. < binarizada, ou seja, transformada em uma imagem com dois tons. i. Operao Morfolgica de abertura: elimina componentes isolados,

    com reas menores que a rea dos alvos e as salincias de espessuras reduzidas;

    5) Uso do Mtodo Mximo a posteriori, um mtodo histograma para a estimao das densidades de probabilidade. A classificao feita determinando-se o time ao qual um objeto tem maior probabilidade de pertencer, de acordo com a densidade de probabilidade estimada, utilizando o espao de cores HSV.

    6) Define rea de interesse nos objetos. 7) Aplica algoritmo de CamShift. 8) Aquisio da imagem , i > 1.

  • 40

    9) Retornar passo 7.

    5.4. Avaliao dos Algoritmos

    Como apresentado, o algoritmo escolhido para a implementao foi o CamShift. Essa escolha foi embasada nas avaliaes apresentadas a seguir.

    5.4.1. Avaliao do CamShift

    O algoritmo CamShift, escolhido para a implementao, robusto, computacionalmente eficiente e de simples abordagem. Este algoritmo baseado na distribuio de cores e na semelhana com um modelo especificado. Sua complexidade q~-, onde ~ uma constante numrica e N a representa a dimenso da imagem [24].

    Neste algoritmo, problemas como variao no tamanho do objeto, presena de rudos, ocluso do objeto e variao da iluminao so assim prevenidos [24]:

    Objeto de diferentes tamanhos: a regio de interesse adequa ao tamanho do objeto;

    Rudos: o modelo de cores utilizado tenta eliminar boa parte dos rudos e o CamShift tende ignorar o restante.

    Ocluso: se a ocluso no for 100%, o CamShift tende a seguir o que est mais a esquerda do objeto.

    Variao da iluminao: CamShift tem alta tolerncia a variao da iluminao, j que usa apenas o canal hue do espao HSV e ignora os pixels com alta e baixo brilho.

    Uma grande desvantagem do algoritmo CamShift que o mesmo depende apenas da distribuio da cor, por este motivo, erros na cor (iluminao colorida, pouca e muita iluminao) iro causar erro no rastreamento. No entanto, segundo as regras de FIRA a iluminao deve ser constante e de no mnimo 1,000 lux.

  • 41

    5.4.2. Avaliao do Filtro de Kalman

    Segundo BEM e COSTA [18] a experincia com o Filtro de Kalman no foi como esperado. Embora o algoritmo apresente um baixo custo computacional, uma caracterstica essencial tratando-se de uma aplicao em tempo real, no teve o sucesso esperado porque o mesmo no se mostrou estvel e no apresentou a robustez necessria em um ambiente real. Dentre os problemas identificados destacam-se: variaes de iluminao, restrio de espao entre os robs e necessidade de cores totalmente distintas [18].

    Devido s vantagens e desvantagens dos algoritmos estudados e pelo Filtro de Kalman j ter sido implementado em outros trabalhos e no ter apresentado o desempenho esperado, o algoritmo CamShift foi escolhido para esta implementao. A principal motivao consiste na anlise do seu desempenho considerando o cenrio apresentado no prximo captulo.

    5.5. Concluso

    Para o presente projeto foram estudados dois algoritmos de rastreamento de objetos. O primeiro algoritmo apresentado foi o algoritmo de BEM e COSTA, no qual o processo de rastreamento dos objetos baseia-se descrio dos seus contornos e caracterizado pela instncia de dois Filtros de Kalman sendo uma para estimar a forma do contorno e o outro para estimar o movimento. Na aplicao do Filtro de Kalman, cada iterao executa trs etapas: predio, assimilao e atualizao.

    O segundo algoritmo estudado e escolhido para ser implementado foi o algoritmo de Camshift, um algoritmo robusto e eficiente que a partir da cor do objeto, previamente estabelecida, rastreia-o pela anlise da probabilidade da imagem gerada pelo vdeo. Esta anlise utilizada a cada nova imagem gerada. A busca na nova imagem desenvolvida levando em considerao as proximidades da regio na imagem antiga em que o objeto com a referida cor se encontrava [25].

  • 42

    CAPTULO VI ESTRUTURA DO CENRIO

    6.1. Estrutura Utilizada

    Como especificado no Captulo 3, neste projeto, o jogo regulamentado segundo a categoria Mirsot (Small League). No mesmo captulo so especificadas as regras como cores, medidas e dimenses, conforme regulamentao da FIRA.

    Neste projeto, o cenrio utilizado no foi exatamente o mesmo definido pela FIRA. Os componentes (campo e robs) necessrios para as simulaes e comprovao da funcionalidade da aplicao desenvolvida foram construdos de forma similar. A representao do cenrio utilizado para simular o jogo est ilustrada na Figura 20.

    Figura 20 Cenrio utilizado no projeto

    O ambiente em que foi montado possui iluminao boa e constante, conforme previsto pela FIRA. O campo foi construdo em placa de madeira de 72,5 cm x 94,0cm e 1,0cm de espessura. Os robs foram construdos em blocos de isopor de 7,5cm x 7,5cm e 2,0cm de altura.

    Para simular o jogo foram utilizados dois robs da equipe (camiseta amarela) e um rob adversrio (camiseta azul). Sobre a superfcies superiores dos robs da equipe

  • 43

    encontram-se duas etiquetas: uma, a marca da equipe, representa a camiseta do rob (cor do time) com rea de 3,5cm x 3,5cm e a outra etiqueta, marca de identificao, identifica o rob na equipe sobre a rea de 7,5cm x 7,5cm (Figura 21).

    Figura 21 Definio das marcas superiores do rob

    No prottipo desenvolvido, a cor utilizada na marca da equipe foi amarela e as cores utilizadas nas marcas de identificao foram salmo e verde, cores no reservadas pela FIRA (Figura 22-a). Para a equipe adversria a nica marcao relevante a marca da camiseta, representada por um nico crculo central de dimetro 3,5cm (Figura 22-b). A Figura 22-c ilustra os robs utilizados nos teste.

    (a)

    (b)

    (c) Figura 22 Objetos da cena.

  • 44

    O mdulo de viso foi representado por uma webcam 1300k Multilaser com conexo USB. A webcam colocada a uma altura capaz de obter a viso global do cenrio. Na simulao este sensor est localizado a 1,05 metros acima da linha central do campo, sua funo captar as imagens do campo que sero utilizadas para obter informaes sobre o ambiente, permitindo tomadas de deciso pelo subsistema estrategista.

    A central de processamento ligada ao sensor (especificada na prxima seo) um dos componentes mais importantes da partida, o mesmo responsvel pelo reconhecimento de padres, rastreamento de objetos, processamento de dados e transmisso de informaes.

    6.2. Ferramentas e Componentes

    Para atender aos requisitos do projeto, foram selecionados e utilizados diversos equipamentos e ferramentas para o desenvolvimento. O hardware utilizado nas simulaes e desenvolvimento est com sua especificao detalhada na Tabela 1 abaixo.

    Tabela 1 Especificao de hardware Microcomputador

    Processador : Intel(R) Celeron M 1.4GHz Memria : 512MB DDR-SDRAM

    Placa de vdeo : Integrada Interface de conexo : USB 2.0

    Cmera : Webcam 1300k Multilaser Taxa de captura: 30 frames/sec

    A linguagem utilizada para a implementao foi C++, uma linguagem orientada a objeto com boa performance e alta disponibilidade de recursos. Para tanto, foi utilizada a plataforma de desenvolvimento Dev-C++. Para atender aos requisitos do mdulo de viso computacional foi usada a biblioteca OpenCv(Open Source Computer Vision Library), descrita na prxima seo.

    6.2.1. Biblioteca OpenCV

  • 45

    A biblioteca OpenCV [26] contm uma coleo de funes em C e mtodos em C++ que implementam alguns algoritmos populares de processamento e manipulao de imagem e de viso computacional.

    Esta biblioteca foi criada por Gary Bradski da Intel Corporation em 2000 e desde ento tem tido sucessivos lanamentos de novas verses com novos algoritmos e tcnicas de processamento de imagem bem como o melhoramento das tcnicas j existentes [7].

    A biblioteca, alm de muito eficiente, compatvel com a maioria das plataformas populares entre elas Linux, Windows e MacOSX e tambm compatvel com os ambientes de desenvolvimento: Visual Studio, Dev, .Net, Eclipse, entre outros.

    Sua arquitetura, conforme apresentado na Figura 23, composta por quatro componentes Cv, CvAux, HighGui e CxCore [7].

    Figura 23 OpenCV: Arquitetura e seus componentes[7]

    6.2.1.1. CxCore

    A componente CxCore define e implementa as estruturas e operaes bsicas que permitem realizar a edio e manipulao de imagem. Esta componente fornece a estrutura de suporte para o processamento de imagem. Nela definido um tipo bsico chamado IplImage que representa a imagem que ser processada. Esse tipo permite representar a imagem em diferentes resolues, definies e sistemas de cores.

    Esta componente disponibiliza funes para fazer cpia, comparao, alteraes de tamanho, converso de cores e inverso de coordenadas entre imagens. Nela tambm so disponibilizados mdulos estticos para calcular diversas caractersticas como: valor mdio de

  • 46

    cor, ponto de mxima intensidade, multiplicao de imagens, entre outros. Tambm existem primitivas que permitem o desenho de figuras geomtricas (linhas, crculos, elipses, retngulos) assim como de fontes de texto e contornos poligonais.

    A componente CxCore vem ainda provida de estruturas de apoio ao processamento. Dentre as estruturas oferecidas destacam-se a estrutura de armazenamento em memria e em disco (ficheiros). O armazenamento em memria serve como auxiliar para acumular resultados intermedirios de processamento e o armazenamento em disco serve para tornar permanentes os dados calculados anteriormente.

    6.2.1.2. Cv

    A componente Cv disponibiliza as primitivas de anlise, processamento e reconhecimento de imagem que so realizadas sobre os tipos bsicos definidos na componente CxCore.

    Nesta componente, as diferentes vertentes da viso computacional esto divididas nos seguintes grupos:

    Processamento de imagem: neste grupo, dentre outras funcionalidades, contm as funes para deteco e comparao de contornos e decomposio de imagem em componentes de cor;

    Deteco de objetos: contm um detector de objetos baseado em cor, um acumulador de imagens e respectivo processador para deteco de regies com movimento em imagens e outras funcionalidades;

    Deteco de padres: permite aplicar um motor de reconhecimento sobre uma imagem e em tempo real obter uma identificao positiva ou negativa do padro fornecido por um conjunto alargado de imagens.

    6.2.1.3. Highgui

    A componente Highgui permite a criao de simples interfaces com janelas e barras deslizantes e manipulao (movimentao, criao e ampliao), assim como a captura e

  • 47

    reproduo de vdeo ou imagens. Esta componente tambm fornece mtodos para a captura de eventos do teclado e mouse.

    Esta componente tambm possibilita a gravao de imagens para o disco, ou seja, as imagens representadas no formato interno (IplImage) so gravadas em uma variedade de formatos como JPEG, BMP, PNM entre outros.

    A captura e a reproduo de vdeo so asseguradas, a baixo nvel, por funes que permitem selecionar cmeras ou carregar vdeos. O acesso s imagens das cmeras feito por uma funo que permite recuperar as imagens seqencialmente dos dispositivos de captura.

    6.2.1.4. CvAux

    Nesta componente encontram-se as funes que j fizeram parte do mdulo principal da biblioteca, mas que por estarem desatualizadas ou sem desenvolvimento futuro, foram abandonadas. A CvAux tambm define e implementam as funes que sero includas, na componente Cv, em verses futuras.

    6.3. Mtodos e funes

    A seguir alguns mtodos e funes que devem ser considerados para o entendimento da implementao (Apndice) [27]:

    cvLoadImage: realiza leitura da imagem armazenada;

    cvCreateImage: cria objeto IplImage que tem o endereo da imagem e seus atributos como: dimenso, largura, altura, nmero de canais entre outros;

    cvCvtColor: converte imagem de entrada de um espao de cor para outro.

    cvCreateHist: cria o histograma conforme tamanho especificado e retorna ponteiro para o histograma criado;

    cvCalcHist: calcula o histograma de uma imagem com um ou mais canais;

    cvGetMinMaxHistValue: encontra a valor mximo e mnimo do histograma;

    cvSplit: divide os canais das cores da imagem;

    cvCalcBackProject: calcula o Back-Projection do histograma;

  • 48

    cvRectangle: desenha um retngulo na imagem conforme posio especificada;

    cvCreateStructuringElementEx: aloca um elemento estruturante;

    cvErode: aplica o processo de eroso atravs do elemento estruturante;

    cvDilate: aplica o processo de dilatao atravs do elemento estruturante;

    cvCamShift: implementa o algoritmo de rastreamento de objetos (CAMSHIFT). Primeiro encontra o centro do objeto usando o Mean-Shift, depois calcula o tamanho do objeto e a orientao;

    6.4. Concluso

    A aplicao desenvolvida foi realizada segunda regras especificadas pela FIRA na categoria MiroSot. Devido aos custos dos recursos, a mesma foi simulada segundo cenrio similar ao especificado.

    Foram utilizados trs robs sendo dois da equipe (time amarelo) e um adversrio (time azul). Para atender o mdulo de viso, foi utilizada a biblioteca open source: OpenCv. Esta biblioteca possui funes e mtodos em C/C++ relacionados Viso Computacional e ao Processamento de Imagens Digitais que foram essenciais para o desenvolvimento da aplicao.

  • 49

    CAPTULO VII APLICAO DESENVOLVIDA

    Para alcanar o objetivo do projeto, a aplicao desenvolvida consiste de trs mdulos: localizao, identificao e rastreamento dos objetos (Figura 24). A implementao foi realizada a partir de algumas adaptaes no algoritmo proposto por BEM e COSTA. BEM e COSTA propuseram o processo de rastreamento baseado no contorno dos objetos, utilizando para isso o Filtro de Kalman para estimar a forma e o movimento dos alvos. Este processo foi modificado para o algoritmo CamShift, baseado na cor do objeto.

    Figura 24 Diagrama de atividade.

    7.1. Localizao

    A localizao dos objetos foi realizada a partir da classificao de todos os pixels da imagem como pertencente ao campo ou pertencente ao objeto. Essa classificao foi realizada a partir da subtrao entre as duas primeiras imagens adquiridas na seqncia, sendo a primeira imagem correspondente ao campo (Figura 25-a) no qual no se encontram objetos e a segunda imagem contendo os objetos inicialmente isolados (Figura 25-b). O processo de subtrao detalhado na Seo 2.5.1.

  • 50

    (a) (b)

    Figura 25 Subtrao

    O resultado da subtrao das duas primeiras imagens da seqncia (Figura 25) i