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

Проектируем и внедряем системы искусственного интеллекта: от прототипа до production-ready решения. Наша команда объединяет экспертизу в машинном обучении, дата-инжиниринге и MLOps, чтобы AI работал не в лаборатории, а в реальном бизнесе.
Показано 1 из 1 услугВсе 1566 услуг
AI-система детекции изменений на спутниковых снимках
Средняя
~2-4 недели
Часто задаваемые вопросы
Направления AI-разработки
Этапы разработки AI-решения
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1218
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1161
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    853
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1047
  • image_logo-advance_0.png
    Разработка логотипа компании B2B Advance
    561
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    825

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

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

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

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

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

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

Архитектура 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 недель. Стоимость зависит от территории и периодичности мониторинга.