Traitement d’images
Chapitre 3: Détection de contours
Master Big Data et Intelligence Artificielle
Pr Y. ES-SAADY
[Link]@[Link]
2024/2025
Vu Pham
Introduction
Le but majeur de l’analyse d’image est d’obtenir une
description synthétique des divers éléments qui
constituent
Extraction de caractéristiques (primitives) dans les
images
– La recherche des primitives dans une image constitue l’étape nécessaire
pour détecter un objet dans une scène et peut également servir à
effectuer des mesures
Il existe plusieurs types de primitives:
– Contours ,
– Régions ,
– Squelette,
– Points d’intérêt (coins),
– Lignes, Courbes… 2
Pourquoi la détection de contours
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.
Le contour permet la réduction de l’information:
– Information de toute l’image résumée dans le contours des
différent objets,
– Contour : partie la plus informative d’une image,
Préalable nécessaire à l’extraction d’autres primitives :
Droites, Segments, Cercles.
3
Pourquoi la détection de contours
Détection de contours : Applications:
– Reconnaissance d’objets, de formes, Classifications
– Mise en correspondance: reconstruction 3D, indexation
– Compression,
4
Qu’est-ce qu’un contour ?
Contour : frontière entre deux objets dans une image
Un contour est une variation brusque d'intensité
– discontinuité de l’image (variation brusque d’intensité).
5
Qu’est-ce qu’un contour ?
Contour : frontière entre deux objets dans une image
Toute discontinuité n’est pas nécessairement située à la
frontière entre deux objets.
6
Différents types de contours
Exemple de différents modèles de contours : marche
d’escalier, rampe et toit
Il existe plusieurs modèles de contours, le modèle le
plus courant : Marche d’escalier
7
Détection de contours : principe
Rappel sur les dérivées
Etude des dérivées de la fonction d’intensité dans l’image
– Dérivée première maximale sur le contour
– Dérivée seconde nulle sur le contour
8
Dérivée d’une image et contour
On peut observer qu’un contour correspond généralement à une
discontinuité d’intensité;
Une discontinuité d’intensité correspond à un pique au niveau de la
dérivée d’ordre 1.
Une coupe des niveaux gris dans une image à
deux dimensions
Niveaux de gris le Dérivée d’ordre 1 des niveaux de
long de la ligne gris Dérivée d’ordre 2 des
niveaux de gris
Les contours sont les maxima
positifs et les minima négatifs 9
Détection de contours
La détection de contours est une technique de
réduction d’information dans les images
Technique qui consiste à transformer l’image en un
ensemble de courbes, pas forcement fermées, formant
les frontières significatives de l’image
Il existe plusieurs méthodes de détection de contour
Deux approches sont les plus utilisées:
– Approches du 1er ordre: approximations du Gradient
– Approches du 2eme ordre : approximations du Laplacien
Difficulté : la présence de bruit dans les images
10
Détection de contours : gradient
En considérant l'image dans un repère orthogonal (Oxy)
tel que (Ox) désigne l'axe horizontal et (Oy) l'axe
vertical,
La première dérivée (gradient) de l’image est
l’opérateur de base pour mesurer les contours dans
l’image.
Le Gradient de l'image tout point ou pixel de
coordonnées (x,y) est désigné par
11
Détection de contours : gradient
L’amplitude (longueur) du vecteur ∇f, noté 𝑴(𝒙, 𝒚), est
donnée par sa norme vectorielle euclidienne:
– permet de quantifier l'importance du contour mis en évidence
La direction du vecteur gradient en un point (𝒙, 𝒚) est
donnée par l’angle:
12
Détection de contours : gradient
Le gradient est un vecteur perpendiculaire au contour
Le gradient pointe toujours en direction du changement
maximal.
Plus l’amplitude du gradient est forte, plus la
discontinuité est brusque.
13
Détection de contours : utilisation du
gradient
Le principe de la détection de contours par l'utilisation
du gradient consiste à :
– Calculer d'abord le gradient de l'image dans les deux
directions orthogonales ,
– Calculer le module du gradient,
– Il s'agira ensuite d'effectuer une sélection des
contours les plus marqués( les points de plus fort
contraste par un seuillage.
– les directions des contours étant orthogonales à la
direction α0 déterminée en tout pixel de l'image
14
Détection de contours : utilisation du
gradient
15
Détection de contours : utilisation du
gradient
16
Calcul du gradient
En utilisant les différences avant, nous obtenons
Le masque le plus intuitif à mettre en œuvre pour une
approximation de la dérivée discrète est un masque à
deux éléments :
17
gradients Roberts
Opérateur de Roberts
Roberts (1965) fournit une première approximation de la
dérivée d'une image discrète:
18
Illustration de l'application des masques
gradient
19
Seuillage de l’amplitude du gradient
Une méthode pour extraire les contours est de faire le
seuillage pour l’amplitude du gradient:
1. Calculer l'amplitude :
2. Calculer 𝒄(𝒙, 𝒚) en utilisant un seuil 𝒔
3. Pour minimiser le temps de calcul on peut faire le
seuillage pour:
20
Seuillage de l’amplitude du gradient
Exemple
21
Gradient Roberts
Limites: sensibilité aux bruits
Le majeur inconvénient de ces masques réside dans leur
forte sensibilité au bruit
Les contours ne sont pas filiformes.
Permet l’apparition de edge pixels et de edge segments
isolés.
Conclusion: Cette méthode ne fonctionne bien que pour
les images sans bruit et avec de fortes discontinuités
D'autres masques ont ainsi été proposés afin de rendre
la détection au contour via le gradient moins sensible au
bruit.
22
Opérateurs de Prewitt et Sobel
Opérateurs de Prewitt et Sobel
23
Opérateurs de Prewitt
Opérateurs de Prewitt: Moyenneur+ Dérivée
Filtre permettant d’effectuer un filtrage et un calcul
de gradient en une seule étape
24
Opérateurs de Sobel
Opérateurs de Sobel : Gaussienne + Dérivée
Filtre permettant d’effectuer un filtrage et un calcul
de gradient en une seule étape
25
Opérateurs de Sobel
26
Opérateurs de Sobel
27
Opérateurs de Prewitt et Sobel
Avantages:
Le principal avantage de ces masques est leur facilité
de mise en œuvre ainsi que la rapidité de leur
traitement.
Le lissage rend ces masques un peu moins sensibles au
bruit que les précédents.
Limites:
Leur inconvénient est leur grande sensibilité au bruit.
De plus les contours obtenus sont souvent assez larges
et contient des pixels et segments isolés
– Les contours ne sont pas filiformes.
– Permet l’apparition de edge pixels et de edge
segments isolés. 28
Solution: Méthode (algorithme) de Canny
C’est un des algorithmes de détection de contours
parmi les plus utilisés. Cet algorithme possède cinq
étapes:
1. Lissage: éliminer le bruit de l’image à l’aide d’un filtre
Gaussian.
2. Calcul des gradients: Détecter les contours en
utilisant la méthode des gradients.
3. Supprimer les non-maximums: pour détecter les
contours filiformes.
4. Double seuillage: pour détecter les contour forts.
5. Seuillage par hystérésis: Éliminer les edge pixels
isolés et les edge segments trop petits.
29
Laplacien: deuxième dérivée de
l’image
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 opérateur
le passage par zéro de la dérivée seconde d'une rupture
d'intensité permet de mettre en évidence le contour
30
Operateur Laplacien
31
Laplacien: deuxième dérivée de
l’image
La dérivée seconde est donc déterminée par le calcul du
Laplacien :
Qui peut s’ecrire
32
Laplacien: deuxième dérivée de
l’image
Laplacien peut s’écrire:
Cette opération de calcul de Laplacien peut alors être
appliquée à une image par l'intermédiaire d'un filtrage
avec le masque 3*3 suivant :
33
Laplacien : Exemples
34
Conclusion
Le processus de détection de contours peut être
décomposé en plusieurs étapes distinctes :
– La mise on évidence des contours: (dérivation, ….),
– La réductions des contours: elle agit de manière les
contours mis en évidence ne fassent qu’un seul pixel
d’épaisseur,
– La binarisation des contours,
– La description des contours: elle permet d’organiser
les points de contour en structures simples telles que
segments de droite, arcs de cercle…., et de détecter
les contours fermés afin d’isoler ceux-ci.
35