• Nenhum resultado encontrado

Identificação de vértices em imagens multivista de formas 3D.

N/A
N/A
Protected

Academic year: 2021

Share "Identificação de vértices em imagens multivista de formas 3D."

Copied!
89
0
0

Texto

(1)

UNIVERSIDADE F E D E R A L DA P A R A Í B A - U F P b C e n t r o de Ciências e T e c n o l o g i a - C C T D e p a r t a m e n t o de S i s t e m a s e C o m p u t a ç ã o - DSC C o o r d e n a ç ã o de P ó s - G r a d u a ç ã o e m I n f o r m á t i c a - COPIN I D E N T I F I C A Ç Ã O D E V É R T I C E S E M I M A G E N S M U L T I - V I S T A D E F O R M A S 3 D . V â n i a C o r d e i r o d a S i l v a C a m p i n a G r a n d e , j u l h o d e 1 9 9 9

(2)

Vânia Cordeiro da Silva

IDENTIFICAÇÃO DE VÉRTICES EM IMAGENS

MULTI-VISTA DE FORMAS 3D.

Dissertação submetida ao corpo docente da Coordenação do

Curso de Mestrado em Informática da Universidade

Federal da Paraíba - Campus II como parte dos requisitos

necessários para obtenção do grau de Mestre em

Informática.

Orientador:

João

Marques de Carvalho, Ph.

D.

Área de Concentração: Ciência da Computação

Linha de Pesquisa: Matemática Computacional e Computação

Gráfica

(3)
(4)

IDENTIFICAÇÃO DE V É R T I C E S E M IMAGENS M U L T I - V I S T A DE FORMAS 3D

VÂNIA CORDEIRO DA SILVA

DISSERTAÇÃO APROVADA E M 09.07.1999

PROF. JO MARQUES DE C A R V A L H O , P h D Orientador

faxende 5 - £ ~ a / ^ e V ^

PROF3 M A R I A DE FÁTIMA SANTOS FARIAS, D.Sc Examinadora

íL

PROF. RONEI MARCOS DE MORAIS, Dr. Examinador

PROF. E L M A R U W E K U R T M E L C H E R , Dr. Examinador

(5)
(6)

Agradecimentos

Agradeço, primeiramente à Deus, por poder concluir mais uma etapa da minha caminhada.

Agradeço também as seguintes pessoas sem as quais este trabalho não seria possível: ao meu esposo, Alvaro, por suas sugestões e apoio, por entender e suportar minha ausência, e a minha família, pela ajuda inestimável. Ao professor João Marques pela valiosa orientação, dedicação e profissionalismo, que são suas características.

Ao professor Elmar pelas contribuições.

Meus sinceros agradecimentos aos colegas do curso de Computação, aos colegas do grupo de Processamento de Imagens coordenado pelo professor João Marques, em particular a Luciana e Josemar.

Agradeço a todos aqueles que contribuíram direta ou indiretamente para a elaboração desta dissertação, cujos nomes não constam desta minúscula lista.

Finalmente agradeço a todos os amigos integrantes da lista mundica-1 pelo companheirismo mesmo a distância, e pela ajuda em todos os momentos em que fora necessário aliviar o stress.

(7)

Resumo

O objetivo desta dissertação é o desenvolvimento de um método para identificação de vértices tridimensionais em imagens multi-vista de cenas compostas de um ou mais objetos. Esta identificação permite a definição de modelos poliedrais dos objetos, que podem ser utilizados para reconhecimento 3D. Os algoritmos desenvolvidos operam por fluxo de dados, de modo a permitir que todo o processo de modelagem possa ser executado em tempo real. O método trabalha com três imagens reais de uma cena, obtidas de três pontos de vista diferentes, também conhecidas como imagens multi-vistas: superior, frontal e lateral. O método reconhece não só o contorno externo do objeto, como também suas arestas internas.

(8)

Abstract

The objective of this dissertation is the development of a method for identification of 3D vertices for multi-view images of scene composed by one or more objects. This identification allows the definition of polyhedral object models, which can be used for 3D recognition. The developed algorithms operate by data-flow, thus enabling the whole modelling process to be perfomed in real-time. The method works with three real images of a scene, taken from three different points of view, also known as multi-view images: top, side and front views. The method recognizes not only the external contour of the object, but also its internal edges.

(9)

Somário

1. Introdução Geral 1

1.1. Sistemas de Visão 3 1.2. Caracterização do Problema 5

1.3. Objetivo e Organização da Dissertação 9

2. Reconhecimento Através de Modelos 12 2.1. Características dos Sistemas de Visão Baseados no Casamento

de Modelos 13 2.2. Construção dos Modelos 14

2.2.1. Construção de Modelos a Partir do Próprio Objeto 15 2.2.2. Construção de Modelos por Sistemas CAD 17

2.3. Extração das Características 20 2.3.1. Aquisição das Imagens 20 2.3.2. Descrição das Imagens 22 2.4. Casamento de Características 24 3. Pré-Processamento 27 3.1. Número de Conectividade 28 3.2. Gradiente Spline 29 3.3. Binarização 30 3.4. Esqueletização 31

3.4.1. Algoritmo de Pré-processamento de Stentiford 32

3.4.2. O Algoritmo de Zhang-Suen 35 3.4.3. Pós-Processamento de Holt 36

(10)

4. Geração e Extração de Vértices 38

4.1. Geração dos Vértices Formados por Três Arestas 39 4.2. Geração dos Vértices Formados por Duas Arestas 43

4.3. Extração dos Vértices 47 4.4. Correspondência dos Vértices nas Multi-Vistas 49

5. Testes Efetuados e Resultados Obtidos 52

5.1. As Imagens 52 5.2. Os Resultados 55 6. Conclusões, Contribuições e Trabalho Futuro 70

(11)

Lista de Figuras

1.1 Sistema de Visão para Inspeção Industrial 4

1.2 Diagrama do sistema de visão baseado no casamento de modelos 5

1.3. Diagrama em blocos de sistema de reconhecimento de objetos 6

1.4. Estrutura de aquisição das imagens multi-vistas para sistemas de visão 3D 8

1.5. Diagrama em blocos do método desenvolvido 9

2.1. Estrutura para a metodologia da triangulação 21 3.1. Um exemplo de números de conectividade: a) conectividade = 1,

b) conectividade = 2, c) conectividade = 3, d) conectividade = 4 e

e) conectividade = 0 28 3.2. Máscaras utilizadas para o cálculo do gradiente Spline 30

3.3. Máscaras para afinamento 32 3.4. Máscaras utilizadas na etapa de pré-processamento: ênfase do ângulo agudo 34

3.5. Máscaras utilizadas por Holt para deletar pixels formadores de escadas 37

4.1. Exemplos da perda do pixel de encontro das arestas 38 4.2. Exemplos de vértices 3x3 formados por três arestas 39 4.3. a) Imagem original, b) imagem esqueletizada e c) imagem extraída os

vértices 3x3, vértices falsos 40 4.4. Exemplos das possíveis continuações das arestas 41

4.5. Vértices de 3 arestas extraídos a)levando em conta o pixel central, b) sem

levar em conta o pixel central 42

(12)

4.6. Padrões de vértices com pesos, a) peso 4: todas as arestas retas, b) peso 1:

todas as arestas com efeito escadaria e c) peso 3: arestas mistas 43

4.7. A mesma imagem com a) vértices extraídos com seus respectivos pesos e

b) depois do filtro local 44

4.8. Problema decorrente do aumento dos vértices 45 4.9. Vértices extraídos a) de tamanho 5x5 e b) de tamanho 7x7 46

4.10. Exemplos das direções permitidas para os vértices 7x7 47

4.11. Cálculo do ângulo entre as arestas 48 4.12. Correspondência de vértices nas multi-vistas 50

5.1 Cena 5 - vista superior: etapas do pré-processamento a) imagem original, b) imagem gradiente, c) imagem binarizada, d) imagem esqueletizada, e) vértices extraídos com seus pesos, 0 vértices após

filtro de máximo local 5x5 56 5.2. Cena 5 - vista lateral: etapas do pré-processamento a) imagem

original, b) imagem gradiente, c) imagem binarizada, d) imagem esqueletizada, e) vértices extraídos com seus pesos, 0 vértices após

filtro de máximo local 5x5 59 5.3. Cena 5 - vista frontal: etapas do pré-processamento a) imagem

original, b) imagem gradiente, c) imagem binarizada, d) imagem esqueletizada, e) vértices extraídos com seus pesos, 0 vértices após

filtro de máximo local 5x5 61 5.4. Cena 2 - vista superior: etapas do pré-processamento a) imagem

original, b) imagem gradiente, c) imagem binarizada, d) imagem esqueletizada, e) vértices extraídos com seus pesos, f) vértices após

filtro de máximo local 5x5 62 5.5. Cena 2 - vista lateral: etapas do pré-processamento a) imagem original,

b) imagem gradiente, c) imagem binarizada, d) imagem esqueletizada,

(13)

e) vértices extraídos com seus pesos, f) vértices após filtro de máximo

local 5x5 64

5.6. Cena 2 - vista frontal: etapas do pré-processamento a) imagem original, b) imagem gradiente, c) imagem binarizada, d) imagem esqueletizada, e) vértices extraídos com seus pesos, 0 vértices após filtro de máximo

local 5x5 65 5.7. Vértices resultantes da correspondência para a cena 5: a) vista frontal, b) vista

lateral, c) vista frontal 66

5.8. Vértices resultantes da correspondência para a cena 2: a) vista frontal, b) vista

lateral, c) vista frontal 67 5.9 a) Vista lateral da Cena 5, b) Ampliação da região marcada por uma elipse 68

5.10 a) Vista lateral da Cena 2, b) Ampliação da região marcada por uma elipse 69

(14)

Lista de Tabelas

5.1. Imagens testadas com suas respectivas dimensões 53

5.2. Resumo dos resultados 54

(15)

Capítulo 1

Introdução Geral

É excitante a grande variedade de formas, cores e movimentos dos elementos físicos do nosso mundo, com os quais nós podemos interagir ou simplesmente contemplar. Ver uma rosa desabrochando, o sorriso de uma criança, o condor voando e outros espetáculos da natureza é, com certeza, um bálsamo para a alma humana. Contudo, além de um prazer, ver é uma necessidade pois "ouvir" o mundo, "tocar" o mundo, "cheirar" o mundo não nos transmite tanta informação e de forma tão rápida, quanto poder "ver" o mundo. A importância da visão foi sempre reconhecida pela humanidade, de forma mais ou menos explícita, desde tempos remotos. Napoleão dizia que "Uma imagem vale mais do que mil palavras", já São Tomé dizia que tinha que se "Ver para crer". Pode-se citar ainda os ditos populares [5]: "O que os olhos não vêem, o coração não sente", ou, "Longe dos olhos, longe do coração".

A visão humana é um sistema biológico complexo, por isso mesmo ainda não inteiramente compreendido pela ciência, que permite a captação da radiação eletromagnética em um espectro visível, convertendo-a em sinais neuroniais e realizando operações de processamento de baixo, médio e até mesmo de alto nível, que ocorrem em partes diferentes do cérebro.

Uma fonte luminosa emite raios luminosos sobre superfícies de objetos, que são refletidos e percebidos pelo sistema visual. As células nervosas da retina transformam as informações como intensidade e comprimento de onda de luz em sinais nervosos remetidos ao cérebro pelo nervo óptico. Essa informação é armazenada e, uma vez processada, pode ser gerado algum tipo de resposta nervosa que será provavelmente transmitida para alguma parte ou órgão do corpo humano, como glândulas, pulmões, braços ou pernas por exemplo.

O sistema visual humano consegue assimilar um grande número de informações que se apresentam em uma infinidade de padrões diferentes a curtos intervalos de tempo. Seu processamento é muito eficiente, além de extremamente versátil. O olho humano consegue adaptar-se à uma grande diversidade de situações novas e até adversas, quanto a níveis de

(16)

Capítulo 1. Introdução Geral 2

intensidade luminosa.

A visão humana é, sem dúvida, a nossa principal fonte de obtenção de informação, por natureza, a mais rápida e completa [5].

A necessidade crescente de automatização de atividades quotidianas, sejam elas prejudiciais, repetitivas ou que exijam uma maior precisão, incentiva pesquisas e estudos para expandir ou criar novos campos. Com a nossa visão não poderia ser diferente: começamos com os óculos, depois binóculos, lunetas, telescópios, microscópios para, hoje, falarmos em visão por computador. A área de visão computacional ou visão artificial, apesar de não ser objeto recente de pesquisa, está em contínuo desenvolvimento.

A construção de máquinas que possam "ver" tem sido tema de pesquisa de grande interesse nas últimas três décadas. Apesar de ainda não se ter conseguido dotar uma máquina com a capacidade total do nosso complexo sistema de visão, muitos progressos já foram e estão sendo alcançados ao se construir máquinas capazes de realizar tarefas visuais específicas.

Podem ser citados vários exemplos da utilidade (aplicabilidade) da visão computacional. Em robótica podemos controlar um robô que precise escolher uma determinada peça entre muitas, encaixá-las ou simplesmente acertar um alvo. O efetivo controle de qualidade de um produto sem contato direto com este, tal como se faz com circuitos impressos, é um outro exemplo de tarefa de automação industrial que pode ser executada através da inspeção visual automatizada. Todavia não é apenas em tarefas industriais que se pode encontrar aplicação para visão computacional. Em equipamentos médicos, por exemplo, tem-se a análise de tomografias de ressonância magnética, ou ainda imagens microscópicas [30].

Como exemplos do uso de máquinas dotadas de visão computacional para o reconhecimento de padrões pode-se citar o reconhecimento de impressões digitais, assinaturas, voz, leitura de caracteres manuscritos ou não, palavras ou até mesmo textos e, mais recentemente, identificação pessoal através da leitura da íris humana. Uma máquina com capacidade de visão inteligente pode ser aplicada em diversas outras áreas tais como atividades militares e pesquisas espaciais para, por exemplo, teleguiar um míssil ou localizar alvos em imagens de satélites, bem como o uso de radares e imagens infra-vermelho [31].

(17)

Capítulo 1. Introdução Geral 3

1.1. Sistemas de Visão

Sistemas de visão necessitam de uma maneira de adquirir, processar e visualizar imagens. Um sistema genérico mínimo para o processamento de imagens é constituído de captores (sensores) de visão, de um hardware de digitalização de imagens, uma memória para armazená-las, e um computador que execute os algoritmos de processamento de imagens.

Os objetos presentes nas imagens são captados através da irradiação de energia, seja por reflexão, transmissão ou emissão; todas inerentementes contínuas. A digitalização da imagem se faz necessária para que a imagem analógica possa ser processada por um computador digital.

A imagem digital nada mais é do que uma matriz de pontos, onde o valor de cada elemento desta matriz está associado ao valor do nível de cinza ou nível de brilho (em uma imagem preto e branco), ou ainda cor do ponto correspondente na grade discreta de amostragem da imagem. A amostragem, em geral, é seguida por uma quantização, para que os valores obtidos tenham uma precisão finita dependente tanto da aplicação quanto do equipamento utilizado. Os índices dos elementos da matriz correspondem às coordenadas espaciais dos pontos de amostragem. Estes elementos são usualmente conhecidos como pixels

{"picture elements"). Em muitas aplicações, que trabalham com imagens monocromáticas,

um único valor é medido em cada ponto amostrado, representando o valor do brilho daquele ponto na imagem em uma dada banda espectral. Outras aplicações requerem imagens multi-espectrais e, portanto, vários valores são medidos para cada ponto amostrado, representando a intensidade do brilho do ponto em um conjunto de bandas espectrais [33].

Deste modo, cada pixel será representado por uma k-upla desses valores. Em imagens tridimensionais o valor da matriz pode representar a profundidade da imagem para aquele índice, ou seja, representa a distancia entre o plano em que se encontra o sensor óptico utilizado para a aquisição da imagem e o objeto nas coordenadas correspondentes (índice da matriz).

As imagens utilizadas em sistemas de visão computacional são, em geral, obtidas dentro dos limites da faixa de energia visível do espectro eletromagnético. Assume-se que a

(18)

Capítulo 1. Introdução Geral 4

cena é iluminada por uma fonte de luz natural ou artificial, e que o sensor óptico incorporado ao sistema de visão computacional transforma qualquer imagem da cena em uma imagem plana, perpendicular ao campo plano de visão do sensor óptico. Não são detectados quaisquer objetos transparentes.

Figura 1.1. - Sistema de visão para Inspeção Industrial

O tratamento aplicado a uma imagem digital depende da aplicação a que ela se destina, variando de acordo com a natureza das imagens, natureza da aplicação, qualidade das imagens e o conhecimento prévio do meio em estudo. De uma maneira geral, um sistema de visão computacional tem que ser capaz de extrair de uma cena as informações necessárias à aplicação, através da análise da mesma. Também tem que ser capaz de identificar os objetos contidos na cena bem como as suas formas.

Com relação à área de automação industrial, que é uma área com grande potencial de aplicação para este tipo de sistemas, a visão computacional pode ser utilizada para o reconhecimento, quer seja de um objeto ou de partes dele. Este é o caso das tarefas de inspeção visual, como exemplificado na Figura 1.1, a qual mostra uma esteira rolante onde os objetos saídos de uma linha de produção tem suas formas inspecionadas por um sistema de visão computacional [3].

(19)

Capítulo 1. Introdução Geral 5

1.2. Caracterização do Problema

Diversos problemas de visão computacional podem ser resolvidos com a utilização de sistemas de visão que operem em duas dimensões apenas (2D). Outros exigem um sistema de visão mais sofisticado que trabalhe em três dimensões (3D). Uma grande parte de ambos os tipos de sistemas (2D e 3D), funciona tentando casar uma ou mais características da cena (imagem de entrada) com as características pertencentes a um conjunto de modelos pre-estabelecidos, criados durante a fase de treinamento do sistema. Estes sistemas de visão são conhecidos como Sistemas de Reconhecimento Baseados no Casamento de Modelos (model

based), e sua idéia encontra-se resumida em um diagrama de blocos apresentado na Figura

1.2. A principal vantagem desta classe de sistemas é a grande compressão de dados obtida através da representação dos objetos por modelos ou por um pequeno número de atributos (características). Este assunto será abordado com um nível maior de detalhamento no Capítulo 2.

Off-Line

O n-Line

Modelo do

Objeto

I

Casamento

I

Objeto na

Cena

Reconhecimento

do Objeto

Figura 1.2. • Diagrama do Sistema de Visão baseado no Casamento de Modelos.

Uma das abordagens mais utilizadas em sistemas de visão para o reconhecimento de objetos em duas dimensões é baseada no casamento de modelos poligonais, onde as formas do objeto são representadas por polígonos. Uma maneira de se realizar uma modelagem

(20)

Capítulo 1. Introdução Geral 6

poligonal de um objeto bidimensional, ou de parte dele, é identificando o contorno da sua forma e neste, os pontos que serão os vértices de uma aproximação poligonal fechada para este objeto [2]. O contorno bidimensional de qualquer objeto contém grande quantidade de informação sobre a forma deste objeto, podendo portanto ser utilizado para o reconhecimento do mesmo. Consequentemente, modelos de contornos bidimensionais, desde que suficientemente precisos, também podem ser aplicados para a mesma finalidade, ou seja, em processos de identificação de formas ou objetos.

No caso do reconhecimento de objetos em 3D (três dimensões), duas ou mais imagens de diferentes pontos de vista do objeto podem ser obtidas, a partir das quais uma aproximação (modelo) poliedral do mesmo será gerada.

Biblioteca de Modelos Ntodclos3D —* .Atributos Gcorrctricos de Superfícies T Identificação do Objeto Localização do Objeto Reconhecimento

r

Resultados

3

f Objeto ) Imagens 2D

Características do Objeto na Cena

* Tratamento Digital das Imagens Atributos Geométricos de Superfícies

Figura 1.3. - Diagrama em Blocos de Sistema de Reconhecimento de Objetos 3D

As características geométricas extraídas deste modelo do objeto presente na cena podem então ser calculadas e comparadas com aquelas armazenadas em uma biblioteca de modelos previamente construída, de modo a permitir a identificação do mesmo. Um ponto de importância fundamental do processo de modelagem é a identificação correta dos vértices tridimensionais que definirão as superfícies das quais é formado o poliedro.

(21)

Capítulo 1. Introdução Geral 7

Diversos métodos de reconhecimento de objetos em cenas tridimensionais baseados em modelos foram e estão sendo desenvolvidos, sobretudo na década passada e na presente. Alguns destes trabalhos são descritos no Capítulo 2. Uma revisão bibliográfica mais completa desta área pode ser encontrada na tese de Farias [1].

O método de reconhecimento de objetos poliédricos para cenas tridimensionais que está apresentado no diagrama em blocos da Figura 1.3, é descrito por Farias [1]. Neste, atributos geométricos extraídos de modelos construídos a partir de três imagens bidimensionais de diferentes pontos de vista dos objetos (imagens multi-vistas) são casados com atributos geométricos encontrados em modelos 3D previamente construídos e armazenados. O método consiste de três etapas:

1. Construção da Biblioteca de Modelos;

2. Extração de Características do Objeto na Cena;

3. Casamento das Características (identificação e localização).

A biblioteca de modelos consiste de modelos poliédricos tridimensionais e de um respectivo conjunto de atributos geométricos de superfícies, correspondentes a cada um dos modelos dos objetos passíveis de reconhecimento. Na etapa de extração de características do objeto presente na cena, são captadas três imagens do objeto; uma frontal, outra lateral e uma última superior, correspondendo respectivamente aos planos YZ, XZ e X Y , conforme estrutura exposta na Figura 1.4. Estas imagens passam por um processo de digitalização e extração de algumas características bidimensionais. Tais características são reunidas e um conjunto de atributos geométricos 3D correspondentes às superfícies visíveis do objeto é então elaborado [1].

Os modelos no trabalho de Farias [1], foram elaborados no ambiente tridimensional do sistema CAD - Auto CAD R32, como se estivessem em repouso sobre uma mesa. Mais informações sobre este tipo de modelagem podem ser encontradas no Capítulo 2.

Com as informações provenientes do conjunto de atributos da cena, o bloco de identificação faz uma busca na biblioteca de modelos, determinando qual modelo contém aqueles atributos, através do casamento de características. Nesta etapa o sistema identifica não apenas o modelo do objeto encontrado na cena, como também as superfícies do mesmo correspondentes às respectivas superfícies visíveis. Com as informações do modelo

(22)

Capítulo 1. Introdução Geral 8

identificado e da própria cena, o sistema determina a localização espacial do modelo no ambiente da cena [1],

O casamento de características, que é o reconhecimento propriamente dito, ocorre em duas fases: a geração de hipóteses e a verificação das hipóteses geradas. As hipóteses são geradas a partir de atributos geométricos locais e globais das superfícies e são verificadas (confirmadas ou não), a partir de atributos relacionais entre as superfícies.

Figura 1.4. - Estrutura de Aquisição das Imagens Multi-vistas

Como exemplo das características extraídas das cenas, pode-se citar os pontos que compõem a lista dos vértices tridimensionais do objeto, que são necessários para se obter as outras características relevantes para o reconhecimento, como quantidade de vértices, área, perímetro, comprimento das arestas, centróide e normal unitária por exemplo. Consequentemente o processo de extração de vértices é de fundamental importância para a confiabilidade do sistema de visão.

(23)

Capítulo 1. Introdução Geral

9

1.3. Objetivos e Descrição do Sistema

Os algoritmos de extração de vértices utilizados em sistemas de visão bidimensionais geralmente encontrados na literatura, como o descrito em Melcher et alli. [8], não são eficazes quando aplicados para o caso tridimensional. Isto ocorre porque estes algoritmos não são capazes de detectar a existência de vértices definidos por arestas internas ao contorno do objeto, tornando necessária a extração de mais informações.

Para o sistema de visão tridimensional de Farias [1] que foi descrito de forma resumida na seção anterior, os algoritmos responsáveis pela obtenção das características dos objetos presentes na cena não se encontram em uma forma que permita a extração automática dos vértices dos contornos ainda durante a fase de aquisição das imagens, ou seja, em tempo real. Esta extração tem por objetivo possibilitar a implementação do sistema como um todo por uma arquitetura paralela de alto desempenho.

Pré-ProceiiamentD Extração de Vértice*

H-0

->

-•

l

Imagon ' Binarm- Es quel* . 1 Fíhro de Vertia*

Ckxdml Spline

->

cie

->

tiracâo Vértice I

->

Maximo

->

Vertia U Caçado* , 1 Local

->

. 1

->

[ Vistas Superior ^ Lateral 9 Frontal

Figura 1.5. Diagrama em Blocos do Método Desenvolvido

Este problema constitui, portanto, o objetivo do presente trabalho: desenvolvimento de um método para identificação de vértices tridimensionais em imagens multi-vista. A identificação destes vértices, permite a definição de um modelo poliedral do objeto, o qual pode ser utilizado em um processo de reconhecimento de formas. Os algoritmos que foram aqui desenvolvidos operam por fluxo de dados, de modo a permitir que todo o processo de

(24)

Capítulo 1. Introdução Geral 10

modelagem do objeto possa ser realizado durante a etapa de aquisição da imagem, ou seja, em tempo real. Um algoritmo assim caracterizado pode ser implementado por uma arquitetura paralela, a qual pode ser realizada através de hardware dedicado, por um ASIC (Application Specific Integrated Circuit) ou por um FPGA's (Field Programable Gate Array).

Desta maneira, o trabalho desta dissertação de mestrado viabiliza a construção de um sistema de visão tridimensional de alto desempenho totalmente automatizado, onde as etapas necessárias ao processamento das imagens e à modelagem do objeto podem ser implementadas por hardware, enquanto a tarefa de reconhecimento propriamente dita é implementada via software.

Na Figura 1.5 o sistema de extração de vértices desenvolvido neste trabalho é apresentado na forma de um diagrama de blocos. As operações indicadas são realizadas sobre cada uma das vistas da cena. Uma descrição sucinta destas operações é dada abaixo. Maiores detalhes serão descritos nos Capítulos 3 e 4.

• Gradiente Spline: Apaga regiões homogêneas e realça as bordas, deixando apenas os contornos.

• Binarização: Transforma imagens em níveis de cinza em imagens preto e branco, sendo os contornos marcados com 1 e o fundo com 0.

• Esqueletização: Extrai a linha essencial da estrutura da imagem, com 1 pixel de largura.

• Vértice I : Identifica os vértices e os marca com seus respectivos pesos.

• Filtro de máximo local: Em uma janela 5x5 descobre o vértice de maior peso e apaga os outros.

• Vértice I I : Identifica os vértices que têm correspondência (vértices casados) em outras vistas e apaga os outros.

(25)

Capítulo 1. Introdução Geral 11

1.4. Organização da Dissertação

O texto que segue está organizado da seguinte maneira: o Capítulo 2 apresenta, como já foi dito, uma revisão bibliográfica sobre os sistemas de visão para reconhecimento de objetos baseados no casamento de modelos. No Capítulo 3 podem ser encontradas todas as etapas de pré-processamento aplicado às imagens, necessário para a extração dos vértices. O Capítulo 4 descreve o método de geração e extração dos vértices formados pelo encontro de duas ou mais arestas, proposto neste trabalho. O Capítulo 5 analisa as imagens resultantes dos testes efetuados para os algoritmos descritos em capítulos anteriores. O Capítulo 6 apresenta as conclusões obtidas para o trabalho desenvolvido e aqui exposto, bem como suas contribuições e sugestões para trabalhos futuros. Na seqüência estão citadas as referências bibliográficas utilizadas para o bom andamento deste trabalho.

(26)

Capítulo 2

Reconhecimento Através de Modelos

Quando um homem vê um determinado objeto pela primeira vez, ele é capaz de, sem nenhum esforço adicional, extrair e organizar informações sobre este novo elemento tais como textura, geometria, funcionalidade, etc. Uma vez estando estas características armazenadas em sua memória, o ser humano toma-se apto a reconhecer este objeto na próxima vez que o vir, mesmo que ele esteja sob um ponto de vista diferente do original, ou com um tamanho diferente ou ainda com uma parte escondida ou mesmo faltando. Portanto, o que ocorre com o homem de uma maneira geral, é tentar casar algumas características visíveis de um objeto com as mesmas características de objetos já conhecidos para poder identificá-lo.

Analogamente, o reconhecimento de objetos pelo computador exige deste último um conhecimento a priori sobre o objeto, o que normalmente é obtido através de um modelo armazenado na memória do computador. Então, o processo do reconhecimento é essencialmente o problema de tentar encontrar dentre aqueles modelos de objetos armazenados num banco de dados, o que melhor combine com os dados extraídos da imagem que contém o objeto observado.

Consequentemente, o desempenho destes sistemas de visão para o reconhecimento de objetos está diretamente associado ao método escolhido para descrever o modelo do objeto, seja em duas ou três dimensões. Quanto mais fiel ao objeto real for esta descrição (modelo), mais confiável e rápido será o resultado final do casamento.

Um sistema de visão que faz uso de modelos geométricos de objetos é conhecido como

sistema de visão para reconhecimento baseado no casamento de modelos geométricos. Estes

sistemas funcionam basicamente tentando encontrar a melhor correspondência entre algum conjunto pré-definido de características geométricas do modelo de um objeto observado numa imagem, e os mesmos tipos de características para modelos de objetos já conhecidos. Quase todas as aplicações que necessitam reconhecer seja o objeto como um todo ou apenas alguma característica específica deste, precisam também determinar efetivamente sua

(27)

Capítulo 2. Reconhecimento Através de Modelos 13

localização e orientação exatas na cena.

Dependendo da natureza do problema para o qual o sistema de visão se destina, ele pode trabalhar em duas ou três dimensões. Todavia, alguns dos sistemas de visão que trabalham em três dimensões utilizam modelos e estratégias de reconhecimento também empregadas pelos sistemas que operam em apenas duas [16].

Este capítulo faz uma breve revisão bibliográfica a respeito dos sistemas de visão que fazem o reconhecimento de objetos através do casamento de modelos, dando ênfase aos sistemas que reconhecem objetos tridimensionais, pois este é o objetivo final do presente trabalho.

Na próxima seção serão examinadas as características dos sistemas de visão baseados no casamento de modelos geométricos, seguida da seção 2.2. que analisa técnicas de construção de modelos para estes sistemas. A seção 2.3 contém mais informação sobre a extração das características da imagem, e finalmente, mais detalhes sobre o casamento das características do objeto real com as do modelo podem ser encontrados na seção 2.4.

2.1. Características dos Sistemas de Visão Baseados no Casamento de Modelos

Este tipo de sistema de reconhecimento trabalha em dois momentos distintos: a fase de treinamento do sistema e a fase de classificação, ou reconhecimento propriamente dito. A primeira fase acontece off-line, ou seja, em um momento anterior ao tempo de execução do sistema. É nesta fase em que os objetos que serão passíveis de reconhecimento pelo sistema são escolhidos, bem como através de quais características eles serão representados e como serão construídos seus modelos. Na segunda fase, a imagem de um objeto real é adquirida, digitalizada, modelada, suas características relevantes ao processamento são extraídas e, a procura por uma correspondência entre as características do modelo do objeto presente na imagem real e as dos modelos armazenados é realizada para que o objeto seja efetivamente reconhecido.

As três principais etapas de operação de um sistema de visão para reconhecimento baseado no casamento de modelos, segundo Chin e Dyer [16] são:

(28)

Capítulo 2. Reconhecimento Através de Modelos 14

1. Construção dos modelos dos objetos;

2. Extração das características do objeto da cena;

3. Casamento das características do modelo com o objeto.

Vários trabalhos sobre sistemas de reconhecimento tem sido publicados defendendo relacionamentos diferentes entre estas três etapas. Estas diferenças somadas às estratégias empregadas no algoritmo de reconhecimento personalizam cada sistema, de modo que se tornam quase específicos em sua atuação [1]. Cada uma destas etapas serão examinadas separadamente nas próximas seções.

2,2. Construção dos Modelos

Como visto anteriormente, a modelagem do objeto é um fator crítico para o desempenho final de um sistema de visão baseado no casamento de modelos. Os modelos tridimensionais permitem uma descrição do objeto mais geral e ao mesmo tempo mais completa, independente do ponto de vista em que se encontra o observador.

Na literatura podem ser encontradas duas abordagens distintas para a construção dos modelos em três dimensões como em Chin e Dyer [16], Besl e Jain [17], ou ainda Arman e Aggarwal [18]. Uma abordagem utiliza imagens reais do próprio objeto a ser reconhecido para gerar os modelos, e a outra utiliza imagens do objeto desenhadas pelo computador, através dos recursos de sistemas CAD (Computer-Aided Design/Drafting) para elaborar os modelos.

De uma forma resumida podemos afirmar que na primeira abordagem, são extraídas com antecedência características de imagens reais, que podem ser obtidas de vários pontos de vista do objeto, integrando-as de forma coerente para que possam apresentar informações do objeto sob todos os ângulos de vista. Na segunda, os sistemas CAD permitem que um usuário desenvolva os modelos dos objetos no computador. Além da geração e visualização em três dimensões no computador, os sistemas CAD tem facilidades para que sejam extraídas dos modelos as características geométricas mais freqüentemente utilizadas [1].

(29)

Capítulo 2. Reconhecimento Através de Modelos

subseções que se seguem.

15

2.2.1. Construção de Modelos a Partir do Próprio Objeto

Os pesquisadores têm investigado dois tipos principais de representação em três dimensões de objetos: 1) representação exata e 2) representação multi-vista. Na primeira representação um modelo genérico simples é construído a partir das propriedades do objeto no espaço físico que ele ocupa. Na segunda, um conjunto de características bidimensionais são extraídas de imagens distintas do objeto (ditas "multi-vistas"), sendo estas obtidas a partir de diferentes pontos de vista do mesmo [16].

A representação exata inclui a classe dos métodos baseados nas especificações geométricas e topológicas de um objeto em três dimensões. As principais técnicas de representações que podem ser encontradas na literatura são: representação por superfícies,

representação por volume, representação por esqueletização e, por último, a representação por wire-frames [ 1 ].

A representação por superfícies de um objeto é especificada em termos de suas bordas em três dimensões, as quais delimitam suas faces [ 1 , 4 , 18]. Isto é feito através da obtenção, primeiro, dos pontos que representam os vértices do objeto, para em seguida obter-se as arestas a fim de, então, poder-se descobrir as faces ou superfícies que formam o objeto, ou seja, que compõem uma descrição poliedral do objeto.

A representação por volume descreve um objeto tridimensional em termos de sólidos geométricos [ 1 , 4, 18]. Os sólidos mais utilizados para isto são os cilindros, os cones, as esferas e os poliedros em geral. A principal vantagem desta classe de representação é que ela fornece uma descrição exata do objeto. A principal desvantagem é que é complexa sua utilização em sistemas de reconhecimento de objetos em tempo real, uma vez que em seu processamento é necessário executar projeções de 2D para 3D ou ainda de 3D para 2D para que se possa casar características de imagens em duas dimensões observadas com os modelos tridimensionais.

A representação por esqueleto de um objeto tridimensional se refere a uma figura composta por uma "armação de fios" {wire-frames) a qual corresponde à estrutura principal

(30)

Capítulo 2. Reconhecimento Através de Modelos 16

do objeto, ou seja, ao seu esqueleto [18].

A representação por wire-frames constrói o modelo em três dimensões do objeto a partir apenas de suas arestas, fazendo uso de uma lista dos pontos de vértices e de uma lista dos pares destes que formam cada aresta do objeto [ 1 , 17]. Os modelos gerados por esta representação não são suficientes por si só para definir onde as faces do objeto estão ou algumas quantidades como a área de cada superfície ou o volume do objeto.

O segundo tipo de representação de objetos tridimensionais, a representação multi-vistas, é determinada pela descrição em duas dimensões de características dos objetos, obtidas em cada uma das vistas, também bidimensionais, aos quais são a posteriori, combinadas entre si para formar o modelo em três dimensões [1, 4, 16, 17, 18].

A vantagem desta representação é que inúmeras técnicas de análise para imagens em duas dimensões estão disponíveis, existindo uma vasta literatura a respeito como apresentado em Zhang e Faugeras [27].

Uma classe desta representação é baseada nas descrições das vistas características extraídas do objeto, a qual requer todas as vistas topologicamente distintas. Baseado nesta equivalência topológica de pontos de vista vizinhos, pode ser definido um "grafo de aspecto" de pontos de vista de características distintas [16].

Outro tipo de representação multi-vista é a representação de nome "vista-esfera discreta". Nesta representação, o objeto se transforma em uma espécie de "esfera visual" giratória, que tem todos os seus pontos externos visíveis, vistos a uma distância fixa do sensor óptico ao ponto do objeto, armazenando os resultados para cada ponto visualizado.

A representação de objetos a partir de características extraídas do próprio objeto, ou de imagens destes, tem a desvantagem de que os erros introduzidos na etapa de aquisição dos dados (imagem), devidos por exemplo, a erros de calibração de câmera, ruído, distorções no sensor, erro no cálculo das distâncias, etc, podem afetar a etapa de modelagem, o que pode implicar em falhas do processo na etapa de casamento. Além disto, algumas características da imagem podem se perder por causa do efeito "sombras", onde parte da cena ou mesmo do objeto permanece invisível à fonte de luz ou ao sensor. Acontecendo isto, não é possível obter um modelo completo do objeto.

(31)

Capítulo 2. Reconhecimento Através de Modelos 17

2.2.2. Construção de Modelos por Sistemas CAD

A construção de modelos para sistemas de reconhecimento de objetos necessita de

técnicas eficientes que descrevam completamente um objeto em três dimensões. Os sistemas CAD ("Computer-Aided Design / Drafting") podem ser utilizados para este fim, seja para projetar a geometria do objeto (síntese de imagem), ou para derivar as características (extrair os atributos) geométricas dos objetos projetados, essenciais aos procedimentos de reconhecimento.

Os sistemas CAD representam um sistema muito utilizado em diversas áreas de pesquisa científica, principalmente nas engenharias mecânica, elétrica e civil, para o desenvolvimento de projetos auxiliados por computador, com importantes recursos tanto em duas quanto em três dimensões.

Os sistemas CAD são ferramentas que oferecem facilidades gráficas para a construção dos modelos, com escalas apropriadas para plotagem e visualização. O CAD permite manipular os modelos dos objetos construídos de várias formas, tais como rotacionar ou transladar para se conseguir acesso às vistas diferentes (projeções) dos objetos, transformar formas bidimensionais em sólidos por meio de extrusão e revolução, estender curvar, combinar características simples em sólidos por meio complexos com as operações booleanas de união, subtração e interseção e adicionar características a sólidos através de chanfros e arredondamentos [1].

Operando com grande precisão, os sistemas CAD também são capazes de analisar o projeto de forma visual e material, acrescentar superfícies em imagens em três dimensões, definir fontes de iluminação, bem como adicionar ou retirar cores e textura para deixar os desenhos com aparência a mais realista possível. Além disso, o CAD produz desenhos apropriados para criação de animações através de programas adicionais, tipo o '3D-Studio' e 'Animator'.

A construção de modelos por CAD possui algumas vantagens sobre os métodos que constróem modelos a partir de imagens reais do objeto, quais sejam :

(32)

Capítulo 2. Reconhecimento Através de Modelos 18

aquisição da imagem real, podendo gerar as partes não visíveis de um determinado ponto de vista. Provêem facilidade para manusear uma ampla classe de objetos, bem como para gerar bases de dados geométricas e bibliotecas padronizadas de modelos, adequadas para diversas áreas da engenharia [18]. Além disso, o CAD pode simular situações (cenas) com os modelos antes mesmo da elaboração da estrutura física de aquisição das imagens dos objetos, para testes e estudos do sistema.

Tradicionalmente, os sistemas CAD podem ser divididos em três grupos [1]. No primeiro grupo, destacam-se os sistemas que são utilizados nos mainframes. Estes são computacionalmente poderosos e com muitas opções de manipulação de modelos. É o caso do "CÁTIA", do "I-DEAS", do " C A D A M " e outros. No segundo grupo estão aqueles utilizados nos PCs, com capacidade menor que os do primeiro grupo, mas munidos das tarefas essenciais ao projeto de modelos. É o caso do "AutoCAD", do "CAD KEY", do "Personal Designer" e outros. No terceiro e último grupo estão aqueles que operam especificamente em estações de trabalho RISC como o "ANVLL 500", o "CADRA-rH", o "CLM CAD 3D" e outros, com capacidade intermediária de processamento. Entretanto, com a constante evolução dos processadores e dos softwares é de se esperar que esta distinção tenda a desaparecer, com o surgimento dos sistemas CAD multi-plataforma de alto desempanho.

Os diversos sistemas CAD diferem entre si pelo poder de manipular as características geométricas dos modelos, e de mostrá-las sob pontos de vista a partir de vários ângulos de iluminação propostos, por operadores de edição, velocidade de operação, custo e disponibilidade de programas auxiliares. Alguns CAD também utilizam formatos padronizados de armazenamento de dados para permitir a troca de modelos entre sistemas diferentes [32].

Os primeiros modelos de sólidos tridimensionais construídos por sistemas CAD, provavelmente, utilizaram a representação de armação de linhas (wire-frames), onde o objeto é representado por um conjunto de arestas (linhas) interligadas. Tal representação, por si só, não era suficiente para definir as faces do objeto e portanto poderia confundir o usuário [1].

Na literatura encontram-se várias formas de representação de sólidos em três dimensões para sistemas CAD [ 1 , 4 , 16, 17, 18], das quais as mais importantes se enquadram nas seguintes classes: 1) representação por bordas de superfície, 2) representação por volume, 3) representação por imagem Gaussiana estendida, e 4) representação por varredura.

(33)

Capítulo 2. Reconhecimento Através de Modelos 19

A primeira representação, por bordas de superfície, é a mais utilizada nos sistemas CAD e em Computação gráfica. Nesta representação, um sólido pode ser descrito de três formas: por um conjunto de superfícies, um conjunto de curvas espaciais e/ou grafo relacional descrevendo as conectividades entre as superfícies

A representação por volume descreve um sólido baseado no espaço volumétrico que ele ocupa. Segundo Farias [1], um meio de representar um objeto volumetricamente seria colocá-lo em algum sistema de coordenadas tridimensionais e dividir o volume que ele ocupa em elementos menores de volume, tal que estes elementos menores englobem partes do objeto.

A maioria das descrições volumétricas empregam cubos ou paralelepípedos conhecidos como voxels. A dimensão do voxel é relativa, um único voxel pode ocupar um grande espaço ao representar um objeto ou ainda um grande número de voxels pode ser requerido para representar um determinado objeto. O critério de erro para definir a dimensão do voxel vai depender da aproximação desejada no projeto.

A representação por imagem Gaussiana estendida utiliza o método da esfera Gaussiana para representar objetos sólidos através da orientação das superfícies do objeto. Se um sólido possui um conjunto de vetores normais unitários associado com cada uma de suas faces tal que cada vetor normal possa ser transladado para uma origem comum, retendo a sua direção original, então as extremidades destes vetores definem uma esfera Gaussiana e o lugar destas extremidades chama-se Imagem Gaussiana do sólido.

A maior dificuldade em utilizar a imagem Gaussiana é quando os sólidos têm superfícies não convexas, porque dois sólidos não convexos poderão ter a mesma imagem Gaussiana. E além disto, algumas informações da superfície do sólido são perdidas, uma vez que apenas a informação sobre a direção da normal é preservada.

A última representação, por varredura de um objeto, é descrita como sendo o volume do objeto varrido por um conjunto de seções transversais ao longo de um eixo, obedecendo uma regra de varredura. Em outras palavras, um espaço tridimensional é descrito por uma função bidimensional que pode ser definida para todos os pontos pertencentes a um eixo do objeto.

Os trabalhos desenvolvidos que fazem o uso de ferramentas CAD para a construção de modelos têm apresentado melhores resultados não somente com relação a precisão mas

(34)

Capítulo 2. Reconhecimento Através de Modelos 20

também com relação a velocidade de processamento, por estes motivos vem tendo maior aceitação nos trabalhos desenvolvidos nos últimos anos [19].

2.3. Extração das características

Nesta seção podem ser observados dois problemas básicos para sistemas de reconhecimento: a aquisição das imagens do objeto e a escolha das características a serem extraídas das imagens. Estes problemas devem ser abordados antes de se trabalhar no algoritmo de reconhecimento propriamente dito, ou seja, ao se iniciar o projeto do sistema de reconhecimento de objetos.

A estrutura utilizada para a aquisição dos dados em três dimensões deve ser tal que o sistema consiga captar dos objetos os mesmos atributos geométricos que descrevem o modelo. As imagens capturadas são projeções das partes visíveis do objeto sob um determinado ponto de vista, o ângulo de visão da câmera.

O problema de selecionar quais características geométricas do objeto serão componentes de sua descrição, está integralmente relacionado ao problema de definição do modelo, uma vez que as características nos dois casos serão as mesmas.

Uma breve apresentação sobre os dois problemas aqui abordados, como pode ser feita a aquisição das imagens reais dos objetos e como descrever a imagem adquirida, é fornecida nas duas sub-seções a seguir.

2.3.1. Aquisição das Imagens

A aquisição das imagens reais dos objetos é um importante aspecto dos sistemas de reconhecimento. As técnicas de reconhecimento de objetos tridimensionais empregam métodos baseados na estrutura geométrica formada pela câmera, fonte luz (se houver) e o objeto, para compor a descrição da cena em três dimensões.

(35)

Capítulo 2. Reconhecimento Através de Modelos 21

tridimensionais baseados no casamento de modelos e mencionados na literatura de visão por computador, apresentam a estereoscopia como modo de obtenção das imagens dos objetos. A estereoscopia é um sistema de montagem que extrai várias imagens do objeto, obtidas de vários pontos de vista diferentes, para capturar o volume (informação tridimensional) do objeto [18].

Figura 2.1.: Estrutura para a metodologia da triangulação.

A estereoscopia está dividida em duas abordagens diferentes: a estereoscopia ativa e a estereoscopia passiva [4 e 18]. Na abordagem passiva a informação tridimensional é obtida da cena utilizando-se apenas a energia existente no ambiente, como luz natural refletida. Na abordagem da estereoscopia ativa a informação tridimensional é derivada de projeções de ondas de energia externa, como por exemplo as ondas de sonar e luz de laser.

As técnicas mais comumente utilizadas na estereoscopia ativa são duas: os métodos baseados em triangulação (cuja estrutura encontra-se apresentado na Figura 2.1.) e os métodos baseados no retorno de feixe (time-of-flight) [1,4, 18].

A triangulação utiliza uma fonte de laser que emite um feixe de luz sobre o objeto cujos reflexos são recebidos por uma câmera estrategicamente posicionada onde os reflexos podem

(36)

Capítulo 2. Reconhecimento Através de Modelos 22

ser alcançados. A varredura de um feixe de luz pode ser feito de dois modos, com um refletor que pode rotacionar e é utilizado para projetar o feixe de luz no objeto ou com o objeto colocado em um determinado local que pode ser uma mesa giratória, para que o mesmo possa deslizar ou rodar na frente do feixe de luz. Então aplicando-se os conhecimentos de geometria na montagem do sistema, a distância de cada ponto iluminado até o sensor é calculada, permitindo assim a definição do objeto em três dimensões [1,4]

A vantagem desta montagem está no fato dela conseguir fornecer muitas amostras uniformes e espaciais dos objetos na cena. Como desvantagens podemos citar a limitação do número e tamanho dos objetos contidos na cena, mas a principal desvantagem é o chamado efeito "sombra" resultante da triangulação, onde uma região do objeto pode ficar invisível por não ter sido iluminada pelo laser.

Os métodos baseados no retorno de feixe consistem de um transmissor de sinal direcionado ao objeto e de um receptor (sensor) eletrônico que capta o sinal refletido pelo objeto presente na cena e calcula o tempo gasto pelo retorno do sinal (reflexão) e sua intensidade. Este tempo é proporcional à distância e às dimensões do objeto. Na prática são utilizados transmissores de ultra-som ou de luz de laser. Esta metodologia apesar de ser mais sofisticada, tem resolução pobre devido às dificuldades em gerar feixes acústicos estreitos.

Após a obtenção da imagem do objeto (descrição de baixo nível), estas passam por processos de tratamento digital de sinais, visando extrair as informações úteis, (realce, redução de ruídos, compressão de imagens , quantização, etc.) e segmentação para em seguida serem retiradas as características úteis ao reconhecimento.

2.3.2. Descrição das Imagens

A decisão da escolha dos atributos ou características que serão extraídas é subjetiva e dependente da aplicação. As características mais importantes na analise da imagem digital se enquadram em uma das três classificações abaixo [ 1 , 3 e 16]:

1. Características Globais, 2. Características Locais,

(37)

Capitulo 2. Reconhecimento Através de Modelos 23

3. Características Relacionais.

As características globais estão relacionadas com as propriedades geométricas, como -perímetro, área, momentos de inércia, centróide, níveis de cinza dos objetos, normal, cor e contorno. Estes atributos são fáceis e rápidos de serem obtidos, podendo ser computados em tempo real. Além disso, são invariantes às transformações de translação e rotação, o que significa que os objetos podem se encontrar em qualquer posição e orientação. Entretanto, sistemas de reconhecimento que fazem o uso unicamente desta classe de características dificilmente conseguem reconhecer corretamente um objeto que esteja com uma ou mais partes oclusas, ou mesmo faltando, ou ainda em contato com outros objetos.

Dentre os exemplos de características locais, que estão relacionadas com as bordas do objeto ou modelo, podem ser citados os segmentos de linha, comprimento de arcos e vértices. Estes são atributos que exigem sistemas mais sofisticados e complexos para serem extraídos das imagens. Eles não são invariantes as transformações de translações e às rotações, o que obviamente significa uma desvantagem.

As características relacionais, que descrevem as relações (dentre estas, as relações geométricas têm um interesse particular) que existem entre as características locais, incluem: o ângulo entre duas arestas ou duas normais, arestas entre as superfícies, distâncias entre centróides de superfícies, dentre outras. Estes atributos são mais adequados para as cenas em que os objetos se encontrem em contato ou parcialmente oclusos, bem como a classe das características locais.

De uma maneira geral, extraem-se ao menos dois tipos de características do mesmo objeto, como uma característica local e uma global, ou uma local e a outra relacional, ou ainda uma característica global e a outra relacional, de modo que uma delas tenha um nível maior de detalhamento do que a outra. Este detalhe fará a distinção entre um modelo do objeto dentre os demais. Por exemplo, numa determinada superfície as características locais podem ser a aresta e o vértice, enquanto as características globais podem ser o comprimento da aresta, sua área e o número de vértices. Mesmo que dois modelos coincidam com as características locais, eles se diferenciarão nas características globais [1].

Segundo Chin e Dyer [16], as representações das características mais utilizadas são três. A primeira é o mapa de profundidade onde temos uma tabela tridimensional com os índices x, y e z representando respectivamente os valores da linha, da coluna e da intensidade

(38)

Capítulo 2. Reconhecimento Através de Modelos 24

luminosa. A segunda representação é a estrutura de árvore hierárquica, que é composta de níveis e sub-níveis representando as partes e sub-partes do objeto. A terceira e última representação é a estrutura de grafos relacionais que é composta de links e nós representando partes e ligações.

2.4. Casamento de Características

O último dos componentes principais de um sistema de visão para o reconhecimento é o casamento de características, onde acontece o reconhecimento (ou identificação) propriamente dito. Ele é também considerado o mais difícil e complexo, embora seu desempenho dependa em grande parte do processo de modelagem, como dito anteriormente [16].

Neste, o sistema procura encontrar a correspondência entre os dados observados na cena com os mesmos dados já armazenados em uma biblioteca de modelos dos objetos ou classes de objetos, obtidos durante a fase de treinamento de sistema. Este modelos representam os objetos que se espera 'ver' nas imagens, obedecendo critérios de erro determinados a priori.

Nas últimas décadas muitas estratégias de casamento baseadas em modelos têm sido desenvolvidas. Estas estavam primeiramente preocupados somente com o reconhecimento do objeto, contudo, uma tendência verificada nos últimos anos foi a produção de informações extras, como a posição e orientação dos objetos identificados na cena, ou ainda a localização de uma superfície onde deverá ser feita alguma operação específica [1].

Isto pode ser feito através de uma matriz de transformação que faz o mapeamento entre o sistema de coordenadas do modelo e o sistema de coordenadas da imagem observada. Este procedimento requer o conhecimento de transformações geométricas, no entanto, esta correspondência não é trivial de ser obtida, uma vez que não existe qualquer referência direta para se obter a transformação apropriada [26].

O casamento está relacionado com o tipo de representação de dados utilizados nas características extraídas do objeto e também foram utilizados na fase de modelagem.

(39)

Capítulo 2. Reconhecimento Através de Modelos 25

Na maioria dos trabalhos encontrados na literatura, a etapa do reconhecimento é realizada em dois passos, são eles:

1. A Geração de Hipóteses, 2. A Verificação das Hipóteses.

Como mencionado anteriormente, reconhecer um objeto é um problema de casamento entre a cena descrita com um modelo armazenado. O processo de reconhecimento se inicia pela geração de hipóteses. Em algum estágio do processamento deveremos ter um conjunto de pares de características correspondendo, respectivamente, a um atributo específico do objeto da cena e ao mesmo atributo de um modelo que casem.

Considerando M características extraídas do objeto presente na cena, e uma biblioteca composta por N modelos, temos o seguinte exemplo:

(característica 1 / objeto, característica 1 / modelo 1) (característica 1 / objeto, característica 1 / modelo 2)

(característica 1 / objeto, característica 1 / modelo N) (característica 2 / objeto, característica 2 / modelo 1)

(característica M / objeto , característica M / modelo N)

Para este casamento as características encontradas no objeto na cena devem ser arbitrariamente ordenadas e a primeira característica da cena deve ser testada com a mesma característica de cada um dos N modelos presentes na biblioteca. O processo se repete para a segunda característica, e assim por diante, para as M características.

Isto introduz um dos maiores problemas do casamento baseado em modelos: existirão muitos possíveis pares casando para a mesma característica, tornando lento o processo de reconhecimento. Assim, o problema consiste em encontrar uma metodologia de procura e casamento eficientes [4], para controlar o número de hipóteses geradas.

As hipóteses são geradas independentemente umas das outras. O algoritmo deve ser capaz de alcançar este passo utilizando uma descrição parcial do objeto e uma descrição

(40)

Capítulo 2. Reconhecimento Através de Modelos 26

completa do modelo, para garantir seu funcionamento caso aconteçam possíveis pontos de perdas de informações devido a prováveis oclusões parciais, ou um único ponto de vista, ou um único campo de vista, etc. [18].

A verificação de hipóteses, é estabelecida através de um novo casamento, agora apenas entre os modelos selecionados no primeiro passo com um segundo conjunto de descrições mais detalhadas do objeto. Neste casamento, apenas um modelo deve ser selecionado dentre aqueles candidatos, ou nenhum, significando que o sistema não é capaz de reconhecer aquele objeto em particular. O modelo que foi selecionado é o modelo procurado e o reconhecimento do objeto é concluído com a descrição completa do modelo encontrado.

Determinar a localização do modelo identificado na cena é o mesmo que reconstruir o modelo no sistema de referência da cena. Este processo de reconstrução ocorre, mais uma vez, através de transformações geométricas que transportam o modelo elaborado em seu sistema de referência para dentro do sistema de coordenadas da cena, o mundo real. Tais transformações envolvem operações de translações e rotações de superfícies no espaço tridimensional [4].

Neste capítulo pôde ser visto um resumo da metodologia de reconhecimento de objetos tridimensionais através do casamento de modelos, algumas de suas características e suas três principais etapas. No próximo capítulo pode ser encontrado explicações a cerca do pré-processamento aplicado às imagens que se faz necessário a este presente trabalho, bem como as etapas em que ele é executado.

(41)

Capítulo 3

Fré-Processamento

Algoritmos para modelagem poligonal ou poliedral requerem imagens com formas bem definidas e contínuas. Produzir estas formas: é este o objetivo da fase de pré-processamento, descrita neste capítulo, à qual as imagens originais são submetidas no momento inicial do processamento. No final desta fase as imagens deverão estar reduzidas a formas compostas unicamente por linhas com apenas um pixel de largura, ditas imagens esqueletizadas, representando os contornos tanto externos quanto internos dos objetos presentes na cena.

O pré-processamento está dividido em três etapas distintas:

• Geração das imagens gradientes; • Binarização;

• Esqueletização;

Para a execução em tempo real dos algoritmos de processamento de imagem, é necessário que estes sejam do tipo data-flow (fluxo de dados), onde o processamento se dá em função dos dados, a medida que chegam os dados fluem pelas operações. Isto possibilita que o processamento ocorra ainda durante a fase de aquisição das imagens. Nestes algoritmos os pixels das imagens são capturados, enviados e processados serialmente, pixel por pixel, linha após linha. Para cada pixel que chega, o algoritmo do tipo data-flow produz um outro de saída que é determinado em função do pixel de posição correspondente da entrada e de um conjunto pré-definido de seus vizinhos de entrada.

Em geral, estes algoritmos necessitam aguardar até que cheguem pixels suficiente para formar o conjunto pré-definido de vizinhos, que pode, por exemplo, assumir a forma de uma janela de tamanho NxN pixels (N varia de acordo com as necessidades dos algoritmos). Os pixels transformados de saída serão os componentes de entrada da etapa ou algoritmo subsequente do processamento data-flow, e assim por diante.

Antes que sejam descritas as etapas acima mencionadas do pré-processamento, é

(42)

Capítulo 3. Pré-Processamento 28

preciso que se entenda o conceito de número de conectividade de um pixel, descrito a seguir.

3.1. Número de Conectividade

O conceito de número de conectividade de um pixel deve ser claramente explicado para evitar interpretações erradas, pois se está utilizando somente uma pequena parte (janela) da imagem original de cada vez, onde as regras de segmentação não são muito claras. Às vezes, um único pixel pode conectar duas seções maiores do objeto e é intuitivamente óbvio que este pixel não pode ser removido. Caso contrário serão criados dois objetos diferentes onde originalmente existia apenas um [11].

a) 1 0 1 1 1 1 1 1 1 d l b) 1 0 1 c) 1 0 1 1 1 1 0 1 0 1 0 1 o 1 0 1 0 1 e) 0 0 0 0 1 0 0 1 0 1 0 1 0 0 0

Figura 3.1: Exemplos de números de conectividade: a) conectividade =1. b) conectividade = 2, c) conectividade = 3,

d) conectividade = 4 e e) conectividade =0.

Um exemplo de medida de conectividade, que pode ser encontrado em Yokoi et alli. [13], está apresentado na Figura 3.1. No exemplo, a) o pixel central da janela 3x3 não conecta nenhuma região, e por isso mesmo pode ser removido durante um processo de afinamento: sua conectividade é 1. Em b) se o pixel central for excluído o lado direito e o esquerdo serão desconectados, e então perderemos a informação de se tratar de um objeto só: sua é conectividade igual a 2. Em c) o pixel central conecta 3 partes de um mesmo objeto, sua conectividade é então igual a 3. Em d) tem-se o maior número de conectividade possível, 4. Finalmente, em e) aparece o pixel central isolado, sua conectividade é portanto, zero.

(43)

Capítulo 3. Pré-Processamcnto

29

Onde: Nk, k = 1, 2, ...,8 é o valor do nível de cinza de cada um dos oito vizinhos imediatos do pixel central numa janela 3x3, e S = {1,3,5,7}. N i é o valor de cinza do pixel exatamente à direita do pixel central e os outros são numerados no sentido anti-horário ao

redor do pixel central. O valor de Nk será um se o nível de cinza do pixel for branco (fundo) e

zero se for preto (objeto). O pixel central é N0.

Outra maneira de se medir a conectividade de um pixel computacionalmente é analisando a vizinhança dos seus oito pixels vizinhos mais próximos, na ordem sugerida

acima: N i , N2, N3, N4, N5, N6, N7, Nge N j . A quantidade de m u d a n ç a s de cor (preto-branco

ou branco-preto) encontrada, será o valor do número de conectividade do pixel central [11].

3.2. Gradiente Spline

O objetivo do cálculo da imagem gradiente é o de possibilitar a extração das bordas dos objetos presentes na cena.

O operador gradiente Spline é baseado em splines cúbicas como descrito por Mclcher et alli [ 7 ] . O valor do gradiente em um dado ponto da imagem de entrada é obtido fazendo-se a convolução desta imagem com as quatro máscaras mostradas na Figura 3.2, de tamanho 5x5. Portanto, o gradiente Spline bidimensional é resultante dos gradientes horizontal,

vertical e diagonais, gpx, gpy, gpi, gP2, respectivamente, e pode ser expresso matematicamente

por:

gp = 3(\gpX\ + \gpy\) + 2(\gpl\ + \gp2\)

O peso dos valores dos gradientes gpx e gpy é maior do que o peso dos gradientes gpi e

gP2 por um fator de 3/2. Isto é uma aproximação do fator de -Jl (raiz de dois) que

corresponde à taxa das distâncias entre o pixel central e dois pontos vizinhos, nas direções vertical e diagonal, respectivamente.

(44)

Capítulo 3. Pré-Processamento 30

ruídos do que outros operadores, como mostra c o m p a r a ç ã o feita em Melcher at alli. [ 7 ] . Isto se deve ao fato de que o gradiente Spline faz uso de janelas de tamanho 5x5 nas m á s c a r a s , maior que o mais comumente utilizado por outros operadores gradientes, e t a m b é m por determinar seus resultados a partir do valor m é d i o das derivadas nas d i r e ç õ e s horizontal, vertical e diagonais. 0 0 0 0 0 8PV 0 0 -1 0 0 0 0 0 0 0 0 0 8 0 0 -1 8 0 -8 1 0 0 0 0 0 0 0 0 0 0 0 0 -8 0 0 0 0 0 0 0 0 0 1 0 0 -1 0 0 0 0 gp2 0 0 0 0 1 0 8 0 0 0 0 0 0 -8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -8 0 0 8 0 0 0 0 0 0 0 1 -1 0 0 0 0

Figura 3.2: Máscaras utilizadas para o cálculo do gradiente Spline

Além disso, as bordas produzidas pelo gradiente Spline são mais precisas, devido ao fato de que os valores do gradiente dos pixels de contorno são significativamente maiores que os valores de gradiente dos pixels de suas vizinhanças. Isto acontece porque a interpolação através de splines cúbicas produz uma aproximação ótima da função original [ 9 ] , resultando t a m b é m em uma a p r o x i m a ç ã o ótima do gradiente desta função.

3.3. B i n a r i z a ç ã o

As imagens utilizadas no presente trabalho são formadas por 32 níveis de cinza (maiores informações a respeito das imagens podem ser encontradas no C a p í t u l o 5), consequentemente as imagens gradientes t a m b é m o são. Nesta etapa, as imagens gradiente são binarizadas, ou seja o conjunto de valores que cada pixel pode assumir é reduzido para duas possibilidades: zero ou um. O valor zero representa o fundo da imagem, ou seja, a ausência de objetos na cena, enquanto o valor um fica reservado para os objetos presentes na cena.

Referências

Documentos relacionados

Mais precisamente, os movimentos sociais que usam de violência política, como os terroristas, são organizações como outras e enfrentam os mesmos constrangimentos de recursos;

Água das precipitações, que não evapora e não é aproveitada como água de serviço, pode ser encaminhada para a renovação das águas subterrâneas, através

Amostra Ti-13Nb-13Zr: moagem de alta energia em álcool isopropílico por 4 horas: As micrografias exibidas na Figura 19 são referentes às amostras de pós moídos em

Contudo, sendo um campo de pesquisa e de atuação muito específico e novo no Brasil, ainda existe uma série de dificuldades para a eleição de parâmetros de conservação

Na apresentação dos dados estatísticos, ficou demonstrada à todos os participantes a dimensão da pesquisa, abrangendo o setor produtivo como um todo, enfocando a produção

By other hand, the hemiodids share some karyotypic features with some Characiformes such as Prochilodidae, Curimatidae, Anostomidae, Chilodidae, which are considered

2º Ficam criadas 30 (trinta) vagas para o cargo de Auxiliar de Desenvolvimento Infantil – ADI, conforme as condições e características de que dispõe esta Lei,

Domínio de tópicos atuais e relevantes de diversas áreas, tais como política, economia, sociedade, educação, tecnologia, energia, relações