Magellium (Groupe Artal), avec ses 300 collaborateurs, est un acteur indépendant, spécialiste sur la chaîne de valorisation du pixel et de la donnée image et vidéo (du capteur satellite, aéroporté ou drone jusqu’à son utilisation dans les systèmes d’information géographique, la cartographie et la Géointelligence). Magellium promeut la maîtrise des technologies du logiciel, de l’IA, du traitement d’image et de la géomatique.
L’unité Earth Observation est en charge des activités de traitement d’images d’origine spatiale. Ses domaines d’expertise sont : la géométrie des capteurs & le traitement d’image, la calibration/validation & le contrôle qualité et les services d’observation de la Terre. Nos experts en télédétection, nos scientifiques et nos concepteurs de logiciels spécialisés se concentrent sur les programmes de R&D, les algorithmes de traitement, les systèmes de segment sol et les services environnementaux. Observer la Terre depuis l'espace, surveiller notre environnement et les changements climatiques sont nos défis.
CONTEXTE
L’Unité Earth Observation de Magellium est structurée en 4 Pôles Thématiques, l’un d’eux étant au développement de chaine de traitement d’images pour les segments sols de satellite d’observation de la Terre. Cette équipe dispose d’une expertise dans ce domaine et développe des outils pour ses clients ou en investissement interne.
Dans le cadre de travaux précédents cette équipe a développé une chaine de traitement très optimisée et compatible avec une distribution des calculs dans le Cloud, mais l’état de l’art des pratiques Cloud évolue beaucoup. Le sujet de ce stage consiste à porter la chaine de traitement dans le Cloud en s’appuyant sur les frameworks les plus modernes.
SUJET
L’objectif de ce stage sera d’étudier le portage dans une infrastructure Cloud d’un outil de traitement d’image effectuant des calculs intensifs fortement scalables. La chaine est hautement modulable, et a pour objectif principal d’améliorer la géolocalisation d’images satellites, ce qui implique des calculs coûteux de traitement des images.
Ce stage sera structuré en plusieurs phases :
● Une phase de prise en main et de familiarisation avec l’outillage Magellium, notamment pour bien comprendre le cas d’usage. Une attention particulière sera portée sur la compréhension des contraintes de calcul parallèle imposé par les différents modules de la chaine de traitement, et sur les ressources accédées par les modules (images, métadonnées, paramètres…). Cette étape permettra de bien appréhender le métier, les contraintes de réalisation, la possibilité de répartir les calculs sur plusieurs machines, et les contraintes relatives aux volumes de données transportées d’un module à l’autre.
● Une phase d’état de l’art, qui consiste à identifier les frameworks Cloud adéquats (Ex : Spark, Kafka, Kubernetes), et les contraintes qu’ils imposent pour pouvoir déployer le code sur différentes plateformes cibles (par exemple Google Cloud ou Amazon AWS), tout en limitant l’adhérence, et à proposer un design tirant au mieux parti des capacités de distribution des calculs pour optimiser globalement les temps de traitement.
● Une phase de développement, essentiellement en Python, consistant à adapter la chaine de traitement. Les modules algorithmiques eux-mêmes sont implémentés en C++.
● Une phase de démonstration d’une ou plusieurs solutions de déploiement, pour illustrer et vérifier les hypothèses effectuées en phase de design
● Une phase d’analyse, pour estimer le gain, identifier les goulots d'étranglement restant et proposer des pistes pour les résoudre.
Un budget sera mis à disposition du stagiaire pour lancer la chaine de traitement sur les infrastructures Google/Amazon.
Etudiant(e) en cursus universitaire ou en école d'ingénieur et préparant un diplôme de niveau Bac+5 dans le domaine de l’informatique avec une formation mathématiques rigoureuse et idéalement une spécialisation en Big Data, vous êtes intéressé(e) et motivé(e) pour travailler dans le domaine de l’Observation de la Terre.
Mots clés : satellite optique, observation de la Terre, calcul distribué, cloud computing
Mots clés informatiques : Python, C++
Dans la continuité de ce stage, un poste en CDI pourra être proposé au candidat.