# Проектная работа в рамках дисциплины "Архитектура систем ИИ"
# Автор: Солодкая Мария (Р4140)
# Классификация типов сельхозкультур на спутниковых снимках
# Цель - идентификация типов сельскохозяйственных культур в наборе данных спутниковых изображений с несбалансированным классом.
# Задачи:
- Проанализировать датасет.
- Спроектировать архитектуру системы.
- Подготовить данные для обучения алгоритмов Random Forest Classifier и KNN.
- Обучить модели на основе обучающей выборки и провести оценку полученных результатов.
- Подготовить тестовый набор данных и получить оценку прогнозных свойств моделей на новых данных.
- Выбрать оптимальную модель.
- Выполнить развертывание наилучшей модели.
# Характеристика датасета:
Данные разбиты на плитки размером 256x256 пикселей. Общее число плиток - 1217. Поля распределены по всем плиткам, некоторые плитки могут иметь только обучающие или тестовые поля, а некоторые могут иметь и то, и другое. Поскольку метки получены на основе данных, собранных на земле, не все пиксели помечены в каждой плитке. Если идентификатор поля для пикселя установлен в 0, это означает, что пиксель не включен ни в обучающий, ни в тестовый наборы (и, соответственно, метка типа культуры также будет равна 0).
Важно знать, что некоторые поля попадают на несколько плиток (как в обучающих, так и в тестовых наборах), и в этом случае пиксели, связанные с одним и тем же идентификатором поля, будут более чем в одной плитке.
Набор данных содержит 7081 полей, которые разбиты на обучающий и тестовый наборы (5551 полей в обучающем и 1530 полей в тестовом наборе). (UPD: в ходе исследования было выяснено, что последние несколько полей в обучающем наборе данных повреждены, поэтому там только 5538 полей).
Данные структурированы в три коллекции:
- исходная коллекция (source): содержит все исходные изображения как для тренировочных данных, так и для тестовых наборов;
- коллекция меток обучающей выборки (train): содержит идентификаторы полей и идентификаторы культур для пикселей, поле которых находится в обучающей выборке;
- коллекция тестовых меток (test): содержит только идентификаторы полей для пикселей, поле которых находится в тестовой коллекции.
Каждая плитка имеет:
- изображения Sentinel-2 для 12 каналов [B01, B02, B03, B04, B05, B06, B07, B08, B8A, B09, B11, B12] сопоставлены с общей сеткой пространственного разрешения 10 м. - находятся в папке source.
- растровый слой, указывающий идентификатор культуры для полей в обучающем наборе данных. - raster_labels.tif
- растровый слой, указывающий идентификаторы полей для полей (обучающих и тестовых наборов). - field_ids.tif
В метках идет сопоставление пикселей с метками типов культур. Следующие значения пикселей соответствуют следующим типам культур:
- 1 - Пшеница
- 2 - Горчица
- 3 - Чечевица
- 4 - Без урожая/Залежь
- 5 - Зеленый горошек
- 6 - Сахарный тростник
- 8 - Чеснок
- 9 - Кукуруза
- 13 - Грамм
- 14 - Кориандр
- 15 - Картофель
- 16 - Берсем
- 36 - Рис
Рисунок 1. Распределение классов сельхоз культур в датасете
Рисунок 2. Корреляция признаков
Рисунок 3. Deployment diagram
Рисунок 4. Workflow diagram