Recherche linéaire et fusion de données par ajustement de faisceaux :
description
Transcript of Recherche linéaire et fusion de données par ajustement de faisceaux :
Recherche linéaire et fusion de données par ajustement de faisceaux :
Application à la localisation par vision
Julien [email protected]
Encadrants : Adrien Bartoli François GaspardDirecteur de thèse : Jean-Marc Lavest
Contexte des travaux réalisés
• Contextes applicatifs Reconstruction 3D par vision
Ensemble d’images (non ordonnées) Hors ligne
Localisation par vision Flux vidéo (ordonnées) Temps réel
• Méthodes de localisation par vision Odométrie visuelle
Mouvement 2D de zones d’intérêt Construction d’une carte de l’environnement
Reconstruction à partir du mouvement (vision) Batch Structure-from-Motion Structure-from-Motion incrémental
SLAM (robotique)
2
Application de réalité augmentée [Klein’07]
Reconstruction de Dubrovnik (Croatie) [Agrawal’09]
Reconstruction à partir du mouvement
• Méthode incrémentale
3
Initialisation Reconstruction incrémentale
2D
3D
Ajustement de faisceaux
• Paramètres optimisés La trajectoire de la caméra et la scène
6 (euclidien) à 9 (projectif) paramètres par pose 3 coordonnées de chaque point 3D
• Objectif Minimiser les erreurs de reprojections
Distance euclidienne (non linéaire/quadratique)
• Résolution Résolution itérative
Par un algorithme de moindres carrés non-linéaires (Gauss-Newton, Levenberg-Marquardt, etc)
4
obs. reprojection
Limites de la reconstruction à partir du mouvement
• Limites de l’ajustement de faisceaux Processus très coûteux (ex: 7s pour 50 caméras & 5000 points 3D [sba: Lourakis’08])
Milliers de variables optimisées Fonction de coût non-linéaire (plusieurs itérations)
Minima locaux Convergence à l’optimum global non garantie
Problématique Comment accélérer les optimisations non-linéaires (ajustement de faisceaux) ?
• Limites de l’approche SfM Facteur d’échelle inconnu (monoculaire) Reconstruction non-géoréférencée (repère local) Dérives (position, orientation, échelle)
Accumulation d’erreurs (approche incrémentale) Erreurs sur les coordonnées des point 2D, profondeur point 3D, …
ProblématiqueComment réduire les dérives de localisation par SfM incrémental ?
5
Organisation de la présentation
• Partie I :Recherche linéaire algébrique
• Partie II :Fusion de données par ajustement de faisceaux
• Conclusions et perspectives
6
Partie I
Recherche linéaire algébrique
7
Positionnement des travaux
• Problématique Comment accélérer les optimisations non-linéaires employées dans la reconstruction
par le mouvement ?• Méthodes existantes
Différents algorithmes de résolution des moindres carrés Gauss-Newton et Levenberg-Marquardt [Triggs 2000, Hartley 2003b, …] Dog-Leg [Lourakis 2005] Gradients conjugués + préconditionnement [Byröd 2009, Jeong 2010, Agarwal 2010]
Méthodes exploitant la structure creuse du problème Complément de Schur [Granshaw 1980, Triggs 2000, Mouragnon 2006, Konolige 2010]
Méthodes réduisant le nombre de paramètres à optimiser Caméra virtuelle [Shum 1999], sous-cartes [Ni 2007], squelette [Snavely 2008b], Ajustement de faisceaux local [Mouragnon 2006, Engels 2006]
• Positionnement Accélération de la résolution des moindres carrés
8
Moindres carrés non-linéaires
• PrincipesMéthode incrémentale (de solution initiale x (0) issue de SfM) : Approximation locale (quadratique)
Gauss-Newton …
Estimation du déplacement local δ(k)
Descente de gradient, Gauss-Newton, …
Estimation de l’amplitude optimale α (k) (optionnel) Recherche linéaire (Line Search)
[Al-Baali 1986, Moré 1994, Nocedal 1992,...] Processus très coûteux !
Calcul de la nouvelle solution • Idée générale
Une technique de recherche linéaire Utilise une approximation de la fonction -> distance algébrique
9
itéra
tion
kité
ratio
n k+
1
solution courante
• Deux points , sont identiques (espace euclidien) si :
Leurs coordonnées euclidiennes sont égales :
Leurs directions sont identiques (coordonnées homogènes)Produit vectoriel nul
• Utiliser une autre fonction de coût Distance algébrique
Approximation quadratique de la distance euclidienne
Distance algébrique
10
Recherche linéaire algébrique globale
• Principe Minimisation de l’erreur géométrique
Pour chaque itération k Calcul de l’amplitude optimale
Intérêts Simplification du problème (approximation quadratique) Calcul efficace de l’amplitude optimale (en distance algébrique)
11
• RLA pour l’ajustement de faisceaux non calibré Recherche linéaire…algébrique Fonction de coût algébrique
Recherche de l’amplitude algébrique optimale Polynôme de degré 3
Résolution algébrique (rapide)3 solutions (au maximum)
• RLA pour l’ajustement de faisceaux calibré Résolution identique
Recherche linéaire algébrique globale
12
Recherche linéaire algébrique globale
13
Critères de sélection et d’acceptation de l’amplitude
• Pourquoi ces critères ? La distance algébrique est une approximation de la distance géométrique Plusieurs solutions peuvent être estimées Près d’un optimum, l’amplitude (GN) est déjà efficace
• Quels critères ? Vérification avec l’amplitude unité
Vérification du premier critère de Wolfe
Sélection de la meilleure solution
14
Résultats sur les données de synthèse
• Génération de la scène 500 points 3D, dans une cube de 6m3
30 caméras, autour du cube 20m Bruits blancs (images 640x480px) : 1px Bruits blancs 3D (solution initiale)
Points : 1m (16%) Caméras : 2 m (10%), 15°
• Étude des convergences
15Ajustements non calibrés
Ajustements calibrés
Méthode # moyen d’itérations Temps moyen (s) Gain (tps.)
BA-LM 21.3 166.72 -
BA-LM+LS-G-ALS 18.8 139.53 +19%
BA-LM+LS-T-ALS 18.3 151.68 +10%
BA-LM+LS-FJNT 17.2 797.33 -400%
BA-LM+LS-FJNT-soft 18.6 322.82 -90%
BA-Powell 21.8 158.97 +5%
BA-Nielsen 22.8 167.41 -1%
Résultats sur les données de synthèse
• Taux d’acceptation de l’amplitude algébrique(Vérification des conditions)
• Exemple d’amplitudes
16
Itér. G-ALS (%) Tw-ALS (%)
1 58.66 44.00
2 45.33 37.33
3 37.33 29.33
4 21.33 13:33
5 9.33 8.00
6 12.00 5.33
Taux d’acceptation moyens et écarts types des hypothèses, estimés sur une cinquantaine de données réelles et simulées.
Itér. G-ALS (α/accepté) Tw-ALS (αPαQ/accepté)
1 1.117 / oui 1.304; 1.054 / non
2 1.411 / oui 1.423; 1.387 / oui
3 1.166 / non 0.923; 0.979 / non
4 1.711 / oui 1.890; 1.878 / oui
5 2.390 / non 2.916; 2.929 / non
6 0.037 / non 5.771; 6.875 / non
Résultats sur les données réelles
• Ajustements calibrés Estimation initiale par batch SfM
17
Séquence # cam. / # pt. RMS (initial / final)
Sans (tps./iter)
G-ALS (tps./iter)
Tw-ALS (tps./iter)
Gain (tps.)
Dinosaur 12 / 4035 6.345 / 1.534 19.058 / 8 15.872 / 6 14.750/6 +29%Castle 9 / 3960 5.364 / 3.121 138.02 / 25 130.15 / 24 129.83/24 +6%House 10 / 2076 8.189 / 0.627 23.463 / 14 21.312 / 13 21.058/13 +11%LesUlis30 30 / 17136 2.642 / 0.668 39.93 / 8 34.98 / 7 35.17/7 +14%LesUlis6 6 / 2466 0.329 / 0.281 8.83 / 4 10.13 / 4 9.84/4 -13%
Bilan de la première partie
• Proposition d’une méthode pour accélérer les minimisations non-linéaires Méthode générique
Utilisable sur différents problèmes de vision (coordonnées homogènes) En conjonction avec d’autres méthodes de résolution de moindres carrés
Levenberg-Marquardt, gradients conjugués, Dog-leg, etc.
Méthode adaptée à l’ajustement de faisceaux (calibré ou non calibré) Gains en itération et en temps de calcul (20% en moyenne, en temps) Plus adaptée aux problèmes dont la solution initiale est peu précise
Dans les premières itérations de l’optimisation Grandes dimensions par exemple
Variante à deux dimensions : sensiblement plus efficace mais plus lente.
• Publications Conférences internationale (BMVC’09) et nationales (CORESA’09, ORASIS’09) Journal en cours de rédaction
18
Partie II
Fusion de données par ajustement de faisceaux
19
Problématique
• Objectif : améliorer la précision de la localisation Comment réduire les dérives de localisation par SLAM monoculaire ?
• Notre proposition Utiliser un capteur supplémentaire
Ajouter ces informations complémentaires dans un SLAM visuel Directement dans le processus d’optimisation
• Comment fusionner ces données ? 20
Etat de l’art - positionnement des travaux
• Méthodes de fusion de données existantes Filtres de Kalman et variantes
Très employé [Davison 2003, Huster 2003, Strelow 2004,Montiel 2006, Armesto 2007, Gemeiner 2007, Hol 2007, Civera 2009, Servant 2010, ...]
Différentes variantes EKF, UKF, IEKF (…et dérivés IF, SRF, PF, …) + Gestion intrinsèque des variances - Difficultés dans le contexte d’une localisation temps réel par vision (ex: monoslam [Davison06])
Ajustement de faisceaux (contraint) De plus en plus employé
Centrale à inertie [Jung 2001, Strelow 2002] Odomètre [Eudes 2010b], GPS [Smith 2003] , Contraintes sur la trajectoire [Saurer 2010] ou sur la scène [Lothe 2010]
+ Plus précis [Strasdat 2010] + Temps réel [Mouragnon 2006, Klein 2007, Konolige 2010] - Gestion non triviale de la propagation d’erreurs [Eudes 2009]
21
Principes
• Approche incrémentale Chaque caméra clé est contrainte par les informations issues d’un second capteur
Intégration d’une contrainte (εik ) pondérée (λi)
Dans la fonction de coût associée à la chaque caméra (ajustement de la pose). 22
Fonctions de coût spécifiques• Erreurs associées à la caméra clé i :
• Comment sélectionner la pondération λi ?Contrainte : en temps réel ! Fixe pour toute la séquence
Essais-erreurs Estimation dynamique
Calibrage + propagation d’erreurs [Eudes’10] Sélection de modèle [Modersitzki04, Farenzena08]
Problème difficile car lié au données
23
Par exemple : - Contrainte d’échelle
- Contrainte de rotation
- Autres….
Pondération- Relie les deux unités- Privilégier l’un au l’autre- Ratio des confiances
Terme d’image (pixels) Terme de contrainte (unité?)
Heuristiques de sélection temps-réel des pondérations
• Principes Calcul des poses pour différents poids Calcul d’un critère mesurant l’erreur de qualité Sélection du poids λi
* minimisant le critère
• Ajustement de faisceaux local contraint Ré-utilisation du poids λi estimé
24
Critères de qualité
25
leave-one-out [Wahbaa’75]
(recyclage)(= 1 point d’intérêt)
• Sélection par apprentissage Validation croisée
Mesure la prédictivité de la pose(capacité à prédire de nouvelles données)
Séparation des points d’intérêt en 2 sous-ensembles Ensemble d’apprentissage Ensemble de test
Score : erreurs de reprojection de l’ensemble de test
Problème : peu de points d’intérêt (≈ 40 inliers) Variante leave-one-out
Critères de qualité
• Critères de régularisation Mesure de compromis entre deux objectifs
26
Critères de qualité
• Critères de régularisation L-Curve [Hansen’01]
Recherche la pondération la plus impartiale, (ne favorisant aucun des deux objectifs) Maximise la courbure du compromis.
L-Tangent Norm [Brunet’08] Recherche la pondération pour laquelle une petite variation a le plus faible impacte sur le compromis Minimise la norme de la tangente du compromis.
27
Résultats – localisation d’un véhicule
• Présentation Caméra embarquée sur un véhicule Extérieur, milieu urbain Vitesse jusqu’à 40 km/h
Contrainte : facteur d’échelle
28
Séquence Odiaac
Longueur 130 m
Nombre d’images (clés) 2500 (193)
Nombre de points 3D 6290
Capteur Fréq. (Hz) Mesure (unit)
Caméra Guppy 30 Image NdG (640x480 px)
Odomètre 25 Vitesse (m/s)
Résultats – localisation d’un véhicule
• Résultats de la localisation Vérité terrain : INS + GPS-RTK (σ=1m)
29
(m) médiane moyenne écart type max min
SLAM monoculaire 11.649 12.823 8.828 33.002 0.116
SLAM + CVloo 2.043 2.835 2.055 7.437 0.283
SLAM + L-Curve 3.011 4.443 3.354 11.708 0.859
SLAM + LTN 5.174 6.663 4.703 12.755 0.775
Statistiques de la localisation sur la séquence Odiaac.
Résultats – localisation d’un véhicule
• Résultats sur l’estimation de l’échelle
30
(m) médiane moyenne écart type max min
SLAM monoculaire 0.768 0.808 0.144 2.112 0.590
SLAM + CVloo 0.995 1.017 0.094 2.020 0.766
SLAM + L-Curve 0.954 0.973 0.145 2.376 0.699
SLAM + LTN 0.940 0.969 0.145 2.389 0.742
Statistiques sur le ratio des normes des translations des trajectoires sur la séquence Odiaac par rapport à la vérité terrain.
Moyenne des carrés des résidus 3D sur la séquence Odiaac avec une contrainte d’échelle.
Localisation en mouvement libre – système de navigation
• Présentation du projet Gyroviz Caméra à l’épaule (mouvement libre) Intérieur (tourne autour d’une table)
Contrainte : rotation
31
Séquence Gyroviz
Longueur 8.28 m
Nombre d’images (clés) 1360 (75)
Nombre de points 3D 1573
Capteur Fréq. (Hz) Mesure (unit)
Caméra Guppy 30 Image NdG (640x480 px)
INS - IXSEA 30 Pose (m, radian)
Localisation en mouvement libre – système de navigation
• Résultats de la localisation Vérité terrain : laser tracker (σ=25µm)
32
(m) médiane moyenne écart type max min
SLAM monoculaire 0.1843 0.1600 0.1600 0.2888 0.0046
SLAM + CVloo 0.1278 0.1159 0.0625 0.1943 0.0033
SLAM + L-Curve 0.1549 0.1353 0.0781 0.2512 0.0049
SLAM + LTN 0.1609 0.1419 0.0802 0.2595 0.0049
SLAM + EKF 0.1821 0.1576 0.0877 0.2848 0.0047
Statistiques sur les trajectoires reconstruites sur la séquence Gyroviz.
Bilan de la seconde partie
• Proposition d’une méthode de fusion de données incertaines dans un SLAM Approche générique (type de contrainte/capteur) Sélection dynamique, automatique et rapide des poids associés aux contraintes
3 méthodes proposées (la validation croisée apporte les meilleurs résultats) Validation quantitative sur deux applications (véhicule, en mouvement libre)
Diminution des dérives observées avec un SLAM monoculaire En échelle, avec un odomètre En orientation, avec une centrale à guidage inertiel
• Limites de la solution proposée Pas de correction globale
Correction encore insuffisante (il reste encore une partie des dérives) Non optimisée pour des capteurs absolus basse fréq. (GPS, reconnaissance de lieux, etc.)
Méthode à adapter pour fusionner plus de 2 capteurs• Publications
Conférence internationale (3DPVT’10) + 1 demande de brevet
33
Conclusions et perspectives
34
Conclusions
• Contributions scientifiques Une technique de recherche linéaire adaptée aux problèmes de vision.
Accélération des minimisations Un système de localisation multi-capteur temps-réel
Ajustement de faisceaux contraint par un capteur de mouvement (odomètre, centrale inertielle)
3 méthodes permettant de sélectionner dynamiquement les paramètres de pondération. Par critères de compromis : L-Curve et L-Tangent Norm Par une méthode d’apprentissage : Validation croisée leave-one-out
Publications dans 4 conférences + 1 brevet 2 conférences nationales (CORESA’09, ORASIS’09) 2 conférences internationales (BMVC’09 , 3DPVT’10) 1 demande de brevet 1 article journal en cours de rédaction (recherche linéaire)
35
Perspectives
• Prochaines pistes d’étude possibles
Améliorations de la recherche linéaire algébrique Valider la méthode sur des problèmes à très grandes dimensions Étudier la possibilité d’employer la méthode pour éviter les minima locaux
Améliorations de la fusion multi-capteur Comparaison avec une fusion par propagation d’erreur (thèse d’Alexandre Eudes) Étendre la méthode de sélection des poids pour N>2 capteurs (contraintes) Correction globale, intégration de données absolues (GPS, …) Expérimenter la méthode dans d’autres applications (auto-calibrage, …)
36
Merci de votre attention
37
Annexes
38
Contexte des travaux réalisés
• Contexte de travail Novembre 2007 – Novembre 2010 Réalisé au CEA LIST, en cotutelle avec le LASMEA, ERIM Financé par le projet de recherche ANR Gyroviz
39
Publications réalisées
• Conférences Compression et Représentation des Signaux Audiovisuels
(CORESA’2009) Congrès des jeunes chercheurs en vision par ordinateur
(ORASIS’2009) British Machine Vision Conference (BMVC’09) 3D Processing Visualization Transmission (3DPVT’10)
• Brevet (soumis) Procédé et système pour fusionner des données issues de capteurs d'image et de
capteurs de mouvement ou de position, N° 1053803, 17/05/2010.
40
Annexe
Recherche linéaire algébrique
41
Distance algébrique
42
• Normalisation isotropique Centrer le nuage 2D (origine (0,0)) Mettre à l’échelle (σ = √2)
42
• PrincipePostulat : les paramètres (scène, caméra) peuvent ne pas partager la même unité/confiance. Recherche de deux amplitudes
Amplitude pour les paramètres des caméras αP
Amplitude pour les paramètres de la scène αQ
Fonction de coût algébrique pour l’ajustement de faisceaux non calibré
• Résolution
Polynôme de degré 5 Résolution rapide Mais non analytique
Recherche linéaire algébrique bi-dimensionnelle
43
Recherche linéaire algébrique bi-dimensionnelle
• Distance algébrique 6 itérations Abscisse αQ
Ordonnée αP
• Distance géométrique 6 itérations Abscisse αQ
Ordonnée αP
44
Résultats sur les données de synthèse
45
# racines G-ALS(%) Tw-ALS(%)
1 97.33 97.77
2 0 0
3 2.66 2.33
4 - 0
5 - 0
• Nombre de racines des polynômes
Résultats sur les données réelles
• Ajustements calibrés Estimation initiale par SLAM
46
Annexe
Fusion multi-capteur par ajustement de faisceaux
47
État de l’art
• Travaux antérieurs Multi-caméra
Stéréo [Howard 2008, …], multi-caméra [Kaess 2009, …], etc. Capteurs de position ou de mouvement
INS/IMU [You 2001, Strelow 2004,Hol 2006, Armesto 2007, Hol 2007, Servant 2010, …] Odomètres [Chenavier 1992, Eudes 2010a, …] GPS [Smith 2003, Agrawal 2006b, …]
Capteurs mesurant l’environnement Laser 3D/LiDAR [Newman 2006, Naikal 2009, Craciun 2010,...], Radar/sonar [Ribas 2006, …]
Contraintes issues d‘autres algorithmes Reconnaissance de lieu [Eade 2008, Angeli 2008, …] Contraintes géométriques de la scène ou sur la trajectoire [Lothe 2009, Saurer 2010, …]
• Comment fusionner de manière efficace toutes ces données ?
48
49
• SLAM temps réel basé vision Approche incrémentale Intégration d’un second capteur
Ajout de contraintes (termes de régularisation)• Modules additionnels
Stockage et synchronisation Mémoire tampon circulaire Horloge numérique commune
Construction des contraintes Intégration temporelle des observations Prédiction (modèle de mouvement) Calcul du terme de contrainte Choix du coefficient de pondération
Recalage et mise à l’échelle Recalage initial (si le capteur le permet) Mise à l’échelle métrique de la scène/trajectoire
SLAM multi-capteur
Évaluation des coefficients de pondération
• Évolution temporelle des poids
50
Évolution des coefficients de pondération sélectionnés par les 3 méthodes, pour des contraintes de rotation inter-caméras
(s.u.) médiane moyenne écart type
CVloo 4.977 5.947 6.931L-Curve 0.006 0.01 0.023LTN 0.016 0.045 0.063
Évaluation des coefficients de pondération
• Temps de calcul
51
(ms) moyenne écart type
CVloo 219.100 161.677L-Curve 5.143 1.791LTN 5.297 2.162
Localisation en mouvement libre – système de navigation
• Comparaison avec différentes valeurs de pondération constantesPlages de valeurs plus efficaces L-Tangent Norm (14.1cm)
Plage : 4 L-Curve (13.5cm)
Plage : 1.5 Validation croisée (11.6cm)
Méthode la plus efficace Utilité d’une sélection dynamique
53
Moyennes des erreurs de localisation globale pour différentes valeur fixes de pondérations λi.
Fin. Vraiment.
54