Reconnaissance d'objets routiers - Théorie Perception pour la conduite automatisée A07 : Interaction Véhicule Environnement Aurélien Cord Aurelien.Cord@lcpc.fr 1 INTRODUCTION 2 1
Reconnaissance Définition : 3 Objets routiers (1) Reconnaissance d objets routiers Signalisation horizontale Objets verticaux 4 2
Objets routiers (2) Différences entre signalisation horizontale et objets verticaux : 5 Atouts 6 3
Couplage Possibilité de couplage avec : Suivi de cible (vidéo) Stéréovision Laser (LIDAR) Radar 7 Contraintes 8 4
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
Panneaux Moyens 11 Saillance 12 6
Panneaux Difficultés : 13 Piétons Utilité Protection des vulnérables Assistance à la conduite Freinage d urgence Automatisation Basse Vitesse (Autolib) 14 7
Piétons Moyens 15 Piétons Difficultés 16 8
Véhicules Utilité ACC Détection de choc (Freinage d Urgence) Planification de trajectoires 17 Véhicules Moyens 18 9
Véhicule Difficultés 19 Bilan Entrée : Image / Vidéo Sortie : Liste des objets avec : Caractéristique (ex : type de panneaux) Position (2D / 3D) Moyens : Parcours de l image et analyse de ROI, multi-échelles Comment faire? 20 10
APPRENTISSAGE AUTOMATIQUE : GÉNÉRALITÉS 21 Apprentissage 1. 2. 3.... le tout automatiquement (sans intervention humaine) 22 11
Deux catégories 1. cas non supervisé : 2. cas supervisé 23 Apprentissage supervisée Transformation d un descripteur en une probabilité d appartenance à chaque groupe. Données : Classes : Y { y,, y }, y Reconnaissance de forme : 1 n 24 12
Apprentissage supervisé Le type d apprentissage dépend de la nature de Y Y = R q : 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
RECONNAISSANCE DE FORMES EN IMAGE 27 Schéma de principe (1) En Ligne ROI Descripteurs Classification 28 14
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
Schéma de principe (2) Hors Ligne Base Image Sélection des descripteurs Fonction de classification En Ligne ROI Descripteurs Classification 31 Défis Hors Ligne Base Image Sélection des descripteurs Fonction de classification En Ligne ROI Descripteurs Classification 32 16
Défis Hors Ligne Base Image Sélection des descripteurs Fonction de classification En Ligne ROI Descripteurs Classification 33 Défis Hors Ligne Base Image Sélection des descripteurs Fonction de classification En Ligne ROI Descripteurs Classification 34 17
Défis Hors Ligne Base Image Sélection des descripteurs Fonction de classification En Ligne ROI Descripteurs Classification 35 EVALUATION D UN APPRENTISSAGE 36 18
Défis : Rappel Hors Ligne Base Image Sélection des descripteurs Fonction de classification En Ligne 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
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 y j1,..., y jk 39 Exemple 40 20
Exemple 41 Exemple 42 21
Exemple 43 Exemple 44 22
Exemple 45 Remarques Petite valeur de k : Grande valeur de k : Comment choisir k? 46 23
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
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 1/k optimal Train 1/k k = taux de régularisation (plus k diminue plus le modèle se complexifie) 50 25
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
Critère d évaluation Courbe ROC : 53 Critère d évaluation Courbe ROC : 54 27
SELECTION DE VARIABLES 55 Défis Hors Ligne Base Image Sélection des descripteurs Fonction de classification En Ligne ROI Descripteurs Classification 56 28
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
Méthodes 2/3 Ascendante 1. 2. 3. 4. 59 Méthodes 2.5/3 Descendante 1. Apprentissage avec tous les descripteurs sauf un. Eviction du moins bon. 2. Apprentissages avec la sélection moins chacun des descripteurs restant. Eviction du moins bon. 3. Réitération au 2. 4. Sélection du nombre de descripteur pertinent en utilisant le minimum de l erreur de généralisation Attention au sur-apprentissage! 60 30
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
Etape 1 63 Etape 2 64 32
Etape 3 65 Classifieur Final 1.15 1.99-0.15 0.15-0.69-1.99 66 33
Algorithme Soit et Y = { 1, 1} Initialisation des poids Pour i = 1 à p 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 Desc. 2 & tri Desc. n & tri Normale Cible Normale Cible Normale Cible Descripteurs de complexité croissante. 68 34
Conclusion Hors Ligne Base Image Sélection des descripteurs Fonction de classification En Ligne ROI Descripteurs Classification 69 ANALYSE EN COMPOSANTES PRINCIPALES (RAPPEL?) 70 35
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
ACP : géométriquement u 2 D 2 u 1 Composantes : u 1,, u h,, u k u h = combinaison linéaire des variables d origine X 1,, X d : D 1 Coefficients a ih à déterminer telle que les u h soient: 2 à 2 non corrélées, de variance maximale, d importance décroissante. u 1 de variance maximale les projections des x i 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
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
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) U i orthogonales 2 à 2 c-à-d cov(u h, U h ) = 0 (pour tout h h ), de variances maximales telles que V(U 1 ) V(C 2 ) V(C k ) 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
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
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
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 { y,, y }, y 1 n Centre de gravité = g Centre de gravité de la classe k = g(k) Dans la suite x i est un vecteur colonne 84 42
Idée générale La variance se décompose en intra-classe et inter-classe : 85 Décomposition de la variance Aurelien.cord@lcpc.fr 86 43
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
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
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 -1 B et classement par valeurs propres décroissantes 92 46
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 n k,dans un espace R p 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
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
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 3,5 1,4 0,2 4,9 3 1,4 0,2 4,7 3,2 1,3 0,2 4,6 3,1 1,5 0,2 5 3,6 1,4 0,2 5,4 3,9 1,7 0,4 4,6 3,4 1,4 0,3 5 3,4 1,5 0,2 4,4 2,9 1,4 0,2 4,9 3,1 1,5 0,1 5,4 3,7 1,5 0,2 4,8 3,4 1,6 0,2 4,8 3 1,4 0,1 4,3 3 1,1 0,1 5,8 4 1,2 0,2 5,7 4,4 1,5 0,4 5,4 3,9 1,3 0,4 5,1 3,5 1,4 0,3 5,7 3,8 1,7 0,3 5,1 3,8 1,5 0,3 5,4 3,4 1,7 0,2 5,1 3,7 1,5 0,4 4,6 3,6 1 0,2 5,1 3,3 1,7 0,5 4,8 3,4 1,9 0,2 5 3 1,6 0,2 5 3,4 1,6 0,4 5,2 3,5 1,5 0,2 5,2 3,4 1,4 0,2 4,7 3,2 1,6 0,2 4,8 3,1 1,6 0,2 5,4 3,4 1,5 0,4 5,2 4,1 1,5 0,1 5,5 4,2 1,4 0,2 4,9 3,1 1,5 0,2 Y= '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
Visualisation des données 99 ACP : Variance Variance : Axe1 : 4,23 92.5 % Axe2 : 0,24 5.3 % Axe3 : 0,078 1.7 % Axe4 : 0,024 0.5 % Avec 2 axes il est possible d expliquer 97.8% de la variance des données 100 50
ACP : Projections Aurelien.cord@lcpc.fr 101 ACP : contribution des axes 102 51
LDA vs ACP : Projections 103 LDA : Contribution des axes 104 52
Classification par ALD 105 Conclusion Erreur Hors Ligne Base Image Sélection des Fonction de descripteurs classification Test En Ligne ROI Descripteurs Classification Train 1/k optimal 1/k 106 53