AccueilđŸ‡«đŸ‡·Chercher

Filtre de Canny

Le filtre de Canny (ou dĂ©tecteur de Canny) est utilisĂ© en traitement d'images pour la dĂ©tection des contours. L'algorithme a Ă©tĂ© conçu par John Canny en 1986 pour ĂȘtre optimal suivant trois critĂšres clairement explicitĂ©s :

  1. bonne détection : faible taux d'erreur dans la signalisation des contours,
  2. bonne localisation : minimisation des distances entre les contours détectés et les contours réels,
  3. clarté de la réponse : une seule réponse par contour et pas de faux positifs
Image originale
Image résultante de l'application du filtre de Canny

Mise en Ɠuvre

RĂ©duction du bruit

Image obtenue aprĂšs application d'un flou gaussien 5x5.

La premiÚre étape est de réduire le bruit de l'image originale avant d'en détecter les contours. Ceci permet d'éliminer les pixels isolés qui pourraient induire de fortes réponses lors du calcul du gradient, conduisant ainsi à de faux positifs.

Un filtrage gaussien 2D est utilisé (voir l'article Lissage d'images), dont voici l'opérateur de convolution :

et un exemple de masque 5 × 5 discret avec σ = 1,4 :

Usuellement, un filtre est de taille plus réduite que l'image filtrée. Plus le masque est grand, moins le détecteur est sensible au bruit et plus l'erreur de localisation grandit.

Gradient d'intensité

AprĂšs le filtrage, l'Ă©tape suivante est d'appliquer un gradient qui renvoie l'intensitĂ© des contours. L'opĂ©rateur utilisĂ© permet de calculer le gradient suivant les directions X et Y, il est composĂ© de deux masques de convolution, un de dimension 3 × 1 et l'autre 1 × 3 :

La valeur du gradient en un point est approchée par la formule :

et la valeur exacte est :

Direction des contours

Les orientations des contours sont déterminées par la formule :

Nous obtenons finalement une carte des gradients d'intensité en chaque point de l'image accompagnée des directions des contours.

Suppression des non-maxima

La carte des gradients obtenue précédemment fournit une intensité en chaque point de l'image. Une forte intensité indique une forte probabilité de présence d'un contour. Toutefois, cette intensité ne suffit pas à décider si un point correspond à un contour ou non. Seuls les points correspondant à des maxima locaux sont considérés comme correspondant à des contours, et sont conservés pour la prochaine étape de la détection.

Un maximum local est prĂ©sent sur les extrema du gradient, c'est-Ă -dire lĂ  oĂč sa dĂ©rivĂ©e selon les lignes de champs du gradient s'annule.

Seuillage des contours

La différenciation des contours sur la carte générée se fait par seuillage à hystérésis.

Cela nécessite deux seuils, un haut et un bas; qui seront comparés à l'intensité du gradient de chaque point. Le critÚre de décision est le suivant. Pour chaque point, si l'intensité de son gradient est :

  • InfĂ©rieur au seuil bas, le point est rejetĂ© ;
  • SupĂ©rieur au seuil haut, le point est acceptĂ© comme formant un contour ;
  • Entre le seuil bas et le seuil haut, le point est acceptĂ© s'il est connectĂ© Ă  un point dĂ©jĂ  acceptĂ©.

Une fois ceci réalisé, l'image obtenue est binaire avec d'un cÎté les pixels appartenant aux contours et les autres.

ParamĂštres

Les deux paramÚtres principaux déterminant le temps de calcul et l'acuité de l'algorithme sont la taille du filtre gaussien et les deux seuils.

  • Taille du filtre: le filtre utilisĂ© lors de la rĂ©duction du bruit a une influence directe sur le comportement de l'algorithme. Un filtre de petite taille produit un effet de flou moins prononcĂ©, ce qui permet la dĂ©tection de petites lignes bien marquĂ©es. Un filtre de taille plus grande produit un effet de flou plus important, ce qui permet de dĂ©tecter des contours moins nets, par exemple celui d'un arc-en-ciel.
  • Seuils: l'utilisation de deux seuils au lieu d'un amĂ©liore la flexibilitĂ© mais certains problĂšmes propres au seuillage demeurent. Ainsi, un seuil trop bas peut conduire Ă  la dĂ©tection de faux positifs. Inversement, un seuil trop haut peut empĂȘcher la dĂ©tection de contours peu marquĂ©s mais reprĂ©sentant de l'information utile.

Il n'existe pas actuellement de méthode générique pour déterminer des seuils produisant des résultats satisfaisants sur tous les types d'images. Toutefois, il existe des méthodes statistiques permettant d'obtenir automatiquement une valeur du seuil haut convenable (Ch Ho) , la valeur du seuil bas étant un pourcentage du seuil haut.

Bibliographie

Références

Voir aussi

Articles connexes

Liens externes

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplĂ©mentaires peuvent s’appliquer aux fichiers multimĂ©dias.