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

ИИ-классификация типов земельного покрова по спутниковым снимкам

Актуальная карта земельного покрова — основа для сельскохозяйственного планирования, экологического мониторинга, градостроительного проектирования. Ручное дешифрирование 1 000 км² занимает 2–4 месяца. Нейронная сеть на мультиспектральных снимках делает это за часы с точностью, сравнимой с ручной работой опытного аналитика.

Классы и детализация

Стандартные классы CORINE Land Cover (44 класса) слишком детальны для автоматической классификации по Sentinel-2. Практически достижимые уровни:

Уровень Классы mIoU
L1 (грубый) 5 классов: вода, лес, с/х, застройка, прочее 0.91–0.95
L2 (средний) 15–20 классов 0.82–0.88
L3 (детальный) 35–44 класса 0.68–0.76

Для большинства прикладных задач L2 достаточен. L3 требует снимки высокого разрешения (< 3 м/пиксель) и значительно большего объёма обучающих данных.

Мультиспектральный input и feature engineering

Sentinel-2 с 10/20м каналами: B02 (blue), B03 (green), B04 (red), B08 (NIR), B11/B12 (SWIR). Плюс вычисленные индексы:

import numpy as np

def compute_spectral_indices(bands):
    B02, B03, B04, B08, B11, B12 = bands
    # Vegetation indices
    NDVI = (B08 - B04) / (B08 + B04 + 1e-8)
    EVI = 2.5 * (B08 - B04) / (B08 + 6*B04 - 7.5*B02 + 1)
    # Water index
    NDWI = (B03 - B08) / (B03 + B08 + 1e-8)
    # Built-up index
    NDBI = (B11 - B08) / (B11 + B08 + 1e-8)
    # Bare soil
    BSI = ((B11 + B04) - (B08 + B02)) / ((B11 + B04) + (B08 + B02) + 1e-8)
    return np.stack([NDVI, EVI, NDWI, NDBI, BSI])

Добавление 5 спектральных индексов к 6 исходным каналам (итого 11 каналов): mIoU вырастает с 0.84 до 0.89 на 20-классовой задаче без изменения архитектуры модели.

Архитектуры для semantic segmentation

SegFormer-B4 на мультиспектральном input: адаптируем первый свёрточный слой с 3 на N каналов (reinitialize weights для новых каналов, сохраняем RGB-pretrained для первых трёх). Fine-tuning на датасете класса DeepGlobe или EuroSAT.

SatMAE — foundation model, предобученная на терабайтах геопространственных данных. Fine-tuning требует в 3–5 раз меньше аннотированных данных по сравнению с ImageNet-pretrained ViT.

U-Net с ResNet-50 backbone: более простой baseline, но работает надёжно и быстро. На L2-классификации: mIoU = 0.85 на 1 000 размеченных тайлов.

Работа с мультивременными данными

Однозначная классификация по одному снимку ненадёжна: заснеженное поле и жилая застройка похожи в зимний период. Мультивременной подход: стек снимков 4–12 месяцев как временной ряд.

SITS-BERT (Satellite Image Time Series BERT) или temporal attention поверх U-Net encoder — обрабатывают серию снимков как последовательность и извлекают фенологические паттерны. Рост класс «пашня» vs «луг» работает только в динамике: пашня имеет характерный NDVI-цикл.

Прирост от мультивременного подхода: mIoU на различении пашня/луг/зарастающие поля — с 0.71 (один снимок) до 0.89 (серия 12 снимков).

Постобработка и экспорт

Результат сегментации нейросети — растровая маска. Для практических применений нужен векторный формат (полигоны):

  • rasterio polygonize → shapely simplify (epsilon=5м для удаления зигзагов)
  • Минимальный фрагмент: отфильтровать полигоны < MMU (Minimum Mapping Unit), обычно 0.5–1 га
  • Экспорт: GeoJSON / Shapefile / PostGIS для интеграции с GIS-системами

Сроки

Базовая классификация L1 (5 классов) для конкретного региона: 4–8 недель. L2 (15–20 классов) с мультивременным анализом: 10–16 недель. Стоимость зависит от площади и требований к точности.