A geospatial intelligence firm needed to process 2 terabytes of satellite imagery per week to detect changes in infrastructure, monitor agricultural land use, and track environmental conditions across client regions of interest. Manual analysis by imagery analysts could process approximately 50 square kilometers per analyst per day. The firm’s coverage requirements exceeded 500,000 square kilometers weekly.

The Architecture

The pipeline processes raw satellite imagery through multiple analysis stages to produce actionable intelligence reports.

Image pre-processing - Raw satellite imagery requires atmospheric correction, orthorectification (removing terrain distortion), and cloud masking before analysis. The pre-processing pipeline runs on GPU instances, processing each image tile independently for parallelism. Cloud-covered tiles are flagged and excluded from analysis with a request for the next available clear capture.

Change detection - The primary analysis compares current imagery against a baseline. A computer vision model identifies pixel-level changes, then classifies them: new construction, vegetation change, water body change, road development, or natural disturbance. Change detection sensitivity is tuned per client - agricultural monitoring clients need sensitivity to subtle crop changes, while infrastructure monitoring clients need sensitivity to structural changes but tolerance for seasonal vegetation variation.

Object identification - Specialized detection models identify specific objects of interest: buildings, vehicles, aircraft, vessels, solar panels, and agricultural equipment. Each model is trained on labeled satellite imagery at the relevant resolution. Object counts and locations are recorded with confidence scores.

Report generation - An LLM synthesizes change detection results, object identification data, and historical trends into structured intelligence reports. Reports are tailored per client: agricultural clients receive crop health assessments, infrastructure clients receive construction progress reports, and environmental clients receive land use change summaries.

Key Lessons

Resolution determined which analyses were possible. Different satellite sources provide different resolutions (30cm to 10m per pixel). Vehicle identification required sub-meter resolution. Building detection worked at 1-3m resolution. Vegetation change detection worked at 10m resolution. The pipeline needed to route imagery to appropriate analysis stages based on its resolution capability.

Temporal consistency was harder than spatial analysis. Comparing images from different dates required accounting for seasonal changes, lighting angle differences, and sensor calibration variations. Without proper normalization, the system flagged every field as “changed” between summer and winter captures. Season-aware baselines that compared same-season imagery year-over-year solved this.

Cloud cover was the operational bottleneck. In some regions, persistent cloud cover meant months between usable captures. The system needed to gracefully handle stale baselines and communicate data currency to clients. Integrating SAR (synthetic aperture radar) imagery that penetrates clouds provided partial coverage during cloudy periods.

Analyst-in-the-loop improved over time. Initial object detection accuracy was 78%. Analysts reviewed and corrected detections, and these corrections were fed back into model retraining quarterly. After four retraining cycles, accuracy reached 91% on the correction-enriched training data.

Results

Analysis throughput increased from 50 to 8,000 square kilometers per analyst per day (analysts now review AI outputs rather than raw imagery). Client coverage capacity increased 10x with the same team size. Change detection latency decreased from 2 weeks to 48 hours after image acquisition. Report generation time decreased from 4 hours to 20 minutes per region.