Skip to content

Interactive marking of forest park zones of Rostov-on-Don

Notifications You must be signed in to change notification settings

mikhail-moro/lesa

Repository files navigation

Маркировка и оценка изменений лесопарковых площадей

Данный сервис позволит анализировать изменения лесопарковых площадей Ростова-на-Дону в соответствии с данным кейс-заданием: https://drive.google.com/file/d/1nDDueI9eiSFpFzIJgmX8TeIPcJiD9mwH/view?pli=1

Дорожная карта:

  • ✅ Минимально работающий Web-клиент для интерактивного анализа

  • ➡️ Реализация основных архитектур FCCNN - Unet и DeepLab:

    • ✅ Обучены пробные версии моделей, пока не показывающие достаточной точности
    • ✅ Реализована интеграция моделей с Web-клиентом
    • ...
  • ❌ Выбор баз снимков дистанционного зондирования Земли

  • ❌ Выбор периода

  • ❌ Отчет с аналитикой

Реализованные архитектуры

  • U-Net[1] - доступно в Web-клиенте
  • UNet++[2] - доступно в Web-клиенте
  • DeepLabV3+[3]:
    • версия с ResNet50 енкодером - доступно в Web-клиенте
    • версия с EfficientNetV2S енкодером - доступно в Web-клиенте

Блокноты с процессом обучения моделей доступны в директории train.

На рис. 1 показано сравнение метрики Intersection-Over-Union вывода моделей и размеченных вручную масок (данные для сравнения расположенны в models /benchmark_data). Как видно, на данный момент, самые лучшие результаты показала архитектура DeepLabv3+ с EfficientNetV2S енкодером, особенно на уровне приближения 17 (модели показывают достаточное качество анализа изображений только с последних 3-х самых высоких уровней приближения - 16, 17, 18). Однако, размеченных данных (пока что) крайне мало, поэтому результаты нельзя назвать точными.


Рис. 1

На рис. 2 и рис. 3 видно, что эта же модель не идеально выделяет лесопарковые площади, особенно в городской среде (однако, тут играет роль и процесс постпроцессинга вывода модели, это тоже не доработано).


Рис. 2


Рис. 3

Данные


Рис. 4

Для обучения моделей был использован датасет аэрофотоснимков LandCover.ai-v1[4][5]. Так как данный датасет содержит более одного размеченного класса, то для обучения была выбранна подвыборка примеров содержащих достаточную концентрацию класса Woodland, а также класса Building, так как, в данном случае необходимо обучить модели сегментировать растительность в преимущественно городской среде. Затем, из полученной подвыборки были убраны остальные метки классов кроме Woodland. Процесс предобработки и аугментации датасета сохранен в блокноте train/data_work.ipynb.

Демонстрация работы сервиса (картинка - ссылка на YouTube-видео)

Демонстрация работы

Запуск сервера

При запуске контейнера по умолчанию будут использованы настройки из файла backend\config.json(путь до файла можно изменить в системной переменной 'CFG-PATH'). Данный файл имеет следующую структуру:

{
    *Важно: не используйте абсолютные пути, все пути должны быть относительны директории /backend*

                                         Основные настройки
    "logs_path":                         - путь до .txt файла где будут записываться логи сервера 
    "models":                            - список моделей для анализа снимков со спутников которые будут использованны, на данный момент доступны "U-Net", "Unet++", "ResNet-DeepLabV3+" и "EfficientNet-DeepLabV3+"
    "weights_destination":               - расположение .h5 файлов с обученными весами для моделей: 'local' - искать веса в локальной директории, 'remote' - брать веса из удаленной Google Drive директории


    "local_weights": {                   Настройки которые будут применены при выборе локальной загрузки весов
        "weights_dir_path":              - путь до локальной директории с .h5 файлами весов
    },


    "remote_weights": {                  Настройки которые будут применены при выборе удаленной загрузки весов
        "weights_dir_id":                - id удаленной Google Drive директории с .h5 файлами весов
        "google_drive_credentials_path": - путь до файла с Google Drive credentials с api key для доступа к вышеописанной удаленной директории
    }
}

  1. https://arxiv.org/abs/1505.04597
  2. https://arxiv.org/abs/1807.10165
  3. https://arxiv.org/abs/1802.02611
  4. https://landcover.ai.linuxpolska.com
  5. https://arxiv.org/abs/2005.02264v1

About

Interactive marking of forest park zones of Rostov-on-Don

Resources

Stars

Watchers

Forks