filtrage non linéaire
Post on 05-Jan-2017
239 Views
Preview:
TRANSCRIPT
Filtrage linéaire Filtrage non linéaire
Bases du traitement des images
I Filtrage d’images J
Nicolas Thome
11 octobre 2016
1 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Plan
1 Filtrage linéaireFiltrage spatial
2 Filtrage non linéaire
2 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtrage linéaire
Systèmes Linéaires Invariants par Translation (LIT)
I Cas continu, en 1D
I Opérateur T : x(t)→ T [x(t)] = y(t), propriété LIT :
1 Linéarité : T[∫∞−∞ cwx(t)dw
]=∫cwT [x(t)] dw =
∫cwy(t)dw
2 Invariance translation : T [x(t − τ)] = y(t − τ)
I h(t) = T [δ(t)] : réponse impulsionnelle du système LIT
I x(t) =∫∞−∞ x(τ)δ(t − τ)dτ , conséquences LIT :
y(t) = T [x(t)] =
∫ ∞−∞
x(τ)h(t − τ)dτ = x(t) ? h(t)
3 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtrage linéaire
Systèmes Linéaires Invariants par Translation (LIT)
I Cas continu, en 1D
y(t) = T [x(t)] =
∫ ∞−∞
x(τ)h(t − τ)dτ = x ? h(t) (1)
I Système LIT : entièrement caratérisé par sa réponse impulsionnelle h
I Sortie y(t) pour entrée quelconque x(t) : convolution x(t) et h(t)
x(t)h(t)
y(t) = h ⋆ x(t)
(convolution)
4 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtrage linéaire
Systèmes Linéaires Invariants par Translation (LIT)
I Cas continu, en 1D : y(t) = x ? h(t)
Y (f ) = TF [y(t)] = TF [x ? h(t)] = X (f ) · H(f ) (2)
I h(t) : réponse impulsionnelle du filtre
I H(f ) = TF [h(t)] : fonction de transfert du filtre
y(t) = h ⋆ x(t)
TF (Transformee de Fourier)
X(v)H(v)
Y (v) = H(v)X(v)
x(t)h(t)
5 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtrage linéaire
Systèmes LIT : bilan
y(t) = h ⋆ x(t)
TF (Transformee de Fourier)
X(v)H(v)
Y (v) = H(v)X(v)
x(t)h(t)
Temporel Fréquentiely(t) = x ? h(t) y(t) = TF−1 [X (f ) · H(f )]
I Opérations duales
I Avantages/inconvénients des espaces de traitement (complexitéalgorithmique) ?
6 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtrage linéaire
Systèmes Linéaires Invariants par Translation (LIT)
I Cas discret, en 1D
I Opérateur T : x(n)→ T [x(n)] = y(n), propriété LIT :
1 Linéarité : T[∞∑
n=−∞cnx(n)
]=
∞∑n=−∞
cnT [x(n)] =∑
cny(n)
2 Invariance translation : T [x(n − k)] = y(n − k)
I h(n) = T [δ(n)] : réponse impulsionnelle du système LIT
I x(n) =∞∑
k=−∞x(k)δ(n − k), Conséquences LIT :
y(n) = T [x(n)] =∞∑
k=−∞
x(k)h(n − k) = x ? h(n)
7 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtrage linéaire
Systèmes Linéaires Invariants par Translation (LIT)
I Cas discret, en 1D
y(n) = T [x(n)] =∞∑
n=−∞x(k)h(n − k) = x(n) ? h(n) (3)
I Système LIT : entièrement caratérisé par sa réponse impulsionnelle h
I Sortie y(n) pour entrée quelconque x(n) : convolution x(n) et h(n)
Filtre y(n) = h ⋆ x(n)x(n)
8 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtrage linéaire
Systèmes Linéaires Invariants par Translation (LIT)
I Cas discret, en 1D : y(n) = x ? h(n)
I X (z) Transformée de Fourier Discrète (TFD) de x(t)
Y (z) = TFD [y(n)] = TFD [x ? h(n)] = X (z) · H(z) (4)
I H(z) = TFD [h(n)] : fonction de transfert du filtre
TFD
x(n)h(n)
y(n) = h � x(n)
(convolution)
X(v)H(v)
Y (v) = H(v)X(v)
9 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtrage linéaire
Systèmes LIT : bilan
TFD
x(n)h(n)
y(n) = h � x(n)
(convolution)
X(v)H(v)
Y (v) = H(v)X(v)
Temporel Fréquentiely(n) = x ? h(n) y(n) = TFD−1 [X (z) · H(z)]
I Opérations duales
I Avantages/inconvénients des espaces de traitement ? Complexitéalgorithmique ?
10 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtrage linéaire
Systèmes Linéaires Invariants par Translation (LIT)
I Cas discret, en 2D
I Opérateur T : x(n,m)→ T [x(n,m)] = y(n,m), propriété LIT :
1 Linéarité :
T
[∞∑
n=−∞cnx(n,m)
]=
∞∑n=−∞
cnT [x(n,m)] =∑
cny(n,m)
2 Invariance translation : T [x(n − k,m − l)] = y(n − k,m − l)
I h(n,m) = T [δ(n,m)] : réponse impulsionnelle du système LIT
I x(n,m) =∞∑
k=−∞
∞∑l=−∞
x(k , l)δ(n − k ,m − l), Conséquences LIT :
T [x(n,m)] =∞∑
k=−∞
∞∑l=−∞
x(k , l)h(n − k ,m − l) = x ? h(n,m)
11 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtrage linéaire
Systèmes Linéaires Invariants par Translation (LIT)
I Cas discret, en 2D : y(n,m) = T [x(n,m)]
y(n,m) =∞∑
k=−∞
∞∑l=−∞
x(k , l)h(n − k ,m − l)
= x ? h(n,m)
(5)
I Système LIT : entièrement caratérisé par sa réponse impulsionnelleh(n,m)
I Sortie y(n,m) pour entrée quelconque x(n,m) : convolution x(n,m)et h(n,m)
Filtrex(n,m) y(n,m) = h ⋆ x(n,m)
12 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtrage linéaire
Systèmes Linéaires Invariants par Translation (LIT)
I Cas discret, en 2D : y(n,m) = x ? h(n,m)
I X (f , g) Transformée de Fourier Discrète (TFD) de x(n,m)
Y (f , g) = TFD [y(n,m)] = TFD [x ? h(n,m)]
= X (f , g) · H(f , g)(6)
I H(f , g) = TFD [h(n,m)] : fonction de transfert du filtre
13 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtrage linéaire
Systèmes LIT : bilan
X(f, g)H(f, g)
Y (f, g) = H(f, g)X(f, g)
TFD
h(t)y(n,m) = x ⋆ h(n,m)x(n,m)
Temporel Fréquentiely(n,m) = x ? h(n,m) y(n,m) = TFD−1 [X (f , g) · H(f , g)]
I Opérations duales
I Avantages/inconvénients des espaces de traitement ? Complexitéalgorithmique ?
14 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Plan
1 Filtrage linéaireFiltrage spatial
2 Filtrage non linéaire
15 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtrage spatial
Pourquoi filtrer une image ?
I Pour réduire le bruit dans l’image (sujet de ce cours)
I Pour détecter les contours d’une image (sujet du prochain cours)
I Convolution entre une image f et un filtre h, appelé aussi masquede convolution
I Opération de voisinage qui effectue une combinaison linéaire (ounon) de pixels de l’image f , produisant une nouvelle image f ′
I h est un opérateur sur f défini en chaque pixel (i , j) et sur sonvoisinage
16 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Réduction du bruitDéfinition du bruit
I Phénomène parasite aléatoire (suivant une distribution deprobabilité connue ou non) dont les origines sont diverses (capteur,acquisition, lumière, ...)
I Dans le cas du filtrage linéaire, on considère que le bruit est additif
I Pour le cas du bruit additif, si fb est l’image alors on peut l’écrire dela forme :
fb(i , j) = f (i , j) + b(i , j)
I Exemples de bruits additifs : bruits gaussiens et impulsionnels
• Bruit gaussien : I (x , y) = I (x , y) +N (0, σ)• Bruit impulsionnel ("poivre et sel") d’ordre n : ajouter n pixels
blancs et n pixels noirs aléatoirement dans l’imagecaractérisé par un % de pixels remplacés.
I Autres types de bruits : flou (convolutif), grain (multiplicatif)
17 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Réduction du bruit
Exemples d’images bruitées
I Hypothèse fondamentale pour la réduction du bruit :
• Signal utile et bruit ont des composantes fréquentielles différentes• Signal utile ↔ basses fréquences• Bruit ↔ hautes fréquences
18 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtrage spatial
Filtrage spatial linéaire : convolution
I Filtrage linéaire spatial : convoluer l’image avec la réponseimpulsionnelle du filtre
I Dans le domaine spatial
T [x(n,m)] =+∞∑
k=−∞
+∞∑l=−∞
x(k , l)h(n − k ,m − l) = x ? h(n,m)
Filtrex(n,m) y(n,m) = h ⋆ x(n,m)
I Comment s’interprète le calcul de la convolution ?
I Comment fait-on le calcul de la convolution pour des images(signaux discrets 2D) ?
19 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtrage spatial
Produit de convolution : Illustration en 1D continu
1 Retournement du signal :g(t)→ g(−t)
2 Translation du signal dex : → g(x − t)
3 Produit entre Translationdu signal de t :f (t)g(x − t)
4 Calcul de l’intégrale def (t)g(x − t)
20 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtrage spatial
Produit de convolution 2D discret
I Le produit de convolution d’un signal 2D f (i , j) (une image) avecun filtre h(i , j) est donné par :
f ′(i , j) = (f ? h)(i , j) =+∞∑
n=−∞
+∞∑m=−∞
f (i − n, j −m)h(n,m)
I On disctingue 2 stituations :
1 Filtres de Réponse Impulsionnelle h(n,m) Finie (RIF)2 Filtres de Réponse Impulsionnelle h(n,m) Infinie (RII)
21 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtrage par convolution
Filtres de Réponse Impulsionnelle Finie (RIF) v.s. Infinie (RII)
1 Filtres de Réponse Impulsionnelle h(n,m) Infinie (RII) : h(n,m) nes’annule pas
2 Filtres de Réponse Impulsionnelle h(n,m) Finie (RIF) : h(n,m) estnul en dehors d’un intervalle en n et m
• On parle de masque de convolution• Par exemple, si h(n,m) est un masque carré de taille d impaire,
centré en (0,0), h(n,m) 6= 0 pour |n| ≤ d−12 et |m| ≤ d−1
2 :
f ′(i , j) = (f ? h)(i , j) =
d−12∑
n=− d−12
d−12∑
m=− d−12
f (i − n,m − j)h(n,m)
22 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtrage par convolution
Filtres de Réponse Impulsionnelle Finie (RIF)
I Exemple : si h(n,m) est un masque carré de taille d = 3 impaire :
f ′(i , j) = (f ? h)(i , j) =1∑
n=−1
1∑m=−1
f (i − n, j −m)h(n,m)
f ′(i, j) = h(1, 1)f (i − 1, j − 1) + h(1, 0)f (i − 1, j) + h(1,−1)f (i − 1, j + 1)
+ h(0, 1)f (i, j − 1) + h(0, 0)f (i, j) + h(0,−1)f (i, j + 1)
+ h(−1, 1)f (i + 1, j − 1) + h(−1, 0)f (i + 1, j) + h(−1,−1)f (i + 1, j + 1)
I Si on pose g(n,m) = h(−n,−m) : somme pondérée image avec g
f ′(i, j) = g(−1,−1)f (i − 1, j − 1) + g(−1, 0)f (i − 1, j) + g(−1, 1)f (i − 1, j + 1)
+ g(0,−1)f (i, j − 1) + g(0, 0)f (i, j) + g(0, 1)f (i, j + 1)
+ g(1,−1)f (i + 1, j − 1) + g(1, 0)f (i + 1, j) + g(1, 1)f (i + 1, j + 1)
23 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtrage par convolution
Principe de calcul de la convolution pour un filtre RIFSoit un filtre RIF de réponse impulsionnelle h(n,m)Au pixel p = f (i , j) :
1 Faire une symétrie centrale du noyau par rapport à son centre :h(n,m)⇒ h(−n,−m) = g(n,m)
2 Centrer le filtre sur p en le superposant à l’image
3 Effectuer la somme pondérée entre les pixels de l’image et lescoefficients du filtre g(n,m)
4 Le pixel p dans l’image but (filtrée) aura comme valeur cettesomme pondérée
24 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Exemple de convolution
Cas avec un filtre de taille d = 3
h =
w9 w8 w7w6 w5 w4w3 w2 w1
g =
w1 w2 w3w4 w5 w6w7 w8 w9
I La convolution au pixel (i , j) de f par le noyaux h est donnée par :
f ′(i , j) = w1f (i − 1, j − 1) + w2f (i − 1, j) + w3f (i − 1, j + 1)
+ w4f (i , j − 1) + w5f (i , j) + w6f (i , j + 1)
+ w7f (i + 1, j − 1) + w8f (i + 1, j) + w9f (i + 1, j + 1)
I Les filtres que nous étudions dans ce chapitre (débruiteurs) doiventconserver la moyenne de l’image ; les cœfficients du filtre doiventdonc vérifier
∑i wi = 1.
25 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Principe de la fenêtre glissante
26 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Convolution 2D
Types de convolution
I Comment faire quand le masque recouvre des zones en dehors del’image ?
I Convolution linéaire : on considère que l’image est entourée de noir,donc de valeurs nulles : zero-padding
I Convolution circulante : on considère que l’image est entourée d’ellemême (i.e. support infini de l’image)
I Convolution d’une image avec répétition du bord : on considère quel’image est entourée des mêmes valeurs que sur son bord
I Convolution miroir
27 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtrage spatial linéaire : exemple de filtres
Lissage par moyennage
I Propriété : la valeur d’un pixel est relativement similaire à celle deses voisins
I Dans le cas où l’image contient un bruit et que la propriétéprécédente est préservée, un moyennage local peut atténuer ce bruit↪→ Cette opération est appelée lissage (smoothing)
I Pour effectuer un moyennage dans un bloc voisinage de taille d × d ,on obtient la sortie f ′ :
f ′(i , j) =1d2
d−12∑
n=− d−12
d−12∑
m=− d−12
f (i + n, j + m)
28 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Lissage par moyennage
Exemple
I Le filtre de taille d = 3 :
h =19
1 1 11 1 11 1 1
I D’une manière générale, si on a un filtre de taille d , tous les
coefficients du filtre ont comme valeur wi = 1d2
I Plus d est grand, plus le lissage sera important, et plus l’imagefiltrée perd les détails de l’image originale
29 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Lissage par moyennage
30 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Lissage par moyennage
31 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Lissage par moyennage
Filtrage spatial v.s. fréquentiel
Temporel Fréquentiely(n,m) = x ? h(n,m) y(n,m) = TFD−1 [X (f , g) · H(f , g)]
I Quelle est la fonction de transfert du filtre moyenneur ? Type defiltrage fréquentiel ?
I Filtre passe-bas, passe-bas idéal ? (voir section filtrage fréquentiel)
I En TME
32 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtrage spatial linéaire : exemple de filtres
Lissage gaussien
I Définition : noyau gaussien centré et d’écart-type σ :
gσ(i , j) =1
2πσ2 e− i2+j2
2σ2
I Lissage par moyennage pondéré de l’image en fonction de ladistance du pixel voisin
33 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Lissage gaussien
Du continu au discretI Le noyau gaussien est défini par un ensemble de coefficients qui sont
des échantillons de la gaussienne 2D
34 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Lissage gaussien
Calcul des coefficients du filtreI La largeur du filtre est donnée par son écart-type σ :
• Largeur du filtre de part et d’autre du point central : Ent+(3σ)(Ent+(.) est l’entier supérieur)
• Largeur totale du filtre : 2Ent+(3σ) + 1
I Si σ est plus petit qu’un pixel le lissage n’a presque pas d’effet
I Plus σ est grand, plus on réduit le bruit, mais plus l’image filtrée estfloue
I Si σ est choisi trop grand, tous les détails de l’image sont perdus
↪→ On doit trouver un compromis entre la quantité de bruit àenlever et la qualité de l’image en sortie
35 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Lissage gaussien
Exemple pour σ = 0.625
I Largeur du filtre de part et d’autre du point central : Ent+(3σ) = 2
I Largeur totale du filtre : 2Ent+(3σ) + 1 = 5
I On obtient le filtre suivant :
h = 0.4× 10−2 ×
0.03 0.16 5.98 0.16 0.030.16 7.7 27.8 7.7 0.165.98 27.8 100 27.8 5.980.16 7.7 27.8 7.7 0.160.03 0.16 5.98 0.16 0.03
36 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Lissage gaussien : des petites aux grandeséchelles
image originale
37 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Lissage gaussien : des petites aux grandeséchelles
σ = 2
37 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Lissage gaussien : des petites aux grandeséchelles
σ = 4
37 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Lissage gaussien : des petites aux grandeséchelles
σ = 8
37 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Lissage gaussien : des petites aux grandeséchelles
σ = 16
37 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Lissage gaussien : des petites aux grandeséchelles
σ = 32
37 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Lissage gaussien : des petites aux grandeséchelles
σ = 64
37 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Lissage gaussien
Filtrage spatial v.s. fréquentiel
Temporel Fréquentiely(n,m) = x ? h(n,m) y(n,m) = TFD−1 [X (f , g) · H(f , g)]
I Quelle est la fonction de transfert du filtre gaussien ?
I Rappel : la transformée de Fourier d’une gaussiene est unegaussienne
TF[e−b
2t2]
=
√π
|b|e−
π2 f 2b2
TF[e−b
2(t2+u2)]
=π
b2 e−π2(f 2+g2)
b2
I Filtre passe-bas, non idéal (voir partie filtrage fréquentiel)
38 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Lissage gaussien
Filtrage spatial v.s. fréquentiel
TF[e−b2(t2+u2)
]=
π
b2 e−π2(f 2+g2)
b2
I En spatial σs = 1b , en fréquentiel σf = b
π ⇒ σf = 1σsπ
h(n,m) H(f , g)
σs = 0.7, taille 7× 7 σf = 0.45
39 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Lissage gaussien
Filtrage spatial v.s. fréquentiel
TF[e−b2(t2+u2)
]=
π
b2 e−π2(f 2+g2)
b2
I En spatial σs = 1b , en fréquentiel σf = b
π ⇒ σf = 1σsπ
h(n,m) H(f , g)
σs = 1.0, taille 7× 7 σf = 0.32
40 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Lissage gaussien
Filtrage spatial v.s. fréquentiel
TF[e−b2(t2+u2)
]=
π
b2 e−π2(f 2+g2)
b2
I En spatial σs = 1b , en fréquentiel σf = b
π ⇒ σf = 1σsπ
h(n,m) H(f , g)
σs = 2.0, taille 13× 13 σf = 0.16
41 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Lissage gaussien
Filtrage spatial v.s. fréquentiel
TF[e−b2(t2+u2)
]=
π
b2 e−π2(f 2+g2)
b2
I En spatial σs = 1b , en fréquentiel σf = b
π ⇒ σf = 1σsπ
h(n,m) H(f , g)
σs = 3.0, taille 19× 19 σf = 0.10
42 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Autres filtres
Filtre binomialI Coefficients obtenus par le binôme de Newton
h =1256
1 4 6 4 14 16 24 16 46 24 36 24 64 16 24 16 41 4 6 4 1
43 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtrage spatial linéaire : autres filtres
filtre binomial
h =1
256
1 4 6 4 14 16 24 16 46 24 36 24 64 16 24 16 41 4 6 4 1
I Filtre passe-bas, non idéal (voir partie filtrage fréquentiel)
44 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtrage spatial linéaire : autres filtres
filtre pyramidal
hp =1
81
1 2 3 2 12 4 6 4 23 6 9 6 32 4 6 4 21 2 3 2 1
I Filtre passe-bas, non idéal (voir partie filtrage fréquentiel)
45 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtrage spatial linéaire : autres filtres
filtre conique
hc =1
25
0 0 1 0 00 2 2 2 01 2 5 2 10 2 2 2 00 0 1 0 0
I Filtre passe-bas, non idéal (voir partie filtrage fréquentiel)
46 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtrage spatial linéaire : autres filtres
filtre réhausseur de contraste
hr1 =
1 −3 1−3 9 −31 −3 1
I Filtre passe-haut, non idéal (voir partie filtrage fréquentiel)
47 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtrage spatial linéaire : autres filtres
filtre réhausseur de contraste : seconde version
hr2 =
0 −1 0−1 5 −10 −1 0
I Filtre passe-haut, non idéal (voir partie filtrage fréquentiel)
48 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtre de GaborFiltres de Gabor pour la classification [Serre2007]
I But : modéliser le traitement du cortex visuel (V1)
• Couche S1 : convolution image par des filtres de Gabor
49 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtre de Gabor
Définition
h(x , y) = exp(−x2
0 + γ y20
2σ2
)cos(2πλx0
)(7)
x0 = x cos (θ) + y sin (θ) et y0 = −x sin (θ) + y cos (θ)
I Paramètres fixés : γ = 0.3, λ et σ à partir de données biologiques
I Paramètres variables : échelle s et orientation θ
I Filtres passe-bande localisés dans l’espace et en fréquence
I Donne des réponses à différentes échelles et orientations
50 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtres de Gabor
Variations de l’orientationEn faisant varier θ :
Réponse impulsionnelle h(n, n)
Fonction de Transfert H(f , g)
I Capturent des fréquences spatiales à différentes orientations
I Filtres passe-bande localisés
51 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtres de Gabor
Variation de l’échelleEn faisant varier s :
Réponse impulsionnelle h(n, n)
Fonction de Transfert H(f , g)
I Capturent des fréquences spatiales à différentes échelles
I Filtres passe-bande localisés
52 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtre séparable
Définition
I Rappelons les propriétés suivantes (vraies en continu et en discret) :
• Commutativité : (f ? g)(n) = (g ? f )(n)• Distributivité : (f ? (g + h))(n) = (f ? g)(n) + (f ? h)(n)• Associativité : ((f ? g) ? h))(n) = (f ? (g ? h))(n)• L’opérateur ? est bilinéaire.
I Lorsque h(i , j) = hx(i)× hy (i) (filtre de taille N ×M) laconvolution 2D correspond à une composition de convolutions 1D :
(f ? h)(i , j) =
N/2∑n=−N/2
M/2∑m=−M/2
f (i − n, j −m)h(n,m)
=∑m
(∑n
f (i − n, j −m)hx(n)
)hy (m)
= (f ? hx ? hy )(i , j)
53 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtre séparable (suite)
I Les filtres moyenneur, gaussien, binomiale, ... sont séparables.
I Moyenneur 3× 3 : hx = 13
(1 1 1
), hy = 1
3
111
I Gaussien : exp(− i2+j2
2σ2 ) = exp(− i2
2σ2 ) exp(− j2
2σ2 )
I Voir TD 4
• Permet de diminuer la complexité du filrage• Permet d’implémenter les fitres de manière récursive
54 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtrage des images en couleurs
Filtrage linéaire
I Le filtrage spatial d’une image f en couleur par un filtre h s’effectuede la manière suivante :
f ′(i , j) = (f ? h)(i , j) =N∑
n=1
M∑m=1
f (i , j)h(n − i ,m − j)
I Pour le cas d’une image couleur, on a deux solutions :
1 h est une matrice diagonale : le filtrage se fait plan par plan ;2 h n’est pas une matrice diagonale : il y a des termes croisés
(dépendances entre composantes).
I Attention au choix des espaces de représentation des couleurs ! (voircours intro)
55 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtrage linéaire des images en couleurs
I Approche marginale : traiter chaque composante puis fusion⇒ hypothèse d’indépendance des composantes, souvent violée
I Approche vectorielle : la couleur est vue comme un vecteur 3D
56 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtrage des images en couleurs : illustration
Filtre moyenneur
I Trois moyenneurs scalaires
I Possibilité d’utiliser des masques différents sur chaque composante.
I Risque d’engendrer des phénomènes de fausses couleurs.
57 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtrage fréquentiel
DéfinitionsI On suppose que le signal dont on dispose a été discrétisé
I Garder/supprimer des fréquences du signal à l’aide d’un filtre
I Deux manières de procéder :
• dans le domaine spatial : produit de convolution entre le signal et lefiltre ;
• dans le domaine fréquentiel : produit entre les spectres du signal etdu filtre.
I Trois familles :
• filtrage passe-bas ;• filtrage passe-haut ;• filtrage passe-bande (et aussi coupe-bande).
I Filtre idéal : coefficients égaux à 0 ou 1.
58 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtrage fréquentiel
Principe général du filtrage fréquentiel
1 Calculer la tranformée de Fourier X (f , g) du signal x(n,m) à filtrer
2 Calculer la transformée de Fourier Discrète H(f , g) du filtre h(n,m)
3 Multiplier les spectres Xfiltré(f , g) = X (f , g) · H(f , g)
4 Calculer la transformée de Fourier inverse du spectre obtenu pourobtenir le signal filtré xfiltré(n,m)
59 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtrage fréquentiel
Principe du filtrage fréquentiel 2D
60 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtrage passe-bas : illustration en 1D
61 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Caractéristiques fréquentielles du bruit
Le bruit est une haute fréquence
62 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtre passe-bas 2D : bande passante
DéfinitionI Un filtre passe-bas idéal est un système linéaire ne modifiant pas ou
peu les basses fréquences de l’image d’entrée
I La taille du voisinage caractérise la bande passante du filtre
I Basses fréquences et fréquence fondamentale conservées↪→ L’information d’intensité est restituée lors de la reconstruction del’image (IDFT)
I Hautes fréquences éliminées : les changements brusques d’intensité(bruit, frontières, ...) sont atténués voire éliminés↪→ étalement des frontières
63 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtre passe-bas 2D idéal
Définition
I La fonction de transfert H(u, v) du filtre passe-bas idéal defréquence de coupure D0 est donnée par :
H(u, v) =
{1 si
√u2 + v2 ≤ D0
0 si√u2 + v2 > D0
I Ce filtre supprime les composantes fréquentielles ayant unefréquence radiale
√u2 + v2 supérieure à D0
64 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtre passe-bas 2D idéal
65 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtre passe-bas 2D idéal
Interprétations
I Les hautes fréquences sont supprimées
I Les basses fréquences, dont la fréquence fondamentale, sontconservées
I L’image reconstruite présente du flou sur le contour
66 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtre passe-bas 2D idéal
Interprétations
H(f , g) h(n,m) h(n,m)
I Filtre passe-bas 2D idéal : convolution par une fonction de besseld’ordre 1
I Phénomène d’oscillations (rebonds), visuellement potentiellementgênants
• H(f , g) non dérivable à la fréquence de coupure (cf phénomèneGibbs)
• ∼ fonction porte Rect(f , g) de TF inverse sinus cardinal
67 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtre passe-bas 2D : un exemple réel
68 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtre passe-bas 2D de Butterworth d’ordre n
DéfinitionI Le filtre passe-bas de Butterworth d’ordre n est défini par :
H(u, v) =1
1 +(√
u2+v2
D0
)2n
69 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtre passe-bas 2D de Butterworth d’ordre n
Caractéristiques
I Les composantes fréquentielles sont d’autant plus atténuées que lecouple (u, v) est loin de l’origine
I Plus n est grand, plus l’atténuation des hautes fréquences estimportante
I Moins de flou (contours moins lissés) qu’avec un filtre passe-basidéal
70 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtrage anti-aliasing
Aliasing : interprétation fréquentielle (rappel)
I Image bien échantillonnée, i.e. fe ≥ 2fmax (Shannon)TF continue TF échantillonée TFD=TF continue
TFD=TF continue pas d’aliasing71 / 99
Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Aliasing : interprétation fréquentielle (rappel)
Image bien échantillonnée, limite fe = 2fmax (Shannon)
TF continue TF échantillonée TFD=TF continue
TFD=TF continue pas d’aliasing
72 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Aliasing : interprétation fréquentielle
Image mal échantillonnée, fe < 2fmax
TF continue TF échantillonée TFD 6= TF continue
TFD 6= TF continue Effets d’aliasing
73 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtrage anti-aliasing numérique
Principe
I Contexte : une image numérique de taille NxM échantillonée enrespectant Shannon
I Sous-échantillonage : va nécessairement introduire des effetsd’aliasing
I Filtrage anti-aliasing : effectuer un filtrage passe-bas préalablementau sous-échantilonnage
En TME !
74 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtrage passe-haut 1D
Principe
I Garder les hautes fréquences du spectre de Fourier du signal
I Le signal est reconstruit par DFT inverse sans ses basses fréquences,donc sans sa fréquence fondamentale
75 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtrage passe-haut 1D : un exemple
76 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtre passe-haut 2D
DéfinitionI Un filtre passe-haut est un système linéaire ne modifiant pas ou peu
les hautes fréquences de l’image d’entrée
I Basses fréquences et fréquence fondamentale éliminées↪→ L’information d’intensité est enlevée lors de la reconstruction del’image (IDFT)
I Hautes fréquences préservées↪→ Les changements brusques d’intensité (bruit, frontières, ...) sontmis en évidence
77 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtre passe-haut 2D idéal
Définition
I La fonction de transfert H(u, v) du filtre passe-haut de fréquence decoupour D0 idéal est donnée par :
H(u, v) =
{1 si
√u2 + v2 ≥ D0
0 si√u2 + v2 < D0
I Ce filtre supprime les composantes fréquentielles ayant unefréquence radiale
√u2 + v2 inférieure à D0
78 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtre passe-haut 2D idéal
79 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtre passe-haut 2D idéal
Interprétations
I Les hautes fréquences sont conservées
I Les basses fréquences, dont la fréquence fondamentale, sontéliminées
I L’image reconstruite n’a plus ses couleurs, mais le contour est net
80 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtre passe-haut 2D de Butterworth d’ordren
DéfinitionI Le filtre passe-haut de Butterworth d’ordre n est défini par :
H(u, v) =1
1 +(
D0√u2+v2
)2n
81 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtre passe-haut 2D de Butterworth d’ordren
Caractéristiques
I Les composantes fréquentielles sont d’autant plus atténuées que lecouple (u, v) est proche de l’origine
I n fixe la pente de transition entre les hautes et les basses fréquences
I Le filtrage passe-haut a un effet dérivateur
82 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtre passe-haut 2D : un exemple réel
83 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtrage passe-bande 1D
Principe
I Garder une bande de fréquences du spectre de Fourier du signal
I Le signal est reconstruit par DFT inverse sans cette bande defréquences
84 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtrage passe-bande 1D : un exemple
85 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtre passe-bande 2D
DéfinitionI Un filtre passe-bande est complémentaire d’un filtre passe-bas et
d’un filtre passe-haut
I Un filtre passe-bande est un système linéaire qui préserve une plagede fréquences
I L’image reconstruite est une combinaison d’un nombre réduitd’images de base (sinusoïdes)
86 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtre passe-bande 2D idéal
87 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Plan
1 Filtrage linéaireFiltrage spatial
2 Filtrage non linéaire
88 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Le filtre médian
Définition
I Soit une séquence discrète a1, a2, . . . , aN (N impair). ai est la valeurmédiane de la séquence si :
• Il existe N−12 éléments de valeur inférieure
• Il existe N−12 éléments de valeur supérieure
I Très adapté au bruit type "poivre et sel" (faux "blanc" et "noir"dans l’image)
I Préserve les contours
I Réduit le bruit additif uniforme ou gaussien (lissage de l’image)
I Si le bruit est supérieur à la moitié de la taille du filtre, alors le filtreest inefficace
89 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Le filtre médian
DéfinitionI Déplacer une fenêtre de taille impaire sur le support image
I Remplacer le pixel central (sur lequel est positionnée la fenêtre) parla valeur médiane des pixels inclus dans la fenêtre
90 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Le filtre médian
91 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Le filtre médian contre filtre gaussien
92 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Le filtre médian contre filtre gaussien
92 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Le filtre médian contre filtre gaussien
92 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Plus loin avec le médian
Image originale
93 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Plus loin avec le médian
Median 15× 15
93 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Plus loin avec le médian
Median 31× 31
93 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Plus loin avec le médian
Median 3× 3 itéré 15 fois
93 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Plus loin avec le médian
Median 7× 7 itéré 5 fois
93 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtre Médian
Question/Exercice
I Pourquoi le filtre médian est-il non linéaire ?
94 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Autres filtres non linéaire : filtres de rang
Définition (filtre maximum)
I Filtre supprimant le bruit “poivre”
I Pour chaque pixel (i , j) :
• fmax(x , y) = max(i,j)∈voisins(x,y) f (i , j)
Définition (filtre minimum)
I Filtre supprimant le bruit “sel”
I Pour chaque pixel (i , j) :
• fmin(x , y) = min(i,j)∈voisins(x,y) f (i , j)
I Médian, min et max sont appelés filtres de rang.
95 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Filtrage de Nagao
DéfinitionI Fenêtre 5× 5 centrée sur chaque pixel, 9 domaines définis
I On calcule pour chaque domaine Di la moyenne µi et la variance σ2i
I Le pixel est remplacé par la moyenne du domaine de plus faiblevariance
96 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Gaussien orienté
ProblèmeI Choisir une fonction gaussienne 2D ayant des écart-types de valeurs
différentes en fonction de la direction.
I La gaussienne exp(− x2+y2
2σ2 ) a un axe de symétrie en l’origine
I Généralisation, considérer le noyau
gΣ(x , y) =1
det(Σ)πexp
(−(x y
)Σ−1
(xy
))
I A la manière du détecteur de Harris, on peut choisir Σ de façon àavoir une direction de lissage qui soit alignée (par exemple) le longdes contours
97 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Gaussien orienté
Filtre orienté le long d’un contour contre filtre non orienté
98 / 99Bases du traitement des images
Filtrage linéaire Filtrage non linéaire
Gaussien orienté
Lissage selon une orientation
I Pour cela il suffit de considèrer :
Σ =
(I 2x Ix IuIx Iy I 2y
)où Ix est la moyenne de la dérivé par rapport à x de l’image sur unpetit voisinage autour de (x , y) et idem en y pour Iy
I Pourquoi ? on sort du cadre de ce cours : voir techniques avancéesen M2.
I Pourquoi ce filtre n’est pas linéaire ? (pourtant, c’est de laconvolution ?)
99 / 99Bases du traitement des images
top related