Chapitre 3 : Détection des contours Professeur M. Talibi Alaoui Département Mathématiques et Informatique
Introduction Les contours constituent une information essentielle pour certaines applications de traitement d’images. Les contours d’un objet permettent en général de caractériser sa forme.
La détection des contours peut être réalisé grâce à des filtres dont les cœfficients sont soigneusement choisis. Nous aborderons dans ce chapitre trois jeux de filtres particuliers : Filtre de Prewitt. Filtre de Roberts. Filtre de Sobel.
La détection des contours se fait dans les deux directions orthogonales. Certains filtres sont définis sous Matlab, et on peut les obtenir grâce à la fonction fspecial
Après une première familiarisation avec les trois détecteurs de contours, nous réaliserons une expérimentation permettant de comparer leurs performances. Nous terminerons par l’application d’une méthode d’apprentissage automatique à la détection de contours.
Filtres de Prewitt Les filtres de Prewitt sont les suivants : Filtre horizontal : Filtre vertical :
Si l’on souhaite obtenir une image de contour unique, ne tenant pas compte de l’orientation, on calcule : On cherchera souvent à obtenir une image de contour binaire. Exemple
Filtres de Sobel : Les filtres de Sobel sont les suivants : Filtre horizontal : Filtre vertical : Exemple
Filtres de Roberts Les filtres de Roberts sont les suivants : Filtre diagonal : Filtre anti-diagonal : Exemple
Comparaison de filtres de détection de contours Principe de l’expérimentation : Comparer les performances des filtres de Prewitt, Sobel et Roberts. Nous allons créer une image contenant un contour Vertical, et nous allons estimer, pour chaque filtre, deux grandeurs caractéristiques : La probabilité de détection La probabilité de fausses alarme
La probabilité de détection : pourcentage de points de contours correctement détectés. La probabilité de fausses alarmes : pourcentage de points hors contour détectés à tort comme contour.
Pour simplifier la comparaison, on réglera les seuil de manière à avoir à peu prés la même probabilité de fausses alarmes pour les trois filtres. Il suffira alors de comparer les probabilités de détection.
Calcul d’un détecteur de contour par apprentissage Pour calculer un filtre par apprentissage, on crée une base d’exemples, contenant des contours et des zones uniformes. Pour chaque exemple, on indique la réponse que l’on souhaite. La méthode d’apprentissage calcule automatiquement le filtre qui donne les réponses les plus proches de celles qui sont indiquées.
Nous allons chercher à calculer un filtre détecteur de contours verticaux.