Extração de Contornos de Telhados Usando Princípios de Snake Balloon

Tamanho: px
Começar a partir da página:

Download "Extração de Contornos de Telhados Usando Princípios de Snake Balloon"

Transcrição

1 UNIVERSIDADE ESTADUAL PAULISTA Faculdade de Ciências e Tecnologia de Presidente Prudente Programa de Pós-Graduação em Matemática Aplicada e Computacional Extração de Contornos de Telhados Usando Princípios de Snake Balloon Diego Venâncio Thomaz Orientador: Prof. Dr. Aluir Porfírio Dal Poz Co-orientador: Prof. Dr. José Roberto Nogueira Presidente Prudente, Agosto de 2012

2 UNIVERSIDADE ESTADUAL PAULISTA Faculdade de Ciências e Tecnologia de Presidente Prudente Programa de Pós-Graduação em Matemática Aplicada e Computacional Extração de Contornos de Telhados Usando Princípios de Snake Balloon Diego Venâncio Thomaz Orientador: Prof. Dr. Aluir Porfírio Dal Poz Co-orientador: Prof. Dr. José Roberto Nogueira Dissertação apresentada ao Programa de Pós-Graduação em Matemática Aplicada e Computacional da Faculdade de Ciências e Tecnologia da UNESP para obtenção do título de Mestre em Matemática Aplicada e Computacional. Presidente Prudente, Agosto de 2012

3 FICHA CATALOGRÁFICA T384e Thomaz, Diego Venâncio. Extração de Contornos de Telhados Usando Princípios de Snake Balloon / Diego Venâncio Thomaz. - Presidente Prudente : [s.n], 2012 xi, 75 f. : il. Orientador: Aluir Porfírio Dal Poz Coorientador: José Roberto Nogueira Dissertação (mestrado) - Universidade Estadual Paulista, Faculdade de Ciências e Tecnologia Inclui bibliografia 1. Snake Balloon. 2. Programação Dinâmica. 3. Modelo Digital de Superfície Normalizado. I. Dal Poz, Aluir Porfírio. II. Nogueira, José Roberto. III. Universidade Estadual Paulista. Faculdade de Ciências e Tecnologia. IV. Título.

4

5 Aos meus pais, José e Lúcia. Dedico!

6 Agradecimentos Essa deveria ser a parte mais fácil de todo o trabalho, mas não é. Tenho muita gente pra agradecer, apenas sei por quem começar. Em primeiro lugar queria agradecer a Deus, que através do seu incansável olhar amoroso, ensinou-me a lidar com os meus limites, guiando-me nesta caminhada. Agora como não poderia ser diferente vêm meus familiares. Agradeço aos meus pais José e Lúcia, meus irmãos Daniel e Ighor, minha cunhada Jaqueline, meu sobrinho Carlos Daniel e todos aqueles que não foram citados aqui, pelo apoio e incentivo nos meus estudos, pela confiança de que eu conseguiria alcançar meus objetivos e pela compreensão nos momentos de ausência. Sem vocês eu jamais chegaria até aqui. Também incluindo na parte da família. Agradeço a minha namorada e amiga Tatiane Tambarussi pelo apoio, incentivo, compreensão da distância, amor e carinho. E como não há muitas maneiras de dizer o indizível, digo apenas que te amo. Agora chegou a parte dos professores. Agradeço primeiramente ao meu orientador Prof. Dr. Aluir Porfírio Dal Poz pela orientação, paciência, discussões e contribuições para meu crescimento científico e pessoal. Sem suas dicas preciosas acho que estaria programando até agora. Não poderia deixar de agradecer ao meu co-orientador Prof. Dr. José Roberto Nogueira pela co-orientação, incentivo e contribuições essenciais na realização deste trabalho. Ainda no que diz respeito aos professores. Agradeço aqueles que dividiram generosamente seus conhecimentos ministrando as disciplinas do Programa de Pós-Graduação em Matemática Aplicada (PosMAC), dentre os quais cito os Professores Doutores Aluir Porfírio Dal Poz, Cristiane Néspoli, Eniuce Souza, Marcelo Messias, Messias Meneguette, Roberto Prado e Vanessa Botta. Não posso deixar de citar também os professores do curso de Matemática das Faculdades Adamantinenses Integradas (FAI), Camila Cremasco, Luiz Roberto e Simone Leite que foram as primeiras inspirações na vida acadêmica. Os amigos. Inicialmente agradeço aqueles que comigo formaram a primeira turma do curso de mestrado do PosMAC: Cláudio, Danilo (in memoriam), Marcelo, Marilaine, Marluce, Marluci, Tamiris, e em especial a amiga Vanderléa que não hesitou em dividir seus conhecimentos acadêmicos, mostrando-se uma pessoa humana e de grande coração. Quero agradecer também aos amigos da segunda turma: Camila, Clóvis (Choko, Dalai Lama,

7 4..., entre outros), Cristiane (Caricatas), José (Pargatão), Juliano (Brow), Larissa, Marília, Patrícia (Penny), Pedro (Carneiro), Reginaldo (Merejolli) e Tatiane. Também agradeço aos amigos do mestrado em Ciência da Computação: Álvaro (Irmão), Fernanda e Lilian. Agradeço a todos pelo companheirismo, amizade e momentos de alegria proporcionados. Também agradeço aos amigos do Grupo de Pesquisa de Fotogrametria, Érico, Esrom, Gabriel, Juliano, Mariana, Michelle, Renata, Rodrigo, Vanessa, e em especial à Tatiana por ter gerado os modelos utilizados nesta pesquisa. Agradeço a todos pelos conhecimentos que compartilharam nas tardes de segunda-feira. Incluo aqui também os amigos Daniel Felipe, Diego Franco, Evandro Polli e Fabricio Nery pelo apoio, amizade, incentivo e força nos momentos de dificuldade. Agora agradeço aos funcionários da Seção de Pós-Graduação, em especial à Erynat, pelo auxílio prestado durante o decorrer do curso de mestrado. Também agradeço ao Conselho de Aperfeiçoamento de Pessoal de Nível Superior (CA- PES) pelo apoio financeiro. E pra finalizar, agradeço a todas as pessoas que direta ou indiretamente contribuíram para a execução dessa dissertação de mestrado.

8 "Quem me segurou foi Deus com seu amor de Pai."

9 Resumo Este trabalho propõe um método de extração de contornos de telhados convexos de edifícios a partir de dados de um Modelo Digital de Superfície normalizado (MDSn). A modelagem do contorno se dará através do modelo de snake balloon, onde um funcional de energia dependente de muitas variáveis será otimizado através do algoritmo de Programação Dinâmica (PD). O MDSn se mostra atrativo na aplicação de extração de contornos de telhados de edifícios, pois permite separar as regiões de edifícios da maioria das outras regiões, principalmente as mais baixas. O modelo de snake balloon pode ser interpretado como uma curva poligonal fechada que se deforma sob a ação de forças internas e externas agindo sobre o modelo. O método proposto neste trabalho utiliza algumas características apresentadas pelo MDSn para desenvolver uma estratégia de solução do problema de otimização. Uma dessas características está ligada ao fato de que os contornos de telhados de edifícios no MDSn estão associados com grandes desníveis e os pontos representativos do contorno apresentam-se sobre o edifício. Assim, para dar início ao processo de extração, bastaria colocar um único ponto semente sobre o telhado. Tal ponto se expandiria, tornando-se uma curva poligonal fechada. Até que a curva encontre o limite do telhado são necessárias várias etapas de expansão, onde somente os pontos situados sobre o telhado do edifício são considerados candidatos. Isto evita que a curva salte os limites do telhado durante o processo de expansão. O método de extração de contornos de telhados convexos de edifícios foi implementado no MATLAB e testado utilizando dados reais. Os resultados são polígonos representando os contornos de telhados de edifícios. Através de avaliações visuais e numéricas foi possível comprovar que o método proposto foi bem sucedido. Palavras-chave: Snake Balloon; Programação Dinâmica; Modelo Digital de Superfície normalizado.

10 Abstract This work proposes a method for building convex-roof contours extraction from data of a normalized Digital Surface Model (ndsm). The contour modeling will be made by the snake balloon model, where an energy functional depending on many variables will be optimized through the Dynamic Programming algorithm (DP). The ndsm proves to be attractive in the application of building roof contour extraction, as it allows separating buildings regions from mostly other regions, especially the lowest ones. The snake balloon model can be interpreted as an polygonal closed curve that deforms under the action of internal and external forces acting on the model. The method proposed in this work uses some of the features presented by ndsm in order to develop a strategy to solve an optimization problem. One of these characteristics is related to the fact that building roof contours in a ndsm are associated with large elevation differences and representative points of the contour are presented over the building. So, to start the extraction process, it would be enough to place a single seed point on the roof. The point would expand and become a polygonal closed curve. Until the curve find the edge of the roof, several expansion stages are required, where only those who are on the building roof are considered as candidate. This prevents that the curve exceeds the limit of the building roof during the expansion process. The method for building convex-roof contours extraction was implemented in MATLAB and tested using real data. The results are polygons that represent building roof contours. Through visual and numerical evaluations, it was possible to prove that the proposed method was successful. Keywords: Snake Balloon, Dynamic Programming, Digital Surface Model normalized.

11 Lista de Figuras 2.1 Imagem com transição entre região escura e clara, e borda degrau Detecção de bordas: (a) Primeira derivada do perfil de níveis de cinza. (b) Segunda derivada do perfil de níveis de cinza. (Fonte: Adaptado de Gonzales e Woods [8]) Curva Snake Suave Curva Snake Não-Suave Ação de uma Curva Snake Utilizando a Força de Inflação Mapa da Cidade com Ruas de Mão Única Padrão das Tabelas de Mínimo de f k. (Fonte: Adaptado de Dal Poz (2000)) Fluxo de Algoritmo para Programação Dinâmica Princípio de Varredura a Laser Representação de um Modelo Digital de Superfície Representação de um Modelo Digital de Terreno Representação de um Modelo Digital de Superfície normalizado Ponto Semente Dado Pelo Operador Altura do Edifício Construção do Espaço de Busca Polígono Inicial Obtido por PD Polígono Inicial e Poligono Limite Espaço de Busca a Patir do Polígono Atual Polígono Obtido ao Final da Primeira Etapa Construção do Espaço de Busca na Segunda Etapa Polígono inicial Obtido na Segunda Etapa Final dos Passos em um dos Lados do Polígono Polígono Obtido ao Final da Segunda Etapa Teste 1: (a) Ponto Semente Dado Pelo Operador. (b), (c), (d) e (e) Evolução da Curva. (f) Contorno Extraído

12 7.2 Contorno Extraído Manualmente Utilizado na Análise Numérica do Resultado Obtido no Teste Teste 2: (a) Ponto Semente Dado Pelo Operador. (b), (c), (d) e (e) Evolução da Curva. (f) Contorno Extraído Contorno Extraído Manualmente Utilizado na Análise Numérica do Resultado Obtido no Teste Teste 3: (a) Ponto Semente Dado Pelo Operador. (b), (c), (d) e (e) Evolução da Curva. (f) Contorno Extraído Contorno Extraído Manualmente Utilizado na Análise Numérica do Resultado Obtido no Teste Teste 4: (a) Ponto Semente Dado Pelo Operador. (b), (c), (d) e (e) Evolução da Curva. (f) Contorno Extraído Contorno Extraído Manualmente Utilizado na Análise Numérica do Resultado Obtido no Teste Teste 5: (a) Ponto Semente Dado Pelo Operador. (b), (c), (d) e (e) Evolução da Curva. (f) Contorno Extraído Contorno Extraído Manualmente Utilizado na Análise Numérica do Resultado Obtido no Teste

13 Lista de Tabelas 4.1 Função g 1 (x 1, x 2 ) Função g 2 (x 2, x 3 ) Função g 3 (x 3, x 4 ) Primeiro Passo de Resolução Segundo Passo de Resolução f 1 (x 2 ) + g 2 (x 2, x 3 ) Função f 2 (x 3 ) Terceiro Passo de Resolução f 2 (x 3 ) + g 3 (x 3, x 4 ) Função f 3 (x 4 )

14 Sumário 1 Introdução Considerações Iniciais Objetivos Estrutura da Dissertação Fundamentos de Detecção de Bordas Conceito de Borda Operadores de Gradiente Modelos de Contorno Ativo Princípio Hamiltoniano de Ação Mínima Modelos Deformáveis Generalizados Snakes O Modelo Balloon Programação Dinâmica Problema do Caminho Simples Algoritmo para Resolução do Problema de Programação Dinâmica Modelo Digital de Superfície Normalizado Posicionamento e Orientação pelo Sistema de Varredura a Laser Modelagem de Dados de Elevação e Representação de Superfícies Metodologia Modelo Matemático de Contornos de Edifícios Otimização do Modelo de Contornos de Edifícios Através de PD Testes Numéricos Teste Teste Teste Teste

15 7.0.5 Teste Conclusões 72

16 Capítulo 1 Introdução 1.1 Considerações Iniciais As snakes foram inicialmente propostas por Kass et al. em 1988 [10], e desde então, têm se destacado como uma das mais bem sucedidas áreas de pesquisa na segmentação de imagens, podendo-se citar Cohen [3] que utilizou as snakes para extração de feições em imagens médicas. No trabalho de Cohen de 1991[3], é proposto o modelo de snake balloon que apresenta algumas melhorias em relação ao modelo de snake original. Pode ser interpretado geometricamente como um laço que se expande. Neste modelo é adicionada uma força de expansão ao termo de energia externa, aumentando assim o raio de convergência. A extração de contornos de telhados de edifícios a partir de um MDSn é um procedimento que pode ser adequadamente formulado em termos de um problema de otimização, que por sua vez pode ser solucionado a partir da utilização de técnicas específicas. O requisito básico para tal é a formulação de um modelo matemático representativo do objeto de interesse a ser extraído. O modelo de snake balloon, apresenta características atrativas para a construção de um modelo matemático representando contornos de telhados de edifícios. O modelo resultante apresenta uma estrutura particularmente adequada para ser solucionado através do algoritmo de Programação Dinâmica (PD). A solução ótima para o modelo são polígonos representando os contornos extraídos de telhado de edifícios. Entretanto, os conceitos de snakes e PD têm sido pouco explorados na área de extração de características de edifícios a partir de imagens ou modelos digitais de superfície. O trabalho realizado por Ruther et al. [14], apresenta uma estratégia de extração de edifícios em áreas de assentamentos informais a partir de imagens aéreas. As snakes foram utilizadas para modelar os contornos de edifícios e o método de otimização empregado era o de PD, cuja inicialização baseava-se na projeção na imagem de contornos aproximados obtidos pela limiarização de um modelo digital de superfície. 13

17 14 Em 2003, Guo et al. [9] propuseram uma abordagem baseada em snakes para a extração de edifícios a partir da combinação de imagens de alta resolução do satélite IKONOS e dados de elevação. Múltiplos indicadores, derivados de ambas as fontes de dados são integrados no modelo de snake de modo a extrair precisamente os contornos de telhado de edifícios. No trabalho elaborado por Peng et al. [13], são apresentadas modificações no modelo de snake original para a detecção de edifícios a partir de imagens aéreas. Tais modificações acontecem no critério de seleção de pontos sementes na função de energia, a fim de possibilitar uma convergência mais estável para os contornos de edifícios. No trabalho realizado por Mayunga et al. [15], é desenvolvido um método semiautomático de extração de edifícios em áreas de assentamentos urbanos, a partir de imagens espaciais de alta resolução. O método proposto utiliza um algoritmo de moldagem radial para a extração dos contornos de edifícios que são modelados através de modificações no modelo de snake original. O trabalho de Lau [16] discute o desenvolvimento de um algoritmo de inicialização do modelo de contorno ativo. O modelo de snake tradicional é utilizado para extrair os contornos de edifícios a partir de imagens de satélite, mas com um algoritmo de moldagem circular. Os autores, Fazan e Dal Poz [7] apresentam um método para extração de contornos de telhado de edifícios a partir de imagens digitais tomadas sobre cenas urbanas complexas. O método proposto é baseado na otimização de uma função de energia snake que representa contornos de edifícios em imagens digitais, através da técnica de otimização por PD. O método de extração de contornos de telhados de edifícios proposto neste trabalho tem por motivação principal explorar os grandes desníveis associados aos contornos de edifícios num MDSn. Os pontos representativos do contorno do telhado apresentam-se sobre o edifício, o que sugere colocar apenas um único ponto semente sobre o telhado, este ponto expandiria até o limite do telhado do edifício. Durante as etapas de expansão, são considerados candidatos a pontos do polígono representativo do contorno do telhado, somente os pontos que estiverem sobre o edifício; isto evita que o polígono salte os limites do telhado do edifício em alguma das etapas de expansão. A modelagem do contorno de telhado de edifício será feita através do modelo de snake balloon. 1.2 Objetivos Os objetivos deste trabalho são desenvolver e implementar um método de extração de contornos de telhados convexos de edifícios, onde o modelo de snake balloon é utilizado como base para a construção de um modelo matemático representando os contornos. Mais especificamente, propõe-se: desenvolver uma estratégia de solução do problema de

18 otimização a partir de um único ponto semente, através do algoritmo de PD. Propõe-se também, avaliar visual e numericamente o método desenvolvido usando dados reais Estrutura da Dissertação A dissertação está organizada da seguinte forma. Os Capítulos (2), (3), (4) e (5) apresentam a revisão teórica fundamental para o método proposto. No Capítulo (2) são apresentados alguns conceitos básicos de detecção de bordas. No Capítulo (3) é apresentado o conceito de snakes, essencial para a construção do modelo matemático representando contornos de telhado de edifícios. O Capítulo (4) apresenta o algoritmo de PD, utilizado para resolver problemas de otimização. O Capítulo (5) traz uma breve introdução sobre a elaboração de um MDSn a partir de dados de varredura a laser. O Capítulo (6) descreve detalhadamente o método proposto. No Capítulo (7) são mostrados alguns testes numéricos, com intuito de verificar visualmente e numericamente se o método funciona de forma eficiente. O Capítulo (8) traz algumas considerações finais a respeito deste trabalho.

19 Capítulo Fundamentos de Detecção de Bordas 2 A detecção de bordas é a abordagem mais comum para a detecção de descontinuidades significantes nos níveis de cinza da imagem. Basicamente, a idéia por trás da maioria das técnicas para a detecção de bordas é o cálculo de um operador diferencial. A seguir serão apresentados conceitos, propriedades e alguns operadores de detecção de bordas. 2.1 Conceito de Borda Uma borda é o limite ou a fronteira entre duas regiões com propriedades relativamente distintas de nível de cinza [8]. O tipo mais comum de variação na imagem caracteriza-se como um degrau, daí a denominação de borda degrau. Uma borda degrau ideal ocorre na transição entre duas regiões homogêneas da imagem, onde tal transição pode ser determinada com base apenas na descontinuidade dos níveis de cinza. A Figura (2.1) mostra uma imagem formada por uma região escura e outra clara, e o perfil modelado como uma mudança abrupta dos níveis de cinza (borda degrau), representando o nível de cinza ao longo de uma linha de varredura horizontal da imagem. Figura 2.1: Imagem com transição entre região escura e clara, e borda degrau. 16

20 17 A ideia básica que está por trás das técnicas de detecção de bordas é o uso de um operador diferencial local. A Figura (2.2(a)) mostra a primeira derivada, ao longo de uma linha transversal às bordas. Pode-se observar, que a primeira derivada é positiva nas transições da região escura para clara, negativa nas transições da região clara para escura e nula nas regiões de nível de cinza constante. A Figura (2.2(b)) mostra que a segunda derivada é positiva na parte da transição associada ao lado escuro da borda, negativa na parte da transição associada ao lado claro da borda e nula nas áreas de nível de cinza constante. Portanto, Extração a automática magnitude dade primeira polígonos derivada representando pode ser utilizada contornos na detecção telhado de borda a partir na imagem, de um MDS normalizado. enquanto o sinal da segunda derivada permite a localização das bordas na imagem [8]. Figura 7 - (a) Primeira derivada sem a influência de ruído; e (b) Segunda derivada sem a Figura 2.2: Detecção de bordas: (a) Primeira derivada do perfil de níveis de cinza. (b) Segunda influência de ruído. (Fonte: Adaptado de GONZALEZ e WOODS, 2000). derivada do perfil de níveis de cinza. (Fonte: Adaptado de Gonzales e Woods [8]). Toda a descrição anterior foi limitada para o caso unidimensional. Já para o caso Toda a descrição anterior foi para o caso unidimensional. Em duas dimensões, a bidimensional, a primeira derivada é definida pelo vetor gradiente e a segunda derivada pelo Laplaciano. primeira derivada é definida pelo gradiente e a segunda derivada é aproximada pelo Laplaciano ou pela segunda derivada na direção do gradiente.

21 Operadores de Gradiente O operador utilizado em diferenciação de imagens, é o gradiente. Este operador é um vetor cuja direção indica os locais nos quais os níveis de cinza sofrem maior variação. Sendo assim, em regiões de bordas, o vetor gradiente irá apontar na direção transversal a essas bordas [8]. Uma imagem pode ser definida como uma função, denotada por f (x, y), cujo valor na coordenada (x, y) fornece o brilho da imagem naquele ponto [12]. Então, o vetor gradiente da imagem f na posição (x, y) é dado por: f (x, y) = [ G x G y ] = [ ] f x f. (2.1) y A magnitude do vetor gradiente, denotada por f, equivale à maior taxa de variação da imagem f por unidade de distância na direção do vetor f, e é dada por: f = mag ( f) = ( G 2 x + G 2 y ) 1 2 (2.2) Considerando uma região da imagem formada por 3 3 pixels, em que os valores denotam os níveis de cinza dos pixels, representada por f (x 1, y 1) f (x, y 1) f (x + 1, y 1) f (x 1, y) f (x, y) f (x + 1, y) f (x 1, y + 1) f (x, y + 1) f (x + 1, y + 1) A magnitude do gradiente, mostrada na Equação (2.2), pode ser aproximada no ponto f (x, y) de várias maneiras. Uma forma simples consiste em usar a diferença f (x + 1, y) f (x, y) como derivada parcial em relação à x e f (x, y + 1) f (x, y) como derivada parcial em relação à y. Assim f pode ser expressa como f ( [f (x + 1, y) f (x, y)] 2 + [f (x, y + 1) f (x, y)] 2) 1 2 (2.3) A Equação (2.3) pode ser implementada por meio de máscaras de tamanho 1 2 e 2 1 pixels, somando-se o quadrado das respostas das duas máscaras mostradas na Equação (2.4) e fazendo a raiz quadrada do resultado da soma. As máscaras representando esta forma de aproximação das derivadas parciais são dadas por G x = -1 1 G y = -1 1 (2.4) Uma outra abordagem para aproximação da Equação (2.2) é usar o operador de Sobel, cujas derivadas parciais são dadas por [8]

22 19 G x [f (x + 1, y 1) + 2f (x + 1, y) + f (x + 1, y + 1)] [f (x 1, y 1) + 2f (x 1, y) + f (x 1, y + 1)] (2.5) G y [f (x 1, y + 1) + 2f (x, y + 1) + f (x + 1, y + 1)] [f (x 1, y 1) + 2f (x, y 1) + f (x + 1, y 1)] E a implementação é feita por meio das máscaras de tamanho 3 3 pixels G x = G y = (2.6) Portanto, para o cálculo da magnitude do gradiente na posição central da máscara utiliza-se a Equação (2.2), o que fornece um valor. Para a obtenção do próximo valor, as máscaras são deslocadas para a posição do próximo pixel e o procedimento é repetido. Quando o procedimento é realizado para todas as posições possíveis, o resultado é a imagem de magnitude do gradiente. Existem vários outros operadores de gradiente na literatura, podendo-se citar os operadores de Roberts e Prewitt. Neste trabalho foi utilizado o operador de Sobel para estimar os gradientes de borda.

23 Capítulo 3 Modelos de Contorno Ativo Este capítulo apresenta a revisão teórica fundamental para o desenvolvimento do trabalho proposto. Na Seção (3.1) é apresentado o Princípio Hamiltoniano de Ação Mínima, essencial para o entendimento do princípio de minimização do funcional de energia. Na Seção (3.2) é apresentado o conceito generalizado de modelos deformáveis, que é fundamental para o entendimento do conceito de snake; que é apresentado na Seção (3.3). A Seção (3.4) apresenta o modelo de snake balloon como uma forma de generalizar e resolver alguns dos problemas encontrados com o modelo original. 3.1 Princípio Hamiltoniano de Ação Mínima Em geral, denomina-se grau de liberdade o número de variáveis a serem determinadas dentro de um sistema. Quando um conjunto qualquer de coordenadas {v 1,..., v d }, determina totalmente o estado de um sistema (nesse caso com d graus de liberdade), as mesmas são denominadas coordenadas generalizadas e as derivadas correspondentes são denominadas velocidades generalizadas. Um estado do sistema é definido por um conjunto de valores que suas coordenadas generalizadas (v 1,..., v d ) podem assumir. Um tal estado é imaginado como sendo representado por um ponto v (t) = (v 1 (t),..., v d (t)) no chamado espaço de estado do sistema. A medida em que o tempo t vai passando o sistema pode "evoluir"ou "mover"de um estado v (t 1 ) = (v 1 (t 1 ),..., v d (t 1 )) para outro v (t 2 ) = (v 1 (t 2 ),..., v d (t 2 )). O problema geral passa a ser formulado nos seguintes termos: dentre todas as trajetórias ligando v (t 1 ) à v (t 2 ) no espaço de estado do sistema, qual é aquela que deve ser seguida. O guia para a resposta é o Princípio de Hamilton: Princípio de Hamilton: A trajetória v (t) = (v 1 (t),..., v d (t)) que descreve o movimento do sistema do estado v (t 1 ) para v (t 2 ) é tal que o funcional de ação do sistema 20

24 21 E (v) = t2 t 1 L (v (t), v (t), t) dt, (3.1) assume um valor mínimo. Aqui L (v (t), v (t), t) é uma função que caracteriza o sistema, chamada Lagrangeana deste sistema. A trajetória v (t) que mapeia o movimento do sistema, a qual torna estacionário o valor do funcional deste sistema, deve ser solução das equações de Euler d dt ( ) L L = 0, i = 1,..., d, (3.2) v i v i com as condições de contorno que fixam os pontos extremos v (t 1 ) e v (t 2 ). Estas equações passaram então a se chamar equações de Euler-Lagrange; o nome Euler está ligado ao Cálculo Variacional e o nome Lagrange ao problema geral correspondente na Mecânica Lagrangeana. 3.2 Modelos Deformáveis Generalizados Um modelo deformável generalizado pode ser interpretado geometricamente como uma superfície n-dimensional constituída por um material elástico que se deforma sob a ação de forças internas e externas atuando sobre ele [11]. As forças internas são inerentes ao modelo considerado e o campo de forças externas é obtido a partir de dados referentes ao meio onde o modelo está inserido. Seja E q (v) a energia de deformação do objeto. Pelo Princípio de Hamilton, a dinâmica do modelo deformável é regida por uma equação de movimento. O modelo deformável representado pela função v (s) se estabiliza quando sua energia de deformação total, dada por [11] E q (v) = λe int (v) + (1 λ) E ext (v), (3.3) atinge um valor de mínimo global. Na Equação (3.3), E int (v) representa a energia de deformação interna, E ext (v) a energia de deformação externa e 0 λ 1 é o parâmetro que controla a influência relativa dos dois tipos de energia (interna e externa) atuando sobre o modelo. Definição 1 Um modelo deformável generalizado com d graus de liberdade de deformação, cada qual possuindo dimensionalidade p, pode ser representado por uma função vetorial definida por [11] v (s) : Ω R p A R d s v (s) = (v 1 (s), v 2 (s),..., v d (s)), (3.4)

25 e um funcional E q (v) que representa a energia do modelo deformável v(s), que se estabiliza quando sua energia atinge um valor de mínimo global (Princípio de Hamilton). O funcional E q (v) tem a seguinte forma: E q : A R d R v E q (v) = q d m=1 j 1...j w m=1 Ω m (s) m v(s) 2 s j1 s j2... s jm ds + w (s) P (v (s)) ds, Ω (3.5) 22 onde: Ω é um subconjunto do espaço real de dimensionalidade p; s = (s 1, s 2,..., s p ) é um ponto de Ω; v(s) é uma função de mapeamento vetorial regular que mapeia o conjunto Ω no espaço R p para o espaço R d ; q é uma constante positiva que denota a ordem das derivadas parciais da função v (s), que por sua vez determinam a ordem de continuidade que cada componente em v (s) deve possuir; m é um índice e (j 1, j 2,..., j m ) é um índice múltiplo relacionado ao índice m; w j (s) e w (s) são funções de ponderação; P (v (s)) é um potencial generalizado. Desta forma, a função de mapeamento definida na Equação (3.4) é a imagem A R d do conjunto Ω, na qual cada componente é uma função paramétrica de p variáveis. O primeiro termo do funcional de energia E q (v) dado em (3.5) que será denotado por S q (v) mede a suavidade da função de mapeamento v (s). Este termo constitui uma classe de funções estabilizadoras para regularização contínua por partes. As funções de ponderação [w 1 (s), w 2 (s),..., w q (s)] são, em geral, positivas e não necessariamente contínuas [11]. As propriedades inerentes a essas funções possibilitam introduzir, de modo seletivo, descontinuidades específicas no modelo. Conforme mencionado anteriormente, um modelo deformável generalizado pode ser visto como um objeto deformável composto por um material elástico abstrato. O estabilizador funcional S q (v) (1 termo da Equação (3.5)) representa a energia interna do objeto e o segundo termo da mesma equação representa a energia potencial generalizada associada ao campo de forças externas aplicado sobre o objeto. Tais forças são derivadas dos dados e de propriedades inerentes a eles. Em termos de aproximação ótima, P (v (s)) é uma função penalizante, cuja tarefa é penalizar a discrepância entre a função v (s) e os dados. Os modelos generalizados têm d graus de liberdade de deformação, que representam o

26 23 número de direções nas quais o objeto pode se deformar. Cada grau de liberdade possui dimensão paramétrica de ordem p. Consequentemente, a função v (s) dada na Equação (3.4) pode ser expandida na forma v (s 1, s 2,..., s p ) = (v 1 (s 1, s 2,..., s p ), v 2 (s 1, s 2,..., s p ),..., v d (s 1, s 2,..., s p )). (3.6) Os graus de liberdade d denotam as posições ou deslocamentos dos pontos do modelo em um espaço euclidiano n-dimensional. Para um problema de reconstrução de superfícies, por exemplo, o modelo deformável teria d = 1 grau de deformação, representando o deslocamento Z em profundidade com p = 2 parâmetros representando as coordenadas (x, y) correspondentes ao ponto (X, Y, Z) no espaço tridimensional (n = 3) [11]. 3.3 Snakes As snakes 1 foram inicialmente propostas em [10] e, desde então, têm sido usadas em muitas aplicações em imagens 2-D e 3-D por Terzopoulos, Witkin e Kass, onde têm-se destacado como uma das mais ativas e bem-sucedidas áreas de pesquisa na segmentação de imagens, sendo largamente aplicadas em procedimentos como a detecção de fronteiras, segmentação, modelagem de formas, detecção de movimentos; etc. Definição 2 Uma snake é dada pelo conjunto de curvas definidas em um espaço de admissíveis deformações A R 2 que se movem ao longo das direções x e y e representada por uma função vetorial paramétrica bidimensional v da forma [10]: v (s) : Ω = [a, b] R 2 s v (s) = (x (s), y (s)), (3.7) e um funcional E 2 (v) que representa a energia do modelo que será minimizada e tem a seguinte forma [10]: E 2 : A R 2 R v E 2 (v) = Ω ( w1 (s) v s 2 + w 2 (s) v ss 2 + w(s)p (v(s)) ) ds, (3.8) na qual x (s) e y (s) são funções paramétricas de s; Ω R representa o intervalo no qual a função vetorial está definida e se refere ao comprimento de um arco da curva desde a origem até o ponto considerado; 1 No presente trabalho, a palavra aparecerá na língua inglesa, por assim ser usada nos trabalhos que a ela se referem.

27 24 v s e v ss denotam respectivamente as derivadas parciais de primeira e segunda ordem de v em relação a s; P é uma função potencial generalizada associada as forças externas. O modelo snake é um caso especial de modelos deformáveis generalizados, visto que seus parâmetros (q, d, p) assumem os seguintes valores específicos: q = 2, pois a energia energia interna do modelo é constituída por termos de primeira ordem (dependente da primeira derivada de v (s)) e de segunda ordem (dependente da segunda derivada de v (s)); d = 2, pois a curva v (s) se move e deforma ao longo das direções x e y; p = 1, visto que a posição (s) de um ponto na curva v (s) pode ser expressa em função de um escalar, isto é, s = {s 1 }. Deste modo, o funcional que representa a energia total de uma curva do tipo snake, passa a ser definido por: 2 E 2 (v) = m=1 Ω w m (s) d m (v (s)) dsm 2 ds + A expansão do somatório na Equação (3.9) resulta em: Ω w (s) P (v (s)) ds. (3.9) E 2 (v) = = Ω Ω 2 w 1 (s) d ds v (s) ds + w 2 (s) d 2 2 Ω ds v (s) 2 ds + w (s) P (v (s)) ds Ω ( 2 ) w 1 (s) d ds v (s) + w 2 (s) d 2 2 ds v (s) 2 + w (s) P (v (s)) ds. (3.10) Considerando x (s) = x e y (s) = y, tem-se v (s) = (x, y). (3.11) Fazendo as derivadas de primeira e segunda ordem da função vetorial v (s) temos: Assim: ( d dx ds v (s) = ds, dy ) ( ) e d2 d 2 ds ds v (s) = x 2 ds, d2 y. (3.12) 2 ds 2 d ds v (s) 2 = ( dx ds, dy ) = ds ( ) 2 dx + ds ( ) 2 dy = ds (dx ) 2 + ds ( dy ds ) 2 2 ; (3.13) d 2 ds v (s) 2 2 ( ) ( ) d 2 x = ds, d2 y d 2 2 ( ) 2 x d 2 2 (d2 ) 2 ( ) 2 y = + = x d2 y +. (3.14) 2 ds 2 ds 2 ds 2 ds 2 ds 2

28 25 Substituindo (3.13) e (3.14) em (3.10), se obtém E 2 (v) = + Ω Ω (dx ) 2 w 1 (s) + ds ( dy ds ) 2 2 (d2 ) 2 ( ) w 2 (s) x d2 y + ds ds 2 ds 2 w (s) P (v (s)) ds = λe int (v) + (1 λ) E ext (v), (3.15) sendo λ o parâmetro derivado das funções de ponderação w 1 (s), w 2 (s) e w (s), utilizado para controlar a influência relativa dos termos de energia interna e externa. Quando λ 1, a solução fornecida pela Equação (3.15) torna-se genérica e robusta a ruídos. No outro extremo, quando λ 0, o modelo resultante é capaz de detectar detalhes da feição de interesse a ser extraída, mas torna-se sensível aos ruídos presentes na imagem. Uma notação mais usual para a Equação (3.15) é dada pela Equação (3.8). A energia interna E int (v) é composta de um termo de primeira ordem controlado por w 1 (s) e um termo de segunda ordem controlado por w 2 (s). Em modelos deformáveis generalizados, as funções de ponderação w m (s), ou seja, w 1 (s) e w 2 (s) são utilizadas para inserir descontinuidades específicas nos modelos. No caso das snakes, w 1 (s) controla a elasticidade, aumentando incentiva-se a snake ser não-suave, e w 2 (s) controla a rigidez da curva no ponto parametrizado por s, aumentado incentiva-se a snake ser suave. Quando w 1 (s) w 2 (s) 0, a curva snake apresenta um comportamento suave, semelhante ao ilustrado na Figura (3.1). Figura 3.1: Curva Snake Suave. Em outro extremo, quando a razão w 1(s) w 2, a curva snake permite desenvolver (s) cantos, como aquela ilustrada na Figura (3.2).

29 26 Figura 3.2: Curva Snake Não-Suave. A derivada de segunda ordem na Equação (3.8) representa a curvatura da função v (s). Em um caso extremo como o exemplificado pela Figura (3.2), quando w 2 (s) se anula em todo o domínio da snake, a curvatura é anulada em todos os pontos e a curva se degenera em um segmento poligonal, conectando os pontos dados. A energia externa de uma curva snake é calculada a partir dos dados da imagem, com base em propriedades bem definidas das feições de interesse. Sua função é mover o contorno em direção à feição a ser extraída a partir da imagem. Assim, uma curva snake é capaz de incorporar diferentes informações a respeito da forma dos objetos de interesse, variando de acordo com a aplicação desejada. Quando a feição de interesse a ser extraída a partir da imagem é representada por uma linha, a função de energia externa da curva snake pode ser dada, por exemplo, pela equação Eext linha = P linha (v (s)) ds = w linha G 2 (x (s), y (s)) ds = w linha G 2 (x (s), y (s)) ds, Ω Ω Ω (3.16) onde P linha (v (s)) = w linha G 2 (x (s), y (s)) é uma função potencial de linha, na qual w linha é uma constante que depende do tipo de linha a ser extraída e G 2 (x (s), y (s)) é o quadrado dos valores de brilho dos pontos (pixels) que descrevem a linha na imagem. No caso da constante w linha, são utilizados valores positivos para linhas escuras e valores negativos para linhas claras. Quando a feição a ser extraída a partir da imagem é limitada por bordas, a função de energia externa para a snake é dada por E borda ext = Ω = w borda P borda (v (s)) ds = Ω Ω w borda G (x (s), y (s)) 2 ds G (x (s), y (s)) 2 ds, (3.17)

30 onde P borda (v (s)) = G (x (s), y (s)) 2 é uma função potencial de borda, w borda é uma constante negativa e G (x (s), y (s)) 2 é o quadrado da magnitude do gradiente dos pontos de borda. A posição de uma snake em uma imagem é definida por sua energia. 27 Existe uma desvantagem principal associada com as snakes originalmente propostas em [10], que diz respeito à posição do contorno inicial da snake, que por sua vez, deve ser suficientemente próxima ao contorno do objeto a ser extraído a partir da imagem. Caso contrário, a snake pode não evoluir corretamente para o contorno desejado. Isso significa que as snakes originais possuem raio de convergência limitado. Para resolver esse problema, em [3] é proposta uma outra força externa tornando o contorno mais dinâmico; tal modelo será apresentado na próxima seção. A condição necessária (mas em geral não suficiente) para solucionar a equação de energia snake e, desta forma, extrair a feição de interesse na imagem, é dada pelas equações diferenciais parciais de Euler-Lagrange de quarta ordem, cuja forma vetorial é F v s F v s 2 s 2 F v ss = 0, (3.18) com F (s, v, v s, v ss ) representando o integrando no funcional de energia E 2 (v), representado em (3.8), ou seja, F (s, v, v s, v ss ) = w 1 (s) v s (s) 2 + w 2 (s) v ss (s) 2 + w (s) P (v (s)). (3.19) Supondo que as funções de ponderação w 1 (s), w 2 (s) e w (s) sejam dadas, respectivamente, pelas constantes α, β e κ, a Equação (3.19) pode ser reescrita como F (s, v, v s, v ss ) = α [ x 2 s (s) + y 2 s (s) ] + β [ x 2 ss (s) + y 2 ss (s) ] + κp (x (s), y (s)). (3.20) Os componentes F v, F vs e F vss na equação diferencial parcial de Euler-Lagrange são dados por (omitindo-se s na representação) F v = (F x, F y ) = ( κ x P (x, y), κ ) P (x, y), (3.21) y ( F vs = (F xs, F ys ) = α x 2 x s, α ) ys 2 = (2αx s, 2αy s ), s y s (3.22) ( F vss = (F xss, F yss ) = β x 2 x ss, β ) yss 2 = (2βx ss, 2βy ss ). ss y s (3.23) A substituição de (3.21), (3.22) e (3.23) na equação diferencial parcial de Euler- Lagrange produz uma equação diferencial vetorial de quarta ordem, dada por

31 ( κ x κ y ) ( ) P (x, y) 2αx s P (x, y) s 2αy s Que corresponde ao sistema de equações ( + 2 s 2 28 ) ( ) 2βx ss 0 =. (3.24) 2βy ss 0 { 2αxss + 2βx ssss + κ P (x, y) = 0 x 2αy ss + 2βy ssss + κ P (x, y) = 0 (3.25) y Em uma implementação computacional, é conveniente aproximar a snake por uma linha poligonal composta por n vértices, de modo que para, i = 1,..., n. v i = v (s i ) = (x (s i ), y (s i )), (3.26) v s (s i ) = (x s (s i ), y s (s i )), (3.27) v ss (s i ) = (x ss (s i ), y ss (s i )), (3.28) Desta forma, a solução do funcional de energia consiste em determinar os n vértices que descrevem a curva na imagem. Uma maneira conveniente de discretizar os termos do funcional de energia (para efeito de implementação computacional) é aproximá-los através de diferenças finitas e considerando P (v (s)) = E ext (x (s i ), y (s i )). Assim, a Equação (3.8) torna-se E 2 (v) = n ( w1 (s i ) v i+1 v i 2 + w 2 (s i ) v i 1 2v i + v i w (s i ) E ext (x (s i ), y (s i )) ). i=1 (3.29) Fazendo P x (x, y) = x E ext (x (s i ), y (s i )), P y (x, y) = y E ext (x (s i ), y (s i )) e utilizando diferenças finitas, tem-se: F v = w (s i ) (P x (x (s i ), y (s i )), P y (x (s i ), y (s i ))), (3.30) s F v s = 2 s (w 1 (s i ) v s (s i )) = 2 (w 1 (s i+1 ) w 1 (s i )) (v (s i+1 v (s i )) + w 1 (s i ) (v (s i 1 ) 2v (s i ) + v (s i+1 ))) = 2 (w 1 (s i+1 ) (v (s i+1 ) v (s i )) w 1 (s i ) (v (s i ) v (s i 1 ))) = 2 (w 1 (s i+1 ) (v i+1 v i ) w 1 (s i ) (v i v i 1 )), (3.31) s F v ss = 2 ( ) s (w 2 (s i ) v ss (s i )) = 2 s w 2 (s i ) v ss (s i ) + w 2 (s i ) v sss (s i ). (3.32)

32 29 Utilizando a Equação (3.32), temos: ( 2 2 s F 2 v ss = 2 s w 2 2 (s i ) v ss (s i ) + 2 ) s w 2 (s i ) v sss (s i ) + w 2 (s i ) v ssss (s i ) (w 2 (s i 1 ) 2w 2 (s i ) + w 2 (s i+1 )) (v (s i ) 2v (s i 1 ) + v (s i 2 )) = 2 + (w 2 (s i+1 ) w 2 (s i )) (v (s i+2 ) 2v (s i+1 ) + 2v (s i 1 ) v (s i 2 )) +w 2 (s i ) (v (s i+2 ) 4v (s i+1 ) + 6v (s i ) 4v (s i 1 ) + v (s i 2 )) w 2 (s i 1 ) (v (s i ) 2v (s i 1 ) + v (s i 2 )) = 2 2w 2 (s i ) (v (s i 1 ) 2v (s i ) + v (s i+1 )) +w 2 (s i+1 ) (v (s i ) 2v (s i+1 ) + v (s i+2 )) ( ) w 2 (s i 1 ) (v i 2 2v i 1 + v i ) = 2. (3.33) 2w 2 (s i ) (v i 1 2v i + v i+1 ) + w 2 (s i+1 ) (v i 2v i+1 + v i+2 ) Substituindo as Equações (3.30), (3.31) e (3.33) na equação (3.18), então a equação diferencial parcial de quarta ordem de Euler-Lagrange se torna 2 (w 1 (s i+1 ) (v i+1 v i ) w 1 (s i ) (v i v i 1 )) ( ) + 2 w 2 (s i 1 ) (v i 2 2v i 1 + v i ) 2w 2 (s i ) (v i 1 2v i + v i+1 ) +w 2 (s i+1 ) (v i 2v i+1 + v i+2 ) + w (s i ) (P x (x (s i ), y (s i )), P y (x (s i ), y (s i ))) = 0. (3.34) A expansão da equação vetorial dada em (3.34) resulta nas equações 2 (w 1 (s i+1 ) (x i+1 x i ) w 1 (s i ) (x i x i 1 )) +2 (w 2 (s i 1 ) (x i 2 2x i 1 + x i ) 2w 2 (s i ) (x i 1 2x i + x i+1 ) + w 2 (s i+1 ) (x i 2x i+1 + x i+2 )) +w (s i ) (P x (x (s i ), y (s i )), P y (x (s i ), y (s i ))) = 0 2 (w 1 (s i+1 ) (y i+1 y i ) w 1 (s i ) (y i y i 1 )) +2 (w 2 (s i 1 ) (y i 2 2y i 1 + y i ) 2w 2 (s i ) (y i 1 2y i + y i+1 ) + w 2 (s i+1 ) (y i 2y i+1 + y i+2 )) +w (s i ) (P x (x (s i ), y (s i )), P y (x (s i ), y (s i ))) = 0 (3.35) A condição dada pelas equações de Euler-Lagrange deve ser satisfeita pelos n vértices da linha poligonal. As Equações (3.35) podem ser escritas para todos os pontos em forma matricial ( ) ( ) x P x (x, y) A + W = 0, (3.36) y P y (x, y) onde:

33 30 W é uma matriz diagonal formada pelas funções de ponderação w (s i ), ou seja, w (s 1 ) w (s 2 ) ; 0 0 w (s n ) x = y = P x (x, y) = P y (x, y) = ( x 1 x 2 x n ) T ; ( y 1 y 2 y n ) T ; ( ) T P x (x 1, y 1 ) P x (x 2, y 2 ) P x (x n, y n ) ( ) T P y (x 1, y 1 ) P y (x 2, y 2 ) P y (x n, y n ) A é uma matriz combinada (formada por sub-matrizes), dada pela equação A = 2W 1 D 2 + 2W 2 D 4, (3.37) na qual: w 1 (s 1 ) w W 1 = 1 (s 2 ) , (3.38) 0 0 w 1 (s n ) w 2 (s 1 ) w W 2 = 2 (s 2 ) , (3.39) 0 0 w 2 (s n ) D = , (3.40) sendo { D i D i 1 D T, i par = (3.41) D i 1 D, i impar o i-ésimo operador diferencial.

34 31 A solução do sistema dado em (3.36) pode ser calculada iterativamente através das equações { x t+1 = (A + γi) 1 [γx t W P x (x t, y t )] y t+1 = (A + γi) 1 (3.42) [γy t W P y (x t, y t )] onde t denota o número de iterações realizadas e γ é uma constante positiva usada para controlar a velocidade de convergência e estabilizar a solução. A convergência do sistema dado ocorre após t + 1 iterações se v t+1 v t < T, (3.43) onde T é um limiar pré-estabelecido no início do processo de extração. 3.4 O Modelo Balloon O modelo de snake apresentado na seção anterior é bastante dependente de uma boa aproximação inicial. Além disso, a curva pode ser presa por falsos pontos de borda (provocados por algum ruído na imagem) e não possuir força para evoluir para o contorno desejado. Por isso em [3] é proposto o modelo de snake balloon, onde são definidas novas forças e um funcional potencial. Uma das forças definidas no modelo de snake balloon está associada com a normalização da força da imagem, fazendo com que a expansão da curva ocorra com mesma velocidade em todos os seus pontos. A outra força está associada com a convergência da curva, garantindo a expansão da curva nas direções normais aos vértices do polígono até encontrar as regiões de interesse. As duas modificações apresentadas em [3], são as seguintes: Normalização da Força: O potencial P (v (s)) = G (v) 2 e a força externa F (v) = P (v (s)), que são baseados em dados da imagem foram utilizados no modelo original de snake. Quando o potencial P (v (s)) e a força externa F (v) são aplicados sobre uma curva para extrair feições de um objeto qualquer, a força baseada no gradiente da imagem faz com que a curva evolua em direção as regiões de alto gradiente, ou seja, para as regiões de borda do objeto. Esta evolução acontece de maneira desordenada, onde nem todos os pontos da curva encontram as regiões de interesse ao mesmo tempo. Para se obter resultados mais estáveis, a força externa torna-se [3]: P (v (s)) F (v) = k P (v (s)). (3.44) Isto simula um passo de evolução local para cada ponto da curva v (s), fazendo com que os pontos da curva evoluam na mesma velocidade. Força de Expansão: Em [3], é proposta uma força de pressão interna sobre a curva, fazendo com que o contorno tenha um comportamento mais dinâmico, como um "laço"que

35 32 é inflado. Assim a força de pressão é dada por: F pressao = k 1 n (s). (3.45) Esta força de pressão é definida com intuito de empurrar a curva exteriormente, como se fosse introduzido ar no seu interior. Ao mesmo tempo em que a curva se expande, a mesma é atraída para as bordas, como acontecia no modelo original de snake, apresentado na Seção (3.3). A força de pressão evita que a curva seja presa por falsos pontos de borda, pois pode ser controlada pelo termo de amplitude (k 1 ) e faz com que o resultado final seja menos sensível as condições iniciais. Assim com a adição das Equações (3.44) e (3.45) a força F passa a ser [3]: P (v (s)) F = k 1 n (s) k P (v (s)), (3.46) onde n (s) é o vetor normal unitário da curva no ponto s, k 1 é a amplitude desta força, que indica inflação (quando k 1 é positivo) ou deflação (quando k 1 é negativo) e k é o peso associado à normalização da força. O valor do peso k deve ser ligeiramente maior que k 1, pois assim um ponto de borda pode parar a força de inflação [3]. Esta força F também pode ser interpretada como o gradiente de um termo de energia externa, este seria um termo de superfície E area = k 1 da, medindo a área dentro da região delimitada pela curva. O significado de minimizar este termo de energia é o mesmo que obter a região interior à curva tão grande quanto possível, tal efeito é obtido pela força puxando a curva na direção do vetor normal. A Figura (3.3) ilustra um retângulo preto sobre um fundo branco e uma curva que é inserida dentro do retângulo. Sem a ação da força de inflação a curva deve contrair sobre si mesma, não avançando para uma nova posição. Partindo da mesma curva, mas agora usando a força de inflação, o retângulo inteiro seria obtido. Figura 3.3: Ação de uma Curva Snake Utilizando a Força de Inflação. No trabalho de Cohen et al. [4], foram formulados vários modelos de potenciais P, que não dependem do vetor normal n em uma posição v (s), sendo dependentes apenas

36 33 da posição v (s). Um destes potenciais é dado por: P (v) = e d(v)2, (3.47) onde d (v) é a distância entre um ponto v (s) e a borda mais próxima. A unidade de distância é o tamanho do pixel. Pode-se observar que quando v (s) é um ponto de borda, ou seja, d (v (s)) = 0, tem-se P (v) = 1, e quanto maior a distância entre o ponto v (s) e a borda, mais próximo de 0 é o valor de P (v), ou seja, este potencial faz com que os pontos de borda tenham maior influência sobre o funcional de energia. Outro potencial utilizado por Cohen et al. [4], é dado por: P (v) = 1 d(v) { 1 se d (v) < 1 caso contrário. (3.48) Este potencial produz uma convergência mais rápida em relação ao potencial anterior, pois os seus valores decaem mais lentamente, produzindo forças maiores em pontos distantes das bordas. Assim a energia do modelo de snake balloon, pode ser dada por [3]: ( E 2 (v) = w1 (s) v s 2 + w 2 (s) v ss 2) ds + P (v) ds. (3.49) Ω Ω onde o termo de energia interna dado sobre a primeira integral é o mesmo do modelo de snake original apresentado na seção anterior, e o potencial P pode ser um dos apresentados pelas Equações (3.47) ou (3.48). Para solucionar o funcional de energia snake balloon são feitos os mesmo cálculos do modelo original de snake. São procurados os vércices v t que satisfazem as equações diferenciais parciais de Euler-Lagrange de quarta ordem e como tais equações não possuem solução analítica então são utilizados métodos numéricos. Desse modo a solução pode ser calculada iterativamente através da equação v t+1 = [A + γi) 1 [γv t W P (x t, y t ) + F pressao ]. (3.50) onde t denota o número de iterações realizadas e γ é uma constante positiva usada para controlar a velocidade de convergência e estabilizar a solução. A convergência do sistema dado ocorre após t + 1 iterações se v t+1 v t < T, (3.51) onde T é um limiar pré-estabelecido no início do processo de extração.

37 Capítulo 4 Programação Dinâmica Em otimização o conceito de programa está relacionado como problema de dominar, de forma ótima, uma situação proposta. Tal conceito surgiu originalmente na economia e diz respeito ao desenvolvimento de planejamentos ótimos de produção. 4.1 Problema do Caminho Simples Suponha que numa cidade imaginária as ruas (todas de mão única) estejam dispostas de acordo com a configuração mostrada na Figura (4.1) [2]. H E 2 3 L C 5 1 I 3 5 O A 1 4 F 1 4 M 2 2 B J D P G 4 2 N K Figura 4.1: Mapa da Cidade com Ruas de Mão Única. 34

38 35 Cada letra representa uma esquina e os números representam o custo (tempo, combustível,...) para se utilizar a respectiva rua. O objetivo é encontrar o caminho de A até B que possua o menor custo associado possível. O método mais simples de resolver o problema é enumerar todos os caminhos possíveis e comparar os custos totais de cada caminho. O esforço computacional necessário para executar este método é tal que: Existem 20 diferentes caminhos de A até B. De fato, de H a B existe um único caminho e ídem de K a B. De I a B existem 3 caminhos e ídem de J a B. Logo, existem 4 caminhos de E a B, 4 caminhos de G a B e 6 caminhos de F a B. Então, existem 10 caminhos de C a B e 10 caminhos de D a B. Para cada caminho realiza-se 5 somas, a fim de computar o custo total. Precisa-se ainda de 19 comparações para encontrar o menor custo. Utilizando o princípio é desenvolvida a idéia da programação dinâmica. Um caminho ótimo de A até B passa obrigatoriamente ou por C ou por D. se P c é um caminho ótimo de C até B de custo p c e P d é um caminho ótimo de D até B de custo p d, é possível determinar o caminho ótimo de A até B somando a p c o custo da rua de A a C, somando a p d o custo da rua de A a D e escolhendo a menor das somas. Desta forma o caminho ótimo fica estabelecido. Observe que o procedimento acima descrito é baseado no princípio de Bellman: Uma vez descoberto o caminho até C(ou D), determine o restante do caminho de modo que este seja ótimo de C (ou D) até B. Seja V (Q 1, Q 2 ) o custo do caminho ótimo de Q 1 a Q 2 e d (Q 1, Q 2 ) o custo da rua unindo Q 1 e Q 2. De acordo com o princípio de otimalidade temos: V (A, B) = min {V (C, B) + d (A, C) ; V (D, B) + d (A, D)}. (4.1) Note-que V (C, B) e V (D, B) são ainda desconhecidos. Para cálculá-los é preciso conhecer os caminho ótimos de C a B e de D a B, respectivamente. Para isso aplica-se recursivamente o princípio de otimalidade. Os próximos valores necessários são os de V (E, B) e V (F, B). A partir deles calcula-se V (C, B) = min {V (E, B) + d (C, E) ; V (F, B) + d (C, F )}, (4.2) V (D, B) = min {V (F, B) + d (D, F ) ; V (G, B) + d (D, G)}. (4.3)

39 36 Prosseguindo desta forma chega-se finalmente a V (M, B) = min {V (O, B) + d (M, O) ; V (P, B) + d (M, P )}. (4.4) Mas V (O, B) = d (O, B) e V (P, B) = d (O, P ) são conhecidos. Sendo assim, é possível calcular os caminhos ótimos de trás para frente, simplesmente calculando os valores da função V (.,.). V (O, B) = 2, V (P, B) = 1; V (L, B) = = 7, V (N, B) = = 5, V (M, B) = min {2 + 2, 1 + 8} = 4 (isto é, quando o caminho ótimo passa por M ele tem que continuar por O); V (H, B) = = 10, V (K, B) = = 7, V (J, B) = min {4 + 2, 5 + 2} = 6 (caminho JM...), V (I, B) = min {7 + 3, 4 + 4} = 8 (caminho IM...); V (E, B) = min {10 + 2, 8 + 1} = 9 (caminho EI...), V (F, B) = min {8 + 1, 6 + 2} = 8 (caminho F J...), V (G, B) = min {6 + 5, 7 + 4} = 11 (caminho GJ... ou GK...); V (C, B) = min {9 + 5, 8 + 4} = 12 (caminho CF...), V (D, B) = min {8 + 7, } = 14 (caminho DG...); V (A, B) = min {12 + 1, } = 13 (caminho AC...). O caminho ótimo de A a B é então: A C F J M O B e o custo mínimo é V (A, B) = 13. A seguir o problema é apresentado de maneira mais formal [11]. Define-se um conjunto de nós {P i },i = 1, 2,..., n, e com uma matriz custo associada [C ij ], onde C ij é o custo para ir do nó P i para o nó P j. O problema de otimização é encontrar o mínimo custo necessário para ir do nó inicial P A até o nó final P N e o caminho associado. Sejam agora g (i, j) a função de duas variáveis (ou função custo) que descreve o custo envolvido na movimentação do nó P i para o nó P j, de modo ótimo, e s é o conjunto de nós ótimos ao longo do caminho. Pode-se escrever: g (i, j) = g (i, s) + g (s, j). (4.5) Para encontrar o caminho ótimo entre os nós P i e P j é necessário encontrar g (i, j) e um conjunto s que satisfaça: g (i, j) = min s [g (i, s) + g (s, j)]. (4.6)

40 37 Esta Equação (4.6) é conhecida como equação funcional de movimento [11], pois nela está implícita a decisão de quais nós de s devem ser escolhidos na construção do caminho entre os nós P i e P j. Se nenhuma restrição for imposta, a Expressão (4.6) estabelece um problema geral de busca em grafo. Entretanto, se o grafo for similar a aquele apresentado na Figura (4.1), onde apenas alguns nós estão diretamente conectados, então a busca pelo caminho ótimo envolve um procedimento de otimização sequencial e, como tal, um algoritmo eficiente para resolver o problema é o da programação dinâmica. Cabe lembrar, que o uso de programação dinâmica não implica somente em encontrar o mínimo da função custo, mas também pode-se utilizar o processo para se estabelecer o máximo da função. 4.2 Algoritmo para Resolução do Problema de Programação Dinâmica De acordo com o exposto, programação dinâmica é a técnica utilizada para a resolução de problemas de otimização quando nem todas as variáveis da função custo estão simultaneamente inter-relacionadas [1]. Considerar o problema de encontrar o mínimo M da função: g = g (x 1, x 2,..., x n ), (4.7) onde x i, i = 1, 2,..., n, são valores tomados em um domínio discreto. Portanto, o objetivo é encontrar a n-upla (x 1, x 2,..., x n ) que minimiza a Função (4.7). Se nada é conhecido sobre g, então a única técnica que garante um mínimo global é a enumeração exaustiva de todas as combinações dos valores discretos de x 1, x 2,..., x n [1]. Contudo, se nem todas as variáveis são simultaneamente inter-relacionadas, então o algoritmo de programação dinâmica pode ser aplicado para resolver o problema, isto é, o problema é passível de decomposição em uma sequência de problemas isolados mais simples unidos por via recursiva. Supor então que: g (x 1, x 2,..., x n ) = g 1 (x 1, x 2, x 3 ) g n 2 (x n 2, x n 1, x n ). (4.8) Onde a função g 1 depende apenas de x 1, x 2 e x 3, a função g 2 apenas de x 2, x 3 e x 4, e assim por diante. Assim posto o problema, o valor mínimo da Função (4.8) pode ser encontrado através de um processo de eliminação sequencial das variáveis envolvidas. O processo se inicia então com a eliminação da variável x 1. Como as funções g 2,..., g n 2 não dependem de x 1, somente a função g 1 deve ser considerada nesse momento, sendo que tal possibilidade se justifica pelo fato das variáveis não estarem simultaneamente inter-relacionadas. A eliminação de x 1 é realizada através da seleção do valor de x 1 que

41 38 minimiza g 1, para cada par (x 2, x 3 ), isto é: f 1 (x 2, x 3 ) = min x 1 [g 1 (x 1, x 2, x 3 )]. (4.9) O processo continua com a eliminação da variável x 2, sendo que o mesmo princípio é aplicado, ou seja, escolhe-se x 2 que minimiza g 1, para cada par (x 3, x 4 ), como segue: f 2 (x 3, x 4 ) = min x 2 [f 1 (x 2, x 3 ) + g 2 (x 2, x 3, x 4 )]. (4.10) A eliminação das demais variáveis segue o mesmo princípio da etapa anterior. Entretanto, é conveniente formalizar a eliminação das duas últimas variáveis (x n 1, x n ), como segue: f n 1 (x n, x n ) = min x n 1 [f n 2 (x n 1, x n )] (4.11) M = min (g) = min x n [f n 1 (x n, x n )] (4.12) Encontra-se dessa forma o mínimo M e parte-se dessa forma para a segunda parte do objetivo, que é encontrar a n-upla (x 1, x 2,..., x n ) que quando aplicada à função g proporciona o valor mínimo M. Notar que a primeira parte do problema é resolvida em n 1 estágios, sendo que cada qual proporcionou a eliminação de uma variável da função g, pela seleção de valores de (x k+1, x k+2 ) que minimizavam f k. Este procedimento permite gerar tabelas com o padrão mostrado na Figura (4.2), onde para cada realização do par (x k+1, x k+2 ) há uma realização de x k, cujo valor da função f k (x k+1, x k+2 ) é mínima. Todas as n 1 tabelas geradas devem ser armazenadas para possibilitar posteriormente a solução da segunda parte do problema. xk fk( xk+1,xk+2) Figura 4.2: Padrão das Tabelas de Mínimo de f k. (Fonte: Adaptado de Dal Poz (2000)) A solução da segunda parte do problema baseia-se, principalmente, num procedimento de retro-busca pelas n 1 tabelas de mínimos, isto é, a partir do menor valor de f n 1, da tabela (n 1), encontram-se os respectivos x n e x n 1 e seguindo o caminho inverso pelas tabelas (n 2), (n 3),..., 1, são encontrados os demais x i, respectivamente relacionados. As seguintes fórmulas de recursão são utilizadas para resolver ambas as partes do

42 39 problema de otimização: f 0 (x 1, x 2 ) = 0, (4.13) f k (x k+1, x k+2 ) = min x k [f k 1 (x k, x k+1 ) + g k (x k, x k+1, x k+2 )], (4.14) f n 1 (x n, x n ) = min x n 1 [f n 2 (x n 1, x n )], (4.15) M = min [g] = min x n [f n 1 (x n, x n )], (4.16) (x n 1, x n ) = arg (min [f n 1 (x n, x n )]) (4.17) x k = retroagindo em (x k+1, x k+2 ) (4.18) As fórmulas recursivas (4.13), (4.14), (4.15) e (4.16) são usadas para construir as n 1 tabelas de mínimos. A busca pelo vetor solução (x 1, x 2,..., x n ) é iniciada com a expressão (4.17), que possibilita a identificação de quais as realizações de x n 1 e x n respectivamente, (x n 1 e x n ) que minimizam a função g. As demais realizações (x 1, x 2,..., x n 2 ) são obtidas retroagindo-se pelas n 1 tabelas, conforme mostra a expressão (4.18). Por exemplo, começando com a (n 1)-ésima tabela, verifica-se qual linha contém as realizações x n 1 e x n (isto é, k = n 2), permitindo a identificação da melhor realização de x n 2, isto é, x n 2. Na sequência, tendo agora por base as realizações x n 2 e x n 1 (isto é, k = n 3), repete-se o procedimento para a (n 2)-ésima tabela, permitindo, desta vez, a obtenção da realização ótima de x n 3, isto é, x n 3. Este procedimento é repetido até que a realização x 1 de x 1 seja obtida. Em [1] é apresentado um exemplo bem simples, onde n = 4 e as funções g i dependem apenas de 2 variáveis. Neste exemplo, cada x pode ser tomado de uma terna de valores discretos. As funções g i são completamente descritas pelas Tabelas (4.1), (4.2) e (4.3). Por exemplo, o valor g 1 (0, 1) = 5. Tabela 4.1: Função g 1 (x 1, x 2 ). x x Tabela 4.2: Função g 2 (x 2, x 3 ). x x

43 40 Tabela 4.3: Função g 3 (x 3, x 4 ). x x Na Tabela (4.4) tem-se o passo 1: Tabela 4.4: Primeiro Passo de Resolução. x 2 f 1 x Na Tabela (4.4), para cada valor de x 2 tem-se o respectivo valor de x 1 que minimiza g 1 (x 1, x 2 ), retendo-se dessa forma os menores valores de g 1. A construção da função f 1 (x 2 ) baseia-se nas fórmulas de recursão (4.13) e (4.14), ficando, para o exemplo em discussão: f 1 (x 2 ) = min x 1 [f 0 (x 1 ) + g 1 (x 1, x 2 )], comf 0 (x 1 ) = 0. (4.19) Aplicando a Equação (4.19) para os possíveis valores de x 2 (isto é, 1, 2 e 3) obtém-se os respectivos valores de f 1 (x 2 ): f 1 (1) = min x 1 [f 0 (1) + g 1 (1, 1)] = 2, (4.20) f 1 (2) = min x 1 [f 0 (1) + g 1 (1, 2)] = 1, (4.21) f 1 (3) = min x 1 [f 0 (0) + g 1 (0, 3)] = 3, (4.22) Nas Tabelas (4.5) e (4.6) tem-se o passo 2. Notar que a Tabela (4.5) é formada pela adição dos elementos f 1 (x 2 ) às respectivas linhas de g 2 (x 2, x 3 ). Este passo baseia-se na seguinte fórmula de recursão: f 2 (x 3 ) = min x 2 [f 1 (x 2 ) + g 2 (x 2, x 3 )], (4.23) A Tabela (4.5) é montada usando o argumento do operador min [.] da Equação (4.23). Por exemplo, para montar a primeira linha (valores 10, 12 e 11) basta fixar x 2 = 1 e atribuir à x 3 os valores -1, 0 e 1. f 2 ( 1) = min x 2 [f 1 (1) + g 2 (1, 1)] = 3, (4.24) f 2 (0) = min x 2 [f 1 (1) + g 2 (1, 0)] = 9, (4.25)

44 Fixando x 2 = 2, temos: f 2 (1) = min x 2 [f 1 (1) + g 2 (1, 1)] = 3. (4.26) 41 Fixando x 2 = 3, temos: f 2 ( 1) = min x 2 [f 1 (2) + g 2 (2, 1)] = 2, (4.27) f 2 (0) = min x 2 [f 1 (2) + g 2 (2, 0)] = 2, (4.28) f 2 (1) = min x 2 [f 1 (2) + g 2 (2, 1)] = 4. (4.29) f 2 ( 1) = min x 2 [f 1 (3) + g 2 (3, 1)] = 8, (4.30) f 2 (0) = min x 2 [f 1 (3) + g 2 (3, 0)] = 9, (4.31) f 2 (1) = min x 2 [f 1 (3) + g 2 (3, 1)] = 5. (4.32) Agora, para completar o passo 2, computam-se os mínimos a partir da Tabela (4.5), como no passo 1, obtendo-se, dessa forma, f 2 (x 3 ) (Tabela (4.6)): Tabela 4.5: Segundo Passo de Resolução f 1 (x 2 ) + g 2 (x 2, x 3 ). x x Tabela 4.6: Função f 2 (x 3 ). x 3 f 2 x A montagem das Tabelas (4.7) e (4.8) é realizada de forma análoga ao procedimento descrito para a montagem das tabelas do passo anterior, fixamos x 3 e variamos x 4. Nesse caso, a seguinte fórmula de recursão deve ser utilizada: Fixado x 3 = 1, temos: f 3 (x 4 ) = min x 3 [f 2 (x 3 ) + g 3 (x 3, x 4 )], (4.33) f 3 (1) = min x 3 [f 2 ( 1) + g 3 ( 1, 1)] = 9, (4.34)

45 Fixado x 3 = 0, temos: f 3 (2) = min x 3 [f 2 ( 1) + g 3 ( 1, 2)] = 11, (4.35) f 3 (3) = min x 3 [f 2 ( 1) + g 3 ( 1, 3)] = 10, (4.36) 42 f 3 (1) = min x 3 [f 2 (0) + g 3 (0, 1)] = 4, (4.37) f 3 (2) = min x 3 [f 2 (0) + g 3 (0, 2)] = 5, (4.38) Fixado x 3 = 1, temos: f 3 (3) = min x 3 [f 2 (0) + g 3 (0, 3)] = 8, (4.39) f 3 (1) = min x 3 [f 2 (1) + g 3 (1, 1)] = 8, (4.40) f 3 (2) = min x 3 [f 2 (1) + g 3 (1, 2)] = 7, (4.41) f 3 (3) = min x 3 [f 2 (1) + g 3 (1, 3)] = 4. (4.42) Tabela 4.7: Terceiro Passo de Resolução f 2 (x 3 ) + g 3 (x 3, x 4 ). x x Tabela 4.8: Função f 3 (x 4 ). x 4 f 3 x A solução é encontrada pelo traçado em sentido contrário, seguindo-se as 3 tabelas no sentido inverso, respectivamente, as Tabelas (4.8), (4.6) e (4.4). Assim, tomando o menor f 3 (x 4 ), vê-se que x 4 = 1 e x 3 = 0. Retrocedendo à Tabela f 2 (x 3 ), encontra-se x 2 = 2, pois é este valor que está relacionado a x 3 = 0, da tabela anterior. Em seguida, seguindo o caminho inverso, encontra-se x 1 = 1, que é o valor relacionado a x 2 = 2, em f 1 (x 2 ). Assim, tem-se a solução ótima g (x 1, x 2, x 3, x 4 ) = 4, com x 1 = 1, x 2 = 2, x 3 = 0 e x 4 = 1. Retornando-se agora ao caso mais geral (Eq. (4.8)), e levando-se em conta as Equações (4.13) e (4.14), pode-se resumir o algoritmo descrito através dos seguintes passos: fazer k = 1 e f 0 (x 1, x 2 ) = 0;

46 43 construir a tabela de mínimos para a função f k (x k+1, x k+2 ); se k < n 1, então fazer k = k + 1 e ir para o passo anterior; tomar o valor n de f n 1 e retroagir pelas n 1 tabelas para obter a ênupla solução. O fluxo acima pode ser melhor visualizado através da Figura (4.3)., =0, =1 Construir e armazenar as tabelas de mínimos para:, =max, +,, = +1 S < 1 N Tomar o mínimo de e retroagir pelas 1 tabelas,,,, Fonte: Dal Poz (2000). Figura 4.3: Fluxo de Algoritmo para Programação Dinâmica.

47 44 A seguir são apresentados alguns comentários adicionais sobre o algoritmo apresentado [11] o procedimento apresentado é ótimo, pois todas as possibilidades são avaliadas; considerando-se que cada uma das n variáveis assume m valores discretos, o esforço computacional é O (nm 3 ); uma possibilidade interessante desse algoritmo é a introdução de injunções de desigualdade. Por exemplo, na extração de contorno de edifício, pontos que superam um determinado limiar de curvatura não são avaliados; o algoritmo pode ser utilizado para encontrar o valor máximo, em vez do mínimo. Para isso, basta substituir o operador min (.) por max (.); a equação (4.8) pode ser estendida para um caso mais geral, onde cada variável depende de p subsequente variáveis. Para o caso analisado p = 3. A complexidade computacional cresce exponencialmente com o aumento de p; a Equação (4.8) será denominada deste ponto em diante de função custo.

48 Capítulo 5 Modelo Digital de Superfície Normalizado Este capítulo apresenta algumas noções básicas sobre o sistema de varredura a laser e a construção do MDSn, propiciando o entendimento da origem e natureza dos dados utilizados nesta pesquisa Posicionamento e Orientação pelo Sistema de Varredura a Laser A Figura (5.1) mostra o princípio de posicionamento, onde os feixes laser são representados por vetores 3D. Cada vetor tem origem no ponto de emissão do laser (E) e o ponto terminal (P) sobre a superfície física (SF). O objetivo é a determinação dos pontos terminais dos vetores 3D, permitindo a descrição geométrica da superfície física da Terra e de objetos sobre ela. O conjunto desses pontos determinados é denominado nuvem de pontos. E Sensor Laser GPS/IMU P SF Figura 5.1: Princípio de Varredura a Laser. 45

49 Um dado vetor EP fica totalmente determinado através dos seguintes parâmetros geométricos do respectivo feixe laser: Ponto origem (E) do feixe laser; Orientação do feixe laser; Distância EP O ponto origem (E), que corresponde a posição do sensor na hora da medição de cada ponto, é determinado mediante um sistema de DGPS obtendo-se as posições X GP S, Y GP S, Z GP S. A orientação do feixe laser é determinada pelo sistema IMU, que é encarregado de calcular a inclinação (ω, ϕ, κ) do sensor em torno dos eixos x, y e z, respectivamente. A distância (EP ) entre o sensor e a superfície física é determinada através do sensor laser que mede o tempo de propagação do feixe entre os pontos E e P, e pode ser calculada através da seguinte equação: 46 EP = 1 tc. (5.1) 2 Onde t é o tempo de percurso do feixe laser e c é a velocidade da luz ((c = km/s)). Esses parâmetros geométricos permitem determinar as coordenadas 3D do ponto P, entretanto sem nenhuma redundância. Isto significa que erros cometidos nas medidas dos parâmetros geométricos do feixe não podem ser verificados internamente. Após a determinação das coordenadas tridimensionais de cada ponto, o resultado é uma malha irregular. Para a produção de modelos digitais de elevação, como o MDT (Modelo Digital de Terreno) e o MDS (Modelo Digital de Superfície), é necessário interpolar essa malha irregular para gerar uma grade regular. O MDT é uma grade regular que representa apenas a superfície topográfica, não contendo edificações nem objetos feitos pelo homem. Já o MDS representa além da topografia, todas as feições que estão sobre a superfície terrestre, como edificações, vegetações, etc. 5.1 Modelagem de Dados de Elevação e Representação de Superfícies A obtenção de dados proveniente da superfície real para fins de modelagem matemática de superfícies consiste em levantar, por uma técnica de amostragem, um certo número de pontos com coordenadas espaciais (x, y, z). O processo de amostragem não pode ser conduzido de forma casual. A escolha de pontos deve ser realizada de maneira que seu conteúdo informativo represente o comportamento estrutural da superfície real [6].

50 47 A perfilagem dos dados é uma das técnicas mais empregadas para a obtenção de informações espaciais para fins de modelagem matemática de superfícies. Neste caso, o processo consiste em obter pontos representativos de relevo na região de estudo. Os dados da varredura a laser consistem de uma perfilagem irregular onde não se tem o exato espaçamento de pontos no perfil ou entre perfis [5]. Existem várias metodologias para a elaboração de modelos de superfície. De forma geral, os pontos amostrados são interligados formando triângulos e estes formando um poliedro. Desta maneira, a superfície é aproximada por um modelo que é um poliedro cujos vértices são os pontos amostrados [17]. Os métodos mais usados para representar superfícies digitalmente são o TIN (Triangulated Irregular Network) e a malha regular. Interessa-se aqui pelo modelo de malha regular. Uma malha regular pode ser vista como um arranjo regular de pontos no plano (x, y) de referência de cotagem das alturas, sendo que em cada um desses pontos se tem a altura (z) do ponto correspondente na superfície. Cada ponto da superfície pode ser obtido por um processo de interpolação de uma malha irregularmente amostrada de pontos. Uma das considerações importantes a respeito da malha regular é o espaçamento a ser estabelecido entre os pontos no plano de referência das alturas [17]. Um valor excessivamente pequeno proporciona um aumento na fidelidade da modelagem em regiões muito movimentadas, mas nada oferece em regiões pouco movimentadas, acarretando num aumento significativo de tempo de processamento. Por outro lado, um valor grande, diminui o tempo de processamento, mas acarreta em perda de fidelidade em regiões muito movimentadas. A modelagem do terreno usando uma malha regular requer algum método de interpolação para regularizar a malha irregular, obtida originalmente por algum método de amostragem. Entre os métodos mais conhecidos, pode-se citar a interpolação por splines, elementos finitos, krigagem e vizinho mais próximo [6]. Dentre esses métodos, o mais comum é a interpolação pelo vizinho mais próximo. Este método é relativamente simples e exige menor tempo computacional. Este método costuma ser bastante utilizado quando se deseja interpolar pontos relacionados com edificações, isto porque as linhas de descontinuidades (limites de telhados ou paredes) não são suavizadas. Existem várias formas de representação discreta de superfície baseada na estrutura de malha regular. As principais são: MDS: os pontos da malha possuem tanto elevações de pontos da superfície do terreno quanto pontos de objetos como edifícios e árvores, situados sobre o terreno. A figura (5.2) ilustra o conceito de MDS.

51 48 Figura 5.2: Representação de um Modelo Digital de Superfície. MDT: os pontos da malha contêm elevações de pontos da superfície do terreno. A figura (5.3) ilustra o conceito de MDT. Figura 5.3: Representação de um Modelo Digital de Terreno. MDSn: é obtido pela diferença entre um MDS e um MDT de uma mesma região, isto é, MDSn=MDS MDT. Num MDSn ideal, os pontos do terreno têm altura nula e pontos sobre um objeto qualquer possuem elevações iguais às correspondentes alturas em relação ao terreno. A figura (5.4) ilustra o conceito de um MDSn. Figura 5.4: Representação de um Modelo Digital de Superfície normalizado.

52 Capítulo 6 Metodologia Este capítulo descreve o método de extração de contornos de telhados convexos de edifícios a partir de dados de um MDSn. Inicialmente é apresentada a formulação de um modelo matemático representando contornos de edifícios. Tal modelo é baseado no conceito de snake balloon, que para o tipo de feição de interesse apresenta algumas vantagens em relação ao modelo original. Também é apresentada a estratégia de otimização para obter a solução do modelo através do algoritmo de PD. 6.1 Modelo Matemático de Contornos de Edifícios A força de expansão F pressao, faz com que a curva v evolua em direção ao vetor normal n de cada um dos seus vértices até encontrar os pontos de borda. Em outras palavras, busca-se a maior taxa de variação do MDSn G (v) na direção normal de um ponto v. Uma ferramenta que permite medir a taxa de variação numa determinada direção, são as derivadas direcionais. Assim, para G (v) 0 a derivada direcional do MDSn na direção do vetor normal é dada por: G (v) = ( G (v), n) = G (v) n cos θ, (6.1) n onde θ é o ângulo entre os vetores G (v) e n. Como o vetor n é unitário, ou seja, n = 1 então: G (v) = ( G (v), n) = G (v) cos θ, (6.2) n Vale observar que G (v) terá valor máximo para θ = 0, ou seja, quando o vetor normal n n for o versor de G (v). Então: G (v) n = G (v). (6.3) 49

53 50 Além disso, cos θ = 1, então o valor máximo é G (v), pois G (v) = G (v). (6.4) n Assim, uma outra formulação para o potencial P é dada por { G (v) cos θ se G (v) 0 P (v) = 0 se G (v) = 0, (6.5) onde G (v) é a magnitude do vetor gradiente, θ é o ângulo entre os vetores G (v) e n, e 0 é o vetor nulo. Pode-se observar que quando os vetores n e G (v) relacionados a um ponto v, apontam em direções distintas, por exemplo, quando θ = 90 então P (v) = 0, ou ainda, quando θ = 60 então P (v) = 1 G (v), assim o potencial não tem grande influência 2 sobre o funcional de energia, produzindo mais força nestes pontos. Quando os vetores n e G (v) apontam para a mesma direção, então P (v) = G (v) que equivale a maior taxa de variação, assim o potencial tem grande influência sobre o funcional de energia e não produz força sobre o ponto v. Assim a energia do modelo de snake balloon, pode ser dada por: E 2 (v) = Ω ( α(s) vs 2 + β(s) v ss 2) ds + Ω λ(s)p (v) ds. (6.6) onde o termo de energia interna dado sobre a primeira integral é o mesmo do modelo de snake original, e o potencial P é dado pela Equação (6.5). Para finalidade de implementação computacional, a curva paramétrica contínua deve ser substituída por uma curva discreta, dada por um polígono definido por uma sequência de n vértices, como segue: v i = (x i y i ), i = 0, 1,..., n 1. (6.7) O modelo matemático de contornos de telhados de edifícios baseado em snake balloon, pode ser expresso da seguinte maneira: n 1 ( E 2 (v) = αi v i+1 v i 2 + β i v i 1 2v i + v i+1 2) n 1 λ i G (v i ) cos θ, (6.8) i=1 onde α i e β i são pesos que controlam a influência de energia interna, λ i controla a influência de energia externa, θ é o ângulo formado entre o vetor G(v i) G(v i ) e o vetor normal unitário ao vértice v i, n = ( y i+1+y i,x i+i x i ) ( y i+1 +y i,x i+i x i ). Os valores de todos os pesos α i, β i e λ i são positivos. O termo de energia interna (E int ), é responsável por controlar geometricamente a curva. Especificamente, a constante β i permite controlar a suavidade da curva, sendo que i=1

54 51 quanto maior, mais suave será a curva; para β i = 0, a curva v forma uma quina no vértice v i. O termo de energia externa (E ext ), é responsável por mover o contorno v em direção ao contorno do telhado do edifício. A constante λ i é o peso associado ao potencial P. Em se tratando da feição contorno de telhado, a curva v é um polígono que representa o contorno de telhado. Uma característica importante de contornos de telhado de edifícios é que eles geralmente são delimitados por bordas do tipo degrau, o que justifica o termo de energia externa. 6.2 Otimização do Modelo de Contornos de Edifícios Através de PD A equação (6.8) apresenta uma estrutura na qual apenas três pontos (v i 1, v i, v i+1 ) e seis variáveis estão simultaneamente inter-relacionadas. Tais pontos representam os vértices do polígono v, e desta forma, a mesma pode ser decomposta em uma soma de n 1 sub-funções E i (v i 1, v i, v i+1 ), ou seja, n 1 E 2 (v) = E i (v i 1, v i, v i+1 ). (6.9) i=0 Uma das possíveis estratégias de otimização que podem ser utilizadas para obter sua solução é o algoritmo de PD. Pois o modelo matemático de contornos de telhados de edifícios dependente de n variáveis pode ser decomposto em problemas menores dependentes apenas de 3 variáveis. Além disso, a principal vantagem de se usar o algoritmo de PD para otimizar o funcional de energia é o aumento do raio de convergência, quando comparado com o que é normalmente obtido na solução original baseada em cálculo variacional. Os fundamentos matemáticos a respeito do algoritmo de PD foram apresentados no Capítulo (4). A estrutura da Equação (6.9) se assemelha à estrutura da Equação (4.8) e, consequentemente o algoritmo de otimização por PD pode ser eficientemente aplicado na otimização do funcional de energia dado na Equação (6.9). Para o processo de extração de contornos de telhados de edifícios, é desenvolvida uma estratégia de solução do funcional de energia resultante (Equação (6.8)) a partir de um único ponto semente. A solução do problema de otimização por PD é encontrada obedecendo duas etapas. Na primeira etapa, o objetivo é que o ponto semente expanda até encontrar os limites do telhado do edifício. Na segunda etapa, o objetivo é fazer um refinamento sobre os lados do polígono obtido ao final da primeira etapa, com finalidade de buscar informações relevantes do edifício.

55 52 Etapa 1. Na primeira etapa, o objetivo é que a curva poligonal evolua em 8 direções até encontrar os limites do telhado do edifício. Para isso são utilizados os seguintes passos: é dado um único ponto semente no interior do telhado do edifício; são geradas linhas radiais centradas no ponto semente e alguns pontos são amostrados sobre as linhas, criando assim um espaço de busca; o processo de otimização por PD encontra um polígono inicial neste espaço de busca; os vértices do polígono inicial são utilizados como pontos sementes, para assim criar um novo espaço de busca e então encontrar mais um polígono candidato a ótimo; o processo termina quando o critério de convergência é satisfeito. Ponto semente dado pelo operador: De modo a inicializar o processo de extração, o operador identifica o edifício na imagem do MDSn e então fornece um único ponto semente no interior do telhado. A Figura (6.1) ilustra o primeiro passo num MDSn em condições ideais, sendo que o retângulo branco representa o telhado convexo do edifício, o fundo cinza representa o terreno e o ponto preto representa o ponto semente. Figura 6.1: Ponto Semente Dado Pelo Operador. Construção do espaço de busca: Para mais um passo da primeira etapa, são geradas 8 linhas radiais centradas no ponto semente. Alguns pontos candidatos a representar o polígono inicial são amostrados ao longo das linhas radiais. Vale ressaltar que um determinado ponto é candidato se estiver situado sobre o edifício. Então no processo de amostragem dos pontos candidatos, é necessário verificar se os mesmos estão situados interior ou exteriormente ao telhado do edifício, pois existe a possibilidade do ponto semente ser dado muito próximo ao limite do telhado, e assim alguns pontos serem amostrados fora das limitações do telhado do edifício, ou seja, serem pontos representativos do terreno.

56 53 Deste modo, visando amostrar somente os pontos candidatos a representar o contorno do telhado do edifício, são trazidos alguns conhecimentos apresentados no Capítulo (5). Sabe-se que para cada pontos (x, y) da malha do MDSn, tem-se a altura h do correpondente ponto na superfície. Com base no conhecimento sobre a altura mínima que uma edificação, como por exemplo uma casa, deve possuir, pode-se concluir que um ponto (x, y) da malha com altura h < 2m não está situado sobre um edifício. Assim, os pontos situados sobre a superfície do terreno serão eliminados e não serão candidatos a representar o contorno do telhado do edifício. Desta forma, serão amostrados pontos somente sobre o edifício. A Figura (6.2) ilustra a altura de um edifício em relação ao terreno. Topo do Edifício h Terreno Figura 6.2: Altura do Edifício. O número de elementos em cada linha radial é de no máximo 3 pontos amostrados sequencialmente e a distância adotada entre eles é de um groundel (termo utilizado em analogia ao termo pixels, denotando elemento de terreno - ground elements). Por exemplo, se para uma determinada linha radial o terceiro ponto a ser amostrado não for candidato, então para esta linha são considerados candidatos apenas 2 pontos. A Figura (6.3) mostra como o espaço de busca é construído. Figura 6.3: Construção do Espaço de Busca.

57 54 O objetivo é encontrar os pontos que geram o polígono inicial. Tais pontos possuem magnitude do gradiente máxima dentro desta janela de busca, pois pontos representativos do contorno do edifício correspondem à descontinuidade do tipo borda degrau. O problema de otimização é solucionado através do algoritmo de PD, cuja solução é um polígono candidato a representar o contorno do telhado de edifício. No exemplo ilustrativo da Figura (6.4), os pontos em vermelho correspondem aos vértices do polígono inicial obtido por otimização. Figura 6.4: Polígono Inicial Obtido por PD. Os vértices do polígono inicial podem estar localizados à uma distância muito grande do contorno do telhado do edifício, e até que encontrem o alvo desejado pode ser necessário um alto número de iterações, o que traz um grande esforço computacional. A fim de prever e minimizar estes cálculos computacionais, é feita a comparação da energia do polígono otimizado com a energia do polígono que liga os pontos mais afastados radialmente, que será denotado por polígono limite. No exemplo ilustrativo da Figura (6.5), os pontos em vermelho são do polígono inicial obtido através da otimização no primeiro espaço de busca pelo algoritmo de PD, os pontos em verde são do polígono limite. Figura 6.5: Polígono Inicial e Poligono Limite.

58 55 Com os dois polígonos obtidos (otimizado e limite) é necessário escolher a partir de qual deles recomeçar o processo de amostragem. Vale observar que o telhado do edifício pode não sofrer variações, ou seja, se os dados de altura não sofrem variações abruptas em cada um dos vértices dos polígonos obtidos, então o valor da energia de cada um dos polígonos deve ser próxima. Assim será escolhido o polígono que apresentar-se mais próximo do limite do telhado, para isso será feita a comparação das energias dos polígonos utilizando a Equação (6.8). Durante a realização dos experimentos foi constatado através do método de tentativa e erro, que polígonos (otimizado e limite) com diferença entre as energias menor ou igual a 10%, apresentam-se em telhados que sofrem poucas variações. Então foi adotado o seguinte critério de escolha. Considerando E 1 a energia do polígono otimizado (em vermelho) e E 2 a energia do polígono limite (em verde), se a diferença entre as energias for menor ou igual a 10%, então o processo de amostragem reinicia a partir do polígono limite, caso contrário, reinicia a partir do polígono otimizado. Daqui em diante, o polígono selecionado para recomeçar a amostragem, será denotado polígono atual. Além deste processo diminuir o custo computacional, também pode evitar que o polígono seja preso por falsos pontos de borda. Construção do segundo espaço de busca: A partir de cada um dos vértices do polígono atual, é gerada uma linha na mesma direção e sentido da linha radial em que o mesmo se encontra. Ao longo de cada linha são amostrados regularmente no máximo 3 pontos, onde sempre é levado em consideração a localização do ponto em relação ao terreno, como foi feito no processo de construção do primeiro espaço de busca. A Figura (6.6) mostra o segundo espaço de busca que foi construído a partir do polígono atual. O polígono considerado como atual foi o polígono limite (em verde), os vértices do mesmo foram exibidos mais próximo das regiões de borda, tendo como consequência para a construção deste espaço de busca, alguns pontos amostrados fora dos limites do telhado do edifício, situados sobre a superfície do terreno, que estão ilustrados em laranja. Como os pontos estão amostrados fora das limitações do edifício, não são considerados candidatos a vértices do polígono ótimo neste espaço.

59 56 Figura 6.6: Espaço de Busca a Patir do Polígono Atual. Assim é construído mais um espaço de busca e com a obtenção da solução do problema de otimização através do algoritmo de PD são encontrados novos vértices candidatos a ótimo. Dando continuidade à primeira etapa, sempre a partir de um polígono obtido por otimização num espaço de busca, são repetidos os seguintes procedimentos: Determina-se um novo polígono atual através do procedimento de comparação de energia. Constrói-se um próximo espaço de busca a partir do polígono atual. Encontra-se um novo polígono candidato a ótimo através da solução pelo processo de otimização por PD. Estes procedimentos são repetidos até que não possam ser amostrados pontos em nenhuma das 8 linhas radiais, ou seja, na tentativa de construir um próximo espaço de busca, não existem pontos satisfazendo a condição necessária de estar sobre o edifício. O exemplo da Figura (6.7) mostra o polígono azul que ilustra a solução da primeira etapa do problema de otimização. Observa-se que todos os vértices encontrados nas direções das linhas radiais encontram a borda do edifício e para a construção de um novo espaço de busca, os pontos candidatos se apresentam sobre a superfície do terreno.

60 57 Figura 6.7: Polígono Obtido ao Final da Primeira Etapa. Pode-se observar que os cantos ficaram muito longe e não foram alcançados pela curva poligonal, pois foram amostrados pontos em apenas 8 direções e não foram suficientes para alcançar estas regiões. Visto que a extração dos pontos de borda destas regiões apresentam maiores dificuldades e necessitam de mais pontos amostrados para serem extraídos, então é apresentada a segunda etapa para a solução do problema de otimização por PD, onde é adotado um critério de amostragem entre dois vértices consecutivos do polígono obtido ao final da primeira etapa. Etapa 2. Nesta etapa, o objetivo é que a curva poligonal fechada busque as regiões que não foram alcançadas anteriormente. Para isso são utilizados os seguintes passos: são amostrados pontos sobre os lados do polígono (segmentos entre dois vértices consecutivos); são geradas linhas transversais e amostrados alguns pontos, criando assim um espaço de busca; o processo de otimização por PD encontra um polígono inicial neste espaço de busca; os vértices do polígono inicial são utilizados como pontos sementes para criar um novo espaço de busca e assim encontrar mais um polígono candidato a ótimo; este processo de amostragem termina com a estabilidade dos vértices. Construção do espaço de busca: É possível que ao longo dos lados não analisados do polígono obtido ao final da primeira etapa existam informações relevantes do edifício. Então neste passo é proposto um refinamento nas regiões que não foram exploradas, e para tal, é criado um critério de amostragem entre dois vértices consecutivos. São amostrados 8 pontos sobre os lados do polígono que apresentem diferença entre dois vértices consecutivos maior que 8 groundels e a partir deles são criados espaços de busca. Durante os experimentos foi possível observar que os lados do polígono cuja diferença

61 58 entre dois vértices consecutivos era menor ou igual a 8 groundels, haviam encontrado o limite do telhado do edifício, e por isso, 8 groundels foi o número ótimo adotado para acontecer os refinamentos nesta aplicação. Com finalidade de criar o espaço de busca que encontre os pontos representantes desta região, os pontos que foram amostrados sobre os lados do polígono satisfazendo o critério de amostragem são utilizados como pontos sementes, e a partir de cada um deles são geradas linhas transversais em suas respectivas direções normais. Para cada linha transversal são amostrados regularmente no máximo 3 pontos com distância de um groundel entre eles, onde sempre é levado em consideração os dados de altura do correspondente ponto. Como foi feito na primeira etapa, os pontos que estiverem sobre a superfície do terreno não são candidatos a representar o contorno do telhado do edifício, e somente serão amostrados pontos sobre o edifício. O exemplo ilustrativo da Figura (6.8) mostra o espaço de busca que foi construído sobre um dos lados do polígono obtido ao final da primeira. Os pontos em preto foram amostrados sobre as linhas transversais e os pontos em laranja foram amostrados sobre a superfície do terreno e não são utilizados no processo de otimização. Figura 6.8: Construção do Espaço de Busca na Segunda Etapa. Para se obter a solução do problema de otimização é utilizado o algoritmo de PD. O polígono ótimo é aquele que minimiza o funcional de energia dado pela Equação (6.8) neste espaço de busca. Com a obtenção da solução do modelo matemático no suposto espaço de busca selecionado, são encontrados os vértices do polígono inicial. No exemplo da Figura (6.9), em vermelho está ilustrado o polígono inicial, obtido como solução do modelo matemático neste espaço de busca. Os pontos em laranja estão situados sobre a superfície do terreno e portanto não são candidatos a ponto ótimo.

62 59 Figura 6.9: Polígono inicial Obtido na Segunda Etapa. Para dar continuidade no processo de extração das regiões que não foram alcançadas ao final da primeira etapa, são repetidos os mesmos passos de construção do primeiro espaço de busca, ou seja, o polígono encontrado no espaço de busca anterior, é considerado inicial para a construção de um próximo espaço de busca, e o algoritmo de PD encontra mais um polígono candidato como solução do modelo matemático do espaço de busca selecionado. Estes procedimentos são repetidos até que o critério de convergência seja satisfeito, após t + 1 iterações v t+1 v t < T, (6.10) onde T é um limiar pré-definido. A convergência ocorre quando o polígono v t+1 obtido na iteração t + 1, esteja bem próximo ao polígono v t obtido na iteração anterior t. Então o valor do limiar T tende a zero. O exemplo ilustrativo da Figura (6.10) mostra o polígono azul, que foi obtido após o refinamento em um dos lados do polígono obtido ao final da primeira etapa. Figura 6.10: Final dos Passos em um dos Lados do Polígono.

63 60 A mesma estratégia de refinamento adotada anteriormente é utilizada para os outros lados do polígono, cuja diferença entre dois vértices consecutivos for maior que 8 groundels. Tal estratégia, resume-se em amostrar pontos sobre os segmentos do lado do polígono, criar espaços de busca e solucionar o problema de otimização através do algoritmo de PD. Tais procedimentos são repetidos até que o critério de convergência seja satisfeito. Ao final da segunda etapa é encontrada a solução final do problema de otimização pelo algoritmo de PD e o contorno do telhado convexo do edifício é extraído. O exemplo ilustrativo da Figura (6.11) mostra o polígono azul que é obtido ao final da segunda etapa. Figura 6.11: Polígono Obtido ao Final da Segunda Etapa. Com intuito de analisar a estratégia desenvolvida de solução do modelo matemático (Seção(6.2)), são apresentados alguns testes numéricos no próximo capítulo.

64 Capítulo 7 Testes Numéricos Na sequência são descritos cinco testes numéricos utilizando dados de um MDSn, contendo edifícios isolados Para implementar os testes numéricos foi utilizado o "MATLAB"(Matrix Laboratory), que é um software interativo de alta performance destinado à operação de cálculo numérico. A escolha se deu pelo mesmo possuir, integrado a ele, uma biblioteca de processamento de imagens e também pela facilidade de uso. Para dar início ao programa é utilizado o seguinte algoritmo. Primeiramente, o operador identifica um edifício no MDSn e fornece um ponto semente no interior do telhado. Em seguida, é necessário informar os valores dos pesos α i, β i e λ i responsáveis por modelar, controlar e atrair a curva para as regiões de interesse no decorrer do processo de expansão. Por fim, é preciso informar o número de iterações N desejadas para serem criados os espaços de busca, lembrando que é necessário um número alto para a curva convergir até o contorno do telhado do edifício. Com os dados de entrada informados, é utilizada a metodologia desenvolvida na Seção (6.2). Os valores dos pesos escolhidos em cada um dos testes realizados deu-se através do método de tentativa e erro, ou seja, para cada valor de entrada utilizado durante os experimentos foi estudado o que acontecia no modelo, possibilitando remover erros de cada repetição até atingir uma extração de melhor qualidade. O algoritmo utiliza os operadores de Sobel para estimar os gradientes de borda nas direções x e y, necessários ao cálculo do valor da magnitude. Além da avaliação visual é também realizada uma análise numérica dos resultados obtidos em cada teste. A análise numérica é baseada na estimação de parâmetros numéricos de qualidade, a partir da comparação dos contornos extraídos utilizando a metodologia proposta com os contornos correspondentes extraídos manualmente pelo operador. Para cada teste realizado, foi calculado o valor de completeza de área C que é estimado a 61

65 partir das áreas A M do objeto extraído utilizando o método e A R do objeto extraído manualmente, utilizado como referência. Este valor é dado da seguinte forma [14]: C = 62 ( 1 A ) M A R 100% (7.1) A R A completeza de área é uma medida percentual da área do objeto extraído, comparada à área do objeto de referência. O parâmetro C tem por suposição básica a existência de apenas discrepâncias locais entre o contorno extraído e o respectivo contorno de referência, isto é, ambos os contornos não devem apresentar discrepâncias globais, como as que resultam de transformação de escala, rotação ou translação. Como a suposição acima é cumprida pelo método proposto, as discrepâncias entre ambos os contornos podem ser avaliadas em função de discrepâncias das áreas entre eles Teste 1 Nesta seção é apresentado o resultado obtido no primeiro teste realizado. O principal objetivo deste teste foi avaliar o desempenho do método na tarefa de extrair o contorno de telhado, a partir de um único ponto semente. Foi escolhido um edifício isolado para se evitar problemas de confusão com conjuntos de árvores adjacentes. O edifício escolhido no MDSn não apresenta estruturas laterais retilíneas, mas os limites (bordas) estão bem definidos. Os valores dos pesos utilizados neste teste foram α i = 0.8, β i = 0.002, λ i = 0.9 e N = 120. A Figura (7.1) mostra a evolução da curva snake progressivamente, desde o ponto semente dado pelo operador até a extração do contorno do telhado do edifício. (a) (b)

66 63 (c) (d) (e) (f) Figura 7.1: Teste 1: (a) Ponto Semente Dado Pelo Operador. (b), (c), (d) e (e) Evolução da Curva. (f) Contorno Extraído. Pode-se observar através do resultado obtido que o método de extração foi bem sucedido. Mesmo com as anomalias apresentadas nas laterais e nas regiões de canto do edifício, o método conseguiu extrair o contorno do telhado do edifício. Os pontos correspondentes as laterais foram extraídos corretamente, já alguns pontos representativos das quinas não foram extraídos, pois o número de pontos amostrados não foi suficiente para modelar esta região. A análise numérica foi realizada a partir da comparação da área do objeto extraído pelo método proposto com o objeto extraído manualmente apresentado na Figura (7.2). O valor resultante de completeza de área C obtido no primeiro teste foi de 96, 8%. O resultado obtido na análise numérica indica que o contorno extraído pelo método possui boa correspondência com os limites reais do telhado do edifício. De um modo geral, o método de extração funcionou adequadamente, mesmo com as anomalias presentes nas laterais e regiões de canto do edifício.

67 64 Figura 7.2: Contorno Extraído Manualmente Utilizado na Análise Numérica do Resultado Obtido no Teste Teste 2 A Figura (7.3) mostra sequencialmente a evolução da curva snake até a extração do contorno de telhado do segundo edifício. A Figura (7.3(a)) mostra o ponto semente dado pelo operador (em azul), o qual é necessário para dar início ao processo de extração e por fim na Figura (7.3(f)), o contorno extraído. O edifício escolhido para a realização deste teste apresenta formato retangular, com laterais e cantos bastante irregulares, devido ao processo de elaboração do MDSn, mas com bordas bem definidas. Os valores dos pesos utilizados neste teste foram α i = 0.7, β i = 0.002, λ i = 0.8 e N = 90. (a) (b)

68 65 (c) (d) (e) (f) Figura 7.3: Teste 2: (a) Ponto Semente Dado Pelo Operador. (b), (c), (d) e (e) Evolução da Curva. (f) Contorno Extraído. Através do resultado obtido, pode-se observar que o método de extração foi bem sucedido, mas irregularidades no modelo de superfície impediram a extração de alguns pontos correspondentes as laterais e quinas do edifício. Tais irregularidades podem ser provocadas pela falta de densidade de pontos. O valor resultante de completeza de área C obtido no segundo teste foi 99, 7%, alcançado através da comparação da área do objeto extraído utilizando o método proposto com o objeto extraído manualmente, ilustrado na Figura (7.4). O alto valor obtido na análise numérica significa boa correspondência entre os contornos extraídos pelo método e manualmente. Podendo assim concluir que o método extraiu o contorno do telhado do edifício de maneira eficiente.

69 66 Figura 7.4: Contorno Extraído Manualmente Utilizado na Análise Numérica do Resultado Obtido no Teste Teste 3 No terceiro teste realizado, foi utilizado o MDSn de mais um edifício isolado. principal objetivo deste teste foi avaliar o desempenho do método na tarefa de extrair o contorno do telhado. A Figura (7.5(a)) mostra o ponto semente dado pelo operador, a Figura (7.5(f)) mostra o contorno extraído e as demais figuras mostram a evolução da curva snake. Para este teste os valores dos pesos utilizados foram α i = 0.9, β i = 0.002, λ i = 0.8 e N = 100. O (a) (b) (c) (d)

70 67 (e) (f) Figura 7.5: Teste 3: (a) Ponto Semente Dado Pelo Operador. (b), (c), (d) e (e) Evolução da Curva. (f) Contorno Extraído. Pode-se perceber visualmente através do resultado obtido, que o método extraiu o contorno do telhado de edifício. Os pontos correspondentes às laterais e a maioria dos pontos correspondentes às regiões de canto foram extraídos de forma eficiente. Alguns pontos de regiões de canto não foram extraídos pela falta de densidade de pontos. A Figura (7.6) ilustra o contorno de referência utilizado na análise numérica. Este contorno foi comparado com o contorno obtido pelo método desenvolvido, ilustrado na Figura (7.5(f)). O valor resultante de completeza de área C foi de 93, 5%, indicando que a extração do contorno foi bem sucedida. Os pontos correspondentes as regiões de canto que não foram extraídos contribuíram para que o parâmetro de qualidade não fosse ainda maior. Figura 7.6: Contorno Extraído Manualmente Utilizado na Análise Numérica do Resultado Obtido no Teste Teste 4 Nesta seção é apresentado o resultado obtido no quarto teste realizado. A Figura (7.7) mostra a evolução da curva snake desde o ponto inicial até o contorno extraído. Para a realização deste teste foi utilizada a imagem do MDSn, nos quais aparecem em cena mais de um objeto classificado como alto, mas o objetivo é extrair somente o contorno

71 de telhado do edifício que aparece por inteiro. Os valores dos pesos utilizados foram os seguintes α i = 1, β i = 0.004, λ i = 0.9 e N = (a) (b) (c) (d) (e) (f) Figura 7.7: Teste 4: (a) Ponto Semente Dado Pelo Operador. (b), (c), (d) e (e) Evolução da Curva. (f) Contorno Extraído. A inspeção visual dos resultados obtidos indica que o método de extração foi bem sucedido, mesmo com as anomalias apresentadas nas laterais e nas regiões de canto do telhado do edifício. Os pontos que representam as laterais e regiões de canto foram extraídos de forma eficiente.

72 69 O valor resultante de completeza de área C foi 94, 6%, obtido através da comparação da área do objeto extraído utilizando o método proposto com o objeto extraído manualmente, ilustrado na Figura (7.8). Figura 7.8: Contorno Extraído Manualmente Utilizado na Análise Numérica do Resultado Obtido no Teste 4. O resultado obtido na análise numérica indica que o método desenvolvido funcionou de maneira eficiente na tarefa de extrair o contorno do telhado do edifício. É importante notar que o contorno utilizado como referência possui lados paralelos e ortogonais buscando uma boa aproximação do contorno real do telhado do edifício Teste 5 Nesta seção é apresentado o resultado obtido no quinto teste realizado. Foi escolhido o MDSn de uma região mais movimentada onde vários objetos foram classificados como altos. Esta região oferece uma dificuldade ainda maior ao método de extração, pois além das anomalias presentes nas laterais e regiões de canto, também aparecem objetos vizinhos próximos ao telhado do edifício que aparece por inteiro. A Figura (7.9) mostra a evolução da curva snake desde o ponto inicial, como ilustrado na Figura (7.9(a)), até o contorno extraído, como ilustrado na Figura (7.9(f)). Os valores dos pesos utilizados são os seguintes α i = 0.9, β i = 0.002, λ i = 0.9 e N = 120. A influência do objeto vizinho que está próximo ao telhado, pode fazer o método não funcionar adequadamente, pois a curva snake pode saltar o limite do telhado de edifício em análise e avançar para o objeto vizinho, como se fossem o mesmo edifício.

73 70 (a) (b) (c) (d) (e) (f) Figura 7.9: Teste 5: (a) Ponto Semente Dado Pelo Operador. (b), (c), (d) e (e) Evolução da Curva. (f) Contorno Extraído.

74 71 Pode-se observar através do resultado obtido que o método foi bem sucedido, extraindo pontos correspondentes às laterais e regiões de canto do edifício. Nota-se também que os pontos correspondentes às regiões próximas a transição entre os dois objetos foram extraídos e que a curva não saltou o limite do telhado, mostrando que o critério de parada apresentado na Seção (6.2), funciona de forma eficiente. A análise numérica foi realizada a partir da comparação da área do objeto extraído pelo método desenvolvido com o objeto extraído manualmente apresentado na Figura (7.10). O valor resultante de completeza de área C obtido no quinto teste foi 95, 8%. Figura 7.10: Contorno Extraído Manualmente Utilizado na Análise Numérica do Resultado Obtido no Teste 5. O contorno utilizado como referência simula o contorno real do telhado do edifício. O valor obtido na análise numérica significa boa correspondência entre os contornos extraídos pelo algoritmo e manualmente. Pode-se concluir que o processo de extração do contorno do telhado do edifício foi bem sucedido.

Contornos de Telhados Convexos de Edifícios Baseado em Snake

Contornos de Telhados Convexos de Edifícios Baseado em Snake Trabalho apresentado no CMAC-Sul, Curitiba-PR, 2014. Método de Extração Semiautomático de Contornos de Telhados Convexos de Edifícios Baseado em Snake Diego Venâncio Thomaz Núcleo de Matemática e Estatística,

Leia mais

X Colóquio Brasileiro de Ciências Geodésica. Curitiba-Pr, 06-08/Junho/2018 SNAKES: FUNDAMENTOS E APLICAÇÕES NA EXTRAÇÃO DE FEIÇÕES LINEARES

X Colóquio Brasileiro de Ciências Geodésica. Curitiba-Pr, 06-08/Junho/2018 SNAKES: FUNDAMENTOS E APLICAÇÕES NA EXTRAÇÃO DE FEIÇÕES LINEARES X Colóquio Brasileiro de Ciências Geodésica Curitiba-Pr, 06-08/Junho/018 SNAKES: FUNDAMENTOS E APLICAÇÕES NA EXTRAÇÃO DE FEIÇÕES LINEARES ALUIR P. DAL POZ (1) ÉRICO F. O. MARTINS () (1) FCT/UNESP Depto.

Leia mais

ANTONIO JULIANO FAZAN

ANTONIO JULIANO FAZAN unesp UNIVERSIDADE ESTADUAL PAULISTA Faculdade de Ciências e Tecnologia ANTONIO JULIANO FAZAN EXTRAÇÃO DE CONTORNOS DE TELHADO DE EDIFÍCIOS NO ESPAÇO-OBJETO BASEADA EM SNAKES E PROGRAMAÇÃO DINÂMICA A PARTIR

Leia mais

Processamento Digital de Imagens

Processamento Digital de Imagens Ciência da Computação Processamento Digital de Imagens Tópicos Detecção de Pontos Isolados Detecção de Linhas Prof. Sergio Ribeiro 2 Operações lógicas e aritméticas orientadas a vizinhança utilizam o conceito

Leia mais

5 Formulação Dinâmica Não Linear no Domínio da Frequência

5 Formulação Dinâmica Não Linear no Domínio da Frequência 129 5 Formulação Dinâmica Não Linear no Domínio da Frequência No Capítulo 2, foram apresentadas as formulações para a análise dinâmica de estruturas reticuladas no domínio do tempo, sendo uma informação

Leia mais

Aula 7 - Representação e Descrição de Estruturas Bi-dimensionais. Prof. Adilson Gonzaga

Aula 7 - Representação e Descrição de Estruturas Bi-dimensionais. Prof. Adilson Gonzaga Aula 7 - Representação e Descrição de Estruturas Bi-dimensionais Prof. Adilson Gonzaga 1 Introdução Objetos ou Segmentos são representados como uma coleção de pixels em uma imagem. Para o reconhecimento

Leia mais

Processamento de Malhas Poligonais

Processamento de Malhas Poligonais Processamento de Malhas Poligonais Tópicos Avançados em Computação Visual e Interfaces I Prof.: Marcos Lage www.ic.uff.br/~mlage mlage@ic.uff.br Conteúdo: Notas de Aula Curvas 06/09/2015 Processamento

Leia mais

Processamento digital de imagens

Processamento digital de imagens Processamento digital de imagens Agostinho Brito Departamento de Engenharia da Computação e Automação Universidade Federal do Rio Grande do Norte 6 de outubro de 2016 Segmentação de imagens A segmentação

Leia mais

Simulação Gráfica. Segmentação de Imagens Digitais. Julio C. S. Jacques Junior

Simulação Gráfica. Segmentação de Imagens Digitais. Julio C. S. Jacques Junior Simulação Gráfica Segmentação de Imagens Digitais Julio C. S. Jacques Junior Segmentação Subdivide uma imagem em suas partes ou objetos constituintes. O nível até o qual essa subdivisão deve ser realizada

Leia mais

Modelagem Computacional. Parte 7 2

Modelagem Computacional. Parte 7 2 Mestrado em Modelagem e Otimização - RC/UFG Modelagem Computacional Parte 7 2 Prof. Thiago Alves de Queiroz 2/2016 2 [Cap. 7] BURDEN, R. L.; FAIRES, J. D. Numerical Analysis (9th ed). Cengage Learning,

Leia mais

SEL-0339 Introdução à Visão Computacional. Aula 5 Segmentação de Imagens

SEL-0339 Introdução à Visão Computacional. Aula 5 Segmentação de Imagens Departamento de Engenharia Elétrica - EESC-USP SEL-0339 Introdução à Visão Computacional Aula 5 Segmentação de Imagens Prof. Dr. Marcelo Andrade da Costa Vieira Prof. Dr. Adilson Gonzaga Segmentação de

Leia mais

3 SPH. 3.1 Introdução

3 SPH. 3.1 Introdução 3 SPH 3.1 Introdução Smoothed Particle Hydrodynamics (SPH) é um método puramente Lagrangiano desenvolvido por Lucy (1977) e Gingold (1977) em um estudo do campo da astrofísica voltado para colisão entre

Leia mais

)XQGDPHQWRVGHSURJUDPDomRPDWHPiWLFD

)XQGDPHQWRVGHSURJUDPDomRPDWHPiWLFD )XQGDPHQWRVGHSURJUDPDomRPDWHPiWLFD,QWURGXomR A grande maioria dos problemas de engenharia pode ser solucionado de diferentes formas, uma vez que um número muito grande de soluções atende aos critérios

Leia mais

Fundamentos da Computação Gráfica

Fundamentos da Computação Gráfica Fundamentos da Computação Gráfica Trabalho 2 Visão. Detecção de cantos. Manuel Alejandro Nodarse Moreno (1322198) Introdução. Detecção de cantos é uma abordagem utilizada em sistemas de visão computacional

Leia mais

UNIVERSIDADE ESTADUAL PAULISTA Campus de Sorocaba. Segmentação

UNIVERSIDADE ESTADUAL PAULISTA Campus de Sorocaba. Segmentação UNIVERSIDADE ESTADUAL PAULISTA Campus de Sorocaba Segmentação A separação dos pixeis relativos a cada objeto, ou região, é uma etapa fundamental para o sucesso do processo de análise da imagem. Embora

Leia mais

ANÁLISE DA SEGMENTAÇÃO DO VENTRÍCULO ESQUERDO EM IMAGENS DIGITAIS DE ECOCARDIOGRAMA POR DIFERENTES MÉTODOS DE CONTORNOS ATIVOS

ANÁLISE DA SEGMENTAÇÃO DO VENTRÍCULO ESQUERDO EM IMAGENS DIGITAIS DE ECOCARDIOGRAMA POR DIFERENTES MÉTODOS DE CONTORNOS ATIVOS ANÁLISE DA SEGMENTAÇÃO DO VENTRÍCULO ESQUERDO EM IMAGENS DIGITAIS DE ECOCARDIOGRAMA POR DIFERENTES MÉTODOS DE CONTORNOS ATIVOS José de Arimatéia CARVALHO SILVA JÚNIOR(1); Tarique SILVEIRA CAVALCANTE(1);

Leia mais

LOM Teoria da Elasticidade Aplicada

LOM Teoria da Elasticidade Aplicada Departamento de Engenharia de Materiais (DEMAR) Escola de Engenharia de orena (EE) Universidade de São Paulo (USP) OM3 - Teoria da Elasticidade Aplicada Parte 4 - Análise Numérica de Tensões e Deformações

Leia mais

Processamento de Imagem. Filtragem no Domínio Espacial Professora Sheila Cáceres

Processamento de Imagem. Filtragem no Domínio Espacial Professora Sheila Cáceres Processamento de Imagem Filtragem no Domínio Espacial Professora Sheila Cáceres Filtragem A filtragem de imagens pode ser realizada no domínio do espaço e da frequência Operadores de filtragem são classificados

Leia mais

PMR2560 Visão Computacional Detecção de bordas. Prof. Eduardo L. L. Cabral

PMR2560 Visão Computacional Detecção de bordas. Prof. Eduardo L. L. Cabral PMR56 Visão Computacional Detecção de bordas Prof. Eduardo L. L. Cabral Objetivos Processamento de imagens: Características; Detecção de bordas. Características Tipos de características: Bordas; Cantos;

Leia mais

Ezequias Martins França Paulo Giovanni de Souza Carvalho. Resolução dos problemas 2.4 e 2.6 da lista de exercícios

Ezequias Martins França Paulo Giovanni de Souza Carvalho. Resolução dos problemas 2.4 e 2.6 da lista de exercícios Ezequias Martins França Paulo Giovanni de Souza Carvalho Resolução dos problemas 2.4 e 2.6 da lista de exercícios Brasil 2017 Ezequias Martins França Paulo Giovanni de Souza Carvalho Resolução dos problemas

Leia mais

Comparação de Desempenho entre o Método dos Elementos de Contorno com Integração Direta e o Método dos Elementos Finitos em problemas de Poisson

Comparação de Desempenho entre o Método dos Elementos de Contorno com Integração Direta e o Método dos Elementos Finitos em problemas de Poisson Trabalho apresentado no III CMAC - SE, Vitória-ES, 2015. Proceeding Series of the Brazilian Society of Computational and Applied Mathematics Comparação de Desempenho entre o Método dos Elementos de Contorno

Leia mais

6 MÉTODO DE ELEMENTOS FINITOS - MEF

6 MÉTODO DE ELEMENTOS FINITOS - MEF 6 MÉTODO DE ELEMENTOS FINITOS - MEF O Método de Elementos Finitos é uma técnica de discretização de um problema descrito na Formulação Fraca, na qual o domínio é aproximado por um conjunto de subdomínios

Leia mais

3 Implementação Computacional

3 Implementação Computacional 3 Implementação Computacional Neste trabalho considerou-se o estudo da instabilidade elástica e inelástica de estruturas planas como vigas, colunas, pórticos e arcos. No estudo deste tipo de estruturas

Leia mais

Pesquisas em Geociências

Pesquisas em Geociências Pesquisas em Geociências http://seer.ufrgs.br/pesquisasemgeociencias Extração de Rodovias Utilizando Snakes Rafael Montanhini Soares de Oliveira, Aluir Porfiro Dal Poz Pesquisas em Geociências, 31 (2):

Leia mais

4 Extração direta das PELs

4 Extração direta das PELs 4 Extração direta das PELs A detecção de arestas em imagens está relacionada à extração de feições, sendo uma ferramenta fundamental em processamento de imagens e visão computacional. Essa detecção visa

Leia mais

Universidade Federal do Rio de Janeiro - IM/DCC & NCE

Universidade Federal do Rio de Janeiro - IM/DCC & NCE Universidade Federal do Rio de Janeiro - IM/DCC & NCE Processamento de Imagens Segmentação Antonio G. Thomé thome@nce.ufrj.br Sala AEP/133 Conceituação Segmentação é uma tarefa básica no processo de análise

Leia mais

Disciplina : Mecânica dos fluidos I. Aula 4: Estática dos Fluidos

Disciplina : Mecânica dos fluidos I. Aula 4: Estática dos Fluidos Curso: Engenharia Mecânica Disciplina : Mecânica dos fluidos I Aula 4: Estática dos Fluidos Prof. Evandro Rodrigo Dário, Dr. Eng. Estática dos Fluidos A pressão gerada no interior de um fluido estático

Leia mais

(x 1, y 1 ) (x 2, y 2 ) = (x 1 x 2, y 1 y 2 ); e α (x, y) = (x α, y α ), α R.

(x 1, y 1 ) (x 2, y 2 ) = (x 1 x 2, y 1 y 2 ); e α (x, y) = (x α, y α ), α R. INSTITUTO DE MATEMÁTICA E ESTATÍSTICA UNIVERSIDADE DE SÃO PAULO MAT-2457 Álgebra Linear para Engenharia I Terceira Lista de Exercícios - Professor: Equipe da Disciplina EXERCÍCIOS 1. Considere as retas

Leia mais

Modelagem Computacional. Parte 8 2

Modelagem Computacional. Parte 8 2 Mestrado em Modelagem e Otimização - RC/UFG Modelagem Computacional Parte 8 2 Prof. Thiago Alves de Queiroz 2/2016 2 [Cap. 10 e 11] BURDEN, R. L.; FAIRES, J. D. Numerical Analysis (9th ed). Cengage Learning,

Leia mais

Extração Semi-Automática de Feições Lineares e a Calibração dos Parâmetros Intrínsecos de Câmeras

Extração Semi-Automática de Feições Lineares e a Calibração dos Parâmetros Intrínsecos de Câmeras Extração Semi-Automática de Feições Lineares e a Calibração dos Parâmetros Intrínsecos de Câmeras Leonardo Ercolin Filho 1 1 Escola Politécnica Universidade de São Paulo (USP) Caixa Postal São Paulo SP

Leia mais

Occupancy grid based graph-slam using the distance transform, SURF features and SGD

Occupancy grid based graph-slam using the distance transform, SURF features and SGD Occupancy grid based graph-slam using the distance transform, SURF features and SGD Autores: Arturo Gil, Miguel Juliá, Óscar Reinoso Artur Segal Kaim Agenda Introdução Arquitetura Resultados Trabalho futuro

Leia mais

Processamento de Imagem. Convolução Filtragem no Domínio da Frequência (Fourier) Professora Sheila Cáceres

Processamento de Imagem. Convolução Filtragem no Domínio da Frequência (Fourier) Professora Sheila Cáceres Processamento de Imagem Convolução Filtragem no Domínio da Frequência (Fourier) Professora Sheila Cáceres Lembrando Filtragem Correlação A correlação e a convolução sãos dois conceitos relacionados a filtragem.

Leia mais

Modelagem de Curvas B-Spline na Metodologia de Extração de Rodovias em Imagens Digitais

Modelagem de Curvas B-Spline na Metodologia de Extração de Rodovias em Imagens Digitais Modelagem de Curvas B-Spline na Metodologia de Extração de Rodovias em Imagens Digitais Autor(a): Elizeu Martins de Oliveira Junior¹ Instituição: Universidade do Estado de Mato Grosso Orientador(a): Érico

Leia mais

2 Trabalhos Relacionados

2 Trabalhos Relacionados 2 Trabalhos Relacionados Este capítulo apresenta os algoritmos já existentes que são utilizados nesta dissertação para obter pontos homólogos entre duas imagens de um par estéreo. Pode-se classificar essas

Leia mais

CURVAS REGULARES E EQUAÇÕES DE FRENET. Thiago Mariano Viana ¹, Dr. Fernando Pereira Souza ²

CURVAS REGULARES E EQUAÇÕES DE FRENET. Thiago Mariano Viana ¹, Dr. Fernando Pereira Souza ² 1 CURVAS REGULARES E EQUAÇÕES DE FRENET Thiago Mariano Viana ¹, Dr. Fernando Pereira Souza ² ¹ Aluno do curso de Matemática CPTL/UFMS, bolsista do grupo PET Matemática CPTL/UFMS; ² Professor do curso de

Leia mais

Filtragem. pixel. perfil de linha. Coluna de pixels. Imagem. Linha. Primeiro pixel na linha

Filtragem. pixel. perfil de linha. Coluna de pixels. Imagem. Linha. Primeiro pixel na linha Filtragem As técnicas de filtragem são transformações da imagem "pixel" a "pixel", que dependem do nível de cinza de um determinado "pixel" e do valor dos níveis de cinza dos "pixels" vizinhos, na imagem

Leia mais

Objetos Gráficos Planares

Objetos Gráficos Planares Universidade Federal de Sergipe Departamento de Matemática Objetos Gráficos Planares Profª. Maria Andrade 2016 Objetos Gráficos Computação Gráfica é a área que estuda a síntese, o processamento e a análise

Leia mais

Algoritmos Numéricos I. Lucia Catabriga 1

Algoritmos Numéricos I. Lucia Catabriga 1 Algoritmos Numéricos I Problema de Valor no Contorno (PVC) Método das Diferenças Finitas Lucia Catabriga 1 1 DI/UFES - Brazil Novembro 2014 Introdução Introdução A solução de Problemas de Valor no Contorno

Leia mais

4 Estado da Arte do Kernel PCA

4 Estado da Arte do Kernel PCA 4 Estado da Arte do Kernel PCA Conforme apresentado no Capítulo 1, o Kernel PCA é uma técnica promissora para auxiliar no processo de ajuste de histórico, devido a sua capacidade de extrair parte da estatística

Leia mais

2 SIFT (Scale Invariant Feature Transform)

2 SIFT (Scale Invariant Feature Transform) SIFT (Scale Invariant Feature Transform) O SIFT é um algoritmo de visão computacional proposto e publicado pelo pesquisador David Lowe (Lowe, 1999), professor do departamento de Ciência da Computação na

Leia mais

CAPÍTULO 4 SEGMENTAÇÃO DE IMAGENS SAR

CAPÍTULO 4 SEGMENTAÇÃO DE IMAGENS SAR CAPÍTULO 4 SEGMENTAÇÃO DE IMAGENS SAR Segundo Gonzales e Wintz (1987), um dos primeiros passos do processo de análise de uma imagem digital consiste em particioná-la em seus elementos constituintes. O

Leia mais

4 Implementação Computacional

4 Implementação Computacional 4 Implementação Computacional 4.1. Introdução Neste capítulo é apresentada a formulação matemática do problema de otimização da disposição das linhas de ancoragem para minimizar os deslocamentos (offsets)

Leia mais

CONTEÚDOS PROGRAMADOS. (Análise Computacional de Tensões EEK 533)

CONTEÚDOS PROGRAMADOS. (Análise Computacional de Tensões EEK 533) (Análise Computacional de Tensões EEK 533) - AULAS POR UNIDADE 1 - Princípios Variacionais 1.1 - Princípio dos Trabalhos Virtuais 1.2 - Princípios da Mínima Energia Total e da Mínima energia complementar.

Leia mais

Aula 6. Doravante iremos dizer que r(t) é uma parametrização da curva, e t é o parâmetro usado para descrever a curva.

Aula 6. Doravante iremos dizer que r(t) é uma parametrização da curva, e t é o parâmetro usado para descrever a curva. Curvas ou Funções Vetoriais: Aula 6 Exemplo 1. Círculo como coleção de vetores. Vetor posição de curva: r(t) = (cos t, sen t), t 2π r(t) pode ser vista como uma função vetorial: r : [, 2π] R R 2 Doravante

Leia mais

2 Análise do Colapso de Estruturas através do Método dos Elementos Finitos

2 Análise do Colapso de Estruturas através do Método dos Elementos Finitos 2 Análise do Colapso de Estruturas através do Método dos Elementos Finitos Neste capítulo, através do método dos elementos finitos baseado em deslocamentos, são apresentadas três técnicas de análise do

Leia mais

CARACTERÍSTICAS DE IMAGENS: PONTOS E SUPERFÍCIES

CARACTERÍSTICAS DE IMAGENS: PONTOS E SUPERFÍCIES CARACTERÍSTICAS DE IMAGENS: PONTOS E SUPERFÍCIES O que são? CARACTERÍSTICAS DE IMAGENS (Image Features) o Propriedades Globais de uma imagem, ou de parte dela (característica global). Por exemplo: Médias

Leia mais

Métodos Numéricos. Professor Tenani - 9 de Agosto de 2015

Métodos Numéricos. Professor Tenani -  9 de Agosto de 2015 Métodos Numéricos Professor Tenani - www.professortenani.com.br 9 de Agosto de 2015 Métodos Numéricos Professor Tenani - www.professortenani.com.br 1 / 51 Índice Métodos Numéricos Professor Tenani - www.professortenani.com.br

Leia mais

LOM Teoria da Elasticidade Aplicada

LOM Teoria da Elasticidade Aplicada Departamento de Engenaria de Materiais (DEMAR) Escola de Engenaria de Lorena (EEL) Universidade de São Paulo (USP) LOM310 - Teoria da Elasticidade Aplicada Parte 4 - Análise Numérica de Tensões e Deformações

Leia mais

Objetos Gráficos Planares

Objetos Gráficos Planares Universidade Federal de Alagoas Instituto de Matemática Objetos Gráficos Planares Prof. Thales Vieira 2011 Objetos Gráficos Computação Gráfica é a área que estuda a síntese, o processamento e a análise

Leia mais

2 Casca cilíndrica delgada

2 Casca cilíndrica delgada Vibrações livres não lineares de cascas cilíndricas com gradação funcional 29 2 Casca cilíndrica delgada Inicia-se este capítulo com uma pequena introdução sobre cascas e, em seguida, apresenta-se a teoria

Leia mais

Conceitos Matemáticos & Notações

Conceitos Matemáticos & Notações Conceitos Matemáticos & Notações Apêndice A: Notações - x,δx: uma pequena mudança em x - t : a derivada parcial em relação a t mantendo as outras variáveis fixadas d - : a derivada no tempo de uma quantidade

Leia mais

Noções de Álgebra Linear

Noções de Álgebra Linear Noções de Álgebra Linear 1. Espaços vetoriais lineares 1.1. Coordenadas 2. Operadores lineares 3. Subespaços fundamentais 4. Espaços normados 5. Espaços métricos 6. Espaços de Banach 7. Espaços de Hilbert

Leia mais

Departamento de Matemática

Departamento de Matemática Computação Gráfica - Evolução de Curvas e Superfícies Aluno: Vinícius Segura Orientador: Sinésio Pesco Introdução Nas últimas décadas atravessamos uma verdadeira revolução tecnológica, devido ao avanço

Leia mais

SUPPORT VECTOR MACHINE - SVM

SUPPORT VECTOR MACHINE - SVM SUPPORT VECTOR MACHINE - SVM Definição 2 Máquinas de Vetores Suporte (Support Vector Machines - SVMs) Proposto em 79 por Vladimir Vapnik Um dos mais importantes acontecimentos na área de reconhecimento

Leia mais

Projeções Multi-dimensionais

Projeções Multi-dimensionais Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação (ICMC) Universidade de São Paulo (USP) 23 de setembro de 2010 Introdução

Leia mais

Processamento de Imagens COS756 / COC603

Processamento de Imagens COS756 / COC603 Processamento de Imagens COS756 / COC603 aula 07 - deteção de características de baixo-nível (low-level feature detection) Antonio Oliveira Ricardo Marroquim 1 / 35 aula de hoje feature detection overview

Leia mais

Interpolação de Curvas de Nível por Difusão de Calor

Interpolação de Curvas de Nível por Difusão de Calor Interpolação de Curvas de Nível por Difusão de Calor Roberto de Beauclair Seixas Luiz Henrique de Figueiredo Cláudio Antonio da Silva {tron,lhf,cads}@visgraf.impa.br Motivação Identificação de um método

Leia mais

Curvas HERMITE. Figura 1 - Efeito oscilatório dos polinômios: [PAVLIDIS, 1984]

Curvas HERMITE. Figura 1 - Efeito oscilatório dos polinômios: [PAVLIDIS, 1984] Curvas A representação de uma curva como uma sucessão de trecho retos pode ser suficiente para várias aplicações. No entanto, curvas e superfícies complexas normalmente demandam uma maneira mais eficiente

Leia mais

2 Propriedades geométricas de curvas parametrizadas no R 4

2 Propriedades geométricas de curvas parametrizadas no R 4 2 Propriedades geométricas de curvas parametrizadas no R 4 Nesse capítulo trataremos dos conceitos básicos de geometria diferencial referentes à curvas parametrizadas no R 4. 2.1 Curvas Parametrizadas

Leia mais

Sessão 1: Generalidades

Sessão 1: Generalidades Sessão 1: Generalidades Uma equação diferencial é uma equação envolvendo derivadas. Fala-se em derivada de uma função. Portanto o que se procura em uma equação diferencial é uma função. Em lugar de começar

Leia mais

Universidade Federal do Espírito Santo - UFES

Universidade Federal do Espírito Santo - UFES Universidade Federal do Espírito Santo - UFES Centro Universitário Norte do Espírito Santo - CEUNES Departamento de Matemática Aplicada - DMA Prof. Isaac P. Santos - 2018/1 Aula: Métodos Iterativos Para

Leia mais

Aula 3 Volumes Finitos

Aula 3 Volumes Finitos Universidade Federal do ABC Aula 3 Volumes Finitos EN3224 Dinâmica de Fluidos Computacional Duas metodologias Leis de Conservação Integrais EDPs O Método dos Volumes Finitos (MVF) Leis de Conservação Integrais

Leia mais

Otimização da Paleta de Cores

Otimização da Paleta de Cores Otimização da Paleta de Cores Resumo O objetivo deste artigo é apresentar a técnica de otimização da paleta de cores utilizada no MSX Viewer 5 para encontrar a melhor paleta de cores do MSX 2 e do v9990,

Leia mais

Exemplos. Propagação (Reconstrução)

Exemplos. Propagação (Reconstrução) Processamento de Imagens Médicas Morfologia Matemática em Imagens Prof. Luiz Otavio Murta Jr. Informática Biomédica Depto. de Física e Matemática (FFCLRP/USP) Propagação (Reconstrução) lgoritmos Baseados

Leia mais

Processamento Digital de Imagens. Análise de Imagens

Processamento Digital de Imagens. Análise de Imagens Processamento Digital de Imagens Análise de Imagens Eduardo A. B. da Silva Programa de Engenharia Elétrica - COPPE/UFRJ Laboratório de Sinais, Multimídia e Telecomunicações eduardo@smt.ufrj.br Sergio L.

Leia mais

2 Procedimentos para Análise de Colisão de Veículos Terrestres Deformáveis

2 Procedimentos para Análise de Colisão de Veículos Terrestres Deformáveis 2 Procedimentos para Análise de Colisão de Veículos Terrestres Deformáveis 15 Com o objetivo de aumentar a segurança de seus veículos, os fabricantes automotivos estudam acidentes nos quais seus produtos

Leia mais

Geometria Computacional

Geometria Computacional Geometria Computacional Claudio Esperança Paulo Roma Cavalcanti Estrutura do Curso Aspectos teóricos e práticos Construção e análise de algoritmos e estruturas de dados para a solucionar problemas geométricos

Leia mais

Algoritmos geométricos

Algoritmos geométricos Algoritmos geométricos introdução a conceitos básicos de geometria computacional que serão abordados de forma mais avançada na disciplina Computação Gráfica disciplina de computação gráfica arquitetura

Leia mais

Guia de Atividades usando o método de Euler para encontrar a solução de uma Equação Diferencial Ordinária

Guia de Atividades usando o método de Euler para encontrar a solução de uma Equação Diferencial Ordinária Guia de Atividades usando o método de Euler para encontrar a solução de uma Equação Diferencial Ordinária Para algumas situações-problema, cuja formulação matemática envolve equações diferenciais, é possível

Leia mais

Processamento de Imagem. Relaçionamentos entre pixels e Operações Aritméticas e Lógicas Professora Sheila Cáceres

Processamento de Imagem. Relaçionamentos entre pixels e Operações Aritméticas e Lógicas Professora Sheila Cáceres Processamento de Imagem Relaçionamentos entre pixels e Operações Aritméticas e Lógicas Professora Sheila Cáceres Relacionamentos básicos entre elementos de uma imagem Vizinhança Conectividade Adjacência

Leia mais

Reconstrução de Geometria a Partir da Conectividade 27

Reconstrução de Geometria a Partir da Conectividade 27 3 Reconstrução de Malha por Minimização Neste capítulo apresentaremos a formalização do problema de reconstrução da geometria de malhas seguindo a proposta de Sorkine (16) e o método computacional que

Leia mais

Funções de Green. Prof. Rodrigo M. S. de Oliveira UFPA / PPGEE

Funções de Green. Prof. Rodrigo M. S. de Oliveira UFPA / PPGEE Funções de Green Prof. Rodrigo M. S. de Oliveira UFPA / PPGEE Funções de Green Suponha que queremos resolver a equação não-homogênea no intervalo a x b, onde f (x) é uma função conhecida. As condições

Leia mais

4 Modelagem Numérica. 4.1 Método das Diferenças Finitas

4 Modelagem Numérica. 4.1 Método das Diferenças Finitas 4 Modelagem Numérica Para se obter a solução numérica das equações diferenciais que regem o processo de absorção de CO 2,desenvolvido no capitulo anterior, estas precisam ser transformadas em sistemas

Leia mais

Laboratório de Simulação Matemática. Parte 7 2

Laboratório de Simulação Matemática. Parte 7 2 Matemática - RC/UFG Laboratório de Simulação Matemática Parte 7 2 Prof. Thiago Alves de Queiroz 2/2017 2 [Cap. 7] BURDEN, R. L.; FAIRES, J. D. Numerical Analysis (9th ed). Cengage Learning, 2010. Thiago

Leia mais

Processamento de Imagens Marcia A. S. Bissaco

Processamento de Imagens Marcia A. S. Bissaco Engenharia Biomédica Processamento de Imagens Marcia A. S. Bissaco 1 Exemplos filtros Média Mediana Passa_B Passa_A Borda_H Borda_V Sobel_Y Sobel_X Oliveira, Henrique J. Quintino (UMC-SP), 2 Media Mediana

Leia mais

ESTRUTURAS PARA LINHAS DE TRANSMISSÃO 6 MÉTODO DOS ELEMENTOS FINITOS

ESTRUTURAS PARA LINHAS DE TRANSMISSÃO   6 MÉTODO DOS ELEMENTOS FINITOS LINHAS DE 6 MÉTODO DOS ELEMENTOS FINITOS Método de Rayleigh - Ritz É um método de discretização, ou seja, a minimização de um conjunto restrito π = (a 1, a 2,... a n ), que depende de um número finito

Leia mais

3 Extração de Regras Simbólicas a partir de Máquinas de Vetores Suporte 3.1 Introdução

3 Extração de Regras Simbólicas a partir de Máquinas de Vetores Suporte 3.1 Introdução 3 Extração de Regras Simbólicas a partir de Máquinas de Vetores Suporte 3.1 Introdução Como já mencionado na seção 1.1, as SVMs geram, da mesma forma que redes neurais (RN), um "modelo caixa preta" de

Leia mais

Métodos Numéricos em Equações Diferenciais Aula 02 - Método de Euler

Métodos Numéricos em Equações Diferenciais Aula 02 - Método de Euler Métodos Numéricos em Equações Diferenciais Aula 02 - Método de Euler Profa. Vanessa Rolnik curso: Matemática Aplicada a Negócios Introdução Método de Diferenças: { w0 = α w i+1 = w i + h φ(t i, w i ),

Leia mais

Conceitos fundamentais em uma dimensão Bases

Conceitos fundamentais em uma dimensão Bases fundamentais em uma dimensão PME5425 Métodos de Elementos Finitos de Alta Ordem com Aplicações em Mecânica dos Fluidos e Transferência de Calor Prof. Programa de Pós-Graduação em Engenharia Mecânica Escola

Leia mais

PROGRAMA DE ENSINO. Área de Concentração Aquisição, análise e representação da informação espacial

PROGRAMA DE ENSINO. Área de Concentração Aquisição, análise e representação da informação espacial PROGRAMA DE ENSINO Disciplina Seminários em Métodos de Análise de Imagem para a Extração de Informações Espaciais Semestre Código Ano Letivo Área de Concentração Aquisição, análise e representação da informação

Leia mais

Processamento Digital de Imagens

Processamento Digital de Imagens Ciência da Computação Processamento Digital de Imagens Propriedades de Imagem Digital Prof. Sergio Ribeiro Tópicos Propriedades de uma Imagem Digital Vizinhança Conectividade Operações Lógicas e Aritméticas

Leia mais

Processamento Digital de Imagens

Processamento Digital de Imagens Ciência da Computação Processamento Digital de Imagens Propriedades de Imagem Digital Prof. Sergio Ribeiro Tópicos Propriedades de uma Imagem Digital Vizinhança e Aritméticas Efeitos de em Pixel a Pixel

Leia mais

Um modelo do Método dos Volumes Finitos com malha não estruturada

Um modelo do Método dos Volumes Finitos com malha não estruturada Trabalho apresentado no III CMAC - SE, Vitória-ES, 015. Proceeding Series of the Brazilian Society of Computational and Applied Mathematics Um modelo do Método dos Volumes Finitos com malha não estruturada

Leia mais

Modelos Pontuais de Distribuição em Visão Computacional Estudo, Desenvolvimento e Aplicação

Modelos Pontuais de Distribuição em Visão Computacional Estudo, Desenvolvimento e Aplicação MESTRADO EM ESTATÍSTICA APLICADA E MODELAÇÃO Modelos Pontuais de Distribuição em Visão Computacional Estudo, Desenvolvimento e Aplicação Maria João Medeiros de Vasconcelos Licenciada em Matemática Aplicada

Leia mais

EXTRAÇÃO E REGULARIZAÇÃO AUTOMÁTICA DE POLÍGONOS REPRESENTANDO CONTORNOS DE TELHADO A PARTIR DE UM MDS NORMALIZADO

EXTRAÇÃO E REGULARIZAÇÃO AUTOMÁTICA DE POLÍGONOS REPRESENTANDO CONTORNOS DE TELHADO A PARTIR DE UM MDS NORMALIZADO p. 187-192 EXTRAÇÃO E REGULARIZAÇÃO AUTOMÁTICA DE POLÍGONOS REPRESENTANDO CONTORNOS DE TELHADO A PARTIR DE UM MDS NORMALIZADO MICHELLE SAYURI YANO 1 ALUIR PORFÍRIO DAL POZ 2 TATIANA SUSSEL GONÇALVES MENDES

Leia mais

Capítulo II Relatividade Newtoniana

Capítulo II Relatividade Newtoniana Capítulo II Relatividade Newtoniana A mecânica newtoniana é baseada nas três leis de Newton, (1) a lei da inércia, (2) a lei da força e (3) a lei da ação e reação, válidas nos referenciais inerciais. Esses

Leia mais

Consultas por Similaridade em Domínios de Dados Complexos

Consultas por Similaridade em Domínios de Dados Complexos Consultas por Similaridade em Domínios de Dados Complexos Guilherme Felipe Zabot Orientador: Profº Dr Caetano Traina Jr Roteiro Objetivo Introdução Dados Complexos Representação de Dados Complexos Extração

Leia mais

Área e Teorema Fundamental do Cálculo

Área e Teorema Fundamental do Cálculo UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITÁRIO DE SINOP FACULDADE DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA CIVIL DISCIPLINA: CÁLCULO DIFERENCIAL E INTEGRAL I Área e Teorema Fundamental

Leia mais

3 Cálculo Variacional

3 Cálculo Variacional 3 Cálculo Variacional Este capítulo tem por objetivo fundamentar e fornecer ferramentas para a discussão dos capítulos que virão, onde os sistemas tratados serão formulados através de uma segunda forma,

Leia mais

Comprimento de Arco. 1.Introdução 2.Resolução de Exemplos 3.Função Comprimento de Arco 4.Resolução de Exemplo

Comprimento de Arco. 1.Introdução 2.Resolução de Exemplos 3.Função Comprimento de Arco 4.Resolução de Exemplo UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITÁRIO DE SINOP FACULDADE DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA CIVIL DISCIPLINA: CÁLCULO DIFERENCIAL E INTEGRAL I Comprimento de Arco

Leia mais

Realce de imagens parte 1: operações pontuais SCC0251 Processamento de Imagens

Realce de imagens parte 1: operações pontuais SCC0251 Processamento de Imagens Realce de imagens parte 1: operações pontuais SCC0251 Processamento de Imagens Prof. Moacir Ponti Jr. www.icmc.usp.br/~moacir Instituto de Ciências Matemáticas e de Computação USP 2013/1 Moacir Ponti Jr.

Leia mais

2 Animação com Harmônicos de Variedade

2 Animação com Harmônicos de Variedade 2 Animação com Harmônicos de Variedade Hoje em dia, podemos encontrar vários métodos de visualização de música, porém muito poucos relacionam a música à deformações (ou até movimentos rígidos) de modelos

Leia mais

CONSTRUÇÕES DE CURVAS CONTÍNUAS EM UM SISTEMA DE COORDENADAS DISCRETAS*

CONSTRUÇÕES DE CURVAS CONTÍNUAS EM UM SISTEMA DE COORDENADAS DISCRETAS* CONSTRUÇÕES DE CURVAS CONTÍNUAS EM UM SISTEMA DE COORDENADAS DISCRETAS* NILTON CEZAR FERREIRA Resumo: neste trabalho é apresentada uma definição para sistemas de coordenadas discretas no plano e curvas

Leia mais

2 ANÁLISE ESTÁTICA DA ESTABILIDADE MÉTODO ANALÍTICO.

2 ANÁLISE ESTÁTICA DA ESTABILIDADE MÉTODO ANALÍTICO. ANÁISE ESTÁTICA DA ESTABIIDADE MÉTODO ANAÍTICO. Neste capítulo são apresentados conceitos básicos de estabilidade de estruturas, dando maior ênfase à estabilidade de arcos parabólicos com apoios elásticos

Leia mais

T4.1 Processamento de Imagem

T4.1 Processamento de Imagem T4.1 Processamento de Imagem Proc. Sinal e Imagem Mestrado em Informática Médica Miguel Tavares Coimbra Resumo 1. Manipulação ponto a ponto 2. Filtros espaciais 3. Extracção de estruturas geométricas 4.

Leia mais

CAPÍTULO V 5 CONCLUSÕES E RECOMENDAÇÕES 5.1 SÍNTESE DO TRABALHO DESENVOLVIDO

CAPÍTULO V 5 CONCLUSÕES E RECOMENDAÇÕES 5.1 SÍNTESE DO TRABALHO DESENVOLVIDO 182 CAPÍTULO V 5 CONCLUSÕES E RECOMENDAÇÕES 5.1 SÍNTESE DO TRABALHO DESENVOLVIDO Neste trabalho foi proposta uma metodologia para a automação da resseção espacial de imagens digitais baseada no uso hipóteses

Leia mais

Professor: Computação Gráfica I. Anselmo Montenegro Conteúdo: - Objetos gráficos planares. Instituto de Computação - UFF

Professor: Computação Gráfica I. Anselmo Montenegro  Conteúdo: - Objetos gráficos planares. Instituto de Computação - UFF Computação Gráfica I Professor: Anselmo Montenegro www.ic.uff.br/~anselmo Conteúdo: - Objetos gráficos planares 1 Objetos gráficos: conceitos O conceito de objeto gráfico é fundamental para a Computação

Leia mais

x 2 + (x 2 5) 2, x 0, (1) 5 + y + y 2, y 5. (2) e é positiva em ( 2 3 , + ), logo x = 3

x 2 + (x 2 5) 2, x 0, (1) 5 + y + y 2, y 5. (2) e é positiva em ( 2 3 , + ), logo x = 3 Página 1 de 4 Instituto de Matemática - IM/UFRJ Cálculo Diferencial e Integral I - MAC 118 Gabarito segunda prova - Escola Politécnica / Escola de Química - 13/06/2017 Questão 1: (2 pontos) Determinar

Leia mais