860 likes | 1.55k Views
Faculté des sciences de Tunis. Année universitaire 2009-2010. Analyse d’images Détection de contour Cours 8. Mohamed Naouai. Détection de contours. Qu’est ce qu’un contour ?. Détection de contours. Image Originale. Image Originale. Détection de contour. Introduction.
E N D
Faculté des sciences de Tunis Année universitaire 2009-2010 Analyse d’imagesDétection de contourCours 8 Mohamed Naouai
Détection de contours • Qu’est ce qu’un contour ?
Détection de contours Image Originale
Image Originale Détection de contour
Introduction • 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.
Détection de contours • La détection de contour est une étape préliminaire à de nombreuses applications de l'analyse d'images. • Les contours constituent en effet des indices riches, au même titre que les points d'intérêts, pour toute interprétation ultérieure de l'image.
Détection de contours • Les contours dans une image proviennent des : • discontinuités de la fonction de réflectance (texture, ombre). • discontinuités de profondeur (bords de l'objet). • ils sont caractérisés par des discontinuités de la fonction d'intensité dans les images.
Détection de contours • 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.
Détection de contours • 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. • La seconde étape va permettre d'isoler les contours du reste de l'image à partir d'un seuillage judicieux
Détection de contours • Le principe de la détection de contours repose donc sur l'étude des dérivées de la fonction d'intensité dans l'image : • les extrema locaux du gradient de la fonction d'intensité • les passages par zéro du laplacien. • La difficulté réside dans la présence de bruit dans les images.
Détection de contours • 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. • Notre rôle consiste à choisir les opérateurs les mieux pour satisfaire les exigences associées à l'image à traiter.
Dérivée première Dérivée seconde Détection des contours Profil
Le filtrage linéaire d'une image • Filtrer une image consiste à convoluer sa fonction d'intensité I(x, y) avec une fonction h(x, y) appelée réponse impulsionnelle du filtre.
Le gradient d'une image • 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 en tout point ou pixel de coordonnées (x,y) est désigné par :
Le module du gradient • 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 :
La direction du gradient • 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 :
Détermination de la direction du gradient • Calculer la dérivée directionnelle dans certaines directions dans le repère image (e.g. 0°, 45°, 90°, 135°)
Le gradient d'une image • Le principe de la détection de contours par l'utilisation du gradient consiste à calculer • 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.
Le gradient d'une image • La direction du gradient maximise la dérivée directionnelle. • La dérivée de I(x, y) dans une direction donnée d s'écrit : • Le gradient d'une image filtrée :
Quelques opérateurs gradient Introduction • Ces opérateurs sont à considérer comme des filtres qui vont être corrélés à l'image. • Le filtrage seras effectué suivant les lignes de l'image puis suivant les colonnes. • Pour chaque opérateur, deux masques sont utilisés de façon à déterminer le gradient de l'image dans deux directions orthogonales.
Opérateur de Roberts • Ce masque proposé en 1965 permet de calculer un gradient le long des diagonales de l'image : • La corrélation de ce masque avec l'image f(i,j) permet bien d'implanter un gradient dans la direction verticale :
Opérateur de Roberts Image des contours (opérateur Prewitt) Image originale
Opérateur de Roberts Inconvénient • Le majeur inconvénient de ces masques réside dans leur forte sensibilité au bruit.
Opérateurs de Prewitt • La convolution de l'image par deux masques correspond au calculs des dérivées de l'image pré-filtrée par un filtre h séparable :
Opérateurs de Prewitt Image des contours (opérateur Prewitt) Image originale
Opérateurs de Prewitt Image des contours (opérateur Prewitt) Image originale
Opérateurs de Sobel (1972) • L’Opérateur de Sobel est un opérateur utilisé en traitement d'image pour la détection de contours. Il s'agit d'un des opérateurs les plus simples qui donne toutefois des résultats corrects.
Opérateurs de Sobel (1972) • Pour faire simple, l'opérateur calcule le gradient de l'intensité de chaque pixel. • Ceci indique la direction de la plus forte variation du clair au sombre, ainsi que le taux de changement dans cette direction. • On connaît alors les points de changement soudain de luminosité, correspondant probablement à des bords, ainsi que l'orientation de ces bords.
Opérateurs de Sobel (1972) • Est un opérateur très populaire. • Correspond à la convolution de l'image par :[1 2 1] * [-1 0 1]. • Masques directionnels également.
Opérateurs de Sobel (1972) Les filtres de Sobel sont les suivants : Filtre horizontal : Filtre vertical :
Opérateurs de Sobel (1972) Détection de contour par Sobel Image Originale
Opérateurs de Sobel (1972) Image des contours (opérateur Sobel) Image originale
Opérateur gradient boussole • Les opérateurs dits boussole mesurent le gradient dans des direction 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. • Le résultat du filtrage de l'image f(i,j) avec le kième masque est gk(i,j).
Opérateur gradient boussole • 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.
Opérateur gradient 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.
Opérateur gradient boussole • critère 1 : • critère 2 : avec:
Opérateur gradient boussole • 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.
Opérateur gradient boussole • 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.
Opérateur gradient boussole • 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.
Opérateur gradient boussole • Opérateurs de Kirch
Méthodes de seuillage • 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 :