Наша команда разработала сегментационную модель машинного обучения, способную по снимкам со спутников указанной территории и метеорологическим данным возвращать маску потенциальных пожаров в ближайший месяц.
Минприроды, сделано в рамках хакатона Цифровой Прорыв сезон: Искусственный Интеллект
- коэффициент корреляции Мэтьюса (MCC) >= 0.5 на тестовом датасете кейсодержателя
- реализован веб интерфейс
- простой в использовании программный модуль
pipelines
- папка в которой хранится анализ данных, а также скрипт преобразования файлов для обучение моделиsubmit
- ноутбук того как мы делали сабмит на тестовую выборкуmodel
- папка нашей библиотеки с моделью и ее весамиsample
- примеры того что должна получать на вход модель из нашей библилтекиbranch/web-app
- ветка с веб-интерфейсом сслфка для удобного перехода
- numpy
- pandas
- scipy
- rasterio
- catboost
- opencv
- Для начала нужно склонировать проект с Github'a:
git clone --no-checkout https://github.com/NSO-Clio/Predictive_assessment_of_forest_fire_occurrence
cd Predictive_assessment_of_forest_fire_occurrence
-
И из репозитория взять папку
model
, которая является библиотекей, после чего расположить ее в своем проекте -
После нужно установить requirements:
pip install -r requirements.txt
- Пример кода использоавания
from model import CatNet
model = CatNet()
preproc_img = model.preproc(image_path='path/to/img.tiff', weather_data_path='path/to/weather_img.csv') # Получен преобразоаваное фото со спутника в датафрейм, а так же размер изображения для дальнейшего развертывания
predict = model.predict_segment(*preproc_img)
model.predict_segment(*preproc_img, save_path='save/path/mask.jpg')
Мы выбрали итоговой моделью catboost бустинг, так как его предсказания наиболее точно соответствуют паттернам на истинных масках, в отличие от других явно переобучающихся моделей.
- Пример какие файлы нужно подавать в модель вы увидите в папке sample