0% ont trouvé ce document utile (0 vote)
10 vues19 pages

Chpitre 3

La détection de contours est une technique essentielle en traitement d'image qui permet d'extraire les frontières significatives d'une image en réduisant l'information à des courbes. Elle utilise des approches basées sur les dérivées premières et secondes pour identifier les discontinuités, avec des applications variées telles que la reconnaissance d'objets et la compression d'images. Les méthodes de seuillage et de suppression des non-maxima sont cruciales pour affiner la détection des contours après le calcul du gradient.

Transféré par

Mess Hanen
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)
10 vues19 pages

Chpitre 3

La détection de contours est une technique essentielle en traitement d'image qui permet d'extraire les frontières significatives d'une image en réduisant l'information à des courbes. Elle utilise des approches basées sur les dérivées premières et secondes pour identifier les discontinuités, avec des applications variées telles que la reconnaissance d'objets et la compression d'images. Les méthodes de seuillage et de suppression des non-maxima sont cruciales pour affiner la détection des contours après le calcul du gradient.

Transféré par

Mess Hanen
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

Détection de Contours et Segmentation Génie électrique 2017

Chapitre 3

Détection de Contours

3.1Introduction
La détection de contours est une technique de réduction d'information dans les images, qui
consiste à transformer l'image en un ensemble de courbes, pas forcément fermées, formant les
frontières significatives de l'image.
Si les structures extraites sont simples à manipuler (courbes fines, régulières, stables...), elles
peuvent être utiles pour la mise en correspondance d'images (robotique, indexation,...).
Définitions
 Discontinuités de l’image
 Les contours forment des segments, courbes, motifs
 Frontière qui sépare 2 objets (ou 1 objet du fond) dans une image.
 Le contour permet la réduction de l’information:
 Information de toute l’image résumée dans les contours des diffèrent objets,
 Contour : partie la plus informative d’une image,
Applications
 Reconnaissance d’objets, de formes, classifications de scènes
 Mise en correspondance : calibration, reconstruction 3D
 Compression
 Souvent utile pour toute application de traitement d’image.
3.2 Modèle de contour
 Il existe plusieurs modèles de contours, le modèle le plus courant : Marche d’escalier,
 Exemple de différents modèles de contours : marche d’escalier, rampe et toit :

51

BelmeguenaïAïssa Université 20 Août 1955


Détection de Contours et Segmentation Génie électrique 2017

Figure 3.1 : Modèles des contours

Figure 3.2 : Largeur et Hauteur du contour

3.3 Approches de détection de contour


Il existe plusieurs approches de détection de contour, Deux approches sont les plus utilisées:
 Approches par dérivée premières : approximations du Gradient
 Approches par dérivée secondes : approximations du Laplacien.
Remarque: la détection de contour de tout objet dans n’importe quel type d’image est un
problème qui est loin d’être résolu.
3.3.1 Approches par dérivées premières
Pour détecter les contours d’une image, il faut procéder de la sorte :
1. Approximations discrète du gradient par différences finies
 Filtres de convolution (masques)
2. Calcul de la norme
 Maxima locaux dans la direction du gradient
3. Suppression directionnelle du non-maxima local
4. Seuillage
5. Chaînage

52

BelmeguenaïAïssa Université 20 Août 1955


Détection de Contours et Segmentation Génie électrique 2017

3.3.1.1 Gradient

Dans le cas 2D des images, le vecteur gradient est défini au point de coordonnées  x, y  par :

  f  x , y   f  x , y  
 f  x, y    ,  (3.1)
 x y 
Où f représente l’image.
 Le gradient peut être représente en coordonnées polaires par un module et une direction
dans l’image.
 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 :

  f  x , y     f  x, y  
2 2

 f  x, y     x     y  (3.2)
   

 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 :

  f  x, y  /  y 
  x, y   ar tan g   (3.3)
  f  x, y  /  x 

 Le module du gradient mesure la force du contour


 Le gradient est un vecteur perpendiculaire au Contour
 Un contour apparait comme une ligne où sont localisées les très fortes variations de
f  x, y  .
 Un contour est alors défini comme le lieu des maximas de la dérivée première dans la
direction du gradient.

53

BelmeguenaïAïssa Université 20 Août 1955


Détection de Contours et Segmentation Génie électrique 2017

Figure 3. 3 : gradient

Image originale Image originale sous forme surfacique

Gradient et orientation

Figure 3. 4 : Exemple du gradient d’une image

54

BelmeguenaïAïssa Université 20 Août 1955


Détection de Contours et Segmentation Génie électrique 2017

Figure 3. 5 : Principe du gradient

Cas discret
 On estime le gradient en calculant une variation monodimensionnelle dans une direction
« donnée »
m n
G  x, y    f  h  x, y     h  i , j  f  x  i, y  j 
i  m j  n
(3.4)

La taille de l’opérateur (autour de la position  x, y  ) est donnée par le couple  m, n

 Pour estimer le gradient, on choisit deux directions privilégiées orthogonales (les lignes
et les colonnes) sur lesquelles on le projette

 Gx est le gradient vertical


 Gy est le gradient horizontal
 La norme du gradient est donnée par :

G  x, y    f  x, y    G  x , y     G  x, y  
2 2
x y (3.5)

 La direction du gradient en un point est donnée par :

55

BelmeguenaïAïssa Université 20 Août 1955


Détection de Contours et Segmentation Génie électrique 2017

 G y  x, y  
  x, y   ar tan g   (3.6)
 Gx  x, y  

 On approche les dérivées directionnelles en utilisant les opérateurs anisotropes


Gx  i, j    x f  i, j   f  i  1, j   f  i, j   f  i, j  * hx

Gy  i, j    y f  i, j   f  i, j  1  f  i, j   f  i, j  * hy

Ce qui correspond à une convolution avec les masques :

 1
hx   1 1 et hy   
1
 Malheureusement, ces dérivées sont très sensibles au bruit
 Nécessite un filtrage préalable.

Figure 3. 6: Exemple d’application des masques gradient

3.3.1.2 Filtres dérivatifs du premier ordre


 Un filtre est composé de deux masques :
 hx Détecte les contours verticaux

 hy Détecte les contours horizontaux

 Dans le domaine spatial : convolution linéaire de l’image avec les filtres


 Image des contours verticaux, ou gradient vertical : Gx  f * hx

56

BelmeguenaïAïssa Université 20 Août 1955


Détection de Contours et Segmentation Génie électrique 2017

 Image des contours horizontaux, ou gradient horizontal : Gy  f * hy

 Gx    Gy 
2 2
 Module du gradient : G 

 Filtres courants : Roberts, Prewitt, Sobel, Kirch


3.3.1.3 Opérateurs du premier ordre
 Opérateur de Roberts :
 0 1  1 0 
 Filtres : hx    hy   
 1 0   0 1
 Opérateurs de Sobel (c = 2) et Prewitt (c = 1)
 1 0 1   1 c 1
   
hx   c 0 c  hy   0 0 0 
 1 0 1  1 c 1
   
 Ces masques opèrent tout d’abord un lissage de l’image, suivi d’une opération
de dérivation : ils sont dits séparables
 1 0 1   1   1 c 1 1
       
hx   c 0 c    c  . 1 0 1 hy   0 0 0   1 0 1 .  c 
 1 0 1   1  1 c 1 1
       
 On combine à la fois un filtrage et une dérivée
 Moins sensible au bruit que le calcul direct des dérivées.
 Le lissage permet d’atténuer le bruit dans l’image, pouvant être interprété comme un
contour :
 Prewitt : filtre moyenneur +Dérivée
 Sobel : filtre gaussien + Dérivée.

57

BelmeguenaïAïssa Université 20 Août 1955


Détection de Contours et Segmentation Génie électrique 2017

Figure 3. 7: Détection de contour par le masque de Sobel

Figure 3. 8: Détection de contour par le masque de Sobel

 Le principal avantage de ces masques est leur facilite de mise en œuvre ainsi que la
rapidité de leur traitement.
 Leur inconvénient est leur grande sensibilité au bruit. De plus les contours obtenus sont
souvent assez larges,

58

BelmeguenaïAïssa Université 20 Août 1955


Détection de Contours et Segmentation Génie électrique 2017

3.3.1.4 Post-Traitements
De l’image des dérivées aux contours
Pour extraire les contours de l’image :
1. Suppression de non maxima dans la direction du gradient ;
2. Seuillage ;
3. Chaînage des contours.
3.3.1.4.1 Suppression directionnelle des non maxima locaux
 Extraction des maximas locaux dans la direction du gradient
o Opération sur un voisinage de l’image de la norme du gradient
o On compare le gradient d’un point P avec celui de ses deux voisins P1 et
P2 dans la direction perpendiculaire au contour
 Un point P est un maximum local si :

   

 f P   f  P1  et  f P   f P  .
2

Figure3. 9: Maximal local

On arrondit la direction du gradient au multiple de 45° le plus proche.


Le point P1 est le pixel voisin de P situé dans cette direction, et P2 est le pixel opposé par
rapport à P. Voire figure 3.9
3.3.1.4.2 Le seuillage
Le seuillage est le traitement permettant de sélectionner les contours les plus significatifs dans
l'image représentant le module du gradient. Une fois la norme du gradient G  i, j  calculée en

chaque point de l’image, il faut seuiller cette norme pour décider si un pixel fait partie ou non
d’un contour. Cette opération nécessite le réglage d'un paramètre : le seuil S.

59

BelmeguenaïAïssa Université 20 Août 1955


Détection de Contours et Segmentation Génie électrique 2017

 Si la valeur du module du gradient en un pixel de l'image dépasse le seuil fixe, la


valeur résultante du pixel est 1.Tous les pixels possédant une norme supérieure à un
seuil S sont déclarés appartenir à un contour.
 Dans le cas contraire, la valeur du pixel est fixée a 0 :
1 si G  i, j   S
G  i, j   
 0 sin on

Tout le problème réside alors dans le choix du seuil :


 Un seuillage trop bas nous amène à une sur- détection : on détectebeaucoup de bruit et
des contours épais apparaissent
 Un seuillage trop haut amène à une sous-détection : contours non fermés.
3.3.1.5 Méthodes de seuillage
 Les méthodes précédentes ont permis de déterminer le module du gradient d'une image
qui permet effectivement de mettre en évidence les contours présents.
 L’image obtenue s'exprime en niveaux de gris indiquant l'importance de chaque rupture
d'intensité.
 Une nouvelle étape est alors nécessaire de façon à aboutir à une information plus
tranchée.
 L'image fb  i, j  (l’image contour) résultant de ce traitement est en noir et blanc.

 Les pixels blancs (de valeur 1) attestent de la présence d'un contour, les pixels noirs (de
valeur 0) de l'absence du contour.
3.3.1.5.1 Le seuillage fixe
 Le seuillage fixe est le plus simple, on passe un seuil critère en paramètre de la
fonction, on parcourt notre image du gradient et si la norme est supérieure au seuil
critère alors c’est un contour, sinon on continue.
NB: Une fois le calcul du gradient termine, on doit normaliser les valeurs de celui-ci pour

qu’il soit compris entre 0 et 255 G  255


 f  min  f   .
max  f   min  f 

60

BelmeguenaïAïssa Université 20 Août 1955


Détection de Contours et Segmentation Génie électrique 2017

Figure 3. 10: exemple de seuillage fixe

3.3.1.5.2 Le seuillage global


 Le seuillage global fait appel à la fonction de seuillage fixe mais en fixant le seuil en
calculant la moyenne globale de la norme de l’image gradient,
 On additionne toutes les normes pour diviser le tout par le nombre de pixels de l’image
originale,
 Ce seuillage s'avère plutôt décevant, la moyenne est souvent trop faible pour obtenir des
contours corrects.

Figure 3. 11: Seuillage global

3.1.3.1.5.3 Seuillage global par histogramme


 La valeur du seuil S est alors déterminée en tenant compte de l'histogramme de l'image,
 L'idée est de sélectionner un pourcentage des contours les plus significatifs,

61

BelmeguenaïAïssa Université 20 Août 1955


Détection de Contours et Segmentation Génie électrique 2017

Exemple :
 On peut désirer garder 20 % des contours les plus forts. Dans ce cas, en détermine
l'histogramme cumule du module du gradient,
 Le choix d'un pourcentage de pixels et donc des contours les plus significatifs conduit
à la valeur du seuil S à utiliser dans la binarisation de l'image.

Figure 3. 12: Exemple de seuillage global par histogramme

3.3.1.5.4 Le seuillage local


 Le seuillage local calcul aussi une moyenne mais une moyenne locale au pixel visite.
 On passe en paramètre un voisinage qui sert à déterminer quels points on doit utiliser
pour calculer cette moyenne.
Exemple: Avec un voisinage de 1 on calcule la moyenne avec les 8 points qui entourent le
point courant.

Figure 3. 13: Seuillage local voisinage de 1.

62

BelmeguenaïAïssa Université 20 Août 1955


Détection de Contours et Segmentation Génie électrique 2017

3.3.1.5.5 Seuillage avec hystérésis


 Il s’agit de diminuer l’importance du seuil lors du seuillage du gradient
 Avant, il y avait un seuil unique qui amenait soit à des fausses alarmes, soit à des
lacunes. Il était très difficile, voire impossible, de trouver un seuil adapté à toute l’image.
 On introduit maintenant 2 seuils : un seuil haut et un seuil bas.
 Si norme > seuil haut  contour sur 1
 Si norme < seuil bas  pas de contour 0
 Si seuil bas < norme < seuil haut  contour de fermeture 2
Les contours hypothétiques de fermeture sont transformés en contours sûrs s’ils sont adjacents
à un contour déjà codé à 1.
3.3.1.5.6 Chaînage des contours
 Nécessaire pour beaucoup d’applications, avoir un ensemble de composantes connexes
 Pour extraire droites, cercles, formes géométriques être présentations plus complexes.
 Fermeture des contours par extrapolation
 Suppression des contours non fermés
 Suppression des branches pendantes des contours fermés.

Figure 3. 14: Exemple de post-traitements sur les contours.

63

BelmeguenaïAïssa Université 20 Août 1955


Détection de Contours et Segmentation Génie électrique 2017

3.3.2 Approximations du Laplacien


Une autre approche pour trouver les contours de l'image est d'utiliser la seconde dérivée de
l'image. Pour cela, on utilise le Laplacien comme operateur.
 Aux points contours, la dérivée seconde est nulle.
 Plus précisément, les points contours sont caractérisés par un passage par zéro (ang.
«zero crossing ») de la dérivée seconde.

Figure 3. 15: Laplacien d’une image

3.3.2.1 L’opérateur Laplacien


L’opérateur Laplacien, défini par :

2 f 2 f
f  
x 2 y 2

Remarque : le Laplacien est un opérateur scalaire et isotrope.

3.3.2.2 Utilisation du Laplacien pour la détection des points contours

 Les passages par zéro de la dérivée seconde directionnelle f '' coïncident généralement
avec ceux du Laplacien f  0 .

 En particulier: P  x0 , y0  est point contour si

 2 f  x0 , y0   2 f  x0 , y0 
f  x0 , y0    0
x 2 y 2

64

BelmeguenaïAïssa Université 20 Août 1955


Détection de Contours et Segmentation Génie électrique 2017

 Un passage par zéro du Laplacien correspond donc à une dérivée seconde directionnelle
nulle dans la direction du gradient.
3.3.2.3 Dérivées secondes discrètes
 2 f  x, y   2 f  x, y 
f  x, y   
x 2 y 2
 
  f  x  1, y   f  x, y     f  x, y  1  f  x, y  
x y

 f  x  1, y   f  x, y     f  x  1, y   f  x, y     f  x, y   f  x  1, y  
x
 f  x  1, y   2 f  x, y   f  x  1, y 
Masque associé à la dérivée seconde selon x :

1 2 1

De même

 f  x, y  1  f  x, y     f  x, y  1  f  x, y     f  x, y   f  x, y  1 
y
 f  x, y  1  2 f  x, y   f  x, y  1

Masque associé à la dérivée seconde selon y:

1
 2 
 
 1 

D'où l'approximation discrète du Laplacien ...

f  x, y   f  x  1, y   f  x  1, y   4 f  x, y   f  x, y  1  f  x, y  1 .

Qui se calcule donc grâce au masque de convolution :


0 1 0 
1  4 1 .
 
0 1 0

Autres approximations possibles du Laplacien :


1 1 1 1 2 1  1 4 1 
1 8 1 ,  2 12 2  ,  4 20 4  .
     
1 1 1 1 2 1  1 4 1 

65

BelmeguenaïAïssa Université 20 Août 1955


Détection de Contours et Segmentation Génie électrique 2017

3.3.2.4 Du Laplacien aux images des dérivées


 Détection des passages par zéro du laplacien
 En pratique :
 Prendre une fenêtre centrée 3  3 sur le pixel  i, j  , et calculer max  f L  et

min  f L  dans ce voisinage.

 Le passage par 0 sera détecté si max  f L   0 , min  f L   0 et

max  f L   min  f L   S .

Exemples d’images

Image originale Laplacien

Figure 3. 16: Exemple d’application de le Laplacien

Source Seuil bas Seuil moyen Seuil haut

Figure 3. 17: Exemple d’application de le Laplacien avec seuillage

 Passage par zéro du Laplacien : seuiller l’amplitude des variations.

66

BelmeguenaïAïssa Université 20 Août 1955


Détection de Contours et Segmentation Génie électrique 2017

3.3.2.5 Réduction de la sensibilité au bruit


 Du fait du double dérivation, le Laplacien est très sensible au bruit.
 On préfère utiliser le Laplacien à partir de dérivées de gaussiennes :
 Avant d'utiliser le Laplacien pour détecter les points contours.
 Possibilité de réaliser ces deux opérations en une seule :

1  x2  y 2 
g  x, y   exp   .
2 2  2 2 

  g  f     g   f  LoG  f

Expression du l’opérateur LoG

 g  x, y  x  x2  y 2 
 exp   
x 2 4  2 2 

 2 g  x, y  1  x2   x2  y2 
   1   exp  
 x2 2 4   2   2 2 

D’où

1 x2  y 2   x2  y2 
LoG  x, y   g  x, y     1   exp  .
2 4  2   2 2 

3.3.2.5.6 Approximation de LoG par différence de gaussiennes (DoG)


Le filtre LoG peut être approché par la différence de deux gaussiennes d'écarts-types proches :

LoG  x, y   DoG  x, y,  1 ,  2   g  x, y,  1   g  x, y,  2 

Avec
1   2   .

Localiser les contours aux passages par 0 de LoG  f .


Algorithme
 Convolution de l'image avec LoG (approché par un masque de taille n x n).
 Autre possibilité : utiliser DoG  x, y,  1 , 2  (avantage : filtres gaussiens séparables).

 Détection des passages par 0 de l'image résultante.


67

BelmeguenaïAïssa Université 20 Août 1955


Détection de Contours et Segmentation Génie électrique 2017

 (Éventuellement :) Seuillage des passages par 0.


 Avantage : prise en compte des seuls passages par 0 significatifs.
 Inconvénient : on perd la propriété de fermeture présentée par les lignes de passages par
0 du Laplacien.
Limites :
Pour  élevé, localisation médiocre et points d'intérêt saillants « perdus ».

3.4 Comparaison Gradient / Laplacien


Gradient
 Calcul des dérivées partielles (lissées)
 Calcul de la norme et de la direction du gradient
 Suppression des non-maximas locaux de la norme du gradient dans sa direction
 Seuillage par hystérésis des maximas locaux de la norme du gradient.
Avantages
 Fournit l'orientation du contour
 Bonne localisation malgré le lissage
 La suppression des non-maximas locaux fournit des contours fins
Inconvénients
 Assez sensible au bruit
 Nécessite un lissage
 Le seuillage fournit des contours non fermés.
Laplacien
 Lissage de l'image en utilisant LoG ou DoG
 Calcul du Laplacien
 Détection des passages par 0 du Laplacien
 Seuillage des passages par 0 du Laplacien.
Avantages
Proche du système visuel humain
La détection des passages par 0 fournit des réseaux de lignes fermées
Inconvénients
 Grande sensibilité au bruit
 nécessite un lissage fort
 affecte la localisation

68

BelmeguenaïAïssa Université 20 Août 1955


Détection de Contours et Segmentation Génie électrique 2017

 Pas d'info sur l'orientation du contour


 Le seuillage des passages par 0 crée des lacunes (« ouvertures ») dans les contours.
3.5 Conclusion
 Pas d'opérateur parfait pour détecter les contours
 On obtient en pratique des contours incomplets (ouverts)
 Détection incorrecte : pixels superflus, pixels manquants
 Localisation incorrecte : erreurs dans la position des points contours,
l'orientation
 La détection des points contours n'est que la première étape dans la chaîne de
segmentation.

69

BelmeguenaïAïssa Université 20 Août 1955

Vous aimerez peut-être aussi