Задача
Мониторить огромную территорию на изменения — новая застройка, вырубки, разливы, подтопления — глазами невозможно: аналитиков не хватит, и пока человек долистает до нужного квадрата, изменение уже не новость. Нужен автомат, который сравнивает съёмку во времени и поднимает только то, что реально изменилось.
Сложность — масштаб и неоднородность: разное разрешение и сезоны, облака, тени, смена освещения. Наивная попиксельная разница тонет в ложных срабатываниях от сезона и погоды.
Подход
Изменения ищем не по сырым пикселям, а по семантике: сегментируем классы покрытия и сравниваем их во времени — так сезонная смена цвета поля не считается изменением, а новая просека считается. Облака и тени маскируются до сравнения, разные сенсоры приводятся к общей сетке.
Обработку распределили по тайлам с автоскейлом: регион режется на квадраты, считается параллельно, находки агрегируются на карту с приоритетом по площади и типу. Конвейер идемпотентен — повторный прогон не пересчитывает неизменившиеся тайлы.
Стек
semantic change detection · cloud/shadow masking · tiled distributed processing · object storage · geo-индекс
Результат
- 180 тыс. км² под автоматическим мониторингом.
- менее 24 ч от поступления съёмки до находок на карте.
- −71% ложных изменений против попиксельной разницы.
- Приоритизация находок по площади и типу для аналитика.