processamento de imagens cos756 / coc603 · 2016. 5. 2. · processamento de imagens cos756 /...
TRANSCRIPT
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
aula de hoje
feature detection
overview
Laplaciano da Gaussianapontos de interesse
metodo de Harris
curvatura
2 / 1
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
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
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
pontos
keypoint features
problemas a serem resolvidos:
quais pontos sao bons?como representar esta informacao?como procurar a correspondencia em outra imagem?
6 / 1
panoramica
7 / 1
panoramica
8 / 1
panoramica
9 / 1
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
pontos
cantos
variacao de intensidade em qualquer direcao
arestas: problema de abertura
regioes homogeneas: difıcil fazer o matching
11 / 1
panoramica
12 / 1
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
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
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
pontos
15 / 1
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
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
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
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
pontos
Harris detector
analise dos autovetores e autovalores (variacao)
o que podemos concluir a partir dos autovalores?
19 / 1
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
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
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
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
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
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
pontos
23 / 1
pontos
24 / 1