Opérateur gradient boussole - 4

Download Report

Transcript Opérateur gradient boussole - 4

Faculté des sciences de Tunis
Année universitaire 2009-2010
Analyse d’images
Détection de contour
Cours 8
Mohamed Naouai
Détection de contours
• Qu’est ce qu’un contour ?
2
Détection de contours
Image Originale
3
Image Originale
Détection de contour
4
Introduction
• La mise en évidence des points représentant
les contours d'objets dans une image peut
servir à:
– reconnaître des objets présents dans une scène
– différencier des zones de l'image
– faire de la segmentation d'images
– extraire une information réduite souvent
pertinente pour caractériser l'image.
5
Détection de contours
• La détection de contour est une étape
préliminaire à de nombreuses applications
de l'analyse d'images.
• Les contours constituent en effet des
indices riches, au même titre que les
points d'intérêts, pour toute interprétation
ultérieure de l'image.
6
Détection de contours
• Les contours dans une image proviennent
des :
– discontinuités de la fonction de réflectance
(texture, ombre).
– discontinuités de profondeur (bords de
l'objet).
• ils sont caractérisés par des discontinuités
de la fonction d'intensité dans les images.
7
Détection de contours
• Un contour se matérialise par une rupture
d'intensité dans l'image suivant une
direction donnée.
• Plusieurs méthodes existent pour détecter
cette rupture, les unes plus ou moins
complexes, les autres plus ou moins
gourmandes en calculs.
8
Détection de contours
• Dans la plupart des cas et en particulier pour
•
ceux présentées ici, la même méthodologie est
employée.
Elle s'applique en deux étapes :
1. la première permet de localiser les contours à partir
d'un calcul de Gradient ou de Laplacien dans des
directions privilégiées tout en quantifiant l'importance
du contour.
2. La seconde étape va permettre d'isoler les contours
du reste de l'image à partir d'un seuillage judicieux
9
Détection de contours
• Le principe de la détection de contours
repose donc sur l'étude des dérivées de la
fonction d'intensité dans l'image :
– les extrema locaux du gradient de la fonction
d'intensité
– les passages par zéro du laplacien.
• La difficulté réside dans la présence de
bruit dans les images.
10
Détection de contours
• Ces deux étapes sont indépendantes, il existe
•
donc un grand nombre de combinaisons calcul de
(Gradient, opération de seuillage) conduisant à la
mise en évidence des contours.
Notre rôle consiste à choisir les opérateurs les
mieux pour satisfaire les exigences associées à
l'image à traiter.
11
Détection des contours
Dérivée première
Profil
Dérivée seconde
Le filtrage linéaire d'une image
• Filtrer une image consiste à convoluer sa fonction
d'intensité I(x, y) avec une fonction h(x, y)
appelée réponse impulsionnelle du filtre.
13
Le gradient d'une image
• En considérant l'image dans un repère orthogonal
(Oxy) tel que (Ox) désigne l'axe horizontal et (Oy)
l'axe vertical, le Gradient de l'image en tout point
ou pixel de coordonnées (x,y) est désigné par :
14
Le module du gradient
• Le module du gradient permet de quantifier
l'importance du contour mis en évidence,
c'est-à-dire l'amplitude du saut d'intensité
relevé dans l'image :
15
La direction du gradient
• La direction du gradient permet de
déterminer l'arête présente dans l'image.
En effet, la direction du gradient est
orthogonale à celle du contour :
16
Le gradient d'une image
17
Détermination de la
direction du gradient
• Calculer la dérivée directionnelle dans
certaines directions dans le repère image
(e.g. 0°, 45°, 90°, 135°)
18
Détermination de la
direction du gradient
19
Le gradient d'une image
• Le principe de la détection de contours par
l'utilisation du gradient consiste à calculer
– le gradient de l'image dans deux directions
orthogonales
– puis le module du gradient.
• Il s'agira ensuite d'effectuer une sélection des
contours les plus marqués, c'est-à-dire les points
de plus fort contraste par un seuillage adéquat.
20
Le gradient d'une image
21
Le gradient d'une image
• La direction du gradient maximise la
dérivée directionnelle.
• La dérivée de I(x, y) dans une direction
donnée d s'écrit :
• Le gradient d'une image filtrée :
22
Le gradient d'une image
23
Quelques opérateurs gradient
Introduction
• Ces opérateurs sont à considérer comme des
•
•
filtres qui vont être corrélés à l'image.
Le filtrage seras effectué suivant les lignes de
l'image puis suivant les colonnes.
Pour chaque opérateur, deux masques sont
utilisés de façon à déterminer le gradient de
l'image dans deux directions orthogonales.
24
Opérateur de Roberts
• Ce masque proposé en 1965 permet de
calculer un gradient le long des diagonales
de l'image :
• La corrélation de ce masque avec l'image
f(i,j) permet bien d'implanter un gradient
dans la direction verticale :
25
Opérateur de Roberts
26
Opérateur de Roberts
Image originale
Image des contours
(opérateur Prewitt)
27
Opérateur de Roberts
Inconvénient
• Le majeur inconvénient de ces masques
réside dans leur forte sensibilité au bruit.
28
Opérateurs de Prewitt
• La convolution de l'image par deux
masques correspond au calculs des
dérivées de l'image pré-filtrée par un filtre
h séparable :
29
Opérateurs de Prewitt
Image originale
Image des contours
(opérateur Prewitt)
30
Opérateurs de Prewitt
Image originale
Image des contours
(opérateur Prewitt)
31
Opérateurs de Sobel (1972)
• L’Opérateur de Sobel est un opérateur
utilisé en traitement d'image pour la
détection de contours. Il s'agit d'un des
opérateurs les plus simples qui donne
toutefois des résultats corrects.
32
Opérateurs de Sobel (1972)
• Pour faire simple, l'opérateur calcule le
•
•
gradient de l'intensité de chaque pixel.
Ceci indique la direction de la plus forte
variation du clair au sombre, ainsi que le taux
de changement dans cette direction.
On connaît alors les points de changement
soudain de luminosité, correspondant
probablement à des bords, ainsi que
l'orientation de ces bords.
33
Opérateurs de Sobel (1972)
• Est un opérateur très populaire.
• Correspond à la convolution de l'image
par :[1 2 1] * [-1 0 1].
• Masques directionnels également.
34
Opérateurs de Sobel (1972)
Les filtres de Sobel sont les suivants :
Filtre horizontal :
1 2 1 


h  0 0 0 
 - 1 - 2 - 1


Filtre vertical :
  1 0  1


v   2 0 2 
 - 1 0 1


35
Opérateurs de Sobel (1972)
36
Opérateurs de Sobel (1972)
Image Originale
Détection de contour par Sobel
37
Opérateurs de Sobel (1972)
Image originale
Image des contours
(opérateur Sobel)
38
39
Opérateur gradient boussole
• Les opérateurs dits boussole mesurent le
gradient dans des direction sélectionnées.
• L'image est successivement filtrée par un
ensemble de masques mk(i,j) dont chacun
représente une approximation discrète
d'un contour idéal dans une orientation
spécifique.
• Le résultat du filtrage de l'image f(i,j) avec
le kième masque est gk(i,j).
40
Opérateur gradient boussole
• Il s'agit alors de garder les contours
correspondant à l'orientation du masque ayant
conduit au maximum des fonctions gk(i,j) avec k
allant de 0 à 7, représentatif des huit principales
directions d'une boussole.
41
Opérateur gradient boussole
• Un autre critère possible revient à chercher
le masque correspondant à la direction du
contour dont le coefficient de corrélation
avec l'image initiale est le plus fort. Il s'agit
de minimiser rk(i,j) l'inverse du coefficient
de corrélation.
42
Opérateur gradient boussole
• critère 1 :
• critère 2 :
avec:
43
Opérateur gradient boussole
• Plusieurs masques peuvent être utilisés.
La démarche consiste à choisir un type de
masque puis à effectuer des permutations
circulaires dans les huit directions
possibles du gradient.
44
Opérateur gradient boussole
• Des exemples d'opérateurs gradient
boussole dans la direction Nord sont
présentés ci-dessous en recourant aux
masques de Prewitt, de Kirsch, de
Robinson de niveau 3 ou 5. Le terme de
niveau désigne le nombre de valeurs
différentes présentes dans le masque.
45
Opérateur gradient boussole
• Des exemples d'opérateurs gradient
boussole dans la direction Nord sont
présentés ci-dessous en recourant aux
masques de Prewitt, de Kirsch, de
Robinson de niveau 3 ou 5.
• Le terme de niveau désigne le nombre de
valeurs différentes présentes dans le
masque.
46
Opérateur gradient boussole
47
Opérateur gradient boussole
• Opérateurs de Kirch
48
Opérateur gradient boussole
49
Méthodes de seuillage
• Cette opération nécessite le réglage d'un
paramètre : le seuil S.
• Si la valeur du module du gradient en un
pixel de l'image dépasse le seuil fixé, la
valeur résultante du pixel est 1. Dans le cas
contraire, la valeur du pixel est fixée à 0 :
50
Méthodes de seuillage
• L'objectif est de conserver uniquement les
maxima locaux dans une direction du
gradient.
• Le principe est de comparer la norme du
gradient en tout point M(i,j) de l'image
avec celles de ses deux voisins M1 et M2
situés dans la direction du gradient.
51
Méthodes de seuillage
• L'algorithme met donc en évidence les maxima
locaux dans des directions privilégiées (quatre
directions dans l'exemple proposé).
• Il reste ensuite à sélectionner les maxima à
conserver en utilisant la
techniques de
seuillage présentées précédemment.
52
Méthodes de seuillage
53
Méthodes de seuillage
54
Le laplacien d'une image
• Le laplacien d'une image d'intensité I(x,y)
est défini par :
– Invariant aux rotations de l'image.
– Le laplacien est souvent utilisé en amélioration
d'images pour accentuer l'effet de contour :
55
Le laplacien d'une image
• Sensibilité au bruit accrue par rapport au
gradient.
• Le laplacien d'une image filtrée :
56
Le laplacien d'une image
57
Le laplacien d'une image
58
Le laplacien d'une image
• Le Laplacien peut s'écrire :
• Cette opération de calcul de Laplacien
peut alors être appliquée à une image par
l'intermédiaire d'un filtrage avec le
masque 3*3 suivant :
59
Le laplacien d'une image
• D'autres masques peuvent être utilisés
60
Le laplacien d'une image
61
Le laplacien d'une image
62
Le laplacien d'une image
63
Le laplacien d'une image
64
Résumé
La détection de contour
• Deux approches :
 Approche gradient : détermination des
extrema locaux dans la direction du gradient.
Approche laplacien : détermination des
passages par zéro du laplacien.
65
Remarque
La détection de contour
• Le calcul de dérivée nécessite un préfiltrage des images. Filtrage linéaire pour
les bruits de moyenne nulle (par exemple
bruit blanc Gaussien, filtre Gaussien).
Filtrage non-linéaire pour les bruits
impulsionnels (filtre médian par exemple).
66