processamento de imagens cos756 / coc603 · 2016. 5. 2. · processamento de imagens cos756 /...

29
Processamento de Imagens COS756 / COC603 aula 08 - dete¸c˜ ao de caracter´ ısticas de baixo-n´ ıvel (low-level feature detection) parte II Antonio Oliveira Ricardo Marroquim 1/1

Upload: others

Post on 07-Oct-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Processamento de Imagens COS756 / COC603 · 2016. 5. 2. · Processamento de Imagens COS756 / COC603 aula 08 - dete˘c~ao de caracter sticas de baixo-n vel (low-level feature detection)

Processamento de ImagensCOS756 / COC603

aula 08 - detecao de caracterısticas de baixo-nıvel(low-level feature detection)

parte II

Antonio OliveiraRicardo Marroquim

1 / 1

Page 2: Processamento de Imagens COS756 / COC603 · 2016. 5. 2. · Processamento de Imagens COS756 / COC603 aula 08 - dete˘c~ao de caracter sticas de baixo-n vel (low-level feature detection)

aula de hoje

feature detection

overview

Laplaciano da Gaussianapontos de interesse

metodo de Harris

curvatura

2 / 1

Page 3: Processamento de Imagens COS756 / COC603 · 2016. 5. 2. · Processamento de Imagens COS756 / COC603 aula 08 - dete˘c~ao de caracter sticas de baixo-n vel (low-level feature detection)

LoG

Laplaciano

derivada de segunda ordem (progressiva e regressiva)

f (x0 +∆x) = f (x0)+f′(x0)∆x+

f′′

(x0)

2!∆x2 +

f′′′

(x0)

3!∆x3 +O(∆x4)

f (x0−∆x) = f (x0)−f′(x0)∆x+

f′′

(x0)

2!∆x2− f

′′′(x0)

3!∆x3 +O(∆x4)

somando temos a diferanca central (e fazendo ∆x = 1):

f′′

(x0) = f (x0 + ∆x) + f (x0 − ∆x) − 2f (x0)

3 / 1

Page 4: Processamento de Imagens COS756 / COC603 · 2016. 5. 2. · Processamento de Imagens COS756 / COC603 aula 08 - dete˘c~ao de caracter sticas de baixo-n vel (low-level feature detection)

Laplaciano

operador

isotropico

arestas se encontram nos “zero-crossings”

0

1

0 1

-4

1 0

1

0

1

1

1 1

-8

1 1

1

1

4 / 1

Page 5: Processamento de Imagens COS756 / COC603 · 2016. 5. 2. · Processamento de Imagens COS756 / COC603 aula 08 - dete˘c~ao de caracter sticas de baixo-n vel (low-level feature detection)

Laplaciano

Laplaciano da Gaussiana (LoG)

segunda derivada do filtro Gaussiano

O2(g(x , y) ⊗ I ) = (O2g(x , y)) ⊗ I

∂2g(x , y , σ)

∂x2+∂2g(x , y , σ)

∂y2=∂Og(x , y , σ)

∂x2+∂Og(x , y , σ)

∂y2

∂Og(x , y , σ) =

(x2 + y2

σ2− 2

)1

σ2e−

x2+y2

2σ2

5 / 1

Page 6: Processamento de Imagens COS756 / COC603 · 2016. 5. 2. · Processamento de Imagens COS756 / COC603 aula 08 - dete˘c~ao de caracter sticas de baixo-n vel (low-level feature detection)

pontos

keypoint features

problemas a serem resolvidos:

quais pontos sao bons?como representar esta informacao?como procurar a correspondencia em outra imagem?

6 / 1

Page 7: Processamento de Imagens COS756 / COC603 · 2016. 5. 2. · Processamento de Imagens COS756 / COC603 aula 08 - dete˘c~ao de caracter sticas de baixo-n vel (low-level feature detection)

panoramica

7 / 1

Page 8: Processamento de Imagens COS756 / COC603 · 2016. 5. 2. · Processamento de Imagens COS756 / COC603 aula 08 - dete˘c~ao de caracter sticas de baixo-n vel (low-level feature detection)

panoramica

8 / 1

Page 9: Processamento de Imagens COS756 / COC603 · 2016. 5. 2. · Processamento de Imagens COS756 / COC603 aula 08 - dete˘c~ao de caracter sticas de baixo-n vel (low-level feature detection)

panoramica

9 / 1

Page 10: Processamento de Imagens COS756 / COC603 · 2016. 5. 2. · Processamento de Imagens COS756 / COC603 aula 08 - dete˘c~ao de caracter sticas de baixo-n vel (low-level feature detection)

pontos

objetivo

encontrar o pixel correspondente em duas imagensdificilmente tera exatamente mesmos valores RGB

ex. diferenca de iluminacao entre as fotos

mesmo assim, estaria sujeito a erros (dois pixels iguais em umamesma imagem)

10 / 1

Page 11: Processamento de Imagens COS756 / COC603 · 2016. 5. 2. · Processamento de Imagens COS756 / COC603 aula 08 - dete˘c~ao de caracter sticas de baixo-n vel (low-level feature detection)

pontos

cantos

variacao de intensidade em qualquer direcao

arestas: problema de abertura

regioes homogeneas: difıcil fazer o matching

11 / 1

Page 12: Processamento de Imagens COS756 / COC603 · 2016. 5. 2. · Processamento de Imagens COS756 / COC603 aula 08 - dete˘c~ao de caracter sticas de baixo-n vel (low-level feature detection)

panoramica

12 / 1

Page 13: Processamento de Imagens COS756 / COC603 · 2016. 5. 2. · Processamento de Imagens COS756 / COC603 aula 08 - dete˘c~ao de caracter sticas de baixo-n vel (low-level feature detection)

pontos

solucao simples

summed square difference:

SSD(x , y) =∑i

[I1(x + ∆x , y + ∆y) − I0(x , y)]2

onde (∆x ,∆y) e um deslocamento e i sao os pixels dentro de umajanela de busca

podemos tambem usar uma media ponderada

SSD() =∑i

w(xi )[I1(x + ∆x , y + ∆y) − I0(x , y)]2]

problema

onde procurar na imagem I1?

se a janela de busca for grande, o custo sera alto

13 / 1

Page 14: Processamento de Imagens COS756 / COC603 · 2016. 5. 2. · Processamento de Imagens COS756 / COC603 aula 08 - dete˘c~ao de caracter sticas de baixo-n vel (low-level feature detection)

pontos

solucao simples

summed square difference:

SSD(x , y) =∑i

[I1(x + ∆x , y + ∆y) − I0(x , y)]2

onde (∆x ,∆y) e um deslocamento e i sao os pixels dentro de umajanela de busca

podemos tambem usar uma media ponderada

SSD() =∑i

w(xi )[I1(x + ∆x , y + ∆y) − I0(x , y)]2]

problema

onde procurar na imagem I1?

se a janela de busca for grande, o custo sera alto

13 / 1

Page 15: Processamento de Imagens COS756 / COC603 · 2016. 5. 2. · Processamento de Imagens COS756 / COC603 aula 08 - dete˘c~ao de caracter sticas de baixo-n vel (low-level feature detection)

pontos

Harris detector

mas quais sao bons pontos a serem utilizados?

auto-correlacao

AC (x , y) =∑

w(x , y)[I (x , y) − I (x + ∆x , y + ∆y)]2

intuitivamente, quao diferente o pixel e dos seus vizinhos

14 / 1

Page 16: Processamento de Imagens COS756 / COC603 · 2016. 5. 2. · Processamento de Imagens COS756 / COC603 aula 08 - dete˘c~ao de caracter sticas de baixo-n vel (low-level feature detection)

pontos

15 / 1

Page 17: Processamento de Imagens COS756 / COC603 · 2016. 5. 2. · Processamento de Imagens COS756 / COC603 aula 08 - dete˘c~ao de caracter sticas de baixo-n vel (low-level feature detection)

pontos

Harris detector

utilizando a aproximacao quadratica pela serie de Taylor

I (x + ∆x , y + ∆y) = I (x , y) + ∆xIx(x , y) + ∆yIy (x , y)

substituindo na equacao anterior e passando para forma matricialtemos:

AC ≈[

∆x ∆y]∑

i

wi

[Ix(xi , yi )

2 Ix(xi , yi )Iy (xi , yi )Ix(xi , yi )Iy (xi , yi ) Iy (xi , yi )

2

] [∆x∆y

]

16 / 1

Page 18: Processamento de Imagens COS756 / COC603 · 2016. 5. 2. · Processamento de Imagens COS756 / COC603 aula 08 - dete˘c~ao de caracter sticas de baixo-n vel (low-level feature detection)

pontos

conica

matriz representa uma secao conica na sua forma central

Ax2 + Bxy + Cy2 + Dx + Ey + F = 0

M =

[A B/2

B/2 C

]

17 / 1

Page 19: Processamento de Imagens COS756 / COC603 · 2016. 5. 2. · Processamento de Imagens COS756 / COC603 aula 08 - dete˘c~ao de caracter sticas de baixo-n vel (low-level feature detection)

pontos

conica

analise do determinante

detM < 0 → hiperboladetM = 0 → paraboladetM > 0 → elipse

nossa matriz

simetrica positiva definidadetM > 0 → elipseautovalores positivos : λ0, λ1 > 0

18 / 1

Page 20: Processamento de Imagens COS756 / COC603 · 2016. 5. 2. · Processamento de Imagens COS756 / COC603 aula 08 - dete˘c~ao de caracter sticas de baixo-n vel (low-level feature detection)

pontos

conica

analise do determinante

detM < 0 → hiperboladetM = 0 → paraboladetM > 0 → elipse

nossa matriz

simetrica positiva definidadetM > 0 → elipseautovalores positivos : λ0, λ1 > 0

18 / 1

Page 21: Processamento de Imagens COS756 / COC603 · 2016. 5. 2. · Processamento de Imagens COS756 / COC603 aula 08 - dete˘c~ao de caracter sticas de baixo-n vel (low-level feature detection)

pontos

Harris detector

analise dos autovetores e autovalores (variacao)

o que podemos concluir a partir dos autovalores?

19 / 1

Page 22: Processamento de Imagens COS756 / COC603 · 2016. 5. 2. · Processamento de Imagens COS756 / COC603 aula 08 - dete˘c~ao de caracter sticas de baixo-n vel (low-level feature detection)

pontos

Harris detector

o que podemos concluir a partir dos autovalores?

dois autovalores pequenos

pouca variacao, area de intensidade mais ou menos constante

um autovalor grande e um pequeno

aresta

dois autovalores grandes

ponto, quina

20 / 1

Page 23: Processamento de Imagens COS756 / COC603 · 2016. 5. 2. · Processamento de Imagens COS756 / COC603 aula 08 - dete˘c~ao de caracter sticas de baixo-n vel (low-level feature detection)

pontos

Harris detector

o que podemos concluir a partir dos autovalores?dois autovalores pequenos

pouca variacao, area de intensidade mais ou menos constante

um autovalor grande e um pequeno

aresta

dois autovalores grandes

ponto, quina

20 / 1

Page 24: Processamento de Imagens COS756 / COC603 · 2016. 5. 2. · Processamento de Imagens COS756 / COC603 aula 08 - dete˘c~ao de caracter sticas de baixo-n vel (low-level feature detection)

pontos

Harris detector

o que podemos concluir a partir dos autovalores?dois autovalores pequenos

pouca variacao, area de intensidade mais ou menos constante

um autovalor grande e um pequeno

aresta

dois autovalores grandes

ponto, quina

20 / 1

Page 25: Processamento de Imagens COS756 / COC603 · 2016. 5. 2. · Processamento de Imagens COS756 / COC603 aula 08 - dete˘c~ao de caracter sticas de baixo-n vel (low-level feature detection)

pontos

Harris detector

o que podemos concluir a partir dos autovalores?dois autovalores pequenos

pouca variacao, area de intensidade mais ou menos constante

um autovalor grande e um pequeno

aresta

dois autovalores grandes

ponto, quina

20 / 1

Page 26: Processamento de Imagens COS756 / COC603 · 2016. 5. 2. · Processamento de Imagens COS756 / COC603 aula 08 - dete˘c~ao de caracter sticas de baixo-n vel (low-level feature detection)

pontos

Harris detector

Harris (1988) usou a medida:

det(M) − αtrace(M)2 = λ0λ1 − α(λ0 + λ1)2

com α = 0.06

Triggs (2004) usou a medida (onde λ0 < λ1):

λ0 − αλ1

com α = 0.05

21 / 1

Page 27: Processamento de Imagens COS756 / COC603 · 2016. 5. 2. · Processamento de Imagens COS756 / COC603 aula 08 - dete˘c~ao de caracter sticas de baixo-n vel (low-level feature detection)

pontos

algoritmo

1. calcular Ix e Iy : gradiente na direcao x e y pode usar porexemplo: convolucao da derivada de uma Gaussiana

2. calcular os produtos I 2x = Ix Ix , I 2

y = Iy Iy e Ixy = Ix Iy

3. convoluir as tres imagens com uma Gaussiana

4. para cada pixel: encontrar os autovalores e utilizar uma dasmedidas

5. limiarizar para encontrar maximos

6. limitar numero de maximos por regiao

22 / 1

Page 28: Processamento de Imagens COS756 / COC603 · 2016. 5. 2. · Processamento de Imagens COS756 / COC603 aula 08 - dete˘c~ao de caracter sticas de baixo-n vel (low-level feature detection)

pontos

23 / 1

Page 29: Processamento de Imagens COS756 / COC603 · 2016. 5. 2. · Processamento de Imagens COS756 / COC603 aula 08 - dete˘c~ao de caracter sticas de baixo-n vel (low-level feature detection)

pontos

24 / 1