10/10/2012 Reconnaissance d'objets routiers - Théorie Perception pour la conduite automatisée A07 : Interaction Véhicule – Environnement Aurélien Cord [email protected] 1 INTRODUCTION 2 1 10/10/2012 Reconnaissance Définition : 3 Objets routiers (1) Reconnaissance d’objets routiers Signalisation horizontale Objets verticaux 4 2 10/10/2012 Objets routiers (2) Différences entre signalisation horizontale et objets verticaux : 5 Atouts 6 3 10/10/2012 Couplage Possibilité de couplage avec : Suivi de cible (vidéo) Stéréovision Laser (LIDAR) Radar 7 Contraintes 8 4 10/10/2012 QUELS TYPES D’OBJET ? 9 Panneaux Utilité Connaître la signalisation (limite de vitesse…) Surtout pour les temporaires, mais cas le plus difficile. Utilité pour un conducteur (ADAS) ? Infrastructure communicante ! Utile pour le gestionnaire de route : Examen du réseau Saillance --> détection et présentation des panneaux difficilement discernables 10 5 10/10/2012 Panneaux Moyens 11 Saillance 12 6 10/10/2012 Panneaux Difficultés : 13 Piétons Utilité Protection des vulnérables Assistance à la conduite Freinage d’urgence Automatisation Basse Vitesse (Autolib) 14 7 10/10/2012 Piétons Moyens 15 Piétons Difficultés 16 8 10/10/2012 Véhicules Utilité ACC Détection de choc (Freinage d’Urgence) Planification de trajectoires 17 Véhicules Moyens 18 9 10/10/2012 Véhicule Difficultés 19 Bilan Entrée : Image / Vidéo Sortie : Liste des objets avec : Moyens : Caractéristique (ex : type de panneaux) Position (2D / 3D) Parcours de l’image et analyse de ROI, multi-échelles Comment faire ? 20 10 10/10/2012 APPRENTISSAGE AUTOMATIQUE : GÉNÉRALITÉS 21 Apprentissage 1. 2. 3. ... le tout automatiquement (sans intervention humaine) 22 11 10/10/2012 Deux catégories 1. 2. cas non supervisé : cas supervisé 23 Apprentissage supervisée Transformation d’un descripteur en une probabilité d’appartenance à chaque groupe. Données : Classes : Y { y1 ,, yn }, y Reconnaissance de forme : 24 12 10/10/2012 Apprentissage supervisé Le type d’apprentissage dépend de la nature de Y Y = Rq : régression (multiple) de y en x Y = {1, . . . , q} : discrimination en q classes Y = {−1, 1} : discrimination en 2 classes 25 Méthodes Nombreuses et variées : k plus proches voisins Analyse linéaire discriminante SVM LASSO Réseau de neurones Adaboost Dans ce cours, nous aborderons plusieurs d’entre elles. 26 13 10/10/2012 RECONNAISSANCE DE FORMES EN IMAGE 27 En Ligne Schéma de principe (1) ROI Descripteurs Classification 28 14 10/10/2012 Descripteur Vecteur de description d'une ROI/imagette, par exemple : L’imagette. Couleur Forme Texture 29 Difficultés 1. Variabilité des cibles. 2. Temps réel => Besoin de sélectionner les descripteurs automatiquement 30 15 10/10/2012 Hors Ligne Base Image En Ligne Schéma de principe (2) ROI Sélection des Fonction de descripteurs classification Descripteurs Classification 31 Hors Ligne Base Image Sélection des Fonction de descripteurs classification En Ligne Défis ROI Descripteurs Classification 32 16 10/10/2012 Hors Ligne Base Image Sélection des Fonction de descripteurs classification En Ligne Défis ROI Descripteurs Classification 33 Hors Ligne Base Image Sélection des Fonction de descripteurs classification En Ligne Défis ROI Descripteurs Classification 34 17 10/10/2012 Hors Ligne Base Image Sélection des Fonction de descripteurs classification En Ligne Défis ROI Descripteurs Classification 35 EVALUATION D’UN APPRENTISSAGE 36 18 10/10/2012 Hors Ligne Base Image Sélection des Fonction de descripteurs classification En Ligne Défis : Rappel ROI Descripteurs Classification Comment évaluer la performance d’une méthode d’apprentissage : trouver le bon « f » 37 Exemple : k plus proches voisins Algorithme simple, relativement efficace, avec de bonnes propriétés théoriques Données : n observations X est muni d’une distance d un paramètre k entier strictement positif 38 19 10/10/2012 Exemple : k plus proches voisins Algorithme pour une nouvelle observation x : calcul des d(x, xi ) tri par ordre croissant, prédiction y pour x : la valeur majoritaire dans les k valeurs yj1 , . . . , yjk 39 Exemple 40 20 10/10/2012 Exemple 41 Exemple 42 21 10/10/2012 Exemple 43 Exemple 44 22 10/10/2012 Exemple 45 Remarques Petite valeur de k : Grande valeur de k : Comment choisir k ? 46 23 10/10/2012 Erreur d’apprentissage Lors d’un apprentissage, il faut évaluer la performance du modèle f pour A bannir : On entraîne l'algo d'apprentissage avec notre ensemble d'entraînement et ensuite nous testons l'algo avec le même ensemble de données 47 Comment choisir k ? Première idée : On sépare les données disponibles en 2 : Entraînement / Test Calcul de l'erreur de généralisation avec l'ensemble de test 48 24 10/10/2012 Validation croisée (cross-validation) Que faire quand nous n'avons pas beaucoup de données et que l'algo a besoin de « toutes » les données ? Validation croisée Principe : Diviser les données disponible en k groupes TEST TRAIN Pour chaque groupe : apprentissage sur les autres et test sur lui Erreur de généralisation = moyenne des erreurs de test 49 Happy Curve Erreur Test Train 1/koptimal 1/k k = taux de régularisation (plus k diminue plus le modèle se complexifie) 50 25 10/10/2012 Critère d’évaluation Matrice de confusion Pour un jeu de paramètres de la fonction de classification 51 Critère d’évaluation Courbe ROC : 52 26 10/10/2012 Critère d’évaluation Courbe ROC : 53 Critère d’évaluation Courbe ROC : 54 27 10/10/2012 SELECTION DE VARIABLES 55 Hors Ligne Base Image Sélection des Fonction de descripteurs classification En Ligne Défis ROI Descripteurs Classification 56 28 10/10/2012 Sélection de variables Problématique Grande base de données, index très riche et très complexe Application « temps réel » spécifique Ex. Généricité 57 Méthodes 1/3 Par filtrage 1. 2. 58 29 10/10/2012 Méthodes 2/3 Ascendante 1. 2. 3. 4. 59 Méthodes 2.5/3 Descendante 1. 2. 3. 4. Apprentissage avec tous les descripteurs sauf un. Eviction du moins bon. Apprentissages avec la sélection moins chacun des descripteurs restant. Eviction du moins bon. Réitération au 2. Sélection du nombre de descripteur pertinent en utilisant le minimum de l’erreur de généralisation Attention au sur-apprentissage ! 60 30 10/10/2012 Méthodes 3/3 Méthode d’apprentissage spécifique LARS-LASSO Méthode d’apprentissage parcimonieuse, i.e. recherche de la combinaison de variables la plus pertinente en forçant un maximum d’entre elle à zéro AdaBoost Il repose sur la sélection itérative de classifieurs faibles en fonction d'une distribution des exemples d'apprentissage. Chaque exemple est pondéré en fonction de sa difficulté avec le classifieur courant. 61 Exemple d’un AdaBoost Classifieur : Séparation verticale ou horizontale avec un seuil. 62 31 10/10/2012 Etape 1 63 Etape 2 64 32 10/10/2012 Etape 3 65 Classifieur Final 1.99 0.15 1.15 -0.15 -0.69 -1.99 66 33 10/10/2012 Algorithme Soit Initialisation des poids Pour i = 1 à p et Y = {−1, 1} Trouver le classifieur hi qui minimise l’erreur : Si l’erreur est > 0.5, l’algorithme s’arrête Le poids du classifieur hi est : Mise à jour des poids : Classifieur final : 67 Cascade Pour des algorithmes de classification nécessitant une forte réactivité. Ex. détection de véhicule sur des images. Principe de la partie « en ligne » : Image Desc. 1 & tri Normale Desc. 2 & tri Cible Normale Desc. n & tri Normale Cible Cible Descripteurs de complexité croissante. 68 34 10/10/2012 Hors Ligne Base Image Sélection des Fonction de descripteurs classification En Ligne Conclusion ROI Descripteurs Classification 69 ANALYSE EN COMPOSANTES PRINCIPALES (RAPPEL ?) 70 35 10/10/2012 ACP : Introduction 71 ACP : Principe Analyse de la structure de la matrice variancecovariance (dispersion des données). Objectif de l’ACP: décrire à l’aide de k < d composantes un maximum de cette variabilité. Ce qui permet : Étape préliminaire souvent utilisée avant d’autres analyses ! 72 36 10/10/2012 ACP : géométriquement u2 D2 u1 Composantes : u1 ,…, uh,…, uk uh = combinaison linéaire des variables d’origine X1,…, Xd : D1 Coefficients aih à déterminer telle que les uh soient: • 2 à 2 non corrélées, • de variance maximale, • d’importance décroissante. u1 de variance maximale les projections des xi sont les plus dispersées possible. 73 Projection de la variance Données centrées [n,d] : Avec : Matrice de variance covariance [n n] : Projection sur une droite de vecteur v : 74 37 10/10/2012 Maximisation de la variance projetée On recherche max de σv avec v unitaire : On pose (fonction de Lagrange) : Condition nécessaire : D'où : 75 Maximisation de la variance projetée On cherche donc v tel que : Or est symétrique définie positive donc décomposables dans une base de vecteurs propres orthonormée. La variance vaut : Ainsi la solution est de projeter les données sur le vecteur propre ayant la valeur propre λ la plus élevée. 76 38 10/10/2012 Résumé de l'ACP 1. Centrage des données / variables 2. Calcul de la matrice de variance-covariance 3. Diagonalisation de et classement par valeurs propres décroissantes Remarque : La somme des valeurs propres correspond à la variance totale : Chaque valeur propre mesure la part de variance expliquée par l’axe ACP correspondant 77 Résumé de l'ACP L’ACP remplace les d variables de départ en k nouvelles composantes (k ≤ d) Ui orthogonales 2 à 2 c-à-d cov(Uh , Uh’) = 0 (pour tout h ≠ h’ ), de variances maximales telles que V(U1) ≥ V(C2) … ≥ V(Ck) Le nombre maximum de composantes principales k ≤ d avec k < d dès que l’une des variables d’origine est une combinaison linéaire d’autres! mise en évidence de relations linéaires dans les données les données occupent, en réalité, un sous-espace de dimensions réduites (k < d ) Géométriquement : revient à projeter les données dans un sous-espace de dimension k, centré sur g, reprenant les k premiers axes principaux d’allongement du nuage 78 39 10/10/2012 ANALYSE LINEAIRE DISCRIMINANTE 79 Analyse Linéaire Discriminante Objectif: Méthode proche de l’ACP : transformation linéaire des variables (changement de repère) mais en prenant en compte les classes des individus. Restriction : les variables X doivent être quantitatives 80 40 10/10/2012 ALD : Méthode Déterminer des facteurs, combinaisons linéaires des variables descriptives d’origine, qui prennent des valeurs les + proches possible pour des éléments de la même classe, et les + éloignées possible entre éléments de classes différentes. (= facteurs discriminants) 81 ALD : Méthode Déterminer des facteurs, combinaisons linéaires des variables descriptives d’origine, qui prennent des valeurs les + proches possible pour des éléments de la même classe, et les + éloignées possible entre éléments de classes différentes. (= facteurs discriminants) ACP 1 82 41 10/10/2012 ALD : Méthode Déterminer des facteurs, combinaisons linéaires des variables descriptives d’origine, qui prennent des valeurs les + proches possible pour des éléments de la même classe, et les + éloignées possible entre éléments de classes différentes. (= facteurs discriminants) ALD 1 ACP 1 La projection des données sur le premier axe ALD a : • Une variance intra-classe minimale • Une variance inter-classe maximale 83 Quelques notations Données : Classes : Y { y1 ,, yn }, y Centre de gravité = g Centre de gravité de la classe k = g(k) Dans la suite xi est un vecteur colonne 84 42 10/10/2012 Idée générale La variance se décompose en intra-classe et inter-classe : 85 Décomposition de la variance [email protected] 86 43 10/10/2012 Décomposition de la variance 87 Idée générale La variance se décompose en intra-classe et interclasse : Projection sur une droite de vecteur v : Avec : W : Moyenne pondérée des variance intra-classe B : Variance des centres de gravité 88 44 10/10/2012 Projection de la variance 89 Optimisation Donc Axe correspondant à la séparation max entre les classes : axe dans le nuage de points (passant par l'origine) tel que les projections des points sur cet axe aient une variance inter-classe (variance des moyennes de classe) maximale. 90 45 10/10/2012 Optimisation Condition nécessaire : D’où : Nous obtenons donc le problème aux valeurs/vecteurs propres avec au plus (nb_classe-1) valeurs propres non nulles 91 Résumé de l'ALD 1. Centrage des données / variables 2. Calcul de la matrice de variance-covariance 3. Calcul de la matrice de variance inter-classe 4. Diagonalisation de -1Bet classement par valeurs propres décroissantes 92 46 10/10/2012 Propriétés de l’ALD Les facteurs sont entièrement déterminés par la matrice définie par -1 B (vecteurs propres) le nombre maximum de facteurs discriminants = nb_classe – 1 la part de variance inter-classe expliquée par rapport à la variance totale est décroissante entre les facteurs successifs. Toutes ces propriétés s'expliquent par le fait que: ALD = ACP sur le nuage des nb_classe centroïdes, pondérés par l'effectif des classes nk,dans un espace Rp avec -1 comme métrique Représentation graphique: Si q = 2 1 seul facteur = axe de projection où la séparation interclasse est la mieux exprimée coordonnées sur cet axe = scores discriminants. Si q > 2 plan discriminant (F1 et F2) = plan de projection ou la variance inter-classe B (dispersion des centroïdes dans le plan) sera la mieux représentée 93 Classification par ALD Comment affecter une classe à une nouvelle donnée ? Les facteurs discriminants donnent la meilleure représentation de la séparation des centroïdes de classe (dans un espace orthonormé). => => 94 47 10/10/2012 Limitations de la classification La métrique utilisée est évaluée sur l'ensemble des données => problème si les classes ne sont pas de même "forme" (dispersion). Une classe est représentée par son centroïde => problème si le centroïde n'est pas représentatif d'une classe. 95 EXEMPLE 96 48 10/10/2012 Données Iris Ce sont les mesures en centimètres des variables suivantes : longueur et largeur du sépale, longueur et largeur du pétale pour trois espèces d'iris Iris setosa Iris versicolor Iris virginica 97 Données Iris X= 5,1 4,9 4,7 4,6 5 5,4 4,6 5 4,4 4,9 5,4 4,8 4,8 4,3 5,8 5,7 5,4 5,1 5,7 5,1 5,4 5,1 4,6 5,1 4,8 5 5 5,2 5,2 4,7 4,8 5,4 5,2 5,5 4,9 ……… Y= 3,5 3 3,2 3,1 3,6 3,9 3,4 3,4 2,9 3,1 3,7 3,4 3 3 4 4,4 3,9 3,5 3,8 3,8 3,4 3,7 3,6 3,3 3,4 3 3,4 3,5 3,4 3,2 3,1 3,4 4,1 4,2 3,1 1,4 1,4 1,3 1,5 1,4 1,7 1,4 1,5 1,4 1,5 1,5 1,6 1,4 1,1 1,2 1,5 1,3 1,4 1,7 1,5 1,7 1,5 1 1,7 1,9 1,6 1,6 1,5 1,4 1,6 1,6 1,5 1,5 1,4 1,5 0,2 0,2 0,2 0,2 0,2 0,4 0,3 0,2 0,2 0,1 0,2 0,2 0,1 0,1 0,2 0,4 0,4 0,3 0,3 0,3 0,2 0,4 0,2 0,5 0,2 0,2 0,4 0,2 0,2 0,2 0,2 0,4 0,1 0,2 0,2 'setosa' 'setosa' 'setosa' 'setosa' 'setosa' 'setosa' 'setosa' 'setosa' 'setosa' 'versicolor' 'versicolor' 'versicolor' 'versicolor' 'versicolor' 'versicolor' 'versicolor' 'versicolor' 'versicolor' 'versicolor' 'versicolor' 'versicolor' 'versicolor' 'versicolor' 'versicolor' 'versicolor' 'versicolor' 'versicolor' 'virginica' 'virginica' 'virginica' 'virginica' 'virginica' 'virginica' 'virginica' 'virginica' ……… Nombre de variables (d) = Nombre de classes = Nombre d’individus (n) = 150 (50 / classe) 98 49 10/10/2012 Visualisation des données 99 ACP : Variance Variance : Axe1 : 4,23 Axe2 : 0,24 Axe3 : 0,078 Axe4 : 0,024 92.5 % 5.3 % 1.7 % 0.5 % Avec 2 axes il est possible d’expliquer 97.8% de la variance des données 100 50 10/10/2012 ACP : Projections [email protected] 101 ACP : contribution des axes 102 51 10/10/2012 LDA vs ACP : Projections 103 LDA : Contribution des axes 104 52 10/10/2012 Classification par ALD 105 Conclusion Hors Ligne Base Image En Ligne Erreur ROI Sélection des Fonction de descripteurs classification Descripteurs Test Train Classification 1/koptimal 1/k 106 53