AI Satellite Imagery Change Detection System

We design and deploy artificial intelligence systems: from prototype to production-ready solutions. Our team combines expertise in machine learning, data engineering and MLOps to make AI work not in the lab, but in real business.
Showing 1 of 1 servicesAll 1566 services
AI Satellite Imagery Change Detection System
Medium
~2-4 weeks
FAQ
AI Development Areas
AI Solution Development Stages
Latest works
  • image_website-b2b-advance_0.png
    B2B ADVANCE company website development
    1214
  • image_web-applications_feedme_466_0.webp
    Development of a web application for FEEDME
    1161
  • image_websites_belfingroup_462_0.webp
    Website development for BELFINGROUP
    852
  • image_ecommerce_furnoro_435_0.webp
    Development of an online store for the company FURNORO
    1041
  • image_logo-advance_0.png
    B2B Advance company logo design
    561
  • image_crm_enviok_479_0.webp
    Development of a web application for Enviok
    823

ИИ-детекция изменений на спутниковых снимках

Сравнение снимков одной территории с разницей в 6 месяцев вручную — задача, требующая часов работы аналитика на квадратный километр. При мониторинге 1 000 км² это нереально. Change detection модель делает это за минуты и находит изменения площадью от 100 м².

Типы изменений и методы детекции

Бинарная детекция (изменилось/не изменилось) — самая простая и надёжная. Задача: классифицировать каждый пиксель как changed/unchanged. Models: BIT (Binary change detection with Transformers), ChangeFormer, SNUNet.

Семантическая детекция изменений — что именно изменилось: лес → вырубка, поле → застройка, водоём → суша. Требует семантической разметки «до» и «после». Models: Semantic Change Detection (SCD) с siamese encoder + segmentation decoder.

Детекция объектов (появился/исчез конкретный объект) — новое здание, появившийся/пропавший корабль в порту, новая техника на площадке. Instance-level change detection.

Architecture siamese networks

Стандартная архитектура: два идентичных encoder'а (siamese), обрабатывают снимки T1 и T2. Фичи конкатенируются или вычитаются, decoder предсказывает change map.

import torch
import torch.nn as nn

class SiameseChangeDetector(nn.Module):
    def __init__(self, encoder, decoder):
        super().__init__()
        self.encoder = encoder  # Общие веса для T1 и 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)   # или torch.cat([f1, f2], dim=1)
        change_map = self.decoder(diff)  # (B, 1, H, W)
        return change_map

ChangeFormer (transformer-based): F1 = 0.916 на LEVIR-CD датасете (высокоразрешающий, 0.5 м/пиксель). SNUNet (densely connected UNet): F1 = 0.908 при меньшем времени инференса.

Главная проблема: pseudo-changes

Pseudo-changes — изменения, которых нет в реальности, но они видны на снимках из-за:

  • Разного времени суток (тени от строений разные)
  • Разного времени года (листва есть / нет)
  • Разных атмосферных условий (дымка, влажность)
  • Разных углов съёмки у разных спутников

На практике pseudo-changes дают FP rate 30–60% без preprocessing. Решения:

  1. Radiometric normalization — привести оба снимка к единой photometric baseline через histogram matching или pseudo-invariant feature normalization
  2. Seasonal alignment — сравнивать только снимки одного сезона (апрель с апрелем)
  3. Change probability calibration — калиброванные вероятности вместо бинарного решения, порог подбирается под конкретную задачу

Мультитемпоральный анализ

Для непрерывного мониторинга: не два снимка, а временной ряд. Задача: алерт при значимом изменении относительно baseline (медианный composite за год).

LSTM или temporal transformer поверх embeddings серии снимков — предсказывает аномалию в текущей точке временного ряда. Преимущество: учитывает сезонные паттерны, не фиксирует их как «изменения».

Кейс: мониторинг незаконных вырубок

Территория: 500 000 га тайги. Снимки: Sentinel-2, раз в 10 дней. Задача: детектировать свежие вырубки (≥ 1 га) в течение 30 дней после события.

Pipeline: S2 cloud-free composite → ChangeFormer (14-канальный input: RGB+NIR+SWIR x2 даты) → полигонизация масок → фильтрация по площади (≥ 100 px = 1 га при 10м/px) → проверка против легальных лесорубочных билетов (векторные данные Рослесхоза) → алерт для лесной охраны.

Recall вырубок ≥ 1 га: 0.93. FP rate после сравнения с легальными вырубками: 8%. Среднее время от события до алерта: 12 дней.

Сроки

Базовая система бинарного change detection для одного региона: 6–10 недель. Семантическая детекция + мультитемпоральный мониторинг: 12–18 недель. Стоимость зависит от территории и периодичности мониторинга.