Détection de contours automatique et application aux images réelles - Présentation du bureau d’étude - Détection de contours automatique et application aux images réelles en vision industrielle Alexandre Fournier ~ Jean-Sébastien Garcia DESS Ingénierie de l’Image - Mars 2000
Détection de contours automatique - Introduction - paramètre Filtrage But : détection automatique de contours et suivi. segmentation seuil vérification seuils Notre choix : Filtre gaussien et exponentiel élimination du bruit + détection des contours Performances
Détection de contours automatique Plan : I - La détection a) Principe b) Filtre gaussien c) Filtre exponentiel d) Segmentation et obtention des contours e) Choix automatique du paramètre de filtrage II - Suivi Niveau de gris Dérivée Dérivée seconde Passage par zéro bruit x Atténuation du bruit + Amplitude du gradient + Passages par zéro Contours
Détection de contours automatique Plan : I - La détection a) Principe b) Filtre gaussien-1 c) Filtre exponentiel d) Segmentation et obtention des contours e) Choix automatique du paramètre de filtrage II - Suivi : paramètre de filtrage Image g(0) g(1) g(-1) g(2) g(-2) g(x,) Perte de points
Détection de contours automatique Plan : I - La détection a) Principe b) Filtre gaussien-2. c) Filtre exponentiel d) Segmentation et obtention des contours e) Choix automatique du paramètre de filtrage II - Suivi Algorithme de calcul des dérivées I(x,y) I(x,y)
Détection de contours automatique Plan : I - La détection a) Principe b) Filtre gaussien c) Filtre exponentiel - 1 d) Segmentation et obtention des contours e) Choix automatique du paramètre de filtrage II - Suivi f1 - 1er balayage I1(0) = I0(0) I1(i) = aI0(i) + bI1(i-1) i = 1,2,…N-1 f2 – 2ème balayage I2(N-1) = I1(N-1) I2(i) = aI1(i) + bI(i+1) i = N-2,…1,0 avec 0<a,b< 1 et a+b =1 f1(x) I0 f2(x) I1
Détection de contours automatique Plan : I - La détection a) Principe b) Filtre gaussien c) Filtre exponentiel - 2. d) Segmentation et obtention des contours e) Choix automatique du paramètre de filtrage II - Suivi Algorithme de calcul des dérivées - + f1(y) f2(y) f1(x) f2(x) I0(i,j)*f2D(x,y) I0(i,j) lissage f(x) lissage f(y)
Détection de contours automatique Principe Plan : I - La détection a) Principe b) Filtre gaussien c) Filtre exponentiel d) Segmentation et obtention des contours - 1 e) Choix automatique du paramètre de filtrage II - Suivi Segmentation des niveaux de gris de l’amplitude du gradient avec un seuil k, en fonction des passages par zéro. Le seuil est calculé par la méthode du critère discriminant : maximisation de la variance interclasse.
Détection de contours automatique Difficultés à obtenir un seuil optimal : exemples de contours Plan : I - La détection a) Principe b) Filtre gaussien c) Filtre exponentiel d) Segmentation et obtention des contours - 2. e) Choix automatique du paramètre de filtrage II - Suivi sans bruit Filtre exponentiel (a = 0,9 à 0,3) Filtre gaussien ( = 0,4 à 3) avec bruit
Détection de contours automatique Plan : I - La détection a) Principe b) Filtre gaussien c) Filtre exponentiel d) Segmentation et obtention des contours e) Choix automatique du paramètre de filtrage -1 II - Suivi Basé sur un critère unique à minimiser : c et nc : variances des niveaux de gris dans l ’amplitude du gradient, respectivement pour les points de contours et non-contours. mc et mnc : idem pour les moyennes. Filtrage de l’image avec différentes valeurs du paramètre de filtre (a et ).
Détection de contours automatique Plan : I - La détection a) Principe b) Filtre gaussien c) Filtre exponentiel d) Segmentation et obtention des contours e) Choix automatique du paramètre de filtrage -2 II - Suivi Augmentation du lissage Augmentation du lissage
Détection de contours automatique Plan : I - La détection a) Principe b) Filtre gaussien c) Filtre exponentiel d) Segmentation et obtention des contours e) Choix automatique du paramètre de filtrage - test. II - Suivi Filtre exponentiel a=0,9 (k=6) a=0,75 (k=5) Filtre gaussien =0,4 (k=3) =0,4 (k=9)
Détection de contours automatiques Plan : I - Détection II - Le suivi a) rôle du suivi b) première démarche c) détection des sauts d) mémorisation des embranchements e) arborescence f) élimination des faux contours application d’outils de la morphologie mathématique Ouverture + fermeture avec différents paramètres Suivi de contour
Détection de contours automatiques Plan : I - Détection II - Le suivi a) rôle du suivi b) première démarche c) détection des sauts d) mémorisation des embranchements e) arborescence f) élimination des faux contours Importance de l ’ordre dans la détection Cas limite du suivi « simple »
Détection de contours automatiques Plan : I - Détection II - Le suivi a) rôle du suivi b) première démarche c) détection des sauts d) mémorisation des embranchements e) arborescence f) élimination des faux contours Détection d ’un saut dans 1 seule liste chaînée Résultat 1 2 3 4 Saut Delta x = 0Delta x = 0Delta x = 1Delta x = 1Delta x = 2 Delta y = 1Delta y = 1Delta y = 0Delta y = 0Delta y = 1
Détection de contours automatiques Plan : I - Détection II - Le suivi a) rôle du suivi b) première démarche c) détection des sauts d) mémorisation des embranchements e) arborescence f) élimination des faux contours perte d ’information : pas de mémorisation des embranchements
Détection de contours automatiques Plan : I - Détection II - Le suivi a) rôle du suivi b) première démarche c) détection des sauts d) mémorisation des embranchements e) arborescence f) élimination des faux contours Deuxième méthode : on empile chaque voisins, on en dépile un, on le suit. Une fois arrivé au bout, on dépile un point et on le suit. (1,1) (2,1) Pile Suivi du dernier point Point contour Mémorisation dans la pile Contour à suivre Voisins 8-connexes Branche 1 Branche 2 . . . (1,1) (2,1) (8,4) (8,5) Listes chaînées des contours Chaque branche = 1 chaîne mais pas de parenté
Détection de contours automatiques Plan : I - Détection II - Le suivi a) rôle du suivi b) première démarche c) détection des sauts d) mémorisation des embranchements e) arborescence f) élimination des faux contours Par arborescence : Branche mère Branche fille 1 Branche fille 2 Branche fille 11 Branche fille 12 ma fille ma sœur Liste chaînée de points = tête de liste = parenté des branches au niveau des nœuds
Détection de contours automatiques Plan : I - Détection II - Le suivi a) rôle du suivi b) première démarche c) détection des sauts d) mémorisation des embranchements e) arborescence f) élimination des faux contours Élimination par seuil bas et haut : seuil bas : on garde les petites chaînes ayant une correspondance dans les maximums de l ’amplitude du gradient seuil haut : nombre limite de points de contour / chaîne Amplitude du gradient contours résultat
Détection de contours automatique ~ Conclusion ~ Résultats dépendants du seuil, qui lui, dépend de l ’image Filtre exponentiel plus rapide Choix des contours suivis non optimal Seuil de tolérance pour l ’élimination des branches lié à l ’image Application du cours et enrichissement personnel