processamento de imagens e fotografia digital
play

Processamento de Imagens e Fotografia Digital Images Alive: - PowerPoint PPT Presentation

Processamento de Imagens e Fotografia Digital Images Alive: Manipulao de gradientes Eric Jardim ericjardim@gmail.com IMPA - Instituto Nacional de Matemtica Pura e Aplicada Prof. Luiz Velho Images Alive: Manipulao de gradientes


  1. Processamento de Imagens e Fotografia Digital Images Alive: Manipulação de gradientes Eric Jardim ericjardim@gmail.com IMPA - Instituto Nacional de Matemática Pura e Aplicada Prof. Luiz Velho Images Alive: Manipulação de gradientes – p. 1

  2. Tema: Images Alive Com a popularização de aparelhos com dispositivos gráficos como celulares, handhelds, MP3 players e câmeras digitais, o conceito de “imagem” ou “foto” deixou de ser algo exclusivo para visualização em papel. Com isso, existe a possibilidade de termos imagens mais “vivas”, sejam com pequenas animações de uma imagem ou cena original que dão um efeito de movimento, sem perder a qualidade de imagem. É nesse limiar entre imagem, animação e aplicações interativas que reside o tema “Images Alive”. Images Alive: Manipulação de gradientes – p. 2

  3. Técnica escolhida Edge Suppression by Gradient Field Transformation Using Cross-Projection Tensors , dos autores Amit Agrawal, Ramesh Raskar e Rama Chellappa. A técnica consiste em utilizar as informações dos gradientes das imagens tiradas de uma mesma cena sob pequenas variações de iluminação ou com pequenas alterações. A partir de duas imagens, é possível gerar uma terceira que combina informações das duas. Images Alive: Manipulação de gradientes – p. 3

  4. Exemplos de uso da técnica Extração de objetos em primeiro plano Images Alive: Manipulação de gradientes – p. 4

  5. Exemplos de uso da técnica Extração de reflexos Images Alive: Manipulação de gradientes – p. 5

  6. Técnica e o tema Problema: como amarrar o tema com a técnica escolhida? Solução: transições suaves entre imagens resultantes e originais (dissove) Images Alive: Manipulação de gradientes – p. 6

  7. Técnica: definições Modelo funcional f : U ⊂ R 2 → R 3 = E U = [ a, b ] × [ c, d ] = { ( x, y ) ∈ R 2 ; a ≤ x ≤ b, c ≤ x ≤ d } Representação matricial (discreta), associa um reticulado ∆ = (∆ x , ∆ y ) ao domínio U ∆ = { ( x j , y k ) ∈ U ; x j = j ∆ x, y k = ∆ yk } j, k ∈ Z , ∆ x , ∆ y ∈ N } O espaço de cor é representado por valores reais por cada canal utilizando ponto flutuante. Images Alive: Manipulação de gradientes – p. 7

  8. Técnica: definições Podemos olhar a imagem como o gráfico de ( x, y, f ( x, y )) ( x, y ) ∈ U Vamos agora denotar a imagem por I = f ( x, y ) Definimos o gradiente de I como � � I x ∇ I = I y Para estimarmos os valores de ∇ I utilizamos diferenças finitas Images Alive: Manipulação de gradientes – p. 8

  9. Exemplo: gradiente Gradiente de um canal de uma imagem Images Alive: Manipulação de gradientes – p. 9

  10. Técnica: definições Vamos também definir o tensor de estrutura suavizado por � � I 2 I x I y x G σ = ( ∇ I ∇ I T ) ∗ K σ = ∗ K σ I 2 I x I y y onde K σ é núcleo gaussiano de variança σ Mas como G σ é positiva e simétrica � � � � v T 0 λ 1 G σ = ΛΣΛ T = [ v 1 v 2 ] 1 v T 0 λ 2 2 podemos encontrar autovetores v 1 , v 2 e seus autovalores associados λ 1 , λ 2 onde λ 1 ≥ λ 2 Images Alive: Manipulação de gradientes – p. 10

  11. Exemplo: tensor de estrutura suavizado Tensor de estrutura suavizado Images Alive: Manipulação de gradientes – p. 11

  12. Técnica: definições Problema: queremos retirar bordas comuns de uma imagem e preservar as outras Como fazer para remover uma borda de um gradiente de uma imagem? Idéia: aplicar uma transformação afim para projetar o vetor na direção perpendicular à borda. Images Alive: Manipulação de gradientes – p. 12

  13. Tensor de projeção cruzada A forma do tensor de projeção cruzada � � � � u T 0 µ 1 1 D = [ u 1 u 2 ] u T 0 µ 2 2 Utilizamos as informações do tensor de estrutura G σ de cada imagem, digamos A e B Por convenção queremos: remover as bordas de A que estão em B preservar as bordas de A que não estão em B Os valores µ 1 e µ 2 e os vetores u 1 e u 2 são baseados na análise dos tensores de estrutura das duas imagens Images Alive: Manipulação de gradientes – p. 13

  14. Tensor de projeção cruzada Vamos calcular o tensor de projeção cruzada Utilizamos as direções dos autovetores de G B σ , ou seja, 1 e u 2 = v B u 1 = v B 2 Temos então 3 situações: B é homogêneo ( λ B 1 ≃ 0 ) e A tembém é ( λ A 1 ≃ 0 ) µ 1 = 0 , µ 2 = 0 B é homogêneo ( λ B 1 ≃ 0 ) e A não é ( λ A 1 > 0 ), retém a borda µ 1 = 1 , µ 2 = 1 B não é homogêneo ( λ B 1 > 0 ), projeta na direção perpendicular µ 1 = 0 , µ 2 = 1 Images Alive: Manipulação de gradientes – p. 14

  15. Exemplos de uso Remoção de sombras e reflexos Images Alive: Manipulação de gradientes – p. 15

  16. Inovações na técnica Aplicar a transformação afim apenas a alguns canais para obter efeitos artísticos Images Alive: Manipulação de gradientes – p. 16

  17. Inovações na técnica Vamos fazer o reverso da aplicação. Vamos inserir um objeto em outra cena Primeiros utilizamos uma imagem de funda para retirar o objeto da frente Images Alive: Manipulação de gradientes – p. 17

  18. Inovações na técnica Images Alive: Manipulação de gradientes – p. 18

  19. Inovações na técnica Utilizamos as informações do tensor de estrutura para combinar imagens Onde existem bordas da imagem da frente, zeramos (ou abaixamos) o gradiente do fundo Images Alive: Manipulação de gradientes – p. 19

  20. Sobre a implementação O código foi reescrito na linguagem Python (os originais eram MatLab). Vantagens: Linguagem de alto nível com fácil aprendizado e utilização Roda em diversas plataformas É livre, grátis (e não necessita obter uma cópia do MatLab) Foi utilizado Qt4 como toolkit, permitindo parametrizar o algoritmo sem rescrever código. Todo o código está liberado sobre licença livre. Foram utilizadas rotinas numéricas de alto desempenho (NumPy e SciPy). Images Alive: Manipulação de gradientes – p. 20

  21. Referências Edge Suppression by Gradient Field Transformation Using Cross-Projection Tensors www.cfar.umd.edu/~aagrawal/cvpr06/EdgeSuprresion Python www.python.org Qt www.trolltech.com Numpy e SciPy www.scipy.org Images Alive: Manipulação de gradientes – p. 21

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend