87
Aplicação de contornos ativos em modelagem baseada em imagens Kátia Luciene Scorsolini Alexandre

Aplicação de contornos ativos em modelagem baseada em imagenslivros01.livrosgratis.com.br/cp088886.pdf · Este trabalho propõe a execução do projeto de uma ferramenta de auxílio

Embed Size (px)

Citation preview

Aplicação de contornos ativos emmodelagem baseada em imagens

Kátia Luciene Scorsolini Alexandre

Livros Grátis

http://www.livrosgratis.com.br

Milhares de livros grátis para download.

SERVIÇO DE PÓS-GRADUAÇÃO DO ICMC-USP

Data de Depósito: 21/11/2005

Assinatura:

Aplicação de contornos ativos em modelagembaseada em imagens

Kátia Luciene Scorsolini Alexandre

Orientador: Prof. Dr. João do Espírito Santo Batista Neto

Dissertação apresentada ao Instituto de Ciências Matemáticas e de Computação

- ICMC/USP, como parte dos requisitos para obtenção do título de Mestre em

Ciências de Computação e Matemática Computacional.

USP - São Carlos

Novembro/2005

Conteúdo

1 Introdução 1

1.1 Caracterização do problema . . . . . . . . . . . . . . . . . . . . . . . . . . . .1

1.2 Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.3 Organização do texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2

2 Modelagem Baseada em Imagens 3

2.1 Técnicas de modelagem baseada em imagens . . . . . . . . . . . . . . . . . . .4

2.1.1 Técnicas puras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5

2.1.2 Técnicas híbridas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.2 Considerações finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14

3 Canoma 16

3.1 A ferramenta Canoma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17

3.2 Considerações finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18

4 Contornos Ativos 21

4.1 Conceito de contornos ativos . . . . . . . . . . . . . . . . . . . . . . . . . . . .22

4.1.1 Modelos paramétricos . . . . . . . . . . . . . . . . . . . . . . . . . . .22

i

4.1.2 Modelos geométricos . . . . . . . . . . . . . . . . . . . . . . . . . . . .35

4.2 Considerações finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39

5 Descrição do Método 41

5.1 Identificação do contorno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42

5.2 Detecção dos vértices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45

5.2.1 Vértices visíveis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45

5.2.2 Vértices ocultos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49

5.3 Considerações finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53

6 Resultados 56

6.1 Parâmetros internos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .58

6.2 Parâmetros externos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59

6.3 Considerações finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64

7 Conclusões e Trabalhos Futuros 66

Referências Bibliográficas 67

ii

Lista de Figuras

2.1 Classificação das técnicasIBM: abordagens baseada em geometria, híbrida e baseada

em imagem (Debevec, 1996). . . . . . . . . . . . . . . . . . . . . . . . . . . . .4

2.2 Utilização do softwarePhoto3Dpara o modelamento a partir de uma fotografia

(Apollo Software, 2004). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.3 a) Modelo em triangulação doDowning College Library; b) modelo 3D com tex-

tura e c) sua representação VRML utilizando o softwarePhotoBuilder(Cipolla

et al., 1999). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.4 Exemplos de utilização do softwarePhotoModeler: a) reconstrução de acidentes

automobilísticos; b) reconstrução de crimes e c) documentação de sítios e artefatos

históricos (Eos System Inc., 2004). . . . . . . . . . . . . . . . . . . . . . . . . .7

2.5 Aplicação da técnicatour into the picturesobre a imagem de uma ruela: a) definição

do ponto de fuga, de uma região retangular e das linhas radiais que partem do

ponto de fuga; b) imagem dividida em cinco regiões e c) a imagem renderizada de

um novo ponto de vista (Johnson, 2001). . . . . . . . . . . . . . . . . . . . . . .8

2.6 Ponto de fuga e linha de fuga (adaptada de (Kang et al., 2001)). . . . . . . . . . .9

iii

2.7 a) Imagem 2D dividida em duas regiões pela linha de fuga; b) modelo 3D e c)

coordenadas dos vértices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10

2.8 Reconstrução do modelo 3D da torre do relógio da Universidade de Berkeley uti-

lizando a abordagem algorítmica não-linear do sistemaFaçade: a) imagem origi-

nal com as margens definidas pelo usuário; b) modelo criado através de primitivas;

c) projeção do modelo na fotografia e d) a imagem renderizada (Debevec, 2004).12

2.9 Aplicação da técnicavoxel coloringem um dinossauro de brinquedo: a) imagem

original; b) e c) duas visões do modelo reconstruído a partir de 21 fotografias do

objeto (Seitz and Dyer, 1997). . . . . . . . . . . . . . . . . . . . . . . . . . . .14

3.1 Interface do software Canoma: um conjunto de primitivas 3D são utilizadas na

criação de um modelo aproximado do ambiente real. . . . . . . . . . . . . . . .17

3.2 Passos para a modelagem no Canoma: a) escolha de uma primitiva 3D; b) e c)

ajuste (matching) do aramado à geometria do objeto na cena; d) definição do plano

de referência; e) e f) visualizações do modelo. . . . . . . . . . . . . . . . . . . .20

4.1 Conjunto de pontos iniciais definidos pelo usuário na imagem original (Bianchi,

2003) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

4.2 Pontov(si) e seus vizinhos (vizinhança 3x3): a energia é calculada para cada

pontonj , onde j varia de 1 a 9. . . . . . . . . . . . . . . . . . . . . . . . . . . .25

4.3 a) Campo vetorial do modelo tradicional desnakee b) do modelo de potenciais de

distância. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26

4.4 Comportamento dos vetores em uma região côncava usando em a) o modelo de

potenciais de distância e b) o modelo. . . . . . . . . . . . . . . . . . . . . . . .27

4.5 O modeloballoon: a) snakecom dimensão menor que a da estrutura e posição

inicial distante dos contornos; b) sua posição após 100 iterações e c) sua posição

após 500 iterações (Pimentel, 2000). . . . . . . . . . . . . . . . . . . . . . . . .28

4.6 Campo doGVF para um objeto concâvo em forma de U: os vetores atraem o

contorno em direção à borda do objeto (Xu and Prince, 2004). . . . . . . . . . .29

iv

4.7 Segmentação de imagem de ressonância magnética utilizando o modeloGVF: a)

snakeinicializada externamente à estrutura e b) sua posição final (Pimentel, 2000).32

4.8 Aplicação do modeloGVFem objeto tridimensional: a) isosuperfície de um objeto

3D; b) posição dos planos A e B; c) e d) projeções da superfície nos respectivos

planos; e) configuração inicial da superfície deformável usandoGVF; f) posição

da superfície após 10; g) 40 e h) 100 iterações (Xu and Prince, 2000). . . . . . .32

4.9 Malha resultante de decomposição simplicial (triangulação) do domínio. . . . . .33

4.10 Comportamento da função característica: a atribuição de símbolos aos vértices é

dependente da evolução pré-definida dasnake. . . . . . . . . . . . . . . . . . . . 33

4.11 Projeção dos pontos do contorno inicial na grade: nós externos definidos como

‘queimados’ após prévia definição da evolução dasnake. . . . . . . . . . . . . . 34

4.12 Exemplo da evolução dasnakedescrita em 3 momentos: a) inicial; b) inter-

mediária e c) final (Machado et al., 2002). . . . . . . . . . . . . . . . . . . . . .35

4.13 Curva inicial em preto separando a imagem em duas regiões. . . . . . . . . . . .36

4.14 A frente propagante e a funçãolevel set: a snakeé definida pela intersecção da

superfície bi-dimensional com o plano xy (Sethian, 2004). . . . . . . . . . . . .37

4.15 SpliteMerge: o contorno inicial é formado por duas curvas que se unem conforme

crescem (Sethian, 2004). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38

4.16 Contorno projetado em uma malha: cada vértice armazena o tempo T em que foi

atingido pela frente propagante. . . . . . . . . . . . . . . . . . . . . . . . . . .38

4.17 A Superfície de Tempo de Chegada, fornecida pela função T(x,y), intercepta o

plano xy exatamente onde inicia-se a curva (Sethian, 2004). . . . . . . . . . . . .39

5.1 Framework do projeto: a) contorno inicial definido pelo usuário; b) contorno ex-

terno do objeto identificado após aplicação da técnica de contornos ativos e c)

localização dos vértices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41

v

5.2 Snake: obtenção do contorno do objeto de interesse. a) Imagem original a partir

da qual gera-se o mapa de arestas que será utilizado para o cálculo de b), o campo

GVF. Em c) o contorno externo do objeto identificado após aplicação do contorno

ativo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

5.3 Máscaras do operador de Sobel utilizadas para detectar a derivada de primeira

ordem a)na horizontal (Gx) e b)na vertical (Gy); c)filtro Laplaciano de vizinhança 4.43

5.4 Máscara do operador GDDI com vizinhança 7x7. . . . . . . . . . . . . . . . . .44

5.5 Campo de força após aplicação doGVF. . . . . . . . . . . . . . . . . . . . . . . 45

5.6 Processo de detecção dos vértices: a) o contorno encontrado pelasnakes; b) de-

tecção dos vértices visíveis (1, 2, 3, 4, 5, 6 e 7) e c) vértice oculto (8) estimado a

partir das coordenadas dos vértices visíveis. . . . . . . . . . . . . . . . . . . . .46

5.7 Processo de seleção de um vértice candidato para: a) uma amostragem de 10 pon-

tos e b) uma variação angular de15o. . . . . . . . . . . . . . . . . . . . . . . . . 47

5.8 Processo de seleção de um vértice candidato localizado fora da extremidade da reta.48

5.9 Vértices de um cubo e suas adjacências: os vértices 3 e 4 possuem três vértices

adjacentes, enquanto 1, 2, 5 e 6 possuem, inicialmente, conexões com somente

dois vértices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50

5.10 Cálculo dos pontos de fuga: as linhas tracejadas representam um ponto de fuga

finito (v) computado a partir das arestas-----→31 e -----→42, enquanto as linhas pontilhadas

representam um ponto de fuga infinito (u), computado a partir das arestas-----→35 e -----→46. 50

5.11 Projeção dos vértices nos pontos de fuga encontrados. . . . . . . . . . . . . . . .51

5.12 Computando os vértices ocultos. . . . . . . . . . . . . . . . . . . . . . . . . . .52

5.13 Cálculo do ponto de fuga para uma pirâmide: prolongando-se as arestas, o ponto

de fuga é representado em a) pelo vértice 1 e em b) pelo vértice 3. . . . . . . . .52

5.14 Reconstrução de uma pirâmide de base triangular. . . . . . . . . . . . . . . . . .53

5.15 Reconstrução de uma pirâmide de base quadrangular. . . . . . . . . . . . . . . .53

6.1 Interface do programa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57

vi

6.2 a) Imagem original; b) contorno inicial definido pelo usuário e resultados dasnake

em c) após 6 iterações e em d) após 4 iterações. Um alto valor para alpha em d)

inibiu a expansão do contorno, resultando em uma convergência ruim. . . . . . .60

6.3 a) Imagem original; b) parâmetros utilizados na detecção dos vértices visíveis do

objeto; c) vértices visíveis detectados e d) localização do vértice oculto para uma

pirâmide de base quadrangular. . . . . . . . . . . . . . . . . . . . . . . . . . . .60

6.4 a) Parâmetros utilizados na detecção do contorno de um cubo; b) imagem original;

c) contorno inicial definido pelo usuário e resultado dasnakeobtidos em: d) 2

iterações, após aplicação do filtro Sobel; e) 6 iterações, após aplicação do filtro

Laplaciano e f) 5 iterações, após aplicação do filtro GDDI. . . . . . . . . . . . .61

6.5 a) Imagem original; b) parâmetros utilizados para a detecção dos vértices visíveis

do objeto; c) vértices visíveis detectados e d) estimativas das localizações dos

vértices ocultos (7 e 8). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62

6.6 a) Contorno inicial definido pelo usuário na imagem original; b) parâmetros uti-

lizados na detecção do contorno; c) posição final dasnake; d) parâmetros utiliza-

dos na detecção dos vértices visíveis do objeto; e) vértices visíveis localizados

pela ferramenta; f) vértices de grau 1 e 2 projetados nos pontos de fuga A e B e g)

identificação dos vértices ocultos. . . . . . . . . . . . . . . . . . . . . . . . . .62

6.7 a) Cálculo do contorno de um hexaedro e b) cálculo dos vértices do objeto. . . .63

6.8 a) Imagem 6.5a binarizada; Transformada de Hough para limiares b) 5; c) 20 e d)

30. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

vii

Agradecimentos

À Deus, por iluminar meus caminhos e guiar meus passos na conquista deste sonho.

Aos meus pais, Osmar e Kátia, meu dois amores, pelo apoio, paciência, amor e presença

constantes em minha vida.

Ao meu namorado Denis que, em todos os momentos, esteve ao meu lado e aos meus amados

irmãos e companheiros, Erik e Willian.

Ao meu orientador João do Espiríto Santo Batista Neto pelo inestimável auxílio, imensa

paciência e confiança no meu trabalho.

À todas as pessoas com quem pude conviver durante esses anos, às amizades que conquistei, que

compartilharam dos meus ideais e me incentivaram a prosseguir.

À minha tia Soraia pelo abrigo e carinho de sempre.

Existem outras pessoas não citadas aqui, algumas por não existirem palavras para descrever o

quão especiais são para mim!

viii

Resumo

Técnicas de modelagem baseada em imagens têm recebido considerável atenção da comu-

nidade de visualização computacional devido ao potencial de criar cenas realistas a partir de

um pequeno conjunto de imagens bi-dimensionais. Entretanto, a qualidade dos modelos gerados

pelas ferramentas atualmente disponíveis é extremamente dependente de entradas fornecidas pelo

usuário. Este trabalho propõe a execução do projeto de uma ferramenta de auxílio para sistemas

de modelagem baseada em imagens que utiliza o conceito de contornos ativos para aumentar o

grau de automação do processo de localização do contorno do objeto presente na fotografia, que

servirá de guia para a posterior localização dos vértices desse objeto. Através desta abordagem,

figuras geométricas mais simples, como pirâmides e hexaedros, puderam ser reconstruídas após a

recuperação das coordenadas de seus vértices.

.

Abstract

Image Based Modelling techniques has received considerable attention from the computer

vision community due to the potential to create realistic scenes from some bi-dimensional images.

However, the model’s quality generated by the tools available nowadays is extremely dependent

on entries provided by the user. This work proposes the execution of a help tool project for image

based modelling systems that uses the active contours concept to increase the process automation

degree of locating the contour of an object in the image, which will guide the vertex location

process of this object. Through this approach, simple geometric figures, as pyramids and squares,

could be reconstructed after the vertex coordinates recuperation.

CAPÍTULO

1

Introdução

1.1 Caracterização do problema

As técnicas de modelagem baseada em imagens procuram, através de um conjunto de ima-

gens, extrair informações a partir das quais seja possível reconstruir uma cena sob investigação.

Essas informações são compostas de vértices, arestas e/ou curvas que, idealmente, poderiam ser

extraídas de forma automática, por meio de técnicas de segmentação de imagens.

No entanto, o que se observa nas ferramentas atualmente disponíveis é a existência de um pro-

cesso bastante interativo e fortemente dependente do usuário para a identificação e posicionamento

das informações geométricas necessárias à reconstrução dos objetos da cena.

A ferramenta Canoma provê um exemplo claro dessa grande dependência. Durante a criação

do modelo, o usuário deve definir as primitivas (wire framesou aramados) que compõem a cena

e manualmente posicionar os vértices dos aramados sobre pontos correspondentes dos objetos

de interesse na imagem, de forma a determinar, com a maior precisão possível, os tamanhos e

posições dos aramados, a fim de que a modelagem resultante seja fiel aos objetos presentes em

1

Introdução

cena.

Esse processo manual, além de tedioso (principalmente se considerarmos cenas complexas

ou repetitivas), faz com que a precisão da modelagem esteja associada à exatidão do usuário no

posicionamento das primitivas.

1.2 Objetivo

Levando-se em conta a dependência do usuário durante a construção do modelo, um sistema

de modelagem baseada em imagens cujo processo de ajuste do aramado seja feito de maneira au-

tomática adquire uma relevância considerável, visto que essa automação proporciona ao resultado

final uma qualidade mais satisfatória ao aumentar a precisão do modelo.

Além de contribuir com um modelo mais preciso, tal funcionalidade facilitaria a utilização da

ferramenta por indivíduos com dificuldades motoras. Outro benefício do processo automático é o

fato de dispensar o uso de hardware específico para entrada de informações gráficas.

Uma possível abordagem para a automação do processo é a utilização de contornos ativos a fim

de realizar a detecção automática de bordas dos objetos de interesse na imagem. O usuário deverá,

deste modo, definir um contorno próximo ao objeto da cena que, através do uso de contornos

ativos, será automaticamente ajustado de tal forma que coincida com a borda do objeto desejado.

1.3 Organização do texto

Este trabalho está estruturado em seis capítulos. O segundo capítulo conceitua algumas das

principais técnicas de modelagem baseada em imagens. O capítulo 3 aborda especificamente a

técnica híbrida de modelagem ao demonstrar a interface da ferramenta Canoma e os procedimen-

tos necessários para a criação de um modelo baseado em uma imagem bi-dimensional. O quarto

capítulo apresenta o conceito e alguns modelos de contornos ativos. No capítulo 5 é demonstrada

a metodologia de trabalho utilizada para a construção da ferramenta, abordando as técnicas empre-

gadas e discorrendo sobre a idéia proposta. Finalmente, o capítulo 6 apresenta alguns resultados

obtidos através da aplicação da técnica implementada.

2

CAPÍTULO

2

Modelagem Baseada em Imagens

A transformação de cenas reais em um modelo computacional tridimensional a partir de fo-

tografias, ou seja, a utilização de imagens para direcionar a reconstrução de modelos geométricos

tridimensionais com o potencial de simplificar a representação de cenas com alto grau de com-

plexidade, é denominado Modelagem baseada em Imagens (Image-based Modeling- IBM).

Recentemente, essas técnicas têm desfrutado de considerável atenção na comunidade de visu-

alização computacional em virtude da capacidade de criação de imagens bastante realistas. Um

dos seus maiores benefícios é a habilidade em capturar detalhes do mundo real (Foley, 2000).

As seções subseqüentes descreverão algumas técnicas de modelagem baseada em imagens,

discutindo seus princípios básicos, suas potencialidades, limitações e exemplos de aplicação. Para

isso, é utilizada a classificação apresentada por Oliveira (Oliveira, 2002), onde as técnicas de

modelagem baseada em imagens são divididas em puras e híbridas, segundo a quantidade de

informação geométrica utilizada para a reconstrução de modelos tridimensionais.

3

Modelagem Baseada em Imagens

2.1 Técnicas de modelagem baseada em imagens

Devido ao foto-realismo dos seus modelos, as técnicas de modelagem baseadas em imagens

(IBM) têm ganhado maior expressão. Essas técnicas apresentam a imagem como principal ele-

mento condutor do processo de reconstrução de modelos geométricos tridimensionais (Burschka

et al., 2003).

A figura 2.1 ilustra uma classificação das técnicas deIBM proposta por Debevec (Debevec,

1996). Nessa classificação, abordagens híbridas são definidas como a combinação de abordagens

baseada em imagem e baseada em geometria para modelar e renderizar arquiteturas a partir de

fotografias.

Figura 2.1: Classificação das técnicasIBM: abordagens baseada em geometria, híbrida e baseada em ima-gem (Debevec, 1996).

Enquanto a abordagem baseada em geometria delega maior responsabilidade ao usuário, a

abordagem baseada em imagem considera o computador o maior responsável pela tarefa. A abor-

dagem híbrida, segundo Debevec, divide a tarefa em dois estágios, um interativo e um automati-

zado, unindo as forças de usuário e computador a fim de produzir os melhores modelos possíveis

utilizando o menor número de fotografias.

4

Modelagem Baseada em Imagens

A tabela 2.1 ilustra uma outra possível classificação das técnicas deIBM existente na lite-

ratura, apresentada por Oliveira (Oliveira, 2002), onde as técnicas são posicionadas em um espec-

tro imagem-geometria e a classificação entre abordagens exclusivamente puras ou geométricas se

dá pela quantidade de informação geométrica requerida no processo de modelamento.

Imagens Híbridas Geometria<—————————————————————————————————>

Puras

•Métodos de projeção •Passeio pela imagem •Otimização não-linear•Coloração de Voxel

Tabela 2.1: Técnicas de modelagem baseadas em imagem no espectro imagem - geometria (adaptada de(Oliveira, 2002)).

Este trabalho adotará, para a descrição de algumas técnicas, a classificação sugerida por

Oliveira.

2.1.1 Técnicas puras

Muitas técnicas de modelagem baseada em imagens dão maior enfoque à reconstrução de

modelos arquitetônicos, como edifícios, catedrais, entre outros. Isso se deve à abundância de

superfícies planas e de linhas paralelas e perpendiculares que podem ser exploradas para tornar a

reconstrução consideravelmente mais simples.

As técnicas puras de modelagem baseadas em imagens reconstroem modelos arquitetônicos

diretamente do conjunto de imagens de entrada, em geral, fotografias.

Métodos de projeção

Essas técnicas exploram propriedades de projeção da cena para reconstruir modelos geométri-

cos diretamente de um conjunto de fotografias. A integridade desses modelos depende da super-

fície coberta pelas imagens. Segundo Oliveira (Oliveira, 2002), todas as abordagens de projeção

são restritas à reconstrução de superfícies planas devido à dificuldade de se reconstruir formas

5

Modelagem Baseada em Imagens

arbitrárias e à simplicidade de transformações de projeções planares.

Inicialmente, deve-se realizar a calibragem da câmera fotográfica, que determina a relação

espacial entre o mundo e a câmera com a qual é obtida a foto. Esse processo envolve, por exemplo,

cálculos de distância focal e de razão de aspecto, podendo ser feito através do uso de pontos de

fuga. Três pontos de fuga correspondentes a três conjuntos ortogonais de linhas paralelas fornecem

informação suficiente para a calibragem da câmera.

Após a calibragem, passa-se para a fase de criação do modelo 3D utilizando a fotografia como

imagem de fundo. No softwarePhoto3D(Apollo Software, 2004), um cursor tridimensional é

utilizado para encaixar e rotacionar recortes planos ao fundo da fotografia.

Figura 2.2: Utilização do softwarePhoto3Dpara o modelamento a partir de uma fotografia (Apollo Soft-ware, 2004).

Na figura 2.2, o cursor 3D consiste de quatro linhas e é dado pelo formato retangular em

destaque. Embora seja uma ferramenta simples, o uso de múltiplas imagens na construção de um

modelo pode provocar a ocorrência de erros. Como a construção é feita de forma incremental, se

a cada passo é introduzido um novo erro, o modelo resultante torna-se inconsistente.

Outro sistema que utiliza métodos de projeção sobre imagens fotográficas é oPhotoBuilder

(Cipolla et al., 1999). Nesse sistema, um modelowire-frameé reconstruído utilizando coordenadas

em três dimensões determinadas por triangulação. Para deixar o modelo mais realista, acrescenta-

se a textura oriunda das fotografias originais, conforme mostra a figura 2.3.

Após o desenvolvimento de um modelo simples da cena, é possível aumentar sua qualidade.

Isso pode ser feito automaticamente comparando-se a reconstrução e a textura mapeada no modelo

com a imagem original, a fim de determinar onde existem erros significativos no modelo.

Sistemas dessa natureza têm sido utilizados também na reconstrução de modelos de cenas

de crimes, de acidentes automobilísticos e de artefatos e sítios arqueológicos (figura 2.4). Um

6

Modelagem Baseada em Imagens

(a) (b) (c)

Figura 2.3: a) Modelo em triangulação doDowning College Library; b) modelo 3D com textura e c) suarepresentação VRML utilizando o softwarePhotoBuilder(Cipolla et al., 1999).

exemplo é oPhotoModeler(Eos System Inc., 2004), que é capaz de realizar, além da reconstrução

do modelo, cálculos de medidas.

(a) (b) (c)

Figura 2.4: Exemplos de utilização do softwarePhotoModeler: a) reconstrução de acidentes automobilísti-cos; b) reconstrução de crimes e c) documentação de sítios e artefatos históricos (Eos System Inc., 2004).

2.1.2 Técnicas híbridas

Ao contrário das técnicas puras, as técnicas híbridas de modelagem baseada em imagens geram

modelos arquitetônicos através da aplicação de alguns modelos geométricos para guiar o processo

de reconstrução.

A seguir, serão apresentadas algumas dessas técnicas.

7

Modelagem Baseada em Imagens

Passeio pela imagem (tour into the picture - TIP)

Considerada a mais simples das técnicas de modelagem baseada em imagens, aTIP gera, a

partir de uma única figura 2D, um modelo de cena extremamente simplificado consistindo apenas

de poucos polígonos mapeados com textura (Horry et al., 1997). A intenção não é construir um

modelo 3D preciso da cena, mas criar uma animação da cena sem a necessidade de múltiplas

fotografias.

O primeiroTIP, proposto por Horry (Horry et al., 1997), utiliza uma abordagem de modelagem

interativa denominada ‘spidery mesh’, devido à semelhança com uma teia de aranha.

Para criar um modelo, o usuário deve inicialmente, dividir a cena em objetos de primeiro

e segundo planos. Depois de removidos os objetos de primeiro plano, as lacunas deixadas na

imagem de segundo plano são preenchidas com as cores dospixelsvizinhos.

O usuário deve então especificar um ponto de fuga e uma região retangular na imagem, de-

vendo, em seguida, dividir essa imagem em, no máximo, cinco regiões (figura 2.5a). Uma dessas

regiões corresponde a um retângulo. Demais regiões são definidas por segmentos de linhas ra-

diais (spidery mesh), que se iniciam nas arestas do retângulo e estendem-se ao longo da direção

definida pelo ponto de fuga. Essas cinco regiões representam as faces de um paralelepípedo a

serem renderizadas como polígonos mapeados com textura (figura 2.5b).

(a) (b) (c)

Figura 2.5: Aplicação da técnicatour into the picturesobre a imagem de uma ruela: a) definição do pontode fuga, de uma região retangular e das linhas radiais que partem do ponto de fuga; b) imagem dividida em

cinco regiões e c) a imagem renderizada de um novo ponto de vista (Johnson, 2001).

8

Modelagem Baseada em Imagens

Recuperar as coordenadas 3D para os vértices dessas faces é simples, pelo fato de cada duas

faces adjacentes serem perpendiculares. Variando a posição e orientação de uma câmera virtual,

consegue-se obter novas cenas a partir da original com diferentes ângulos de visão (figura 2.5c).

Os objetos de primeiro plano são re-introduzidos na cena como uma série de polígonos mapeados

com textura, cujas posições 3D são calculadas em relação ao modelo de segundo plano.

Percebe-se que a nova cena transmite a sensação do usuário estar navegando pela mesma, daí

a técnicaTIP ser utilizada para criar animações do tipofly-througha partir de fotografias, sem

utilizar múltiplas imagens bi-dimensionais de uma cena.

Visando solucionar problemas inerentes doTIP – spidery mesh, tais como a difícil generali-

zação para outros tipos de imagens (panorâmicas, por exemplo) e a dificuldade em se definir um

ponto de fuga quando a cena possui mais de um ponto de fuga ou não possui um bem definido,

foi proposta uma nova abordagem para a técnicaTIP, baseada em linhas de fuga (vanishing lines)

(Kang et al., 2001) ao invés de ponto de fuga. Essa abordagem é considerada mais simples e mais

geral.

Figura 2.6: Ponto de fuga e linha de fuga (adaptada de (Kang et al., 2001)).

Na figura 2.6 as linhas paralelas A e B (no plano objeto) aparecem na imagem como A’ e B’,

cuja intersecção define o ponto de fuga. A linha de fuga, paralela ao plano objeto e paralela à A e

9

Modelagem Baseada em Imagens

à B, representa a intersecção do plano da imagem com o plano do horizonte. O horizonte visto em

uma paisagem, por exemplo, é uma linha de fuga formada pelas linhas paralelas no plano objeto.

A linha de fuga distingue a região na imagem que corresponde ao plano do objeto da região

correspondente ao espaço acima dele. Na figura 2.7a, os vértices de 1 a 4 representam os quatro

cantos da imagem, enquanto os vértices 5 e 6 representam a intersecção da linha de fuga com a

margem da imagem.

(a) (b)

(c)

Figura 2.7: a) Imagem 2D dividida em duas regiões pela linha de fuga; b) modelo 3D e c) coordenadas dosvértices.

Na figura 2.7c as coordenadas dos vértices 1’ a 6’ são computadas a partir dos vértices 1 a 6

(os vértices 2 e 4 coincidem com 2’ e 4’) para serem utilizados na construção do modelo da cena

(figura 2.7b) e para renderização.

10

Modelagem Baseada em Imagens

Abordagem de otimização não-linear (non-linear optimization approaches)

Debevec propôs uma abordagem híbrida de modelagem baseada em imagens, implementada

no sistemaFaçade(Debevec et al., 1996). Essa abordagem utiliza algoritmos de otimização não-

linear para reconstruir modelos tridimensionais texturizados de elementos arquitetônicos a partir

de um conjunto esparso de fotografias e possui dois componentes: um método de modelagem

fotogramétrico interativo (que recupera a geometria básica da cena explorando restrições que são

características da arquitetura) e um algoritmo estéreo baseado no modelo para realizar compara-

ções (que recupera o desvio entre a cena e o modelo básico). A renderização utiliza um mapea-

mento de textura dependente da localização da câmera, ou seja, do ponto de vista do observador.

Segundo Debevec (Debevec, 1996), a recuperação do modelo torna-se mais simples quando

as imagens são obtidas a partir de câmeras calibradas.

A posição da câmera no espaço, contudo, não precisa, necessariamente, ser conhecida. De

acordo com a fotogrametria, ou seja, a ciência e tecnologia de se obter informações confiáveis

através de imagens (Brito and Coelho, 2002), é matematicamente possível deduzir a localização de

pontos ou a posição original da câmera quando se tem um número suficiente de pontos observados

em múltiplas imagens.

Somente cinco parâmetros internos da câmera são relevantes para o método de modelagem

fotogramétrico:

• a coordenada x do centro de projeção,

• a coordenada y do centro de projeção,

• a distância focal,

• a razão de aspecto e

• o ângulo entre os eixos ópticos (normalmente 90o).

Para construir o modelo tridimensional de uma fotografia no sistemaFaçade, o usuário precisa

selecionar um pequeno número de fotografias, podendo refinar o modelo ao incluir mais imagens

11

Modelagem Baseada em Imagens

no projeto até que se encontre o nível de detalhe desejado. O usuário instancia os componentes

geométricos do modelo (figura 2.8b) sem fornecer qualquer tipo de valores numéricos, pois estes

são recuperados pelo próprio sistema. Em seguida, o usuário deve marcar margens na imagem

original (figura 2.8a) e fazer suas respectivas correspondências às margens do modelo. Quanto

maior o número de correspondências, mais precisa será a reconstrução.

(a) (b) (c) (d)

Figura 2.8: Reconstrução do modelo 3D da torre do relógio da Universidade de Berkeley utilizando a abor-dagem algorítmica não-linear do sistemaFaçade: a) imagem original com as margens definidas pelo usuário;b) modelo criado através de primitivas; c) projeção do modelo na fotografia e d) a imagem renderizada (De-

bevec, 2004).

O sistemaFaçadecalcula os tamanhos e posições relativas dos componentes do modelo que

melhor se encaixam nas margens marcadas na fotografia. A precisão do modelo é verificada

projetando-o na fotografia original (figura 2.8c). Finalmente, pode-se gerar uma nova visão do

modelo ao reposicionar uma câmera virtual (figura 2.8d) para uma posição ou altitude dificilmente

obtidas com uma câmera fotográfica.

A cena é representada por meio de blocos poliedrais cujos parâmetros definem seu tamanho

e forma. A escolha por blocos poliedrais deve-se ao fato de que a maioria das cenas arquitetôni-

cas pode ser melhor modelada combinando-se primitivas geométricas à presença de elementos

arquitetônicos comuns em cada bloco e à redução do número de parâmetros que o algoritmo de

12

Modelagem Baseada em Imagens

reconstrução precisa recuperar. A figura 2.8 é parametrizada por apenas 33 variáveis. Se cada seg-

mento de linha na cena fosse tratado independentemente, o modelo teria 2.896 parâmetros, uma

redução que realça a eficiência do método.

Essa abordagem, entretanto, não recuperava superfícies de revolução e arcos. Para modelar

uma superfície curva, o usuário deveria definir um bloco em formato de esfera e manualmente

ajustar sua largura e altura a fim de alinhá-lo com a fotografia. Uma posterior adição ao sistema

Façaderealizada por Borshukov (Borshukov, 1997) eliminou esse obstáculo.

O software Canoma (Capítulo 3) é inspirado na abordagem híbrida do sistemaFaçadede De-

bevec e, embora similares, possui uma interface mais amigável, onde as primitivas são sobrepostas

aos objetos e ajustadas à estrutura tridimensional da fotografia (Oliveira, 2002).

Coloração devoxel(voxel coloring)

O voxel coloring(Seitz and Dyer, 1997) é uma técnica que tem como objetivo determinar

cores paravoxelsem um volume 3D a fim de maximizar a integridade da fotografia a partir de

um conjunto de imagens calibradas, ou seja, visa reproduzir com precisão a imagem de entrada,

preservando cor, textura e resolução dopixel.

As vantagens dessa técnica advêm do fato de as oclusões serem explicitamente modeladas,

de sua relativa independência da geometria amostrada e da distância da câmera não degradar a

precisão ou o tempo de execução.

O algoritmo devoxel coloringdiscretiza a cena em um conjunto devoxelsque são percorridos

e coloridos em uma ordem especial. A cor dovoxelé computada uma única vez em uma ordem

que garanta concordância com a imagem, ou seja, a cor dopixel na imagem equivale à cor do

voxelcorrespondente aopixelna cena.

A figura 2.9 mostra ovoxel coloringcomputado de uma rotação completa de um dinossauro

de brinquedo. A figura 2.9b representa a reconstrução do objeto a partir de um ponto de vista

correspondente ao da imagem original (figura 2.9a) com o objetivo de demonstrar a integridade

com a qual a fotografia foi recuperada. Até mesmo detalhes, como o local onde se dá corda ao

brinquedo e os dedos das mãos, foram reconstruídos.

13

Modelagem Baseada em Imagens

(a) (b) (c)

Figura 2.9: Aplicação da técnicavoxel coloringem um dinossauro de brinquedo: a) imagem original; b) ec) duas visões do modelo reconstruído a partir de 21 fotografias do objeto (Seitz and Dyer, 1997).

A demanda de tempo de processamento e espaço de armazenamento é linearmente dependente

do número de imagens. Logo, com o aumento da taxa de amostragem, obtém-se uma melhora na

qualidade da imagem e, conseqüentemente, um aumento no tempo de execução.

2.2 Considerações finais

Este capítulo descreveu algumas técnicas baseadas em imagens para a reconstrução de mode-

los geométricos 3D. Seguindo uma classificação proposta na literatura, foram apresentadas as

principais técnicas puras e híbridas de modelagem baseada em imagens, tendo como objetivo

principal fornecer uma descrição dos métodos, focando seus aspectos fundamentais.

As técnicas puras utilizam técnicas de visão computacional para determinar a estrutura de uma

cena a partir de múltiplas fotografias, gerando alguns problemas inerentes: as fotografias precisam

ser muito semelhantes, com espaços muito próximos umas das outras e, em geral, são necessárias

várias entradas do usuário para a obtenção de resultados mais confiáveis.

Técnicas híbridas de modelagem, por sua vez, requerem um pequeno conjunto de fotografias

a partir do qual é extraído interativamente um modelo geométrico básico da cena fotografada

por meio de um simples e eficiente sistema de modelagem fotogramétrico. Os pares de imagens

podem ser espaçados uma vez que a técnica em questão recupera com precisão a profundidade das

imagens. Essas técnicas conseguem gerar grandes modelos arquiteturais com um número muito

14

Modelagem Baseada em Imagens

menor de fotografias do que as técnicas puras de modelagem.

Contudo, apesar dos grandes avanços obtidos com as técnicas deIBM, criar modelos comple-

tos de ambientes reais ainda é uma árdua tarefa. Em virtude disso, são fornecidos procedimentos

semi-automáticos para auxiliar os usuários na recuperação de informações, como geometria e tex-

tura, bem como para solucionar possíveis ambigüidades durante a reconstrução dos modelos.

O próximo capítulo descreve a interface da ferramenta Canoma, que utiliza uma técnica híbrida

de modelagem (algoritmo de otimização não-linear), através da demonstração de suas funcionali-

dades e procedimentos para modelagem.

15

CAPÍTULO

3

Canoma

Modelar cenas tridimensionais a partir de imagens bidimensionais não é uma tarefa fácil. A

correta estimativa de perspectiva, tamanho e forma dos objetos é um processo detalhista. Muitos

programas disponíveis atualmente visam facilitar essa tarefa, como é o caso do software Canoma

(Canoma, 2004; Stevens, 1999)1.

O Canoma utiliza uma abordagem algorítmica não-linear e permite a rápida criação de mode-

los 3D fotorealistas a partir de uma ou mais fotografias digitais. Os modelos são geometricamente

simples e utilizam, como fonte de textura, a própria imagem.

Este capítulo descreve o princípio básico do software e alguns recursos disponíveis em sua

interface.1Produto desenvolvido pela empresaMetaCreations Inc., adquirido pelaAdobe Systems Inc

16

Canoma

3.1 A ferramenta Canoma

A figura 3.1 apresenta a janela principal da ferramenta Canoma que possibilita modelar ima-

gens 2D em cenas tridimensionais que podem ser rotacionadas, ampliadas e exportadas para outros

aplicativos. Algumas possíveis utilidades dessa ferramenta são modelar móveis e dormitórios para

locação e venda através da Internet e visualizar possíveis reformas.

Figura 3.1: Interface do software Canoma: um conjunto de primitivas 3D são utilizadas na criação de ummodelo aproximado do ambiente real.

O software possui em sua palheta formas úteis de aramados (wire frames), tais como mesa,

arcos, telhados e escadas. O usuário deve primeiramente carregar a fotografia e, em seguida,

selecionar uma dessas formas geométricas, como mostra a figura 3.2a. Uma deficiência desse

sistema deve-se ao fato de não tratar facilmente superfícies curvas ou esferas. Ao tentar modelar

um domo, por exemplo, o programa ficará um pouco limitado.

17

Canoma

O ideal é iniciar o processo de modelagem pelos objetos maiores, pois os primeiros modelos

criados ajudam a determinar a posição da câmera e a perspectiva. Objetos maiores oferecem uma

maior definição, e uma perspectiva bem definida permite uma melhor operação. A perspectiva

pode também ser estabelecida através do uso de objetos temporários, que podem ser removidos

após a finalização do modelo, como por exemplo um plano de referência (figura 3.2d) indicando

as direções de fuga.

Posteriormente, o operador deve mover esse aramado a fim de alinhar e fixar os seus vértices e

faces com os respectivos vértices e faces visíveis do objeto (figuras 3.2b e c). Como o alinhamento

é feito manualmente, a qualidade do resultado depende da precisão do usuário.

Quando há mais objetos na cena, o usuário pode escolher se vai ou não modelá-los. Caso ele

opte por não modelar um objeto, este será projetado na cena como uma textura de outro objeto e

terá uma aparência ‘achatada’. Caso contrário, deve-se acrescentar novos aramados, correlacioná-

los e, quando possível, alinhá-los aos já existentes. Ao alinhar o telhado e as paredes de uma casa,

por exemplo, garante-se que o telhado está realmente posicionado acima das paredes.

Se existirem muitos objetos, o usuário pode selecionar a opçãosolomodee deixar visível

somente o objeto que estiver sendo modelado, minimizando, assim, a geração de erros.

O software disponibiliza, ainda, a ferramentaGlue, que une os vértices dos aramados a fim

de facilitar o movimento e o estabelecimento de novas correlações. A textura é adicionada ao

modelo diretamente da fotografia, porém, com uma única fotografia não é possível criar texturas

para partes ocultas da imagem.

Após a geração do modelo 3D (figura 3.2f), o usuário pode caminhar pela cena e observá-la de

distintos ângulos. Os modelos podem ser exportados em formatos comuns, incluindo DXF, WRL

e MetaStream.

3.2 Considerações finais

Foram abordados neste capítulo os fundamentos básicos da interface de uma das ferramen-

tas disponíveis atualmente que simplifica o processo de modelagem de uma cena 3D a partir de

18

Canoma

imagens 2D, denominada Canoma.

Pôde-se perceber que o Canoma possui uma quantidade razoável de recursos, tais como formas

úteis de aramados, e uma interface intuitiva e fácil de usar. No entanto, o posicionamento do

aramado sobre os objetos da cena, necessário para o modelamento 3D, depende completamente

de entradas fornecidas pelo usuário.

A proposta deste trabalho insere-se especificamente neste contexto: implementar mecanismos

que permitam diminuir o grau de dependência do usuário no posicionamento dos aramados sobre

os objetos através da automação desse processo, aumentando, assim, o grau de precisão do modelo.

O terceiro capítulo apresenta o conceito de contornos ativos, através da discussão de seus

modelos e de algumas técnicas existentes. Os contornos ativos constituem uma família de técnicas

destinadas a encontrar automaticamente contornos em objetos e foram escolhidos para solucionar

o problema descrito acima.

19

Canoma

(a) (b)

(c) (d)

(e) (f)

Figura 3.2: Passos para a modelagem no Canoma: a) escolha de uma primitiva 3D; b) e c) ajuste (matching)do aramado à geometria do objeto na cena; d) definição do plano de referência; e) e f) visualizações do

modelo.

20

CAPÍTULO

4

Contornos Ativos

Há muito percebe-se a necessidade do desenvolvimento de técnicas que sejam capazes de

automatizar o processo de detecção de objetos em imagens. Para tanto, algoritmos de segmentação

baseados em regiões, em bordas e em texturas são vastamente utilizados e considerados passos

fundamentais para a análise e identificação de características relevantes em uma imagem.

O modelo de Contornos Ativos (Active Contour), primeiramente proposto por Kass em 1987

(Kass et al., 1987), é um método de segmentação baseada em informações da região e, sobretudo,

das bordas, utilizado para localizar objetos e descrever sua forma.

Este capítulo apresenta inicialmente o modelo de contornos ativos, seus princípios, fundamen-

tos e conceitos. Aborda, em seguida, o modelo paramétrico tradicional (snakes), suas principais

características e deficiências. Em seguida, são apresentados modelos de contornos ativos alter-

nativos que minimizam tais deficiências. Trata, ainda, dos modelos geométricosLevel Sete Fast

Marching((Sethian, 2004)) e, finalmente, discorre sobre as razões da escolha pela implementação

de um modelo paramétrico.

21

Contornos Ativos

4.1 Conceito de contornos ativos

Utilizados para a detecção de contornos de objetos da cena e geralmente aplicados conjun-

tamente com técnicas de filtragem empregadas na detecção de pontos de bordas, os contornos

ativos utilizam curvas definidas sobre o domínio da imagem que podem mover-se, controladas por

ação de forças internas (intrínsecas à geometria da curva) e externas (derivadas da imagem), em

busca de uma posição de equilíbrio, ou seja, a localização do contorno da estrutura de interesse

(Pimentel, 2000; Machado et al., 2002). Na literatura, existem dois tipos principais de modelos de

contornos ativos: modelos paramétricos, como assnakes, e modelos geométricos, como oLevel

Sete oFast Marching.

O modelo paramétrico, abordado neste trabalho, representa curvas e superfícies explicitamente

na sua forma paramétrica permitindo, assim, a interação direta com o modelo, além de propor-

cionar uma representação mais compacta para sua implementação em tempo real.

Os modelos geométricos definem curvas que se movimentam de acordo com uma função ve-

locidade. Essa função pode depender de diversas grandezas físicas que, por sua vez, dependem de

características extraídas da imagem e de restrições geométricas da própria função. Uma vantagem

dessa abordagem é que o conjunto inicial não deve necessariamente ser uma única curva, mas um

conjunto de curvas independentes que podem se fundir para adaptar-se à topologia local.

4.1.1 Modelos paramétricos

Baseado em uma abordagem de funcional de energia, o modelo paramétrico consiste basica-

mente em uma curva (ou superfície) elástica que pode adequar-se dinamicamente às fronteiras

do objeto em resposta a ações de forças internas e externas. Esse modelo apresenta uma formu-

lação matemática que integra, em um único processo, parâmetros como propriedades da imagem,

estimativas iniciais de fronteiras, propriedades desejadas do contorno e restrições conhecidas do

tipo de imagem processada com o propósito de atrair a curva em direção a uma borda através de

iterações, ficando em equilíbrio sobre a mesma ao atingir o valor mínimo de energia do sistema.

Devido à maneira pela qual a curva original se move em direção a características desejadas da

22

Contornos Ativos

imagem (normalmente bordas), o modelo paramétrico original de contornos ativos é denominado

snakes.

Nesse modelo, a curva possui uma posição inicial especificada pelo usuário e uma função

objetiva associada, denominada energia dasnake.

Essa energia é composta pela energia inerente à própria curva (interna), como elasticidade e

rigidez, e pela energia do ambiente (externa), como forças de pressão. A evolução da posição

da snakeé dada pela solução de uma equação de minimização da sua energia, sendo que no

estado final, sua configuração não mais se altera, uma vez que qualquer movimento aumentaria

sua energia.

O modelo paramétricosnake

Primeiramente, devem ser definidos na imagem de entrada os pontos que compõem o contorno

inicial (figura 4.1). Esses pontos definem o vetorv(s) = (x(s),y(s)), ondex e y são conhecidos e

representam as coordenadas dos pontos do contorno.

Figura 4.1: Conjunto de pontos iniciais definidos pelo usuário na imagem original (Bianchi, 2003)

A curva inicial move-se no domínio espacial da imagem a fim de minimizar a função de energia

dada pela seguinte equação:

E =∫ 1

0

12(α| v′(s) |2 + β| v′′(s) |2) + Eext(v(s))ds (4.1)

O primeiro termo da equação 4.1 representa a energia interna dasnake. A constanteα controla

23

Contornos Ativos

a tensão dasnake, ou seja, determina quanto o contorno pode ser esticado ou contraído enquanto

β é responsável pela elasticidade e determina quais pontos podem ser ‘entortados’ para gerar

cantos. A derivada de primeira ordemv′, controlada porα, tende a valores altos quando uma

descontinuidade é encontrada na curva, enquanto a derivada de segunda ordemv”, controlada por

β, tende a altos valores conforme a curva se ‘dobra’. O usuário pode guiar o contorno para uma

característica conhecida na imagem, ajustando, a cada processo, os valores deα eβ. Portanto, se

estima-se a existência de um canto,β deve tender a zero.

O segundo termo representa a energia externa, ou seja, a energia que atrai asnakepara os

contornos da estrutura de interesse na imagem, sendo que o termoEext deriva da imagem e tem

seu menor valor em regiões de borda (contornos), devendo, portanto, ser baixa onde o gradiente

for alto. Desta forma, dada uma imagem em tons de cinza, a energia externa pode ser obtida com

a aplicação de um filtro passa alta qualquer.

O filtro passa alta é aplicado com o intuito de reduzir o nível de ruído encontrado na imagem

original e aumentar o contraste na imagem, realçando o contorno e melhorando o alcance de

captura dasnake.

A fim de minimizar a energia E representada na equação 4.1, asnakedeve satisfazer a seguinte

equação de Euler:

αv′′(s)− βv′′′′(s)−∇Eext = 0 (4.2)

Um resultado para a equação acima pode ser encontrada ao solucionar-se o sistema discreto

iterativamente. A cada iteração são calculadas a energia para cada pontov(si) da curva e a energia

para os seus pontos vizinhos, como mostra a figura 4.2. Assim, o ponto que possuir a menor

energia será escolhido como nova posição para o pontov(si).

Quando qualquer movimento aumenta o valor da equação de energia, asnakese estabiliza e

seu formato não mais se altera.

24

Contornos Ativos

Figura 4.2: Pontov(si) e seus vizinhos (vizinhança 3x3): a energia é calculada para cada pontonj , onde jvaria de 1 a 9.

Adições ao modelo original

Apesar da simplicidade do modelo e de sua formulação matemática ser bastante intuitiva,

alguns problemas limitam o uso dasnake.

Em primeiro lugar, o contorno inicial, definido manualmente pelo usuário, deve ser similar e

estar relativamente próximo da fronteira real para garantir a convergência correta, caso contrário,

ruídos presentes no interior do objeto atrairão asnakepara seus mínimos locais, gerando, assim,

falsas bordas. A razão para a fraca convergência é revelada ao observar a figura 4.3a, onde a

magnitude das forças externas é pequena, limitando o alcance de captura.

A fim de solucionar esse problema e melhorar a performance do algoritmo algumas sugestões

foram propostas, dentre elas destacam-se aplicação de forças de pressão (Cohen, 1991), métodos

de multiresolução (Leroy et al., 1996) e potenciais de distância (Cohen and Cohen, 1993). A

idéia básica desses métodos é aumentar o alcance de atração dos campos de energia externa e

corretamente direcionar asnakepara a fronteira real (figura 4.3b).

Entretanto, embora aumentem a magnitude dos vetores, essas propostas não são capazes de

solucionar um segundo problema: a dificuldade de convergência em geometrias côncavas. Esse

fato pode ser explicado recorrendo-se à figura 4.4a, onde pode ser observado que, apesar de

apontarem em direção ao objeto, na concavidade os vetores apontam horizontalmente em direções

opostas. Não havia nenhum método que fornecesse uma solução satisfatória, pois as abordagens

até então propostas, tais como forças de pressão ou a utilização de pontos de controle (Davatzikos

25

Contornos Ativos

(a)

(b)

Figura 4.3: a) Campo vetorial do modelo tradicional desnakee b) do modelo de potenciais de distância.

26

Contornos Ativos

(a) (b)

Figura 4.4: Comportamento dos vetores em uma região côncava usando em a) o modelo de potenciais dedistância e b) o modelo.

and Prince, 1995), solucionavam um problema, porém criavam uma nova dificuldade.

A solução para a fraca convergência em regiões côncavas foi somente apresentada em 1998

pelo modeloGradient Vector Flow(GFV), proposto por Xu e Prince. O comportamento dos

vetores do campoGVF, apontando em direção à região côncava do objeto, é ilustrado na figura

4.4b.

Finalmente, outro empecilho presente no modelo original pode ser descrito como a incapaci-

dade de lidar com mudanças topológicas, limitando a segmentação de objetos de múltiplos con-

tornos, com buracos ou ramificações. O modeloT-Snakes(Topologically Adaptable Snakes), intro-

duzido por McInerney e Terzopoulos (1999), elimina esse problema, permitindo que asnakeseja

dividida para criar múltiplos contornos ou fundindo vários contornos em um só (split emerge).

Alguns dos modelos citados serão apresentados nas seções subseqüentes.

O modeloBaloon

Proposto para solucionar o problema referente à inicialização do contorno, o modeloballoon

tem como idéia principal o acréscimo de uma componente de força normal ao vetor de forças

27

Contornos Ativos

externas a fim de promover um crescimento ou encolhimento uniforme da curva, de acordo com o

sentido e módulo dessa força. Dessa forma, o segundo termo da equação 4.1 que antes se referia

somente à imagem, passa a ser dado pela equação 4.3:

Eext(v(s)) = k1−→n (v(s))− k2 −

Egradiente(v(s))‖Egradiente(v(s))‖

(4.3)

onde−→n é um vetor unitário normal à curva no pontov(s) e k1 é a amplitude dessa força. O

desenvolvimento completo desta técnica pode ser encontrado em (Cohen and Cohen, 1993).

Mesmo com uma estrutura inicial definida distante do contorno desejado, através da utilização

de forças de pressão, o modeloballoon converge para o resultado esperado, como ilustrado na

figura 4.5.

(a) (b) (c)

Figura 4.5: O modeloballoon: a) snakecom dimensão menor que a da estrutura e posição inicial distantedos contornos; b) sua posição após 100 iterações e c) sua posição após 500 iterações (Pimentel, 2000).

Esse novo modelo aumenta o alcance de captura dasnake, mas requer uma prévia definição de

sua evolução, ou seja, o contorno deve ser iniciado para crescer ou encolher.

O modeloGradient Vector Flow- GVF

Um novo campo de força estática denominadoGVF (Xu and Prince, 1998) aponta em direção

às bordas dos objetos quando próximo a elas, variando suavemente sobre regiões homogêneas e

extendendo-se até a fronteira da imagem (figura 4.6).

Primeiramente, é definido um mapa de arestasf(x, y) qualquer (binário ou em nível de cinza)

derivado da imagemI(x, y) (Xu and Prince, 1997).

28

Contornos Ativos

Figura 4.6: Campo doGVF para um objeto concâvo em forma de U: os vetores atraem o contorno emdireção à borda do objeto (Xu and Prince, 2004).

f(x, y) = −∇Eext(x, y) (4.4)

Convém ressaltar três importantes propriedades dos mapas de arestas. Primeiro, o campo∇f

tem os vetores apontando em direção às bordas. Segundo, esses vetores geralmente têm uma maior

magnitude na vizinhança imediata das bordas. E terceiro, em regiões homogêneas, ondeI(x, y) é

constante,∇f é zero.

O algoritmo dogradient vector flowé computado como a difusão do vetor gradiente sobre o

mapa de arestas derivado da imagem, não sendo alterado durante a evolução dasnake.

Sendoµ correspondente à quantidade de ruído presente na imagem, oGVF é definido como o

campo de vetoresv(x, y) = [u(x, y), v(x, y)] que minimiza a equação:

E =∫ ∫

µ(u2x + u2

y + v2x + v2

y) + |∇f |2|v −∇f |2dxdy (4.5)

29

Contornos Ativos

Quando∇f é pequeno, a energia é denominada pela soma dos quadrados das derivadas par-

ciais do campo de vetor, forçando o campo a variar suavemente em regiões homogêneas (onde

I(x, y) é constante) através de interpolação do campoGVF na região próxima da borda, criando,

assim, um efeito suave onde não há dados.

O campoGVF é então normalizado entre [0,1], podendo, assim, dar início ao processo de

deformação dasnake, quando o conjunto de pontos definidos pelo usuário será interpolado para

formar a curva inicial que será ajustada até que o contorno do objeto na cena seja encontrado.

Os parâmetrosα (elasticidade),β (rigidez),γ (viscosidade) eκ (peso forca externa), forneci-

dos pelo usuário, formam a matriz pentadiagonal Anxm (n representa as linhas da imagem e m, as

colunas), conforme abaixo:

Dado:

a=β

b= -α - 4 β

c= 2α + 6 β

d= -α - 4 β

e=β

A =

c d e a . . .

b c d e . . .

a b c d . . .

e a b c . . ....

......

......

Através de decomposição LU (método de Crout com pivotamento parcial) calcula-se a inversa

da matriz A. Quando o determinante for diferente de zero, a matriz A pode ser decomposta no

produto A=LU, onde L é uma matriz triangular inferior e U é uma matriz triangular superior cujos

elementos da diagonal possuem valores fixos (Uii=1). A associação a um processo de pivotamento

parcial (troca de colunas) evita pivôs nulos e é essencial para a estabilidade do método (Press et al.,

1986).

30

Contornos Ativos

As equações 4.6 e 4.7 fornecem as novas posições de x e y.

x = inv(A) ∗ (γ ∗ x + κ ∗ vfx) (4.6)

y = inv(A) ∗ (γ ∗ y + κ ∗ vfy) (4.7)

Dentre as vantagens desse modelo sobre o tradicional, devem ser mencionadas:

• uma menor dependência da posição inicial, obtida ao ampliar-se a magnitude dos vetores,

extendendo-os a toda a imagem;

• a habilidade de mover-se em regiões côncavas. Pode ser observado na figura 4.3c que os

vetores não mais apontam horizontalmente no interior da região côncava (figura 4.3b), mas

para baixo (no exterior da figura) e para cima (internamente);

• não é necessário conhecimento prévio sobre a evolução da curva (figura 4.7) (Xu and Prince,

2000) .

O modeloGVF pode ser facilmente estendido para o caso 3D. A figura 4.8 utiliza superfícies

deformáveisGVF em uma imagem 3D. A figura 4.8a ilustra o objeto a ser reconstruído. O campo

GVFé computado e resulta em dois planos (figura 4.8b) onde é, posteriormente, projetado (figuras

4.8c e 4.8d).

A superfície deformável é inicializada como uma esfera (4.8e). Nas figuras 4.8f, 4.8g e 4.8h

observam-se respectivamente os resultados parciais após 10 e 40 iterações e o resultado final após

100 iterações. A superfície resultante é mais suave do que a superfície original devido à ação de

forças internas.

31

Contornos Ativos

(a) (b)

Figura 4.7: Segmentação de imagem de ressonância magnética utilizando o modeloGVF: a) snakeinicial-izada externamente à estrutura e b) sua posição final (Pimentel, 2000).

Figura 4.8: Aplicação do modeloGVF em objeto tridimensional: a) isosuperfície de um objeto 3D; b)posição dos planos A e B; c) e d) projeções da superfície nos respectivos planos; e) configuração inicialda superfície deformável usandoGVF; f) posição da superfície após 10; g) 40 e h) 100 iterações (Xu and

Prince, 2000).

O modeloT-Snakes

Dentre as abordagens existentes para tratar as limitações topológicas do modelo tradicional,

destaca-se oT-snakes(McInerney and Terzopoulos, 1999) que, independentemente da inicializa-32

Contornos Ativos

ção do contorno (interno ou externo à estrutura), gera resultados semelhantes.

Esse modelo possui três componentes: triangulação da imagem (figura 4.9), um modelosnake

discreto (responsável pela evolução dos pontos em direção à borda de interesse) e uma função

característica.

Figura 4.9: Malha resultante de decomposição simplicial (triangulação) do domínio.

Segundo este modelo, umasnakeé definida como um conjunto de N pontos conectados cuja

posição varia no tempo. A cada ponto (snaxels) estão associadas, além de uma posição, uma força

de tensão, uma força de rigidez, uma força normal e uma força externa. A equação doT-snakes,

aplicada a cadasnaxeldurante as iterações, é uma combinação dessas forças.

A função característica atribui o símbolo + (ou o valor 1) aos vértices dos triângulos já visita-

dos (figura 4.10) e que, portanto, não poderão ser atingidos novamente, evitando, assim, problemas

de oscilação dasnake.

Figura 4.10: Comportamento da função característica: a atribuição de símbolos aos vértices é dependenteda evolução pré-definida dasnake.

33

Contornos Ativos

O modeloT-snakesrequer uma definição prévia sobre o comportamento da curva (se irá ex-

pandir ou contrair). Deste modo, os nós internos ou externos ao contorno são definidos como

‘queimados’ (pequenos círculos sobre os vértices na figura 4.11). A cada passo da evolução, a

função característica é atualizada e uma vez queimado, o nó permanece nesse estado. Quando

todos os pontos da malha possuem valor 0 ou 1, determinam-se os triângulos de borda (triângulos

onde a função característica muda de valor).

Figura 4.11: Projeção dos pontos do contorno inicial na grade: nós externos definidos como ‘queimados’após prévia definição da evolução dasnake.

Na figura 4.12 vemos um exemplo de execução desse modelo. Primeiramente, o usuário in-

forma os pontos iniciais e, então, os nós da grade externos ao contorno são queimados (figura

4.12a). Em seguida, vê-se asnakemomentos antes da mudança topológica (figura 4.12b) e, por

fim, o estado final dasnakecom os objetos detectados (figura 4.12c). O que seleciona os objetos

não é exatamente asnake, mas as regiões da grade onde os nós não foram queimados, embora

essas regiões sejam selecionadas através da trajetória dasnake.

Esse método possui algumas limitações como a restrição à evolução devido à irreversibilidade

dos valores nos vértices, limitando asnake, como já dito anteriormente, a contrair-se ou expandir-

se. Além disso, se o objeto de interesse possui concavidades profundas, a resolução da malha deve

ser suficiente para que a snake se acomode à borda desejada, evitando problemas de performance.

Dentre as vantagens pode-se citar a sua generalidade (que permite tanto agrupamento quanto

particionamento da snake) e a possibilidade de ser facilmente estendido para superfícies, uma vez

34

Contornos Ativos

(a) (b) (c)

Figura 4.12: Exemplo da evolução dasnakedescrita em 3 momentos: a) inicial; b) intermediária e c) final(Machado et al., 2002).

que seus elementos básicos (triangulação, reparametrização, função característica) são eficiente-

mente estendíveis ao caso 3D ((McInerney, 1997)apud(Giraldi et al., 2004)).

4.1.2 Modelos geométricos

A maioria das técnicas numéricas utiliza marcadores que tentam rastrear o movimento do

contorno ao comportarem-se como bóias presas por uma corda que se movem a uma velocidade F.

Quando essas bóias se cruzam ou o contorno tenta se dividir, é muito difícil manter sua organização

(Sethian, 1987).

Os modelos geométricos, ao invés de seguirem a evolução do contorno em si, definem uma

curva que se move de acordo com uma função velocidade F (equação 4.8) a fim de rastrear a

evolução da superfície.

F = F (L,G, I) (4.8)

onde, L corresponde às propriedades locais (direção normal e curvatura), G às propriedades

35

Contornos Ativos

globais dependentes da posição e forma da curva e I representa o gradiente de tons de cinza.

Os dois métodos existentes distinguem-se quanto à função velocidade possuir características

monótonas ou não. Se a curva é representada como nível zero de uma função de dimensão maior,

tal que o movimento da curva esteja ‘embutido’ no movimento da nova função, o método é de-

nominadolevel set. Porém, se a função velocidade apresenta sempre valores positivos (fazendo

com que a curva sempre se propague para fora) ou negativos (a curva se propaga para dentro), o

método é denominadofast marching.

As principais vantagens desses modelos são a capacidade de gerar cantos e lidar com mudanças

topológicas.

O modeloLevel Set

Introduzido por Osher e Sethian (1988), o modelolevel setfoi desenvolvido para tratar pro-

blemas onde a função velocidade varia, logo ela pode ser positiva em alguns lugares e negativa em

outros, ou seja, o contorno pode tanto avançar como recuar.

Suponha uma curva que separa duas regiões (figura 4.13) e uma função velocidade F, depen-

dente de vários efeitos físicos, que diz como mover cada ponto da imagem. Imagine que a região

interna à curva seja composta de gelo e a região externa, de água. Se o gelo derreter a região

interna diminui e se o gelo congelar, ela aumenta. A velocidade dependerá, portanto, da diferença

de temperatura entre as duas regiões.

Figura 4.13: Curva inicial em preto separando a imagem em duas regiões.

Ao invés de seguir a evolução do contorno em si, essa abordagem constrói, a partir da curva

36

Contornos Ativos

original (figura 4.14a), uma função de maior dimensão, denominadalevel set(conjunto de níveis),

que intercepta o plano xy exatamente na posição da curva (figura 4.14b), ou seja, a curva é repre-

sentada pelo nével zero dessa função.

Figura 4.14: A frente propagante e a funçãolevel set: a snakeé definida pela intersecção da superfíciebi-dimensional com o plano xy (Sethian, 2004).

Essa função aceita como entrada qualquer ponto no plano e, como saída, devolve a altura desse

ponto. A curva inicial é denominada nível zero já que seus pontos encontram-se na altura zero.

A evolução da snake está vinculada à evolução da superfície (e vice-versa). Ao contrário de

mover o contorno, move-se a superfície em forma de cone (figura 4.14b), ou seja, a funçãolevel set

expande, sobe ou desce. Enquanto a curva pode entortar-se, a função é bem comportada, lidando

naturalmente com mudanças topológicas (figura 4.15).

O modeloFast Marching

Outro modelo geométrico, também proposto por Sethian, é denominadofast marching. Ele

foi desenvolvido para tratar problemas onde o sinal da função velocidade nunca muda, portanto o

contorno ou se expande ou se retrai.

Suponha, agora, uma curva que separa duas regiões (figura 4.13) e uma função velocidade F>0

que diz como mover cada ponto da imagem. Imagine que a região interna à curva seja composta de

ácido que corrói a região externa. A velocidade da corrosão dependerá da resistência do material ao

ácido: partes mais resistentes do material a diminuem, enquanto partes mais corrosivas a aceleram.

37

Contornos Ativos

Figura 4.15: Split e Merge: o contorno inicial é formado por duas curvas que se unem conforme crescem(Sethian, 2004).

Ao invés de seguir a evolução do contorno em si, como a maioria das técnicas numéricas, o

fast marchingutiliza uma abordagem fixa, já que cada ponto será atravessado somente uma vez.

Figura 4.16: Contorno projetado em uma malha: cada vértice armazena o tempo T em que foi atingido pelafrente propagante.

Para cada ponto T da malha (figura 4.16) a função T(x,y) fornece o tempo em que cada

ponto(x,y) foi atingido. A partir dessa função constrói-se uma superfície (figura 4.17) que fornece

o tempo de chegada.

As vantagens desse modelo advém do fato do comportamento da função não depender da

forma adquirida pelo contorno (assim como nolevel set) e da rapidez do cálculo da posição do

contorno para um determinado instante.

38

Contornos Ativos

Figura 4.17: A Superfície de Tempo de Chegada, fornecida pela função T(x,y), intercepta o plano xyexatamente onde inicia-se a curva (Sethian, 2004).

4.2 Considerações finais

Neste capítulo foram apresentados conceitos relacionados a contornos ativos além de alguns

modelos existentes utilizados em segmentação de imagens. Tais modelos dividem-se basicamente

em dois grupos: paramétricos (representação explícita do contorno) e geométricos (representação

implícita do contorno através de uma curva de nível zero de uma função de maior dimensão).

Ambos os modelos dependem, respectivamente, da definição de um termo de energia externa e

de uma função velocidade para que o contorno converja para as bordas das estruturas de interesse

na imagem.

Embora os modelos geométricos admitam mudanças topológicas no contorno e formação de

cantos, alguns modelos paramétricos procuram minimizar esse tipo de problema. Portanto, na

prática, ambos podem ser explorados.

Além das habilidades topológicas, os métodos geométricos possuem boa estabilidade e fácil

extensão para superfícies bi-dimensionais. Entretanto, o uso de uma dimensão extra torna este

método pouco intuitivo, dificultando a incorporação de informações adicionais (de forma, por

exemplo) ou vínculos (como pontos atratores) e a interação com o usuário (Giraldi et al., 2004).

Por outro lado, a representação explícita de uma curva fechada que evolui ao longo do tempo

39

Contornos Ativos

a fim de minimizar uma função de energia dependente de fatores externos é bastante intuitiva,

tornando os modelos paramétricos bem mais simples que os geométricos tanto quanto à represen-

tação do contorno, quanto à sua implementação, embora sua formulação original apresente alguns

problemas e careça de ferramentas para solucioná-los.

Vale destacar que ainda não existe um método robusto o suficiente que garanta resultados

precisos para qualquer configuração de imagem (Pimentel, 2000). A correta convergência do

contorno em ambos os casos, além de ser muito dependente da qualidade da imagem e do nível de

ruído apresentado, depende também de sua inicialização, podendo fazer com que o processo seja

repetido diversas vezes até que o resultado encontrado satisfaça o usuário.

Devido à convergência em superfícies côncavas, à autonomia quanto à inicialização do con-

torno (contração ou expansão) e ao fato de que não será necessário tratar mudanças topológicas,

o modelo desnakeescolhido como ponto de partida para a implementação será oGVF - Gradient

Vector Flow.

40

CAPÍTULO

5

Descrição do Método

Este projeto de pesquisa propõe a implementação de um mecanismo automatizado de so-

breposição e posicionamento de primitivas gráficas sobre objetos presentes em cena com o ob-

jetivo de aumentar a precisão e minimizar a dependência do usuário nas ferramentas de mode-

lagem baseada em imagens. Para o desenvolvimento deste trabalho, o projeto foi dividido em

duas etapas, conforme ilustrado na figura 5.1.

Figura 5.1: Framework do projeto: a) contorno inicial definido pelo usuário; b) contorno externo do objetoidentificado após aplicação da técnica de contornos ativos e c) localização dos vértices.

A primeira etapa consiste na identificação do contorno do objeto de interesse na cena por meio

41

Descrição do Método

Figura 5.2: Snake: obtenção do contorno do objeto de interesse. a) Imagem original a partir da qual gera-seo mapa de arestas que será utilizado para o cálculo de b), o campoGVF. Em c) o contorno externo do objeto

identificado após aplicação do contorno ativo.

do modeloGVF de contornos ativos (subseção 4.1.1). De posse dos resultados e de informações

geométricas do objeto de interesse, inicia-se a segunda etapa, cuja finalidade é identificar todos os

vértices do objeto.

Nas seções seguintes, serão descritos os procedimentos e técnicas utilizados na execução das

etapas acima mencionadas.

5.1 Identificação do contorno

No modelo tradicional desnakes, o campo de força do mapa de arestas fica restrito, princi-

palmente, às áreas próximas às regiões de bordas. Como visto anteriormente, o modeloGVF visa

expandir esse campo para toda a imagem, aumentando o poder de captura dasnake. A figura 5.2

ilustra o processo de obtenção do contorno do objeto.

Inicialmente, por meio da aplicação de um filtro passa-alta sobre a imagem original, gera-se

o mapa de arestas que será utilizado durante o cálculo do novo campo de força. De acordo com

a imagem manipulada, o usuário deve selecionar o filtro adequado entre os três filtros disponíveis

na interface, a fim de realçar as bordas, antes de iniciar asnake.

42

Descrição do Método

(a) (b) (c)

Figura 5.3: Máscaras do operador de Sobel utilizadas para detectar a derivada de primeira ordem a)nahorizontal (Gx) e b)na vertical (Gy); c)filtro Laplaciano de vizinhança 4.

O filtro passa-alta aumenta o contraste na imagem ao atenuar as baixas freqüências e ressaltar

as altas freqüências, normalmente expressas por bordas ou limites entre áreas de diferentes va-

lores de níveis de cinza (Gonzales, 1987). Foram implementados os filtros Sobel, Laplaciano e o

Gradiente da Derivada Direcional Integrada (GDDI) (Zuniga and Haralick, 1987).

O operador de Sobel é um filtro não-linear, computado a partir da primeira derivada, para

realçar bordas, por meio da convolução de duas máscaras 3x3, Gx e Gy (figura 5.3a e 5.3b), sobre

a imagem original. O filtro Laplaciano é um operador diferencial de segunda ordem que utiliza

uma máscara com um alto valor central, cercado de valores negativos na direção N-S e E-W e

valor zero para os pesos da máscara, conforme figura 5.3c. Um problema decorrente do uso da

segunda derivada é a sensibilidade a ruídos.

O terceiro filtro, GDDI, utiliza uma máscara 7x7 (figura 5.4), cujos coeficientes representam

a forma paramétrica de um polinômio cúbico. Segundo Haralick (Zuniga and Haralick, 1987),

o filtro apresenta resultados superiores quando comparados aos filtros tradicionais para imagens

com alto nível de ruído, além da localização e estimativas mais precisas sobre a orientação das

arestas.

Para imagens binárias, que apresentam somente o contorno do objeto, como um aramado, o

uso do filtro é desnecessário, bastando somente normalizar o mapa de arestasf , a fim de que varie

entre 0 e 1, de acordo com a equação 5.1.

f = 1− I/MAX (5.1)

43

Descrição do Método

Figura 5.4: Máscara do operador GDDI com vizinhança 7x7.

Gerado o mapa de arestas, segue-se para uma nova etapa onde, iterativamente, computa-se o

GVF, gerando o novo campo de força ilustrado na figura 5.5.

Após a normalização do campoGVF, inicia-se o processo de deformação da curva (contorno

ativo). Nesse momento, o usuário deve definir ao menos três pontos que serão interpolados para

formar a curva inicial que será ajustada a fim de encontrar o contorno do objeto na cena.

Anteriormente, foi mencionado que, para oGVF-snakes, um prévio conhecimento sobre a

evolução do contorno é dispensável, ou seja, não é necessário saber se o contorno deve expandir-

se ou contrair-se. Sendo assim, o conjunto de pontos é dinamicamente interpolado durante a

evolução dasnakede tal forma que obedeça uma distância pré-estabelecida. Essa característica

oferece ao usuário a possibilidade de definir um contorno aleatório, tanto internamente como do

lado externo do objeto.

Ao final do processo de evolução dasnake, as coordenadas de cada ponto do contorno encon-

trado são armazenadas em uma estrutura de dados. Dado que a curva convergiu corretamente para

a borda do objeto, essas coordenadas (que representam o contorno do objeto) são aplicadas sobre

o mapa de arestas a fim de obter o valor da média e do desvio padrão desses pontos para que,

posteriormente, os vértices do objeto possam ser calculados, como será elucidado a seguir.

44

Descrição do Método

Figura 5.5: Campo de força após aplicação doGVF.

5.2 Detecção dos vértices

Conforme a figura 5.6, que representa a figura geométrica de um cubo, o processo de detecção

dos vértices subdivide-se em duas etapas. Primeiramente são computados os vértices visíveis (1,

2, 3, 4, 5, 6 e 7), ou seja, os vértices localizados na parte frontal do objeto na cena e que, portanto,

podem ser visualizados na imagem. A partir de suas coordenadas, estima-se a localização dos

vértices ocultos (vértice 8). O método utilizado durante essas etapas será descrito nas subseções

5.2.1 e 5.2.2, respectivamente.

5.2.1 Vértices visíveis

Dada a média e o desvio padrão anteriormente obtidos, computados a partir do contorno final,

inicia-se o processo de detecção dos vértices. Nesta etapa, objetiva-se encontrar o maior número

possível de vértices visíveis do objeto.

Para alcançar tal objetivo, o mapa de arestas é percorrido e os pontos cujos valores pertençam

ao intervalo previamente calculado são identificados como possíveis vértices. Observa-se que,

potencialmente, todos os pontos do contorno são vértices, já que os mesmos satisfazem essa pre-

45

Descrição do Método

Figura 5.6: Processo de detecção dos vértices: a) o contorno encontrado pelasnakes; b) detecção dosvértices visíveis (1, 2, 3, 4, 5, 6 e 7) e c) vértice oculto (8) estimado a partir das coordenadas dos vértices

visíveis.

missa. Se um ponto é candidato a vértice, dá-se início ao processo de seleção.

Para isso, faz-se mister que o usuário defina, através da interface, três parâmetros essenciais

para o prosseguimento do cálculo. São eles:

• amostragem de pontos - define quantos pontos consecutivos serão analisados em conjunto;

• variação angular - define quão refinada será a busca para cada vértice candidato;

• correspondência dos pontos - define, percentualmente, quantos pontos da amostragem de-

vem, necessariamente, satisfazer a condição de pertencer ao intervalo calculado a partir da

média do contorno final.

O valor desses parâmetros varia de acordo com a geometria do objeto, suas angulações e

proporções, sendo que, um bom resultado dependerá de uma análise adequada.

Na figura 5.7a, por exemplo, foi criado um vetor de dez elementos, posto que foi definida

pelo usuário uma amostragem de 10 pontos. Mantendo-se o vértice candidato como seu primeiro

elemento, o vetor é rotacionado360o no sentido anti-horário a partir da origem (eixo x) de acordo

com a variação angular informada que, neste exemplo, é de15o (figura 5.7b). Logo, para esse

46

Descrição do Método

(a)

(b)

Figura 5.7: Processo de seleção de um vértice candidato para: a) uma amostragem de 10 pontos e b) umavariação angular de15o.

caso, cada vértice candidato será analisado em 24 angulações diferentes, partindo do ângulo0o,

variando de 15 em 15 graus, até atingir uma rotação completa (360o).

Ao rotacionar o vetor em torno do vértice candidato busca-se por segmentos de reta que partam

47

Descrição do Método

Figura 5.8: Processo de seleção de um vértice candidato localizado fora da extremidade da reta.

desse ponto. Para que isso aconteça os valores dos 10 elementos1 do vetor no mapa de arestas

também devem pertencer ao intervalo calculado anteriormente, ou seja, devem fazer parte do

contorno do objeto.

Sempre que um segmento de reta é encontrado, o ângulo em relação à origem é armazenado.

É importante observar que o ângulo cujo complementar já tenha sido anteriormente armazenado

será desconsiderado. Portanto, um vértice candidato localizado num ponto intermediário da reta

(figura 5.8) não será considerado vértice, visto que ao detectar-se um segmento de reta para o

ângulo180o, por exemplo, este não será armazenado, pois o seu complementar já foi previamente

encontrado.

Ao final da rotação, se o vértice candidato possuir mais de um ângulo não consecutivo ar-

mazenado, ele é classificado como um vértice do objeto.

Quando o mapa de arestas houver sido totalmente percorrido e o maior número possível de

vértices visíveis na imagem houver sido localizado, pode-se, então, prosseguir para a próxima

etapa, o cálculo dos vértices ocultos.

1O terceiro parâmetro que o usuário deve definir (correspondência dos pontos), conforme explicitado, irá representarquantos destes pontos devem realmente satisfazer essa condição.

48

Descrição do Método

5.2.2 Vértices ocultos

Conhecendo-se a localização dos vértices visíveis, o próximo passo é encontrar os vértices

localizados na face oculta do objeto e que, portanto, não são visíveis na imagem.

Para realizar essa tarefa, é necessário ter-se um conhecimento prévio da geometria do objeto

em questão. O usuário deve, portanto, optar pela forma geométrica mais adequada, ou seja, que

mais se assemelhe ao objeto. A partir dessa definição, sabe-se quantos vértices o objeto possui,

logo, sabe-se quantos vértices ainda restam ser identificados. As formas disponibilizadas, cubo,

pirâmide de base triangular e pirâmide de base quadrangular, foram baseadas nos objetos apresen-

tados na interface da ferramenta Canoma (capítulo 3).

Dada a média calculada a partir dos pontos do contorno dasnake, calcula-se, no mapa de

arestas, a existência de segmentos de retas que conecte cada par de vértices visíveis localizados na

etapa anterior (seção 5.2.1). Nesse instante, é criada uma lista de adjacências (semelhante a teoria

de grafos) que armazenará as conexões encontradas. A lista de adjacências comporta-se como um

grafo não direcionado e conectado, onde os nós representam os vértices da figura geométrica e

cada conexão representa uma aresta do objeto.

Uma segunda etapa do processo é ilustrada na figura 5.9 e consiste em dividir essa lista em

dois grupos: vértices de grau 2 ou 1 (que possuem menos de três conexões) e vértices de grau

maior ou igual a 3 (que possuem três ou mais adjacências) (figura 5.9).

Dado que um conjunto de linhas paralelas num espaço tridimensional converge para um único

ponto no plano da imagem, chamado ponto de fuga (Cantoni et al., 2001), através da equação

da reta e da relação de inclinação entre arestas opostas, as coordenadas desse ponto podem ser

encontradas.

Durante esse cálculo são empregados somente os vértices que possuem mais de três adjacên-

cias, porquanto partem desses pontos segmentos de retas em três direções. Note que, como são

considerados os três eixos de coordenadas, mais de um ponto de fuga (finito ou infinito) será

encontrado, como exemplifica a figura 5.10.

Os vértices que possuem menos de três conexões e que, portanto, não foram incluídos no

49

Descrição do Método

Figura 5.9: Vértices de um cubo e suas adjacências: os vértices 3 e 4 possuem três vértices adjacentes,enquanto 1, 2, 5 e 6 possuem, inicialmente, conexões com somente dois vértices.

Figura 5.10: Cálculo dos pontos de fuga: as linhas tracejadas representam um ponto de fuga finito (v)computado a partir das arestas−→31 e−→42, enquanto as linhas pontilhadas representam um ponto de fuga infinito

(u), computado a partir das arestas−→35 e−→46.

50

Descrição do Método

Figura 5.11: Projeção dos vértices nos pontos de fuga encontrados.

cálculo, são conectados aos pontos de fuga encontrados, dando origem aos segmentos de reta

mostrados na figura 5.11.

E, finalmente, as intersecções entre essas retas representam os vértices ocultos do objeto na

cena (figura 5.12). Como pode ser observado, os vértices procurados conectar-se-ão aos vértices

com menor número de conexões.

Para o cálculo dos vértices ocultos de um hexaedro qualquer, utiliza-se o mesmo procedimento

utlizado para o cubo, pois o cálculo do ponto de fuga para ambos enquadra-se dentro do mesmo

princípio, ou seja, prolongando-se as arestas, estas encontrar-se-ão em um ponto comum da ima-

gem e esse ponto não faz parte do objeto.

Entretanto, uma pirâmide não se comporta da mesma maneira, visto que o ponto de fuga dessa

figura geométrica é representado por um de seus vértices (figura 5.13). Nota-se que os pontos de

fuga encontrados nas figuras 5.13a e 5.13b coincidem com os vértices da pirâmide classificados

como vértices que possuem três ou mais conexões. Basta, portanto, definir qual destes dois vértices

51

Descrição do Método

Figura 5.12: Computando os vértices ocultos.

(a) (b)

Figura 5.13: Cálculo do ponto de fuga para uma pirâmide: prolongando-se as arestas, o ponto de fuga érepresentado em a) pelo vértice 1 e em b) pelo vértice 3.

52

Descrição do Método

Figura 5.14: Reconstrução de uma pirâmide de base triangular.

Figura 5.15: Reconstrução de uma pirâmide de base quadrangular.

é o vértice principal da pirâmide, o vértice com o qual irá ser conectado o vértice oculto. Para isso,

foi definido um critério baseado na distância entre os vértices. O vértice com três ou mais conexões

(1 ou 3, de acordo com a figura 5.13) que apresentar a maior distância com relação aos vértices

que possuem menos de três conexões (2 e 4), será o escolhido. Baseado nessa definição, como

pode ser observado na pirâmide ilustrada na figura 5.13, o vértice principal é o de número 1.

Se o usuário optar por reconstruir uma pirâmide de base triangular simplesmente conectam-se

os vértices 2 e 4 (vértices com menos de três adjacências), criando-se, assim, um modelo tridi-

mensional do objeto (figura 5.14).

Porém, se o usuário desejar uma pirâmide de base quadrangular soma-se os vetores que for-

mam a base da pirâmide (−→32 e−→34) e encontra-se o vértice oculto 5, como mostra a figura 5.15.

5.3 Considerações finais

Neste capítulo foi apresentado o método de trabalho proposto para a identificação de obje-

tos. O trabalho consistiu de duas etapas. Na primeira etapa foi implementado o modeloGVF de

53

Descrição do Método

contornos ativos. Esse modelo foi escolhido, principalmente, por seu poder de convergência em

superfícies côncavas, já que técnicas de modelagem baseadas em imagens dedicam-se, principal-

mente, a reconstruir cenas arquitetônicas.

Numa segunda fase, o trabalho dedicou-se a calcular as coordenadas dos vértices do objeto.

Foi elucidado neste capítulo que, para encontrar todos os vértices do objeto a fim de reconstruí-

lo, primeiramente deve-se conhecer as coordenadas dos vértices visíveis para, posteriormente,

calcular os vértices ocultos na cena.

O capítulo 4 apresenta alguns modelos teóricos utilizados na detecção de contornos e descreve,

em detalhes, o modelo GFV adotado neste trabalho. Contudo, existe na literatura uma técnica

conhecida como Transformada de Hough (Hough, 1962) que também pode ser utilizada para o

mesmo fim.

A Transformada de Hough é uma técnica de segmentação baseada em bordas utilizada na

detecção de linhas e curvas em uma imagem (Sonka et al., 1998) e, embora não seja necessário

conhecer sua posição, é preciso ter informações sobre a geometria do objeto procurado (retas,

círculos ou elipses).

Primeiramente, uma imagem em nível de cinza deve ser pré processada, por um filtro passa-

alta a fim de detectar as bordas existentes. A seguir, a imagem é binarizada por meio de um limiar,

tal que somente as bordas mais realçadas sejam mantidas (representadas por pixels escuros - 0),

tendo ao fundo um conjunto de pixels claros (pixel de valor 1).

O princípio desta técnica é que existe um número infinito de linhas que passa por um ponto

de borda qualquer, detectado pelo filtro, em orientações distintas. A proposta da Transformada é

definir quais destas linhas sobrepõem o maior número de pixels presentes na imagem binária que

correspondem às bordas.

Para tanto, cria-se um espaço discreto de Hough (no caso da detecção de retas com notação

polar, este espaço será bi-dimensional e pode ser definido pelos parâmetrosr - distância da origem

- e o ânguloθ) em que cada ponto representa uma reta. Este espaço será, então, computado e

cada ponto conterá a quantidade de pixels (na imagem binarizada) que passam por aquela reta

específica.

54

Descrição do Método

As arestas resultantes podem ser facilmente recuperadas, escolhendo-se do espaço de Hough,

os pontos (retas) que apresentarem valores altos.

No capítulo 6 serão demonstrados alguns exemplos e resultados obtidos pelo método proposto.

Foi, também, incluído um exemplo de detecção de vértices e arestas por meio da Transformada de

Hough. O desempenho desse método é comparado com aquele proposto neste trabalho.

55

CAPÍTULO

6

Resultados

Embora este projeto de pesquisa vise, além de aumentar a precisão, automatizar o processo de

modelagem, ainda faz-se necessário que o usuário defina, via interface, algumas variáveis durante

a execução do programa.

A figura 6 ilustra a interface desenvolvida na qual podem ser visualizados os parâmetros em-

pregados nas duas etapas descritas no capítulo anterior: a etapa de identificação do contorno e a

de localização dos vértices do objeto. Após dar início ao processo, a partir da seleção da imagem

desejada, o próximo passo é definir um contorno inicial e, através da adaptação dos parâmetros

apresentados no lado esquerdo da interface, encontrar o contorno do objeto de interesse.

Quando a ferramenta atingir um resultado satisfatório obtido pela correta convergência da

snake, segue-se para o processo de cálculo dos vértices desse objeto. Mais uma vez, o usuário

deverá fornecer dados que facilitem essa busca através dos parâmetros dispostos ao lado direito da

interface. Os resultados de cada passo são mostrados na parte central da figura.

Existem, ainda, parâmetros internos previamente definidos que são calculados ao longo da

execução do programa sem a interferência do usuário.

56

Resultados

Figura 6.1: Interface do programa.

57

Resultados

A seguir, serão mostrados alguns exemplos e resultados obtidos através da aplicação da técnica

desenvolvida sobre algumas figuras geométricas fornecidas na ferramenta Canoma (capítulo 3). A

influência dos parâmetros no comportamento do contorno ativo e na localização dos vértices será,

também, analisada.

6.1 Parâmetros internos

Dentre alguns parâmetros intrínsecos ao funcionamento do programa, foram definidos:

• Interpolação do conjunto inicial de pontos: a distância estabelecida entre um ponto e outro

dasnakenão deve ser maior que 3.0 pixels e menor que 0.2. Para isso, o conjunto de pontos

é dinamicamente reparametrizado a fim de que obedeça essa relação.

• Número de iterações para o cálculo do GVF: conforme descrito no capítulo 5, o campo GVF

é gerado antes da execução dasnake, portanto esse campo é computado somente uma vez

para cada imagem. Porém, embora independente dasnake, seu cálculo também é iterativo

e, de acordo com (Xu and Prince, 1998), o tempo necessário para garantir a convergência do

GVF depende do espaçamento entre os pixels dos eixos x e y (∆ x e∆ y, respectivamente)

e da quantidade de ruído da imagem (µ), tal que:

∆t <= (∆x ∗∆y)/4 ∗ µ (6.1)

Observar-se que, quanto maior o ruído (µ), mais lenta será a taxa de convergência, pois o

intervalo de tempo (∆ t) entre uma iteração e outra será menor.

Nos testes realizados, o número de iterações foi fixado em√

MxN , sendo M e N definidos

como a altura e a largura da imagem, respectivamente.

• Normalização dos mapas de arestas: todos os mapas foram normalizados entre 0 e 1.

58

Resultados

6.2 Parâmetros externos

Como dito anteriormente, os parâmetros externos são aqueles que podem ser alterados pelo

usuário, devendo ser por ele definidos a partir de características da imagem e do objeto que se

deseja encontrar.

Esses parâmetros podem ser separados em duas categorias: parâmetros dasnake, utilizados

durante a identificação do contorno, e parâmetros para identificação dos vértices.

• Parâmetros dasnake- alpha, beta, gamma, kappa e musão as cinco principais variáveis

utilizadas nessa fase do processo, sendo que:

– alpha- controla a elasticidade;

– beta- responsável pela rigidez;

– gamma- representa a viscosidade;

– kappa- peso da força externa;

– mu- quantidade de ruído presente na imagem.

Os parâmetrosalphae betadevem ser definidos pelas características do objeto de interesse

na imagem, através de uma análise de sua forma e angulações, enquantogamma, kappa e

mudevem ser baseados nas características da própria imagem e não mais no objeto.

• Parâmetros para identificação do contorno - além dos parâmetros dasnake, mais quatro

parâmetros devem ser definidos: variação angular, amostragem de pontos, pontos coinci-

dentes e a forma geométrica do objeto de interesse, conforme apresentado no capítulo 5.

A seguir serão apresentados alguns exemplos e resultados obtidos após a adaptação dos parâme-

tros acima descritos ao objeto de interesse.

A figura 6.2 representa uma pirâmide com vértices agudos. A fim de identificar corretamente o

contorno desse objeto, a variávelbetadeve tender a zero, pois um alto valor impediria o contorno

59

Resultados

Figura 6.2: a) Imagem original; b) contorno inicial definido pelo usuário e resultados dasnakeem c) após 6iterações e em d) após 4 iterações. Um alto valor para alpha em d) inibiu a expansão do contorno, resultando

em uma convergência ruim.

Figura 6.3: a) Imagem original; b) parâmetros utilizados na detecção dos vértices visíveis do objeto; c)vértices visíveis detectados e d) localização do vértice oculto para uma pirâmide de base quadrangular.

de formar ‘quinas’, ou seja, de se dobrar para formar os cantos do objeto.Alphacontrola a tensão

dasnake, portanto um valor alto para essa variável impediria o contorno de se expandir.

Dando sequência ao processo para esse objeto, os parâmetros referentes ao cálculo dos vértices

devem ser testados e adequados a fim de obter um resultado satisfatório. A figura 6.3 ilustra

os valores atribuídos a essas variáveis durante o cálculo dos vértices de uma pirâmide de base

quadrangular.

Devido a quantidade de ângulos agudos presentes no objeto da figura 6.3, uma variação angular

superior a11o não seria capaz de identificar todos os quatro vértices visíveis, enquanto que, um

60

Resultados

Figura 6.4: a) Parâmetros utilizados na detecção do contorno de um cubo; b) imagem original; c) contornoinicial definido pelo usuário e resultado dasnakeobtidos em: d) 2 iterações, após aplicação do filtro Sobel;

e) 6 iterações, após aplicação do filtro Laplaciano e f) 5 iterações, após aplicação do filtro GDDI.

valor menor localizaria falsos vértices.

Um ponto importante a ser destacado é que, neste exemplo, não foi necessária a prévia apli-

cação de um filtro, visto que se tratava de uma imagem binária. Porém, ao manipular imagens

em nível de cinza, deve-se optar por um dos filtros disponíveis na interface (Sobel, Laplaciano ou

GDDI).

A figura 6.4, ilustra o comportamento dasnakequando da seleção desses filtros. Os parâmetros

referentes à localização do contorno devem ser definidos conforme explicação anterior.

Após a correta identificação do contorno do cubo em nível de cinza e adaptação dos parâmetros

necessários, os vértices visíveis e ocultos podem ser identificados. Observa-se na figura 6.5 que o

vértice posteriormente rotulado como 7, que deveria ter sido facilmente identificado pelo sistema

e, portanto, ser classificado como um vértice visível, não é localizado na primeira etapa (vértices

visíveis), provavelmente devido à inclinação da reta ou à sua angulação. Entretanto, ao identificar

as coordenadas do vértice de número 4, os demais vértices (ocultos) podem ser localizados.

A figura 6.6 ilustra mais um caso de detecção de bordas e vértices para um cubo em nível de

cinza, onde a projeção em perspectiva é mais visível. Os pontos de fuga localizados são mostrados

na figura 6.6e.

61

Resultados

Figura 6.5: a) Imagem original; b) parâmetros utilizados para a detecção dos vértices visíveis do objeto; c)vértices visíveis detectados e d) estimativas das localizações dos vértices ocultos (7 e 8).

Figura 6.6: a) Contorno inicial definido pelo usuário na imagem original; b) parâmetros utilizados nadetecção do contorno; c) posição final dasnake; d) parâmetros utilizados na detecção dos vértices visíveisdo objeto; e) vértices visíveis localizados pela ferramenta; f) vértices de grau 1 e 2 projetados nos pontos de

fuga A e B e g) identificação dos vértices ocultos.

62

Resultados

Os procedimentos utilizados durante a localização dos vértices de um cubo podem ser gene-

ralizados para outras figuras geométricas (hexaedros), conforme ilustrado na figura 6.7.

(a)

(b)

Figura 6.7: a) Cálculo do contorno de um hexaedro e b) cálculo dos vértices do objeto.

(a) (b)

(c) (d)

Figura 6.8: a) Imagem 6.5a binarizada; Transformada de Hough para limiares b) 5; c) 20 e d) 30.

A figura 6.8 ilustra a aplicação da Transformada de Hough para a imagem 6.5a. A imagem

binária, na qual as principais bordas aparecem representadas com pixels escuros, corresponde à

63

Resultados

figura 6.8a. As figuras 6.8b, 6.8c e 6.8d são, respectivamente, o resultado da Transformada de

Hough para os segmentos de reta com quantidade de pixels (limiar no espaço de Hough) iguais a

5, 20 e 30.

Embora não sejam mostrados nas imagens, os vértices podem ser calculados de maneira trivial

na Transformada de Hough, uma vez que cada ponto no espaço designa uma reta, bastando, para

isso, computar os pontos de intersecção para cada par de retas. A dificuldade, no entanto, é definir

com precisão quais, dentre todos os vértices computados, verdadeiramente pertencem ao cubo.

Observe que a dificuldade é inversamente proporcional ao limiar no espaço de Hough (5,

20 e 30). Embora fosse trivial encontrar a intersecção das retas (possíveis vértices) não haveria

nenhuma indicação de quais destes pontos seriam os verdadeiros vértices do cubo.

6.3 Considerações finais

Alguns resultados obtidos com a implementação da técnica desenvolvida foram mostrados

neste capítulo. Através da adaptação das variáveis, bons resultados foram obtidos para as figuras

geométricas inicialmente propostas.

Foram realizados testes aplicando-se transformada de Hough (Hough, 1962) às imagens uti-

lizadas, para fins de comparação, porém os resultados encontrados foram inferiores aos resultados

obtidos através do método proposto nesta pesquisa.

Embora a Transformada de Hough forneça um mecanismo elegante de detecção de arestas

(segmentos de reta), nenhuma informação acerca dos vértices é fornecida. No caso do método

proposto, tal informação provém do mapa de arestas, necessário para o cálculo dasnake. Por meio

desse mapa, pode-se calcular a localização dos vértices com precisão.

No caso da Transformada de Hough, essa densidade de segmentos poderia ser diminuída ao

reduzir-se a resolução do espaço de Hough (por exemplo, aumentando o valor do ângulo entre as

retas). No entanto, isso pode impedir que certos segmentos de retas sejam identificados, impedindo

a detecção posterior dos vértices.

O capítulo subseqüente apresenta as conclusões e discorre a respeito de possíveis trabalhos

64

Resultados

futuros.

65

CAPÍTULO

7

Conclusões e Trabalhos Futuros

Utilizando o conceito de contornos ativos, este trabalho propôs um mecanismo de automação

da detecção de arestas e vértices para algumas formas geométricas.

Um levantamento bibliográfico sobre ferramentas de modelagem baseada em imagens foi apre-

sentado e nenhuma funcionalidade como a descrita neste trabalho foi encontrada. Todas elas

requerem uma precisa localização dos vértices e arestas para posterior renderização, porém esse

processo é feito sempre de forma manual.

Essa nova abordagem mostrou-se bastante funcional e conseguiu atingir seus objetivos para

primitivas mais simples. Isso se deve ao fato de que o mecanismo incorpora informações ge-

ométricas do objeto a ser encontrado e, também, àsnakeimplementada,GVF, que possui um

grande poder de convergência sobre o contorno original do objeto.

As características acima citadas, conferem ao método um desempenho superior ao obtido com

técnicas tradicionalmente utilizadas para fins semelhantes como, por exemplo, a Transformada de

Hough.

66

Conclusões e Trabalhos Futuros

Trabalhos Futuros

Mesmo para formas geométricas simples, o mecanismo baseado em snake para detecção de

bordas e vértices, apresentaria um desempenho ruim se tais formas possuíssem texturas mais com-

plexas (imagine uma caixa de fósforos com desenhos e padrões aleatórios nas suas faces).

Este problema poderia ser contornado, ao incorporar a Transformada de Hough ao método

proposto. A Transformada poderia ser inicialmente aplicada a fim de eliminar o efeito das texturas

sobre as faces e localizar as principais bordas do objeto (segmentos de retas, por exemplo). O

espaço de Hough seria usado para redefinir o cálculo do mapa de arestas, do qual depende a

convergência do contorno ativo. Em locais onde há pouco incidência de segmentos de reta, o

mapa apresentaria baixa atração ou repulsão.

Alguns melhoramentos secundários, que tornariam o método mais preciso e abrangente, su-

gerem direções para outros trabalhos futuros:

• posicionamento automático do contorno inicial, por meio do cálculo de massa do objeto;

• reposicionamento manual dos pontos não computados automaticamente pelasnake;

• expansão da base de objetos com a inclusão de novas figuras geométricas, como arcos e

telhados.

67

Referências Bibliográficas

Apollo Software (2004). Photo3d. Disponível em: <http://www.photo3d.com>. Acesso em:

16/11/05.

Bianchi, A. G. C. (2003).Caracterização, Modelagem e Simulação Matemático-Computacional

da Dinâmica do Crescimento e Conexões de Células Neurais. PhD thesis, IFSC-USP.

Borshukov, G. D. (1997). New algorithms for modeling and rendering architectures from pho-

tographs. Master’s thesis, University of California at Berkeley.

Brito, J. and Coelho, L. (2002). Fotogrametria digital. Disponível em: <http://e-

foto.sourceforge.net>. Acesso em: 11/02/04.

Burschka, D., Cobzas, D., Dodds, Z., Hager, G., Jagersand, M., and Yerex, K. (2003). Recent

methods for image-based modeling and rendering.

Canoma (2004). Disponível em: <http://www.canoma.com>. Acesso em: 23/03/05.

Cantoni, V., Lombardi, L., Porta, M., and Sicard, N. (2001). Vanishing point detection: Represen-

tation analysis and new approaches. InProceedings of the IEEE International Conference on

Image Analysis and Processing, volume 11, pages 90–94.

68

Referências Bibliográficas

Cipolla, R., Robertson, D., and Boyer, E. (1999). Photobuilder - 3d models of architectural scenes

from uncalibrated images. InProceedings of the IEEE International Conference on Multime-

dia Computing and Systems, volume 1, pages 25–31.

Cohen, L. D. (1991). On active contour models and ballons.CVGIP: Image Understand, 53:211–

218.

Cohen, L. D. and Cohen, I. (1993). Finite-element methods for active contours models and ballons

for 2d and 3d images.IEEE Transactions on Pattern Analysis and Machine Intelligence,

15(11):1131–1147.

Davatzikos, C. and Prince, J. L. (1995). An active contour model for mapping the cortex. InIEEE

Trans. Med. Imag., volume 14, pages 65–80.

Debevec, P. E. (1996).Modeling and Rendering Architecture from Photographs. PhD thesis,

University of California at Berkeley.

Debevec, P. E. (2004). Paul debevec home page. Disponível em: <http://www.debevec.org>.

Acesso em: 14/10/05.

Debevec, P. E., Taylor, C. J., and Malik, J. (1996). Modeling and rendering architecture from

photographs: A hybrid geometry- and image-based approach.Proceedings of SIGGRAPH

96, pages 11–20.

Eos System Inc. (2004). Photomodeler. Disponível em: <http://www.photomodeler.com>. Acesso

em: 28/06/05.

Foley, J. (2000). Getting there: The top ten problems left.IEEE Computer Graphics and Appli-

cations, Special Issue on the future of computer graphics, 20:66–68.

Giraldi, G. A., Feijóo, R. A., and Farias, R. C. (2004). Visualização científica apli-

cada ao estudo da hemodinâmica do sistema cardiovascular humano. Disponível em:

<http://virtual01.lncc.br/monografia>, Laboratório Nacional de Computação Científica.

Acesso em: 05/02/04.

69

Referências Bibliográficas

Gonzales, R. C. (1987).Digital Image Processing. 2nd edition.

Horry, Y., Anjyo, K., and Arai, K. (1997). Tour into the picture: Using a spidery mesh interface to

make animation from a single image. InProceedings of the ACM SIGGGRAPH, New York,

pages 225–232. ACM Press/Addison-Wesley Publishing Co. New York, NY, USA.

Hough, P. V. C. (1962). A method and means for recognition complex patterns. US Patent.

Johnson, D. (2001). Tip - tour into the picture. Disponível em: <http://www-

users.itlabs.umn.edu/classes/Fall-2001/csci5980/notes/TOUR_INTO_PICTURE.ppt>.

Acesso em: 04/02/04.

Kang, H. W., Pyo, S. H., Anjyo, K., and Shin, S. Y. (2001). Tour into the picture using a vanishing

line and its extension to panoramic images.Eurographics, 20(3).

Kass, M., Witkin, A., and Terzopoulos, D. (1987). Snakes: Active contour models.International

Journal of Computer Vision, 1(4):321–331.

Leroy, B., Herlin, I., and Cohen, L. D. (1996). Multi-resolutions algorithms for active contour

models. In12th. Int. Conf. Analysis and Optimization of Systems, pages 58–65.

Machado, A. C. C., Galvão, L. R., Vanderlei, T. A., and Santos, W. Y. R. (2002). Uma ferramenta

de extração de bordas utilizando t-snakes.Revista Eletrônica de Iniciação Científica.

McInerney, T. and Terzopoulos, D. (1999). Topology adaptive deformable surfaces for medical

image volume segmentation.IEEE Transactions on Medical Imaging, 18(10):840–850.

McInerney, T. J. (1997).Topologically Adaptable Deformable Models for Medical Image Analysis.

PhD thesis, Department of Computer Science, University of Toronto.

Oliveira, M. (2002). Image-based modeling and rendering techniques: a survey.RITA - Revista

de informática teórica e aplicada, (2):37–66.

70

Referências Bibliográficas

Pimentel, B. S. (2000). Segmentação de imagens médicas utilizando modelos de active con-

tours. Disponível em: <http://www.lrvpa.dcc.ufmg.br/vision/snake/artigo.htm>, Laboratório

de Visão Computacional e Robótica. Acesso em: 10/08/05.

Press, W. H., Flannery, B. P., Teukolsky, S. A., and Vetterling, W. T. (1986).Numerical Recipes:

The Art of Scientific Computing. Cambridge University Press, Cambridge (UK) and New

York, 1st edition.

Seitz, S. M. and Dyer, C. R. (1997). Photorealistic scene reconstruction by voxel coloring. In

Proceedings of the Computer Vision and Pattern Recognition Conference, pages 1067–1073.

Sethian, J. A. (1987). Numerical methods for propagating fronts. InVariational Methods for Free

Surface Interfaces, Proceedings of the Vallambrosa Conference.

Sethian, J. A. (2004). Fast marching and level set web site. Disponível em:

<http://math.berkeley.edu/ sethian>. Acesso em: 05/11/05.

Sonka, M., Hlavac, V., and Boyle, R. (1998).Image Processing, Analysis, and Machine Vision.

PWS Publishing, 2nd edition.

Stevens, L. (1999).Canoma - Manual do usuário. MetaCreations Corp., 6303 Carpinteria Avenue,

Carpinteria, CA 93013.

Xu, C. and Prince, J. L. (1997). Gradient vector flow: A new external force for snakes. InIEEE

Proc. Conf. Comp. Vis. Patt. Recog. (CVPR), pages 66–71.

Xu, C. and Prince, J. L. (1998). Snakes, shapes, and gradient vector flow.IEEE Transaction on

Image Processing, 7(3):359–369.

Xu, C. and Prince, J. L. (2000). Gradient vector flow deformable models. Handbook of Medical

Imaging, edited by Isaac Bankman, Academic Press.

Xu, C. and Prince, J. L. (2004). Active contours and gradient vector flow. Disponível em:

71

Referências Bibliográficas

<http://iacl.ece.jhu.edu/projects/gvf>, Image Analysis and Communications Lab. Acesso em:

19/10/05.

Zuniga, O. A. and Haralick, R. M. (1987). Integrated directional derivative gradient operator.

17:508–517.

72

Livros Grátis( http://www.livrosgratis.com.br )

Milhares de Livros para Download: Baixar livros de AdministraçãoBaixar livros de AgronomiaBaixar livros de ArquiteturaBaixar livros de ArtesBaixar livros de AstronomiaBaixar livros de Biologia GeralBaixar livros de Ciência da ComputaçãoBaixar livros de Ciência da InformaçãoBaixar livros de Ciência PolíticaBaixar livros de Ciências da SaúdeBaixar livros de ComunicaçãoBaixar livros do Conselho Nacional de Educação - CNEBaixar livros de Defesa civilBaixar livros de DireitoBaixar livros de Direitos humanosBaixar livros de EconomiaBaixar livros de Economia DomésticaBaixar livros de EducaçãoBaixar livros de Educação - TrânsitoBaixar livros de Educação FísicaBaixar livros de Engenharia AeroespacialBaixar livros de FarmáciaBaixar livros de FilosofiaBaixar livros de FísicaBaixar livros de GeociênciasBaixar livros de GeografiaBaixar livros de HistóriaBaixar livros de Línguas

Baixar livros de LiteraturaBaixar livros de Literatura de CordelBaixar livros de Literatura InfantilBaixar livros de MatemáticaBaixar livros de MedicinaBaixar livros de Medicina VeterináriaBaixar livros de Meio AmbienteBaixar livros de MeteorologiaBaixar Monografias e TCCBaixar livros MultidisciplinarBaixar livros de MúsicaBaixar livros de PsicologiaBaixar livros de QuímicaBaixar livros de Saúde ColetivaBaixar livros de Serviço SocialBaixar livros de SociologiaBaixar livros de TeologiaBaixar livros de TrabalhoBaixar livros de Turismo