tuteurs : frédéric schmidt albrecht schmidt maël guiheneuf jeudi 01 septembre déploiement de...
TRANSCRIPT
Tuteurs : Frédéric Schmidt Albrecht Schmidt
Maël GUIHENEUFJeudi 01 septembre
Déploiement de l’Algorithme BPSS Déploiement de l’Algorithme BPSS (Bayesian positive Source (Bayesian positive Source
Separation) sur MatlabSeparation) sur Matlab
Travail de Fin d’Etudes – été 2009Travail de Fin d’Etudes – été 2009
Mars Express
Quel est le projet? OMEGA Le projet L’algorithme - BPSS
Qu’a-t-il été développé? Profilage Optimisations Déploiement
Utilisations / Problématiques Les données d’entrée L’algorithme Interprétation des résultats
I.I.
II.II.
III.III.
Le projet OMEGA Le projet L’algorithme
Développement Profilage Optimisations Déploiement
Problématiques Données Algorithme Résultats
Conclusion
Quel est le projet ?Quel est le projet ?Maël GUIHENEUFTues 21st July
22
Mars Express – OMEGAMars Express – OMEGA
spectro-imageur embarqué sur Mars Express
OMEGA = Observatoire pour la Mineralogie, l’Eau, les Glaces et l’Activité
Spectral Spatial
Channel V : 0.38 1.05 μmChannel C : 0.93 2.73 μmChannel L : 2.55 5.1 μm
Resolution : 350 m 4 kmImage : 128 x 800 pixels
(> 100 000 px)
256 longueurs d’onde
Maël GUIHENEUFTues 21st July
But étudier les composants à la surface
Méthode directe :
H2O – glace – type1
+
laboratoireCube OMEGA
Carte de cecomposant
Quel est le projet ?Quel est le projet ?Maël GUIHENEUFTues 21st July
Méthode directeMéthode directe
33
Le projet OMEGA Le projet L’algorithme
Développement Profilage Optimisations Déploiement
Problématiques Données Algorithme Résultats
Conclusion
Maël GUIHENEUFTues 21st July
But étudier les composants à la surface
Méthode aveugle :
Quel est le projet ?Quel est le projet ?Maël GUIHENEUFTues 21st July
Méthode aveugleMéthode aveugle
44
Le projet OMEGA Le projet L’algorithme
Développement Profilage Optimisations Déploiement
Problématiques Données Algorithme Résultats
Conclusion
Source 1
Source 2
Source 3
InterpretationIdentification…
• Pour un même composant différentes tailles de grain
• Mélanges de composants
Nombreuses possibilités de spectre
La réflectance à la surface dépend de nombreux facteurs
• Réflexions
Maël GUIHENEUFTues 21st July Quel est le projet ?Quel est le projet ?Maël GUIHENEUFTues 21st July
Limitation aux méthodesLimitation aux méthodes
Le projet OMEGA Le projet L’algorithme
Développement Profilage Optimisations Déploiement
Problématiques Données Algorithme Résultats
Conclusion
Sources d’erreurs de modèle / de non-linéarités :
55+ Composants non attendus
CO2
H2O
Méthodes classiques n’impose pas la non-négativité des sources
Exemple: (JADE) Spectres négatifs
Pas physiquePas crédiblePas reçevable
Le choix fait : BPSS (Bayesian Positive Source Separation)
Maël GUIHENEUFTues 21st July Quel est le projet ?Quel est le projet ?Maël GUIHENEUFTues 21st July
Choix de l’algorithmeChoix de l’algorithme
But obtenir les sources statistiquement les plus différentes possibles
Le projet OMEGA Le projet L’algorithme
Développement Profilage Optimisations Déploiement
Problématiques Données Algorithme Résultats
Conclusion
66
Mélange linéaire: X = A.S + E
Estimer : P(A,S | X) α P(X|A,S) . P(A) . P(S)
Positivité chaque élément des matrices suivent une distribution Gamma( 2 hyper paramètres : θ = [ α , β ] )
BPSS, en quelques mots…
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 multivariableP(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))
(nb_pixels x nb_wavelengths)données
matrice de mélange(nb_pixels x nb_sources)
sources(nb_sources x nb_wavelengths)
bruit
Variante : BPSS2 constrainte Σ = 1
Maël GUIHENEUFTues 21st July Quel est le projet ?Quel est le projet ?Maël GUIHENEUFTues 21st July
Présentation de l’algorithmePrésentation de l’algorithme
Le projet OMEGA Le projet L’algorithme
Développement Profilage Optimisations Déploiement
Problématiques Données Algorithme Résultats
Conclusion
77
Problèmes de temps de calcul – Nombreuses itérations : - Itérations de chauffe (convergence) - Itérations de moyennage (interprétation statistique)
Problèmes de mémoire :
X = A.S + E
Dimensions :X = nb_pixels x nb_wavelengths = EA = nb_pixels x nb_sourcesS = nb_sources x nb_wavelengths
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 ?
? Le temps de calcul est-il raisonnable ? (<< quelques semaines)
Maël GUIHENEUFTues 21st July Quel est le projet ?Quel est le projet ?Maël GUIHENEUFTues 21st July
Limitations du précédent codeLimitations du précédent code
88
Le projet OMEGA Le projet L’algorithme
Développement Profilage Optimisations Déploiement
Problématiques Données Algorithme Résultats
Conclusion
• Flexible (différentes données)• La plus rapide possible• Calculs à la chaine possibles
• Flexible (différentes données)• La plus rapide possible• Calculs à la chaine possibles
Maël GUIHENEUFTues 21st July Quel est le projet ?Quel est le projet ?Maël GUIHENEUFTues 21st July
Feuille de routeFeuille de route
99
Le projet OMEGA Le projet L’algorithme
Développement Profilage Optimisations Déploiement
Problématiques Données Algorithme Résultats
Conclusion
Développer une application complèteDévelopper une application complèteDévelopper une application complèteDévelopper une application complète
• Stopper la phase de chauffe• Modification des paramètres simple• Stopper la phase de chauffe• Modification des paramètres simple
Automatiser l’algorithmeAutomatiser l’algorithmeAutomatiser l’algorithmeAutomatiser l’algorithme
• Effet de la sélection de pixels• L’algorithme est-il robuste ?• Doit-on effectuer des corrections avant ?
• Effet de la sélection de pixels• L’algorithme est-il robuste ?• Doit-on effectuer des corrections avant ?
Répondre aux problématiquesRépondre aux problématiquesRépondre aux problématiquesRépondre aux problématiques
Maël GUIHENEUFTues 21st July DéveloppementDéveloppementMaël GUIHENEUFTues 21st July
ProfilageProfilage
1010
Le projet OMEGA Le projet L’algorithme
Développement Profilage Optimisations Déploiement
Problématiques Données Algorithme Résultats
Conclusion Profilage
CompréhensionOptimisations
Tests1er
Déploiement1ers
résultats
AlgorithmeAlgorithme FonctionnalitésFonctionnalités
modificationsconvergence
2nd
déploiement
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
Sur la machine :• Utilisation de processeur 64bit• Désactiver Java Environment dans Matlab• Utilisation de multiprocesseurs• Parallélisation du calcul (ex: sur une grille)
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)
Maël GUIHENEUFTues 21st July DéveloppementDéveloppementMaël GUIHENEUFTues 21st July
OptimisationsOptimisations
1111
Le projet OMEGA Le projet L’algorithme
Développement Profilage Optimisations Déploiement
Problématiques Données Algorithme Résultats
Conclusion
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)
La solution actuelle :
2 machines virtuelles
Temps de calcul moyen : de quelques heures à 1 jour
J’ai écrit une documentation
Maël GUIHENEUFTues 21st July DéveloppementDéveloppementMaël GUIHENEUFTues 21st July
OptimisationsOptimisations
1212
Le projet OMEGA Le projet L’algorithme
Développement Profilage Optimisations Déploiement
Problématiques Données Algorithme Résultats
Conclusion
bpss_preparebpss_prepare
result.matresult.mat
bpss_resultbpss_result
save.matsave.mat
bpss_algorithmbpss_algorithm
Cube (PDS)
Cube (PDS)
Paramètres
Toutes les 100 itérations
Cube (PDS)
Cube (PDS)
input data+ paramètres+ X, A, S, E, θ+ progression
input_data.matinput_data.mat
results
Maël GUIHENEUFTues 21st July DéveloppementDéveloppementMaël GUIHENEUFTues 21st July
DéploiementDéploiement
1313
Le projet OMEGA Le projet L’algorithme
Développement Profilage Optimisations Déploiement
Problématiques Données Algorithme Résultats
Conclusion
bpss_jeubpss_jeu
Cube (PDS)
Cube (PDS)
GRID / VM
save.matsave.mat
V. 2
Maël GUIHENEUFTues 21st July ProblématiquesProblématiquesMaël GUIHENEUFTues 21st July
RésultatsRésultats
1414
Le projet OMEGA Le projet L’algorithme
Développement Profilage Optimisations Déploiement
Problématiques Données Algorithme Résultats
Conclusion
Image ORB0041_REF (300 1ères lignes), BPSS 3 sources
Erreur spatiale :
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
The most noisy wavelengths
Calibration des channels C et L Absorption
atmosphérique
Emissions thermiques
? Est-il possible de palier à ce problème autrement ?
Maël GUIHENEUFTues 21st July ProblématiquesProblématiquesMaël GUIHENEUFTues 21st July
Données – Mauvais spectrelsDonnées – Mauvais spectrels
1515
Le projet OMEGA Le projet L’algorithme
Développement Profilage Optimisations Déploiement
Problématiques Données Algorithme Résultats
Conclusion
Maël GUIHENEUFTues 21st July ProblématiquesProblématiquesMaël GUIHENEUFTues 21st July
Données – Sélection des pixelsDonnées – Sélection des pixels
1616
Le projet OMEGA Le projet L’algorithme
Développement Profilage Optimisations Déploiement
Problématiques Données Algorithme Résultats
Conclusion
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
Méthode implantée par défaut : la méthode convexe
Maël GUIHENEUFTues 21st July ProblématiquesProblématiquesMaël GUIHENEUFTues 21st July
La convergenceLa convergence
1717
Le projet OMEGA Le projet L’algorithme
Développement Profilage Optimisations Déploiement
Problématiques Données Algorithme Résultats
Conclusion
Rappel : X = A.S + E
On cherche la stationnarité, comment la définir ??Choix : stationnarité du « lack of fit » :
Critère d’arrêt :Application:
kro=0.5
Maël GUIHENEUFTues 21st July ProblématiquesProblématiquesMaël GUIHENEUFTues 21st July
Le nombre de sourcesLe nombre de sources
1818
Le projet OMEGA Le projet L’algorithme
Développement Profilage Optimisations Déploiement
Problématiques Données Algorithme Résultats
Conclusion
Image ORB0041BPSS2 – 3 sources
Image ORB0041BPSS2 – 4 sources
SNR :
Maël GUIHENEUFTues 21st July ProblématiquesProblématiquesMaël GUIHENEUFTues 21st July
Analyse des résultatsAnalyse des résultats
1919
Le projet OMEGA Le projet L’algorithme
Développement Profilage Optimisations Déploiement
Problématiques Données Algorithme Résultats
Conclusion
Comparaison avec bibliothèque de spectres (de laboratoire)
?
??
?
Pas mal d’incertitudes
Prochaines étapes:• identification de mélanges linéaires• augmenter la taille de la bibliothèque
Quelques tests :1. H2O, grain 12. H2O, grain 1003. H2O, grain 10004. CO2,grain 1005. CO2,grain 10,0006. BASALTE LPG – AP7. GYPSUM – AP
Maël GUIHENEUFTues 21st July ConclusionConclusionMaël GUIHENEUFTues 21st July
2020
Le projet OMEGA Le projet L’algorithme
Développement Profilage Optimisations Déploiement
Problématiques Données Algorithme Résultats
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
Résultats OSIRIS4 sources
Questions ?Questions ?