Tuteurs : Frédéric Schmidt Albrecht Schmidt Maël GUIHENEUF Jeudi 01 septembre Déploiement de...

20
Tuteurs : Frédéric Schmi Albrecht Schmi Maël GUIHENEUF Jeudi 01 septembre Déploiement de l’Algorithme Déploiement de l’Algorithme BPSS (Bayesian positive BPSS (Bayesian positive Source Source Separation) sur Matlab Separation) sur Matlab Travail de Fin d’Etudes Travail de Fin d’Etudes – été 2009 – é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 I. II. III.

Transcript of Tuteurs : Frédéric Schmidt Albrecht Schmidt Maël GUIHENEUF Jeudi 01 septembre Déploiement de...

Page 1: Tuteurs : Frédéric Schmidt Albrecht Schmidt Maël GUIHENEUF Jeudi 01 septembre Déploiement de lAlgorithme BPSS (Bayesian positive Source Separation) sur.

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.

Page 2: Tuteurs : Frédéric Schmidt Albrecht Schmidt Maël GUIHENEUF Jeudi 01 septembre Déploiement de lAlgorithme BPSS (Bayesian positive Source Separation) sur.

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

Page 3: Tuteurs : Frédéric Schmidt Albrecht Schmidt Maël GUIHENEUF Jeudi 01 septembre Déploiement de lAlgorithme BPSS (Bayesian positive Source Separation) sur.

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

Page 4: Tuteurs : Frédéric Schmidt Albrecht Schmidt Maël GUIHENEUF Jeudi 01 septembre Déploiement de lAlgorithme BPSS (Bayesian positive Source Separation) sur.

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…

Page 5: Tuteurs : Frédéric Schmidt Albrecht Schmidt Maël GUIHENEUF Jeudi 01 septembre Déploiement de lAlgorithme BPSS (Bayesian positive Source Separation) sur.

• 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

Page 6: Tuteurs : Frédéric Schmidt Albrecht Schmidt Maël GUIHENEUF Jeudi 01 septembre Déploiement de lAlgorithme BPSS (Bayesian positive Source Separation) sur.

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

Page 7: Tuteurs : Frédéric Schmidt Albrecht Schmidt Maël GUIHENEUF Jeudi 01 septembre Déploiement de lAlgorithme BPSS (Bayesian positive Source Separation) sur.

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

Page 8: Tuteurs : Frédéric Schmidt Albrecht Schmidt Maël GUIHENEUF Jeudi 01 septembre Déploiement de lAlgorithme BPSS (Bayesian positive Source Separation) sur.

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

Page 9: Tuteurs : Frédéric Schmidt Albrecht Schmidt Maël GUIHENEUF Jeudi 01 septembre Déploiement de lAlgorithme BPSS (Bayesian positive Source Separation) sur.

• 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

Page 10: Tuteurs : Frédéric Schmidt Albrecht Schmidt Maël GUIHENEUF Jeudi 01 septembre Déploiement de lAlgorithme BPSS (Bayesian positive Source Separation) sur.

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

Page 11: Tuteurs : Frédéric Schmidt Albrecht Schmidt Maël GUIHENEUF Jeudi 01 septembre Déploiement de lAlgorithme BPSS (Bayesian positive Source Separation) sur.

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

Page 12: Tuteurs : Frédéric Schmidt Albrecht Schmidt Maël GUIHENEUF Jeudi 01 septembre Déploiement de lAlgorithme BPSS (Bayesian positive Source Separation) sur.

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

Page 13: Tuteurs : Frédéric Schmidt Albrecht Schmidt Maël GUIHENEUF Jeudi 01 septembre Déploiement de lAlgorithme BPSS (Bayesian positive Source Separation) sur.

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

Page 14: Tuteurs : Frédéric Schmidt Albrecht Schmidt Maël GUIHENEUF Jeudi 01 septembre Déploiement de lAlgorithme BPSS (Bayesian positive Source Separation) sur.

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 :

Page 15: Tuteurs : Frédéric Schmidt Albrecht Schmidt Maël GUIHENEUF Jeudi 01 septembre Déploiement de lAlgorithme BPSS (Bayesian positive Source Separation) sur.

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

Page 16: Tuteurs : Frédéric Schmidt Albrecht Schmidt Maël GUIHENEUF Jeudi 01 septembre Déploiement de lAlgorithme BPSS (Bayesian positive Source Separation) sur.

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

Page 17: Tuteurs : Frédéric Schmidt Albrecht Schmidt Maël GUIHENEUF Jeudi 01 septembre Déploiement de lAlgorithme BPSS (Bayesian positive Source Separation) sur.

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

Page 18: Tuteurs : Frédéric Schmidt Albrecht Schmidt Maël GUIHENEUF Jeudi 01 septembre Déploiement de lAlgorithme BPSS (Bayesian positive Source Separation) sur.

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 :

Page 19: Tuteurs : Frédéric Schmidt Albrecht Schmidt Maël GUIHENEUF Jeudi 01 septembre Déploiement de lAlgorithme BPSS (Bayesian positive Source Separation) sur.

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

Page 20: Tuteurs : Frédéric Schmidt Albrecht Schmidt Maël GUIHENEUF Jeudi 01 septembre Déploiement de lAlgorithme BPSS (Bayesian positive Source Separation) sur.

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 ?