Anaximander: Interactive Orchestration and Evaluation of Geospatial Foundation Models
This talk introduces Anaximander, a system designed to bridge the gap between traditional, GUI-driven Geographic Information System (GIS) workflows and modern, code-heavy machine learning practices. Anaximander integrates geospatial foundation models directly into QGIS, allowing experts to interactively orchestrate, run, and evaluate models for tasks like semantic segmentation and object detection on satellite imagery.
Motivation: Bridging the Gap Between GIS and ML Workflows
Evaluating geospatial foundation models presents a unique challenge compared to generic computer vision models. While a standard image classifier’s error (e.g., mistaking a giraffe for a submarine) is self-evident, a satellite image classifier’s output requires external context for validation. For instance, an image classified as “cropland” might look like a desert, but without knowing the geographical location (e.g., a desert region in Egypt) or the time of year (e.g., dry season), it’s difficult to confirm the prediction’s accuracy.
This necessity for contextual data is where traditional Geographic Information Systems (GIS) excel. Domain experts are accustomed to GUI-heavy tools like QGIS, where they can pan, zoom, and overlay various data layers to explore and understand geospatial information. In contrast, machine learning workflows are typically code-heavy, creating a disconnect for GIS professionals who could benefit from these advanced models.
Anaximander is a system built to bridge this gap. It targets users who are savvy in both GIS and ML, providing a tool to integrate powerful foundation models into the familiar, interactive environment of QGIS.
The Anaximander System: A QGIS Plugin
Anaximander is a graphical user interface for evaluating geospatial models, built as an extensible plugin for the popular open-source tool QGIS. Its core capabilities include:
- Model Loading: Quickly load model definitions from various sources.
- Data Specification: Define what data from the GIS viewport to pass to the model.
- Flexible Computation: Specify where the computation should occur—locally on a CPU or remotely on a GPU-enabled server.
- In-Context Inspection: View and analyze model outputs directly overlaid on the map.
Demonstration: Interactive Model Evaluation
A demonstration of segmenting agricultural fields in South Africa highlights the system’s flexibility and power.
- GPT Image One: As a baseline, a prompt was sent to the GPT API with an image from the QGIS viewport. The model returned an image that resembled a segmentation map but was spatially inaccurate and unusable for precise delineation, showing the limits of generic models.
- Segment Anything 3 (SAM 3): The plugin searched Hugging Face for the SAM 3 model. The computation was offloaded to a remote compute cluster with GPUs. The results were a significant improvement, correctly identifying some field boundaries. However, as a generic vision model, its out-of-the-box performance on specific Earth observation data was still not perfect.
- Delineate Anything: This YOLO-based model, specifically trained on satellite imagery to find field boundaries, was loaded from local weights. The inference was run directly on the local CPU due to its computational efficiency. This model produced a much higher quality segmentation result, demonstrating the importance of using domain-specific models.
The key takeaway is that the Anaximander plugin is agnostic to both the model source and the computational substrate. It seamlessly handled an API call, a Hugging Face model running on a remote GPU, and a local model running on a CPU, all within the same evaluation workflow.
System Architecture
Anaximander uses a client-server architecture:
- QGIS Client: Manages the GUI, user data, data tiling, and definitions for model sourcing and compute location.
- Companion Server: A server instance, running either locally or remotely, that handles model loading, device management (CPU/GPU), and data parallelism.
This decoupled design is front-end agnostic (it could be adapted for a web app) and reflects modern compute setups where GPU resources are often centralized, allowing users on standard machines to leverage powerful remote hardware.
Case Study: Croptype Mapping in Kenya
Anaximander is being used in an active project to create a crop type map for maize in Kenya, a critical task for food security assessment. The challenge is that high-quality, geo-located labels for maize fields are scarce, while lower-quality data is abundant but heterogeneous.
The workflow uses Anaximander to turn a few high-quality labels into hundreds of weak labels:
- A high-quality GPS coordinate (known to be a maize field) is located on the map.
- The “Delineate Anything” model is run to segment the agricultural parcels in that area.
- Instead of using just the single labeled pixel, all pixels within the resulting field polygon are now treated as potential maize pixels.
- This process is repeated interactively across different regions, allowing the user to quickly evaluate the model’s performance and generate a large dataset of weak labels.
This approach of using strong labels to generate many weak labels has been shown to significantly improve the performance of downstream classification models.
Challenges and Future Work
-
Challenges:
- Bespoke Models: The system works best with models that have standardized inputs and outputs. Models requiring complex inputs (e.g., multi-temporal imagery) need custom adapters.
- Interactivity: The user experience is highly dependent on the available compute power. A lack of sufficient GPUs can turn an interactive session into a slow batch job.
-
Future Work:
- Expand support for object detection and feature extraction workflows.
- Improve security by containerizing models and implementing a formal model registry.
- Integrate the Anaximander server backend into agentic workflows. This would allow a “chatbot for maps” to delegate a specific task like field segmentation to a specialized model managed by Anaximander, rather than relying on a less capable, generic vision-language model.