Post on 16-Jun-2020
DETECTION DE CONTOURS
Montesinos Philippe
LGI2P
EMA - EERIE
Parc Scienti�que G. Besse
30000 NIMES.
1
1 M�ethodes de seuillage
Ce paragraphe va introduire les m�ethodes de seuillage les plus courament utilis�ees et notament le seuillage
�a hyst�er�esis employ�e par certaines m�ethodes de d�etection de contours par exemple la m�ethode de Deriche
[Deriche 87a].
Un seuillage simple produit une image dans laquelle toutes les valeurs inf�erieures �a un seuil �x�e ont �et�e
supprim�ees. Plus g�eneralement le seuillage consiste �a se donner une fonction de seuillage bas Tb(i; j) ainsi q'une
fonction de seuillage haut Th(i; j), puis �a supprimer de l'image les points (i; j) correspondant aux relations
suivantes:
G(i; j) � Tb(i; j)
et G(i; j) � Th(i; j)
Lorsque les seuils varient spatialement on parle de seuillage local, �a l'inverse lorsqu'en tout point (i; j) les seuils
hauts et bas sont �egaux respectivement �a un scalaire Th et Tb, on parle de seuillage global.
1.1 Seuillage par hyst�er�esis
Nous allons encore introduire le seuillage par hyst�er�esis qui est de plus en plus utilis�e en d�etection de contours :
Soient: Th et Tb des seuils haut et bas,
Soit G(i; j) l'image �a seuiller,
Le principe du seuillage par hyst�er�esis est le suivant:
� Les pixels de G(i; j) dont le niveau de gris est sup�erieur �a Th sont d�etect�es.
� Les pixels de G(i; j) dont le niveau de gris est compris entre Th et Tb sont d�etect�es s'ils sont connexes �a
un pixel d�etect�e.
� Les pixels de G(i; j) dont le niveau de gris est inf�erieur �a Tb ne sont pas d�etect�es. L'int�eret de cette
m�ethode est qu'elle fournit des contours relativement continus en �evitant le plus possible la d�etection du
bruit.
Algorithme :
Soit G(i; j), l'image d'entree,
Soit S(i; j), l'image seuill�ee de sortie, initialis�ee �a z�ero.
� Seuillage simple de l'image G(i; j) avec le seuil Tb, on obtient une image seuillee temporaire: TMP (i; j)
� Etiquetage de composantes connexes en 8-connexit�e de l'image TMP (i; j), on obtient l'ensemble des
r�egions d�etectees �a Tb : ETb.
� Pour toute r�egion R appartenant �a ETb,
{ Si un un pixel de R poss�ede une intensit�e lumineuse sup�erieure �a Th, alors on recopie tous les pixels
de R dans l'image S(i; j).
2
2 M�ethodes de rehaussement par application d'op�erateurs de d�e-
rivation du premier ordre : �ltrage lin�eaire
On peut distinguer deux types de m�ethodes de rehaussement par application d'op�erateurs de d�erivation du
premier ordre, des m�ethodes simples bas�ees sur l'utilisation de masques de convolution approximant l'op�erateur
de gradient par di��erences �nies, et des m�ethodes plus sophistiqu�ees bas�ees sur des approches optimales
(recherche d'un contour id�eal, etc.).
2.1 Premiers algorithmes
Dans tous les cas les images �ltr�ees sont calcul�ees par convolution de l'image d'entr�ee avec des masques
directionnels approximant les op�erateurs de d�erivation. On trouve dans la bibliographie de nombreuses approximations
des d�eriv�ees partielles @f
@xet @f
@y.
Roberts [Roberts 65] a propos�e les masques:
H1 =
�0 �11 0
�et H2 =
� �1 0
0 1
�
Repr�esentant les d�eriv�ees selon des axes orient�es �a 45 degr�es. L'image des orientations est calcul�ee par:
� =�
4+ arctan
�G2
G1
�
Ces m�ethodes se sont av�er�ees di�ciles d'utilisation en raison de leur faible robustesse vis �a vis du bruit contenu
dans les images, c'est pourquoi on a vu appara�tre de nouveaux �ltres de tailles plus importantes r�ealisant �a la
fois un gradient selon une direction et un lissage selon une direction perpendiculaire
Prewitt et Sobel ont propos�e les masques 3� 3 selon les axes Ox et Oy [Prewitt 70].
H1 =
24 1 0 �1c 0 �c1 0 �1
35 et H2 =
24 �1 �c �1
0 0 0
1 c 1
35
Avec c = 1 pour Prewitt et c = 2 pour Sobel.
O�u par exemple H1 peut se d�ecomposer en un op�erateur de gradient en X et un op�erateur de lissage en Y .
soit:
D1X =�
1 0 �1 � et L1Y =
24 1
c
1
35
alors:
3
H1 = D1X � L1Y
On peut evidement d�ecomposer H2 de la meme mani�ere.
Soient G1 = H1 � F et G2 = H2 � F , L'image accentu�ee sera obtenue par le calcul d'une norme par exemple:
G =
qG21 +G2
2
Et l'image des orientations du gradient sera calcul�ee par:
� = arctan
�G2
G1
�
Ces m�ethodes employ�ees avec une m�ethode de suppression de non maxima locaux selon la direction du gradient,
et une m�ethode de d�etection par seuillage �a hyst�er�esis, donnent d'assez bon r�esultats avec une complexit�e
algorithmique raisonnable.
D'autres m�ethodes propos�ees par Kirsch consistent �a �ltrer l'image avec 8 masques directionnels l'orientation
du contour �etant alors donn�ee par le �ltre dont la r�eponse est la plus importante.
G(i; j) = maxk=1;8
(Gk(i; j))
Il existe de nombreux masques de ce type, on donnera les masques de Kirsch [Kirsch 71].
Exemples de masques:
H1 =
24 3 3 3
3 0 3
�5 �5 �5
35 et H2 =
24 3 3 3
�5 0 3
�5 �5 3
35
Les 6 autres masques se d�eduisant de ceux ci par permutations circulaires.
2.2 Filtrage optimal
J.F. Canny [Canny 83] �a propos�e un �ltre optimal pour la d�etection d'un contour id�eal noy�e dans un bruit blanc
gaussien. Le �ltre propos�e est optimal en localisation et maximise le rapport signal sur bruit.
Pour Canny un contour id�eal est repr�esent�e par une fonction de Heaviside:
H(t) =
�0 si t < 0
1 si t � 0
4
Une image contenant un contour en x = 0 peut donc etre mod�elis�ee par:
x(t) = AH(t) + n(t)
o�u A repr�esente l'amplitude du saut et n(t) un bruit blanc gaussien de variance �2 = E(n2(t)).
Canny suppose que le �ltre id�eal cherch�e est lin�eaire et antisym�etrique comme un op�erateur de gradient. L'image
accentu�ee sera calcul�ee par
y(t) =
Z 1
�1
x(t0)C(t� t0)dt0 = S(t) +N(t)
L'accentuateurC(t) est choisi pour maximiser le rapport signal sur bruit de l'image �ltr�ee aux points de contours
soit:
S(0)pE(N2(0))
ce qui conduit �a la maximisation de la quantit�e :
� (C) =
R 0�1
C (t) dtqR1
�1C2 (t) dt
Canny cherche de plus une localisation optimale des points de contours par minimisation de l'ecart quadratique
moyen entre le contour d�etect�e et le contour r�eel. Ceci conduit donc �a maximiser la grandeur
� (C) =jC 0 (0)jqR1
�1C 02 (t) dt
En�n l'op�erateur de rehaussement trouv�e, ne doit pas donner plusieurs maxima locaux pour un seul contour,
ceci s'exprime �a l'aide d'une estimation de la densit�e des passages par z�ero de la fonction C 0 devant rester �x�e
�a une certaine valeur donn�ee k soit:
D =�
2
vuutR1�1
C 002 (t)dtR1
�1C 02 (t) dt
= k
Selon Canny, le d�etecteur de contours optimal sera l'op�erateur maximisant le produit �� sous la contrainte
D = k Comme C est antisym�etrique, cela revient �a maximiser l'expression
5
�� =
R10
C (t) dtqR1
0C2 (t) dt
jC 0 (0)jqR1
0C 02 (t) dt
sous la contrainte :
sR1
0C 002 (t) dtR
1
0C 02 (t) dt
= Cte
Il trouve comme fonction solution:
C(t) = a1e�t sin!t+ a2e
�t cos!t + a3e��t sin!t+ a4e
��t cos!t +Cte
Les conditions aux limites de x(t) ainsi que sa pente �a l'origine permettent de d�eterminer les coe�cients a1 �a
a4 et il l'�etend aux X n�egatifs C(t) = � C(�t). La solution trouv�ee n'�etant pas simple de mise en oeuvre, il
l'approxime par la fonction d�eriv�ee premi�ere d'une gaussienne de qualit�e �� = 0:92.
2.2.1 Filtre de Deriche
Deriche [Deriche 87a] [Deriche 87b] reprenant les travaux de Canny propose une solution exacte int�eressante,
de coe�cient �� bien meilleur: �� = 2.
Filtre de d�erivation :
Soit la fonction C(t) impaire:
8t 2 < C(t) = C1 exp (� jtj) sin!t
Dans le cas o�u ! � 1, alors sin!t � t.
Le �ltre devient donc:
C(t) = C1 t exp (�� jtj)
La transform�ee en Z de ce �ltre montre qu'il peut etre mis en oeuvre r�ecursivement �a l'aide d'un �ltre r�ecursif
d'ordre deux de la mani�ere suivante:
Soit:
x(i) l'image d'entr�ee,
y(i) l'image de sortie,
On a:
6
y+(i) = ax(i� 1) � b1 y+(i� 1) � b2 y
+(i� 2) pour i = 1 � � � Iy�(i) = �ax(i+ 1) � b1 y
�(i+ 1) � b2 y�(i+ 2) pour i = I � � � 1
y(i) = y+(i) + y�(i) pour i = 1 � � � I
avec:
a = �C1 �2 e��
C1 =�(1�e��)
3
2�2e��(1+e��)
b1 = �2e��b2 = e�2�
O�u C1 est une constante de normalisation.
Filtre de lissage :
Une autre propri�et�e int�eressante de cette fonction est que son int�egrale
h(t) = C0 (� jtj+ 1) e��jtj
est une fonction de lissage, qui elle aussi peut etre impl�ement�ee r�ecursivement de la mani�ere suivante:
y+(i) = a0x(i) + a1x(i� 1)� b1y+(i� 1)� b2y
+(i� 2) pour i = 1 � � � Iy�(i) = a2x(i+ 1) + a3x(i+ 2)� b1y
�(i+ 1)� b2y�(i+ 2) pour i = I � � � 1
y(i) = y+(i) + y�(i) pour i = 1 � � � I
avec:
a0 = C0
a1 = C0 (�� 1) e��
a2 = C0 (�+ 1) e��
a3 = �C0 e�2�
C0 =(1�e��)
2
1+2�e���e�2�
b1 = �2e��b2 = e�2�
Ici encore C0 est une constante de normalisation.
Ceci permet alors une implantation �a deux dimensions du �ltre, tr�es e�cace de la mani�ere suivante:
Soient:
Gx et Gy les �ltres gradient selon les axes X et Y ,
Lx et Ly des �ltres de lissage selon les axes X et Y ,
I(x; y) l'image d'entr�ee.
L'image accentu�ee g(x; y) est calcul�ee par la norme du gradient soit:
7
g =
q(Gx � Ly � I)2 + (Gy � Lx � I)2
La direction du gradient est calcul�ee par:
� = arctan
�Gy
Gx
�
L'op�eration de seuillage est r�ealis�ee par un seuillage �a hyst�er�esis, apr�es suppression des non maxima locaux
du gradient. Cette m�ethode de d�etection est l'une des meilleures existantes actuellement tant au point de vue
qualit�e des r�esultats que temps calcul. On trouve une description d�etaill�ee de ces �ltres et de leur implantation
dans [Horaud et Monga 93].
Les resultats obtenus avec le �ltre de Deriche sont pr�esent�es sur les �gures : 3 4 5 6 7 8 9 10 11 12 13 14 15.
2.2.2 Filtre gaussien
La d�eriv�ee premi�ere d'une gaussienne constitue l'approximation de Canny pour le �ltre optimal d�e�ni au
paragraphe 2.2. Plus g�en�eralement si l'on veut lisser un signal, on le convolue avec le �ltre de lissage, si
on veut sa d�eriv�ee premi�ere on utilise la d�eriv�ee premi�ere du �ltre de lissage, si on veut sa d�eriv�ee seconde
(cf. m�ethodes de d�etection de contour bas�ees sur l'utilisation de la d�eriv�ee seconde, paragraphe 3) on utilise la
d�eriv�ee seconde du �ltre de lissage etc.
En une dimension le �ltre de lissage gaussien s'�ecrit :
f0(x) =1p2��2
e�x
2
2�2
Ce �ltre n'�etant pas r�ecursif, son implantation par convolution pr�esente une complexit�e algorithmique importante
pour des grandes valeurs du param�etre � (fort lissage lorsque � augmente).
Il pr�esente cependant une propri�et�e d'isotropie qui le rend tr�es int�eressant en deux dimensions (un bon �ltre doit
fournir des r�eponses identiques pour des contours obliques et pour des contours parall�eles aux axes de l'image).
En deux dimensions, le �ltre de lissage gaussien s'�ecrit :
f0(x; y) =1
2��2e�x
2
2�2 e�y
2
2�2 =1
2��2e�r
2
2�2
o�u :
r2 = x2 + y2
En deux dimensions, ce �ltre est donc s�eparable mais non r�ecursif, Il existe cependant de bonnes approximations
r�ecursives (ordre 4) de ce �ltre [Deriche 93], les r�esultats present�es aux �gures : 21 22 23 24 25 26 27 28 utilisent
ce �ltre r�ecursif.
Nous allons maintenant examiner la deuxi�eme grande famille de m�ethodes de d�etection de contours, la d�etection
de contours par application d' op�erateurs de d�erivation du second ordre.
8
3 M�ethodes de d�etection de contours par application d' op�erateurs
de d�erivation du second ordre
Une autre grande classe de m�ethodes de d�etection de contours est bas�ee sur l'utilisation d'op�erateurs de
di��erenciation du second ordre. Une des particularit�es de ces m�ethodes est de simpli�er l'�etape de seuillage
qui �etait n�ecessaire avec les op�erateurs de gradient. En e�et ici l'�etape de d�etection se r�esume �a d�etecter les
passages par z�ero de l'image �ltr�ee; les contours d�etect�es sont toujours d'�epaisseur unit�e.
L'op�erateur d'accentuation lin�eaire isotrope le plus simple est le laplacien.
�f =@2f
@x2+@2f
@y2
Dans le cas discret, l'op�erateur @2
@x2est approxim�e par:
�2xf = �x�xf = f(i+ 1; j)� 2f(i; j) + f(i� 1; j)
Le laplacien sera donc repr�esent�e par le masque:
L =
24 0 0 0
1 �2 1
0 0 0
35+
24 0 1 0
0 �2 0
0 1 0
35 =
24 0 1 0
1 �4 1
0 1 0
35
Il existe de nombreuses variantes du �ltre laplacien, qui toutes convergent vers l'op�erateur laplacien lorsque la
distance entre les pixels tend vers z�ero.
Par exemple pour les masques 3� 3:
L =
24 1 1 1
1 �8 1
1 1 1
35 ou
24 2 �1 2
�1 �4 �12 �1 2
35 ou:
24 1 �2 1
�2 4 �21 �2 1
35
M�ethode de Marr et Hildreth
Marr et Hildreth [Marr et Hildreth 80], ont d�evelopp�e une technique permettant cette fois de s'a�ranchir des
probl�emes li�es au bruit soit: le trop grand nombre de d�etections. Ils convoluent au pr�ealable l'image par
une gaussienne avant d'appliquer un �ltre laplacien. Cette fois, la variance de la gaussienne limite l'extension
du domaine fr�equenciel de l'image d'entr�ee et supprime le bruit qui aurait �et�e d�etect�e par le laplacien. Si
le probl�eme du bruit est r�esolu, il faut en revanche, ajuster la variance de la gaussienne en fonction du type
d'images �a traiter. Un �ltre de variance trop large d�egrade trop l'image et ne permet plus la d�etection des
structures �nes, �a l'inverse une variance trop faible conduit �a une d�etection de bruit trop importante.
Dans le cas continu, cette m�ethode correspond �a la convolution de l'image par l'op�erateur r2G�
o�u G� est une gaussienne de variance �.
9
r2G� = 1� x2 + y2
2�2exp�x
2 + y2
2�2
Cette m�ethode permet une d�etection de contour de bonne qualit�e mais a l'inconv�enient de n�ecessiter des calculs
importants. Le �ltre gaussien est un �ltre s�eparable mais non r�ecursif et la convolution prend un nombre
d'op�erations augmentant avec la taille du �ltre alors qu'un �ltre r�ecursif demande un nombre d'op�erations
�xe quel que soit la taille du �ltre. C'est pourquoi on a propos�e des m�ethodes bas�ees sur l'approximation du
laplacien, �a l'aide de �ltres de lissage qui elles ont l'avantage de pouvoir etre impl�ement�ees r�ecursivements.
M�ethode du double �ltrage passe bas
Cette m�ethode consiste �a calculer une approximation du laplacien �a l'aide de deux �ltrages passe bas, les
contours sont d�etect�es par une m�ethode de passages par z�ero.
L'image est convolu�ee par deux �ltres moyenne de tailles di��erentes, l'image du laplacien est form�ee par di��erence
des deux images moyenn�ees.
Soit:
f(x; y) l'image d'entr�ee,
M1 un �ltre moyenne,
M2 un �ltre moyenne de taille supp�erieure �a M1
g(x; y) = f(x; y) �M1(x; y)� f(x; y) �M2(x; y)
g(x; y) = f(x; y) � [M1(x; y)�M2(x; y)]
Le �ltre M1(x; y)�M2(x; y) constitue une approximation du laplacien.
L'utilisation de �ltres moyenne permet une impl�ementation tr�es e�cace s�eparable et r�ecursive.
le �ltre moyenne
soit M: la demi taille du �ltre en x,
soit N: la demi taille du �ltre en y.
M(2M+1);(2N+1) � f(i; j) = 1(2M+1)(2N+1)
PM
m=�M
PN
n=�N f(i+m; j + n)
Un tel �ltre est s�eparable, en e�et:
M(2M+1);(2N+1) � f(i; j) =M(2M+1);0 �M0;(2N+1) � f(i; j)
et chacun des deux �ltres M(2M+1);0 et M0;(2N+1) est impl�ementable r�ecursivement:
Par exemple pour M(2M+1);0:
10
Soit g(i; j) l'image �ltr�ee par le �ltre M(2M+1);0 on a:
g(i+ 1; j) = g(i; j) +1
2M + 1(f(i+ 1 +N; j) � f(i�N; j))
De meme pour le �ltre M0;(2N+1). Ces deux �ltres peuvent donc etre calcul�es avec un nombre �xe d'op�erations
ind�ependant de la taille des �ltres d'o�u l'e�cacit�e de cette m�ethode.
On peut encore citer la m�ethode de Castan et Shen [Castan Shen 89] qui calcule les d�eriv�ees secondes directionnelles
de l'image �a l'aide de �ltres optimal exponentiel sur un mod�ele identique �a celui de Canny. Cette m�ethode donne
des r�esultats int�eressants et pr�esente une complexit�e algorithmique tr�es faible.
3.1 Filtrage optimal
De meme que pour les m�ethodes bas�ees sur les d�eriv�ees premi�eres, nous pouvons d�e�nir des �ltres optimaux par
simple extension des travaux de Canny et Deriche les d�eriv�ees secondes des images sont estim�ees par convolution
avec les d�eriv�ees secondes des �ltres de lissage optimaux. Les resultats obtenus avec le �ltre de Deriche sont
pr�esent�es sur les �gures : 16 17 18 19 20. Les resultats obtenus avec le �ltre de gaussien r�ecursif sont pr�esent�es
sur les �gures : 29 30 31 32 33 34.
Bibliographie
References
[Canny 83] J.F. Canny.
Finding edges and lines in images. M.I.T. Arti�cial Intelligence Laboratory, TR-720, 1983.
[Castan Shen 89] S. Castan, J. Shen.
Une Famille de D�etecteurs de Contours Bas�ee sur le Filtre Exponentiel Optimal Congr�es AFCET:\Reconnaissance Des Formes Et Intelligence Arti�cielle", Paris, (29 novembre au 1er decembre
1989).
[Deriche 87a] R. Deriche.
Extraction de composantes connexes bas�ee sur une d�etection optimale des contours. Cognitiva 87,
Paris la Villette, 18-22 mai 1987.
[Deriche 87b] R. Deriche.
Optimal edge detection using recursive �ltering. In Proc. First International Conference on Conputer
Vision, London, June 8-12, 1987.
[Deriche 93] R. Deriche.
Recursively implementing the gaussian and its derivatives. Rapport de recherche INRIA, 1993.
[Kirsch 71] R. Kirsch.
Computer determination of the constituent structures of biomedical images. Computer and
Biomedical Research. USA, (1971), 4, no 3, pp 315-328.
[Marr et Hildreth 80] D.Marr, E. Hildreth.
Theory of edge detection. Proceedings Of Royal Society Of London, B, Vol 207, pp 187-217, 1980.
11
[Horaud et Monga 93] R. Horaud, O. Monga.
Vision par Ordinateur, Outils Fondamentaux. Trait�e des nouvelles technologies, S�erie Informatique,
1993.
[Prewitt 70] J.M.S. Prewitt.
Object enhancement and extraction. Picture processing and psychopictories. B.S.Lipkin and
A.Rosenfeld, ed. Academic Press, New York, USA, (1970).
[Roberts 65] L. G. Roberts
Machine perception of three dimentional solids. Optical and Electro-optical Information Processing.
J.T. Tipett and al. ed. M.I.T. Press Cambridge Massachussetts USA, (1965), pp 159-197.
12
Figure 1: Une image.
13
Figure 2: D�eriv�ee premi�ere de Deriche en X (� = 1 ).
Figure 3: D�eriv�ee premi�ere de Deriche en Y (� = 1 ).
14
Figure 4: D�eriv�ee premi�ere de Deriche en X (� = 2 ).
Figure 5: D�eriv�ee premi�ere de Deriche en Y (� = 2 ).
15
Figure 6: D�eriv�ee premi�ere de Deriche en X (� = 4 ).
Figure 7: D�eriv�ee premi�ere de Deriche en Y (� = 4 ).
16
Figure 8: Gradient de Deriche (� = 1 ).
Figure 9: Gradient de Deriche : suppression des non maxima locaux (� = 1 ).
17
Figure 10: Gradient de Deriche (� = 2 ).
Figure 11: Gradient de Deriche : suppression des non maxima locaux (� = 2 ).
18
Figure 12: Gradient de Deriche (� = 4 ).
Figure 13: Gradient de Deriche : suppression des non maxima locaux (� = 4 ).
19
Figure 14: Seuillage par hysteresis de la suppression des non maxima locaux de la norme du gradient de Deriche
(� = 1 ).
Figure 15: Seuillage par hysteresis de la suppression des non maxima locaux de la norme du gradient de Deriche(� = 2 ).
20
Figure 16: D�eriv�ee seconde de Deriche en X (� = 1 ).
Figure 17: D�eriv�ee seconde de Deriche en Y (� = 1 ).
21
Figure 18: Laplacien de Deriche (� = 1 ).
Figure 19: Image de polarit�e du Laplacien (� = 1 ).
22
Figure 20: Les contours �a partir du laplacien (� = 1 ).
23
Figure 21: Gradient Gaussien (� = 1 ).
Figure 22: Angle du gradient Gaussien (� = 1 ).
24
Figure 23: Gradient Gaussien : suppression des non maxima locaux (� = 1 ).
Figure 24: Seuillage par hysteresis de la suppression des non maxima locaux de la norme du gradient Gaussien(� = 1 ).
25
Figure 25: Seuillage simple : ( seuil bas ) de la suppression des non maxima locaux de la norme du gradient
Gaussien(� = 1 ).
Figure 26: Seuillage simple : ( seuil haut ) de la suppression des non maxima locaux de la norme du gradient
Gaussien (� = 1 ).
26
Figure 27: Gradient Gaussien (� = 5 ).
Figure 28: Seuillage par hysteresis de la suppression des non maxima locaux de la norme du gradient Gaussien(� = 5 ).
27
Figure 29: Laplacien Gaussien (� = 1 ).
Figure 30: Image de polarit�e du Laplacien (� = 1 ).
28
Figure 31: Les contours �a partir du laplacien (� = 1 ).
Figure 32: Multiplication : passage par z�ero du laplacien et gradient (� = 1 ).
29
Figure 33: Seuillage par hysteresis des passages par z�ero du laplacien (� = 1 ).
Figure 34: D�etection de contours laplacien Gaussien (� = 5 ).
30