Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parFrançois Aubé Modifié depuis plus de 9 années
1
Segmentation (2 ième partie) Références: Sonka et al: sections 6.2.6, 10.2 (10.6) Autres: chap. 15-16 Forsyth chap. 4 Ballard & Brown (pour GHT) Dernière révision: Patrick Hébert 2008
2
Identification de structures *tirée de Forsyth On ne cherche pas simplement à regrouper des éléments semblables mais plutôt des éléments qui forment un tout ayant des propriétés intéressantes.
3
Régression et segmentation Problème: regrouper des edgels (ou encore simplement des points d'arêtes) en des structures géométriques (segments de droite, cercles, formes quelconque, etc …) puis estimer les paramètres de ces structures
4
Trois classes de problèmes: 1. Déterminer les paramètres de la structure sachant que tous les points appartiennent à la même structure (régression) 2. Diviser un ensemble de points en K structures, K connu. Estimer les paramètres de chacune des structures. 3. Idem 2 mais K inconnu (problème général)
5
Première classe de problèmes: Estimation des paramètres *voir Rappel mathématique p.36 Exemple de la droite
6
Cas général (total least squares ou erreur dans les variables) On suppose une erreur sur x et sur y. La distance d'un point (x i,y i ) à une droite dans les conditions ci-haut: d = ax i + by i + c Les équations normales: voir p. 37-38 du Rappel mathématique
7
Robustesse Effet des points erratiques Solution: minimiser l'erreur médiane hypothèse: 50% de bons points
8
M-estimateurs *tirée de Forsyth Un choix possible
9
Algorithme M-Estimateur (minimisation non-linéaire) résiduel
10
Alternative: RANSAC- RANdom SAmple Consensus
11
Ajuster d'autres primitives
12
Seconde classe de problèmes Diviser un ensemble de points en K structures, K connu. Estimer les paramètres de chacune des structures. Solution basée sur K-means ou l’algorithme EM
13
Application de l’algorithme K-means On fixe le nombre de droites On choisit des solutions de départ i = (a i,b i,c i ) On minimise donc on associe chaque point à la droite la plus proche On réaffecte les points s’il y a lieu
14
Une approche probabiliste en segmentation et en régression: Introduction à l’algorithme EM Illustration avec une droite ajustée à partir d’un ensemble de points Si on connaît une droite de paramètres et que le modèle d’erreur est par exemple, gaussien (d’écart-type ), alors on peut générer un ensemble de points {x}
15
Suite … Pour deux droites Probabilité associée à un point Probabilité associée à un ensemble de points Probabilité associée à la droite l
16
Décision d’appartenance AB A = B AB A < B On minimise la probabilité d’une erreur de classification (aire en bleu pondérée par les probabilités associées à A et à B).
17
Suite … On cherche Si on connaissait la droite d’appartenance de chaque point, on pourrait calculer les l et on obtiendrait les l en comptant le nombre de points associés à chacune des droites De même, si on connaissait , on pourrait déterminer, pour chaque point, la droite d’appartenance la plus vraisemblable (et donc la segmentation) Problème: on ne connaît ni l’appartenance, ni
18
Suite … Principe de l’algorithme EM (Expectation- Maximization) On choisit/fixe l pour chaque classe d’appartenance. Pour chacun des points, on estime sa probabilité d’appartenance à chacune des classes (support map I) (étape Expectation). On réévalue la probabilité associée à chacune des classes ainsi que les paramètres de chacune des classes, , sur la base du maximum de vraisemblance. On itère sur les deux étapes précédentes tant qu’une solution stable n’est pas atteinte.
19
Suite …illustration r points K classes
20
Suite … étape E Pour des droites ou des segments, il suffit d’estimer les valeurs I jl au moyen de l'expresion de la page précédente Note: Pour le cas d’une droite l (où d’une structure géométrique), la probabilité d’appartenance est proportionnelle (modèle gaussien) à l’expression:
21
Suite … étape M Pour des droites, on procède donc à l’ajustement d’une droite pour chaque colonne en pondérant la contribution d’un point par I jl. Pour des segments dans une image, on calculera une moyenne pondérée des vecteurs descriptifs associés à chaque pixel ainsi que la covariance (moyenne pondérée des écarts à la moyenne!). Dans les deux cas, les valeurs l sont remises à jour.
22
Exemples d’applications de l’algorithme EM Segmentation basée sur la texture Segmentation basée sur le mouvement Extraction de droites Soustraction de fond Calcul automatique de la matrice fondamentale … Note: il faut une solution de départ!
23
Troisième classe de problèmes Diviser un ensemble de points en K structures, K inconnu. Estimer les paramètres de chacune des structures.
24
Quel point appartient à quel droite? exploiter la connectivité (suivi de contour) et l'orientation des edgels algorithme naif incrémental: Et la connectivité entre les segments? *de Forsyth
25
Division récursive d'une courbe en segments de droite on fixe un seuil E point le plus loin (Hypo: on connaît l'ordre des points) *pas d’estimation!
26
Transformée de Hough Une solution au problème général (3) Soit un ensemble de points d'arêtes, la stratégie est d'identifier les droites (ou autres structures) en déterminant toutes les droites qui peuvent passer par chacun des points. Une procédure de vote permet d’identifier les droites présentes.
27
Illustration Cette droite recevrait 3 votes
28
Mise en application La forme y = mx + b n’est pas intéressante car on ne peut traiter les droites verticales équivalent à x y
29
Mise en application (suite) On représente un espace discret (r,). On connaît r max. Pour un point x i,y i, on applique l’équation de la droite en variant et pour chaque valeur deon calcule r.
30
Mise en application (suite) r 0 1 1 1 1 1 1 1 1 1 1 1 Exemple d’accumulateur (1 point) 0
31
*tirée de Forsyth
32
Problèmes pratiques quantification de l'espace de Hough trop grossière -> fausses alarmes car fusion de droites de paramètres semblables trop fine -> manques en présence de bruit ne tient pas compte de la proximité des points
33
Améliorations on vote aussi pour les cases voisines avec un poids moindre ou bien à la fin, on intègre le vote des cases voisines avec un poids moindre selon la distance. Au lieu des points d’arêtes, on considère les edgels et leur orientation. On évite alors d’incrémenter plusieurs cases dans la table.
34
Autres structures Pourriez-vous exploiter la même idée pour extraire des cercles de rayon connu?
35
Transformée de Hough généralisée (GHT) Au lieu d'une droite, on cherche une forme quelconque Pour chaque edgel de l'image, on vote pour une position de la forme étant donné un edgel du modèle (s'il y a beaucoup de edgels dans l'image, on fera plutôt du template matching, i.e. glisser le patrons de edgels) très robuste aux occultations Implantation efficace (Ballard 1981!) Un patron de edgels! (template matching)
36
Illustration modèle Pour un edgel (rouge), on identifie toutes les possibilités de poses. Quelques-unes sont représentées ici.
37
GHT efficace *tirée de Ballard et Brown
38
Algorithme GHT Précalculer la R-table Initialiser l’accumulateur (quantifier) A(x min :x max,y min :y max, min : max,s min :s max ) Pour chaque edgel (en x,y) Calculer Calculer les centres possibles, i.e. Pour chaque valeur associée à dans la R-table Pour chaque angle Pour chaque échelle s xc=x+r( )Scos[ ( )+ ] yc=y+r( )Ssin[ ( )+ ] Incrémenter A(xc,yc,S, ) Identifier les maximums dans l’accumulateur A *voir aussi document generalizedhough.pdf dans la section références
39
Complément Courbes paramétriques Bases du maximum de vraisemblance (maximum likelihood) Diverses applications de RANSAC (ex: estimer une matrice fondamentale) Choix automatique d’un modèle
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.