Telechargé par Abir Ayed

5 - Détection Contours

publicité
Traitement d’images
Détection de contours
Introduction
Rôle de la détection de contours en vision
1- Réduction d’information
•
Information de toute l’image résumée dans le contours des différents objets.
•
Contours : parties les plus informatives d’une image.
2- Etape souvent nécessaire à l’extraction d’autres primitives notamment
géométriques : droites, segments, cercles
Détection de contours : applications
1- Reconnaissance d’objets, de formes, classifications de scènes
2- Mise en correspondance stéréoscopique: calibration, reconstruction 3D
3- Compression d’images
2
Introduction
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.
3
Plan du cours
1. Modélisation des contours
• Notion de contour
• Caractérisation des points contours
• Rappel sur le gradient (dérivée première)
• Utilisation des dérivées secondes
2. Approches basées filtrage
• Filtrage du premier ordre
• Filtrage du second ordre
3. De l’image dérivée aux contours
•
Seuillage
4
Notion de contour
 Contour : frontière qui sépare deux objets (ou un objet du fond) dans une image
 Caractérisation des zones de contours
 variation brusque d’intensité de l’image
 discontinuité de l’image
5
Notion de contour
Remarques:
• Toute discontinuité n’est pas nécessairement située à la frontière entre deux
objets
• Toute zone de discontinuité ne caractérise pas forcément un contour.
Exemples de discontinuités:
• d’orientation de surface et d’illumination
• de réflectance
• de profondeur
• …
6
Modèle de contour
•
Plusieurs modèles de contour
7
Modèle de contour
•
Plusieurs modèles de contour
8
Caractérisation des points contours
•
Mise en évidence des zones de contours: dérivées première et seconde
•
Détection des points contours : utilisation d'un critère de décision
9
Caractérisation des points contours
Principe de la détection de contours: Etude des dérivées de la fonction d’intensité
dans l’image
 les maxima locaux de la dérivée première
 les passages par zéro de la dérivée seconde
 difficulté : la présence de bruit dans les images
10
Caractérisation des points contours
 Etude d’une ligne de l’image
 La dérivée première
11
Gradient : Dérivée première de l’image
12
Rappel sur le gradient
 L’image est une fonction 2D
f(x,y).
.
 On calcule une dérivée partielle de f dans chaque direction principale.
 Le vecteur Gradient de f est alors :
13
Rappel sur le gradient
• En chaque point (x,y), le vecteur gradient est caractérisé par
 Sa norme ou module
 Sa direction
• Relation entre gradient et contour
• Contour = forte variation locale des niveaux de gris
≡
•
élevé
est un vecteur perpendiculaire au contour
14
Rappel sur le gradient
• Le gradient définit l’orientation d’un contour au pixel considéré (x,y): dirigé selon
la direction de plus fort changement d’intensité (perpendiculaire au contour).
• Module du gradient = force du contour
• Argument du gradient= orientation
15
Approximation discrètes du gradient
• On approche les dérivées directionnelles par différences finies = convolution
avec un filtre dérivateur :
16
Approximation discrètes du gradient
• 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
• Image des contours horizontaux, ou gradient horizontal : Gy = f * hy
• Filtres courants : Roberts, Prewitt, Sobel,
17
Approximation discrètes du gradient
•
Roberts (1965) fournit une première approximation de la première dérivée
d’une image discrète
•
Le calcul se fait avec deux masques de convolution pour les deux directions
de la dérivée
•
Cette approximation fait appel aux différences croisées et elle apporte une
amélioration dans la détection de contour.
18
Approximation discrètes du gradient
•
Opérateurs de Sobel (c=2) et Prewitt (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
• Le lissage permet d’atténuer le bruit dans l’image, pouvant être interprété
comme un contour :
•
Prewitt : filtre moyenneur
•
Sobel : filtre gaussien
19
Approximation discrètes du gradient
Filtre de Sobel
20
Du gradient au contour
21
Du gradient au contour
• Pour détecter les contours d’une image, il faut procéder de la sorte :
1. Mesure en chaque point de l’image de l’amplitude et de la direction
du gradient
2. Détermination des seuils d’amplitude
3. Suppression directionnelle des non-maxima locaux
4. Extraction des éléments essentiels
5. Reconstruction des contours par hystéresis
22
Du gradient au contour
Détermination des seuils d’amplitude:
• Seuillage basé sur la validation de deux seuils, un seuil bas Sb et
un seuil haut Sh, avec Sb < Sh, de la manière suivante :
• si G(x, y) < Sb alors on est sur que (x, y) n’est pas un point de
contour
• si G(x, y) > Sh alors on est sur que (x, y) est un point de contour
• si Sb < G(x, y) < Sh alors l’appartenance à un contour dépend du
contexte
23
Du gradient au contour
Suppression directionnelle des non maxima locaux:
• Extraction des maxima locaux dans la direction du gradient
• Opération sur un voisinage de l’image de la norme du gradient
• On compare le gradient d’un point avec celui de ses deux voisins
M1 et M2 dans la direction perpendiculaire au contour
• Un point M est un maximum local si :
24
Du gradient au contour
Suppression directionnelle des non maxima locaux:
•Les modules de gradient en M1 et M2 doivent être interpolés
25
Du gradient au contour
Extraction des éléments essentiels
•Points pour lesquels on est sûr de l’appartenance à un contour
•(x, y) : G(x, y) > Sh
•Points de départ pour l’étape de reconstitution des contours
Reconstitution des points par hystérésis
•On part des points M(x, y) déterminés éléments essentiels
• On utilise deux seuils Sb et Sh, avec Sb < Sh, et pour chaque point M, il est
considéré contour s'il est connecté à un autre pixel déjà accepté comme
contour
•On répète la procédure pour tous les nouveaux points validés
26
Approches du second ordre
• Un changement linéaire d’amplitude d’une fonction f correspond au passage
par zéro de sa dérivée seconde
• Dans le cas d’une image, il n’existe pas une dérivée seconde unique, mais 4
dérivées partielles (selon x2, y2, xy et yx)
• En pratique, on a recours au laplacien faisant la somme des deux dérivées
partielles principales
• Un passage par zéro est caractérisé par une pente positive dans le cas d’une
frontière ayant une amplitude augmentant de gauche à droite ou de bas en haut
dans l’image
27
Approches du second ordre
•
On approche le laplacien par différences finies
• Dans le domaine spatial, on calcule le laplacien par convolution entre l’image et
un masque, dont les deux plus courants sont :
28
Approches du second ordre
•
•
Laplacien : exemple d’images
Dérivées secondes : grande sensibilité au bruit
 Nécessité de lissage par filtrage passe-bas
29
Approches du second ordre
•
L’estimation de la dérivée seconde étant par nature très sensible au bruit, il
convient d’effectuer un filtrage fort de l’image, conduisant pour un filtre passe –
bas ϕ à
•
ϕ gaussien  filtre LOG (Laplacian Of Guassian)
•
D’autres variantes existent, dont DOG (Difference Of Guassian) qui procède
par différence de deux gaussiennes dont les écarts types sont dans un rapport
de 1.6 ( simulation du système visuel)
30
Approches du second ordre
•
Pré-traitement: lissage passe_bas
31
Filtrage optimal: Canny
• Filtre optimal pour la détection des contours
•
Filtre en plusieurs étapes (pas seulement une convolution)
• Etant donnés
•
un modèle de contour (marche)
•
un modèle de bruit (blanc gaussien)
• Objectifs

tous les contours doivent être trouvés (détection)

Les contours correctement localisés (localisation)

Il doit y avoir un minimum de réponses parasites (réponse unique)

L’épaisseur des contours détectés doit être de 1 pixel
Canny a exprimé ces objectifs sous forme mathématique et a proposé des
32
solutions optimales vérifiant ces objectifs.
Détecteur de Canny
1 – Appliquer un filtre Gaussien sur l’image
Convolution de l’image f par un noyau gaussien
2 – Calculer l’intensité du gradient dans l’image
Calcul de la norme |G|= |Gx|+ |Gy|
3 – Calculer les directions du gradient dans l’image
Direction du gradient θ = arctan (Gy / Gx)
Arrondi des directions par multiples de 45°
33
Détecteur de Canny
4. Suppression des non-maxima sur les amplitudes
Si la norme du gradient en un pixel (x,y) est inférieure à la norme du gradient d’un
de ses 2 voisins le long de la direction du gradient, alors mettre la norme pour le
pixel (x,y) à zéro
L’objectif est de réduire les contours trop larges fournis par le calcul du gradient.
34
Détecteur de Canny
5. Seuillage des contours ( hystérésis)
L’objectif est d’éliminer les faux contours
Définition de deux seuils : un seuil haut (Sh) et un seuil bas (Sb)
Pour chaque pixel (x,y) du gradient :
Si norme(x,y) < Sb, alors (x,y) n’est pas un point contour
Si norme(x,y) > Sh, alors (x,y) est un point de contour
Si Sb < norme(x,y) < Sh, alors (x,y) est un point de contour si et seulement si il
est voisin d’un autre pixel déjà accepté comme contour
35
Détecteur de Canny
36
Conclusion

La détection des points contours est basée sur les dérivées premières (gradient)
ou secondes de l'image (Laplacien).

Le calcul de ces dérivées est approché au moyen de filtres de convolution.
• Avantages : grande rapidité de calcul, aspect local.
• Inconvénients : ces filtres sont très sensibles au bruit. Ils nécessitent donc
l'emploi de filtres de lissage, souvent intégrés aux filtres de dérivation.

Les filtres de lissage/dérivation sont moins précis que le filtre de dérivation
«pur», mais plus robustes. Ils privilégient donc la détection des points contours
par rapport à leur localisation.
37
Téléchargement