Carlos Vinícius Sousa de Oliveira. Mapas de Disparidade utilizando Cortes de Grafo e Multi-Resolução. Dissertação de Mestrado

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

Download "Carlos Vinícius Sousa de Oliveira. Mapas de Disparidade utilizando Cortes de Grafo e Multi-Resolução. Dissertação de Mestrado"

Transcrição

1 Carlos Vinícius Sousa de Oliveira Mapas de Disparidade utilizando Cortes de Grafo e Multi-Resolução Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção do grau de Mestre pelo Programa de Pós graduação em Ciências da Computação do Departamento de Informática da PUC Rio Orientador: Prof. Marcelo Gattass Rio de Janeiro Março de 2010

2 Carlos Vinícius Sousa de Oliveira Mapas de Disparidade utilizando Cortes de Grafo e Multi-Resolução Dissertação apresentada como requisito parcial para obtenção do grau de Mestre pelo Programa de Pós graduação em Ciências da Computação do Departamento de Informática do Centro Técnico Científico da PUC Rio. Aprovada pela Comissão Examinadora abaixo assinada. Prof. Marcelo Gattass Orientador Departamento de Informática PUC Rio Rio de Janeiro, 29 de Março de 2010

3 Todos os direitos reservados. É proibida a reprodução total ou parcial do trabalho sem autorização da universidade, do autor e do orientador. Carlos Vinícius Sousa de Oliveira Graduou se em Ciência da Computação na Universidade Federal Fluminense (Niterói, Brasil), onde obteve grau de Bacharel em Ciência da Computação. Trabalhou junto à empresa TV Globo como Analista de Sistemas, desenvolvendo sistemas para exibição e manipulação de vídeos em alta definição, e com controle de dispositivos. Oliveira, Carlos Ficha Catalográfica Mapas de Disparidade utilizando Cortes de Grafo e Multi- Resolução / Carlos Vinícius Sousa de Oliveira; orientador: Marcelo Gattass. Rio de Janeiro : PUC Rio, Departamento de Informática, v., 41 f: il. ; 29,7 cm 1. Dissertação (mestrado) - Pontifícia Universidade Católica do Rio de Janeiro, Departamento de Informática. Inclui referências bibliográficas. 1. Informática Tese. 2. Algoritmo de Estéreo. 3. Cortes de Grafo. 4. Multi-Resolução. 5. Minimização de Energia. I. Gattass, Marcelo. II. Pontifícia Universidade Católica do Rio de Janeiro. Departamento de Informática. III. Título. CDD: 510

4 Agradecimentos Aos meus orientadores Professores Marcelo Gattas e Cristina Vasconcelos pelo apoio, compreensão e incentivo, imprescindíveis para a realização deste trabalho. À TV Globo e à PUC-Rio pelos auxílios concedidos, sem os quais este trabalho não poderia ter sido realizado. Ao professor Waldemar pelas suas nunca relutantes exortações. A Deus que esteve comigo em todo o tempo, sustentou e me deu sabedoria para conduzir minhas responsabilidades. Aos meus colegas de trabalho Diego Mazala e Algemiro Augusto, pelo apoio e incentivo empenhados durante esta caminhada, essenciais para que eu continuasse até o fim. Aos meus amigos que se importaram e suportaram a ausência sempre que foi necessário.

5 Resumo Oliveira, Carlos; Gattass, Marcelo. Mapas de Disparidade utilizando Cortes de Grafo e Multi-Resolução. Rio de Janeiro, p. Dissertação de Mestrado Departamento de Informática, Pontifícia Universidade Católica do Rio de Janeiro. Reconstruir a informação 3D de uma cena é uma tarefa bastante comum em Visão Computacional. Uma das técnicas mais utilizadas para realizar esta tarefa é a correspondência por estéreo, que consiste basicamente em, dadas duas imagens referentes a uma mesma cena vista de pontos diferentes, determinar os pontos correspondentes entre essas duas imagens e armazenar essa informação em um mapa de disparidades. Até hoje diversos métodos foram propostos para resolver o problema de estéreo com um esforço computacional viável e mantendo a qualidade dos resultados. Essa, entretanto, é uma tarefa bastante árdua e que dificilmente alcança resultados precisos com pouco esforço computacional. Nesse âmbito, uma técnica que tem sido muito estudada são os Cortes de Grafo (Graph Cuts), que almeja resolver o problema de minimização de energia em tempo polinomial. Nesse caso o problema de estéreo é mapeado como um problema de minimização de energia e desta forma solucionado utilizando cortes de grafo. Neste trabalho estudamos as técnicas de cortes de grafo mais recentes e eficientes e propomos um método para a determinação de correspondências entre duas imagens num contexto de multi-resolução, no qual uma pirâmide Gaussiana para as imagens é construída e a técnica de cortes de grafo é aplicada em níveis menores, otimizando a performance e obtendo resultados mais precisos através da utilização do algoritmo de expansão-α. Serão revisadas as técnicas de cortes de grafo e de multi-resolução e os resultados obtidos são apresentados e avaliados em relação a métodos semelhantes. Palavras chave Algoritmo de Estéreo. Cortes de Grafo. Multi-Resolução. Minimização de Energia.

6 Abstract Oliveira, Carlos; Gattass, Marcelo. Disparity Maps using Graph Cuts with Multi-Resolution. Rio de Janeiro, p. MsC Thesis Department of Informática, Pontifícia Universidade Católica do Rio de Janeiro. Reconstructing the 3D information of a scene is a common task in Computer Vision. Stereo matching is one of the most investigated techniques used to perform this task, which basically consists of, given two images of a scene seen from different view points, determining corresponding pixels in these two images and store this information in a disparity map. Several methods have been proposed to solve the stereo problem keeping good performance and giving good quality results. This is however a very arduos task which hardly achieves precise results with low computational power. In this context, the Graph Cuts method has been very much considered, which aims to solve the energy minimization problem in polinomial time. In this case the stereo problem can be modelled as an energy minimization problem and, thus solved using the Graph Cuts technique. In this work we investigate the most recent and efficient Graph Cuts methods and propose a method for establishing the correspondences between two images in the context of multi-resolution, in which a Gaussian pyramid for the input images is built and the Graph Cuts methods is applied in coarser levels, optimizing the performance and getting more precise results through the use of the α-expansion algorithm. The Graph Cuts and multiresolution techniques are reviewed and the results of the proposed method are presented and evaluated compared to similar methods. Keywords Stereo Algorithm. Graph Cuts. Multi-Resolution. Energy Minimization.

7 Sumário 1 Introdução 10 2 Trabalhos Relacionados Estéreo Cortes de Grafo e Multi-Resolução 14 3 Estéreo e Cortes de Grafo Cortes de Grafo Algoritmos de Expansão e Troca Minimização de Energia e Corte Mínimo 20 4 Multi-Resolução com Cortes de Grafo para Estéreo Multi-Resolução para Estéreo Redução do Espaço de Disparidades 25 5 Resultados 31 6 Conclusões e Trabalhos Futuros 37 Referências Bibliográficas 39

8 Lista de figuras 1.1 Imagens esquerda e direita e o respectivo mapa de disparidades Framework do método proposto por Zitnick Grafo (à esquerda) com 9 pixels a serem classificados e corte em um grafo (à direita) Tipos de movimento possíveis para uma atribuição de rótulos (a) com três rotulos possíveis: vermelho, verde e azul. De (a) para (b) temos uma troca-αβ e de (a) para (c) temos uma expansão-α Exemplo de árvores de busca S (em vermelho) e T (verde) contendo nós ativos A e nós passivos P. Os nós brancos restantes são os nós livres. O caminho encontrado está em preto (reproduzido de (06)) Fluxograma geral do método de Multi-Resolução com Cortes de Grafo para estéreo Exemplo de uma pirâmide de imagens. O nível 0 (l 0 ) representa a imagem original, na escala mais amostrada, enquanto l max a escala menos amostrada Reamostragem de um nível menos amostrado l i para um nível mais amostrado l i 1. Pixels com rótulo desconhecido estão em cinza Em (b) a vizinhança de rótulos de (a). Os rótulos em questão (present) estão em amarelo. (Reproduzido de (04)) Resultados do método desenvolvido por Kolmogorov (10) Resultados obtidos com o método desenvolvido por Worby (04) Resultados obtidos com nosso método usando o algoritmo LDNR. 33

9 Lista de tabelas 5.1 Resultados obtidos com o método utilizado por Kolmogorov Resultados obtidos com o nosso método Resultados obtidos utilizando o método LDNR Resultados obtidos utilizando o método EL Resultados obtidos utilizando o método EAC Tabela comparativa da acurácia obtida em relação a outros métodos 36

10 1 Introdução O cálculo de correspondências por estéreo é um problema clássico e que já é estudado há muito tempo. Ele tem atraído grande interesse de pesquisadores, especialmente pela quantidade de aplicações em computação gráfica e processamento de imagens. Ao longo dos anos muitos algoritmos foram propostos para resolver o problema. Entretanto é uma tarefa bastante árdua desenvolver um algoritmo que ao mesmo tempo apresente bons resultados sem comprometer sua performance. Dadas duas imagens capturadas de diferentes pontos de vista (no sistema humano, se referem aos olhos esquerdo e direito), o objetivo de um algoritmo de estéreo é identificar pontos em ambas as imagens que se referem ao mesmo ponto na cena. A idéia é determinar a diferença de localização de pontos correspondentes em ambas as imagens. Em geral os algoritmos de estéreo consideram que as imagens de entrada são retificadas e dessa forma a diferença de localização é calculada apenas pelo deslocamento em x de um pixel na imagem direita em relação à imagem esquerda. Esse deslocamento é chamado de disparidade. Dessa forma a saída de um algoritmo de estéreo consiste em um mapa de disparidades, que é um mapa indicando para cada pixel a diferença de localização deste na imagem direita em relação à imagem esquerda. Através do mapa de disparidades podemos utilizar triangulação para obter o mapa de profundidade. Uma vez que que as correspondências entre pixels sejam conhecidas as coordenadas do mundo de cada ponto da imagem podem ser reconstruídas, a menos de um fator de escala que pode ser conhecido pela calibração do sistema de câmeras. A figura 1.1 mostra duas imagens (esquerda e direita) e o mapa de disparidades da imagem direita em relação à imagem esquerda. A determinação de um mapa de disparidades acurado continua sendo uma tarefa difícil na prática. Isso acontece devido a três problemas principais enfrentados pelos algoritmos de estéreo e que precisam ser levados em consideração quando a acurácia é essencial, a saber: regiões de pouca textura: nesse caso há várias possibilidades de correspondência possíveis;

11 Capítulo 1. Introdução 11 Figura 1.1: Imagens esquerda e direita e o respectivo mapa de disparidades regiões de oclusão: pixels em regiões de oclusão são aqueles que estão presentes em uma imagem mas não estão presentes na outra, o que pode levar a correspondências incorretas se não levados em consideração; regiões de descontinuidade: trata-se das bordas dos objetos da cena, onde há mudanças bruscas de profundidade/disparidade. A reconstrução 3D de uma cena é motivada por diversas aplicações em visão computacional. Por exemplo, Zitnick et al. apresentam em (13) um framework que implementa a renderização de vídeos de alta qualidade usando interpolação de imagens com uma representação em camadas. A figura 1.2 mostra um diagrama indicando as etapas envolvidas neste processo. Palomo, em seu projeto de mestrado (03), explorou a etapa de renderização com o objetivo de permitir que a mesma seja feita em tempo real, propondo uma implementação em GPU para tal fim. Figura 1.2: Framework do método proposto por Zitnick Como pode ser visto na figura 1.2 uma das etapas deste processo é justamente a obtenção da geometria da cena através do cálculo de correspondências de pixels entre duas imagens de referência para a determinação da imagem referente a uma câmera virtual. Nosso trabalho visa desenvolver um algoritmo de estéreo, que entre outras finalidades, possa ser integrado nesse framework. Em paralelo às técnicas de estéreo, o método de Cortes de Grafo tem se tornado uma ferramenta de otimização bastante poderosa e popular e que tem

12 Capítulo 1. Introdução 12 sido bastante utilizada nas áreas de segmentação de imagens, visão estéreo, restauração de imagens, etc. É utilizado quando o problema em questão pode ser modelado como um problema de minimização de energia. Nesse caso o problema é mapeado em um grafo de maneira que o corte mínimo do grafo minimize a energia total do sistema. Para realizar o cálculo do corte mínimo algoritmos de Fluxo Máximo (06) em grafos são utilizados. Entretanto a técnica de cortes de grafo pode ser bastante custosa e existem trabalhos que visam reduzir o custo de se utilizar tal algoritmo. Uma possibilidade consiste em reduzir o tamanho do conjunto de rótulos (valores de disparidades) que são usados pelo algoritmo em cada iteraçao, conjunto este denominado espaço de disparidades, utilizado pelo algoritmo, que foi abordada por Veksler (05) e Worby (04). Outra abordagem possível é a técnica de Multi-Resolução, que utiliza o conceito de Pirâmide Gaussiana. Trata-se de uma pirâmide de imagens que é construída na qual cada nível da pirâmide contém uma versão menos amostrada da imagem segundo um fator de escala e um parâmetro de ponderação, denominada Pirâmide Gaussiana. Nesse caso uma pirâmide Gaussiana para cada imagem de entrada é construída e o algoritmo de cortes de grafo é utilizado num conjunto restrito de disparidades e em níveis menores, com um número de pixels reduzido. O propósito desse trabalho é pesquisar e analisar algoritmos de estéreo propostos para o cálculo de correspondências, as técnicas de Graph Cut e Multi-Resolução e desenvolver um novo método de cálculo de correspondências utilizando Cortes de Grafo e Multi-Resolução, de maneira que tenhamos um algoritmo com melhor desempenho que os estudados sem comprometer a acurácia dos resultados produzidos pelos mesmos. Este trabalho está organizado da seguinte maneira: no capítulo 2 apresentamos alguns trabalhos que estão diretamente relacionados ao tema e que se mostraram competitivos na solução do problema de estéreo, relacionando suas principais características e evidenciando nossa escolha por essa direção. No capítulo 3 vamos tratar do problema de minimização de energia e de como este pode ser resolvido utilizando o método de Cortes de Grafo de maneira eficiente. No capítulo 4 vamos abordar o método de Multi-Resolução e da integração da técnica de Cortes de Grafo a este método visando maior qualidade e performance. O capítulo 5 apresenta os resultados obtidos com a aplicação do método proposto utilizando como entrada os dados disponíveis em (20). Por fim, no capítulo 6 apresentamos nossas conclusões a respeito do trabalho desenvolvido e sugerimos possibilidades de aprimoramentos para trabalhos futuros.

13 2 Trabalhos Relacionados Neste capítulo vamos relacionar alguns trabalhos que obtiveram destaque considerável ao tratar do problema de estéreo e do problema de minimização de energia. A grande maioria dos métodos relacionados na seção 2.1 são discutidos e comparados no artigo de Scharstein & Szeliski (11), onde são realizadas uma taxonomia e comparação dos algoritmos de estéreo mais populares. Na seção 2.2 apresentamos alguns contextos onde a técnica de Cortes de Grafo e Multi-Resolução foram exploradas e que inspiraram o desenvolvimento deste trabalho. 2.1 Estéreo Uma das maiores dificuldades de um algoritmo de estéreo é definir uma metodologia que equilibre a precisão do método e a performance. Yoon & Kweon (14) desenvolveram um método para o cálculo de correspondências que fazia uso do conceito de vizinhanças de pixel de tamanho fixo e de pesos adaptativos para os pixels dessa vizinhança. Os resultados obtidos tinham boa precisão mas o custo do processamento era muito alto dada a natureza das operações realizadas. Posteriormente Wang et al. (16) adaptaram o método de Yoon & Kweon para que as vizinhanças fossem apenas horizontais (scanlines) e implementaram o método na GPU, obtendo um método com performance em tempo real mas com resultados inferiores aos de Yoon & Kweon. Em (18) Wang & Zheng apresentaram um algoritmo de estéreo baseado em otimização cooperativa inter-regional, que utiliza correspondências de regiões e implementa um procedimento de otimização cooperativa para minimizar os custos de correspondência de todas as regiões. Em (19) Klaus et al. propuseram um algoritmo de estéreo que utiliza segmentação de cor na imagem de referência e um método de correspondência auto-adaptativo que maximiza o número de correspondências confiáveis. Yang et al. exploraram bastante o conceito de Belief-Propagation em (17) onde um método para cálculo de correspondências em tempo real utilizando GPU é apresentado. Forstmann et al. (15) também propuseram um

14 Capítulo 2. Trabalhos Relacionados 14 método de cálculo de correspondências em tempo real utilizando programação dinâmica e que apresentava resultados bastante acurados. Em (12) Gong et al. apresentam os resultados de um estudo realizado a respeito da implementação de vários algoritmos de estéreo em GPU. 2.2 Cortes de Grafo e Multi-Resolução Um dos primeiros trabalhos onde o método de Cortes de Grafo foi explorado nesse contexto foi o desenvolvido por Boykov et al. em (08), onde o método de cortes de grafo é explorado densamente e é aplicado em problemas de estéreo, motion e restauração de imagens. Logo depois Kolmogorov & Zabih (10) aprimoraram o método em (08) para que tratasse também do problema de oclusão e obtiveram resultados promissores tanto em termos de qualidade quanto em performance. Ainda neste contexto Kolmogorov & Zabih realizaram um estudo e apresentaram em (07) uma generalização dos tipos de funções de energia que podem ser minimizadas utilizando cortes de grafo. Proporcionaram também um método genérico e analisaram os diversos aspectos da técnica de cortes de grafo de maneira generalizada. A grande maioria dos trabalhos desenvolvidos utilizando cortes de grafo fazem uso dos resultados obtidos por Boykov & Vladimir em (06) onde um estudo e uma comparação experimental de vários algoritmos de cálculo de Corte Mínimo/Fluxo Máximo em grafos é realizado. Worby & MacLean apresentam em (04) um novo método de cálculo de correspondências e motion baseado em cortes de grafo utilizando Multi-Resolução, que foi exaustivamente explorado por Worby em (02). Em (05) Veksler propõe uma alternativa de otimização do método de cortes de grafo através da redução do espaço de busca para o algoritmo. Entretanto Veksler afirma não ter obtido ganhos consideráveis com a técnica de multi-resolução neste caso. Por fim em (09) Kosov et al. apresentam uma técnica adaptativa de multi-níveis combinada com uma abordagem em multigrid que, segundo o autor, permite ao método atingir performance em tempo real em CPU.

15 3 Estéreo e Cortes de Grafo Muitos problemas de visão computacional podem ser naturalmente formulados como um problema de minimização de energia. O uso clássico de minimização de energia é para solucionar o problema de atribuição de rótulos (labels). Especificamente o problema de estéreo pode ser visto como um problema de atribuiçao de rotulos onde temos um conjunto de n pixels P e de k disparidades (rótulos) L. O problema consiste em encontrar uma atribuição de rótulos f, ou seja, um mapeamento de P em L, que minimize alguma função de energia. Uma forma típica de função de energia é E(f) = E data (f) + E smooth (f) = D p (f p ) + V p,q (f p, f q ) (3-1) p P p,q N onde N P P é uma vizinhança de pixels do pixel p. D p (f p ) é uma função que mede o custo de se atribuir o rótulo f p a p. V p,q (f p, f q ) define o custo de se atribuir os rótulos f p, f q aos pixels adjacentes p e q e é usado para tratar do problema de suavidade. Nas bordas dos objetos pixels adjacentes em geral têm rótulos muito diferentes e é importante que E não super penalize esses rótulos. Dessa forma é necessário que V seja uma função não convexa de f p f q. Funções de energia como a da equação (3-1) são extremamente difíceis de se minimizar, já que são funções não convexas num espaço com milhares de dimensões. Tradicionalmente essas funções são minimizadas aplicando técnicas de minimização genéricas (como simulated annealing ) que são capazes de minimizar qualquer função de energia. Como consequência da generalidade, essas técnicas possuem custo exponencial e são muito lentas, tornando seu uso inviável na prática. Nos últimos anos vários algoritmos eficientes baseados em Cortes de Grafo têm sido desenvolvidos para solucionar o problema de minimização de energia. Neste capítulo vamos discutir o método de cortes de grafo e sua utilização para resolver problemas de minimização de energia, abordando o

16 Capítulo 3. Estéreo e Cortes de Grafo 16 algoritmo de expansão-α e troca-αβ. Mostraremos também como o problema de estéreo pode ser mapeado em um problema de minimização de energia, e consequentemente, num problema de atribuição de rótulos, e assim mostrar como resolvê-lo utilizando cortes de grafo. 3.1 Cortes de Grafo A técnica de Cortes de Grafo é um método utilizado para resolver problemas de minimização de energia. Trata-se de utilizar algoritmos específicos para a construção de um grafo de maneira que, ao calcular o corte mínimo neste grafo, estamos também minimizando a energia do sistema. É especialmente útil quando aplicada a problemas que podem ser modelados como um problema de minimização de energia, e.g. o problema de correspondência por estéreo. Seja G = (V, E) um grafo direcionado com arestas de peso não negativos que possui dois vértices especiais (terminais) chamados o s (source) e t (sink). Um corte-s-t, ao qual chamaremos simplesmente de corte, C = S, T é uma partição dos vértices em V em dois conjuntos disjuntos S e T tais que s S e t T. A figura 3.1 ilustra à esquerda o grafo G e à direita, em verde, o que seria um corte em G. O custo total do corte é a soma dos pesos de todas as arestas que vão de S a T e é definido como: c(s, T ) = u S,v T,(u,v) E c(u, v). O problema do corte-s-t mínimo consiste em encontrar um corte C E com o menor custo. Ford & Fulkerson mostram em (22) que encontrar esse corte Figura 3.1: Grafo (à esquerda) com 9 pixels a serem classificados e corte em um grafo (à direita).

17 Capítulo 3. Estéreo e Cortes de Grafo 17 é equivalente a encontrar o fluxo máximo do nó terminal s ao nó terminal t. Existem vários algoritmos que resolvem o problema do fluxo máximo em tempo polinomial. No nosso trabalho vamos utilizar o algoritmo para fluxo máximo otimizado apresentado por Boykov & Kolmogorov em (06). Vamos convencionar que um corte C = (S, T ) é uma atribuição de rótulos f que mapeia o conjunto de vértices V {s, t} em {0,1}, onde f (v) = 0 implica em v S e f (v) = 1 implica em v T. Deve-se notar que um corte uma partição binária de um grafo vista como uma atribuição de rótulos, ou seja, uma atribuição de rótulos bi-valorada. Existem algumas propostas para resolver o problema do corte mínimo com mais de dois terminais mas todas elas são NP-difíceis. Para minimizar E usando o método de cortes de grafo é necessário criar um grafo específico de maneira que o corte mínimo no grafo também minimize E. A forma do grafo depende da forma exata de V (termo de suavidade), que determina o tipo de algoritmo que pode ou deve ser utilizado, e do número de rótulos a serem atribuídos. Os nós do grafo representam os pixels da imagem enquanto os terminais representam todos os rótulos possíveis de serem atribuídos. Os pesos das arestas entre nós não-terminais (pixels) são definidos pelo termo de suavidade E smooth (f ), enquanto os pesos entre nós terminais e não-terminais são definidos pelo termo de dados E data (f ). Como temos um grafo com vários nós terminais, precisamos dividir o grafo em vários grafos com dois terminais e depois determinar qual configuração tem menor energia. Uma vez que cada pixel está associado a apenas um terminal, atribuímos esse rótulo (ou disparidade) àquele pixel. Para o problema de estéreo os rótulos são disparidades e o termo de dados D p (f p ) é alguma função da diferença de intensidade entre o pixel p na imagem de referência e o pixel p + f p na outra imagem. Nesse tipo de problema especificamente o algoritmo de expansão-α e outros algoritmos de minimização de energia apresentam um desempenho muito bom empiricamente (ainda que não viabilizem a sua execução em tempo real). Na próxima seção vamos discutir os dois grandes movimentos que podem ser utilizados no algoritmo de cortes de grafo de maneira a mudar a atribuição de rótulos, visando a minimização de energia. 3.2 Algoritmos de Expansão e Troca Boykov (08) aborda o problema de minimização de energia com cortes de grafo como a determinação de um mínimo local e apresenta dois algoritmos aproximativos baseados em dois tipos diferentes de movimento: o movimento

18 Capítulo 3. Estéreo e Cortes de Grafo 18 Figura 3.2: Tipos de movimento possíveis para uma atribuição de rótulos (a) com três rotulos possíveis: vermelho, verde e azul. De (a) para (b) temos uma troca-αβ e de (a) para (c) temos uma expansão-α. de expansão-α e o movimento de troca-αβ. Boykov prova que o algoritmo de expansão-α produz resultados que distam do mínimo global até um fator multiplicativo conhecido, desde que o termo de suavidade V seja uma métrica (veja seção 3.2.2). Esse fator é no mínimo 2 e depende unicamente de V. Por outro lado o algoritmo de troca-αβ não exige que V seja uma métrica e dessa forma, em geral, é utilizado com funções de energia mais genéricas. A figura 3.2 ilustra os possíveis movimentos que podem ser realizados num algoritmo de cortes de grafo. A figura da esquerda mostra a atribuição de rótulos inicial. A figura do meio mostra a nova configuração dos rótulos após um movimento de troca-αβ e a figura da direita mostra a nova configuração dos rótulos após um movimento de expansão-α. Ambos os algoritmos são muito semelhantes na sua estrutura. O algoritmo de troca encontra um mínimo local quando somente movimentos de troca são permitidos e o algoritmo de expansão encontra um mínimo local quando somente movimentos de expansão são permitidos. Neste capítulo vamos nos concentrar nos detalhes do algoritmo de expansão-α, pois é o algoritmo que utilizamos em nosso método. Daremos, entretanto, uma visão geral do algoritmo de troca. Antes de falar dos movimentos, vamos definir o conceito de partição, pois nos será útil ao definir os algoritmos. Qualquer atribuição de rótulos f pode ser representada por uma partição de pixels P = {P l l L}, onde P l = {p P f p = l} é um subconjunto de pixels aos quais o rótulo l foi atribuído

19 Capítulo 3. Estéreo e Cortes de Grafo 19 Algoritmo de Troca Dado um par de rótulos α e β, um movimento de uma partição P (atribuição de rótulos f ) para uma partição P (atribuição de rótulos f ) é chamado de uma troca-αβ se P l = P l para qualquer rótulo l α, β. Isto implica em que a única diferença entre P e P é que alguns pixels que tinham o rótulo α em P agora tem rótulo β em P, e alguns pixels que tinham rótulo β em P agora tem rótulo α em P. Um exemplo de um movimento de troca-αβ é mostrado na figura 3.2b Algoritmo de Expansão Um dos algoritmos mais eficientes para minimização de energia é o algoritmo de expansão-α, que foi introduzido em (08). Esse algoritmo pode ser usado sempre que V é uma métrica no espaço de rótulos, ou seja, V satisfaz as três condições abaixo: V (α, β) = 0 α = β, V (α, β) = V (β, α) 0, V (α, β) V (α, γ) + V (γ, β), (3-2) para quaisquer rótulos α, β, γ L. Para um determinado rótulo α, um movimento de uma partição P (atribuição de rótulos f ) para uma nova partição P (atribuição de rótulos f ) é chamado de uma expansão-α se P α P α e P P para qualquer rótulo l α, ou seja, f p α implica em f p = f p. Em outras palavras, um movimento de expansão-α permite que qualquer conjunto de pixels da imagem alterem seus rótulos para α. Um exemplo de um movimento de expansão-α é mostrado na figura 3.2c. Em cada ciclo o algoritmo itera sobre todos os rótulos α em uma ordem que pode ser fixa ou randômica, e procura, a partir da atribuição de rótulos atual, a expansão-α de menor energia. Um ciclo é bem sucedido se necessariamente uma atribuição de rótulos melhor é encontrada em qualquer ciclo. Se nenhuma atribuição de rótulos em um mesmo ciclo apresentar energia menor o algoritmo encerra, já que não é possível minimizar ainda mais a energia. No final temos uma atribuição de rótulos que é um mínimo local da função de energia em relação a movimentos de expansão. Dessa forma um ciclo no algoritmo de expansão-α possui L iterações. A técnica descrita aqui é baseada na computação de uma atribuição de rótulos correspondente ao corte mínimo num grafo G α = (V α, E α ). A ideia por

20 Capítulo 3. Estéreo e Cortes de Grafo 20 trás do algoritmo é que pixels são rotulados tanto como α ou ᾱ. Após encontrar o corte mínimo no grafo, ou os pixels irão continuar com seus rótulos atuais ou alterarão seus rótulos para α, dependendo do que proporcionar a menor quantidade de energia. A estrutura do grafo em cada ciclo é determinada pela partição corrente P e pelo rótulo α. O grafo muda dinamicamente após cada iteração. Boykov em (08) atribui pesos às arestas inserindo nós auxiliares entre pixels vizinhos contendo rótulos diferentes. Essa abordagem foi posteriormente aprimorada por Kolmogorov em (07) que reformulou as equações e fez com que esses nós auxiliares não fossem mais necessários. A construção de grafo utilizada para a implementação do nosso método foi a apresentada por Kolmogorov em (07), utilizando o tratamento para oclusões apresentado em (10). 3.3 Minimização de Energia e Corte Mínimo Em (06) Boykov & Kolmogorov apresentam um novo algoritmo que aprimoram a performance de técnicas padrão de determinação de caminho mais longo em grafos (augumenting path). Algoritmos de caminho mais longo anteriores usavam busca em largura quando todos os caminhos de uma determinada largura já haviam sido pesquisados, requerendo a construção de uma nova árvore de busca. Este processo envolve varrer a maioria dos pixels na imagem, tornando-se computacionalmente caro quando repetido várias vezes. O novo algoritmo resolve este problema construindo duas árvores de busca, uma para o nó terminal s (source) e outra para o nó terminal t (sink), e reutilizando-as. Elas nunca são reconstruídas novamente. O resultado é um algoritmo que é muito mais rápido em todas as aplicações onde grafos consistem em grids 2D. Entretanto existem desvantagens. Não há garantia que o caminho mais longo encontrado é necessariamente o melhor. A ideia por trás do algoritmo é manter duas árvores de busca de nós interconectados por arestas para encontrar um caminho mais longo da raiz da árvore de s para a raiz da árvore de t, como ilustrado na figura 3.3. Na árvore S todas as arestas partindo de um nó para seus filhos não estão saturados, enquanto nas arestas da árvore T os nós dos filhos para um determinado nó é que não estão saturados. O algoritmo possui três tipos de nós: livre, ativo (A) e passivo (P). Nós que não estão na árvore S ou T são nós livrs. Nós ativos são os nós da borda de cada árvore que permitem o crescimento da árvore adquirindo novos filhos de um conjunto de nós livres. Nós passivos são os nós internos que eram nós ativos anteriormente.

21 Capítulo 3. Estéreo e Cortes de Grafo 21 Figura 3.3: Exemplo de árvores de busca S (em vermelho) e T (verde) contendo nós ativos A e nós passivos P. Os nós brancos restantes são os nós livres. O caminho encontrado está em preto (reproduzido de (06)). O processamento do algoritmo é iterativo e está dividido em três estágios: crescimento, aumento e adoção. Durante o estágio de crescimento, ambas as árvores tentam crescer adquirindo nós de um conjunto de nós livres. O conjunto de nós ativos de uma árvore explora arestas adjacentes não saturadas adquirindo novos filhos do conjunto de nós livres, que se tornam nós ativos. Após ter explorado todos os nós vizinhos, um nó ativo se torna um nó passivo, indicando que não consegue ir mais longe. O estágio de crescimento termina quanto um nó ativo encontra um nó ativo de outra árvore, significando a criação de um caminho mais longo. O estágio de aumento estende o caminho encontrado com o maior fluxo possível, algumas vezes criando arestas saturadas e, subsequentemente, nós órfãos. Enquanto isso, o estágio de adoção encontra pais para cada órfão, garantindo que o pai esteja conectado através de uma aresta não saturada e pertença à mesma árvore que o órfão. Se não conseguimos achar um nó pai, o nó órfão se torna um nó livre. Esse estágio termina quando não há mais nós órfãos. O algoritmo executa até que as árvores de busca S e T não possam mais crescer (não há mais nós ativos) e as árvores estejam separadas por arestas saturadas. Este é o ponto onde o fluxo máximo é atingido. O corte mínimo resultante é a borda entre S e T onde todas as arestas estão saturadas.

22 4 Multi-Resolução com Cortes de Grafo para Estéreo As abordagens para o problema de estéreo que utilizam algoritmos baseados em cortes de grafo geralmente apresentam excelentes resultados em termos de acurácia. Entretanto, dada a grande quantidade de pixels e rótulos manipulados pelo algoritmo, sua performance quase sempre inviabiliza seu uso num contexto em que o tempo de processamento é um fator que deve ser levado em consideração. Dessa forma, a redução do número de pixels e de rótulos utilizados pelo algoritmo é um fator importante para a implementação de um algoritmo mais eficiente. Worby propõe em (04) e (02) um método de multi-resolução para estéreo e motion com o propósito de reduzir o número de variáveis (nós do grafo) manipuladas pelo algoritmo de cortes de grafo. De maneira semelhante propõe também três algoritmos para reduzir o número de rótulos utilizados. Entretanto seus algoritmos usavam necessariamente o algoritmo de troca-αβ, já que para combinar o uso de estéreo e motion em único algoritmo foi necessário que V (o termo de suavidade) fosse definido como uma função que não é uma métrica (veja seção 3.2.2). Dessa forma a complexidade do algoritmo era O(mn 2 ) (sendo m o número de pixels e n o número de rótulos). Neste capítulo vamos explorar a ideia proposta por Worby visando somente sua aplicação para o uso em estéreo. Dessa forma poderemos alterar o método proposto para que use o algoritmo de expansão-α, obtendo assim um algoritmo mais eficiente com complexidade O(mn). Apresentaremos também os algoritmos LDNR, EL e EAC, propostos por Worby para a redução do número de rótulos, e discutiremos as alterações que são necessárias nos mesmos para fazerem uso do algoritmo de expansão-α. 4.1 Multi-Resolução para Estéreo Nesta seção vamos apresentar a abordagem multi-resolução com cortes de grafo para o problema de estéreo e descrever as etapas envolvidas. A figura 4.1 mostra uma visão geral do método e seus estágios. Primeiramente as imagens de entrada alimentam o algoritmo no estágio de Pré-Processamento, que realiza

23 Capítulo 4. Multi-Resolução com Cortes de Grafo para Estéreo 23 Figura 4.1: Fluxograma geral do método de Multi-Resolução com Cortes de Grafo para estéreo. outras tarefas de inicialização e configuração de parâmetros.. Após o estágio de pré-processamento estão os módulos principais do algoritmo, que são os responsáveis pela implementação de multi-resolução e cortes de grafo. No estágio Pirâmide de Imagens ocorre a criação das pirâmides das imagens de entrada. Em seguida, no estágio Algoritmo de Expansão ocorre a construção do grafo do qual vamos encontrar um corte mínimo, como discutimos no capítulo 3. Na seção foi discutido que o algoritmo de expansão-α só poderia ser usado se V fosse uma métrica. Worby em (04) utilizou o método de Multi-Resolução com cortes de grafo mas fazendo uso do algoritmo de troca-αβ. Isso era necessário pois Worby propunha um método que envolvia estéreo e motion e desta forma V não era uma métrica. Assim, era mandatório utilizar o algoritmo de troca. No nosso caso, como não temos a pretensão de explorar motion, podemos usar V como métrica e fazer uso do mais eficiente algoritmo de expansão.

24 Capítulo 4. Multi-Resolução com Cortes de Grafo para Estéreo 24 Figura 4.2: Exemplo de uma pirâmide de imagens. O nível 0 (l 0 ) representa a imagem original, na escala mais amostrada, enquanto l max a escala menos amostrada. No estágio Upsampling e Propagação de disparidades nós reamostramos o mapa de disparidades obtido num nível mais fino para que ele sirva de inicialização para os próximos níveis da pirâmide. Finalmente, no estágio de Pós-Processamento o algoritmo encerra, os resultados obtidos são armazenados e os parâmetros são reconfigurados Criação da Pirâmide de Imagens O estágio Pirâmide de Imagens calcula pirâmides gaussianas de ambas as imagens de entrada, como mostrado na figura 4.2 (para uma imagem). A imagem original está na parte de baixo da pirâmide, no nível l 0. Cada nível da pirâmide representa uma versão borrada e menos amostrada da imagem abaixo dela. Worby (02) utiliza um filtro gaussiano de duas dimensões, tirando vantagem da separabilidade para aumentar a performance e evitar o efeito de alisasing. Já que estamos escolhendo um fator de amostragem 2, utilizamos um filtro gaussiano com raio mínimo de 2 também. Em todos os casos, escolhemos σ = 2, resultando em um filtro de raio 6. Isso garante que não haverá aliasing na imagem, proporcionando o efeito de suavidade desejado Reamostragem e Propagação de Disparidade Para que o algoritmo de multi-resolução funcione corretamente os mapas de disparidade devem ser propagados entre os níveis da pirâmide. Esses mapas inicializam o próximo nível da pirâmide, dando assim um bom ponto de partida para o algoritmo no novo nível. Ao passar de um nível mais grosso para um

25 Capítulo 4. Multi-Resolução com Cortes de Grafo para Estéreo 25 Figura 4.3: Reamostragem de um nível menos amostrado l i para um nível mais amostrado l i 1. Pixels com rótulo desconhecido estão em cinza. nível mais fino na pirâmide, para cada pixel p o algoritmo de reamostragem cria N N pixels, como mostrado na figura 4.3. Os valores de disparidade para os pixels com disparidade conhecidas numa escala menor são então multiplicados pelo fator de amostragem utilizado, ou seja, pixels com rótulos conhecidos no nível l i são multiplicados pelo fator de amostragem (no nosso caso, k = 2) para determinar os rótulos no nível l i 1. Pixels com rótulo desconhecido recebem o mesmo rótulo do pixel vizinho do grupo que o originou. 4.2 Redução do Espaço de Disparidades Um dos grandes conflitos enfrentados pela maioria dos algoritmos de estéreo é estabelecer o equilíbrio entre tempo computacional e acurácia. Uma maneira de melhorar a acurácia é impor condições mais rígidas ao algoritmo e aumentar o número de disparidades possíveis. Entretanto num contexto de cortes de grafo isso pode trazer consequências indesejáveis para o tempo computacional. Por outro lado podemos também reduzir o número de rótulos utilizados ou o número de pixels para reduzir o tempo computacional mas isso reduziria também a acurácia do método. Nesta seção vamos apresentar uma proposta de multi-resolução para o cálculo de correspondências em estéreo que foi primeiramente proposta por Worby (04). Os benefícios de um algoritmo de multi-resolução são: redução no número de pixels manipulados: as dimensões da imagem são reduzidas por um fator de amostragem k em cada nível da pirâmide; redução no número de rótulos manipulados: cada dimensão do espaço de disparidades é reduzido por um fator de amostragem k em cada nível da pirâmide. Dessa forma, para pares de imagem, o número de rótulos decresce de k em cada nível da pirâmide Como cada nível tem um número menor de rótulos e pixels a convergência em cada nível é muito mais rápida. Dessa forma, os mapas de disparidade

26 Capítulo 4. Multi-Resolução com Cortes de Grafo para Estéreo 26 encontrados em cada nível são encontrados mais rapidamente e funcionam como inicialização para a configuração inicial de rótulos do próximo nível, fazendo que o método inicie no novo nível próximo do resultado final. Quando o nível mais amostrado da pirâmide é alcançado a configuração está mais próxima do mínimo global geral do que do que a inicialização normal dos métodos de graph cut. Assim a convergência é alcançada mais rapidamente. A forma geral de um algoritmo de multi-resolução é apresentada no algoritmo 1, chamado de algoritmo de Level Seeding (LS). Dmap i representa o mapa de disparidades obtido no nível i e Dmap final se refere à solução final obtida no nível com mais amostras. Algoritmo 1: Forma geral dos métodos de multi-resolução Criar pirâmide gaussiana das imagens Determinar espaço de disparidades para cada nível da pirâmide for i numlevels 1 to 0 do if i = (numlevels 1) then Dmap i = algoritmo de cortes de grafo normal else Aumente a amostragem do mapa de disparidades Dmap i = EMA(Dmap i+1 ) end end Dmap final = Dmap 0 Para determinar o espaço de disparidades para cada nível Worby (04) propõe que o número máximo de disparidades permitidas em cada nível seja dividido pelo fator de amostragem. Por exemplo, se o espaço de disparidades para o nível mais amostrado (nível 0) é [16,16] ele passa a ser [8,8], [4,4] e [2,2] para os níveis 1, 2 e 3, respectivamentye. O algoritmo de minimização de energia (EMA na linha 8) é o único passo que varia para os algoritmos que serão descritos nessa seção. Vamos agora descrever os três algoritmos propostos por Worby que usam o framework de multi-resolução, os quais visam reduzir o número de rótulos usados durante a etapa EMA (linha 8 do algoritmo 1). Ao propor estes algoritmos Worby se concentrou em criá-los utilizando o algoritmo de troca-αβ, já que lhe era condição necessária por estar usando motion. Como o propósito do nosso trabalho é utilizar o algoritmo mais eficiente e preciso de expansão-α e não estamos interessados em motion, temos que alterar os algoritmos propostos para trabalherem com este novo algoritmo. Isto será descrito em detalhes nas seções 4.2.1, e

27 Capítulo 4. Multi-Resolução com Cortes de Grafo para Estéreo LDNR (Label Disparity Neighbourhood Restricted) O principal problema do algoritmo LS descrito anteriormente é que apesar do algoritmo ter uma inicialização de níveis mais eficiente o conjunto de rótulos manipulados pelo algoritmo é muito grande, aumentando o tempo computacional. Para resolver este problema o algoritmo Label Disparity Neighbourhood Restricted (LDNR) usa a noção de vizinhanças de rótulos para restringir o tamanho do espaço de disparidades. A um rótulo só lhe é permitido expandir para um rótulo em sua vizinhança, ou seja, para cada rótulo L presente no mapa reamostrado definimos uma vizinhança a uma distância de ±δ ao redor de L. As vizinhanças são determinadas no início, de maneira que os valores de disparidade possíveis sejam fixos em todas as iterações. A figura 4.4 mostra um exemplo em que δ = 1. Nesse caso a idéia é que os pixels com rótulo z 1 só possam expandir para rótulos que estejam dentro de sua vizinhança, L z 1 N. Figura 4.4: Em (b) a vizinhança de rótulos de (a). Os rótulos em questão (present) estão em amarelo. (Reproduzido de (04)) A justificativa para restringir a vizinhança de rótulos é que os pixels, em cada iteração, já estão bem próximos do seu rótulo ideal, e desta forma, só precisam expandir um pouco mais. Assim realizamos as expansões num conjunto reduzido de rótulos. A implementação deste método é apresentada no algoritmo 2, que é simplesmente o passo EMA (linha 8) do algoritmo 1. A entrada deste algoritmo é um mapa de disparidades reamostrado a partir do nível anterior da pirâmide Dmap up. A condição de convergência simplesmente testa se a energia da iteração atual é menor que a energia da iteração anterior. Se a função não convergiu o algoritmo começa determinando todos os rótulos presentes em L present no mapa de disparidades reamostrado a partir do nível anterior (linha

28 Capítulo 4. Multi-Resolução com Cortes de Grafo para Estéreo 28 Algoritmo 2: Algoritmo de minimização de energia LDNR Determinar o conjunto de rótulos L present em Dmap up while E cur < E prev do E cur = E prev for l a L present do Determinar a vizinhança de rótulos L N de l a for l b L N do Dmap cur = expansão(l b ) end Calcular E cur de Dmap cur end end Dmap final = Dmap cur 1). Esse conjunto de rótulos não é alterado no resto do algoritmo. Após isso ele realiza uma iteração de expansão. Uma iteração neste algoritmo itera pelos rótulos em L present. Para cada rótulo l a ele encontra a vizinhança de rótulos L la N e realiza expansões-α para cada rótulo l b em L la N EL (Expanding Label Disparity Neighbourhood at Every Iteration) O algoritmo LDNR possui uma grande vantagem que é a redução do número de rótulos manipulados pelo algoritmo. Possui, entretanto, uma desvantagem que é a propagação de erros (valores de disparidade inválidos) entre os níveis da pirâmide, o que diminui a acurácia do método, dada a grande redução que é realizada. Isso acontece devido à combinação das etapas de reamostragem e da restrição dos rótulos só poderem expandir para outros rótulos dentro da sua vizinhança. Nesse âmbito o algoritmo Expanding Label Disparity Neighbourhood at Every Iteration (EL) se propõe a resolver o problema da redução excessiva de rótulos. A ideia é basicamente que o conjunto de rótulos possa crescer dinamicamente em cada iteração do algoritmo. O algoritmo 3 ilustra esse procedimento. No algoritmo 2 a determinação do conjunto de rótulos era feita no início do algoritmo e permanecia estática durante toda a execução, fazendo com que os rótulos só pudessem ser expandidos dentro dessa vizinhança pré-determinada. Agora a determinação desse conjunto é feita a cada iteração, dentro do loop mais externo. Dessa forma o conjunto de rótulos pode crescer aos poucos. As expansões ainda são feitas com os rótulos na vizinhança dos rótulos em L present, mas nesta abordagem os valores de disparidade são aos poucos propagados até seu valor ideal. É importante lembrar que com esse aumento progressivo do conjunto de

29 Capítulo 4. Multi-Resolução com Cortes de Grafo para Estéreo 29 Algoritmo 3: Algoritmo de minimização de energia EL Dmap cur = Dmap up while E cur < E prev do E cur = E prev Determinar o conjunto de rótulos L present em Dmap cur for l a L present do Determinar a vizinhança de rótulos L N de l a for l b L N do Dmap cur = expansão(l b ) end Calcular E cur de Dmap cur end end Dmap final = Dmap cur rótulos a acurácia do algoritmo melhora bastante. Em contra partida o tempo computacional também aumentou EAC (Expand All Combinations) Uma outra maneira de aumentar a acurácia do algoritmo é permitir a expansão em mais rótulos. No algoritmo LDNR as expansões-α só podiam acontecer em rótulos dentro de uma vizinhança de disparidade. Para remover essa restrição propomos um novo algoritmo chamado Expand All Labels(EAC) 1. O algoritmo 4 mostra os passos realizados pelo EAC. O algoritmo EAC, de maneira semelhante à que é feita pelo LDNR, determina os rótulos presentes em L present no mapa de disparidade reamostrado 1 Na verdade o método original proposto por Worby chamava-se SAC (Swap All Combinations), já que o algoritmo utilizado por ele é o algoritmo de troca-αβ (swap). Como não usamos o algoritmo de troca mas sim o de expansão, alteramos o nome do método para que correspondesse de igual maneira ao que ele faz. Algoritmo 4: Algoritmo de minimização de energia EAC Determinar o conjunto de rótulos L present em Dmap up for l i L present do Determinar a vizinhança de rótulos L N de l i Adicionar L N ao conjunto de rótulos L todo end while E cur < E prev do for l a L todo do expansão(l a ) end end Dmap final = configuração atual

30 Capítulo 4. Multi-Resolução com Cortes de Grafo para Estéreo 30 (linha 2) sem crescer durante o algoritmo. O próximo passo envolve a determinação das vizinhanças de disparidades para cada rótulo presente em L present. Após os rótulos de cada vizinhança serem determinados eles são adicionados ao conjunto de rótulos L todo. Após isso, para cada rótulo presente no conjunto L todo, o algoritmo calcula as expansões-α, permitindo que sejam feitas também de igual maneira para todos os rótulos neste mesmo conjunto. A desvantagem deste método é que o conjunto de rótulos pode, em algum momento, se tornar o conjunto de rótulos completo. No método proposto por Worby havia um grande aumento da acurácia por causa do aumento na quantidade trocas que eram realizadas. Por outro lado, como consequência, também há um aumento considerável no tempo computacional. Como estamos utilizando o algoritmo de expansão esse tempo é reduzido por um fator de n (onde n é o número de rótulos), implicando em um significativo ganho de performance.

31 5 Resultados Neste capítulo vamos apresentar os resultados obtidos com o método proposto neste trabalho. Para os testes foram utilizados diferentes pares de imagens presentes no conjunto de dados disponível no site do Middlebury (20), de maneira que pudéssemos realizar uma comparação coerente com outros métodos publicados que também utilizam esse conjunto padrão de testes. A aplicação foi testada em ambiente Windows XP SP3, Dual Quad Core 2.5 GHz, 3GB de RAM. Os parâmetros de entrada utilizados são os mesmos indicados em (04) e (10). Os métodos que foram comparados foram o utilizado por Kolmogorov em (10) cujos resultados são mostrados na figura 5.1, o método proposto por Worby em (04) cujos melhores resultados são apresentados na figura 5.2, e o nosso método. A figura 5.3 apresenta os mapas de disparidades obtidos para os pares de imagens Tsukuba, Teddy, Venus e Sawtooth usando o método de multi-resolução LDNR. Figura 5.1: Resultados do método desenvolvido por Kolmogorov (10). Para a realização dos testes utilizamos diferentes espaços de disparidades, a saber, 16, 32, 64 e 128. Para cada um dos três métodos comparados e para cada valor do espaço de disparidades foram realizadas cinco execuções do programa de maneira a se obter uma média do desempenho dos três métodos. A tabela 5.1 mostra o tempo de execução médio observado para o método desenvolvido por Kolmogorov no sistema considerado para calcular o mapa de disparidades de um par de imagens retificadas.

32 Capítulo 5. Resultados 32 Figura 5.2: Resultados obtidos com o método desenvolvido por Worby (04). No nosso método implementamos um algoritmo de corte de grafos com multi-resolução que utiliza a proposta de Worby para a criação de pirâmides gaussianas para as imagens de entrada, onde o método de corte de grafos é executado em cada nível da pirâmide de imagens geradas e o resultado de cada nível inicializa o passo seguinte, até que alcancemos o mapa de disparidades final (no nível mais refinado). O algoritmo de expansão-α utilizado é o mesmo proposto por Kolmogorov em (10). Tabela 5.1: Resultados obtidos com o método utilizado por Kolmogorov Espaço de Disparidades Tempo Médio de Execução s s s s No primeiro passo simplesmente implementamos a criação das pirâmides, a definição do espaço de disparidades para cada nível da pirâmide e a execução do algoritmo de cortes de grafo utilizando o resultado de um nível anterior menos refinado. Os resultados obtidos com essa implementação são apresentados na tabela 5.2, onde mostramos o tempo médio de execução para cada espaço de disparidades considerado e o ganho de performance obtido em relação ao método proposto por Kolmogorov. Em seguida implementamos os algoritmos propostos por Worby para Tabela 5.2: Resultados obtidos com o nosso método Disparidades Tempo de Execução Ganho de Desempenho s 8.5% s 18.5% s 16.6% s 27.6%

33 Capı tulo 5. Resultados 33 Figura 5.3: Resultados obtidos com nosso me todo usando o algoritmo LDNR. a reduc a o do espac o de disparidades em cada nı vel. Worby propo e em (04) tre s me todos para reduc a o do espac o de disparidades utilizando o algoritmo de troca-αβ. Na nossa abordagem implementamos estes me todos utilizando o algoritmo de expansa o-α apresentado por Kolmogorov. A tabela 5.3 mostra os resultados obtidos utilizando a implementac a o do me todo LDNR para reduzir o espac o de disparidades utilizado pelo algoritmo em cada etapa. Nela sa o apresentados o tempo de execuc a o para cada espac o de disparidade considerado e o ganho de desempenho em relac a o ao me todo original proposto por Kolmogorov. Analisando os resultados, observa-se que para um pequeno espac o de disparidades (16) o algoritmo apresenta performance inferior comparado ao algoritmo original, dado o overhead adicional de determinar e utilizar as vizinhanc as de cada valor de disparidade. Nesse caso, na u ltima etapa, em

Carlos Vinícius Sousa de Oliveira rio.br. Orientador: Prof. Marcelo Gattass

Carlos Vinícius Sousa de Oliveira rio.br. Orientador: Prof. Marcelo Gattass Carlos Vinícius Sousa de Oliveira coliveira@inf.puc rio.br Orientador: Prof. Marcelo Gattass 29/03/2010 Interpolação de imagens (Microsoft)? Problema abordado por César Dificuldades Determinação de mapas

Leia mais

Figura 5.1: Resultados do método desenvolvido por Kolmogorov (09).

Figura 5.1: Resultados do método desenvolvido por Kolmogorov (09). 5 Resultados Neste capítulo vamos apresentar os resultados obtidos com o método proposto neste trabalho. Para os testes foram utilizados diferentes pares de imagens presentes no conjunto de dados disponível

Leia mais

Iam Vita Jabour. O Impacto de Atributos Estruturais na Identificação de Tabelas e Listas em Documentos HTML. Dissertação de Mestrado

Iam Vita Jabour. O Impacto de Atributos Estruturais na Identificação de Tabelas e Listas em Documentos HTML. Dissertação de Mestrado Iam Vita Jabour O Impacto de Atributos Estruturais na Identificação de Tabelas e Listas em Documentos HTML Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção do grau de

Leia mais

João Paulo de Freitas Araujo. Algoritmos para acelerar a computação de Árvores de corte de Gomory e Hu. Dissertação de Mestrado

João Paulo de Freitas Araujo. Algoritmos para acelerar a computação de Árvores de corte de Gomory e Hu. Dissertação de Mestrado João Paulo de Freitas Araujo Algoritmos para acelerar a computação de Árvores de corte de Gomory e Hu Dissertação de Mestrado Dissertação apresentada ao Programa de Pós- Graduação em Engenharia de Produção

Leia mais

Francisco Benjamim Filho. XHITS: Estendendo o Algoritmo HITS para Extração de Tópicos na WWW DISSERTAÇÃO DE MESTRADO

Francisco Benjamim Filho. XHITS: Estendendo o Algoritmo HITS para Extração de Tópicos na WWW DISSERTAÇÃO DE MESTRADO Francisco Benjamim Filho XHITS: Estendendo o Algoritmo HITS para Extração de Tópicos na WWW DISSERTAÇÃO DE MESTRADO DEPARTAMENTO DE INFORMÁTICA Programa de Pós-Graduação em Informática Rio de Janeiro,

Leia mais

BCC204 - Teoria dos Grafos

BCC204 - Teoria dos Grafos BCC204 - Teoria dos Grafos Marco Antonio M. Carvalho (baseado nas notas de aula do prof. Haroldo Gambini Santos) Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal

Leia mais

CIC 111 Análise e Projeto de Algoritmos II

CIC 111 Análise e Projeto de Algoritmos II CIC 111 Análise e Projeto de Algoritmos II Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA 27 Square root algorithms Combining algorithms Integer partitions Mo s algorithm Square

Leia mais

6 Estudos de Casos Porta Lógica OU de 4 Entradas

6 Estudos de Casos Porta Lógica OU de 4 Entradas 6 Estudos de Casos Com o objetivo de avaliar a síntese automática de circuitos de QCA usando técnicas de Hardware Evolucionário (EHW), alguns circuitos foram sintetizados e serão apresentados a seguir.

Leia mais

Tatiana Waintraub. Modelagem da calçada de Copacabana. Dissertação de Mestrado

Tatiana Waintraub. Modelagem da calçada de Copacabana. Dissertação de Mestrado Tatiana Waintraub Modelagem da calçada de Copacabana Dissertação de Mestrado Dissertação apresentada como requisito parcial para a obtenção do grau de Mestre pelo Programa de Pós-graduação em Informática

Leia mais

Um Estudo Sobre Middlewares Adaptáveis

Um Estudo Sobre Middlewares Adaptáveis Luiz Gustavo Couri Nogara Um Estudo Sobre Middlewares Adaptáveis Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção do grau de Mestre pelo Programa de Pós graduação em

Leia mais

Mapeamento Automático de Horizontes e Falhas em Dados Sísmicos 3D baseado no algoritmo de Gás Neural Evolutivo

Mapeamento Automático de Horizontes e Falhas em Dados Sísmicos 3D baseado no algoritmo de Gás Neural Evolutivo Aurélio Moraes Figueiredo Mapeamento Automático de Horizontes e Falhas em Dados Sísmicos 3D baseado no algoritmo de Gás Neural Evolutivo Dissertação de Mestrado Dissertação apresentada como requisito parcial

Leia mais

Ricardo Fukasawa. Resolução de problemas de logística ferroviária utilizando programação inteira DISSERTAÇÃO DE MESTRADO

Ricardo Fukasawa. Resolução de problemas de logística ferroviária utilizando programação inteira DISSERTAÇÃO DE MESTRADO Ricardo Fukasawa Resolução de problemas de logística ferroviária utilizando programação inteira DISSERTAÇÃO DE MESTRADO DEPARTAMENTO DE ENGENHARIA ELÉTRICA Programa de Pós graduação em Engenharia Elétrica

Leia mais

1 Introdução Motivação

1 Introdução Motivação 1 Introdução 1.1. Motivação A programação linear, ao menos na modelagem matemática que se conhece hoje, foi desenvolvida durante a segunda grande guerra quando foi utilizada no planejamento e execuçã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

Buscas Informadas ou Heurísticas - Parte II

Buscas Informadas ou Heurísticas - Parte II Buscas Informadas ou Heurísticas - Parte II Prof. Cedric Luiz de Carvalho Instituto de Informática - UFG Graduação em Ciência da Computação / 2006 FUNÇÕES HEURÍSTICAS - 1/7 FUNÇÕES HEURÍSTICAS - 2/7 Solução

Leia mais

Otávio de Pinho Forin Braga. Uma Arquitetura para Síntese de Imagens Fotorrealistas baseada em Técnicas de Monte Carlo DISSERTAÇÃO DE MESTRADO

Otávio de Pinho Forin Braga. Uma Arquitetura para Síntese de Imagens Fotorrealistas baseada em Técnicas de Monte Carlo DISSERTAÇÃO DE MESTRADO Otávio de Pinho Forin Braga Uma Arquitetura para Síntese de Imagens Fotorrealistas baseada em Técnicas de Monte Carlo DISSERTAÇÃO DE MESTRADO DEPARTAMENTO DE INFORMÁTICA Programa de Pós graduação em Informática

Leia mais

Otimização Combinatória - Parte 4

Otimização Combinatória - Parte 4 Graduação em Matemática Industrial Otimização Combinatória - Parte 4 Prof. Thiago Alves de Queiroz Departamento de Matemática - CAC/UFG 2/2014 Thiago Queiroz (DM) Parte 4 2/2014 1 / 33 Complexidade Computacional

Leia mais

Método de restrições ativas para minimização em caixas

Método de restrições ativas para minimização em caixas Método de restrições ativas para minimização em caixas Marina Andretta ICMC-USP 20 de outubro de 2014 Marina Andretta (ICMC-USP) sme5720 - Otimização não-linear 20 de outubro de 2014 1 / 25 Problema com

Leia mais

Uma abordagem baseada em SPH para animação interativa de águas rasas em jogos

Uma abordagem baseada em SPH para animação interativa de águas rasas em jogos Algemiro Augusto da Silva Neto Uma abordagem baseada em SPH para animação interativa de águas rasas em jogos Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção do grau

Leia mais

QEEF-G: Execução Paralela Adaptativa de Consultas Iterativas

QEEF-G: Execução Paralela Adaptativa de Consultas Iterativas Vinícius Fontes Vieira da Silva QEEF-G: Execução Paralela Adaptativa de Consultas Iterativas Dissertação de Mestrado Dissertação apresentada ao programa de Pósgraduação em Informática do Departamento de

Leia mais

Um Estudo das Técnicas de Obtenção de Forma a partir de Estéreo e Luz Estruturada para Engenharia

Um Estudo das Técnicas de Obtenção de Forma a partir de Estéreo e Luz Estruturada para Engenharia Um Estudo das Técnicas de Obtenção de Forma a partir de Estéreo e Luz Estruturada para Engenharia Aluno: Gabriel Malizia Orientador: Professor Marcelo Gattass Co-Orientador: Professor Paulo Cezar Carvalho

Leia mais

Problemas de otimização

Problemas de otimização Problemas de otimização Problemas de decisão: Existe uma solução satisfazendo certa propriedade? Resultado: sim ou não Problemas de otimização: Entre todas as soluções satisfazendo determinada propriedade,

Leia mais

Figura 1.1: Partição do espaço contendo a esfera S.

Figura 1.1: Partição do espaço contendo a esfera S. 1 Introdução Uma superfície é definida implicitamente quando é descrita como um conjunto de pontos com uma propriedade em comum. A formulação mais utilizada é, dada uma função F : R 3! R, descrevê-la como

Leia mais

Pedro Tiago Barbosa do Couto. Resolução de problemas de transporte rodoviário de cargas utilizando programação inteira DISSERTAÇÃO DE MESTRADO

Pedro Tiago Barbosa do Couto. Resolução de problemas de transporte rodoviário de cargas utilizando programação inteira DISSERTAÇÃO DE MESTRADO Pedro Tiago Barbosa do Couto Resolução de problemas de transporte rodoviário de cargas utilizando programação inteira DISSERTAÇÃO DE MESTRADO DEPARTAMENTO DE ENGENHARIA ELÉTRICA Programa de Pós graduação

Leia mais

Seminário de Robótica Bruno de Abreu Silva

Seminário de Robótica Bruno de Abreu Silva Seminário de Robótica Bruno de Abreu Silva 1 Introdução Conceitos gerais Métodos de planejamento de rotas 2 Dadas as configurações inicial e final de um robô, descobrir uma sequência de movimentos a ser

Leia mais

Mauricio Kreczmarsky Guimarães Meinicke. Opacidade 3D na Visualização Volumétrica de Dados Sísmicos

Mauricio Kreczmarsky Guimarães Meinicke. Opacidade 3D na Visualização Volumétrica de Dados Sísmicos Mauricio Kreczmarsky Guimarães Meinicke Opacidade 3D na Visualização Volumétrica de Dados Sísmicos Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção do título de Mestre

Leia mais

Criação Automática de Visões Materializadas em SGBDs Relacionais

Criação Automática de Visões Materializadas em SGBDs Relacionais Andréa Weberling Carvalho Criação Automática de Visões Materializadas em SGBDs Relacionais Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção do título de Mestre pelo

Leia mais

Elicitação de requisitos de software através da utilização de questionários

Elicitação de requisitos de software através da utilização de questionários Paulo Roberto de Oliveira Bastos Junior Elicitação de requisitos de software através da utilização de questionários Dissertação de Mestrado Dissertação apresentada ao Programa de Pós-graduação em Informática

Leia mais

Teresa C. S. Azevedo

Teresa C. S. Azevedo Teresa C. S. Azevedo Orientador: Prof. João Manuel R. S. Tavares Co-orientador: Prof. Mário A. P. Vaz Sumário: I. Reconstrução 3D do corpo humano: i. Aplicações; ii. Técnicas; iii. Objectivos; II. utilizadas

Leia mais

Otimização. Otimização em Redes. Paulo Henrique Ribeiro Gabriel Faculdade de Computação Universidade Federal de Uberlândia 2016/2

Otimização. Otimização em Redes. Paulo Henrique Ribeiro Gabriel Faculdade de Computação Universidade Federal de Uberlândia 2016/2 Otimização Otimização em Redes Paulo Henrique Ribeiro Gabriel phrg@ufu.br Faculdade de Computação Universidade Federal de Uberlândia 2016/2 Paulo H. R. Gabriel (FACOM/UFU) GSI027 2016/2 1 / 51 Conteúdo

Leia mais

PCC173 - Otimização em Redes

PCC173 - Otimização em Redes PCC173 - Otimização em Redes Marco Antonio M. Carvalho Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal de Ouro Preto 31 de maio de 2017 Marco Antonio M. Carvalho

Leia mais

5 Qualidade dos Resultados

5 Qualidade dos Resultados 5 Qualidade dos Resultados Neste capítulo apresentaremos alguns resultados do trabalho com a medida de qualidade da reconstrução por TetraQuads utilizando diferentes modelos e resoluções de malha de tetraedros.

Leia mais

PMR2560 Visão Computacional Visão estéreo. Prof. Eduardo L. L. Cabral

PMR2560 Visão Computacional Visão estéreo. Prof. Eduardo L. L. Cabral PMR2560 Visão Computacional Visão estéreo Prof. Eduardo L. L. Cabral Objetivos Introdução Equações básicas Processo de correspondência Geometria epipolar Retificação de imagens Reconstrução 3D Visão estéreo

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

1 Introdução. I know because I must know. It's my purpose. It's the reason I'm here. (The Matrix) 1.1 Objetivos do trabalho

1 Introdução. I know because I must know. It's my purpose. It's the reason I'm here. (The Matrix) 1.1 Objetivos do trabalho 1 Introdução I know because I must know. It's my purpose. It's the reason I'm here. (The Matrix) 1.1 Objetivos do trabalho Os hardwares gráficos atualmente podem ser considerados como verdadeiros processadores

Leia mais

6 Experimentos realizados

6 Experimentos realizados 6 Experimentos realizados 6.1 Considerações iniciais Resolvemos os modelos de PLIM utilizando o resolvedor CPLEX, baseado no método de branch-and-bound. Resolvemos as relaxações lineares dos mesmos modelos

Leia mais

Controle da Execução e Disponibilização de Dados para Aplicativos sobre Seqüências Biológicas: o Caso BLAST

Controle da Execução e Disponibilização de Dados para Aplicativos sobre Seqüências Biológicas: o Caso BLAST Maíra Ferreira de Noronha Controle da Execução e Disponibilização de Dados para Aplicativos sobre Seqüências Biológicas: o Caso BLAST Dissertação de Mestrado Dissertação apresentada como requisito parcial

Leia mais

Uma Introdução à Busca Tabu André Gomes

Uma Introdução à Busca Tabu André Gomes Uma Introdução à Busca Tabu André Gomes Departamento de Ciência da Computação, Instituto de Matemática e Estatística, Universidade de São Paulo, SP, Brasil Novembro de 2009 INTRODUÇÃO Método de Busca Local

Leia mais

Uma Proposta de Sistema de Dependência a Distância Usando a Plataforma Moodle

Uma Proposta de Sistema de Dependência a Distância Usando a Plataforma Moodle Bruno Hirle Nunes Uma Proposta de Sistema de Dependência a Distância Usando a Plataforma Moodle Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção do grau de Mestre pelo

Leia mais

Algoritmo Aproximação. Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3

Algoritmo Aproximação. Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3 Algoritmo Aproximação Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3 Heurísticas para Problemas NP- Completo Heurística: algoritmo que pode produzir um bom resultado (ou até a solução ótima),

Leia mais

Renato Figueiró Maia. Um Framework para Sistemas Baseados em Componentes Distribuídos. Informática DEPARTAMENTO DE INFORMÁTICA

Renato Figueiró Maia. Um Framework para Sistemas Baseados em Componentes Distribuídos. Informática DEPARTAMENTO DE INFORMÁTICA Renato Figueiró Maia Um Framework para Adaptação Dinâmica de Sistemas Baseados em Componentes Distribuídos DISSERTAÇÃO DE MESTRADO DEPARTAMENTO DE INFORMÁTICA Programa de Pós graduação em Informática Rio

Leia mais

3 Metaeurísticas e Resolvedores MIP

3 Metaeurísticas e Resolvedores MIP 3 Metaeurísticas e Resolvedores MIP A combinação entre metaeurísticas e resolvedores MIP é uma estratégia relativamente recente, tendo seus primeiros estudos realizados ao longo da última década. O survey

Leia mais

PARALELIZAÇÃO DE ALGORITMO DE INSPEÇÃO DE ROTAS UTILIZANDO PERMUTAÇÃO LEXICOGRÁFICA 1

PARALELIZAÇÃO DE ALGORITMO DE INSPEÇÃO DE ROTAS UTILIZANDO PERMUTAÇÃO LEXICOGRÁFICA 1 PARALELIZAÇÃO DE ALGORITMO DE INSPEÇÃO DE ROTAS UTILIZANDO PERMUTAÇÃO LEXICOGRÁFICA 1 Jessica De Almeida Berlezi 2, Janiel Ceretta Foletto 3, Edson Luiz Padoin 4, Rogério S. M. Martins 5. 1 Trabalho realizado

Leia mais

Grafos - Introdução. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Grafos - Introdução 2014/ / 32

Grafos - Introdução. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Grafos - Introdução 2014/ / 32 Grafos - Introdução Pedro Ribeiro DCC/FCUP 2014/2015 Pedro Ribeiro (DCC/FCUP) Grafos - Introdução 2014/2015 1 / 32 Conceito Definição de Grafo Formalmente, um grafo é: Um conjunto de nós/vértices (V).

Leia mais

Registro de sísmica 3D a dados de poços

Registro de sísmica 3D a dados de poços Registro de sísmica 3D a dados de poços Defesa de Dissertação de Mestrado em Informática PUC-Rio Rodrigo C. Fernandes Orientação: Prof. Marcelo Gattass 21/Agosto/2009 O problema Registrar dados sísmicos

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

5 VNS com Filtro e Reconexão por Caminhos

5 VNS com Filtro e Reconexão por Caminhos 5 VNS com Filtro e Reconexão por Caminhos A metaheurística VNS (Variable Neighborhood Search) foi proposta por Mladenović e Hansen [40] e possui como idéia básica a mudança de vizinhanças realizada da

Leia mais

INTERPOLAÇÃO LINEAR E BILINEAR: APLICAÇÃO EM TRANSFORMAÇÕES GEOMÉTRICAS DE IMAGEM INTRODUÇÃO

INTERPOLAÇÃO LINEAR E BILINEAR: APLICAÇÃO EM TRANSFORMAÇÕES GEOMÉTRICAS DE IMAGEM INTRODUÇÃO INTERPOLAÇÃO LINEAR E BILINEAR: APLICAÇÃO EM TRANSFORMAÇÕES GEOMÉTRICAS DE IMAGEM Autores: Giulia Denise Kujat VIEIRA; Milene Karine GUBETTI. Identificação autores: Estudantes do Curso Técnico em Informática

Leia mais

Marcela Silva Novo. Guias de Onda de Seção Arbitrária: Análise de campos modais e de descontinuidades em guias de diferentes seções

Marcela Silva Novo. Guias de Onda de Seção Arbitrária: Análise de campos modais e de descontinuidades em guias de diferentes seções Marcela Silva Novo Guias de Onda de Seção Arbitrária: Análise de campos modais e de descontinuidades em guias de diferentes seções Dissertação de Mestrado Dissertação apresentada como requisito parcial

Leia mais

Reconstrução de cenas a partir de imagens através de Escultura do Espaço por Refinamento Adaptativo

Reconstrução de cenas a partir de imagens através de Escultura do Espaço por Refinamento Adaptativo Tese de doutorado Reconstrução de cenas a partir de imagens através de Escultura do Espaço por Refinamento Adaptativo por Anselmo A. Montenegro Orientadores: Marcelo Gattass, PUC-Rio Paulo Cezar Carvalho,

Leia mais

O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste

O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste material e a resolução (por parte do aluno) de todos os

Leia mais

Apresentação de uma Plataforma Computacional para a Reconstrução e Caracterização da Forma 3D de Objectos

Apresentação de uma Plataforma Computacional para a Reconstrução e Caracterização da Forma 3D de Objectos Teresa Azevedo, João Manuel R. S. Tavares, Mário Vaz FEUP - Faculdade de Engenharia da Universidade do Porto LOME - Laboratório de Óptica e Mecânica Experimental Índice: I. Visão 3D; II. Computacional

Leia mais

3 Extensões dos modelos matemáticos

3 Extensões dos modelos matemáticos 3 Extensões dos modelos matemáticos Os modelos matemáticos definidos por (2-1) (2-6) e (2-7) (2-13), propostos por Achuthan e Caccetta e apresentados no Capítulo 2, são reforçados neste trabalho através

Leia mais

2 Definição do Problema

2 Definição do Problema Definição do Problema. Formulação Matemática O problema do Fluxo Máximo entre todos os pares de nós surge no contexto de redes, estas representadas por grafos, e deriva-se do problema singular de fluxo

Leia mais

Carlos Roberto da Costa Ferreira. Interpolação Modificada de LSF's. Dissertação de Mestrado

Carlos Roberto da Costa Ferreira. Interpolação Modificada de LSF's. Dissertação de Mestrado Carlos Roberto da Costa Ferreira Interpolação Modificada de LSF's Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção do grau de Mestre pelo Programa de Pósgraduação em

Leia mais

Modelagem em Experimentos Mistura-Processo para Otimização de Processos Industriais

Modelagem em Experimentos Mistura-Processo para Otimização de Processos Industriais Luiz Henrique Abreu Dal Bello Modelagem em Experimentos Mistura-Processo para Otimização de Processos Industriais Tese de Doutorado Tese apresentada como requisito parcial para obtenção do título de Doutor

Leia mais

MouseCam: aplicação de controle do mouse via câmera

MouseCam: aplicação de controle do mouse via câmera MouseCam: aplicação de controle do mouse via câmera Introdução ao Processamento de Imagens COS756 PESC/COPPE/UFRJ 2013 1 Renan Garrot garrot@cos.ufrj.br 1. Introdução O processo de tracking por vídeo consiste

Leia mais

A quantidade de informação existente no mundo é grande e cresce a uma taxa exponencial a cada ano. Aplicações como engenhos de busca web, por

A quantidade de informação existente no mundo é grande e cresce a uma taxa exponencial a cada ano. Aplicações como engenhos de busca web, por 1 Introdução A quantidade de informação existente no mundo é grande e cresce a uma taxa exponencial a cada ano. Aplicações como engenhos de busca web, por exemplo, tem que lidar com uma quantidade de dados

Leia mais

3 Métodos de Extração de Malhas a partir de Volumes

3 Métodos de Extração de Malhas a partir de Volumes 3 Métodos de Extração de Malhas a partir de Volumes Extrair uma malha a partir de um dado volumétrico trata-se, na realidade, de uma forma de conversão entre dois modelos de representação muito comuns

Leia mais

Renata Thomaz Lins do Nascimento. Visualização por Imagens Auto-animadas de Campos Vetoriais Baseada na sua Topologia. Dissertação de Mestrado

Renata Thomaz Lins do Nascimento. Visualização por Imagens Auto-animadas de Campos Vetoriais Baseada na sua Topologia. Dissertação de Mestrado Renata Thomaz Lins do Nascimento Visualização por Imagens Auto-animadas de Campos Vetoriais Baseada na sua Topologia Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção

Leia mais

3 Sistema de Partículas na CPU

3 Sistema de Partículas na CPU Sistema de Partículas na CPU 16 3 Sistema de Partículas na CPU Um sistema de partículas pode ser dividido em diferentes etapas: avanço do sistema no tempo; construção da estrutura de subdivisão espacial

Leia mais

Busca em Profundidade e em Largura

Busca em Profundidade e em Largura Busca em Profundidade e em Largura Grafos e Algoritmos Computacionais Prof. Flávio Humberto Cabral Nunes fhcnunes@yahoo.com.br 1 Mais sobre Caminhos TEOREMA: Se um grafo possui exatamente 2 vértices de

Leia mais

Pontifícia Universidade Católica do Rio de Janeiro. Departamento de Informática. Fundamentos de Computação Gráfica

Pontifícia Universidade Católica do Rio de Janeiro. Departamento de Informática. Fundamentos de Computação Gráfica 1. Imagens sísmicas Pontifícia Universidade Católica do Rio de Janeiro Departamento de Informática Fundamentos de Computação Gráfica Aluno: Stelmo Magalhães Barros Netto Relatório do trabalho Imagens Sísmicas

Leia mais

4 Cálculo de Equivalentes Dinâmicos

4 Cálculo de Equivalentes Dinâmicos 4 Cálculo de Equivalentes Dinâmicos 4.1 Introdução O crescimento do sistema de energia elétrica, o aumento do número de interligações e a sofisticação dos modelos para representação dos componentes de

Leia mais

Problemas de Fluxo em Redes

Problemas de Fluxo em Redes CAPÍTULO 7 1. Conceitos fundamentais de grafos Em muitos problemas que nos surgem, a forma mais simples de o descrever, é representá-lo em forma de grafo, uma vez que um grafo oferece uma representação

Leia mais

Thomas de Campos Tsuchida. Modelagem da localização de pólos de venda de derivados de petróleo. Dissertação de Mestrado (Opção Profissional)

Thomas de Campos Tsuchida. Modelagem da localização de pólos de venda de derivados de petróleo. Dissertação de Mestrado (Opção Profissional) Thomas de Campos Tsuchida Modelagem da localização de pólos de venda de derivados de petróleo Dissertação de Mestrado (Opção Profissional) Dissertação apresentada como requisito parcial para obtenção do

Leia mais

Projeto e Análise de Algoritmos NP Completude. Prof. Humberto Brandão

Projeto e Análise de Algoritmos NP Completude. Prof. Humberto Brandão Projeto e Análise de Algoritmos NP Completude Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br Universidade Federal de Alfenas versão da aula: 0.4 Introdução Problemas intratáveis ou difíceis são comuns

Leia mais

5 Resultados Experimentais

5 Resultados Experimentais 5 Resultados Experimentais Neste capítulo são apresentados alguns testes realizados tendo em vista julgar a aplicação desenvolvida em algumas das situações em que ela possa vir a ser utilizada, assim como

Leia mais

Arquitecturas Paralelas I Computação Paralela em Larga Escala LESI - 4º Ano. Desenvolvimento de Aplicações Paralelas

Arquitecturas Paralelas I Computação Paralela em Larga Escala LESI - 4º Ano. Desenvolvimento de Aplicações Paralelas Arquitecturas Paralelas I Computação Paralela em Larga Escala LESI - 4º Ano Desenvolvimento de Aplicações Paralelas (gec.di.uminho.pt/lesi/ap10203/aula06aplicaçõespar.pdf) João Luís Ferreira Sobral Departamento

Leia mais

Bruno de Figueiredo Melo e Souza. Modelos de fatoração matricial para recomendação de vídeos. Dissertação de Mestrado

Bruno de Figueiredo Melo e Souza. Modelos de fatoração matricial para recomendação de vídeos. Dissertação de Mestrado Bruno de Figueiredo Melo e Souza Modelos de fatoração matricial para recomendação de vídeos Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção do grau de Mestre pelo Programa

Leia mais

Bruno Siqueira Silva. Workflows dinâmicos em gerência de projetos ágeis. Dissertação de Mestrado

Bruno Siqueira Silva. Workflows dinâmicos em gerência de projetos ágeis. Dissertação de Mestrado Bruno Siqueira Silva Workflows dinâmicos em gerência de projetos ágeis Dissertação de Mestrado Dissertação apresentada ao Programa de Pósgraduação em Informática da PUC-Rio como requisito parcial para

Leia mais

Seleção de Atributos 1

Seleção de Atributos 1 Seleção de Atributos 1 Tópicos Por que atributos irrelevantes são um problema Quais tipos de algoritmos de aprendizado são afetados Seleção de atributos antes do aprendizado Benefícios Abordagens automáticas

Leia mais

Francisco Eduardo Torres Cursino de Moura. Uma proposta para Rendering Baseado em Imagens em celulares

Francisco Eduardo Torres Cursino de Moura. Uma proposta para Rendering Baseado em Imagens em celulares Francisco Eduardo Torres Cursino de Moura Uma proposta para Rendering Baseado em Imagens em celulares Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção do título de Mestre

Leia mais

lnteligência Artificial

lnteligência Artificial lnteligência Artificial Busca Heurística - Informada Estratégias de Busca Heurística Usam conhecimento específico do problema na busca da solução Mais eficientes que busca não informada Busca Informada

Leia mais

Reconstrução e Síntese de Cenários Tridimensionais a partir de Imagens Estereoscópicas

Reconstrução e Síntese de Cenários Tridimensionais a partir de Imagens Estereoscópicas MAC499 - Trabalho de Formatura Supervisionado Reconstrução e Síntese de Cenários Tridimensionais a partir de Imagens Estereoscópicas Alunos: Daniel Ferreira Santos Eduardo Bretones Mascarenhas Apolinário

Leia mais

Alocação de Unidades via Relaxação Lagrangeana

Alocação de Unidades via Relaxação Lagrangeana Alocação de Unidades via Relaxação Lagrangeana Prof. Antonio Simões Costa Grupo de Sistemas de Potência EEL - UFSC Relaxação Lagrangeana: Conceitos Iniciais 2 1 Alocação de Unidades via Relaxação Lagrangeana

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

UNIVERSIDADE FEDERAL FLUMINENSE Pedro Martins Menezes. Um estudo dos estágios dos pipelines gráficos

UNIVERSIDADE FEDERAL FLUMINENSE Pedro Martins Menezes. Um estudo dos estágios dos pipelines gráficos UNIVERSIDADE FEDERAL FLUMINENSE Pedro Martins Menezes Um estudo dos estágios dos pipelines gráficos Niterói 2008 Pedro Martins Menezes Um estudo dos estágios dos pipelines gráficos Trabalho de Conclusão

Leia mais

Teoria da Computação. Complexidade computacional classes de problemas

Teoria da Computação. Complexidade computacional classes de problemas Teoria da Computação Complexidade computacional classes de problemas 1 Universo de problemas Problemas indecidíveis ou não-computáveis Não admitem algoritmos Problemas intratáveis Não admitem algoritmos

Leia mais

Reconhecimento de texturas utilizando padrão binário local e classificador knn.

Reconhecimento de texturas utilizando padrão binário local e classificador knn. Reconhecimento de texturas utilizando padrão binário local e classificador knn. Vinicius Santos Andrade 1 Resumo. Através de uma imagem é possível obter inúmeras informações. Portanto, é cada vez mais

Leia mais

Algoritmos para o problema da árvore de Steiner com coleta de prêmios

Algoritmos para o problema da árvore de Steiner com coleta de prêmios Algoritmos para o problema da árvore de Steiner com coleta de prêmios Camila Mari Matsubara Orientador: Prof. Dr. José Coelho de Pina Defesa de mestrado Instituto de Matemática e Estatística Universidade

Leia mais

Utilização de uma estratégia para identificação de fontes de informação na fase de elicitação

Utilização de uma estratégia para identificação de fontes de informação na fase de elicitação Edson Andrade de Moraes Utilização de uma estratégia para identificação de fontes de informação na fase de elicitação Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção

Leia mais

4 Detecção de Silhueta

4 Detecção de Silhueta 4 Detecção de Silhueta No decorrer deste capítulo é proposto um modelo de detecção da silhueta da mão capaz de lidar com os erros da segmentação e ruídos na sua morfologia. Num primeiro passo são considerados

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 11 de novembro de 2016 Fluxo óptico Usado para estimar

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

INF Fundamentos da Computação Gráfica Professor: Marcelo Gattass Aluno: Rogério Pinheiro de Souza

INF Fundamentos da Computação Gráfica Professor: Marcelo Gattass Aluno: Rogério Pinheiro de Souza INF2608 - Fundamentos da Computação Gráfica Professor: Marcelo Gattass Aluno: Rogério Pinheiro de Souza Trabalho 02 Visualização de Imagens Sísmicas e Detecção Automática de Horizonte Resumo Este trabalho

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

Introdução. 1 Introdução

Introdução. 1 Introdução Introdução 1 Introdução O efeito visual de sombras em uma cena 3D é muito enriquecedor. Sem ele, quando a imagem é projetada na tela bidimensional do computador para visualização, perdem-se informações

Leia mais

RESOLUÇÃO DE PROBLEMAS POR MEIO DE BUSCA (PARTE 1) *Capítulo 3 (Russel & Norvig)

RESOLUÇÃO DE PROBLEMAS POR MEIO DE BUSCA (PARTE 1) *Capítulo 3 (Russel & Norvig) RESOLUÇÃO DE PROBLEMAS POR MEIO DE BUSCA (PARTE 1) *Capítulo 3 (Russel & Norvig) 1 Tópicos 1. Agentes para resolução de problemas 2. Formulação de problemas 3. Exemplos de problemas 4. Soluções aos problemas

Leia mais

Visualização de terrenos em GPU

Visualização de terrenos em GPU Visualização de terrenos em GPU Leonardo Martins { lmartins@inf.puc-rio.br} Disciplina: Visualização de Modelos Massivos Professor: Alberto Raposo Sumário Introdução Objetivos Visão geral Hierarquia de

Leia mais

Técnicas Inteligência Artificial

Técnicas Inteligência Artificial Universidade do Sul de Santa Catarina Ciência da Computação Técnicas Inteligência Artificial Aula 03 Métodos de Busca Parte 1 Prof. Max Pereira Solução de Problemas como Busca Um problema pode ser considerado

Leia mais

Backtracking. Túlio Toffolo Marco Antônio Carvalho BCC402 Aula 10 Algoritmos e Programação Avançada

Backtracking. Túlio Toffolo  Marco Antônio Carvalho BCC402 Aula 10 Algoritmos e Programação Avançada Backtracking Túlio Toffolo www.toffolo.com.br Marco Antônio Carvalho marco.opt@gmail.com BCC402 Aula 10 Algoritmos e Programação Avançada Backtracking Backtracking é um refinamento do algoritmo de busca

Leia mais

Sistema para Consultas sobre Banco de Dados Relacional Baseado em Palavras-Chave

Sistema para Consultas sobre Banco de Dados Relacional Baseado em Palavras-Chave Leandro dos Santos Nazareth Sistema para Consultas sobre Banco de Dados Relacional Baseado em Palavras-Chave Dissertação de Mestrado Dissertação apresentada ao Programa de Pós-Graduação em Informática

Leia mais

Estimadores de Curvaturas para Curvas no R 4

Estimadores de Curvaturas para Curvas no R 4 Rogério Vaz de Almeida Junior Estimadores de Curvaturas para Curvas no R 4 Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção do grau de Mestre pelo Programa de Pós graduação

Leia mais

Detecção de falsas correspondências em pares de imagens estereoscópicas utilizando a transformação projetiva no plano e o algoritmo RANSAC

Detecção de falsas correspondências em pares de imagens estereoscópicas utilizando a transformação projetiva no plano e o algoritmo RANSAC Detecção de falsas correspondências em pares de imagens estereoscópicas utilizando a transformação projetiva no plano e o algoritmo RANSAC André Caceres Carrilho Mauricio Galo Renato César dos Santos Curitiba,

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

4 Algoritmo de reconstrução de curvas

4 Algoritmo de reconstrução de curvas 4 Algoritmo de reconstrução de curvas Como visto na introdução, o algoritmo proposto neste trabalho é constituído pelas seguintes etapas: 1. Agrupamento espacial dos pontos de amostragem 2. Processamento

Leia mais

4 Cálculo de Equivalentes Dinâmicos

4 Cálculo de Equivalentes Dinâmicos 4 Cálculo de Equivalentes Dinâmicos 4.1 Introdução Com o elevado índice de expansão dos sistemas elétricos de potência, os freqüentes aumentos nas interligações e o alto número de variáveis que envolvem

Leia mais

PMR2560 ELEMENTOS DE ROBÓTICA 2016 TRABALHO DE VISÃO COMPUTACIONAL CALIBRAÇÃO DE CÂMERAS E VISÃO ESTÉREO

PMR2560 ELEMENTOS DE ROBÓTICA 2016 TRABALHO DE VISÃO COMPUTACIONAL CALIBRAÇÃO DE CÂMERAS E VISÃO ESTÉREO PMR2560 ELEMENTOS DE ROBÓTICA 2016 TRABALHO DE VISÃO COMPUTACIONAL CALIBRAÇÃO DE CÂMERAS E VISÃO ESTÉREO Esse trabalho consiste de três partes. Na primeira parte do trabalho você vai calibrar duas câmeras

Leia mais

Adriano Francisco Branco. Um modelo de programação para RSSF com. Dissertação de Mestrado

Adriano Francisco Branco. Um modelo de programação para RSSF com. Dissertação de Mestrado Adriano Francisco Branco Um modelo de programação para RSSF com suporte à reconfiguração dinâmica de aplicações Dissertação de Mestrado Dissertação apresentada ao Programa de Pós graduação em Informática

Leia mais