ai-forever / mchs-wildfire

Соревнование по классификации лесных пожаров

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

МЧС: Классификация лесных пожаров

Соревнование алгоритмов классификации лесных пожаров по данным о температурных аномалиях со спутников.

На спутниках (NOAA, TERRA, AQUA) установлено оборудование (зонды MODIS), позволяющее производить фотографическую съемку поверхности земли в определенных спектрах (инфракрасном, ультрафиолетовом и т.п.). Спутники, пролетая над поверхностью Земли (витки), снимают только определенную область под собой и накапливают данные. Наземные станции космического мониторинга (распологаются в Москве, Красноярске, Владивостоке, Вологде), при появленни в зоне видимости спутников, принимают с них снимки. В полуавтоматическом режиме эти снимки обрабатываются операторами станций, в результате чего фиксируются координаты, тип и другие параметры термальной аномалии. Под термальными аномалиями понимаются природные пожары, техногенные пожары, технологические процессы, сжигание мусора и др. При определении новых аномалий, производится подтверждение, опровержение и классификация термоточки регионально, по месту появлении. Данные поступают ежедневно.

Постановка задачи

Необходимо по информации о точке температурной аномалии, классифицировать тип пожара (по классификации МЧС).

Для построения классификатора, участникам доступна историческая выгрузка из базы МЧС, а также наборы открытых данных:

  • NCEP Reanalysis 2 — исторические погодные данные
  • FIRMS — данные о температурных аномалиях NASA
  • ESRL PDF — климатические данные NOAA Earth System Research Laboratory (ESRL)

Валидация решений происходит на новых точках, поступающих из автоматизированной системы.

Решение должно быть реализовано в виде программы, которая принимает на вход CSV таблицу с точками (координаты latitude, longitude и дата получения точки date). На выход необходимо формировать таблицу с веростностями по каждому из 11 классов (колонки fire_1_prob, fire_11_prob).

Формат решения

В проверяющую систему необходимо отправить код алгоритма, запакованный в ZIP-архив. Решения запускаются в изолированном окружении при помощи Docker. Время и ресурсы во время тестирования ограничены. Участнику нет необходимости разбираться с технологией Docker.

Содержимое контейнера

В корне архива обязательно должен быть файл metadata.json следующего содержания:

{
    "image": "sberbank/mchs-python",
    "entry_point": "python classify_thermopoints.py $PATH_INPUT/input.csv $PATH_OUTPUT/output.csv"
}

Здесь image — поле с названием docker-образа, в котором будет запускаться решение, entry_point — команда, при помощи которой запускается решение. Для решения текущей директорией будет являться корень архива.

Во время запуска, в переменной окружения DATASETS_PATH расположен путь к актуальным открытым наборам данных, которые доступны из контейнера с решением.

Для запуска решений можно использовать существующие окружения:

  • sberbank/mchs-python — Python3 с установленным большим набором библиотек
  • gcc - для запуска компилируемых C/C++ решений
  • node — для запуска JavaScript
  • openjdk — для Java
  • mono — для C#

Подойдет любой другой образ, доступный для загрузки из DockerHub. При необходимости, Вы можете подготовить свой образ, добавить в него необходимое ПО и библиотеки (см. инструкцию по созданию Docker-образов); для использования его необходимо будет опубликовать на DockerHub.

Ограничения

Контейнер с решением запускается в следующих условиях:

  • решению доступны ресурсы
    • 16 Гб оперативной памяти
    • 4 vCPU
  • время на выполнение решения: 30 минут
  • решение не имеет доступа к ресурсам интернета
  • решению доступны актуальные версии открытых наборов данных
  • максимальный размер упакованного и распакованного архива с решением: 5 Гб
  • максимальный размер используемого Docker-образа: 20 Гб

Оценка качества

Качество решения оценивается по набору точек за определенный заранее оговоренный период времени.

Метрика качества — Micro-averaged Multi-Class ROC-AUC посчитанный по всем типам пожаров (11 классов).

About

Соревнование по классификации лесных пожаров


Languages

Language:Jupyter Notebook 87.2%Language:Python 12.8%