7. Applications du filtrage - -| LVSN -Accueil
Transcript of 7. Applications du filtrage - -| LVSN -Accueil
![Page 1: 7. Applications du filtrage - -| LVSN -Accueil](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/1.jpg)
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](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/2.jpg)
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](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/3.jpg)
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](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/4.jpg)
Où est l’arête?
Solution: adoucir! (filtrer!)
Chercher maximums:
![Page 5: 7. Applications du filtrage - -| LVSN -Accueil](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/5.jpg)
Théorème sur la dérivée de la convolution
On sauve une étape:
![Page 6: 7. Applications du filtrage - -| LVSN -Accueil](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/6.jpg)
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](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/7.jpg)
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](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/8.jpg)
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](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/9.jpg)
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](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/10.jpg)
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](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/11.jpg)
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](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/12.jpg)
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](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/13.jpg)
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](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/14.jpg)
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](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/15.jpg)
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](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/16.jpg)
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](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/17.jpg)
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](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/18.jpg)
Atténuation du bruit
Bruit additif gaussien
Filtre gaussien
![Page 19: 7. Applications du filtrage - -| LVSN -Accueil](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/19.jpg)
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](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/20.jpg)
Bruit “poivre et sel”
3x3 5x5 7x7
Filtre gaussien
![Page 21: 7. Applications du filtrage - -| LVSN -Accueil](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/21.jpg)
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](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/22.jpg)
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](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/23.jpg)
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](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/24.jpg)
Filtre Médian vs. gaussien3x3 5x5 7x7
Gaussien
Médian
![Page 25: 7. Applications du filtrage - -| LVSN -Accueil](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/25.jpg)
Compression (JPEG)
![Page 26: 7. Applications du filtrage - -| LVSN -Accueil](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/26.jpg)
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](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/27.jpg)
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](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/28.jpg)
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](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/29.jpg)
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](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/30.jpg)
Comparaison
89k 12k
![Page 31: 7. Applications du filtrage - -| LVSN -Accueil](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/31.jpg)
À 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](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/32.jpg)
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](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/33.jpg)
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](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/34.jpg)
Blur Comes from Averaging across Edges
*
*
*
input output
Same Gaussian kernel everywhere.
![Page 35: 7. Applications du filtrage - -| LVSN -Accueil](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/35.jpg)
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](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/36.jpg)
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](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/37.jpg)
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](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/38.jpg)
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](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/39.jpg)
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](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/40.jpg)
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](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/41.jpg)
Influence of Pixels
p
Only pixels close in space and in range are considered.
space
range
![Page 42: 7. Applications du filtrage - -| LVSN -Accueil](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/42.jpg)
σ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](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/43.jpg)
σ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](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/44.jpg)
input
![Page 45: 7. Applications du filtrage - -| LVSN -Accueil](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/45.jpg)
σr = 0.1
![Page 46: 7. Applications du filtrage - -| LVSN -Accueil](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/46.jpg)
σr = 0.25
![Page 47: 7. Applications du filtrage - -| LVSN -Accueil](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/47.jpg)
σr = ∞(Gaussian blur)
![Page 48: 7. Applications du filtrage - -| LVSN -Accueil](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/48.jpg)
σ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](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/49.jpg)
input
![Page 50: 7. Applications du filtrage - -| LVSN -Accueil](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/50.jpg)
σs = 2
![Page 51: 7. Applications du filtrage - -| LVSN -Accueil](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/51.jpg)
σs = 6
![Page 52: 7. Applications du filtrage - -| LVSN -Accueil](https://reader031.fdocuments.fr/reader031/viewer/2022012201/61de331b5867ac1f621d03ba/html5/thumbnails/52.jpg)
σs = 18