INTELIGÊNCIA ARTIFICIAL Introdução. O Que é Inteligência Artificial ?
Visão artificial
-
Upload
pedrolobo8 -
Category
Technology
-
view
1.055 -
download
0
Transcript of 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
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
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
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.
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.
“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
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.
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.
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
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
LISTA DE TABELAS
Tabela 1 – Separação atual sobre as áreas de visão artificial........................19
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
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
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].
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.
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
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.
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
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
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.
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
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.
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
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
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].
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.
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
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
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
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.
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
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
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].
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].
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.
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.
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
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.
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]:
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
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
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.
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
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.
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é.
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
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.
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
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
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.
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
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].
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.
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.