Отправьте статью сегодня! Журнал выйдет 26 июля, печатный экземпляр отправим 30 июля
Опубликовать статью

Молодой учёный

Классификация лесов на спутниковых изображениях с помощью нейронных сетей методом сегментации

Научный руководитель
4. Информатика
17.05.2025
15
Поделиться
Библиографическое описание
Засухин, Н. Д. Классификация лесов на спутниковых изображениях с помощью нейронных сетей методом сегментации / Н. Д. Засухин. — Текст : непосредственный // Исследования молодых ученых : материалы CIII Междунар. науч. конф. (г. Казань, май 2025 г.). — Казань : Молодой ученый, 2025. — С. 1-9. — URL: https://moluch.ru/conf/stud/archive/537/18975/.


Рассмотрены возможности создания нейронной сети для классификации лесов (на хвойные и лиственные) на спутниковых изображениях на примере южных районов Архангельской области. Было произведено сравнение работы над данной задачей архитектур U-Net и LinkNet, а также выбрана и протестирована лучшая модель.

Ключевые слова: нейронная сеть, U-Net, LinkNet, классификация, сегментация, спутниковые снимки, PyTorch.

The paper explores the potential of creating a neural network for classifying forests (coniferous and deciduous) using the satellite images of the southern regions of the Arkhangelsk region. The work on this task was compared between the U-Net and LinkNet architectures, selected the best model and tested it.

Keywords: neural network, U-Net, LinkNet, classification, segmentation, satellite images, PyTorch.

Введение

Активная цифровизация и автоматизация в сфере лесного хозяйства, а также развитие в сфере искусственного интеллекта, открывает новые возможности для использования современных технологий в лесном хозяйстве. В данной статье исследуются возможности применения нейронных сетей для распознавания лесных ресурсов на спутниковых снимках на примере Архангельской области, описывается сравнение двух разных архитектур. А также проводится тестирование обученной модели.

1 Создание набора данных

1.1 Изучение предметной области

В рамках данной работы будет изучаться южные регионы Архангельской области, а именно область с 61,72° по 62,55 ° северной широты и с 40° по 41,39° западной долготы. В данную область входят территории Ивакшанское, Лепшинское, Лимское, Шалакушское, Мошинское участковых лесничеств. Общая площадь изучаемой территории составляет более 4 тысяч квадратных километров.

В качестве основы для разметки использовались данные о лесном составе в Ивакшанское, Лепшинское, Лимское, Шалакушское, Мошинское участковых лесничествах. Эти данные предоставлены в формате shp-файлов и содержат информацию графическую (разметка выделов), а также текстовая (таблица с данными об выделе). В каждом выделе содержится текстовая информация о составе леса с информацией о преобладающей породе на данной местности. Таким образом, с помощью этих данных можно произвести разметку снимков, ориентируясь на территорию и информацию об преобладающем виде на данной территории.

Фото изучаемой местности предоставлено на рисунке 1. Для работы с этими данными использовалась программа QGIS.

Изучаемая местность

Рис. 1. Изучаемая местность

Для изучения данной области будут использоваться снимки со спутника Sentinel-2. Данные снимки имеются в открытом доступе, имеют достаточно высокое разрешение (до 10 метров на пиксель), что позволяет производить работу над ними. [2]

1.2 Создание набора данных

Перейдем к созданию набора данных.

Для проведения исследования необходимо создать набор данных (иначе — датасет), состоящий из космических снимков Архангельской области.

Набор данных создавался на основе трехканальных фотографий Архангельской области, а вернее снимков участковых лесничеств: Ивакшанское, Лепшинское, Лимское, Шалакушское, Мошинское. Использовались фотографии со спутника Sentinel-2.

Для создания датасета были заданы следующие параметры для снимков: выбирались летние даты с июня по август (в период с 2017 по 2021), параметр облачности не должен превышать 20 %.

Качество снимков: количество метров на пиксель — 14, размер снимка 2500х1200 пикселей.

Пример используемого снимка предоставлен на рисунке 2.

Спутниковый снимок Sentinel-2

Рис 2. Спутниковый снимок Sentinel-2

Затем данный снимок нарезается на несколько снимков размером 256х256 пикселей, в качестве ориентиров выступали такие объекты, как болота, озера.

На рисунке 3 предоставлен пример рисунка, полученного в результате нарезки изображения.

Пример изображения, используемого для создания разметки

Рис. 3. Пример изображения, используемого для создания разметки

После этого перейдем к разметке данных. Для разметки данных будет использоваться сервис Roboflow.

Для этого создадим в Roboflow рабочее пространство, в рамках которого будем размечать данные. для разметки в сервисе выберем вид «semantic segmentation» и приступим к разметке данных.

Всего будет три класса: background (общий класс для неразмеченных данных, обязательный класс для semantic segmentation), coniferous (хвойные), deciduous (лиственные).

После разметки на выходе мы получаем датасет. Состоящий из изначального изображение и маски (обозначаемая как ground trust — маска с истинными данными).

На рисунке 4 содержится пример изображения с наложенной на него маской.

Снимок с наложенной разметкой данных

Рис. 4. Снимок с наложенной разметкой данных

Набор данных содержит 100 размеченных снимков, весит 1 мб, разрешение снимков 256х256. Данный набор данных обладает достаточным размером для проведения тестов.

2 Разработка нейронной сети

2.1 Метрики, используемые для сравнения

Создадим модель глубокого обучения. Для решения нашей задачи необходимо правильно выбрать модели, с помощью которой будем производить решение нашей задачи.

Для сравнения работы моделей и проверки их работы будем использовать следующие метрики: loss (потери), Mean Intersection over Union — mIoU, accuracy (точность).

Метрика loss — метрика, что обозначает разницу между «истинным» значением (маской, созданной пользователем) и «предсказанным» значением моделью. Данная метрика показывает, насколько большая разница между предсказанным и истинным значением.

Mean Intersection over Union (mIoU) — это среднее значение IoU — пересечения по объеденению, которое высчитывает разницу между областью пересечения «истинного» значения и «предсказанным» значением и областью объединения данных зон.

Для расчета данной метрики используется следующая формула:

(1)

где — множество пикселей, которые сеть отметила, как относящиеся к i-ому классу, — множество пикселей, относящихся к i-ому классу из эталонной разметки, — число классов. [3, с. 213]

Метрика accuracy — это соотношение между правильно классифицированными объектами и общим числом объектов. Данная метрика будет считаться путем попиксельного сравнения предсказанного значения с истинным значением (маской).

Для работы данных моделей будет использоваться библиотека segmentation-models-pytorch, которая содержит готовые архитектуры U-net и LinkNet. Данная библиотека работает в связке с библиотекой PyTorch, так как модели, содержащиеся в ней, написаны с применением данной библиотеки. Для работы данных моделей им необходимо задать декодер, что будет подавать получившуюся маску на выходе. В качестве декодера для данных архитектур будет использоваться модель ResNet-34. [1]

Выберем параметры, которые будут изменяться для сравнения: Learning rate (скорость обучения), Epoch (эпоха), Batch size (размер батча). От каждой из этих метрик зависит как скорость обучения, так и его качество.

Сравнение будет проходить по данным метрикам на примере валидационной подборки на лучшей эпохе.

В таблице 1 предоставлены параметры обучения и результаты метрик, значение которых округленно до сотых, на лучшей эпохе.

Таблица 1

Результаты сравнения моделей U-net и LinkNet на лучшей эпохе

Номер теста

Learning rate

Epoch

Batch size

loss

mIoU

accuracy

U-Net

LinkNet

U-Net

LinkNet

U-Net

LinkNet

1

1е-3

15

32

0,61

1,0

0,3

0,22

0,5

0,49

2

1е-5

15

16

0,41

0,5

0,67

0,33

0,83

0,59

3

1е-5

10

16

0,43

0,78

0,42

0,23

0,58

0,52

4

1е-3

10

8

1,1

0,91

0,28

0,31

0,41

0,54

На трех из четырех тестовых обучениях лучший результат показывает архитектура U-Net. Таким образом, можно сделать вывод, что данная модель лучше всего подходит для применения.

3 Обучение и тестирование

После проведения сравнения необходимо обучить модель.

Для обучения модели будут использоваться следующие параметры: Batch size — 16, Learning rate — 1е-5, Epoch — 20, декодер останется тот же — ResNet-34. Сохраняться будут веса на лучшей эпохе.

Проведя обучение, необходимо протестировать получившуюся модель. Чтобы в ходе тестирования выяснить, как модель обрабатывает снимки, будет использоваться изображение с заранее размеченной маской, а для определения качества работы модели используется метрика mIoU. На рисунке 5 предоставлены результаты тестирования созданной модели.

Результаты проведения тестов для проверки результатов модели

Рис. 5. Результаты проведения тестов для проверки результатов модели

После проведения тестирования модели, показатель mIoU был равен 0,46. Это относительно низкий результат для обученной модели нейронной сети, при этом можно сказать, что это достаточный результат для того, чтобы сделать вывод о том, что применение нейронных сетей для распознавания лесных ресурсов на спутниковом снимке возможно, и о том, что необходимо продолжить развитие проекта для получения лучших результатов.

Заключение

В данной работе была рассмотрена возможность применения нейросетей (искусственного интеллекта) для распознавания лесных ресурсов на спутниковых снимках. В результате, что показывает, что использование нейронных сетей в данных целях возможна, но при этом необходимо улучшить результаты работы полученной модели. Для этого необходимо увеличить размер датасета, добавив к нему больше примеров или произведя аугментацию данных, использовать методы улучшения обучения нейронной модели, такие как fine-tuning, рассмотреть возможность использования иных декодеров и др.

Литература:

  1. segmentation-models-pytorch 0.5.0. — Текст: электронный // PyPI: [сайт]. — URL: https://pypi.org/project/segmentation-models-pytorch/ (дата обращения: 08.05.2025).
  2. Sentinel-2. — Текст: электронный // CNES: [сайт]. — URL: https://cnes.fr/en/projects/sentinel-2 (дата обращения: 08.05.2025).
  3. Использование методов аугментации данных в задаче детектирования карьеров при помощи нейронной сети глубокого обучения DEEPLABV3+ / Сорока, А. М, Хлебко, А. В. — Текст: непосредственный // Компьютерные технологии и анализ данных: материалы II Междунар. науч.-практ. конф.. — Минск: БГУ, 2020. — С. 212–215.
Можно быстро и просто опубликовать свою научную статью в журнале «Молодой Ученый». Сразу предоставляем препринт и справку о публикации.
Опубликовать статью
Ключевые слова
нейронная сеть
U-Net
LinkNet
классификация
сегментация
спутниковые снимки
PyTorch

Молодой учёный