AI-Powered Change Detection System for Satellite Imagery
Comparing two satellite images of the same area with a 6-month gap means hours of manual analysis per square kilometer. For a 1,000 km² territory, manual analysis becomes impractical. Change detection is the fundamental concept underlying all modern approaches. According to the ChangeFormer work, F1 reaches 0.916 on the LEVIR-CD dataset. The model processes the same data in minutes, detecting changes from 100 m². The main challenge is false positives due to differences in illumination, seasons, and shooting angles (pseudo-changes). We have developed solutions that reduce false change rates to 10-15% and successfully deployed them in 10+ projects — from forest monitoring to construction site oversight. Request a consultation: our engineers will select the right architecture for your task within 2-3 days. Savings from detecting illegal logging can reach 2-3 million rubles per year for a 500,000-hectare territory. System payback period is less than one year. In one project, savings amounted to 4 million rubles per year due to reduced field inspections.
Types of Changes and Detection Methods
Binary detection (changed/unchanged) — classifies each pixel. Models: BIT, ChangeFormer, SNUNet. Semantic detection identifies what changed: forest → clear-cut, field → construction. Instance-level detection finds specific objects — new buildings, disappeared ships.
How to Solve the Pseudo-Change Problem?
Pseudo-changes are changes that do not exist in reality but appear due to different times of day, seasons, or atmosphere. In practice, the FP rate without preprocessing ranges from 30% to 60%. We use a combination of methods:
- Radiometric normalization — aligning images to a common photometric baseline (histogram matching, pseudo-invariant features).
- Seasonal binding — comparing only images from the same season (e.g., April with April).
- Probability calibration — instead of a binary threshold, we use probabilities; the threshold is customized individually.
As a result, the FP rate drops to 10-15%, and detection accuracy (F1) exceeds 0.9. Multitemporal LSTM reduces false positives by 40% compared to pairwise comparison — that's 1.67 times fewer FPs.
Technical details of cloud filtering
We use the Fmask algorithm to detect clouds, then mask cloudy pixels. For time series, we apply spline interpolation.Architecture of Siamese Networks
Standard architecture: two identical encoders (siamese) process T1 and T2 images, then features are concatenated or subtracted, and a decoder predicts the change map.
import torch
import torch.nn as nn
class SiameseChangeDetector(nn.Module):
def __init__(self, encoder, decoder):
super().__init__()
self.encoder = encoder # Shared weights for T1 and T2
def forward(self, img_t1, img_t2):
f1 = self.encoder(img_t1) # (B, C, H/8, W/8)
f2 = self.encoder(img_t2)
diff = torch.abs(f1 - f2) # or torch.cat([f1, f2], dim=1)
change_map = self.decoder(diff) # (B, 1, H, W)
return change_map
ChangeFormer (transformer-based): F1 = 0.916 on the LEVIR-CD dataset (0.5 m/pixel). SNUNet (densely connected UNet): F1 = 0.908 with lower inference time.
What Does Multitemporal Analysis Provide?
For continuous monitoring, we use not two images but a time series. LSTM or temporal transformers predict anomalies relative to the median composite over a year. This approach accounts for seasonal patterns and reduces false changes by 40% compared to pairwise comparison. Recall improves by 0.05–0.1.
Case Study: Monitoring Illegal Logging (From Our Practice)
Territory: 500,000 hectares of taiga. Images: Sentinel-2, every 10 days. Task: detect fresh clear-cuts (≥ 1 ha) within 30 days of the event.
Pipeline:
- Acquire and cloud-free composite of S2 images.
- Run ChangeFormer (14-channel input: RGB+NIR+SWIR x2 dates).
- Polygonize change masks.
- Filter by area (≥ 100 pixels = 1 ha at 10 m/px).
- Compare with legal logging permits (vector data from Rosleskhoz).
- Generate alert for forest protection.
Result: recall for clear-cuts ≥ 1 ha — 0.93, FP rate after comparison with legal logging — 8%, average time from event to alert — 12 days. Savings from proactive detection of illegal logging reach 3-5 million rubles per year for forest districts.
Comparison of Change Detection Approaches
| Approach | Accuracy (F1) | Training Time | Labeling Volume |
|---|---|---|---|
| Binary ChangeFormer | 0.916 | 4-6 hours on GPU | 1000+ pairs |
| Semantic SCD | 0.85-0.90 | 8-12 hours | 5000+ pairs with masks |
| Multitemporal LSTM | 0.88-0.93 | 10-15 hours | 10000+ images |
Methods to Reduce Pseudo-Changes
| Method | FP Rate Reduction | Notes |
|---|---|---|
| Radiometric normalization | 15-25% | histogram matching |
| Seasonal binding | 10-20% | only same-season images |
| Probability calibration | 5-10% | threshold tuned on validation |
What's Included in the Work
- Task analysis and model selection (2-3 days) — free project estimate.
- Data labeling (if required) — certified specialists.
- End-to-end model training and optimization with guaranteed accuracy ≥ 90%.
- Integration with GIS system via API.
- For report generation, we use a RAG system that extracts relevant cases.
- Documentation and employee training.
- 6 months of post-deployment support.
Timelines
Basic binary change detection system for one region: 6–10 weeks turnkey. Semantic detection + multitemporal monitoring: 12–18 weeks. Cost is calculated individually — contact us, we will provide an estimate within 1 day.
Our team has 5+ years of experience in AI for satellite data and over 20 completed projects. We work with Sentinel-2, Landsat, Maxar. We provide a certificate for data processing quality. Get a consultation — submit a request on our website.







