Détection de contours automatique et application aux images réelles en vision industrielle...
-
Upload
marquite-motte -
Category
Documents
-
view
108 -
download
1
Transcript of Détection de contours automatique et application aux images réelles en vision industrielle...
Détection de contours automatique
et application aux images réelles
en vision industrielle
Alexandre Fournier ~ Jean-Sébastien GarciaDESS Ingénierie de l’Image - Mars 2000
- Présentation du bureau d’étude -
Détection de contours automatique
- Introduction -
But :
détection automatique de contours et suivi.
Notre choix :
Filtre gaussien et exponentiel élimination du bruit
+ détection des contours Performances
paramètre Filtrage
segmentationseuil
vérificationseuils
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
Détection de contours automatique
Atténuation du bruit
+ Amplitude du gradient
+ Passages par zéro
Contours
Niveau de gris Dérivée
Dérivée seconde
Passage par zéro
bruit
x
Plan :
I - La détectiona) Principe
b) Filtre gaussien-1
c) Filtre exponentiel
d) Segmentation et obtention des contours
e) Choix automatique du paramètre de filtrage
II - Suivi
Détection de contours automatique
ex
xg ²2
²
2
1),(
g(0) g(1)g(-1) g(2)g(-2)
g(x,)
Image
Perte de points
: paramètre de filtrage
Plan :
I - La détectiona) Principe
b) Filtre gaussien-2.
c) Filtre exponentiel
d) Segmentation et obtention des contours
e) Choix automatique du paramètre de filtrage
II - Suivi
Détection de contours automatique
),( xgdx
d
),( ygdy
d
),,(),( yxgyxIx
),,(),( yxgyxIy
I(x,y)
),( yg
),( xg
),(2
2
xgdx
d
),(2
2
ygdy
d
),,(),(2
2
yxgyxIx
),,(),(2
2
yxgyxIy
),( yg
),( xg
I(x,y)
Algorithme de calcul des dérivées
Plan :
I - La détectiona) Principe
b) Filtre gaussien
c) Filtre exponentiel - 1
d) Segmentation et obtention des contours
e) Choix automatique du paramètre de filtrage
II - Suivi
Détection de contours automatique
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
xpep
xf .
2)(
f1(x)
I0
f2(x)
I1
Plan :
I - La détectiona) Principe
b) Filtre gaussien
c) Filtre exponentiel - 2.
d) Segmentation et obtention des contours
e) Choix automatique du paramètre de filtrage
II - Suivi
Détection de contours automatique
- +
f1(y) f2(y)
- +
f1(y) f2(y)
- +
- +
f1(x) f2(x) f1(y) f2(y) I0(i,j)*f2D(x,y)I0(i,j)
lissage f(x) lissage f(y)
y)(x,f*j)(i,I 2D0y
y)(x,f*j)(i,I 2D02
2
y
y)(x,f*j)(i,I 2D0x
y)(x,f*j)(i,I 2D02
2
x
Algorithme de calcul des dérivées
Plan :
I - La détectiona) Principe
b) Filtre gaussien
c) Filtre exponentiel
d) Segmentation et obtention des contours - 1
e) Choix automatique du paramètre de filtrage
II - Suivi
Détection de contours automatique
PrincipeSegmentation 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.
Plan :
I - La détectiona) Principe
b) Filtre gaussien
c) Filtre exponentiel
d) Segmentation et obtention des contours - 2.
e) Choix automatique du paramètre de filtrage
II - Suivi
Détection de contours automatique
Difficultés à obtenir un seuil optimal : exemples de contours
Filtre exponentiel (a = 0,9 à 0,3) Filtre gaussien ( = 0,4 à 3)
sans bruit
avec bruit
Plan :
I - La détectiona) Principe
b) Filtre gaussien
c) Filtre exponentiel
d) Segmentation et obtention des contours
e) Choix automatique du paramètre de filtrage -1
II - Suivi
Détection de contours automatique
ncc
ncc
mmcrit
22
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 ).
Plan :
I - La détectiona) Principe
b) Filtre gaussien
c) Filtre exponentiel
d) Segmentation et obtention des contours
e) Choix automatique du paramètre de filtrage -2
II - Suivi
Détection de contours automatique
Filtre exponentiel - image test bruit uniforme (7%)
0
2000000
4000000
6000000
8000000
10000000
12000000
14000000
16000000
0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9
paramètre a
cri
tère
a optimal = 0,75
Filtrage Gaussien - image test, bruit uniforme (7%)
0
1000000
2000000
3000000
4000000
5000000
6000000
7000000
0 0,5 1 1,5 2 2,5 3 3,5 4 4,5
paramètre sigma
cri
tère
sigma optimal = 0,4
Augmentation du lissage
Augmentation du lissage
Plan :
I - La détectiona) Principe
b) Filtre gaussien
c) Filtre exponentiel
d) Segmentation et obtention des contours
e) Choix automatique du paramètre de filtrage - test.
II - Suivi
Détection de contours automatique
Filtre exponentiel a=0,9 (k=6)
a=0,75 (k=5)
Filtre gaussien =0,4 (k=3)
=0,4 (k=9)
Plan :
I - Détection
II - Le suivia) 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
Détection de contours automatiques
Suivi de contour
Importance de l ’ordre dans la détection
Cas limite du suivi « simple »
Plan :
I - Détection
II - Le suivia) 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 de contours automatiques
Détection d ’un saut dans 1 seule liste chaînée
Résultat
Plan :
I - Détection
II - Le suivia) 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 de contours automatiques
1 2 1 3 2 31 1 3 3 1 4
Saut
Delta x = 0Delta x = 0Delta x = 1Delta x = 1Delta x = 2Delta y = 1Delta y = 1Delta y = 0Delta y = 0Delta y = 1
Plan :
I - Détection
II - Le suivia) 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 :
Détection de contours automatiques
pas de mémorisation des embranchements
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.
Plan :
I - Détection
II - Le suivia) 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 de contours automatiques
(1,1)
(2,1)Pile
Suivi du dernier point
Point contour
Mémorisation dans la pileContour à 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é
Par arborescence : Plan :
I - Détection
II - Le suivia) 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 de contours automatiques
Branche mère
Branche fille 1
Branche fille 2
Branche fille 11
Branche fille 12
ma fille
ma sœur
ma fille
ma sœur
Liste chaînée de points
Liste chaînée de points
Liste chaînée de points
= tête de liste
= parenté des branches au niveau des nœuds
É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
Plan :
I - Détection
II - Le suivia) 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 de contours automatiques
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