OlmoEarth : exporter des embeddings satellite pour analyser un territoire
OlmoEarth Studio permet désormais de calculer et d’exporter des embeddings géospatiaux sur mesure. Formats, paramètres, cas d’usage et limites pour les exploiter dans tes analyses.
Les données satellitaires sont abondantes, mais les transformer en signaux exploitables reste coûteux : il faut acquérir les images, les préparer, choisir des variables, puis souvent annoter des données terrain. AllenAI ajoute une brique à OlmoEarth Studio qui vise à raccourcir cette chaîne : l’export d’embeddings calculés à la demande à partir de ses modèles de fondation open source dédiés à l’observation de la Terre.
Concrètement, la plateforme produit pour chaque pixel un vecteur numérique censé résumer les caractéristiques de surface observées. Ces vecteurs peuvent ensuite servir à rechercher des zones similaires, entraîner un classifieur avec peu d’exemples, détecter des changements ou explorer un territoire sans labels. Ce n’est pas une carte d’occupation des sols prête à publier : c’est une représentation intermédiaire, à intégrer dans ton propre pipeline d’analyse.
OlmoEarth Studio permet d’exporter des rasters d’embeddings personnalisés selon une zone, une période, une résolution, un encodeur et des sources Sentinel. L’intérêt est de démarrer des analyses géospatiales avec des variables déjà structurées par un modèle, plutôt que directement avec les bandes brutes.
Des vecteurs calculés pour la zone et la période qui t’intéressent
Un embedding est une représentation compacte sous forme de nombres. Dans le cas présenté par AllenAI, deux pixels présentant des caractéristiques de surface proches doivent produire des vecteurs proches dans cet espace mathématique ; à l’inverse, des surfaces différentes doivent être éloignées. Cette propriété rend possible la comparaison directe de zones, sans partir nécessairement d’un jeu de données annoté.
Le point distinctif mis en avant par la source est le calcul à la demande. Au lieu de télécharger une couverture mondiale précalculée, tu définis les paramètres de ton export dans OlmoEarth Studio, via l’interface ou l’API :
- une zone d’intérêt, dessinée ou importée sous la forme d’un polygone ;
- une période comprise entre un et douze mois ;
- un encodeur Nano, Tiny ou Base ;
- une résolution spatiale de 10, 20, 40 ou 80 mètres par pixel ;
- des composites Sentinel-2 L2A, Sentinel-1 RTC, ou les deux.
Les trois variantes d’encodeur annoncées diffèrent par la taille de leurs vecteurs et leur nombre de paramètres : Nano produit 128 dimensions pour 1,4 million de paramètres, Tiny 192 dimensions pour 6,2 millions, et Base 768 dimensions pour 89 millions. AllenAI indique que les variantes plus grandes offrent des représentations plus riches, avec un coût de calcul et de stockage supérieur. La source ne chiffre toutefois ni ce coût, ni les délais de traitement, ni les tarifs ou conditions commerciales d’accès à Studio.
Un export GeoTIFF conçu pour être repris dans un pipeline Python
Le résultat est un Cloud-Optimized GeoTIFF (COG), un format raster adapté à la diffusion et à la lecture partielle de données géospatiales. Chaque dimension de l’embedding devient une bande du fichier. Un export issu de l’encodeur Tiny contient donc 192 bandes ; un export Base en contient 768.
Pour réduire le volume, les valeurs sont stockées sous forme d’entiers signés sur 8 bits : de -127 à +127, la valeur -128 étant réservée aux zones sans données. Si ton modèle en aval requiert les vecteurs flottants, la source renvoie vers la fonction dequantize_embeddings du package olmoearth_pretrain. C’est un détail technique à ne pas négliger : traiter les entiers quantifiés comme s’il s’agissait directement des vecteurs originaux peut modifier les résultats d’une mesure de distance ou d’un entraînement.
Dans l’exemple de classification fourni, le COG est lu avec rasterio, puis remodelé en matrice où chaque ligne représente un pixel et chaque colonne une dimension. Un pipeline scikit-learn standardise les variables avant d’entraîner une régression logistique. Le principe est accessible à toute équipe disposant déjà d’un environnement Python géospatial :
with rasterio.open("embeddings.tif") as ds:
emb = ds.read().astype(np.float32)
C, H, W = emb.shape
X = emb.reshape(C, -1).T
clf = make_pipeline(StandardScaler(), LogisticRegression(max_iter=2000))
clf.fit(X[train_idx], labels[train_idx])
Le code ne dispense pas du travail de validation. Il faut notamment gérer les pixels sans données, aligner correctement tes annotations avec le raster, séparer entraînement et test de façon géographiquement pertinente, puis vérifier que le modèle tient sur une autre zone ou une autre période.
Quatre usages concrets : similarité, classification, changement et exploration
AllenAI illustre l’outil avec quatre familles de tâches. La première est la recherche de similarité. Tu sélectionnes un pixel ou une petite zone de référence, extrais son vecteur, puis calcules la similarité cosinus avec les autres pixels. Dans l’exemple californien de la source, une requête située dans une zone urbaine fait ressortir le tissu bâti et les axes routiers, tandis que les parcelles agricoles apparaissent moins similaires. Avec une fenêtre agricole comme requête, les parcelles irriguées obtiennent les scores les plus élevés.
Deuxième usage : la segmentation ou classification avec peu d’exemples. Sur une région de mangroves à Ca Mau, au Vietnam, l’équipe a utilisé 60 pixels étiquetés, soit 20 pour chacune des classes mangrove, eau et autre, avec ESA WorldCover 2021 comme source de labels. Une régression logistique entraînée sur les embeddings Tiny a atteint un F1 pondéré de 0,84 selon la source. C’est un résultat sur ce protocole précis, pas une garantie de performance pour toute région, tout capteur ou toute taxonomie. Il suggère néanmoins qu’un classifieur linéaire peut constituer un bon premier test si tu possèdes des relevés terrain, des polygones métier ou une carte existante.
Troisième usage : la détection de changement. En calculant des embeddings mensuels sur deux dates et une distance cosinus par pixel, la démonstration fait ressortir la cicatrice du Park Fire, en Californie, entre septembre 2023 et septembre 2024. Cette méthode ne demande pas de labels, mais un score élevé mesure une différence de représentation, pas automatiquement la nature ni la cause du changement. Nuages résiduels, effets saisonniers, variations de capteur ou de composition peuvent donc devoir être contrôlés dans un usage opérationnel.
Enfin, la réduction de dimension par analyse en composantes principales (PCA) permet de visualiser les structures apprises. En ramenant les vecteurs à trois composantes et en les associant à des canaux rouge, vert et bleu, des zones semblables apparaissent dans des couleurs proches. C’est utile pour repérer des motifs ou orienter une campagne d’annotation ; ce n’est pas une légende sémantique automatique.
Ce que tu dois vérifier avant d’en faire une brique métier
OlmoEarth propose une entrée pragmatique dans l’analyse satellitaire, mais la qualité d’un résultat final dépend encore de ton cas d’usage. Commence par fixer une question mesurable : cartographier un type de culture, repérer des zones artificialisées, suivre une perturbation, ou trouver des parcelles comparables. Choisis ensuite une zone pilote et une période cohérente avec le phénomène étudié.
Pour un premier prototype, l’encodeur Tiny à 40 mètres et Sentinel-2 L2A correspond aux exemples de la source. Cela ne signifie pas qu’il est optimal dans ton contexte. Compare au moins plusieurs résolutions ou périodes si l’enjeu le justifie, et mesure l’effet sur le volume de données, la finesse spatiale et la stabilité des résultats.
Enfin, sépare clairement ce que le modèle détecte de ce que tu peux interpréter. Un embedding facilite la comparaison et l’apprentissage, mais il ne remplace ni des données de référence fiables, ni une validation terrain lorsque la décision a des conséquences réglementaires, financières ou environnementales. Les poids, le code source et les instructions pour calculer soi-même les embeddings sont annoncés comme publics ; l’export personnalisé via Studio, lui, nécessite de contacter AllenAI pour obtenir l’accès.
La bonne façon de tester OlmoEarth dans ton workflow
Le meilleur test n’est pas de produire une jolie carte en fausses couleurs, mais de confronter les embeddings à une tâche précise. Exporte une petite zone, prépare un jeu de validation indépendant, puis compare trois approches : bandes satellites brutes, variables métier existantes et embeddings OlmoEarth. Si un modèle simple sur les embeddings améliore réellement ton indicateur — précision, rappel, temps d’annotation ou détection précoce — tu auras une base sérieuse pour industrialiser.
Les embeddings sont particulièrement intéressants quand tu manques de labels mais disposes d’images et d’une question répétable à l’échelle de plusieurs territoires. Ils ne suppriment pas les choix méthodologiques ; ils déplacent l’effort vers la définition du problème, l’évaluation et l’intégration géospatiale.