Introduction à la reconnaissance: Références: Sonka et al: sections 9.2 jusqu’à 9.2.3 Autres références: chap. 22 de Forsyth Duda, Hart et Stork Dernière révision P. Hébert 2008
Deux problèmes distincts Classification: action de former des classes (catégories) d'objets (en anglais «clustering»). ---> apprentissage non supervisé Classement: action de décider à quelle classe (catégorie) appartient un objet (en anglais «classification»). ---> apprentissage supervisé
Forme? Définition: concept abstrait représentant une catégorie (classe) d'objets que l'on veut reconnaître. ---> reconnaissance de formes Représentation: implique plus souvent qu'autrement un espace vectoriel. ---> espace de représentation
Poisson??
Segmentation/reconnaissance Il faut segmenter pour pouvoir reconnaître; Mais il faut reconnaître pour pouvoir segmenter!
Représentation Mesurer des propriétés: Primitives élémentaires couleur, texture; géométrie: longueur, hauteur, ratios, etc.; Construire un vecteur. ---> approches statistiques Primitives élémentaires segments de droite, arcs de cercle; regroupements perceptuels; construire un graphe. ---> approches structurelles On peut reconnaître les objets par un patron de caractérisitiques.
Exemple Quels sont les objets présents dans cette image? Y a-t-il une balle? Qu'est-ce qu'une balle? ---> rond?
--Périmètre2 / surface Cercle: (2πr)2 / πr 2 = 4π = 12.6 Carré: (4c)2 / c2 = 16 Rectangle: (2l+2h)2 / lh = 4(l/h + h/l + 2) l = 2h ---> 4 x 4.5 = 18
--Autre exemple Les caractères que vous lisez sur cette page: Exemples de propriétés: Nombre de pixels noirs Nombre de traits Nombre de trous Axes d’inertie Longueur et largeur de la boîte englobante
--Exemple (suite) Reconnaissance de visages Une image peut être vue comme un vecteur de pixels! La taille doit être normalisée. *tirée de Forsyth
Comment traiter le problème? Il faut choisir une représentation du vecteur de propriétés qui décrira les modèles et qui pourra être extraite d’une ou de plusieurs images. Il faut définir un mode d’apprentissage des modèles. Il faut formaliser une stratégie de reconnaissance à partir d’une image.
Définitions Classe (Ci): ensemble d’appartenance pour des objets ayant des propriétés communes. Une classe possède une étiquette d’identification. Pour chacune des classes, on connaît une description ou une suite d’exemples. Classe de rejet (Cr): classe pour les objets non classables. Classifieur: Un algorithme ou système qui prend en entrée un vecteur de propriétés d’un objet et qui sort l’étiquette de la classe d’appartenance. Capteur: Un système physique et logiciel qui permet de saisir un objet physique et d’en extraire un vecteur de propriétés.
Structure d’un classifieur *tirée de Shapiro
Performance d’un classifieur Erreur de classement: un objet appartient à la classe Ci alors que la sortie est Cj avec i ≠ j. Taux d’erreur empirique: ratio du nombre d’erreurs dans un ensemble indépendant de test sur le nombre d’essais. Taux de rejet: ratio du nombre de rejets dans un ensemble indépendant de test sur le nombre d’essais. Ensemble indépendant de test: ensemble d’objets dont les classes d’appartenance sont connues (incluant des objets de Cr) et qui n’ont pas servis à la construction des modèles de classe.
Performance (suite …) Décision binaire: un objet est présent ou absent Fausse alarme: un objet est signalé présent alors qu’il ne l’est pas Manque: un objet n’est pas signalé présent alors qu’il l’est. Coût associé à une mauvaise décision: L(i->j), un objet de la classe Ci classé comme un objet de la classe Cj; L(i->i)=0 Exemple: diagnostic en médecine!
ROC: Receiver Operating Curve *tirée de Forsyth
Performance (suite …) Le compromis précision vs rappel Définition pour deux classes (généralisable) Précision: ratio du nombre d’objets bien classés sur le nombre total d’objets classés dans cette classe. Rappel: ratio du nombre d’objets bien classés sur le nombre total d’objets qui auraient dû être classifiés dans cette classe.
Exemple précision vs rappel Precision:
précision vs rappel
La matrice de confusion *tirée de Shapiro
Cumulative Match Scores
--Représentation vectorielle *tirée de Shapiro
-- Métriques de distance Distance euclidienne: ne considère pas la distribution Variation avec échelle: Distance de Mahalanobis: matrice de covariance
Lien entre les distances et les probabilités Hypothèse d’une distribution gaussienne multidimensionnelle: En 2D, l’intersection de la distribution avec un plan horizontal (de probabilité constante) est une ellipse.
Distance de Mahalanobis en 2D: illustration La distance est la même sur les contours elliptiques *tirée de Duda
Classifieur bayesien On dispose d’un modèle paramétrique On veut fixer un seuil: II I P(x|Ci)P(Ci) t Référence: classe I-> Fausses alarmes manques
Définitions P(x): probabilité P(x|Ci): probabilité conditionnelle P(Ci): probabilité a priori P(Ci|x): probabilité a posteriori Règle de Bayes:
Règle de Bayes x
Minimisation du risque Il y a un coût associé à un mauvais classement : L(i ->j) On veut minimiser le risque associé à une stratégie, i.e. l’espérance du coût
Suite … Le seuil de décision: seuil pour lequel les deux classes représentent le même coût moyen Bayes: x
Classifieur bayesien avec rejet *tirée de Forsyth
Construire un classifieur Deux approches: Développer un modèle explicite (paramétrique) des probabilités Trouver directement les frontières de décision à partir de l’ensemble d’entraînement sans passer par les probabilités
Approche 1 À l’entraînement, on estime les paramètres des distributions “supposées” et les a priori à partir des ensembles d’entraînement Remarques: La meilleure estimation d’un paramètre ne donne pas nécessairement le meilleur classifieur car le modèle supposé n’est pas forcément correct Un bon classifieur peut être obtenu même si le modèle ne décrit pas bien les distributions
Exemple *tirée de Forsyth
Cas de N classes *tirée de Forsyth volume distribution probabilité a priori Mahalanobis *tirée de Forsyth
Approche 2 Classifieur basé sur les plus proches voisins On ne connaît pas la distribution pour chaque classe On exploite directement l’ensemble d’entraînement Idée: classer un objet à partir d’un vote par les K objets d’entraînement les plus près de lui Plus coûteux en calcul x -
K plus proches voisins *tirée de Forsyth
Comment améliorer la performance des classifieurs? Tester avec des données indépendantes. Attention au sur-apprentissage, i.e. des décisions trop près du jeu d’entraînement (cas limite: 100% si les propriétés sont les mêmes et complètement aléatoires autrement). Il faut une capacité de généralisation.
Complément: Deux méthodes d’amélioration La cross-validation: on peut diviser l’ensemble d’entraînement en 2. On entraîne alors avec le premier sous-ensemble et on teste avec le second. *tirée de Forsyth
Complément: Suite … Le “bootstrap” Idée: inclure le sous-ensemble, parmi l’ensemble d’entraînement, qui soit le plus significatif au lieu de tout prendre Comment? On divise en deux sous-ensembles On classifie avec un des sous-ensembles On ré-entraîne en insérant les manques et les fausses alarmes dans le sous-ensemble d’entraînement.
Complément: Apprentissage- choix des caractéristiques Analyse en composantes principales On calcule la matrice de covariance des vecteurs caractéristiques
Complément: ACP (suite) On extrait les vecteurs et valeurs propres de la matrice de covariance. Les vecteurs propres représentent une base. Les vecteurs propres associés aux plus grandes valeurs propres sont plus importants (compression).
Complément: Exemple: les eigenfaces *tirée de Forsyth
Complément: Exemple
Complément Autres types d’apprentissage Méthodes structurelles Réseaux de neurones Clustering (apprentissage non supervisé) Construction automatique d’arbres de décision Méthodes structurelles vs