Vous êtes sur la page 1sur 26

ECOLE SUPERIEURE MULTINATIONALE DES TELECOMMUNICATIONS

MASTER 2 RESEAUX ET MULTIMEDIA

Cours de Traitement d’image

Chap. 4 : Détection de contours

Dr Seynabou TOURE LY
Qu’est-ce qu’un contour ?
De façon générale, un contour est défini comme étant la frontière
entre deux régions, deux objets, deux textures, etc.

Les contours dans une image correspondent à un changement


brutal de l’intensité lumineuse et proviennent des :
- discontinuités de la fonction de réflectance (texture, ombre),
- discontinuités de profondeur (bords de l’objet),
La détection de contours repose 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é et les passages par zéro du Laplacien.

Approche gradient : détermination des extrema locaux dans la


direction du gradient.
Approche Laplacien : détermination des passages par zéro du
laplacien.
Les techniques de détection de contours peuvent être regroupées en
trois grandes familles:

- Les méthodes classiques basées sur la dérivation, aussi appelées


méthodes dérivatives:
Ø Approche gradient (masque de roberts, de Prewit, de Sobel,
et de Kirsch )
Ø Approche Laplacien
- Les méthodes analytiques basées sur le filtrage optimal ( filtre de
Canny, de Deriche et celui de Shen et Castan)

- Les méthodes de contours actifs introduits par Kass et al. en 1988


Approche gradient

La méthode la plus courante consiste à calculer les composantes du


gradient selon les deux directions x et y
#$ #$
!= ,
#% #'

() + () +
L’amplitude du gradient est alors : ! = +
(* (-

45
46
Sa direction est donnée par : . = arctan 45
47
Dans le cas discret, les dérivées directionnelles suivant les directions
horizontale et verticale au point [i, j] sont approchées par de simples
différences finies :
¶f Df
= = f i (i, j ) = f (i + 1, j ) - f (i, j )
¶y Di

¶f Df
= = f j (i, j ) = f (i, j + 1) - f (i, j )
¶x Dj
Cela revient à convoluer l’image par les masques suivants
é0 0 0 ù é0 0 0 ù
Gx = êê0 1 - 1úú G y = êê0 1 0úú
êë0 0 0 úû êë0 - 1 0úû

La norme du gradient est alors donnée par :

2 2
Ñf (i, j ) = f j (i, j ) + f i (i, j )
ou encore par :

{
Ñf (i, j ) = max f j (i, j ) , f i (i, j ) }
Le principe des méthodes dérivatives est illustré sur un signal continu
monodimensionnel présentant une transition avec un saut d’amplitude en
x0 représentant un contour

Profile radiométrique le long d’une


image
ligne passant par un contour

x0

gradient Détection du contour par passage


par un maximum du filtre gradient
Image gradient Profil de l’image gradient le long du tracé
bleu

Notons que l’ opérateur gradient est particulièrement sensible au bruit


et aux détails de l’image.
Procédure d’extraction des contours à partir du gradient

Image

Image gradient

Binarisation de l’image gradient


Détermination de filtres linéaires permettant d’approximer le gradient
ou le Laplacien:
Canny a défini trois critères pour obtenir un filtre optimal pour la
détection de contours :
§ Bonne détection : détecter un maximum de contours.
§ Bonne localisation : les points détectés doivent être les plus proches
possibles du vrai contour.
§ Réponse unique : minimiser le nombre de contours détectés plusieurs
fois.
Ces critères se traduisent par des conditions sur la réponse
impulsionnelle du filtre et débouchent sur des détecteurs de contours
très performants.
L’approximation du gradient par l’opérateur de Robert
L’opérateur de Robert agit sur un voisinage de quatre points. Il est
caractérisé par :
[d f / d x] = [( f i -1, j - f i , j )]
[d f / d y ] = [( f i , j -1 - f i , j )]

Ce qui revient à convoluer l’image f avec les masques suivants :


é 0 0 0ù é0 - 1 0 ù
R j = êê- 1 1 0úú Ri = êê0 1 0úú
êë 0 0 0úû êë0 0 0úû

Ou bien
é 0 0 0ù
é0 - 1 0 ù
R j = êê- 1 0 1úú
Ri = êê0 0 0úú
êë 0 0 0úû
êë0 1 0úû
Soient fj = f * Rj et fi= f * Ri les images obtenues par convolution de
l’image originale f avec les deux masques Rj et Ri .

Il est possible de calculer la norme et l’orientation du gradient :

2 2
Ñf (i, j ) = f j (i, j ) + f i (i, j ) p
f= - arctg ( fi
fj )
2
Image Binarisation de l’image gradient de
Robert
Approximation du gradient par l’opérateur de Prewitt

L’opérateur de Prewitt agit sur un voisinage de huit points. Il est


caractérisé par :
[df /dx]=[(fi+1, j +1+f i+1, j+fi+1, j -1)-(fi-1, j +1+ fi-1, j + fi-1, j -1)]

[df /dy]=[(fi+1, j+1+f i, j+1+fi-1, j+1)-(fi-1, j-1+ fi, j-1+ fi+1, j-1)]

Ce qui revient à convoluer l’image par les masques suivants :


é1 0 - 1ù é1 1 1ù
Pj = êê1 0 - 1úú Pi = êê 0 0 0 úú
êë1 0 - 1úû êë- 1 - 1 - 1úû
Soient fj = f * Pj et fi= f * Pi les images obtenues par convolution de
l’image originale f avec les deux masques Pj et Pi Il est possible de
calculer la norme et l’orientation du gradient :

p
2 2
Ñf (i, j ) = f j (i, j ) + f i (i, j ) f= - arctg ( fi
fj )
2
On peut aussi apprécier les composantes du gradient selon les 8
directions, en prenant tous les masques obtenus par permutation
circulaire, par exemple :
é 0 1 1ù é1 1 0 ù
PD1 =ê-10 1ú PD2 =ê1 0 -1ú
ë-1-10û ë0-1-1û

Image binaire résultat de l’application du filtre de Prewitt sur le canal


Image XS1
Approximation du gradient par l’opérateur de Sobel

L’opérateur de Sobel agit sur un voisinage de huit points. Il est


caractérisé par :

[df /dx]=[(fi+1, j +1+2f i+1, j+fi+1, j -1)-(fi-1, j +1+2fi-1, j + fi-1, j -1)]


[df /dy]=[(fi+1, j +1+2f i, j +1+fi-1, j +1)-(fi-1, j -1+2fi, j -1+ fi+1, j -1)]

Ce qui revient à convoluer l’image f par les filtres suivants :


é - 1 0 1ù é1 2 1ù
S j = êê- 2 0 2úú Si = êê 0 0 0 úú
êë - 1 0 1 úû êë- 1 - 2 - 1úû
Soient fj = f * Sj et fi= f * Si les images obtenues par convolution de
l’image originale f avec les deux masques Sj et Si Il est possible de
calculer la norme et l’orientation du gradient :

2 2
Ñf (i, j ) = f j (i, j ) + f i (i, j ) p
f= - arctg ( f i f j )
2
Image SPOT XS1 de la ville de
Rabat

Image résultat de la binarisation des


maximas locaux du filtre Sobel
Les contours actifs

Un contour actif paramétrique est une courbe en deux dimensions qui évolue par minimisation
d’énergie pour épouser progressivement les contours des objets en fonction de paramètres
préétablis.
Le contour évolue sous l’effet d’une énergie interne et une énergie externe.
Modèle des contours actifs « Snake » : courbe déformable par itérations successives
convergeant vers le contour réel (Kass, 1988)
- Adaptation à la topologie des objets difficiles
- Résultats fortement dépendants de l’initialisation

- Level-set: Distance Regularized Levels Set Evolution (DRLSE)=> changements de


topologies (fusion, séparation, etc..) sont gérés automatiquement.

Vous aimerez peut-être aussi