0% ont trouvé ce document utile (0 vote)
148 vues21 pages

Master S3

Ce document décrit différents types de filtres spatiaux utilisés en traitement d'images, notamment des filtres passe-bas comme les filtres moyen, gaussien et médian pour le lissage et la réduction du bruit, ainsi que des filtres passe-haut pour la détection des contours.

Transféré par

ANASS ELYAAKOUBY
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
148 vues21 pages

Master S3

Ce document décrit différents types de filtres spatiaux utilisés en traitement d'images, notamment des filtres passe-bas comme les filtres moyen, gaussien et médian pour le lissage et la réduction du bruit, ainsi que des filtres passe-haut pour la détection des contours.

Transféré par

ANASS ELYAAKOUBY
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Filtrage spatial

Lissage et réduction du bruit

Détection des contours

Filtres plus complexes (Canny et Harris)

g
Ponctuelle:
f
T
g(x0,y0)=T[f(x0,y0)]

(x0,y0)
(x0,y0)

Locale:
g(x0,y0)=T[f(V)]
V:voisinage de (x0,y0)

Globale:
g(x0,y0)=T[f(x,y)]

Transformation basée sur le voisinage d’un point

transformation

?
?
?
?
?
?
?
?
?
?
?

?
?

?
?

?
?

?
?

?
?

?
?

?
?

?
?

?
?
?
?
?
?
?
?
?
?
?

Image originale
Image traitée

Ø  ? Gestion des bords :


è propagation ? mise à zéro ? On ne filtre pas les
bords ? On supprime les bords ? On augmente la taille de
l’image ? Et si le masque grand ?
3

Filtrage spatial

—  Filtres passe-bas

—  Atténue le bruit et les


détails (hautes fréquences) Domaine
è lissage
fréquentie
l

—  Filtres passe-haut
Domaine
—  Inversement, accentue les spatial

détails (hautes fréquences)


è accentuation
« Techniques for Image Processing and
Classification in Remote Sensing » Schowengerdt

Convolution d’une image par un filtre 2D :


I ' (i, j ) = I (i, j ) ⊗ filtre(i, j )

I ' (i, j ) = ∑∑ I (i − u, j − v). filtre(u, v)
u v

Convolution

I'(i, j) = I(i, j) ⊗ filtre(i, j)


j

w1
w2
w3
Centre du
filtre

i
w4
w5
w6

w7
w8
w9

I’(i,j) =

w1*I(i-1,j-1) + w2*I(i-1,j) + w3*I(i-1,j+1)


+ w4*I(I,j-1) + w5*I(i,j) + w6*I(i,j+1)

+ w7*I(i+1,j-1) + w8*I(i+1,j) + w9*I(i+1,j+1)

Note:

Généralement, masque de dimension impaire et symétrique

Exemple

1 1 1
1
9
1 1 1
Ä! 10 15 1 25 1 10 1 1 1 1
1 1 1
14 3 1 2 1 20 1 1 1 1
Masque de convolution
30 28 1 16 1 8 1 1 1 1
(moyenne)

(10*1+15*1+25*1+14*1+3*1+2*1+
30*1+28*1+16*1)/9
=143/9

(15*1+25*1+10*1+3*1+2*1+20*1+
28*1+16*1+8*1)/9
=127/9
image

Filtres passe-bas

Filtre passe-bas:

u  Lissage d’images et élimination du bruit

u  Principe:

Ø  INTÉGRATION (Sommation)

—  Filtre de moyenne (passe-bas)

—  Filtre gaussien (passe-bas)

—  Filtre médian (passe-bas non-linéaire)

—  Filtre adaptatif

—  Filtre directionnel

Filtre moyenneur

1 1 1
1/9 x 1 1 1 Lissage
(flou apparent)

1 1 1

3x3 5x5 7x7 15x15

Plus le filtre grossit , plus le lissage devient important et plus le flou


 

s’accentue !

Autres filtres passe-bas

⎡1 2 3 2 1⎤ ⎡0 0 1 0 0⎤
⎢2 4 6 4 2⎥
⎢0 2 2 2 0⎥
Pyramidal:
1 ⎢ ⎥ 1 ⎢ ⎥
× ⎢3
81 ⎢
6 9 6 3⎥ Conique:
× ⎢1 2 5 2 1⎥
⎥ 25 ⎢ ⎥
⎢2 4 6 4 2⎥
⎢0 2 2 2 0⎥
⎢⎣1 2 3 2 1⎥⎦ ⎢⎣0 0 1 0 0⎥⎦

⎡1 2 32 1⎤
⎢2 6 8 6 2⎥⎥
−( x 2 + y 2 ) 1 ⎢
1 × ⎢3 8 10 8 3⎥
Gaussien:
⋅e 2σ 2 98 ⎢ ⎥
2πσ 2 ⎢2 6 8 6 2⎥
⎢⎣1 2 3 2 1⎥⎦

Coefficients entiers è calculs plus rapides

10

Applications

u  (¯ bruit et ¯ faux contours)

11

Filtre médian

médiane = 25

30 10 20
10, 10, 20, 20, 25, 25, 30, 30, 250

10 250 25

20 25 30 moyenne autour de
la médiane = 24

Moyenne: 47 à cause du 250

è  Particulièrement utile pour un bruit de type Poivre & Sel (0 et 255)

12

Image initiale
Bruit Poivre & Sel
Moyenne V8

Min V8
Max V8
Médian V8
13

Bruit additif

I bruit (i, j ) = (1 + Δ).I (i, j )


avec Δ ∈ [- ε ;+ε ]

14

Hagit Hel-Or, 1999


Filtre adaptatif

⎧1
⎪ M ∑ I (n , m )
⎪ (n ,m )∈S
⎪ 1

I '(i , j ) = ⎨
Si ∑ I (n , m ) − I (i , j ) <T
M (n ,m )∈S


⎪I (i , j ) Sinon

Avec :

S = voisinage du pixel (i,j)

M = nombre de pixels dans le voisinage S

T = valeur de seuil prédéfinie

15

Hagit Hel-Or, 1999

Filtre directionnel

Masque orienté
Image
bruitée
originale

Trouver le voisinage orienté tel que:

2 x 7

Calculer la moyenne (ou autre) suivant Vq:

7 x 2

16

Hagit Hel-Or, 1999

Filtres passe-haut

Filtre passe-haut

u  Détection des contours

u  Principe:

Ø DÉRIVATION: Différence

—  À partir d’un passe-bas

—  Gradient et variantes

—  Laplacien

—  Filtre plus complexe

—  Canny (détecteur de contour)

—  Harris (détecteur de coin)

18

Filtre passe-haut (détection des contours)

IPH = I − IPB (+ 128)

- =

Image
Passe-bas
Passe-haut

0
0
0

1
1
1
1
1 -1
-1
-1

0
1
0

9
1
1
1
9 -1
8
-1

0
0
0
1
1
1
-1
-1
-1

19

Filtres différentiels

1
0.8
10
f ( x, y) = e− x /2 0.6
0

0.4

-1
0.2

-2 -1 1 2 -2
-2 -1 0 1 2
2

3
1
2

∂f 1 Dérivée
première

∂x
-2 -1 1 2
-1
-1

-2

-3 -2
-2 -1 0 1 2

20
1

10

∂2 f 0 Dérivée
∂x 2
-2 -1 1 2
-1
seconde

-10

-2

20

-2 -1 0 1 2
Le gradient

⎡ ∂I ⎤ ⎛ ∂I ⎞
⎢ ∂x ⎥ 2 ⎜⎜ ⎟⎟
⎢ ⎥
2
⎛ ∂I ⎞ ⎛⎜ ∂I ⎞⎟ ∂I ∂I −1 ⎝
∂y ⎠
∇I = ⎢ ⎥ ∇I = ⎜ ⎟ +⎜ ⎟ ≈ + θ = tan
⎢ ∂I ⎥ ⎝ ∂x ⎠ ⎝ ∂y ⎠ ∂x ∂y ⎛ ∂I ⎞
⎜ ⎟
⎢ ∂y ⎥ ⎝ ∂x ⎠
⎣ ⎦

∇I ∂f
∂y

∂f
∂x
∂f = lim f (x + h , y ) − f (x − h , y ) ⇒ ∂I ≈ I (x + 1, y ) − I (x − 1, y )
∂x h →0 2h ∂x 2
ou ∂f = lim f (x , y ) − f (x − h , y ) ⇒ ∂I ≈ I (x , y ) − I (x − 1, y )
∂x h →0 h ∂x 21

Le gradient (version élémentaire 3 x 3)

Image Filtre Calcul

I1
I2
I3
0
-1
0

0
0
0
∂f = [I − I ]
I4
I5
I6
∂y 8 2

I7
I8
I9
0
1
0

où Ix : valeur du
0
0
0

n iveau de gris
∂f = [I − I ]
-1
0
1
∂x 6 4

0
0
0

∇I ≈ I x + I y ≈ ∂I + ∂I
∂x ∂y
22

Filtres classiques

Roberts:
1
0
0
1

0
-1
-1
0

-1
-1
-1
-1
0
1

Prewitt:
0
0
0
-1
0
1

1
1
1
-1
0
1

-1
-2
-1
-1
0
1

Sobel:
0
0
0
-2
0
2

1
2
1
-1
0
1

23

Exemple (Sobel)

∂f ∂f
∂x ∂y
-1
0
1
-1
-2
-1

-2
0
2
0
0
0

-1
0
1
1
2
1

∂f ∂f
∇f = +
∂x ∂y

+128 pour affichage


+128 pour affichage
24

Combinaison de filtres

è Filtres de Sobel :

⎛ −1 0 1⎞ ⎛1⎞
⎜ ⎟ ⎜ ⎟
Gx = ⎜ − 2 0 2 ⎟ = ⎜ 2 ⎟ ∗ (− 1 0 1) è Lissage en y et dérivée en x

⎜ −1 0 1 ⎟⎠ ⎜⎝ 1 ⎟⎠

⎛− 1 − 2 − 1⎞ ⎛ − 1⎞
⎜ ⎟ ⎜ ⎟
Gy = ⎜ 0 0 0 ⎟ = ⎜ 0 ⎟ ∗ (1 2 1) è Lissage en x et dérivée en y

⎜ 1 2 1 ⎟⎠ ⎜⎝ 1 ⎟⎠

è moins sensible au bruit

25

Extraction des contours

Détection de
contours par
Sobel

Seuillage avec Seuillage avec


S=10%.Imax
S=25%.Imax
26

Autres (filtres compas)

Note: Le choix de k donne l’orientation du gradient

27

Laplacien (Ñ2f)

∂2I ∂2I
∇2I = + ≈ I x (x + 1, y) − I x (x, y) + I y (x, y + 1) − I y (x, y)
∂x2 ∂y2

∇2I ≈ ⎡I(x + 1, y) − I(x, y) ⎤ − ⎡I(x, y) − I(x − 1, y) ⎤


⎣ ⎦ ⎣ ⎦
+ I(x, y + 1) − I(x, y) − ⎡I(x, y) − I(x, y − 1) ⎤
⎡ ⎤
⎣ ⎦ ⎣ ⎦
∇ I ≈ I(x + 1, y) − 2I(x, y) + I(x − 1, y) + I(x, y + 1) − 2I(x, y) + I(x, y − 1) ⎤
2 ⎡ ⎤ ⎡
⎣ ⎦ ⎣ ⎦

⎛ 1 ⎞ ⎛ 0 1 0 ⎞
2
∇ I ≈ Filtre avec (1 )
− 2 1 puis ⎜ −2 ⎟ = ⎜⎜ 1 −4 1 ⎟⎟
⎜ ⎟
⎜⎝ 1 ⎟⎠ ⎜⎝ 0 1 0 ⎟⎠
⎛ 1 1 1 ⎞
Autres formes : ⎜ 1 −8 1 ⎟
⎜ ⎟
⎜⎝ 1 1 1 ⎟⎠

Points de contours è passages à zéro de la dérivée seconde

28

Laplacien (Ñ2f)

Sobel
Laplacien |Ñ2f|

⎛ 1 1 1 ⎞
⎜ 1 −8 1 ⎟
⎜ ⎟
⎜⎝ 1 1 1 ⎟⎠

29

Filtre de Marr-Hildreth

u  Laplacien de Gaussienne :

Ø  On filtre d’abord l’image avec un filtre Gaussien G

Ø  Puis on prend le Laplacien de l’image filtrée

Ñ Ä Ñ Ä !
u  Le but est de réduire le bruit associé aux filtres
différentiels et de faciliter la détection du passage par
Ñ2G
2

zéro (contour)
1.5

1
x2 +y2
-
1 2!2
Filtre gaussien : G σ (x, y) = exp 0.5

2πσ2
∂2f(x, y) ∂2f(x, y)
-3 -2 -1 1 2 3

2
Dérivée seconde : ∇ f(x, y) =
2

+ 0

∂x2 ∂y2
-2
2
1.5

x2 + y2 − 2.σ2 1

LoG : ∇2G σ (x, y) = .G σ (x, y) 0.5

σ4 0

-2
0 30

2
u  Application du filtre
Détection des passages à zéro

s#!
31

Rehaussement de contours - Laplacien

0 0 0
0 1 0
0 0 0

0 0 0
Ex : -1 0 1
0 0 0

0 1 0
Ex : 1 -4 1
0 1 0

0 -1 0
Ex : -1 4 -1
0 -1 0

0 -1 0
Ex : -1 5 -1
0 -1 0
32

Hagit Hel-Or, 1999 Utilisé dans la plupart des caméras numériques, vidéos photocopieurs…

Filtre DOG (Difference of Gaussian)

u  è Filtre DOG très proche du LOG

« Le traitement des images », Henri Maître, 2003

33

Filtres plus complexes

Filtre de Canny

u  Critères de l’approche de Canny :

Ø  Détection : Bonne détection des points de contours


(notamment pour les contours faibles)

Ø  Localisation : Localisation fiable des points de contours

Ø  Unicité de la détection : pour un contour, on a un seul point


de contour

u  Détection de contour: algorithme de Canny

Ø  Première étape

—  Appliquer un filtre gaussien

—  Filtre passe bas pour supprimer le bruit

Ø  2ème étape: calculer

35

Filtre de Canny

Ø  3ème étape: approximation de l’angle du gradient à un


multiple de 45° près

Ø  4ème étape: si la norme du gradient en un pixel (x,y) est


inférieure à la norme du gradient en un de ses deux voisins le
long du gradient, mettre la norme du gradient en (x,y) à 0

è On supprime les gradients qui


ne sont pas des maximums locaux

36

Filtre de Canny

Ø  5ème étape: (hystérisis) Soient τh>τl deux seuils. Si la norme du


gradient en un pixel(x,y) est supérieure à τh ajouter (x,y) au
contour ainsi que tous les points reliés à (x,y) le long de la
normale au gradient pour lesquels la norme du gradient est
supérieure à tl

37

Filtre de Canny

38

Détecteur de coin de Harris

Ø  Algorithme :

—  Calculer le gradient (Ix, Iy) dans toute l’image

—  Pour chaque pixel :

—  Calculer sur un voisinage du pixel la matrice suivante:

⎡∑ I x I x ∑ I x I y ⎤
⎢ ⎥
⎣⎢∑ I x I y ∑ I y I y ⎦⎥

—  Calculer les valeurs propres l l l l )

—  Si la valeur propre minimale l > seuil, conserver les


coordonnées du pixel dans une liste L ( coins)

—  Trier L en ordre décroissant de l2

—  Balayer la liste L de haut en bas, pour chaque pixel pi de la


liste, éliminer les autres pixels qui appartiennent au voisinage de
pi

39

Détecteur de coin de Harris

—  La liste finale contient les points saillants pour lesquels !2 >


seuil et dont les voisinages ne se chevauchent pas. Ce sont les
pixels les plus faciles à suivre! Utile pour sélectionner des points
d’ancrage (de repère).

Exemple d’utilisation :
panorama

DaryaFrolova, Denis Simakov, The WeizmannInstitute of Science, 2004


[Link] 40

Exemple d’utilisation : panorama

DaryaFrolova, Denis Simakov, The WeizmannInstitute of Science, 2004 41

[Link]

Vous aimerez peut-être aussi