Estudo de Sistemas de Visão Artificial

Estudo de Sistemas de Visão Artificial

(Parte 1 de 5)

Davi Cardoso e Vanderlei Vitório Gomes

Estudo de Sistemas de Visão Artificial e a implementação de um software de visão para o uso no Futebol de Robôs.

Orientadores

Prof. Msc. JosØ Martins Junior e Prof“. Dra. Maria Cristina A. Batocchio

Piracicaba, Novembro de 2005

Piracicaba, Novembro de 2005.

Davi Cardoso e Vanderlei Vitório Gomes

Estudo de Sistemas de Visão Artificial e a implementação de um software de visão para o uso no Futebol de Robôs.

Relatório Final do trabalho acadêmico apresentado ao Programa de Estágio Supervisionado do curso de Bacharelado em Ciência da Computação da Escola de Engenharia de Piracicaba – EEP/FUMEP.

Trabalho de Iniciaçªo Científica do Curso de CiŒncia da Computaçªo. Supervisor de estÆgio: Prof. Msc. JosØ Martins Junior

Para uso dos Orientadores:

Piracicaba, Novembro de 2005.

Orientadores:
Prof. Msc. JosØ Martins Junior //
Prof“. Dra. Maria Cristina A. Batocchio //

Analisado por: Assinatura: Data:

Supervisor de EstÆgio: Prof. Msc. JosØ Martins Junior / /

Piracicaba, Novembro de 2005.

O que sabemos Ø uma gota, o que ignoramos Ø um oceano

Isaac Newton

Piracicaba, Novembro de 2005.

Dedico este trabalho aos meus pais,

Ciro e CØlia, que com suas bençªo me guiaram, conduziram, protegeram e apoiaram atravØs dos atenuantes mas gratificantes caminhos pela vida.

Vanderlei Vitório Gomes

Dedico este trabalho aos meus pais,

paciŒncia e amor me ensinaram a viver

Isabel e Antonio, que sem diplomas ou títulos demonstraram serem mais que doutores na minha educaçªo e com Davi Cardoso

Piracicaba, Novembro de 2005.

Queremos expressar nossos profundos agradecimentos ao Sr. Osvaldo e a Sra. Lígia pela paciŒncia, compreensªo e espaço cedido para o desenvolvimento deste projeto e tambØm a professora Ellen Cristina Andrade pela atençªo dedicada à realizaçªo deste trabalho.

Agradecemos aos professores, Pedro Grosso, Francisco Arnold, Wagner Cavalcante,

Luis Camolesi e em especial aos nossos orientadores, JosØ Martins Junior e Maria Cristina Aranda Batocchio pelo apoio e incentivo concedido.

Por fim agradecemos aos integrantes da bancaexaminadora pela atençªo e disponibilidade dedicada a leitura e avaliaçªo deste trabalho.

Davi Cardoso e Vanderlei Vitório Gomes

Agradeço primeiramente a Deus, que com tanta sabedoria e distinçªo, me concebeu virtudes, oportunidades, proteçªo e uma ótima família.

Aos meus pais que com muito esforço me ofereceram essa estrutura familiar e pessoal que possuo hoje e a meu irmªo, que com sua irreverŒncia soube me respeitar e apoiar nas horas necessÆrias.

A minha namorada e melhor amiga Angela, que soube compreender minhas ausŒncias e sempre esteve me apoiando e amando.

Aos outros integrantes do grupo 1G1, AndrØs Villalobos, Davi Cardoso, Ivan Santos e

Thiago Richter, pois sem suas amizades, apoios e cobranças nada se concretizariam. Com especial agradecimento ao meu amigo e companheiro Davi Cardoso, pessoa marcante na vida de todos os que o conhece, mesmo conhecendo-o pouco como eu conheço.

E ao grande amigo Ricardo Albuquerque, pessoa com a qual tenho um profundo respeito e carinho.

Vanderlei Vitório Gomes

Piracicaba, Novembro de 2005.

Agradeço primeiramente a Deus pela proteçªo e oportunidade de vida que tenho hoje. À minha amada noiva e futura esposa Ellen, que com amor, paciŒncia e profissionalismo me auxiliou com suas pertinentes observaçıes a respeito dessa dissertaçªo.

Aos outros integrantes do grupo 1G1, AndrØs, Ivan, Thiago e especialmente Vanderlei pelas horas de dedicaçªo e esforços em um trabalho particular e ímpar que trouxe muito mais do que 101 motivos para a alegria de todos.

nosso projeto e implementaçªo mecânica inicial

Aos meus irmªos. Ao Ezequiel pela alegria transmitida com suas rÆpidas piadas e especialmente ao Samuel que com criatividade e capricho demonstrou ser um mestre em

E finalmente aos melhores amigos que um homem pode ter: Tilly, Lobªo e Bisqui pelas imagens concedidas para ilustraçªo deste trabalho.

Davi Cardoso

Resumo

Este trabalho procura direcionar a uma leitura amigÆvel e fluente para o tªo complexo e obscuro tema da Visªo Computacional. Desde seu início, onde se aborda a conceituaçªo dos aspectos históricos e as metodologias aplicadas atualmente nesta Ærea, atØ a implementaçªo das tØcnicas bÆsicas de visªo em um software voltado ao uso do futebol de robôs, buscou-se facilitar a compreensªo e viabilizar o domínio, na prÆtica, das tØcnicas de digitalizaçªo e dimensionamento de imagens, aplicaçªo de filtros por convoluçªo, reconhecimento de borda, segmentaçªo por cor e vetorizaçªo, muito conhecidas no mundo dos Sistemas de Visªo Computacional. Para tanto, faz-se necessÆrio o uso de funçıes prØ-determinadas pelas APIs (Aplication Program Interface- Interface de Programas Aplicativos) grÆficas e de um compilador amigÆvel ao ambiente grÆfico do Microsoft Windows fi. A elaboraçªo do software de visªo para este trabalho procura tambØm seguir as regras e a utilizaçªo dos diagramas comumente aplicados na prÆtica da linguagem UML (Unified Modeling Language Linguagem Unificade de Modelagem). A título informativo, este trabalho encontra-se no contexto de um projeto maior que previu a integraçªo de outros dois trabalhos de iniciaçªo científica. Um dos trabalhos objetivou a construçªo do hardware e do mecanismo para agentes robóticos. O outro propôs a aplicaçªo de mØtodos de aprendizado para a definiçªo de estratØgias e trajetórias no jogo. Tal integraçªo permitiu a soluçªo de vÆrios problemas envolvidos no jogo de futebol de robôs e viabilizou a execuçªo deste trabalho de visªo computacional.

Abstract

This work aims to direct a friendly and fluent reading for the complex and obscure subject of computational vision. Since the beginning of computational vision, the conceptualization of the historic aspects and the applied methodologies currently used in this area are approached, up to the implementation of the basic vision techniques in a software used for robot soccer. In order to do so it was attempted to ease the comprehension and to enable the control in practicing the following techniques: image digitalization and dimensioning, filter application by convolution, outline recognition, color segmentation and vectoring, well know in the world of computational vision systems. For that, it is necessary to use the predetermined functions of the graphic APIs (Application Program Interface) and a friendly compiler for the graphic environment of Microsoft Windows fi. The vision software design for this project, also aims to follow the rules, and the use of diagrams commonly applied in UML (Unified Modeling

Language). For informative subject, this work belong in a bigger project context, that integrate others two works of scientific initiation. One of then, describes the hardware construction and the works for robotics agents. The other one proposed the application of apprenticeship s methods for the definition of strategy and trajectories of robotics soccer s game. This integration allowed the problems solution engaged on the robot soccer game and makes possible the execution of this work of computational vision.

1. Introduçªo1
1.1. Histórico da Computaçªo GrÆfica1
2. Objetivo3
3. Justificativa4
4. Revisªo de Literatura5
4.1. A Computaçªo GrÆfica5
4.2. A visªo humana9
4.2.1. Conhecendo a estrutura do olho humano9
4.3. O Sistema de Visªo Artificial e suas estruturas12
4.3.1. Aquisiçªo e digitalizaçªo de imagens13
4.3.2. Propriedades de uma imagem15
4.3.3. Convoluçªo com mÆscaras18
4.3.4. Detecçªo de borda por convoluçªo20
4.3.5. Ampliaçªo e reduçªo geomØtrica de imagens24
4.3.6. Histograma e TØcnicas de filtragem de imagem25
4.3.7. Sistemas de cores36
4.3.8. Segmentaçªo de imagens por cor45
4.3.9. Vetorizaçªo baseada na diferença entre pixels45
5. Materiais e MØtodos49
5.1. TØcnicas para implementaçªo do software de visªo49
5.2. Recursos computacionais para o tratamento grÆfico50
5.3. Um pouco sobre UML53
5.4. O Visual Basic e a Orientaçªo a Objeto5
6. Desenvolvimento do software de visªo computacional57
6.1. Problemas de estrutura mínima de software e hardware57
6.1.1. Soluçªo adotada para hardware e software57
6.1.2. As classes e as APIs para o software59
6.1.3. Planejamento e engenharia do software62
6.1.4. Resultados obtidos na implementaçªo do hardware e software72
6.2.1. Soluçªo para captura de imagens reais seqüenciais75
6.2.2. Soluçªo para escolha de filtros para o ambiente7
6.2.3. Resultados obtidos com a captura, digitalizaçªo e aplicaçªo de filtros79
6.3. Problemas relativos à calibraçªo dos elementos80
6.3.1. Soluçªo para os problemas de calibraçªo82
6.3.2. Resultados obtidos na calibraçªo83
6.4. Problemas de limites do campo, busca e processamento de imagens85
6.4.1. Soluçªo adotada para determinaçªo de limites, busca e processamento85
6.4.2. Resultados obtidos com limites, busca e processamento de imagens87
6.5. Problemas relativos à Comunicaçªo91
6.5.1. Soluçªo para Comunicaçªo e Protocolo definido91
6.5.2. Resultados obtidos na comunicaçªo92
7. Planejamento do Trabalho93
8. Conclusıes, Resultados Finais, Dificuldades e Pretensıes Futuras94
9. ReferŒncias BibliogrÆficas96
10. Ane xo A9
Figura 1 – Divisªo proposta por Persiano e Oliveira, 19896
Figura 2 – Resultado do sistema visªo computacional moderno8
Figura 3 – Olho Humano e suas divisıes (adaptaçªo de GonzÆles, R.C., Woods, R.E, 1992)9
Figura 4 – Faixa de adaptaçªo do olho à intensidade luminosa10
Figura 5 – Esquema bÆsico para um Sistema de Visªo Artificial12
Figura 6 – Eixos para identificaçªo matricial de valores discretos dos níveis de cinza14
Figura 7 – Vizinhanças de um pixel de uma imagem digitalizada16
Figura 8 – Aplicaçªo lógica aplicada a imagens binÆrias17
Figura 9 – Resultado da primeira operaçªo de convoluçªo de A por B20
Figura 9 – Detecçªo de bordas por mÆscaras de convoluçªo24
Figura 10 – Ampliaçªo de 2 X aplicada a um pixel p(x,y);24
Figura 11a – Histograma de imagem predominantemente escura;26
Figura 11b – Histograma de imagem predominantemente clara;26
Figura 11c – Histograma de imagem pouco contratante;27
Figura 11d – Histograma de imagem muito contrastante;27
Figura 12 – Exemplo de funçªo injetora monotônica;28
Figura 13 – Exemplos de funçıes lineares aplicadas a imagens em tons de cinza29
Figura 14 – Exemplo de Funçªo nªo–linear aplicada a imagens em tons de cinza29
Figura 15a – Histograma gerado a partir dos valores da imagem original31
Figura 15b – Histograma gerado a partir dos valores calculados pela equalizaçªo32
Figura 16a, 16b – Resultado do realce de contraste com equalizaçªo de histograma32
Figura 17 – Expansªo do histograma, realce de contraste3
Figura 18 – compressªo do histograma, diminuiçªo de contraste3
Figuras 19a – Imagem original; Figura 19b – Aplicaçªo da mÆscara de convoluçªo;34
Figuras 19c, Figura 19d – com as respectivas mÆscaras de convoluçªo;35
Figura 20a – Imagem original; Figura 20b – Aplicaçªo da mÆscara de convoluçªo;36
Figura 21 – Espectro de decomposiçªo da luz branca por um prisma de vidro37
Figura 23 – Mistura de cores primÆrias aditivas38

Lista de Figuras. Figura 2 Comprimentos de onda e a divisªo entre luz visível, ultravioleta e infravermelho.37 Figura 24 Mistura de cores primÆrias subtrativas..................................................................38

Figura 25 – GrÆfico de padronizaçªo da C.I.E. para coeficientes de cromaticidade40
Figura 26 – Distribuiçªo do sistema de cores RGB41
Figura 27 – Representaçªo espacial do modelo de cor HSI43
Figura 28 – Definiçªo dos vetores elementares46
Figura 29 – Contribuiçªo de cada elemento para o cÆlculo da Ærea47
Figura 30 – Resultados de um processo de vetorizaçªo de imagem48
Figura 31 – Visªo geral do hardware do sistema de futebol de robôs58
Figura 32 – Diagrama de Atividades, Captura de Imagem62
Figura 3 – Diagrama de Atividades, Limites de Campo63
Figura 34 – Diagrama de Atividades, Calibrar Elementos64
Figura 35 – Diagrama de Atividades, Processamento de Imagens65
Figura 36 – Diagrama de Atividades, Enviar Dados6
Figura 37 – Diagrama de SeqüŒncia, Ativar Captura6
Figura 38 – Diagrama de SeqüŒncia, Limites de Campo67
Figura 39 – Diagrama de SeqüŒncia, Cores dos Elementos67
Figura 40 – Diagrama de SeqüŒncia, Enviar Dados68
Figura 41 – Diagrama de Classe, Ativar Captura68
Figura 42 – Diagrama de Classe, Limites de Campo69
Figura 43 – Diagrama de Classe, Cores dos Elementos70
Figura 4 – Diagrama de Classe, Enviar Dados71
Figura 45 – Pontos de mÆxima e mínima luminosidade incidentes sobre o campo73
Figura 46 – Binarizaçªo da imagem para demonstraçªo dos pontos de luminosidade74
Figura 47 – Apresentaçªo da imagem original capturada X tratamento com filtro75
Figura 48 – Imagem real capturada78
Figura 49 – Imagem adquirida após a aplicaçªo de filtros corretivos79
Figura 50 – Imagem ampliada 1600 vezes e os tons de cores encontrados na imagem81
Figura 51 - Pontos de calibraçªo dos elementos83
Figura 52 – Tela de calibraçªo dos elementos84
Figura 53 – Limites do campo85
Figura 54a – Pontos de delimitaçªo do campo86

vi Figura 54b - Varredura da imagem com filtros de correçªo e campo delimitado......................86

Figura 5 – Tela de configuraçªo dos pontos limites do campo87
Figura 56a – Uso normal do processador8

vii Figura 56b Uso do processador durante a busca e o processamento de imagem....................8 viii

(Parte 1 de 5)

Comentários