Vous êtes sur la page 1sur 43

Détection de contours

JEAN-HUGH THOMAS
Table des matières

Table des matières 3


I - Cours 5
A. Utilisation de l'opérateur Gradient......................................................................................................................................... 6
1. Principes..........................................................................................................................................................................6
2. Quelques opérateurs gradient............................................................................................................................................7
B. Méthodes de seuillage.............................................................................................................................................................20
1. Seuillage global...............................................................................................................................................................21
2. Seuillage global par histogramme....................................................................................................................................21
3. Amincissement...............................................................................................................................................................21
4. Seuillage local par hystérésis...........................................................................................................................................23
5. Seuillage local par extraction des maxima du gradient dans une direction.......................................................................23
C. Utilisation du calcul du Laplacien........................................................................................................................................ 25
1. L'opérateur Laplacien....................................................................................................................................................26
2. Remède contre la sensibilité au bruit...............................................................................................................................33
3. Le filtre de Marr ou Laplacien de Gaussienne ou chapeau mexicain..............................................................................33
II - Etude de cas 45
A. Association opérateur gradient-type de seuillage...............................................................................................................45
1. Récapitulatif : quelques modules de gradient...................................................................................................................45
2. Seuillage par histogramme du module du gradient...........................................................................................................46
3. Amincissement de contours.............................................................................................................................................46
4. Seuillage par hystérésis...................................................................................................................................................46
5. Seuillage des non maxima du gradient............................................................................................................................46
6. Détection de contours par l'association filtrage de Canny-seuillage des maxima locaux....................................................47
B. Association opérateur Laplacien-seuillage.......................................................................................................................... 47
1. Seuillage des passages par zéro du Laplacien..................................................................................................................47
2. Calcul du Laplacien par chapeau mexicain....................................................................................................................47
C. Comparaison de contours..................................................................................................................................................... 47
1. Une association réussie...................................................................................................................................................47
III - Exercices 49
A. Critère de Canny de bonne décision.................................................................................................................................... 49
B. Critère de Canny de bonne localisation............................................................................................................................... 50
C. Critère de Canny d'unicité de la réponse.............................................................................................................................51
D. Filtre différence de Gaussiennes.......................................................................................................................................... 52
Solution des exercices de TD 55

3
Bibliographie 63

4
Cours
I
I-

Utilisation de l'opérateur Gradient 6


Méthodes de seuillage 20
Utilisation du calcul du Laplacien 25

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.
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. 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 : 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 (voir figure ci-après). La seconde étape va permettre d'isoler les contours du reste de
l'image à partir d'un seuillage judicieux. Plusieurs méthodes permettent de déterminer le Gradient ou le
Laplacien d'une image. Il en est de même des techniques de seuillage. 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. Le rôle de l'ingénieur est souvent de choisir les opérateurs les mieux à même
de satisfaire les exigences associées à l'image à traiter.

5
Cours

Principe de la détection de contour par gradient ou laplacien


L'objectif du cours est justement de permettre au lecteur de connaître plusieurs méthodes et de
savoir agir sur les paramètres de ces méthodes. Dans ce but, la première partie décrit des techniques de
calcul du Gradient (détecteurs par masques de Roberts, Prewitt, Sobel, Gradient boussole, filtrage de Canny).
La seconde partie focalise sur les types de seuillage pouvant être appliqués sur le module du gradient de
l'image. La troisième partie aborde les calculs de Laplacien (filtre laplacien, filtre « chapeau mexicain », filtre
différence de gaussiennes).

A. Utilisation de l'opérateur Gradient

1. Principes

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 (ou plutôt de la luminance f ) en tout point ou pixel de coordonnées (x,y)
est désigné par :


∂f
 f= ∂x
 f =∇
Grad
∂f
∂y
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 :

6
Cours


2 2
 f ∥=  ∂f ∂f
∥∇   
∂x ∂y
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 /∂ y
0=arctan  
∂ f /∂ x
Le principe de la détection de contours par l'utilisation du gradient consiste à calculer d'abord 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,
les directions des contours étant orthogonales à la direction α 0 déterminée en tout pixel de l'image (voir ci-
dessous).

Synoptique d'une détection de contours par gradient. Les contours sont finalement représentés par des pixels blancs sur fond noir.

2. Quelques opérateurs gradient

a) Introduction

Ces opérateurs sont à considérer comme des filtres qui vont être corrélés à l'image. Les réponses
impulsionnelles de ces filtres peuvent se présenter sous la forme de fonctions analytiques souvent d'une seule
variable ou bien sous la forme de masques bi-dimensionnels. Dans les deux cas le filtrage a lieu en deux
étapes : un filtrage suivant les lignes de l'image puis suivant les colonnes dans le cas d'une expression
monodimensionnelle de la réponse impulsionnelle du filtre, une corrélation bi-dimensionnelle de l'image avec
deux masques modélisant deux contours dans des directions orthogonales dans l'autre cas.

b) Opérateurs de gradient par masques


i Introduction

Pour chaque opérateur, deux masques sont utilisés de façon à déterminer le gradient de l'image dans deux
directions orthogonales.

7
Cours

ii Approximation de base

Le masque le plus intuitif à mettre en œuvre est un masque à deux éléments :

L'origine du masque est le point -1.


Dans le repère ci-dessus, la réponse impulsionnelle h(m,n) du masque est définie par :
h(0,0) = -1
h(1,0) = 1
La corrélation de ce masque avec une image de luminance f(i,j) s'écrit :
1

∑∑ hm , n f  mi , n j=h 0,0 f i , jh1,0 f i1, j= f i1, j− f i , j


m=0 n=0

Il s'agit bien d'un calcul de gradient suivant l'axe horizontal. En faisant subir une rotation de /2 au premier
masque, il apparaît le filtre suivant dont l'origine est le point 1 :

1
-1

La réponse impulsionnelle est telle que :


h(0,0) = 1
h(0,-1) = -1
La corrélation de ce masque avec l'image f(i,j) permet bien d'implanter un gradient dans la direction verticale :
0

∑ ∑ h m , n f mi , n j=h 0,0 f i , jh 0,−1 f i , j−1= f i , j− f i , j−1


m=0 n=−1

La figure suivante propose une illustration de l'application de ces masques.

8
Cours

Exemple d'application de l'approximation de base


iii Opérateur de Roberts

Ce masque proposé en 1965 permet de calculer un gradient le long des diagonales de l'image :

0 1
-1 0

L'origine est le point 1 tandis que la réponse impulsionnelle s'écrit :


h(0,0) = 1
h(-1,-1) = -1
La sortie obtenue après filtrage est :
0 0

∑ ∑ h m , n f mi , n j=h0,0 f i , j h−1,−1 f i−1, j−1= f i , j − f i−1, j−1


m=−1 n=−1

Le deuxième masque se déduit du premier par rotation de /2 :

1 0
0 -1

L'origine est le point du haut à droite si bien que la réponse impulsionnelle est telle que :
h(-1,0) = 1
h(0,-1) = -1
La sortie obtenue après filtrage est :
2
∇ f = f  x 1, y  f  x−1, y  f  x , y1 f  x , y−1−4 f  x , y
La figure suivante propose une illustration de l'application de ces masques.

9
Cours

Exemple d'application de l'opérateur de Roberts


Le majeur inconvénient de ces masques réside dans leur forte sensibilité au bruit du fait de l'implantation de la
dérivation qui se traduit par un filtrage passe-haut. D'autres masques ont ainsi été proposés afin de rendre le
filtrage moins sensible au bruit.
iv Opérateurs de Prewitt et Sobel

Le calcul de gradient est mené par l'intermédiaire de deux masques, le premier effectuant un gradient
horizontal, le second un gradient vertical. Là encore, le deuxième masque se déduit du premier par une
rotation de /2 . Les masques sont donnés ci-dessous pour les contours horizontaux puis verticaux.

1 c 1 -1 0 1
0 0 0 -c 0 c
-1 -c -1 -1 0 1

Chaque pixel des masques est normalisé par

1
c2
Lorsque c=1, il s'agit des opérateurs de Prewitt, lorsque c=2, de ceux de Sobel. Par rapport aux précedents,
ces masques ont l'avantage de produire deux effets. Outre le calcul du gradient dans une direction, ces
masques effectuent un lissage dans la direction orthogonale. Ce lissage rend ces masques un peu moins
sensibles au bruit que les précédents.
L'origine de ces masques est toujours le pixel central. La réponse impulsionnelle h(m,n) des filtres de Prewitt
et Sobel pour la mise en évidence des contours horizontaux est telle que :
h(-1,1) = h(1,1) = 1
h(-1,-1) = h(1,-1) = -1
h(0,1) = c
h(0,-1) = -c
La sortie obtenue après filtrage est :

10
Cours
1 1
1
∑ ∑ h m , n f mi , n j=
c2
 h−1,1 f i−1, j1h0,1 f i , j1
m=−1 n=−1
1
  h 1,1 f i1, j1h −1,−1 f i−1, j−1
c2
1
  h−1,0 f i−1, jh −1,1 f i−1, j1 
c2

1 1
1
∑ ∑ h m , n f mi , n j=
c2
 f i−1, j1c f i , j1 f i1, j1
m=−1 n=−1
1
−  f i−1, j−1c f i−1, j f i−1, j1
c2
L'équation laisse apparaître la double action avec un moyennage horizontal sur trois pixels sur les lignes au
dessus et au dessous du pixel central et un calcul de gradient vertical entre les deux lignes.
Pour la mise en évidence des contours verticaux, c'est l'autre masque qui est utilisé. La sortie obtenue après
filtrage peut se mettre sous la forme :
1 1
1
∑ ∑ h m , n f mi , n j=
c2
 f i1, j1− f i−1, j1 
m=−1 n=−1
1
  c f i1, j−c f i−1, j 
c2
1
  f i1, j−1− f i−1, j−1 
c2
Cette écriture permet elle aussi de mettre en évidence la double action : un gradient horizontal est en effet
calculé sur trois lignes puis un lissage vertical est opéré.
Les deux écritures employées montrent bien que les deux actions, lissage et dérivation, du filtrage de Prewitt
ou de Sobel sont séparables.
La figure suivante propose une illustration de l'application des masques de Sobel.

Exemple d'application de l'opérateur de Sobel


Il existe bien sûr beaucoup d'autres masques utilisés pour déterminer le gradient d'une image (Frei-Chen, ...).

11
Cours

Le lecteur intéressé pourra consulter l'ouvrage [3] [1] qui entreprend des études comparatives de plusieurs
masques à partir d'images de test.
Le principal intérêt de ces masques est leur facilité 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.
D'après l'ouvrage [2] [2] [2] , le filtre de Sobel est le plus utilisé dans les applications industrielles nécessitant
des contraintes temps-réel.
v Opérateur gradient boussole

Les opérateurs dits boussole mesurent le gradient dans des directions 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 (voir figure ci-après). Le résultat du filtrage de l'image f(i,j)
avec le kième masque est gk(i,j).
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. 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.
critère 1 :

Max∣g k i , j ∣
k

critère 2 :

Min∣r k i , j∣
k

avec

r i , j=
 ∑f
i,j
2
i , j ∑ mk i , j 
i, j
2

k
∑ f i , j  mk i , j
i,j

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. 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.

1 1 1 1
  -1 0 1   5 5 5   1 1 1   1 2 1
5 -c 0 15 3 4
c -3 0 -3 0 0 0 0 0 0
-1 0 1 -3 -3 -3 -1 -1 -1 -1 -2 -1
Prewitt Kirsch Robinson Robinson
(niveau 3) (niveau 3) (niveau 5)

12
Cours

Exemple d'opérateurs Gradient boussole avec le masque de Robinson de niveau 3

c) Filtrage de Canny
i Principe

Les approches précédentes par masques étaient basées sur une modélisation assez simple d'un contour idéal.
Pour le calcul du filtre de Canny, une approche analytique plus élaborée est employée. Il s'agit d'une technique
de filtrage optimal. Canny a en effet cherché à déterminer de façon analytique en 1986 un filtre à partir de
trois critères :
 un critère de bonne détection garantissant une réponse forte en sortie du filtre même en présence de
faibles contours sur l'image d'entrée,
 un critère de bonne localisation du contour,
 un critère d'unicité de la réponse permettant d'assurer une seule détection pour un contour et ainsi
d'éviter les effets de rebond.
Canny définit ces trois critères de façon mathématique. L'optimisation des trois critères proposés permet de
définir le filtre linéaire optimal pour la détection d'une marche d'escalier sous l'hypothèse d'un bruit additif
indépendant du signal. Il s'agit de trouver la réponse impulsionnelle h(x) du filtre optimal qui permet
d'obtenir une valeur maximum en sortie lorsqu'un contour est présenté en entrée. Canny souhaite un filtre à
réponse impulsionnelle finie.
Le modèle de contour utilisé est une marche d'escalier :

e  x = A Y  x n  x
où A représente l'amplitude du saut d'intensité, n(x) un bruit blanc additif indépendant de l'arête et Y(x) la
fonction d'heaviside définie telle que :

{
Y  x= 1 si x0
0 sinon
La définition de l'arête est telle que le saut d'intensité se situe en x=0. Les hypothèses concernant le bruit
additif sont :

{ E [n  x ]=0
E [n  x  n y ]= 20  x− y
où E[.] désigne l'espérance mathématique.
La moyenne des échantillons est nulle et les échantillons sont décorrélés. La sortie g(x) s'écrit comme la
convolution de l'entrée e(x) par la réponse impulsionnelle du filtre recherché h(x) :
∞
g  x=e  x∗h x= ∫ h  y e  x− y dy
−∞

13
Cours

∞ ∞
g  x= ∫ A h  y Y  x − y dy ∫ h  y n x− y dy
−∞ −∞

or

{
Y  x− y = 1si y x
0 sinon
d'où
x ∞
g  x=∫−∞ A h y  dy∫−∞ h y n  x− y  dy

Le premier terme correspond au signal utile, le second au bruit. Du premier terme, on déduit :
g '  x ≈h x 
Le filtre est donc un dérivateur.
Or pour mettre en évidence le contour, la sortie g(x) doit être maximale à l'endroit du contour, c'est-à-dire en
x=0. Cette sortie sera donc paire et on en déduit que la réponse impulsionnelle h(x) du filtre optimal est
impaire.
ii Critère de bonne décision

Principe de critère de bonne décision.


Le premier critère choisi par Canny est celui de bonne décision qui consiste à maximiser le rapport signal à
bruit (RSB) en sortie du filtre même en cas de contour faible. Il est défini à l'endroit du contour en x=0
comme le rapport du maximum de la réponse due au signal sur la valeur efficace du bruit :

amplitude du signal
RSB x=0=
 variance du bruit
Canny obtient le critère suivant à maximiser (cf exercice « Critère de bonne décision ») :

A
 h
0

14
Cours
avec
0
∫−∞ h y dy
 h= ∞
∫−∞ h2  y dy
iii Critère de bonne localisation

Principe du critère de bonne localisation


En présence d'un contour noyé dans du bruit, il est probable que la sortie du filtre soit maximum en x=x 0 et
non pas en x=0. Soit X0 la variable aléatoire correspondant à la distance entre le maximum de la réponse g(x)
et la position réelle de la transition (x=0). Le second critère à maximiser proposé par Canny est l'inverse de
l'écart-type de la variable aléatoire X0 :

1
E[X 2
0 ]
Canny cherche donc bien à minimiser la variance de l'écart entre la position du maximum en sortie de filtrage
et la position réelle du contour. Le critère s'écrit finalement (cf exercice «Critère de bonne localisation»)

A
h
0
avec

∣h ' 0∣
 h=
∫ ∞
−∞
h ' 2  y dy

iv Critère d'unicité de la réponse

Canny cherche à obtenir une faible multiplicité des maxima dus au bruit en décidant de maximiser la distance
entre deux maxima de la sortie.

15
Cours

Principe du critère d'unicité de la réponse


La distance à maximiser est donnée par x sur la sortie g(x), ce qui équivaut à 2 xmoy sur la sortie g'(x).
Le troisième critère s'écrit :
1/ 2

 
∞
∫−∞ h ' 2  y dy
x=2  ∞
∫−∞ h ' ' 2  y  dy
L'exercice «Critère d'unicité de la réponse » permet d'obtenir le critère à partir de l'illustration.
v Obtention de la réponse impulsionnelle optimale

Complément
Le filtre est obtenu par optimisation des trois critères précédents : le premier Σ consiste à maximiser le
rapport signal sur bruit et à garantir une réponse forte en sortie du filtre même en cas de contours faibles, le
second Λ assure que les contours détectés par l'opérateur sont bien localisés sur les vrais contours, le
troisième x vise à l'obtention d'une réponse unique pour un contour en évitant de multiples détections. Canny
impose à la réponse impulsionnelle recherchée h(x) d'être à support borné sur l'intervalle [-w, w].
Le problème d'optimisation consiste à majorer le produit   sous la contrainte x=kw avec :

0
∫−w h  y dy ∣h ' 0∣
= w
∫−w h2  y dy ∫−w h ' 2  y dy
w

et
1/ 2

 
w
∫−w h '  y dy
2

x=2  w
=k w
∫−w h' ' 2  y  dy
En considérant que h(x) est une fonction impaire :
w 0
∫−w h2  y dy =2∫−w h 2  y dy
0
le problème d'optimisation devient un problème de minimisation de ∫−w h2  y dy sous les différentes
contraintes :

16
Cours

0
c 1=∫−w h  y dy

0
c 2=∫−w h '  y dy
2

c 3=h' 0

0
c 4=∫−w h ' '  y dy
2

Il s'agit alors de minimiser la fonctionnelle suivante :


0
∫−w [ h 2  y 1 h  y 2 h ' 2  y 3 h ' ' 2  y ] dy

 h ,h ' , h ' ' 

où 1 , 2 ,3 sont des multiplicateurs de Lagrange (réels).


En utilisant l'équation d'Euler :
2
∂ d ∂ d ∂
−  =0
∂h dy ∂ h ' dy 2 ∂ h ' '
il vient :

∂
=2 h1
∂h

∂
=2 2 h'
∂h '

∂
=2 3 h ' '
∂h ' '
L'équation différentielle résultante à résoudre est :
2h1 −2 2 h ' ' 2 3 h 4=0
La solution de cette équation s'écrit pour x ∈[−w , 0] :

h  x =e x  a1 sin  xa 2 cos  x e− x  a 3 sin  xa 4 cos  x C


L'extension de la réponse impulsionnelle sur l'intervalle [-w, w] se déduit aisément du fait du caractère impair
du filtre.
Le détecteur de contour obtenu par Canny conduit à un produit  =1,12 sous la contrainte maximal
x=kw . Les paramètres optimisés sont les suivants : α = 2,05, β = 2,92, ω =1,57, k = 0,58 , C=1 et x= 1,2. Les
coefficients a1, a2, a3 et a4 de la réponse impulsionnelle h(x) sont des fonctions assez complexes de α, β et ω
explicitées dans l'article [ [3] ] de Canny. A partir des paramètres donnés précédemment, on obtient les
coefficients suivants : a1=-0,15, a2 =-0,21, a3=1,24 et a4=-0,79.
Pour faciliter la mise en oeuvre du détecteur de contour, Canny suggère le cas échéant de remplacer la

17
Cours

réponse impulsionnelle optimale h(x) par celle de la dérivée d'une Gaussienne notée hG(x) :

x −x /2 
2 2

h G  x =− 2
e

En effet, la forme de la dérivée de Gaussienne s'approche assez bien de celle du filtre optimal pour une valeur
du critère  =0,92 avec k = 0.51 et une performance moindre de 20 %.

Comparaison des réponse impulsionnelles de Canny et de la dérivée de gaussienne sur 20 échantillons


vi Interprétation

La détection de contour par calcul du gradient est sensible au bruit. Une idée avancée permettant d'atténuer
ce problème consiste à filtrer passe-bas l'image avant d'appliquer l'opérateur Gradient. Mathématiquement
cela revient à convoluer l'image initiale inchangée f(x,y) avec la dérivée de la réponse impulsionnelle h(x,y) du
filtre passe-bas comme le montre l'écriture suivante dans le cas monodimensionnel :

∂ [ f  x , y ∗h  x , y  ]= ∂ f  x , y  ∗ h  x , y= f  x , y  ∗ ∂ h x , y
∂x ∂x ∂x
Il reste à déterminer le filtre passe-bas pour h(x,y). Dans le cas d'un filtre gaussien, l'application du gradient
consiste finalement à filtrer l'image initiale par une dérivée de Gaussienne hG(x) . C'est en fait à peu de chose
près l'approche du filtrage de Canny.
vii Étapes d'une détection de contours par filtrage de Canny

L'objectif est bien de calculer le module du gradient de l'image analysée. Souvent avant d'appliquer le filtre de
Canny, un filtrage préalable est opéré sur l'image au moyen d'un filtre gaussien. Les différentes étapes sont
énumérées ci-après :
 convolution de l'image initiale avec un filtre passe-bas gaussien bi-dimensionnel (ou convolution 1D
dans chacune des deux directions),
 convolution de l'image lissée avec le filtre de Canny ou la dérivée de gaussienne dans les directions
horizontale et verticale,
 calcul du module du gradient à partir des deux images représentant les gradients de l'image filtrée
passe-bas dans les directions horizontale et verticale.

18
Cours

Exemple d'application du filtrage de Canny

Obtention du module du gradient par filtrage de Canny

B. 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. A ce niveau, l'image obtenue s'exprime en niveaux
de gris indiquant ici l'importance de chaque rupture d'intensité. Une nouvelle étape est alors nécessaire de
façon à aboutir à une information plus tranchée : y-a-t-il présence de contours ou non ? L'image Ib(i,j)
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. Le traitement permettant de sélectionner les contours les
plus significatifs dans l'image représentant le module du gradient est le seuillage. Il s'agit de binariser l'image
IM(i,j) du module du gradient. 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 :

{
I b i , j =
1si I M i , jS
0 sinon

1. Seuillage global

La première solution pour fixer le seuil est de procéder par tâtonnement à partir de l'image en noir et blanc
résultante censée mettre en évidence les contours. Le seuil correspond à une valeur réelle dans l'intervalle
[0,1]. Au préalable, il est nécessaire de normaliser l'image du module du gradient afin que tous les pixels se

19
Cours

trouvent également dans l'intervalle [0, 1]. Cette méthode est très simple mais peu efficace.

2. Seuillage global par histogramme

La valeur du seuil S est alors déterminée en tenant compte de l'histogramme de l'image, c'est-à-dire de la
distribution des différentes valeurs des pixels de l'image du module du gradient. L'idée est de sélectionner un
pourcentage des contours les plus significatifs. Par exemple, on peut désirer garder 20 % des contours les plus
forts. Dans ce cas, en déterminant l'histogramme cumulé 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.

Exemple de seuillage par histogramme

Remarque
Une animation dans l'étude de cas permet de montrer l'influence du seuil choisi sur les contours représentés
dans l'image résultante.

3. Amincissement

L'objectif de cette technique est d'amincir les contours. La définition d'un contour n'est plus uniquement
subordonnée au dépassement d'un seuil mais dépend des voisins. Dans une zone où les valeurs de plusieurs
pixels (et donc des modules du gradient) sont supérieures au seuil, seul le maximum de ces pixels pour une
direction donnée du gradient est conservé.

20
Cours

Amincissement des contours horizontaux

Amincissement des contours verticaux

Exemples d'amincissement à partir de modules de gradient obtenus par filtrage de Sobel ou de Canny

Remarque
Les amincissements des modules de gradient peuvent être observés en fonction du seuil choisi dans une
animation de l'étude de cas.

21
Cours

4. Seuillage local par hystérésis

Dans cette technique de seuillage contrairement aux précédentes, le traitement n'est pas identique en tout
point de l'image. On s'intéresse ici aux pixels avoisinant les contours les plus significatifs de l'image. L'idée est
de garder les contours les plus forts de l'image mais en essayant d'assurer leur continuité. Deux seuils sont
nécessaires pour implanter la technique : un seuil haut Sh et un seuil bas Sb. Le seuil haut va servir à
sélectionner les contours les plus significatifs dans l'image du module du gradient. Ces contours sont
contenus dans l'image résultante en noir et blanc. Le seuil bas permet de mettre en évidence des contours
moins forts de l'image. Ces contours sont conservés dans l'image résultante seulement s'ils sont situés dans le
voisinage des contours les plus significatifs mis en évidence par le seuillage avec S h. Généralement le voisinage
est défini par les huit voisins.
Algorithme
 Extraction des pixels de niveau supérieur à Sh. Ce sont les pixels P1.
 Extraction des pixels de niveau compris entre Sb et Sh. Ce sont les pixels P2.
 Sélection pour représenter les contours des pixels P1 et des pixels P2, connexes aux pixels P1.
La difficulté de cette technique réside dans le choix des seuils Sb et Sh. Parfois il peut être pratique d'imposer
une relation entre les deux seuils afin de diminuer le nombre de degrés de liberté (par exemple Sb=0.4 Sh).

Exemple de résultat d'un seuillage par hystérésis

Remarque
Une animation dans l'étude de cas permet de mieux comprendre l'hystérésis : il y a ajout de contours par
rapport à l'image seuillée haut et suppression de contours en regard de l'image seuillée bas.

5. Seuillage local par extraction des maxima du gradient dans une direction

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 à une distance unitaire de part et d'autre de M. Les modules des gradients en M 1

22
Cours
et M2 ne sont pas connus a priori et sont interpolés à partir des gradients calculés en deux pixels de l'image
dans le voisinage de M1 et M2 . 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 une des techniques de seuillage présentées précédemment.

Seuillage local : extraction des maxima locaux

Seuillage local : identification des directions à partir des gradients horizontal et vertical

Exemple de visualisation des maxima locaux dans les quatre directions séparément puis simultanément

Complément
Afin d'obtenir l'image binaire exhibant les contours, il est nécessaire de seuiller l'image comportant les

23
Cours

maxima locaux dans les quatre directions privilégiées. En effet, seuls les maxima locaux les plus significatifs,
sélectionnés par seuillage, conduisent aux contours.

Exemple de seuillage par histogramme des maxima locaux

Remarque
Sur la base de cette illustration, une animation dans l'étude de cas permet de juger de la variabilité de l'image
résultante des contours en fonction de la valeur du seuil utilisé.

C. Utilisation du calcul du Laplacien

1. L'opérateur Laplacien

Les opérateurs de gradient vus précédemment exploitent le fait qu'un contour dans une image correspond au
maximum du gradient dans la direction orthogonale au contour. Or le passage par zéro de la dérivée seconde
d'une rupture d'intensité permet également de mettre en évidence le contour. La dérivée seconde est donc
déterminée par le calcul du Laplacien :
2 2
2 ∂ f ∂ f
∇ f = 2 2= ∂
∂x
∂f
∂ y ∂ x ∂x
 ∂
∂f
∂y ∂y    
qui peut s'écrire :

∇ 2 f =∇ x  f  x1, y − f  x , y  ∇ y  f  x , y1− f  x , y  
or on peut définir :

∇ x  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 − f  x , y = f  x1, y  f  x −1, y − 2 f  x , y


et :

24
Cours

∇ y  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− f  x , y  = f  x , y1 f  x , y−1− 2 f  x , y


Ainsi le Laplacien peut s'écrire :

∇ 2 f = f  x 1, y  f  x−1, y  f  x , y1 f  x , y−1−4 f  x , y


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 :

0 1 0
1 -4 1
0 1 0

D'autres masques peuvent être utilisés

0 -1 0 -1 -1 -1 1 -2 1
-1 4 -1 -1 -8 -1 -2 4 -2
0 -1 0 -1 -1 -1 1 -2 1

Après le filtrage de l'image au moyen d'un de ces filtres, il s'agit de détecter les passages par zéro en
conservant uniquement les passages les plus marqués. En effet, la technique est particulièrement sensible au
bruit en raison de la double dérivation. Il s'agit donc de ne pas considérer le bruit, qui peut très bien se
traduire par des oscillations autour de zéro, comme un contour. C'est le rôle du seuil S qui va être utilisé dans
cette approche pour ne prendre en compte que les passages par zéro d'amplitude relativement élevée
correspondant à des vrais contours de l'image.

Exemple d'obtention des contours par utilisation du Laplacien suivi d'un seuillage

Remarque
Une animation dans l'étude de cas permet de paramétrer le seuil après le calcul du Laplacien.

2. Remède contre la sensibilité au bruit

De même que lors de l'utilisation de l'opérateur gradient, l'idée consiste d'abord à filtrer passe-bas l'image
avant d'appliquer l'opérateur Laplacien. Mathématiquement cela revient à convoluer l'image initiale inchangée
f(x,y) avec la dérivée seconde de la réponse impulsionnelle h(x,y) du filtre passe-bas comme le montre

25
Cours

l'écriture suivante dans le cas monodimensionnel :

2 2 2
∂  f  x , y∗h x , y  = ∂ f  x , y ∗ h x , y = f  x , y ∗ ∂ h  x , y 
∂ x2 ∂ x2 ∂ x2

3. Le filtre de Marr ou Laplacien de Gaussienne ou chapeau mexicain

Le remède contre la sensibilité au bruit de la double dérivation est à la base des travaux de Marr qui ont
débouché sur l'utilisation d'un filtre gaussien en guise de filtre passe-bas pour h(x,y). Le choix de ce filtre a été
établi en raison du principe d'Heisenberg qui stipule que l'on ne peut pas améliorer en même temps la
résolution spatiale ∆x et la résolution fréquentielle ∆f :

1
x  f 
4
Dans le cas d'une détection d'un contour, celui-ci étant localisé spatialement et en fréquence, il est clair que
les intervalles ∆x et ∆f doivent être petits. Détecter une rupture d'intensité implique une analyse des pixels
voisins mais le voisinage ne doit pas être trop étendu. Filtrer l'image a pour conséquence de réduire les
variations d'intensité, ce qui doit être raisonnable. Le filtre doit en effet avoir une largeur spectrale limitée. Or
c'est la fonction gaussienne qui permet d'obtenir l'égalité dans le principe d'Heisenberg, d'où ce choix qui se
traduit par :

1 2 2 2

hx , y = 2
e− x  y  / 2 
2 
La dérivée de la fonction gaussienne bi-dimensionnelle s'écrit alors :

 x y  − x  y  / 2 
2 2 2

h '  x , y = − e
2  4
Et la dérivée seconde s'exprime :
2 2
x y

 
2 2
1 x y −
2
2

h' ' x , y =− 4
1− 2
e
 2
L'allure de h''(x,y), réponse impulsionnelle du filtre Laplacien de Gaussienne (LOG), lui a valu l'appellation «
chapeau mexicain ». La mise en œuvre d'une détection de contours avec le filtre LOG nécessite les étapes
suivantes :
 Convolution de l'image avec le filtre LOG (filtre 2D) ;
 Détection des passages par zéro de l'image résultante ;
 Seuillage de l'image afin de ne considérer que les passages par zéro d'amplitude suffisante.

26
Cours

Allure de la fonction Laplacien de Gaussienne pour deux valeurs de σ


2 2
x y

[ ]
2 2
1 x y −
2
2

h' ' x , y =− 4
1− e
 2 2
Le traitement repose sur cinq paramètres :
 N représente la taille du masque (matrice carrée) implantant le filtre LOG. N est impair.
 σ permet d'ajuster la taille du chapeau mexicain.
 ∆x et ∆y sont les pas d'échantillonnage utilisés pour discrétiser h''(x,y). Généralement ∆x = ∆ y
 S est le seuil qui permet de sélectionner les contours les plus marqués.

Remarque
Il est à noter que le choix des paramètres N, σ et ∆x ne doit pas se faire de façon indépendante. En effet, le
masque, même de taille réduite, doit ressembler à un chapeau mexicain. Le problème ici est le même que celui
que l'on rencontre lors de l'échantillonnage d'une fonction gaussienne. Le nombre de points N à considérer
doit être tel que l'étendue occupe l'intervalle [-3σ , 3σ].

En fonction du pas d'échantillonnage, l'étendue spatiale vaut :  N −1  x .


Cette étendue peut aussi s'écrire en fonction de σ :  N −1  x=k  avec k entier.
En prenant par exemple  x=1 , il s'agit de choisir N et σ de sorte que l'étendue du chapeau mexicain soit
pertinente. Pour le chapeau mexicain, la valeur de k doit être au moins de 4.

27
Cours

Application du filtre LOG à la détection de contours

Remarque
Une animation dans l'étude de cas permet d'étudier l'influence du choix de la taille du masque et de l'écart-
type σ .

* *
*

Nous avons présenté quelques approches permettant d'extraire les contours d'une image. Ces méthodes sont
basées sur la détection des maxima du gradient de l'image ou sur celle des passages par zéro du laplacien.
Nous avons également détaillé les différents types de seuillage pouvant être utilisés notamment pour
sélectionner les contours de plus forte importance. Certaines méthodes sont simples à mettre en œuvre et
donnent des résultats assez corrects (filtrage de Sobel). D'autres méthodes comme le Laplacien de Gaussienne
ou le filtrage de Canny plus complexes, permettent généralement une meilleure approche des contours. Il
existe néanmoins plusieurs autres méthodes non abordées ici qui offrent des perspectives très intéressantes.
Nous encourageons donc les étudiants à explorer la littérature de manière à aborder ces autres méthodes
telles que :
le filtrage de Deriche (construit suivant la même approche que Canny mais pour un filtre à réponse impulsionnelle infinie) [4] ,
les ondelettes bi-dimensionnelles [5] ,
le gradient morphologique [2] ,
les contours actifs ou snakes [1] [1] [1] [1] .

28
Etude de cas
II
II -

Association opérateur gradient-type de seuillage 45


Association opérateur Laplacien-seuillage 47
Comparaison de contours 47

Dans ce chapitre, plusieurs animations sont présentées dans le but de faciliter la compréhension des
traitements décrits dans les autres parties. Il s'agit d'apprécier l'influence des techniques mises en œuvre, des
réglages de seuil sur les images résultantes censées mettre en évidence les contours.

A. Association opérateur gradient-type de seuillage

1. Récapitulatif : quelques modules de gradient

Puisque toute technique de seuillage peut être employée une fois que les contours sont ressortis, il peut
apparaître intéressant de comparer les modules de gradient obtenus par différentes méthodes, à savoir le
filtrage de Canny, celui de Sobel, celui de Roberts. On pourra en particulier comparer les modules issus d'un
filtrage de Canny et de celui d'une dérivée de Gaussienne. L'influence d'un éventuel filtrage passe-bas de
l'image avant application du filtre de Canny, ainsi que son importance liée à l'écart-type σ peut également être
soulignée.

29
Etude de cas

2. Seuillage par histogramme du module du gradient

Le module du gradient de l'image a été calculé par filtrage de Sobel. Il s'agit ensuite de ne garder que les
contours les plus significatifs en recourant à la technique de seuillage par histogramme. Plusieurs seuils sont
possibles : un seuil à 90 % signifie que seulement 10 % des contours les plus significatifs sont conservés.
L'animation permet de montrer l'influence du seuil sur la qualité des contours obtenus (en cliquant sur les
points rouges dans l'histogramme cumulé en bas à gauche).

3. Amincissement de contours

Le module du gradient de l'image est déterminé par deux techniques : le filtrage de Sobel et le filtrage de
Canny. Ensuite le traitement conduisant à un amincissement des contours est employé sur les deux images.
L'animation permet de modifier le seuil (en cliquant sur les boutons à droite indiquant le pourcentage des
contours non sélectionnés). Cette technique d'amincissement apparaît plus efficace, associée au filtrage de
Sobel.

4. Seuillage par hystérésis

Après calcul du module du gradient, un seuillage par hystérésis est employé. L'animation permet de montrer
l'intérêt de cette technique. L'idée est d'obtenir un compromis entre contours trop sélectifs et contours pas
assez sélectifs, compromis qui ne serait pas atteignable avec un seuil unique. En cliquant successivement sur
les deux boutons de gauche, la capacité du seuillage par hystérésis à ajouter des contours par rapport à l'image
très sélective est soulignée. Par des clics similaires sur les boutons de droite, la capacité du seuillage par
hystérésis à réduire le nombre de contours par rapport à une image pas assez sélective est mise en évidence
(seuils utilisés : seuil haut à 72 %, seuil bas à 60 %).

5. Seuillage des non maxima du gradient

Le module du gradient de l'image est déterminé par un filtrage de Canny suivi d'une extraction des maxima
locaux (méthode décrite dans le chapitre du cours sur les méthodes de seuillage). Certains contours sont alors
conservés en fonction d'un seuil dont trois valeurs sont proposées.

6. Détection de contours par l'association filtrage de Canny-seuillage des


maxima locaux

Ces quelques images permettent d'étudier l'influence de la valeur du seuil pour éliminer certains maxima
locaux pas assez significatifs. L'influence d'un filtrage passe-bas à l'aide de gaussiennes de différentes
variances peut également être appréciée. Enfin, les résultats semblent attester de la proximité entre le filtre de
Canny et le filtre dérivée de gaussienne.

30
Etude de cas

B. Association opérateur Laplacien-seuillage

1. Seuillage des passages par zéro du Laplacien

L'animation permet d'évaluer l'influence du seuil sur les contours obtenus après calcul du Laplacien (en
cliquant sur les différents seuillages proposés). Plus le seuil est faible, plus les contours sont bruités. Cette
technique apparaît clairement très sensible au bruit.

2. Calcul du Laplacien par chapeau mexicain

La technique utilisée est le filtrage de l'image au moyen d'une dérivée seconde de Gaussienne suivi d'une
détection des passages par zéro. L'animation permet de jouer sur la taille du filtre utilisé et sur la « largeur » du
chapeau (en cliquant sur l'une des quatre cases colorées).

C. Comparaison de contours

1. Une association réussie

Quelques images de contours obtenus par l'association réussie de deux traitements : un calcul de gradient ou
de Laplacien et un seuillage, sont à comparer. A partir de ces résultats, les traitements associés filtrage de
Canny-seuillage des maxima locaux et filtrage de Sobel-amincissement semblent présenter des résultats
particulièrement efficaces.

31
Etude de cas

* *
*

Nous avons présenté quelques approches permettant d' extraire les contours d'une image. Ces méthodes sont
basées sur la détection des maxima du gradient de l'image ou sur celle des passages par zéro du Lapacien.
Nous avons également détaillé les différents types de seuillage pouvant être utilisés notamment pour
sélectionner les contours de plus forte importance. Certaines méthodes sont simples à mettre en oeuvre et
donnent des résultats assez corrects ( filtrage de Sobel ) . D'autres méthodes comme le Lapacien de
Gaussienne ou le filtrage de Canny plus complexes, permettent généralement une meilleure approche des
contours. Il exitre néanmoins plusieurs autres méthodes non abordées ici qui offrent des perspectives très
intéressantes. Nous encourageons donc les étudiants à explorer la littérature de manière à aborder ces autres
méthodes telles que :
 Le filtrage de Deriche (construit suivant la même approche de Canny mais pour un filtre à réponse impulsionnelle
infinie), [4]
 Les ondelettes bi-dimensionnelles, [5]
 le gradiens morphologique, [2]
 les contours actifs ou snakes. [1]

32
Exercices
III
III -

Critère de Canny de bonne décision 49


Critère de Canny de bonne localisation 50
Critère de Canny d'unicité de la réponse 51
Filtre différence de Gaussiennes 52

A. Critère de Canny de bonne décision


L'objectif de cet exercice est de déterminer le rapport signal sur bruit (RSB) défini par Canny dans le cas d'une
détection de contour modélisé par une marche d'escalier en x=0 sous l'hypothèse d'un bruit additif gaussien :

amplitude du signal
RSB=
 variance du bruit
On rappelle l'écriture de la sortie g(x) du filtrage que l'on souhaite maximum :
x ∞
g  x=∫−∞ A h y  dy∫−∞ h y n  x− y  dy

où A désigne l'amplitude du saut d'intensité et n le bruit.


Question 1
[Solution n°1 p 37]
Déterminer l'amplitude du signal en sortie pour x=0 en ne s'intéressant qu'à la partie de la sortie
correspondant au signal utile.
Question 2
[Solution n°2 p 37]
En posant
∞
N =∫−∞ h  y  n− y dy

qui représente la partie bruitée de la sortie, calculer l'espérance mathématique E[N] puis la variance qui s'écrit
dans le cas présent E[N2].
Question 3
[Solution n°3 p 37]
En déduire le premier critère de Canny.

33
Exercices

B. Critère de Canny de bonne localisation


Le but de cet exercice est de déterminer le critère de bonne localisation de Canny en présence d'un contour
noyé dans du bruit. Il s'agit de l'inverse de l'écart-type de la variable aléatoire X0 , qui correspond à la distance
entre le maximum de la réponse g(x) et la position réelle de la transition (x=0). Comme on suppose en
moyenne que le détecteur localise correctement les sauts d'intensité, c'est-à-dire E[X0]=0, le critère s'écrit :

1
E[X 2
0 ]

Pour déterminer ce critère et avant de calculer la variance E [ X 20 ] , il s'agit de déterminer x0.

Question 1
[Solution n°4 p 38]
Le maximum de la sortie issue du filtrage optimal du modèle de contour en marche d'escalier est obtenu en x
= x0. Cette sortie maximale correspond à g'(x0)= 0.
Ecrire g'(x) puis en posant :
∞
N  x=∫−∞ h '  y n  x− y dy

écrire g'(x) en fonction de A, h(x) et N(x).


Question 2
[Solution n°5 p 38]
Ecrire g'(x0) en fonction de A, x0, N(x0) et h'(0) en utilisant le développement en série de Taylor à l'ordre 1 de
h(x) en x=0 au voisinage de x0. En déduire x0.
Question 3
[Solution n°6 p 38]
Déterminer la variance de x en utilisant le fait que Var[aX]=a2Var[X].
Question 4
[Solution n°7 p 39]
En déduire le critère de bonne localisation.

C. Critère de Canny d'unicité de la réponse


Cet exercice consiste à déterminer le troisième et dernier critère de Canny permettant de limiter en sortie la
multiplicité des maxima dus au bruit lors du filtrage optimal d'un contour en marche d'escalier. Il s'agit de
maximiser la distance entre deux maxima de la sortie.
Si l'on considère la figure du cours, il apparaît que la distance séparant deux maxima de la sortie g(x) est
sensiblement équivalente au double de la distance entre deux passages par zéro de la dérivée g'(x).
Or les travaux de Rice en 1954 ont montré que la distance moyenne entre deux passages par zéro d'un signal
g(x) constitué d'un bruit blanc filtré par un filtre de réponse impulsionnelle h(x) s'écrit :
1 /2

x m =

−R g  0
Rg ' ' 0 
où R g  est la fonction d'autocorrélation de g(x) :

34
Exercices

R g = E [ g  x  g  x ]
avec
∞
g  x=∫−∞ h y  n x− y dy

Question 1
[Solution n°8 p 39]
Calculer R g  et R g ' '  .

Question 2
[Solution n°9 p 40]
En déduire Rg(0) et Rg''(0) . Simplifier alors le deuxième terme par une intégration par partie.
Question 3
[Solution n°10 p 40]
En remarquant qu'ici on s'intéresse à la distance moyenne entre deux passages par zéro de la dérivée g'(x) de
la sortie du modèle de contour filtré par h(x), déduire en utilisant la formule de Rice, le troisième critère de
Canny.

D. Filtre différence de Gaussiennes


L'objectif de cet exercice est de présenter une manière astucieuse d'implanter le filtre Laplacien de Gaussienne
à partir de deux fonctions gaussiennes.
Question
[Solution n°11 p 41]
Montrer que le filtre Laplacien de Gaussienne peut être approché par la différence de deux gaussiennes de
variances très proches. Le calcul est à établir en dimension 1 :

DOG  x =G  x −G  x


2 1

1 2 2

G  x  = e−x / 2 1

1
 2  1
et

 2 = 1
avec

≪1

35
Solution des exercices de TD

> Solution n°1 (exercice p. 33)

L'amplitude du signal est :


0
A ∫−∞ h y dy

> Solution n°2 (exercice p. 33)

L'espérance est :
∞
E [ N ]=∫−∞ h  y  E  n − y  dy=0

car le bruit n(x) est par hypothèse centré.


La variance s'écrit donc :

E [ N 2 ]=E ∫∞

−∞
∞
h y  n− y dy ∫−∞ h u n−u du 
∞
E [ N ]=∬−∞ h y h u E  n − y n −u  dy du
2

or
2
E [ n −y  n−u ] = 0  y−u
donc
∞
E [ N ]= 0 ∫−∞ h  y dy
2 2 2

> Solution n°3 (exercice p. 33)

Le critère de bonne décision s'écrit donc :


0
A A ∫−∞ h y dy
=
0 0
∫
∞
2
−∞
h  y  dy

37
Annexes

> Solution n°4 (exercice p. 34)

Calculons la dérivée de la sortie du filtrage optimal du contour en marche d'escalier. Avec la notation
proposée, il vient :
x ∞
g '  x =∫−∞ A h'  y dy∫−∞ h'  y n  x− y dy

En effet,

g '  x =A h  x N  x 

> Solution n°5 (exercice p. 34)

Le développement en série de Taylor à l'ordre 1 de h(x) au voisinage de x0 s'écrit:

h  x x0 =h x x 0 h '  x 


donc pour x=0 :

h  x 0 =h 0x 0 h ' 0


Or h(0)=0 car la réponse impulsionnelle de h(x) est impaire : en effet, on souhaite que g(x) soit maximal sur le
contour. g(x) est donc paire, g'(x) impaire et donc selon la réponse à la première question, h(x) impaire.
Il vient

h  x 0 =x 0 h ' 0


Or

g '  x 0 =A h  x 0 N  x 0 


Donc

g '  x 0 =A x 0 h ' 0 N  x 0 =0


D'où

−N  x 0 
x 0=
A h ' 0

> Solution n°6 (exercice p. 34)

La variance de x0 s'écrit :

Var [ N  x 0]
Var [ x 0 ]=
A2 h ' 2 0
Il reste à déterminer Var[N(x0)] en remarquant que E[N(x0)]=0.
Ainsi la variance à calculer s'écrit :

38
Annexes

2
E [ N  x 0 ]=E ∫ ∞

−∞
∞
h '  y  n x0 − y dy ∫−∞ h '  u n x 0 −u du 
∞
E [ N  x 0 ]=∬−∞ h '  y  h ' u E  n x 0− y n  x 0−u  dy du
2

or

E [ n x 0− y n  x 0−u ]= 02   y −u


d'où
∞
E [ N  x 0 ]= 0 ∫−∞ h '  y  dy
2 2 2

La variance de x0 est donc :


∞
 02 ∫−∞ h ' 2  y dy
Var [ x 0 ]=
A2 h ' 2 0

> Solution n°7 (exercice p. 34)

Le critère de bonne localisation s'écrit finalement :

A A ∣h ' 0∣
=
0 0
∫ ∞
−∞
h' 2  y dy

> Solution n°8 (exercice p. 35)

Les calculs de R g  et R g ' '  donnent :

R g = E ∫ ∞

−∞
∞
h y n  x− y  dy ∫−∞ h u n x −u du 
∞
R g =∬−∞ h y h u E  n  x− y  n x−u  dy du

or
2
E  n x− y n  x−u  = u−− y 
donc
∞
R g =∫−∞ h  y h y  dy

et par suite :
∞
R g ' ' =∫−∞ h  y h ' '  y dy

39
Annexes

> Solution n°9 (exercice p. 35)

De la réponse à la question précédente, il vient :


∞
R g 0=∫−∞ h  y dy
2

et :
∞
R g ' ' 0=∫−∞ h  y h ' '  y dy

∞ ∂
R g ' ' 0=∫−∞ h  y h'  y dy
∂y
En intégrant par partie :

∞ ∞
2
R g ' ' 0=  h y  h'  y −∞ −
2
∫−∞ h' 2  y  dy
Or le filtre recherché par Canny a une réponse impulsionnelle finie,
Donc

lim h  y = lim h  y=0


y ∞ y−∞

et

lim h '  y = lim h '  y=0


y ∞ y −∞

Finalement :
∞
R g ' ' 0=−
2
∫−∞ h ' 2  y  dy
> Solution n°10 (exercice p. 35)

En appliquant directement la formule de Rice, il vient :


1/ 2

 
∞
∫−∞ h  y  dy
2

x m = ∞
∫−∞ h ' 2  y  dy
Ici on s'intéresse à la distance moyenne entre deux passages par zéro de la dérivée g'(x) de la sortie du modèle
de contour filtré par h(x), c'est-à-dire à un bruit blanc filtré par h'(x) et non pas par h(x). La valeur x m
recherchée s'exprime donc ainsi :
1/ 2

 
∞
∫−∞ h '  y  dy 2

x m = ∞
∫−∞ h ' ' 2  y  dy

40
Annexes
Finalement le critère d'unicité de la réponse à maximiser s'écrit :
1/ 2

 
∞
∫−∞ h '  y  dy
2

x=2  ∞
∫−∞ h ' ' 2  y  dy

> Solution n°11 (exercice p. 35)

1 −x / 2
2
1 2
−x /2
2 2

DOG  x  = e − e
2 1

2  2  2 1

1 − x / 2  
2
1 2
− x / 2
2 2

DOG  x  = e − 1
e 1

 2  1  2 1

DOG  x  = f  1− f  1
avec

1 2 2

f  1  = e−x /2  1

2 1

DOG  x  = f '  1

DOG  x  =  ∂ 1 e−x / 2 
 
2 2
1

2  ∂ 1

DOG  x  =

2   −
1 −x /2  x 2 −x /2 
 12
e  4e
1
2 2
1
2 2
1


DOG  x  = −

 2  2   x 2 −x /2 
1− 4 e
1
2 2
1

On reconnaît bien l'expression monodimensionnelle d'un Laplacien de Gaussienne.


En prenant ,  2≈1,6  1 les filtres DOG et Laplacien de Gaussienne sont représentés ci-dessous.

41
Annexes

Illustration des filtres Différence de Gaussiennes (DOG) et Laplacien de Gaussienne (LOG)

42
Bibliographie

[1] Analyse d'images : filtrage et segmentation

Cocquerez J.-P., Philipp S., Analyse d'images : filtrage et segmentation, Masson, -, 1995.
[2] Le traitement des images

Maître H., Le traitement des images, Hermès, -, 2003.


[3] A computational approach to edge detection, IEEE trans. on pattern analysis and machine intelligence

Canny J., A computational approach to edge detection, IEEE trans. on pattern analysis and machine intelligence, -,
-, 1986, vol(8), n°6.
[4] International Journal of Computer Vision

Deriche R., International Journal of Computer Vision, -, -, 1987, using Canny's criteria to derive a recursively
implemented optimal edge detector (p.pages 167-187), .
[5] A wavelet tour of signal processing

Mallat S., A wavelet tour of signal processing, Academic Press, -, 1998.

43

Vous aimerez peut-être aussi