Ask satellite imagery anything. Get answers you can check.
SatQuery AI is an agentic vision-language assistant for remote sensing. It validates your optical, SAR or multi-temporal GeoTIFFs, routes the question to specialist models, and answers with masks on the image and the real map, charts, calibrated confidence and an auditable trace.
3
input configurations
12
registered tools
8
routed task types
5
real Sentinel test scenes
Hussain Sagar Lake · 4.11 km² · MNDWI 0.72
Why an agent
One question box instead of a dozen single-task tools
Operational questions rarely fit one model. Water under monsoon cloud needs SAR; “what changed?” needs two dates; “where is it?” needs grounding. SatQuery hides the GIS workflow and model selection behind plain language — without hiding the evidence.
Today
- A separate model for classification, detection, VQA and change detection
- Users must know sensor characteristics, band maths and GIS workflows
- Optical fails under cloud and at night; SAR alone confuses tarmac and water
- Black-box answers with no evidence, confidence or audit trail
With SatQuery AI
- One natural-language interface over single, optical–SAR and bi-temporal inputs
- Inputs validated automatically: format, CRS, co-registration, time gap
- The controller picks, sequences and parameterises remote-sensing specialists
- Every answer ships masks, maps, charts, calibrated confidence and a trace
Capabilities
Every mandatory task, on real imagery
Each card opens the console with a real Sentinel scene loaded and the question already asked.
How the agent works
Validate, route, plan, execute, aggregate, answer
The controller is a LangGraph state machine over a typed tool registry. Only the observable trace — task, tools, versions, permitted parameters, outputs and timings — is exposed, exactly what an evaluator needs to audit.
01 · Validate
Checks format, CRS, bands, grid and acquisition time for every file; for pairs, footprint overlap, co-registration and the time gap. Incompatible inputs are rejected before any model runs.
geo-validator@1.2.0 → 2/2 files valid · GeoTIFF EPSG:32643 · co-registered (IoU 1.000)
Real data, real places
Tested on Sentinel-1 and Sentinel-2 scenes over India
Three sites, five GeoTIFFs and ten yearly epochs, read from the Copernicus archive. Click a site to fly to its footprint on a real basemap.
Hyderabad — Hussain Sagar
Sentinel-2 L2A · 07 Jan 2025 · 702 × 786 px
VQA · captioning · grounding
Mumbai — Bandra · Kurla · CSMIA
Sentinel-2 + Sentinel-1 · 06/07 Jan 2025 · co-registered
optical–SAR fusion · SAR VQA
Navi Mumbai International Airport
Sentinel-2 L2A · 2017 → 2026 · 10 yearly epochs
change description · change VQA · trend
Every scene is a real, georeferenced GeoTIFF read from the Copernicus archive. Footprints and overlays sit exactly where the pixels are on Earth.
Remote-sensing adaptation
Adapted to satellite data — not a generic VLM
The vision-language core is fine-tuned on BigEarthNet.txt's co-registered Sentinel-1 / Sentinel-2 image–text pairs, and every specialist is evaluated on the prescribed public benchmarks.
SatQuery-VLM
- Base model
- Qwen2-VL-2B-Instruct
- Adapter
- LoRA · r 16 · α 32 · dropout 0.05
- Target modules
- q_proj · k_proj · v_proj · o_proj
- Adaptation data
- BigEarthNet.txt — Sentinel-1 SAR + Sentinel-2 MSI + text
- Training
- AMP · cosine LR · gradient accumulation (scripts/train_lora.py)
- Data prep
- scripts/setup_bigearthnet_data.py → VQA / caption pairs
Evaluation protocol
scripts/evaluate.py| Benchmark | Tasks | Metrics |
|---|---|---|
| VRSBench | Captioning · grounding · VQA | BLEU-4, METEOR, CIDEr · Acc@0.5 IoU · accuracy |
| RSVQA (LR / HR) | Single-image VQA | Overall and per-question-type accuracy |
| CDVQA | Change-based VQA | Overall accuracy by question type |
| ISRO / SAC set | Cartosat-2S + RISAT pairs, all tasks | Task scores, normalised then combined |
Benchmark loaders for VRSBench, RSVQA and CDVQA ship in scripts/benchmark_loaders; scores are reported on the prescribed test splits.
Requirement coverage
Problem statement → where to see it
| Requirement | How SatQuery AI meets it | See it |
|---|---|---|
| Input upload & compatibility checking | geo-validator reads every GeoTIFF: format, CRS, bands, grid, acquisition time; pairs are checked for footprint overlap, co-registration and time gap | Console → inputs |
| Remote-sensing adaptation | SatQuery-VLM = Qwen2-VL-2B-Instruct + LoRA (r 16, α 32) trained on BigEarthNet.txt Sentinel-1/2 image–text pairs | Adaptation ↓ |
| Single-image VQA | Presence, counting, proportion and attribute answers grounded in spectral evidence | Hyderabad scene |
| Captioning / text-guided grounding | Scene captions naming major objects; referring expressions resolved to mask + box on image and map | “Highlight the water body” |
| Change description / change-VQA | Post-classification + change-vector analysis, transition matrix, change-VQA and a 10-epoch trend | Navi Mumbai 2017→2026 |
| Optical–SAR paired analysis | SAR segmentation + evidence-level fusion with disagreement map and per-pixel inspector | Mumbai optical + SAR |
| Agentic orchestration & auditable trace | Validate → route → plan → execute → aggregate → answer; every step logs tool, version, permitted params, output and time | Tool registry |
| Visual evidence, confidence, reports | Overlays on image and real map, calibrated confidence with its components, PDF / GeoJSON / JSON exports | Any answer card |
| Formats | GeoTIFF / TIFF for geospatial data; PNG / JPEG accepted and flagged for public benchmark samples only | Validator rules |
Bring a GeoTIFF. Ask a question.
Load one of the real test scenes or drop your own — the agent validates it, picks the tools and shows its work.
