52
Applications du filtrage GIF4105/7105 Photographie Algorithmique JeanFrançois Lalonde Merci à D. Hoiem, A. Efros, S. Lazebnik, S. Seitz

7. Applications du filtrage - -| LVSN -Accueil

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 7. Applications du filtrage - -| LVSN -Accueil

Applications  du  filtrage

GIF-­‐4105/7105  Photographie  Algorithmique  

Jean-­‐François  Lalonde

Merci  à  D.  Hoiem,  A.  Efros,    S.  Lazebnik,  S.  Seitz

Page 2: 7. Applications du filtrage - -| LVSN -Accueil

La direction est donnée par:

• quel est le lien avec la direction de l’arête? La “force” du gradient est la magnitude:

GradientLe gradient d’une image:

Pointe dans la direction du changement le plus rapide en intensité

Page 3: 7. Applications du filtrage - -| LVSN -Accueil

BruitAnalysons une seule ligne dans l’image

• Affiche l’intensité en fonction de la coordonnée x

Où est l’arête?

Comment calculer le gradient (la dérivée?)

Page 4: 7. Applications du filtrage - -| LVSN -Accueil

Où est l’arête?

Solution: adoucir! (filtrer!)

Chercher maximums:

Page 5: 7. Applications du filtrage - -| LVSN -Accueil

Théorème sur la dérivée de la convolution

On sauve une étape:

Page 6: 7. Applications du filtrage - -| LVSN -Accueil

Laplacien d’une gaussienne

Laplacian of Gaussian operator

Où est l’arête? Où le graphe du bas croise 0

Page 7: 7. Applications du filtrage - -| LVSN -Accueil

Détection d’arête en 2-D

est l’opérateur Laplacien:

Laplacien d’une gaussienne

Gaussienne dérivée d’une gaussienne

Page 8: 7. Applications du filtrage - -| LVSN -Accueil

Correspondance de modèlesBut: trouver dans l’image

Défi: Comment devrait-on comparer le modèle avec l’image?

Derek Hoiem

Page 9: 7. Applications du filtrage - -| LVSN -Accueil

Filtrer pour trouver les correspondancesBut: trouver dans l’image Méthode 0: filtrer l’image avec l’oeil

Image Image filtrée

Qu’est-ce qui se passe?

f = image g = filtre

Derek Hoiem

h(m,n) =X

k,l

g(k, l)f(m+ k, n+ l)

Page 10: 7. Applications du filtrage - -| LVSN -Accueil

But: trouver dans l’image Méthode 1: filtrer l’image avec l’oeil (normalisé)

Filtrer pour trouver les correspondances

Image Image filtrée Seuil

Bonnes détections

Fausses détections

moyenne de g

h(m,n) =X

k,l

(g(k, l)� g)f(m+ k, n+ l)

Derek Hoiem

Page 11: 7. Applications du filtrage - -| LVSN -Accueil

Filtrer pour trouver les correspondances

Image 1- sqrt(SSD) Seuil

Bonnes détections

But: trouver dans l’image Méthode 2: somme des différences au carré

h(m,n) =X

k,l

(g(k, l)� f(m+ k, n+ l))2

Derek Hoiem

Page 12: 7. Applications du filtrage - -| LVSN -Accueil

h(m,n) =X

k,l

(g(k, l)� f(m+ k, n+ l))2

Derek Hoiem

Est-­‐ce  qu’on  peut  implémenter  la  somme  des  différences  au  carré  avec  un  (ou  des)  filtre(s)  linéaire(s)?

Page 13: 7. Applications du filtrage - -| LVSN -Accueil

Filtrer pour trouver les correspondances

Image 1- sqrt(SSD)

But: trouver dans l’image Méthode 2: somme des différences au carré

h(m,n) =X

k,l

(g(k, l)� f(m+ k, n+ l))2

Derek Hoiem

Problème?

Page 14: 7. Applications du filtrage - -| LVSN -Accueil

Filtrer pour trouver les correspondances

moyenne de la partie de l’imagemoyenne du filtre

But: trouver dans l’image Méthode 3: corrélation croisée normalisée

Derek Hoiem

h(m,n) =

Pk,l(g(k, l)� g)(f(m+ k, n+ l)� fm,n)qP

k,l(g(k, l)� g)2P

k,l(f(m+ k, n+ l)� fm,n)2

Dans  matlab:  C = normxcorr2(template, A)

Page 15: 7. Applications du filtrage - -| LVSN -Accueil

Image résultat Seuil

Bonnes détections

Derek Hoiem

But: trouver dans l’image Méthode 3: corrélation croisée normalisée

Filtrer pour trouver les correspondances

Page 16: 7. Applications du filtrage - -| LVSN -Accueil

Derek Hoiem

But: trouver dans l’image Méthode 3: corrélation croisée normalisée

Filtrer pour trouver les correspondances

Image résultat Seuil

Bonnes détections

Page 17: 7. Applications du filtrage - -| LVSN -Accueil

Quelle est la meilleure méthode?• Ça  dépend!  • Filtre  normalisé  

• très  rapide,  mais  pas  très  bon  • Somme  des  différences  au  carré  

• assez  rapide,  sensible  aux  variations  d’intensité  • Corrélation  croisée-­‐normalisée  

• plus  lente,  mais  robuste  aux  variations  d’intensité

17 Derek Hoiem

Page 18: 7. Applications du filtrage - -| LVSN -Accueil

Atténuation du bruit

Bruit additif gaussien

Filtre gaussien

Page 19: 7. Applications du filtrage - -| LVSN -Accueil

En augmentant la variance, on réduit le bruit, mais on rend l’image floue!

Atténuer le bruit gaussien

Source: S. Lazebnik

Page 20: 7. Applications du filtrage - -| LVSN -Accueil

Bruit “poivre et sel”

3x3 5x5 7x7

Filtre  gaussien

Page 21: 7. Applications du filtrage - -| LVSN -Accueil

Idée alternative: filtre médianUn filtre médian calcule la médiane de l’image

sur une fenêtre

• Est-ce que c’est linéaire?Source: K. Grauman

Page 22: 7. Applications du filtrage - -| LVSN -Accueil

Filtre médian

Source: K. Grauman

Signal

Filtre  médian

Filtre  gaussien

Quels  sont  les  avantages  du  filtre  médian  sur  le  filtre  gaussien?

Page 23: 7. Applications du filtrage - -| LVSN -Accueil

Filtre médianBruit “poivre et sel” Filtre médian

Source: M. Hebert

MATLAB: medfilt2(image, [h w])

Page 24: 7. Applications du filtrage - -| LVSN -Accueil

Filtre Médian vs. gaussien3x3 5x5 7x7

Gaussien

Médian

Page 25: 7. Applications du filtrage - -| LVSN -Accueil

Compression (JPEG)

Page 26: 7. Applications du filtrage - -| LVSN -Accueil

La DCT dans la compression JPEGLe premier coefficient B(0,0) est la composante

DC (l’intensité moyenne) Les coefficients en haut à gauche représentent

les basses fréquences, et en bas à droite les hautes

Page 27: 7. Applications du filtrage - -| LVSN -Accueil

La DCT dans la compression JPEGQuantification

• Plus approximatif pour les hautes fréquences (qui sont plus faibles de façon naturelle)

• Plusieurs d’entre elles seront 0!

Encodage • Décodage avec la DCT inverse

Table de quantification

Réponse des filtres

Valeurs quantifiées

Page 28: 7. Applications du filtrage - -| LVSN -Accueil

Compression JPGDiviser l’image en blocs (8x8), enlever 128 Pour chaque bloc

a. Calculer les coefficients DCT b. Quantification

– Coefficients des hautes fréquences deviendront 0 c. Encodage (e.g., avec l’encodage Huffman)

http://en.wikipedia.org/wiki/YCbCr http://en.wikipedia.org/wiki/JPEG

Page 29: 7. Applications du filtrage - -| LVSN -Accueil

Taille des blocs

• petit – rapide! – corrélation existe entre blocs adjacents (compression

moins efficace) • grand

– meilleure compression • 8x8 dans le standard JPEG

Page 30: 7. Applications du filtrage - -| LVSN -Accueil

Comparaison

89k 12k

Page 31: 7. Applications du filtrage - -| LVSN -Accueil

À  retenir• Souvent  plus  intuitif  de  penser  en  termes  de  fréquences  – transformée  de  Fourier  

• Plus  rapide  de  filtrer  avec  la  FFT  pour  les  grosses  images  (N  logN  vs.  N2)  

• Les  images  ont  plus  d’énergie  dans  les  basses  fréquences  – Compression?  

• Souvenez-­‐vous  de  filtrer  avant  d'échantillonner

Page 32: 7. Applications du filtrage - -| LVSN -Accueil

Question  à  emporter1. Associez  l’image  à  la  transformée  de  Fourier

1 54

A

32

CB D E

Page 33: 7. Applications du filtrage - -| LVSN -Accueil

A Gentle Introduction to Bilateral Filteringand its Applications

“Fixing the Gaussian Blur”: the Bilateral Filter

Sylvain Paris – MIT CSAIL

Page 34: 7. Applications du filtrage - -| LVSN -Accueil

Blur Comes from Averaging across Edges

*

*

*

input output

Same Gaussian kernel everywhere.

Page 35: 7. Applications du filtrage - -| LVSN -Accueil

Bilateral Filter No Averaging across Edges

*

*

*

input output

The kernel shape depends on the image content.

[Aurich 95, Smith 97, Tomasi 98]

Page 36: 7. Applications du filtrage - -| LVSN -Accueil

space weight

not new

range weight

I

new

normalizationfactor

new

Bilateral Filter Definition: an Additional Edge Term

( ) ( )∑∈

−−=S

IIIGGW

IBFq

qqpp

p qp ||||||1][rs σσ

Same idea: weighted average of pixels.

Page 37: 7. Applications du filtrage - -| LVSN -Accueil

Illustration a 1D Image

• 1D image = line of pixels

• Better visualized as a plot

pixel intensity

pixel position

Page 38: 7. Applications du filtrage - -| LVSN -Accueil

space

Gaussian Blur and Bilateral Filter

space rangenormalization

Gaussian blur

( ) ( )∑∈

−−=S

IIIGGW

IBFq

qqpp

p qp ||||||1][rs σσ

Bilateral filter[Aurich 95, Smith 97, Tomasi 98]

space

spacerange

p

p

q

q

( )∑∈

−=S

IGIGBq

qp qp ||||][ σ

Page 39: 7. Applications du filtrage - -| LVSN -Accueil

q

Bilateral Filter on a Height Field

output input

( ) ( )∑∈

−−=S

IIIGGW

IBFq

qqpp

p qp ||||||1][rs σσ

p

reproducedfrom [Durand 02]

Page 40: 7. Applications du filtrage - -| LVSN -Accueil

Space and Range Parameters

• space σs : spatial extent of the kernel, size of the considered neighborhood.

• range σr : “minimum” amplitude of an edge

( ) ( )∑∈

−−=S

IIIGGW

IBFq

qqpp

p qp ||||||1][rs σσ

Page 41: 7. Applications du filtrage - -| LVSN -Accueil

Influence of Pixels

p

Only pixels close in space and in range are considered.

space

range

Page 42: 7. Applications du filtrage - -| LVSN -Accueil

σs = 2

σs = 6

σs = 18

σr = 0.1 σr = 0.25σr = ∞

(Gaussian blur)

input

Exploring the Parameter Space

Page 43: 7. Applications du filtrage - -| LVSN -Accueil

σs = 2

σs = 6

σs = 18

σr = 0.1 σr = 0.25σr = ∞

(Gaussian blur)

input

Varying the Range Parameter

Page 44: 7. Applications du filtrage - -| LVSN -Accueil

input

Page 45: 7. Applications du filtrage - -| LVSN -Accueil

σr = 0.1

Page 46: 7. Applications du filtrage - -| LVSN -Accueil

σr = 0.25

Page 47: 7. Applications du filtrage - -| LVSN -Accueil

σr = ∞(Gaussian blur)

Page 48: 7. Applications du filtrage - -| LVSN -Accueil

σs = 2

σs = 6

σs = 18

σr = 0.1 σr = 0.25σr = ∞

(Gaussian blur)

input

Varying the Space Parameter

Page 49: 7. Applications du filtrage - -| LVSN -Accueil

input

Page 50: 7. Applications du filtrage - -| LVSN -Accueil

σs = 2

Page 51: 7. Applications du filtrage - -| LVSN -Accueil

σs = 6

Page 52: 7. Applications du filtrage - -| LVSN -Accueil

σs = 18