Visão artificial

54
UNIVERSIDADE SÃO JUDAS TADEU Curso de Pós-Graduação Mecânica Fina EDSON CAORU KITANI SISTEMA DE VISÃO ARTIFICIAL: UMA APLICAÇÃO EM MECATRÔNICA São Paulo, 2005

Transcript of Visão artificial

Page 1: Visão artificial

UNIVERSIDADE SÃO JUDAS TADEU Curso de Pós-Graduação

Mecânica Fina

EDSON CAORU KITANI

SISTEMA DE VISÃO ARTIFICIAL: UMA APLICAÇÃO EM MECATRÔNICA

São Paulo, 2005

Page 2: Visão artificial

UNIVERSIDADE SÃO JUDAS TADEU Curso de Pós-Graduação

Mecânica Fina

EDSON CAORU KITANI

SISTEMA DE VISÃO ARTIFICIAL: UMA APLICAÇÃO EM MECATRÔNICA

Monografia apresentada ao Curso de Pós-Graduação - Lato Senso da Universidade São Judas Tadeu, como requisito parcial para conclusão do curso de Especialização em Mecânica Fina.

Orientador: Prof. Dr. Mario César Ricci

São Paulo, 2005

Page 3: Visão artificial

UNIVERSIDADE SÃO JUDAS TADEU Curso de Pós-Graduação

Mecânica Fina

EDSON CAORU KITANI

SISTEMA DE VISÃO ARTIFICIAL: UMA APLICAÇÃO EM MECATRÔNICA

Monografia apresentada ao Curso de Pós-Graduação - Lato Senso da Universidade São Judas Tadeu, como requisito parcial para conclusão do curso de Especialização em Mecânica Fina.

Aprovado em 11 de Novembro de 2005

__________________________ Orientador: Prof. Dr. Mario César Ricci

São Paulo, 2005

Page 4: Visão artificial

Dedico este trabalho a minha amada

esposa Yara e ao meus queridos filhos

Adriano e Gizele que mais uma vez,

pacientemente, souberam compreender

minhas ausências durante mais esta

jornada, de modo que eu pudesse realizar

os meus sonhos, tão necessariamente

adiados.

Page 5: Visão artificial

AGRADECIMENTOS

Gostaria de agradecer a todos aqueles que direta e indiretamente contribuíram para a

realização deste trabalho e principalmente aos colegas de sala que mantiveram estímulos nos

momentos mais árduos desta jornada. Agradeço aos colegas Prof. Fiorani, Prof. Bonassi e

Prof. Sakae, pelos momentos de descontração e troca de experiências e que muito

contribuíram para realizar mudanças e enriquecer os meus sábados. Ao meu amigo Ricardo,

que junto comigo aceitou o desafio de implementar na prática esta idéia.

Ao Prof. Dr. Ricci, meu orientador, e ao Prof. Fiorani, por acreditarem que eu teria

condições de dar um passo a mais na carreira acadêmica.

Ao amigo Paulo Pereira da National Instruments, por gentilmente ter cedido uma

versão Student do Labview 7.1.

Page 6: Visão artificial

“Não sei como posso parecer aos olhos do

mundo mas, quanto a mim, vejo-me apenas

como um menino brincando na praia e me

divertindo em encontrar de quando em

quando um seixo mais liso ou uma concha

mais bonita, enquanto o grande oceano da

verdade jaz incógnito à minha frente.”

Isaac Newton

Page 7: Visão artificial

RESUMO

Os pesquisadores de inteligência artificial propuseram há uma década atrás um torneio

de futebol de robôs com o objetivo de criar um ambiente de colaboração entre os vários

centros de pesquisas mundiais, a fim de acelerar os resultados práticos no campo da robótica,

inteligência artificial e a todas a áreas associadas. Este trabalho propõe o projeto e

implementação de um conjunto mecatrônico que simulará a função de um goleiro em uma

mesa de pebolim. O conjunto estará baseado em três domínios principais, formados por um

sistema mecânico que movimentará o goleiro em toda a extensão da região do gol, de um

conjunto com motor elétrico, que fornecerá a dinâmica ao conjunto mecânico e de um sistema

de visão artificial que informará ao conjunto do motor, as coordenadas preditivas da bola. O

domínio do futebol de robôs tem sido muito utilizado em pesquisa de Inteligência Artificial,

dada a sua enorme dinâmica, complexidade, imprevisibilidade e variadas estratégias,

fornecendo um vasto domínio para a pesquisa e implementação de sistemas autônomos.

Palavras chaves: inteligência artificial, visão artificial, robótica, futebol de robôs.

Page 8: Visão artificial

ABSTRACT

The researchers in artificial intelligence purposed ten decades ago a robots soccer

tournament with the goal of create a collaborative environment between several research

center around the world, in order to increase the practical results in robotics, artificial

intelligence and all associate areas. The purpose of this work is design and implement a set of

mecatronic device that will emulate the function of a goalkeeper in a saloon game board. The

set will be based on three main domains, a mechanical system that will move the goalkeeper

along the goal extension region, a set of electric motor that will supply the entire dynamic to

the mechanical system and an artificial vision system that will send to electric motor, all

predict coordinate of the ball. The robot soccer game domain has been used in several

research of Artificial Intelligence due to the enormous dynamic, complexity, unpredictability

and a variation of strategies, giving a large field for research and implementation in

autonomous system.

Key word: artificial intelligence, artificial vision, robotics, robot soccer.

Page 9: Visão artificial

LISTA DE ILUSTRAÇÕES

Figura 1 – Estrutura da visão artificial segundo Marr..................................... 19

Figura 2 – Principais etapas de um sistema de visão artificial........................ 20

Figura 3 – Representação dos tamanhos comerciais de células CCD´s...........22

Figura 4 - Representação de uma matriz de célula CCD................................. 22

Figura 5 – Discretização de uma imagem contínua .........................................23

Figura 6 - Incidência de um feixe luz passando por uma lente .......................24

Figura 7 - Ajuste manual da distância focal ....................................................25

Figura 8 - Representação de um sinal de vídeo ...............................................26

Figura 9 - Ligação de uma câmera com uma placa de aquisição de imagem..27

Figura 10 – Conversão e armazenamento da imagem......................................28

Figura 11 – Diferentes intensidades e direções de luz em um rosto ............... 29

Figura 12 – Diferentes modelos de iluminação.................................................30

Figura 13 - Captura, formação e discretização da imagem...............................31

Figura 14 - Imagem com alto contraste ........................................................... 32

Figura 15 – Imagem com baixo contraste .........................................................32

Figura 16 – Imagem transformada por uma equalização de histograma ..........36

Figura 17 – Duas imagens com alta complexidade de segmentação.................36

Figura 18 – Histograma de imagens com regiões separáveis ............................38

Figura 19 – Binarização baseada na limiarização do histograma ......................38

Figura 20 – Erosão na imagem através de um elemento estruturante................40

Figura 21 – Partícula com uma ilha central e operação de preenchimento........40

Figura 22 – Pixel central que é 8 conectado.......................................................43

Figura 23 – Montagem do conjunto mecânico sobre a mesa..............................45

Page 10: Visão artificial

10

Figura 24 – Câmera da Sony montada sobre um tripé.....................................46

Figura 25 – Imagem da tela principal de controle do software de visão.........47

Figura 26 – Tela de ajuste dos parâmetros do sistema de visão......................48

Figura 27 - Módulo do software denominado Goalkeeper..............................49

Figura 28 - Código do módulo de comunicação serial....................................50

Page 11: Visão artificial

LISTA DE TABELAS

Tabela 1 – Separação atual sobre as áreas de visão artificial........................19

Page 12: Visão artificial

SUMÁRIO

LISTA DE FIGURAS............................................................................................IX LISTA DE TABELAS...........................................................................................XI

1 INTRODUÇÃO................................................................................................ 12

1.1 Objetivos e Motivação... ....................................................................14 1.2 Metodologia........................................................................................15 1.3 Conteúdo.............................................................................................15

2 HISTÓRICO DOS SISTEMAS DE VISÃO ARTIFICIAL..............................16

3 ESTRUTURA DE UM SISTEMA DE VISÃO ARTIFICIAL..........................20

3.1 Aquisição da imagem.........................................................................21 3.2 Pré processamento .............................................................................31 3.2.1 Histograma ................................................................................31 3.2.2 Equalização do histograma ....................................................... 33 3.3 Segmentação ......................................................................................35 3.3.1 Limiarização (Thresholding) .................................................... 36 3.3.2 Operações morfológicas ............................................................38 3.4 Descrição e representação ................................................................. 40 3.4.1 Área de agrupamento de pixels ..................................................41

4 IMPLEMENTAÇÃO

4.1 A mesa 4.2 O software

5 CONCLUSÃO E CONSIDERAÇÕES FINAIS ......................................... ...XX

6 REFERÊNCIAS BIBLIOGRÁFICAS ...............................................................XX

Page 13: Visão artificial

1. Introdução

O domínio do futebol de robôs abriu um novo desafio para as áreas de pesquisa em

engenharia e inteligência artificial, forçando as pesquisas a tentar solucionar uma série de

novos problemas apresentados neste novo domínio. Até há pouco tempo atrás, as pesquisas

em IA (Inteligência Artificial) estavam focadas em jogos de xadrez ou em outros jogos de

tabuleiro, mas com a criação do Deep Blue, que venceu Gary Kasparov, a soberania humana

no jogo foi superada, o que exigiu a busca de novos desafios.

Pertence à natureza humana a quebra de barreiras, e mesmo que essas barreiras

pareçam impossíveis, elas têm sido o motor do desenvolvimento. Um desses grandes desafios

foi proposto pelo presidente americano John F. Kennedy, quando mostrou a necessidade dos

americanos em colocar um homem na lua e depois retorná-lo em segurança [ROBOCUP

PROCEDURE, 2005]. O novo desafio que foi lançado é o de construir um time de robôs

humanóides que possa jogar, e se possível vencer o time da seleção campeã mundial da

metade do século XXI.

A escolha da pesquisa sobre futebol de robôs foi proposta porque o domínio do futebol

é extremamente dinâmico, complexo, imprevisível, ocorre em tempo real, e as informações

são muitas vezes incompletas, gerando situações ainda não solucionáveis, e exigindo muita

pesquisa, conforme Kitano [KITANO, 1993]. O estado da arte em tecnologia, tanto

computacional quanto mecânica e eletrônica ainda não permite estabelecer um conjunto de

soluções, e este será o novo marco das pesquisas.

Na área mecânica, têm sido importante as pesquisas em novos materiais, que sejam

mais leves e resistentes, que reduzam atritos; na área eletrônica a busca pela construção de

computadores cada vez mais potentes e rápidos, que consumam menos energia e sejam mais

resistentes, na área de robótica, que integra todas as grandes áreas, busca-se construir robôs

Page 14: Visão artificial

14

que consigam se aproximar da capacidade física humana em todos os aspectos, ou seja, os

modelos antropomórficos são as metas na robótica, e finalmente na área da computação, a

busca pelo domínio da IA, de modo a criar um sistema completamente autônomo e

colaborativo, é a base das pesquisas. Somente com a junção de todas áreas do conhecimento

poderemos pensar em nos aproximar da meta proposta pela ROBOCUP.

Um outro marco que se deseja atingir é a capacitação dos sistemas de visão artificial,

que fornecem ricas informações sobre o mundo, e provavelmente é o melhor sistema de

sensoriamento existente. Com um sistema de visão funcional poderemos obter uma

representação de mundo extremamente fiel, colhendo informações geométricas (3D) e

cromáticas, o qual não seria possível com nenhum outro sensor isoladamente. Existem

inúmeros problemas associados à visão artificial que não foram resolvidos, e que serão muito

úteis no futuro.

Finalmente, o futebol de robôs é apenas o meio pela qual tenta-se criar uma

colaboração entre os diversos centros de pesquisas em robótica e motivar os novos

pesquisadores, como garante Veloso [VELOSO, 2003].

Apenas para se ter a dimensão dos trabalhos nesta área, o proposta feita pela

comunidade científica mundial começou em 1993 e mesmo com os esforços para a

organização, o primeiro torneio só ocorreu em 1997 no Japão, durante a conferencia de IA

em Nagoya.

Naquele primeiro evento, participaram quarenta times em três categorias: simulação,

pequenos robôs e médios robôs. A partir daquele ano, torneios anuais foram propostos ao

redor do mundo, e no torneio de 2003, na Itália, estavam inscritos quatrocentos times.

É a ciência se aproximando da comunidade e aumentando a sua penetração,

permitindo que se faça ciência desde de cedo [MORAVEC, 2003].

Page 15: Visão artificial

15

1.1 Objetivos e motivação

Este trabalho não tem a pretensão de criar um time de robôs, mas apenas tentar

substituir o goleiro de um jogo de futebol de mesa denominado pebolim, construindo um

conjunto mecânico de movimentação linear e um sistema de visão artificial que possa

identificar e prever as possíveis trajetórias da bola e enviá-las ao motor que controla o goleiro

via um canal serial, impedindo que a bola entre no gol.

Mas somente neste pequeno enfoque abre-se um campo enorme de pesquisa e

principalmente a integração de diversas áreas do conhecimento. Esta multidisciplinalidade é a

meta das pesquisas no campo da robótica, porque une áreas que eram extremamente distintas

no passado, e que com a união, podem propor soluções realmente inovadoras e úteis em um

curto espaço de tempo.

Este trabalho propõe a construção de um dispositivo mecânico que faz a

transformação do movimento rotativo de um motor de passo em um movimento linear através

de uma correia dentada.

O sistema captará imagens de um plano α previamente definido e aguardará pela

presença de um objeto móvel, que nesta aplicação será uma bola branca com diâmetro de

30mm. O movimento da bola será rastreado e sua trajetória no plano acompanhado até que

ocorra a interceptação pelo goleiro.

As principais motivações foram a possibilidade de se projetar e construir um sistema

mecatrônico, onde todo o controle será executado por um microcontrolador 8031, porém este

controle está apenas relacionado com o posicionamento do goleiro no eixo X, já que as

coordenadas serão enviadas através de uma porta serial por um microcomputador PC. O PC se

encarregará de coletar e analisar a imagem, e fazer o rastreio da bola ao longo dos quadros

capturados.

Page 16: Visão artificial

16

O projeto foi dividido então em duas partes, sendo uma, o projeto e construção do

conjunto mecânico, eletrônico e de suporte, e a segunda, o sistema de visão e sua integração

com o conjunto mecatrônico. Ficou a cargo de um outro pós-graduando (deste curso), a

execução da primeira parte, enquanto o autor desta monografia se encarregou da parte da

visão artificial. Os trabalhos foram executados em conjunto, onde apenas as descrições de

cada parte estão separadas.

1.2 Conteúdo

Este trabalho estará assim dividido, o capitulo 2 discorrerá sobre uma revisão

bibliográfica, mostrando os caminhos percorridos para que fosse possível unir todos os

conjuntos deste trabalho. No capitulo 3 veremos o sistema completo, onde será possível

analisar toda a arquitetura mecânica, eletrônica e de software, no capitulo 4 veremos os

ensaios e os resultados obtido, estratificando-os para um estudo comparativo entre o desejado

e o realizado. Verificaremos se a meta foi atingida e quais foram as dificuldades encontradas

neste projeto. Finalmente no capitulo 5, discorremos sobre as conclusões obtidas dos

resultados e a proposição de novos estudos e desafios.

1.3 Metodologia

Foi projetado e construído um conjunto mecatrônico, conforme descrito na introdução,

e toda a parte do hardware eletrônico para o controle do conjunto mecatrônico, e também de

uma mesa, de dimensão 1.0mt x 0.8mt, que servirá de plataforma de apoio e aplicação do

projeto. O software de controle será dividido em duas partes distintas, a primeira executará

todo o controle do conjunto mecatrônico através de um micro controlador da família 8051

Page 17: Visão artificial

17

Intel, e o programa fonte será desenvolvido em C através de um compilador AVOCET C para

a família dos microcontroladores. [ARAUJO, 2005]

Será responsabilidade deste módulo, o controle de direção e geração dos pulsos de

excitação do circuito de ponte transistorizada que alimentará o motor de passo. Este módulo

receberá as coordenadas de posição através de uma entrada serial, cujo protocolo será

definido em modo ASCII e será detalhado mais a diante. O outro módulo de software será

implementado em um computador IBM PC compatível sobre a plataforma Windows

98/ME/XP e será responsável para aquisição, análise e geração de coordenadas de movimento

do motor, enviando-as em seguida para a interface de controle via canal serial. O software de

interface homem/máquina, bem como o de tratamento de imagens, será escrito em LabView

6.1 juntamente com o aplicativo Imaq Vision, para aquisição e tratamento da imagem. O

LabView é um software compilador da National Instruments que deriva do C++.

Veremos no próximo capítulo, um breve histórico sobre a área da visão artificial e suas

aplicações.

Page 18: Visão artificial

2 Histórico dos sistemas de visão artificial

O campo de processamento digital de imagens ou visão artificial é um campo

relativamente novo sob o ponto de vista prático, mas em teoria já existe desde a década de 20.

Um sistema de tratamento e transmissão de imagens digitais começou com o sistema

Bartlane de transmissão de imagens via cabo submarino entre Londres e Nova York. Um

outro trabalho importante sobre processamento de imagens iniciou-se com o projeto

RANGER do Jet Propulsion Laboratory (JPL Pasadena, Califórnia - EUA), onde era

necessário transmitir imagens da Lua, com a qual pretendia-se mapear a superfície lunar e

definir locais de pouso para os futuros vôos tripulados [NASA FACTS].

Foram lançados 9 Rangers entre Agosto de 1961 à Março de 1965 e somente as 3

últimas obtiveram sucesso transmitindo um total de 17439 fotos da superfície lunar. Todas as

fotos eram processadas para corrigir distorções introduzidas pelas câmeras de TV acopladas

às sondas espaciais [MARQUES & VIEIRA, 1999].

Desde então diversos estudos foram desenvolvidos para tentar emular o mais

complexo dos sentidos humanos, a visão. Atualmente, a convergência de várias tecnologias

permitiu transferir as técnicas de processamento de imagem dos laboratórios e centros de

pesquisas para as indústrias. Tecnologias tais como, os computadores baseados em PC com

barramento local PCI, placas de captura de imagens, câmeras digitais e softwares de

processamento de imagem tornam a Visão Artificial uma realidade.

Dentre as várias áreas em que o processamento de imagens pode estar presente

podemos citar os trabalhos na área médica que possibilitam melhorar as imagens obtidas por

equipamentos de diagnose não invasiva (Tomografia, Raio X), na área biológica para

reconhecimento e contagem automática de células nos microscópios, na área de

Page 19: Visão artificial

19

geoprocessamento, onde as imagens tiradas via satélite permitem reconhecimento de solos,

recursos minerais e ambientais e mapeamento de fronteiras.

Dotar os robôs com um sistema de visão artificial também tem sido objeto de intenso

estudo, visto o enorme avanço que este tipo de automação pode trazer para as indústrias. Na

automação industrial, a substituição do homem nos trabalhos repetitivos, nas quais a

percepção visual é um item indispensável, abre um campo vasto de aplicação para a visão

artificial. Em serviços postais, o sistema de visão artificial tem sido aplicado para reconhecer

caracteres e assim fazer a triagem automática dos envelopes postados. Uma quantidade

enorme de aplicações podem ser beneficiadas com a aplicação desta tecnologia que está

apenas começando [GONZALES & WOODS, 2002].

Pesquisadores como David Marr [BIANCHI, 2001], criaram definições e conceitos

sobre o que seria a visão artificial. Segundo Bianchi [BIANCHI, 2001], Marr acreditava que

qualquer sistema de visão artificial deveria ser composto de uma estrutura na qual uma

imagem passaria por três processos distintos e seqüenciais, conforme é mostrado na figura 1.

Figura 1. Estrutura da visão artificial segundo Marr. Adaptado de [BIANCHI, 2001].

A etapa de implementação física é responsável pela aquisição da imagem, ou seja, a

etapa sensorial e perceptiva do processo de visão. Na representação e algoritmo a

problemática é como a informação vinda dos sensores pode ser representada de forma que

seja útil para o usuário da imagem. E finalmente na teoria computacional teríamos o que Marr

define como o objetivo da visão, sobre a qual devem existir teorias sobre como utilizar as

representações para se atingir os objetivos desejados. É justamente sobre este enfoque que

Implemtação física Representação e algorítmo

Teoria computacional

Page 20: Visão artificial

20

Marr define que “a visão é uma representação do mundo sobre os aspectos que são

relevantes para o observador”.

Cada etapa definida por Marr entrega um tipo de informação, permitindo-se a

separação em três grandes categorias, nas quais as pesquisas são divididas. Esta separação

pode ser vista no tabela 1.

Tabela 1 PROCESSAMENTO DE IMAGENS ENTRA IMAGEM E SAI IMAGEM

ANALISE DE IMAGENS ENTRA IMAGEM E SAI MEDIDAS DA IMAGEM

INTERPRETAÇÃO DA IMAGEM ENTRA IMAGEM E SAI UMA REPRESENTAÇÃO

COMPLEXA DA IMAGEM

Uma separação moderna sobre a área de visão artificial. Adaptado de [YOUNG et al. 1995].

Observa-se pela tabela 1 que a visão artificial continua sendo um sistema composto

por três abordagens, tais como definido por Marr, mas que permite estudar cada abordagem

de uma maneira bem distinta, sem que necessariamente elas estejam interligadas.

Muitos sistemas aplicados comercialmente e industrialmente valem-se apenas da

primeira e segunda etapa de um sistema de visão artificial., mas se definem inadequadamente

como sistemas de visão artificial. Percebe-se que o grau de complexidade aumenta no avanço

de cada processo e que existe uma ligação da abordagem mais complexa para a menos, e que

não necessariamente o inverso é verdadeiro. Veremos nos próximos tópicos essa divisão e

perceberemos que as abordagens podem atingir uma complexidade dependente apenas do tipo

de informação que desejamos na saída.

Page 21: Visão artificial

3 Estrutura de um sistema de visão artificial

Embora um sistema de visão artificial seja um processo integrado, este pode ser

melhor compreendido se o dividirmos em quatro etapas distintas, como é visto na figura 2.

Figura 2. As principais etapas de um sistema de visão artificial

O bloco de aquisição é responsável por fazer a coleta e a transformação da imagem em

um sinal elétrico que possa ser tratado por um equipamento eletrônico. Na fase de pré-

processamento os sinais elétricos, que normalmente vem na forma analógica, é convertido em

um conjunto de informações digitais e eventualmente o sinal pode ainda sofrer algum tipo de

transformação numérica para melhorar o sinal obtido.

A segmentação toma a informação digital e tenta separar o objeto em estudo do

restante da imagem. Com a informação segmentada é necessário descrever numericamente o

objeto segmentado ou separado do restante da imagem. Com a descrição do objeto é possível

fazer o reconhecimento dele baseado em uma base de conhecimento sobre objetos

semelhantes e então se passa à fase de interpretação que definirá se ele é ou não o objeto de

interesse.

Aquisição

Pré processamento

Descrição e Reconhecimento

Segmentação

Page 22: Visão artificial

22

3.1 Aquisição da imagem

Esta é a primeira fase, e consiste em definir um meio de conversão de uma imagem

ou informação visual para um sinal digital ou analógico. Esta conversão se dá por meio de

câmeras ou sensores óticos que capturam a imagem ou informação e as transformam em

sinais elétricos. Estes sinais podem estar em diferentes espectros eletromagnéticos, tais como,

Raios X, ultravioleta, infravermelho ou espectro visível, e para cada espectro é necessário um

sensor específico.

A qualidade da imagem obtida é de extrema importância para as demais etapas sendo

necessário conhecimento de técnicas de iluminação e uso de lentes para se conseguir uma

imagem com qualidade. Os dispositivos mais utilizados são as câmeras eletrônicas, que ainda

podem ser analógicas ou digitais. A aplicação de cada tipo de câmera depende do tipo de

aplicação e dos custos envolvidos. Será descrito apenas como se faz a aquisição e

processamento de imagens monocromáticas.

Como foi dito anteriormente, a aquisição de uma imagem consiste em transformar

uma imagem obtida através de uma câmera eletrônica em uma matriz de pontos alocados em

memória. A conversão mais comum é aquela obtida por células CCDs (Charge Coupled

Devices) na qual cada ponto da célula representa um ponto de imagem projetada sobre ela.

As CCD´s são células eletrônicas sensíveis à luz visível ou infravermelho e são caracterizadas

por seu tamanho e resolução. Basicamente são construídas em silício e são formadas por uma

matriz que armazena uma carga elétrica toda as vezes que uma célula é bombardeada por

fótons. As câmeras com CCD’s ainda são caracterizadas pelo tamanho do sensor que é

medido pela sua diagonal, definindo tamanho tais como representado na figura 3.

Page 23: Visão artificial

23

Figura 3. Representação dos tamanhos comerciais de células CCD´s. Adaptado de www.edmundoptics.com, 2005.

Como são construídas como uma matriz, a forma mais fácil de se obter informações

sobre cada célula é varrer a matriz na forma de linhas e colunas. Na verdade, cada linha da

matriz é lida de uma vez e o valor de cada célula é armazenado em um registrador paralelo, e

então os dados deste registrador são enviados serialmente, como pode ser visto na figura 4.

Figura 4. Representação de uma matriz de célula CCD. Adaptado de [FORSYTH & PONCE, 2003].

O tamanho da CCD é medido pela diagonal da célula e a resolução é dada pelo

número de células que formam a matriz da CCD. Esta representação é feita multiplicando-se o

número de células na vertical e na horizontal. Muitas vezes a representação da quantidade de

células é feita mantendo a representação do produto da lateral maior pela lateral menor, por

Page 24: Visão artificial

24

exemplo, uma CCD de 640 por 480 significa um matriz de 640 colunas por 480 linhas e

contém 307000 células.As células de uma matriz CCD são mais conhecidas como pixel que é

a abreviatura de picture element em inglês. A partir de então, uma câmera com CCD passa a

se comportar como uma câmera fotográfica comum, onde a luz incidente sobre a CCD passa

por um conjunto de lentes que convergem a luz vinda do objeto de interesse e a distribui sobre

a área da CCD, sensibilizando - a.

Esta sensibilização provoca uma excitação nas células capacitivas, e estas

armazenam uma energia elétrica proporcional à intensidade luminosa que atinge cada pixel.

Desta maneira, a distribuição de carga sobre a superfície do CCD é uma representação

discretizada da cena que foi captura em um determinado instante t. Ou seja, cada célula da

matriz z (m×n) da CCD denominado de z(x, y), com x = 0,1,2...m e y = 0,1,2....n, representa a

luminância (λ) daquele ponto na imagem no instante t.

Ponto na matriz = p(x,y,t,λ) (Eq. 1)

p(x,y,t,λ)

Figura 5. Discretização de uma imagem contínua. Adaptado de [YOUNG et al., 1995].

O processo seguinte será o de varrer cada célula da matriz e transformar sua

representação analógica em um número adimensional normalizado entre 0 a 255 (para

Page 25: Visão artificial

25

câmeras com profundidade de 8 bits), e cujo significado é a intensidade luminosa (λ) daquele

ponto no tempo t. O processo se repete a cada célula, percorrendo a matriz do primeiro

elemento superior à esquerda até o último elemento inferior da direita, percorrendo

inicialmente somente as linhas pares e depois as ímpares.

Isto faz com que a imagem capturada esteja completa na memória somente após

duas varreduras completas da matriz. Este processo é ainda derivado do antigo sistema de

captura e transmissão de imagens das câmeras analógicas. Após as duas varreduras, a matriz

de CCD é limpa para que possa ser excitada novamente por um novo quadro de imagem.

Note-se a inexistência de um obturador mecânico, como nas câmeras convencionais, para

impedir que ocorra uma sobre exposição da imagem, uma vez que o efeito do obturador é

totalmente eletrônico.

Assim como no olho humano, a área sensível à radiação é fixa, portanto o sistema

de visão artificial deve também se ajustar a diferentes distâncias focais, e isto é conseguido

através de conjuntos de lentes óticas. A figura 6 representa um sistema convencional de

fotografia, onde a imagem a ser capturada dever ser capaz de preencher no máximo a área do

filme, e este ajuste é conseguido com o auxilio de lentes.

Figura 6. A figura mostra a incidência de um feixe luz passando por uma lente e sendo projetado em um filme ou uma matriz CCD, onde d é o diâmetro do sensor, f é a distância focal do sensor ou filme. Adaptado de [FORSYTH & PONCE, 2003].

Page 26: Visão artificial

26

Nos processos com câmeras eletrônicas, as técnicas são semelhantes aos da fotografia,

utilizando inclusive, em muitos casos, os mesmos tipos de lentes. A figura 7 mostra uma

configuração com uso de uma lente com ajuste manual de foco, onde mecanicamente se

modifica a distância focal do objeto em relação ao sensor.

Figura 7 mostra o ajuste manual da distância focal, variando-se a distância das lentes interna e a abertura da iris. Adaptado de www.edmundoptics.com, 2005.

As câmeras comerciais são produzidas basicamente em dois modelos: analógicas e

digitais. Nas câmeras analógicas, o sinal do CCD lido de cada pixel é devidamente convertido

em sinal de formato padronizado. Para as câmeras monocromáticas este sinal varia de 0.5V a

2.0V representando a luminosidade de cada pixel. O sinal é montado de cima para baixo e da

esquerda para a direita de uma matriz CCD.

O gráfico da figura 8 mostra o período de varredura do sinal ao longo da linha de uma

matriz CCD e também o período de apagamento horizontal para o retorno da varredura para a

próxima linha da matriz.

Page 27: Visão artificial

27

Figura 8: Representação de um sinal de vídeo, adaptado e disponível em www.ni.com.

Naturalmente, o processo de aquisição inicia-se pela cena de interesse e esta cena é

reduzida (ou ampliado) para as dimensões de uma CCD através de um conjunto de lentes,

cuja função principal (não considerando fenômenos ópticos como interferência, difração, etc)

o ajuste do tamanho da cena a ser capturado, com o tamanho da CCD [FORSYT & PONCE

2003].

O tempo de varredura de uma câmera analógica obedece ao padrão definido para as

TVs comerciais, tendo um mínimo de 24 quadros amostrados por segundo. A amplitude de

cada pixel representa a intensidade de luz naquele ponto, portanto cada linha é formada por

um conjunto de pontos que podem ou não ter diferentes intensidades luminosas e como

conseqüência, a imagem obtida é o conjunto de todos os pontos da matriz CCD.

Após a transformação da imagem projetada em cada ponto da matriz CCD em um

sinal elétrico, será necessário converter este sinal em um padrão manipulável numericamente

ou mesmo armazenáveis. É neste ponto que começa a diferença entre as câmeras CCD´s

analógicas e digitais. Enquanto a primeira entrega somente a imagem no formato elétrico de

vídeo composto, que necessita ser convertida em um sinal digital, a câmera digital entrega

este mesmo sinal já convertido em binário. Quando temos somente a informação da imagem

no formato analógico é necessária uma conversão desse sinal para o formato digital, para que

Page 28: Visão artificial

28

possa ser devidamente manipulável e armazenável por um computador. A figura 9 mostra o

diagrama em blocos de um sistema mínimo de aquisição de imagem.

A transformação é conseguida através de um conversor A/D, onde cada pixel

convertido é armazenado em um byte de memória dentro da própria placa que faz a

conversão, ou então diretamente na memória de um computador.

Figura 9. Representação da ligação de uma câmera com uma placa de aquisição de imagem.

As placas que fazem a aquisição e conversão da imagem em dados digitais são

conhecidas também como Frame Grabber ou placa capturadora de vídeo. Estas placas têm a

função de converter, montar e armazenar uma imagem vinda de uma câmera analógica ou

digital para dentro de uma banco de memória RAM. A imagem então estará representada por

uma matriz numérica de n x m, correspondente ao número de pixel da célula CCD da câmera.

Cada pixel é armazenado em um byte da memória e tem o comprimento de 8 bits. A

capacidade numérica de representação é de 0 a 255, onde 0 representa o ponto mais escuro e

255 o ponto mais claro, como mostrado na figura 10. Esta capacidade de representação da

profundidade dos tons de cinza está apenas limitado ao tipo de câmera utilizado. Modelos

especiais e científicos possuem profundidade de 10 a 12 bits, capazes de captar variação de

tons de cinza entre 0 e 1024 e 2048 respectivamente.

Placa de captura de imagem com conversores A/D

Memória RAM de vídeo

Page 29: Visão artificial

29

Figura 10: Representação de como uma imagem (A) é convertida em escala de cinza (B) e então armazenada em memória (C). Adaptado de [ORTH, 2001]

Nas câmeras digitais, não é dispensável o uso da placa Frame Grabber, porém o

modelo da placa a ser utilizado é diferente do modelo analógico, pelo fato da câmera

analógica não possuir um conversor A/D. Na realidade, a própria câmera digital faz a

conversão do valor de pixel analógico em um valor digital. Este processo permite a

construção de câmeras de alta velocidade, denominadas progressive scan, que permitem a

transferência de dados em uma velocidade muito alta.

A câmera progressive scan captura cada linha da matriz e envia linha inteira e

seqüencialmente sem a necessidade de entrelaçamento. São muito utilizadas em aplicações

que requerem captura da imagem em movimento, mas são incompatíveis com os formatos de

vídeo padrão e, portanto, somente é possível aplicar esta câmera com as placas de aquisição

de imagem. Para que uma imagem possa ser projetada sobre uma célula CCD, é necessário

que o objeto a ser filmado seja iluminado corretamente. E esta é uma das maiores dificuldades

na área de processamento de imagens, porque na maioria das aplicações o ambiente não

possui iluminação homogênea, os objetos nem sempre são estáticos e as superfícies muitas

vezes não são Lambertianas [YOUNG, 1998].

Ainda na fase de aquisição devemos considerar a necessidade de se iluminar a cena

que deseja captar, e a iluminação dependerá muito do ambiente e dos objetos que se deseja

captar. Como foi dito anteriormente, existem superfícies que são especulares, Lambertianas e

Page 30: Visão artificial

30

totalmente absorvente, logo, o estudo prévio da superfície é necessário para se definir o tipo

de iluminação. A iluminação tem um peso significativo no processamento da imagem devido

a grande influência provocada por ela, principalmente em imagens obtidas por câmeras únicas

e ortogonais.

Figura 11. Fotos de uma mesma pessoa e mesma pose, mas com diferentes intensidades de luz e direção. Adaptado de [BELHUMEUR, 1997].

Observando as fotos da figura 11, percebe-se a grande influência que iluminação

produz em uma cena, alterando profundamente a nossa percepção, e isto se deve

principalmente ao fato que a imagem é função da intensidade luminosa λ , como é descrito na

Eq. 1. Portanto sempre será necessário um ajuste da iluminação fisicamente ou através de

equalizações de histograma, como veremos mais a diante.

A figura 12 esquematiza os diferentes modelos de iluminação, conforme o tipo de

problema ser solucionado. As linhas vermelhas representam a fonte de luz, e as linhas azuis a

reflexão do produzida pelo objeto da cena.

Page 31: Visão artificial

31

Figura 12. Diferentes modelos de iluminação, a partir do primeiro do alto à esquerda e indo em direção à direita temos: iluminação direta e unilateral, angular, axial ou perpendicular, axial difusa, frontal difusa, iluminação de fundo, iluminação difusa uniforme. Adaptado de http://www.edmundoptics.com/, 2005.

Após estabelecer o modelo de aquisição (câmera, iluminação) estará disponível, na

saída deste sistema, imagens temporais do mundo em R3 para um plano R2. A partir desta fase

executa-se o pré-processamento da imagem. A figura 13 representa todo o processo descrito.

Figura 13. Representa a captura, formação e discretização da imagem. Adaptado de [GONZALEZ & WOOD, 2002]

AAAAA

Page 32: Visão artificial

32

3.2 Pré Processamento

A etapa de pré-processamento faz o tratamento da imagem para de forma a minimizar

o custo computacional e maximizar a extração de características relevantes ao processo. Isto

significa a redução ou eliminação de ruídos, reduções dos efeitos indesejáveis de uma

iluminação inadequada, remoção de objetos da cena, e a redução da dimensionalidade dos

dados. Neste último tópico observa-se que qualquer matriz com 64×64 pontos representa 4096

pontos de um vetor A. Como normalmente as imagens capturadas por câmeras modernas

apresentam uma matriz mínima de 640×480, isto representa um conjunto de 307.200 pontos.

Com matrizes dessa magnitude, qualquer operação aritmética demandará um custo

computacional no melhor das hipóteses O(m.n).

Dentre as várias técnicas de pré-processamento, destacaremos somente aquelas que

são relevantes para este trabalho. O leitor interessado em conhecer outras abordagens pode

consultar [GONZALEZ & WOODS, 2002] e [PRATT, 1991].

3.2.1 Histograma

O histograma não é necessariamente uma técnica de pré-processamento, mas um

extrator de característica que possibilita estudar alguns comportamentos da imagem. O

histograma é uma técnica estatística que determina a distribuição de uma determinada amostra

em classes de amostras e assim permite determinar a densidade da distribuição ao longo da

amostra. No caso específico de uma imagem, a densidade seria a quantidade de pixels

distribuída ao longo das classes, que neste caso é a escala de gradação dos tons de cinza. Isto

Page 33: Visão artificial

33

é possível porque o domínio da função intensidade em uma imagem discretizada é finito, e

pertencente ao conjunto dos números naturais Ν.

Considere λ(x,y) a intensidade de um pixel na coordenada x,y, então o domínio da

ƒ(λ) será 0 ≤ ƒ(λ) ≤ 255 para uma imagem com profundidade de 8 bits. Assim poderemos

distribuir os pontos de uma imagem em até 255 classes.

Assim podemos escrever que:

H(k) = Σnk Eq. 2

onde, k é a intensidade e n são todos os pixels da imagem que possuem intensidade k.

Figura14. Imagem com alto contraste, onde podemos observar a distribuição uniforme de pixels ao longo das classes. Adaptado de [GONZALEZ & WOODS, 2002].

Figura 15. Imagem com baixo contraste, onde observa-se a concentração de pixels na região central. Adaptado de [GONZALEZ & WOODS, 2002].

Page 34: Visão artificial

34

As figuras 14 e 15 mostram claramente como ficam as distribuições de densidade dos

tons de cinza e como isto afeta a qualidade da imagem. A idéia principal por traz desta técnica

é determinar como estão distribuídos os pixels ao longo da imagem, de modo a determinar

principalmente quais são os limites de separação entre o objeto de interesse e a cena de fundo.

Este interesse reside, como foi dito por Marr, justamente em extrair da imagem

somente as parte as relevantes ao nosso estudo, e assim encontrar as fronteiras de separação

entre os objetos das cenas. Se a imagem não apresenta um bom contraste, todos os pixels

estarão concentrados em uma região do histograma e tornará difícil a sua separação. No

entanto, se a distribuição estiver linear, existirão vários hiperplanos que separarão as

diferentes classes de intensidade e por conseqüência os objetos da cena.

3.2.2 Equalização do Histograma

Com a extração do histograma da imagem, é possível portanto aplicar diversas técnicas

de transformações na imagem, onde a partir de uma imagem de entrada I, obtemos uma

segunda imagem I’, derivada da primeira. Estas transformações podem ser lineares ou não

dependendo apenas da técnica e do efeito esperado. O nosso interesse aqui é equalização do

histograma da imagem. Como observado no tópico anterior, uma imagem com uma densidade

de distribuição não uniforme produz imagens com baixo contraste. Portanto, equalizar

significa fazer uma distribuição uniforme ao longo das classes de intensidade. Para tanto

aplica-se uma função de transformação de que deve ser monotonicamente crescente que

obedece aos seguintes requisitos:

a) Existe uma função T(r) crescente e derivável no intervalo de 0 ≤ r ≤ 1, onde r é a

normalização dos pixels no intervalo de [0,1].

Page 35: Visão artificial

35

b) Que a função T(r) seja também normalizado no intervalo de [0,1], ou seja ∫+∞

∞−= 1)( drrT

Uma função que segue as definições a e b é a função densidade de probabilidade

acumulada, que para uma dada variável x, com domínio em R, têm a imagem entre os

intervalos [0,1].

∫=b

adxxfxP )()( Eq. 3

Como a imagem é formada de pontos discretos e randômicos, a transformação será

dada por uma função de densidade acumulada Pk, tal que:

∑=k

kk n

nP0

Eq. 4

onde k varia de 0,1,2..... L-1 , n é o número total de pixels da imagem, nk é número de pixels

com intensidade k e L é o número de classes. Desta forma, tem-se um vetor Pa com valores

mapeados da probabilidade de densidade acumulada de cada pixel da imagem, e assim faz-se

a transformação baseada nesta densidade. Ou seja, teremos um outro conjunto de densidade

que é uma transformação linear da imagem original.

kkk PnI .= Eq. 5

A figura 16 mostra o resultado de uma transformação baseada na equação 5.

Page 36: Visão artificial

36

Figura 16. Vemos uma imagem de baixo contraste e depois de transformada por uma equalização de histograma. Adaptado de [GONZALEZ & WOODS, 2002].

3.3 Segmetação

Segmentar uma imagem significa separar os diferentes objetos que compões a imagem

e separá-las do fundo da imagem. A segmentação é uma das fases mais difíceis de serem

implementadas, isto porque muitas vezes os diferentes objetos se confundem entre si e

também com o fundo da imagem. Imagem com texturas complexas, múltiplos objetos ou

então com baixo contraste, apresentam uma dificuldade enorme de segmentação.

Figura 17. Aqui vemos duas imagens que apresentam alta complexidade de segmentação, dado às características de textura (no caso da imagem à esquerda) e de contraste, na imagem da direita. Adaptado de [FORSYTH & PONCE, 2003] a figura da esquerda e [GONZALEZ & WOODS, 2002] a figura da direita.

Page 37: Visão artificial

37

Existe uma série de técnicas de segmentação, sejam aplicando filtros de convolução ou

então por técnicas de limiarização. Neste trabalho veremos apenas a limiarização como

técnica de segmentação da imagem. Outras técnicas de segmentação podem ser encontradas

pelo leitor em [GONZALEZ & WOODS, 2002] e técnicas avançadas em [PARKER, 1997].

3.3.1 Limiarização (Thresholding)

Limiarização é uma técnica que busca separar fronteiras entres regiões da imagem

baseado no histograma, considerando que, se existe contraste na imagem, então existem no

mínimo duas regiões separáveis. O que se busca na realidade é a separação do objeto de

interesse do fundo da imagem. Existem técnicas que podem separar mais de duas regiões, tais

como o multilevel thresholding, e o local adaptative thresholding, mas não serão abordadas

neste trabalho. O leitor interessado poderá encontrar uma vasta informação em [GONZALEZ

& WOODS, 2002].

A base da limiarização é encontrar uma função de que separe as regiões baseadas

somente nos níveis de cinza da imagem, e a função mais simples é a binarização baseada no

histograma. Esta função cria uma nova imagem I’ que apresenta somente dois níveis de cores

e que normalmente conhecida como imagens binarizadas. A idéia desta transformação é fazer

a analise geométrica do objeto de interesse, e extrair informações de fronteiras. A equação 6

mostra com seria esta transformação. A variável T é um valor de limiar que depende da

imagem e do histograma, de modo que o seu valor seja um limite entre duas regiões.

>⇔≤⇔

==TyxgTyxg

yxgI),(1),(0

),(' Eq. 6

Page 38: Visão artificial

38

Figura 18. O gráfico da esquerda mostra um histograma de uma imagem que apresenta duas regiões separáveis, enquanto o histograma da direita mostra três regiões. Adaptado de [GONZALEZ & WOODS, 2002]. A figura 17 mostra dois histogramas cujas imagens apresentam regiões multimodais

bem definidas, permitindo uma separação fácil. O valor de T, portanto dependerá da análise

do histograma para se definir a região de separação.

A figura 18 mostra um exemplo de uma imagem binarizada. Observa-se que as duas

cores que compõem a imagem binarizada (preto e vermelho) foram escolhidas apenas para dar

destaque. Uma imagem binarizada pode ser composta de quaisquer duas cores do conjunto de

cores disponível no software de transformação.

Figura 19. À esquerda uma imagem original e à direita a binarização baseada na limiarização do histograma. Adaptado do aplicativo LabView com o módulo Imaq Vision.

Page 39: Visão artificial

39

3.3.2 Operações Morfológicas

Operações morfológicas são aquelas aplicadas às imagens binarizadas, pois se deseja

somente determinar características geométricas do objeto de estudo. Pelo fato de as imagens

serem binárias, ou seja, de somente existirem pixels com dois níveis de cor, permite um

tratamento diferenciado da imagem. Aplicamos na imagem uma série de operadores binários

de modo a ressaltar ou suprimir uma característica.

Além das transformações, ainda é possível obter dados geométricos da imagem e uma

correspondência com o plano real. Podem-se determinar distâncias, áreas, densidades,

topologias e ainda quantificar e qualificar os objetos da imagem. No caso da figura 18, pode-

se, por exemplo, determinar o número de objetos com área menor que Apixels.

Neste trabalho foram utilizadas duas técnicas de operadores morfológicos. A primeira

é a remoção de partículas e depois o preenchimento de áreas. A remoção de partículas baseia-

se no principio de que durante a binarização, podem ser transformados alguns ruídos, que

apresentam um nível de cinza maior que T. Porém não necessariamente estas partículas

representam um objeto de interesse. A remoção de partículas é executada através do operador

morfológico erosão, que elimina partículas soltas.

Este operador utiliza um elemento estruturante que é aplicado em toda a imagem de

modo a eliminar agrupamentos de pixels que têm o mesmo tamanho do elemento estruturante

e também para separar dois agrupamentos que eventualmente possam estar conectados por

poucos pixels. A operação de erosão é, portanto, um operador matemático dado por [PRATT,

1991]:

Page 40: Visão artificial

40

{ }),(),( , kjFTkjG clII= Eq.7

onde G(j,k) é a imagem resultante da erosão de F(j,k) por uma matriz quadrada H(j,k). Ou

seja, G(j,k) é a intersecção de todas as translações na qual a distancia da translação são os

índices das linhas e colunas de H, cujos elementos de H sejam logicamente verdadeiros (1).

Figura 20. Exemplo de uma erosão na imagem através de um elemento estruturante H. Observa-se que na imagem maior, a parte mais escura será o resultado da erosão. Adaptado de [YOUNG et al., 1999] Após a aplicação do operador de erosão, ocorrerá a separação de partículas e alguns pontos

que poderão pequenos “furos” e regiões completamente fechadas. Essas ilhas são então

localizadas e preenchidas de modo a obter uma partícula uniforme na sua superfície.

Figura 21. A imagem A mostra uma partícula com uma ilha central e a imagem B após a operação de preenchimento. Adaptado de [IMAQ, 1999]

Partítcula

Elemento estruturante

Page 41: Visão artificial

41

Com a aplicação das operações morfológicas, consegue-se uma redução significativa

na dimensão dos dados da imagem, principalmente naquelas imagens pequenas produzidas

por ruídos. Mas ainda assim, restam elementos que não necessariamente pertencem ao

conjunto de interesse, mas que conseguiram passar pelos filtros anteriores. As operações

morfológicas são muito mais vastas, e o leitor interessado em conhecer outras ferramentas

morfológicas encontrará informações em [GONZALEZ & WOODS, 2002]. Um tratamento

matemático mais profundo pode ser encontrado em [PRATT, 1991].

3.4 Descrição e representação

Nesta etapa temos uma matriz de pontos transformada em relação à imagem original,

onde se tem somente o objeto de interesse. A problemática agora é como representar ou

descrever o objeto em questão. Usualmente, os humanos classificam os objetos, conforme

suas similaridades e categorias, agrupando-os ou dissociando-os. Da mesma maneira, as

imagens devem ser representadas para que possam ser identificadas.

Os modelos de representações mais comuns, e mais fáceis de se operar, são os

modelos geométricos, onde podemos ver na estrutura da imagem uma determinada forma

geométrica ou até mesmo a uma combinação delas. Com este modelamento geométrico,

podemos determinar distâncias, áreas, volumes, momentos de massa, e inclusive parâmetros

temporais em imagens de vídeo.

A fase da representação é uma das mais difíceis de se implementar, dada

principalmente a dificuldade e a dimensão do conhecimento do modelo. Informar ao

programa a diferença entre uma bola e uma laranja, caso eles tenham o mesmo tamanho e cor,

pode ser uma tarefa muito complicada. Não é claro ainda, como o cérebro humano representa

Page 42: Visão artificial

42

os objetos que nós vemos, principalmente, considerando-se que as crianças vêm ao mundo se

nenhuma noção geométrica, mas elas são capazes de diferenciar objetos complexos.

Este trabalho faz uso do modelamento geométrico e matemático do objeto bola, e é

rastreado e separado do restante das imagens baseada no principio da determinação da área e

centro de massa do agrupamento de pixels.

3.4.1 Área de agrupamentos de pixels.

Com os agrupamentos da imagem devidamente segmentados, podem-se aplicar

mecanismos de seleção e identificação de agrupamentos. E uma forma de se executar essas

classificações seria o de analisar geometricamente os agrupamentos de pixels que restaram, e

que em inglês são denominados blobs, tentando determinar parâmetros que possam separar os

diferentes conjuntos que restaram. Um parâmetro interessante a ser aplicado é a determinação

da área em pixels que os diferentes agrupamentos nas imagens ocupam. A área da imagem é

definida como sendo a somatória de todos os pixels que pertencem ao um determinado

agrupamento contínuo de pixels, e ainda dependente do tipo de conectividade definido antes

da contagem. O conceito de conectividade refere-se à relação entre um pixel do agrupamento

em relação a seus vizinhos, que podem ser 8 conectados. Tomando-se um pixel central, todos

os seus vizinhos são aqueles pixels que o tocam em todas as direções, no caso de um pixel 8

conectado. A figura 22 mostra como um pixel pode ser considerado 4 ou 8 conectado. A

questão principal aqui é se quando dois agrupamentos se tocam, os pixels das fronteiras são

ou não pertencentes ao mesmo agrupamento.

Page 43: Visão artificial

43

Figura 22. Mostra um pixel central que é 8 conectado, pois têm vizinhos em todas as direções. Adaptado de [IMAQ, 1999]

Um pixel pode ser também 4 conectado. Neste caso, somente se considerarão os

vizinhos que estão nas direções ortogonais ao seu centro, não considerando os pixels que

estão nas diagonais. Portanto, o calculo da área de uma partícula leva em consideração se o

agrupamento é 4 ou 8 conectados.

Seja P uma partícula, a área de P será:

AP = Σ (p(x,y) | p(x,y) ∈ P) Eq. 8

No próximo capítulo veremos a implementação do software baseado no modelo de

visão artificial apresentado na figura 2, utilizando o software LabView 7. Veremos como cada

etapa opera e as estratégias aplicadas para a solução do problema de interceptação de uma

bola com um sistema de visão artificial.

PIXEL CENTRAL 8 CONECTADO

Page 44: Visão artificial

4 Implementação

A implementação prática do goleiro mecatrônico foi executada em duas etapas. A

primeira ficou a cargo do aluno de pós-graduação desta instituição [ARAUJO, 2005] cujo

trabalho consistiu na montagem mecânica e eletrônica do Goleiro Mecatrônico. A segunda

parte, que ficou a cargo do autor desta monografia, e consistiu na construção do módulo de

controle e rastreio via sistema de visão artificial, bem como a interligação deste sistema com o

conjunto de mecânico, através de uma interface de comunicação RS232C.

O software de controle foi totalmente desenvolvido em cima da plataforma LabView,

juntamente com o módulo de visão Imaq Vision. Estas ferramentas facilitam muito o processo

de criação de um software, uma vez que muitas rotinas comuns, tais como interfaces GUI

(General User Interface) já estarem prontas. Assim, não se consome tempo na produção

dessas interfaces, e o tempo pode ser dedicado somente à aplicação.

A idéia básica foi criar um sistema de visão que pudesse rastrear e interceptar uma

bola de pebolim que seria arremessada manualmente em direção a um gol. Posicionado neste

gol, estaria então um pequeno boneco de pebolim movido por um motor de passo, e cuja

posição seria enviado por um PC através do canal de comunicação serial. As coordenadas de

interceptação seriam capturadas por um sistema de visão, utilizando-se uma câmera de vídeo

doméstica. A câmera captura as imagens do campo, convertendo-a em um sinal de vídeo

composto, e sendo então capturada por uma placa Frame Grabber, que converte este sinal de

dados digitais, manipuláveis pelo computador.

Page 45: Visão artificial

45

4.1 A mesa

A mesa do equipamento foi construída em madeira e têm as dimensões 800X1300mm,

totalmente fechada nas laterais. No fundo encontra-se o mecanismo do robô, e no lado oposto

um usuário fica posicionado para lançar a bola. Na figura 22 temos duas fotos que mostram

fisicamente área da mesa de trabalho.

Figura 23 Duas fotos mostrando a montagem do conjunto mecânico sobre a mesa. O ponto branco é uma pequena bola de pebolim.

O conjunto mecânico foi adaptado em cima de um carro de impressora matricial, o que

facilitou muito a conclusão deste trabalho. O leitor interessado em maiores detalhes sobre o

conjunto mecatrônico deve consultar [ARAUJO, 2005].

Para o ensaio, foi utilizada uma câmera doméstica da Sony, modelo NV-S100,

adaptado verticalmente sobre a mesa através de um tripé para câmeras fotográficas. A figura

23 mostra a câmera e sua respectiva montagem sobre o tripé.

Page 46: Visão artificial

46

Figura 24 Câmera da Sony montado sobre um tripé.

A vista obtida pela câmera não foi muito ampla, devido a pequena altura disponível

pelo tripé. Portanto optamos pela observação parcial da área da mesa, e esta visão parcial

situava-se próximo da pequena área do gol. A iluminação utilizada foi aquela já existente no

recinto do teste, e consistia de uma lâmpada de PL de 27W. Deste modo, pudemos testar a

robustez do sistema de visão em capturar a imagem e pré processá-la ante de determinar a real

posição da bola.

4.2 O Software

O pré-processamento consistiu de uma normalização da iluminação da imagem

baseada no modelo de equalização do histograma. Isto permite uma que pequenas variações

na iluminação do ambiente possam ser igualmente distribuídas por toda a imagem, tornando o

processamento da imagem mais robusto. Na tela de ajustes do software foram criados áreas

par ajustar os parâmetros de equalização, limiarização e remoção de partículas, de modo a

permitir pequenos ajustes conforme as condições de iluminação ambiental, que estão fora do

Page 47: Visão artificial

47

controle do software. A placa de captura de imagem é uma placa digitalizadora de imagens

com entrada para sinais de vídeo composto no padrão NTSC, e é fabricado pela National

Instruments, sob o código PCI 1409.

Figura 25 Imagem da tela principal de controle do software de visão.

Na figura 25 temos uma amostra da tela do software de visão que controla a posição

do goleiro mecatrônico, na parte superior temos a imagem como é vinda diretamente da

câmera de vídeo, enquanto que na parte inferior vemos uma imagem já pré-processada e

binarizada. O rastreio da bola é feito pela busca em toda a imagem de um objeto que tenha as

dimensões da bola, e isto é feito utilizando-se um filtro de área de elimina toda as partículas

maiores e menores que um determinado valor estipulado no momento da operação. É

necessário definir o valor somente no momento da operação, pois as partículas normalmente

são ocasionadas por ruídos de problemas de iluminação.

Page 48: Visão artificial

48

Com a imagem binarizada, determina-se a projeção da bola no eixo X, e faz-se um

ajuste linear de seu valor (relação entre milímetro/pixel) e este valor é enviado para a porta

serial do computador PC.

Na figura 26 veremos a tela de controle de parâmetros do software, onde podemos

ajustar os valores de normalização da iluminação pelo histograma, os valores de limiarização,

para separar a bola do fundo, e os removedores de partículas.

Figura 26. Tela de ajuste dos parâmetros do sistema de visão.

Durante os ensaios, uma pequena bola de pebolim era arremessada em direção ao gol,

com diferentes velocidades e ângulos de arremesso. As bolas arremessadas ortogonalmente

em relação ao goleiro eram mais facilmente interceptadas do que aquelas arremessadas com

um ângulo, em relação ao goleiro. Isto se deve ao fato que o rastreio da bola é feito pela

projeção da bola no eixo X de coordenadas da imagem, e quando a bola é arremessada em

Page 49: Visão artificial

49

ângulo, a projeção em X se altera constantemente. Como o conjunto mecatrônico acompanha

esta trajetória, o goleiro seguia na direção da primeira projeção detectada pela câmera. Mas a

bola continuava seguindo na direção oposta, pois o conjunto mecatrônico não tinha sido

implementado para alterar a direção, caso fosse enviando um novo comando de posição.

Figura 27. Módulo do software denominado Goalkeeper, desenvolvido na linguagem Labview versão 7.1 Student

Na figura 27, temos o código do programa que faz a copia da imagem vinda da Frame

Grabber/ A leitura deve ser feita da esquerda para a direita, como se fosse o fluxo de um

circuito eletrônico. Observa-se que é feita uma cópia da imagem, analisado o histograma e

então equalizado. O resultado dessa transformação é enviado para um módulo de remove a

partículas e faz o preenchimento dos blobs. Depois a imagem processada passa por dois filtros

Page 50: Visão artificial

50

de partículas que fazem remoção por área de pixels ocupados. Filtrando somente o blobs com

área dentro de uma tolerância que permita detectar apenas a bola.

Finalmente, do aglomerado de pixels restantes, determina-se a sua projeção no eixo X

e no eixo Y. O valor de X é enviado para o módulo de comunicação serial que pode ser visto

na figura 28.

Figura 28. Código do módulo de comunicação serial.

Observa-se no código da figura 28 que o valor da coordenada X é previamente

ajustado e com uma função linear, de modo a adequar a relação métrica entre a imagem do

campo e o campo real. A caixa “Serial Comm” faz a comunicação com o conjunto

mecatrônico.

Page 51: Visão artificial

5 Conclusão

Este experimento demonstrou a funcionalidade e aplicabilidade de um sistema de

visão artificial em um dispositivo simples, mas que apresentou uma série de desafios. E a

motivação maior foi aguardar o momento em que o sistema pudesse rastrear e interceptar

autonomamente um bola lançada aleatoriamente em direção a um gol.

Mas, além da expectativa dos resultados práticos do experimento, o objetivo também

foi de adquirir conhecimento em uma área incipiente, como é a visão artificial. Muitos

sistemas de visão artificial comercial já são uma realidade em ambientes industriais,

executando uma variedade de operações, sejam em identificação, localização ou segurança.

No mercado de uso doméstico algumas implementações são feitas em robôs móveis,

para uso de entretenimento, e o sistema de visão embarcado simplesmente identifica o usuário

e atende ao seu comando.

Esperamos que com este trabalho, outros pós graduandos se motivem e continuem o

trabalho de pesquisa na área de visão artificial, visto que esta é uma área com muitos

problema sem solução ainda. Novas tecnologias tornam o custo da pesquisa muito menor,

permitindo-se que as instituições de ensino possam investir nessa área. Câmeras com do tipo

Webcam via porta USB estão relativamente baratas, e cada geração tornam-se mais rápidas e

com uma resolução maior.

Muitos produtores de softwares disponibilizam versões para estudantes, como foi o

caso da National Instruments. Existem também muitos compiladores e bibliotecas de

processamento de imagens com acesso livre, tal como o Open CV da Intel.

Portanto, ferramentas já existem em quantidade suficiente para se iniciar pesquisas

nesta área. A globalização têm demonstrado que a produção industrial já não é uma

mecanismo eficiente de se aumentar a renda e obter lucros. Países como China já produzem e

Page 52: Visão artificial

52

reproduzem tecnologia com custos que assustam os outros. Face a este novo cenário, pode-se

dizer que a “nova corrida do ouro” encontra-se no desenvolvimento do conhecimento, e da

quebra de paradigmas. Inventar e descobrir novos meios de criação são as moedas atuais, pois

a industrialização em massa acabou com o domínio do conhecimento prático e manual. Como sugestão para futuros trabalhos e assim permitir uma melhoria no projeto,

sugerimos:

1 – Substituir o motor de passo por um servomotor, de modo obter uma dinâmica maior,

obtendo-se taxas de aceleração e velocidades que permitam interceptar a bola com maior

rapidez.

2 – Substituir o sistema de câmera e placa de captura de imagem, por uma câmera Webcam e

assim reduzir os custos da implementação.

3 – Pesquisar e implementar algoritmos de predição de trajetória, tal como o Filtro de

Kalmam, de modo a compensar eventuais atrasos no processamento da imagem e movimento

do conjunto mecatrônico [VELOSO, 1997][Li & Smith, 2000] .

4 – Utilizar a plataforma Open CV da Intel juntamente com o um compilador C livre e criar o

software de rastreio e captura, de modo a diminuir o tempo de processamento e comparar com

esta implementação.

5 – Desenvolver um time de futebol de robôs, assim como proposto por [KITANO,

1993][COSTA, 2000].

Page 53: Visão artificial

5 Referências ARAUJO, Ricardo Correia; Sistema de Rastreio e Interceptação de Objetos no Plano via

Sistema de Visão; Monografia de Pós Graduação Lato Sensu, USJT, São Paulo, 2005.

BELHUMEUR, Peter N.; Eigenfaces vs. Fisherfaces: Recognition Using Class Specific Linear Projection, IEEE Transaction on Pattern Analysis and Machine Intelligence vol. 19 no. 7, Julho 1997.

BIANCHI, Reinaldo A. C., Visão computacional aplicado ao controle de micro robôs. FEI

São Bernardo do Campo: Relatório do projeto de trabalho OS.N5886, 2001. COSTA, Anna Helena Reali, PEGORARO, Renê, “Construindo Robôs Autônomos para

Partidas de Futebol: O Time Guaraná”, SP, SBA Controle e Automação, vol 3 pag 143 a 149, Dezembro de 2000.

FORSYTH, David A., PONCE, Jean. “Computer Vision A Modern Approach”, New

Jersey, Prentice Hall, 2003. GONZALEZ, Rafael and WOODS, Richard. Digital Image Processing , 2.ed., India:

Pearson Education Asia, 2002. Imaq Vision User Manual, National Instruments May 1999. KITANO, Hiroaki, et al. “RoboCup: The Robot World Cup Initiative” 1993. disponivel em

www.robocup.org, acessado em 14/04/2005. LabView Machine Vision and Image Processing , Hands-On-Course Version 1.0 May 1998

National Instruments LI, Bo; SMITH, Eduard; et al.; A Real Time Visual Tracking System in the Robot Soccer

Domain; Proceedings of EUREL Robotics 2000, Salford, UK; Abril 2000. MARQUES, Ogê, VIEIRA, Hugo, Processamento Digital de Imagens, Rio de Janeiro:

Brasport Livros, 1999. MORAVEC, Hans, “Robots, After All”, Communications Of the ACM, vol 46 pag. 90 a 97

Outubro de 2003. NASA FACTS, “Rangers and Surveyors to the Moon”; disponível em www.nasa.gov. ORTH, Alexandre. “Desenvolvimento de um sistema visão para medir desgaste do flanco de

ferramentas de corte”; UFSC Santa Catarina; Dissertação de Mestrado; 2001. PARKER, J.R. Algorithms for Image Processing and Computer Vision, Canada: Wiley

Computer Publishing , 1997. PRATT, Willian K. “Digital Image Processing”; John Wiley & Sons Inc. USA, 1991.

Page 54: Visão artificial

ROBOCUP PROCEDURES, disponível em www.robocup.org, e acessado em 10/04/2005. VELOSO, Manuela; et al.; The CMUnited 97 Small Robot Tean, Report of Computer Science

Departament at Carnegie Mellon University. VELOSO, Manuela, Entrevista para Hasse, Rita F., ”Festival de Robôs Portugueses”

TECNOTEMA ROBÓTICA 2003, Revista, PT, pag. 42 a 47, Junho de 2003 YOUNG, Ian T. et al, Fundamental of Image Processing , Version 2.2, Netherlands: Delft

University of Tecnology, 1998. YOUNG, Matt, Ótica e Lasers, São Paulo: EDUSP, 1998.