Download - Parte 2. Operações Topológicas

Transcript
Page 1: Parte 2.  Operações Topológicas

Parte 2. Operações Topológicas

Bruno Barufaldi

Processamento Digital de Imagens

Page 2: Parte 2.  Operações Topológicas

Conteúdo (parte 2) Dissolve Cruzado Detecção de

Movimento Redução de Ruído Zoom Reconstrução de

Imagens Rebatimento (flip) Rotação

Warping Morphing

Page 3: Parte 2.  Operações Topológicas

Dissolve Cruzado O dissolve cruzado uniforme de duas imagens

f e g é uma nova imagem h dada por:h(i,j) = (1-t) f(i,j) + t g(i,j)

Page 4: Parte 2.  Operações Topológicas

Dissolve Cruzado

ABC

A B C

Imagem resultante com t = 0,3Imagem resultante com t = 0,5Imagem resultante com t = 0,7

h(i,j) = (1-t) f(i,j) + t g(i,j)

Page 5: Parte 2.  Operações Topológicas

Dissolve Cruzado O dissolve cruzado não uniforme, t é uma

matriz com mesmas dimensões de f e g h2(i,j) = [1 – t(i,j)] f(i,j) + t(i,j) g(i,j)

A B C

(A) t(i,j) = (i+j)/(R+C-2) (B) t(i,j) = j/(C-1) (C) t(i,j) = i/(R-1)

Page 6: Parte 2.  Operações Topológicas

Detecção de Movimento Videos (frames/seg)

Subtração de Imagens

contrario caso ,0

|| se ,1 21 tLffLg

f1 f2 g

Page 7: Parte 2.  Operações Topológicas

Detecção de Movimento

Page 8: Parte 2.  Operações Topológicas

Redução de Ruído por Média das Imagens

Imagens estacionárias

f(i, j) imagem sem ruído

nk(i, j) ruído de média m

gk(i,j) = f(i,j) + nk(i,j)

M

kk jig

Mjig

1

),(1),(

Page 9: Parte 2.  Operações Topológicas

Redução de Ruído por Média das Imagens

)],(),([1),(1

jinjifM

jig k

M

k

M

kk jin

Mjifjig

1

),(1),(),(

njifjig ),(),(

Para M grande:

Page 10: Parte 2.  Operações Topológicas

Zoom in Por replicação de pixels

10 1020 30

10 10

20 30

Original Ampliação por fator 3

10 10 10 10 10 10 10 10

10 10 10 10 10 10 10 10

20 20 20 20 20 20 20 20

30 30 30 30 30 30 30 30

Page 11: Parte 2.  Operações Topológicas

Zoom in Por interpolação bilinear

10 1020 30

10 10

20 30

Original Ampliação por fator 3

Interpolação nas linhasPassos de níveis de cinza:10 a 10: 020 a 30: (30-20)/3 = 3,3

1010 1010

23 27 33 37

Page 12: Parte 2.  Operações Topológicas

Zoom in Por interpolação bilinear

10 1020 30

10 10 10 10 10 10

20 23 27 30 33 37

Original Ampliação por fator 3

Interpolação nas colunasPassos de níveis de cinza:10 a 20: (20-10)/3 = 3,310 a 23: (23-10)/3 = 4,310 a 27: (27-10)/3 = 5,7...

1317

2327

1419

2732

1621

3338

1723

3743

1825

4148

1928

4655

Page 13: Parte 2.  Operações Topológicas

Zoom in Exemplo: ampliação fator 10

Original Replicação Interpolação

Page 14: Parte 2.  Operações Topológicas

Zoom out Por eliminação de pixels

Média

14 1828 41

10 10 10 10 10 1013 14 16 17 18 1917 19 21 23 25 2820 23 27 30 33 3723 27 33 37 41 4627 32 38 43 48 55

Original Redução por fator 3

(10 + 10 + 10 + 13 + 14 + 16 + 17 +19 + 21) / 9(10 + 10 + 10 + 17 + 18 + 19 + 23 + 25 + 28) / 9(20 + 23 + 27 + 23 + 27 + 33 + 27 + 32 + 38) / 9(30 + 33 + 37 + 37 + 41 + 46 + 43 + 48 + 55) / 9

Page 15: Parte 2.  Operações Topológicas

Reconstrução de Imagens Quando queremos ampliar a imagem (zoom

in) por um fator não inteiro? Ex.: F = 3,75

Reconstruir a imagem

Page 16: Parte 2.  Operações Topológicas

Reconstrução de Imagens

Dados f(i,j), f(i,j+1), f(i+1,j), f(i+1,j+1) (i, j)

(x,y)

(i, j+1)

(i+1, j) (i+1, j+1)

Reconstrução:Encontrar f(x,y),x em [i, i+1]y em [j, j+1]

Page 17: Parte 2.  Operações Topológicas

Reconstrução de Imagens Interpolação bilinear

(i, j)

(x,y)

(i, j+1)

(i+1, j) (i+1, j+1)

(i, y)

(i+1, y)

f(i, y) = f(i, j)+(y–j)[f(i, j+1)-f(i, j)] f(i+1,y)=f(i+1,j)+(y–j)[f(i+1,j+1)-f(i+1, j)] f(x, y) = f(i, y) + (x – i) [f(i+1, y) - f(i, y)]

Page 18: Parte 2.  Operações Topológicas

Reconstrução de imagens Ex: f(10.5, 15.2)=?

f(10, 15) = 10f(10, 16) = 20f(11,15) = 30f(11, 16) = 30

(10,15)

(10.5, 15.2)

(10,16)

(11,15) (11,16)

(10,15.2)

(11,15.2)

f(10, 15.2)=f(10,15)+(15.2-15)*[f(10,16)-f(10,15) = 10 + 0.2*[20 – 10] = 12

f(11, 15.2)=f(11,15)+(15.2-15)*[f(11,16)-f(11,15) =30 + 0.2*[30 – 30] = 30

f(10.5, 15.2)=12+(10.5-10)*[30-12] = 21

Page 19: Parte 2.  Operações Topológicas

Reconstrução de imagens Ex: f(10.5, 15.2)=?

f(10, 15) = 20f(10, 16) = 15f(11,15) = 13f(11, 16) = 20

(10,15)

(10.5, 15.2)

(10,16)

(11,15) (11,16)

(10,15.2)

(11,15.2)

f(10, 15.2)=f(10,15)+(15.2-15)*[f(10,16)-f(10,15)] = 20 + 0.2*[15 – 20] = 19

f(11, 15.2)=f(11,15)+(15.2-15)*[f(11,16)-f(11,15)] = 13 + 0.2*[20 – 13] = 14

f(10.5, 15.2)=19+(10.5-10)*[14-19] = 17

Page 20: Parte 2.  Operações Topológicas

Zoom com Reconstrução de ImagemEx: Ampliação por fator 2.3Passo para as coordenadas: 1/2.3 = 0.43x = 0, 0.43, 0. 87, 1.30, 1.74, 2.17, 2.61, 3.04...y = 0, 0.43, 0. 87, 1.30, 1.74, 2.17, 2.61, 3.04... g(0,0) = f(0,0); g(0,1) = f(0, 0.43);g(0,2) = f(0, 0.87); g(0,3) = f(0, 1.30);...

Ex: Redução por fator 2.3x = 0, 2.3, 4.6, 6.9, 9.2, 11.5, 13.8...y = 0, 2.3, 4.6, 6.9, 9.2, 11.5, 13.8...g(0,0) = f(0,0); g(0,1) = f(0, 2.3);g(0,2) = f(0, 4.6); g(0,3) = f(0,6.9);...

Page 21: Parte 2.  Operações Topológicas

Rotação Rotação de um ângulo β em torno de um ponto

C(ic, jc)

Para cada ponto X(i, j) da imagem original, calculam-se as coordenadas do ponto X’(i’, j’) correspondente.

C(ic, jc)

X(i, j)

C(ic, jc)

X(i, j)

βα

X’(i’, j’)

θ

Page 22: Parte 2.  Operações Topológicas

Rotação

C(ic, jc)

X’(i’, j’)

X(i, j)

βα

j - jc

i - ic

θ

α

Miiii cc

PX

)cos(

Mjjjj cc

PX

)sen(

M 'PXPX

i - ic

j - jc

Page 23: Parte 2.  Operações Topológicas

Rotação

Miiii cc

'

'

')cos(PX

C(ic, jc)

X’(i’, j’)

X(i, j)

βα

θM

jjjj cc

'

'

')sen(PX

M 'PXPX

j’ - jc

i’ - ic

θ

i’ - ic

j’ - jc

Page 24: Parte 2.  Operações Topológicas

Rotação Desenvolvendo as equações:

)cos(')cos('')cos( MiiMiiM

iicc

c

onde)sen()sen()cos()cos()cos()cos(

logo

)sen()()cos()('

)sen()()cos()('

)sen()cos('

)sen()sen()cos()cos()cos('

ccc

ccc

ccc

cc

jjiiiiM

jjiiMii

Mjj

MiiMii

MiMii

Page 25: Parte 2.  Operações Topológicas

Rotação de um ângulo β em torno de um ponto C(ic, jc)

cos)(sen)('sen)(cos)('

ccc

ccc

jjiijjjjiiii

Rotação

Page 26: Parte 2.  Operações Topológicas

Rotação Exemplos

Rotação constante com ângulo de 45 graus

Rotação com decrescimento linear, um centro de rotação

Imagem Original Rotação com crescimento quadrático e um centro de rotação

Rotação com decrescimento quadrático e multiplicação senoidal, e um centro de rotação

Rotação com crescimento linear e um centro de rotação

Page 27: Parte 2.  Operações Topológicas

Rebatimento horizontal

Rebatimento vertical

Rebatimento

yyxRxyxryx ',1'),()','(

yCyxxyxryx 1','),()','(

Page 28: Parte 2.  Operações Topológicas

Rebatimento

Imagem original Rebatimento vertical

Rebatimento horizontal

Page 29: Parte 2.  Operações Topológicas

Rebatimento diagonal principal

Rebatimento diagonal secundária

xyyxyxryx ','),()','(

xCyyRxyxryx 1',1'),()','(

Rebatimento

Page 30: Parte 2.  Operações Topológicas

Rebatimento

Imagem original Rebatimento pela diagonal principal

Rebatimento pela diagonal

secundaria

Page 31: Parte 2.  Operações Topológicas

Warping = Deformação Transformação geométrica genérica que

modifica a relação espacial dos pontos da imagem

Várias técnicas de warping são definidas na literatura

Mesh warping, Field Morphing, Multilevel free-form deformation, etc.

Morphing Metamorfose gradual entre 2 ou mais imagens

envolvendo a deformação (warping)

Page 32: Parte 2.  Operações Topológicas

Vídeo

Aplicação Prática Aplicação Prática #fail

Page 33: Parte 2.  Operações Topológicas

Warping baseado em campos Determinar características relevantes na

imagem (nariz, boca, contorno da face, etc.) Definir vetores referência e vetores alvos

Page 34: Parte 2.  Operações Topológicas

Warping baseado em campos

Parâmetros “u” e “v” estabelecem as relações que devem ser preservadas

v: distância do ponto X ao ponto que corta (Q-P) através de uma linha perpendicular ao vetor

u: distancia medida pelo ponto P até a linha que passa perpendicular a X.

Quanto maior a distância de X, menos influente será o ponto ao segmento

Page 35: Parte 2.  Operações Topológicas

Representa um vetor perpendicular a V de mesmo módulo que este

Warping baseado em campos

Page 36: Parte 2.  Operações Topológicas

Warping baseado em campos

Page 37: Parte 2.  Operações Topológicas

Quando há mais de um par de vetores referência-alvo, cada ponto da imagem sofrerá a influência de todos os pares de vetores. Neste caso, será em geral encontrado um ponto diferente para cada par de vetores referência-alvo.

A combinação dos vetores referencia e alvo é efetuada por uma média ponderada produzindo o ponto X’

Warping baseado em campos

Page 38: Parte 2.  Operações Topológicas

peso: quando mais de um vetor é definido, um pixel pode ser influenciado por ambos os segmentos. O segmento de maior peso, influenciará mais o valor de X’

tamanho: módulo do vetor p: importancia do comprimento do vetor (Se p = 0, comprimento

ignorado) b: concentração de força da característica a: aderência ao vetor (para valores próximos a 0, os pontos mais

próximos ao vetor serão mapeados exatamente como o vetor determina)

Experimentos com os parâmetros mostram que bons resultados, em termos de qualidade visual e tempo de processamento, são obtidos com a = 0 ou a = 1, b = 2 e p = 0 ou p = 1.

Warping baseado em campos

Page 39: Parte 2.  Operações Topológicas

Morphing Interpolação de formas e cores entre duas

imagens distintas (f0 e fN-1)

Encontrar imagens f1, f2, ..., fN-2: transição gradual de f0 a fN‑1

Efeitos especiais na publicidade e na indústria cinematográfica; realidade virtual; compressão de vídeo; etc.

Warping + dissolve cruzado

Page 40: Parte 2.  Operações Topológicas

Morphing São marcados v vetores de referência

(características relevantes) em f0 e v vetores de referência em fN-1

ai, i = 1, 2,..., v (f0) e bi, i = 1, 2,..., v (fN-1)

Para cada imagem interpolada e para cada par de vetores ai – bi , um novo vetor alvo ci é criado.

Se temos k imagens interpoladas, teremos cki vetores alvo

Page 41: Parte 2.  Operações Topológicas

Morphing

Page 42: Parte 2.  Operações Topológicas

Morphing

Page 43: Parte 2.  Operações Topológicas

Morphing

Imagem Inicialai, i = 1, 2,..., v (f0) Imagem final

bi, i = 1, 2,..., v (fN-1)

Page 44: Parte 2.  Operações Topológicas

Morphing

Page 45: Parte 2.  Operações Topológicas

Morphing