200 likes | 312 Views
Maël GUIHENEUF Jeudi 01 septembre. Tuteurs : Frédéric Schmidt Albrecht Schmidt. Travail de Fin d’Etudes – été 2009. Déploiement de l’Algorithme BPSS ( Bayesian positive Source Separation ) sur Matlab. Quel est le projet? OMEGA Le projet L’algorithme - BPSS. I.
E N D
Maël GUIHENEUF Jeudi 01 septembre Tuteurs : Frédéric Schmidt Albrecht Schmidt Travail de Fin d’Etudes – été 2009 Déploiement de l’Algorithme BPSS (Bayesian positive Source Separation) sur Matlab Quel est le projet? OMEGA Le projet L’algorithme - BPSS I. Mars Express Qu’a-t-il été développé? Profilage Optimisations Déploiement II. Utilisations / Problématiques Les données d’entrée L’algorithme Interprétation des résultats III.
Maël GUIHENEUF Tues 21st July Quel est le projet ? Mars Express – OMEGA OMEGA = Observatoire pour la Mineralogie, l’Eau, les Glaces et l’Activité spectro-imageur embarqué sur Mars Express Le projet OMEGA Le projet L’algorithme Développement Profilage Optimisations Déploiement Problématiques Données Algorithme Résultats Conclusion Spatial Spectral Channel V : 0.38 1.05 μm Channel C : 0.93 2.73 μm Channel L : 2.55 5.1 μm Resolution : 350 m 4 km Image : 128 x 800 pixels (> 100 000 px) 256 longueurs d’onde
Maël GUIHENEUF Tues 21st July Maël GUIHENEUF Tues 21st July Quel est le projet ? Méthode supervisée But étudier les composants à la surface Méthode supervisée : laboratoire Cube OMEGA H2O – glace – type1 Le projet OMEGA Le projet L’algorithme Développement Profilage Optimisations Déploiement Problématiques Données Algorithme Résultats Conclusion + Carte de ce composant
Maël GUIHENEUF Tues 21st July Maël GUIHENEUF Tues 21st July Quel est le projet ? Méthode aveugle But étudier les composants à la surface Méthode aveugle : Interpretation Identification… Source 1 Le projet OMEGA Le projet L’algorithme Développement Profilage Optimisations Déploiement Problématiques Données Algorithme Résultats Conclusion Source 2 Source 3
Maël GUIHENEUF Tues 21st July Maël GUIHENEUF Tues 21st July Quel est le projet ? Limitation aux méthodes Sources d’erreurs de modèle / de non-linéarités : La réflectance à la surface dépend de nombreux facteurs • Pour un même composant différentes tailles de grain • Mélanges de composants Le projet OMEGA Le projet L’algorithme Développement Profilage Optimisations Déploiement Problématiques Données Algorithme Résultats Conclusion • Réflexions • Nombreuses possibilités • de spectre CO2 H2O + Composants non attendus
Maël GUIHENEUF Tues 21st July Maël GUIHENEUF Tues 21st July Quel est le projet ? Choix de l’algorithme But obtenir les sources statistiquement les plus différentes possibles Méthodes classiques n’impose pas la non-négativité des sources Le projet OMEGA Le projet L’algorithme Développement Profilage Optimisations Déploiement Problématiques Données Algorithme Résultats Conclusion Exemple: (JADE) • Spectres négatifs • Pas physique • Pas crédible • Pas reçevable Le choix fait : BPSS (Bayesian Positive Source Separation)
Maël GUIHENEUF Tues 21st July Maël GUIHENEUF Tues 21st July Quel est le projet ? Présentation de l’algorithme BPSS, en quelques mots… bruit Mélange linéaire: X = A.S + E Estimer : P(A,S | X) α P(X|A,S) . P(A) . P(S) sources données Le projet OMEGA Le projet L’algorithme Développement Profilage Optimisations Déploiement Problématiques Données Algorithme Résultats Conclusion (nb_sources x nb_wavelengths) matrice de mélange (nb_pixels x nb_wavelengths) Positivité chaque élément des matrices suivent une distribution Gamma ( 2 hyper paramètres : θ = [ α , β ] ) (nb_pixels x nb_sources) Estimer : P(A,S,θ | X) α P(X | A,S,θ) . P(A) . P(S) . P(θ) Utilisation de Gibbs Sampler = calcul itératif de P(xi) en utilisant uniquement la distribution conditionnelle multivariable P(xi | x0, …, xi-1, xi+1, …, xN) Pour nous : S(r+1)generated randomly using P(S(r) | X,A(r), θ(r)) A(r+1)generated randomly using P(A(r) | X,S(r+1), θ(r)) θ(r+1)generated randomly using P(A(r) | X, A(r+1),S(r+1)) Variante : BPSS2 constrainteΣ = 1
Maël GUIHENEUF Tues 21st July Maël GUIHENEUF Tues 21st July Quel est le projet ? Limitations du précédent code Problèmes de mémoire : X = A.S + E X = nb_pixels x nb_wavelengths = E A = nb_pixels x nb_sources S = nb_sources x nb_wavelengths Dimensions : Le projet OMEGA Le projet L’algorithme Développement Profilage Optimisations Déploiement Problématiques Données Algorithme Résultats Conclusion Sélection de pixels (avant de lancer BPSS) : sélection spatiale des points les plus “énergétiques” à partir d’un résultat d’une ICA (JADE) 100 000 pixels 300 pixels ? Cette sélection est elle fiable ? Problèmes de temps de calcul – Nombreuses itérations : - Itérations de chauffe (convergence) - Itérations de moyennage (interprétation statistique) ? Le temps de calcul est-il raisonnable ? (<< quelques semaines)
Maël GUIHENEUF Tues 21st July Maël GUIHENEUF Tues 21st July Quel est le projet ? Feuille de route Développer une application complète • Flexible (différentes données) • La plus rapide possible • Calculs à la chaine possibles Le projet OMEGA Le projet L’algorithme Développement Profilage Optimisations Déploiement Problématiques Données Algorithme Résultats Conclusion Automatiser l’algorithme • Stopper la phase de chauffe • Modification des paramètres simple Répondre aux problématiques • Effet de la sélection de pixels • L’algorithme est-il robuste ? • Doit-on effectuer des corrections avant ?
Maël GUIHENEUF Tues 21st July Maël GUIHENEUF Tues 21st July Développement Profilage • Mémoire utilisée : fonction memory • étude de la taille du plus grand tableau possible • Temps de calcul : Matlab Profiler • Étude des points critiques, priorisation Le projet OMEGA Le projet L’algorithme Développement Profilage Optimisations Déploiement Problématiques Données Algorithme Résultats Conclusion Algorithme Fonctionnalités Profilage Compréhension Optimisations Tests 1er Déploiement 1ers résultats modifications convergence 2nd déploiement
Maël GUIHENEUF Tues 21st July Maël GUIHENEUF Tues 21st July Développement Optimisations • Sur le code : • Vectorialiser les boucles • Préallocation des tableaux de grandes tailles • Etude de l’influence du format de données (simple/double) • Réécriture de certaines fonctions (MEX) Le projet OMEGA Le projet L’algorithme Développement Profilage Optimisations Déploiement Problématiques Données Algorithme Résultats Conclusion • Sur la machine : • Utilisation de processeur 64bit • Désactiver Java Environment dans Matlab • Utilisation de multiprocesseurs • Parallélisation du calcul (ex: sur une grille)
Maël GUIHENEUF Tues 21st July Maël GUIHENEUF Tues 21st July Développement Optimisations 1er objectif : utiliser la GRILLE Avec Matlab : besoin de beaucoup de licences très onéreux Impossible Avec MCR (Matlab Component Runtime) : besoin d’une simple toolbox creation d’un exécutable (standalone) Le projet OMEGA Le projet L’algorithme Développement Profilage Optimisations Déploiement Problématiques Données Algorithme Résultats Conclusion J’ai écrit une documentation La solution actuelle : 2 machines virtuelles Temps de calcul moyen : de quelques heures à 1 jour
Maël GUIHENEUF Tues 21st July Maël GUIHENEUF Tues 21st July Développement Déploiement Cube (PDS) Cube (PDS) bpss_prepare Paramètres V. 2 input_data.mat Le projet OMEGA Le projet L’algorithme Développement Profilage Optimisations Déploiement Problématiques Données Algorithme Résultats Conclusion GRID / VM bpss_jeu bpss_algorithm Toutes les 100 itérations save.mat save.mat result.mat input data + paramètres + X, A, S, E, θ + progression bpss_result results Cube (PDS)
Maël GUIHENEUF Tues 21st July Maël GUIHENEUF Tues 21st July Problématiques Résultats Image ORB0041_REF (300 1ères lignes), BPSS 3 sources Le projet OMEGA Le projet L’algorithme Développement Profilage Optimisations Déploiement Problématiques Données Algorithme Résultats Conclusion Erreur spatiale :
Maël GUIHENEUF Tues 21st July Maël GUIHENEUF Tues 21st July Problématiques Données – Mauvais spectrels • BPSS : pas de corrélation spatiale ou spectrale • algorithme sensible au bruit • D’un point de vue statistique, il est mieux de garder le plus de longueurs d’onde possible Le projet OMEGA Le projet L’algorithme Développement Profilage Optimisations Déploiement Problématiques Données Algorithme Résultats Conclusion The most noisy wavelengths Calibration des channels C et L Emissions thermiques Absorption atmosphérique ? Est-il possible de palierà ceproblèmeautrement ?
Maël GUIHENEUF Tues 21st July Maël GUIHENEUF Tues 21st July Problématiques Données – Sélection des pixels Originairement pour palier aux problèmes mémoire / calcul Robustification de l’algorithme ? • Différentes méthodes : • simple JADE • méthode convexe • les plus différents Le projet OMEGA Le projet L’algorithme Développement Profilage Optimisations Déploiement Problématiques Données Algorithme Résultats Conclusion Méthode implantée par défaut : la méthode convexe
Maël GUIHENEUF Tues 21st July Maël GUIHENEUF Tues 21st July Problématiques La convergence Rappel : X = A.S + E ? On cherche la stationnarité, comment la définir ? Choix : stationnarité du « lack of fit » : Le projet OMEGA Le projet L’algorithme Développement Profilage Optimisations Déploiement Problématiques Données Algorithme Résultats Conclusion Application: Critère d’arrêt : kro=0.5
Maël GUIHENEUF Tues 21st July Maël GUIHENEUF Tues 21st July Problématiques Le nombre de sources Image ORB0041 BPSS2 – 3 sources Le projet OMEGA Le projet L’algorithme Développement Profilage Optimisations Déploiement Problématiques Données Algorithme Résultats Conclusion Image ORB0041 BPSS2 – 4 sources SNR :
Maël GUIHENEUF Tues 21st July Maël GUIHENEUF Tues 21st July Problématiques Analyse des résultats Comparaison avec bibliothèque de spectres (de laboratoire) Le projet OMEGA Le projet L’algorithme Développement Profilage Optimisations Déploiement Problématiques Données Algorithme Résultats Conclusion ? • Quelques tests : • H2O, grain 1 • H2O, grain 100 • H2O, grain 1000 • CO2,grain 100 • CO2,grain 10,000 • BASALTE LPG – AP • GYPSUM – AP ? ? • Pas mal d’incertitudes • Prochainesétapes: • identification de mélanges linéaires • augmenter la taille de la bibliothèque ?
Maël GUIHENEUF Tues 21st July Maël GUIHENEUF Tues 21st July Conclusion • La toolbox est utilisable en mode automatique • (choix parmi tous les paramètres) • Adaptable à d’autres types de données • Un article sera bientôt écrit dans IEEE • Un certains nombre d’équipes sont intéressées par le tester • Osiris • Merid • Virtis Le projet OMEGA Le projet L’algorithme Développement Profilage Optimisations Déploiement Problématiques Données Algorithme Résultats Conclusion Questions ? Résultats OSIRIS 4 sources