Recherche linéaire et fusion de données par ajustement de faisceaux :

Preview:

DESCRIPTION

Recherche linéaire et fusion de données par ajustement de faisceaux :. Application à la localisation par vision . Julien Michot Julien.michot.fr@gmail.com. Encadrants : Adrien Bartoli François Gaspard Directeur de thèse : Jean-Marc Lavest. - PowerPoint PPT Presentation

Citation preview

Recherche linéaire et fusion de données par ajustement de faisceaux :

Application à la localisation par vision

Julien MichotJulien.michot.fr@gmail.com

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

Recommended