Projet Airbus - Détection de Changements Environnementaux

Projet académique en groupe - Computer Vision & Telecom Paris

Description du projet

Dans ce projet mené en groupe, nous avons cherché à détecter, sans supervision, des changements inattendus dans des séries d'images satellitaires prises à différentes dates. L’objectif final était de classer par ordre d’importance les anomalies, afin de concentrer notre analyse sur les zones présentant des évolutions majeures dans l’occupation du sol. J'ai travaillé sur la partie de prétraitement, prise en main des données et compréhension de la databse et d'alignement des images (même code que pour mon projet personnel sur les séries temporelles).

Approche

Nous nous sommes appuyés sur des modèles de fondation pour extraire des représentations (embeddings) locales, puis nous avons comparé ces vecteurs à l’aide de mesures de similarité comme la distance cosinus et euclidienne. Le pipeline comprend également plusieurs étapes (prétraitement, clustering et visualisation) afin d’obtenir une analyse plus détaillée et plus précise des changements détectés.

Prétraitement & Alignement

Contrôle approfondi de la correspondance spatiale entre les différentes prises de vue pour assurer une base de données homogène.

Extraction d’Embeddings

Utilisation de modèles de fondation pour créer des représentations locales robustes, essentielles à l’analyse fine des variations dans le paysage.

Mesures de Similarité

Emploi de distances cosinus et euclidiennes pour quantifier la progression ou la régression des zones potentiellement concernées par des anomalies.

Utilisation de modèle fondation

Utilisation de modèles fondation pour la segmentation de données satellitaires. Utilisation de Sam, Sam2, Dinov2, Clay, etc. pour extraire des embeddings

Clustering & Hiérarchisation

Mise en place d’un mécanisme de regroupement pour distinguer et prioriser les différentes formes d’anomalies.

Analyse Statistique

Outils de visualisation et mesures quantitatives permettant de suivre l’évolution de l’occupation des sols et d’évaluer la qualité de l’approche choisie.

Projet de Vision par Ordinateur

Projet académique - Computer Vision

Description du projet

L’objectif de ce travail était de segmenter des images satellitaires (4 bandes) en sept classes distinctes. Les données provenaient du jeu de données DynamicEarthNet. Nous avons comparé la performance du modèle selon les continents, en l’entraînant sur quatre d’entre eux, puis en évaluant les résultats sur le cinquième. Ici, l'approche est supervisé, en utilisant seulement les données annotées du dataset.

Approche

Nous avons déployé FarSeg (TorchGeo) couplé à ResNet pour obtenir une segmentation fine et robuste, atteignant un mIoU supérieur à 0,7 sur un ensemble d’entraînement mondial (incluant tous les continents).

Chargement des Données

Conception d’un dataloader gérant les images RGB+NIR et leurs coordonnées GPS afin de diviser de façon cohérente les datasets en ensembles de test ou de validation.

Parallélisation & AMP

Utilisation optimisée du GPU et de l’API GradScaler pour réduire les temps d’entraînement, notamment via le Mixed Precision afin de diminuer la consommation mémoire.

FarSeg & ResNet

Association de FarSeg et d’un ResNet pré-entraîné pour améliorer la robustesse de la segmentation, quelle que soit la nature du terrain.

Stratégie d’Entraînement

Mise en place d’un dégel progressif des couches (fine-tuning) pour stabiliser l’apprentissage et ajuster précisément le réseau de neurones.

Évaluation

Calcul d’indicateurs clés (IoU, précision, etc.) permettant de quantifier la qualité de la segmentation sur des ensembles de données continentales variées.

Comparaison Multicontinent

Analyse comparative des performances sur chaque continent, afin d’identifier les écarts entre régions géographiques et d’affiner les hyperparamètres utilisés.

Projets Séries Temporelles

Projet personnel - Computer Vision

Description du projet

Dans le cadre de ce projet personnel, j’ai voulu détecter et segmenter les changements environnementaux en m’appuyant sur des séries temporelles d’images satellites Landsat. L’idée est de suivre des phénomènes tels que la déforestation, l’urbanisation ou l’impact du changement climatique. A la différence du projet AIRBUS, le but ici était d'entrainer un réseau de neurones en utilisant du transfert learning.

Approche

Le socle repose sur un encodeur DeepLabV3 (ResNet50 pré-entraîné), spécifiquement ajusté pour les images satellitaires, auquel s’ajoute un réseau ConvLSTM pour modéliser la dynamique temporelle. Les données semi-supervisées proviennent de frames annotées mensuellement sur la base de prises de vues quotidiennes (DynamicEarthNet).

Voir le projet

Analyse de GeoTiff

Manipulation et exploration de données géospatiales au moyen de bibliothèques comme GeoPandas et Rasterio.

Alignement des images

Combinaison d’approches de géoréférencement et d’alignement par points-clés SIFT, garantissant une superposition précise des séries temporelles.

Data Augmentation Satellitaire

Emploi de GeoTorch et Albumentations pour enrichir la diversité des clichés et améliorer la robustesse de la segmentation.

Recherche d’Hyperparamètres

Pipeline articulé autour de GridSearch et Optuna pour ajuster finement le modèle à des conditions de terrain variées.

Combinaison DeepLabV3 & LSTM

Mise en place d’un modèle associant DeepLabV3 et ConvLSTM, ciblé sur la détection des changements au fil du temps.

Optical Flow

Préparation future d’une méthode basée sur le flux optique afin de repérer les variations subtiles d’une image à l’autre.

Projet - Classification d’Images

Projet personnel - Computer Vision

Description du projet

Dans ce projet, l’idée était de classifier automatiquement différentes espèces (ici des reptiles) à partir de photographies. J’ai donc réalisé un pipeline complet, de la préparation des données (split, labellisation) jusqu’à l’évaluation avec une K-fold cross-validation.

Approche

J'ai opté pour un CNN de type EfficientNet (B0 à B5), entraîné sur ImageNet, couplé à un jeu d’augmentations adaptées pour améliorer la robustesse de la classification.

Pipeline de Données

Mise en place d’une architecture flexible pour charger et prétraiter rapidement de grands volumes d’images destinées à l’entraînement.

Data Augmentation

Application de transformations variées (flip, rotation, zoom, etc.) afin d’accroître la capacité du réseau à reconnaître chaque classe.

Approche de Transfer Learning

Réutilisation d’un EfficientNet pré-entraîné, suivie d’un ajustement fin pour adapter le modèle aux différents reptiles ciblés.

Cross-validation Stratifiée

Emploi du K-Fold pour obtenir une évaluation plus stable et robuste, pratique essentielle lorsque les données sont hétérogènes ou limitées.

TensorFlow

Utilisation de Tensorflow et exploitation de la “mixed precision” pour accélérer l’entraînement et prendre en charge de larges lots d’images, même sur un hardware limité.

Évaluation & Metrics

Analyse fine des résultats via matrice de confusion et classification report, afin de mesurer la capacité du modèle à bien distinguer les espèces.

Projet - Analyse de Manifestos & Chartes

Projet académique - NLP

Description du projet

L’objectif était de repérer et de regrouper les thèmes saillants d’un ensemble de manifestos et de chartes portant sur l’IA et l’éthique. Le but : mettre en évidence à la fois les points communs et les divergences dans les discours, afin de comprendre les grandes tendances du domaine.

Approche

Nous avons élaboré une pipeline complète allant du prétraitement et de la vectorisation des textes, jusqu’au clustering (BERTopic, LDA, GPTopic) et à l’interprétation des regroupements thématiques.

Pipeline de Clustering

Création d’un flux complet pour normaliser, vectoriser et grouper les documents, permettant de faire émerger des catégories cohérentes.

Extraction de Thèmes

Utilisation de BERTopic pour mettre en évidence les thématiques structurantes et faciliter l’identification des axes majeurs.

Prétraitement des Textes

Nettoyage approfondi (tokenisation, élimination du bruit, etc.), indispensable pour obtenir une modélisation cohérente.

Évaluation des Clusters

Calcul de métriques telles que la cohérence sémantique, pour valider la pertinence des regroupements.

Transférabilité des Méthodes

Possibilité d’étendre ces approches à d’autres secteurs, notamment la vision par ordinateur pour l’analyse d’images environnementales.

Visualisation Interactive

Création d’outils de visualisation permettant d’explorer et de communiquer clairement les regroupements thématiques au public.

Projet - Traduction Automatique de Code

Projet de groupe - IDEMIA

Description du projet

En collaboration avec IDEMIA, ce projet de groupe visait à élaborer une chaîne de traitement innovante pour traduire automatiquement des codebases écrites en divers langages (Python, Golang, C) vers un unique langage de production (C). L’enjeu majeur : simplifier l’intégration et la maintenance des démonstrateurs industriels. Pour cela, nous avons couplé prétraitement avancé, modèles de langage (LLM) et tests automatisés robustes.

Approche

La chaîne de traitement comporte plusieurs étapes : tokenisation, extraction d’arbres syntaxiques (AST), traduction via des LLM (Llama 3 ou GPT-3.5) et une itération de corrections automatiques, incluant des outils de diagnostic (clang-tidy, clang-format) et la génération de tests unitaires.

Prétraitement Avancé

Intégration d’une pipeline de tokenisation et d’analyse d’AST pour préparer au mieux le code à la phase de traduction automatique.

Traduction par LLM

Exploitation de modèles de langage de pointe pour convertir différents fragments de code dans le langage cible.

Validation et Correction

Boucle de retours automatiques (clang-tidy, clang-format) et tests unitaires pour assurer une qualité de code conforme aux attentes industrielles.

Analyse Statique

Repérage des dépendances et découpage en modules pour garantir une traduction structurée et plus aisée à maintenir.

Cas de Tests Automatisés

Génération de jeux de tests pour vérifier la validité fonctionnelle du code traduit, minimisant les régressions potentielles.

Métriques de Performance

Mesure de la qualité de la traduction via des scores (BLEU, compilation, etc.) afin d’évaluer objectivement l’efficacité de la pipeline.

Projet - Streamlit Food.com

Projet académique - Big Data & Analyse

Description du projet

Dans ce projet mené en groupe, nous avons construit une plateforme globale d’ingestion, de prétraitement et d’analyse de grandes masses de données du site Food.com. L’objectif était de dégager des indicateurs clés sur l’évolution du site, tout en fournissant un ensemble d’outils réutilisables dans différents projets.

Approche

Nous avons mis en place des pipelines robustes, exploré des techniques de clustering thématique (dont Bertopic) et développé des tableaux de bord dynamiques pour faciliter la visualisation des résultats. Ces compétences sont particulièrement utiles pour des applications complexes et l'analyse de données brutes.

Application Streamlit

Développement d’une interface interactive pour gérer la préparation des données et présenter en direct les résultats de l’analyse.

Clustering Thématique

Mise en place d’un pipeline de clustering s’appuyant sur Bertopic pour extraire les tendances fortes et organiser les données.

Pipeline CI-CD

Conception d’un flux de travail automatisé pour le déploiement continu et l’intégration continue, facilitant la mise à jour des modèles et des données.

Visualisation Interactive

Conception de tableaux de bord graphiques et dynamiques pour un suivi en temps réel des indicateurs-clés.

Optimisation & Scalabilité

Adaptations techniques pour accélérer les calculs et soutenir des volumes de données conséquents, cruciaux dans un contexte Big Data.

Collaboration Agile

Approche de travail itérative et multidisciplinaire, favorisant la coordination efficace entre plusieurs expertises métier.