Классификация объектов на снимках

Модуль Semi-automatic classification plugin

На спутниковых снимках возможно распознавание объектов на основе алгоритмов классификации.

Отличие классификации от сегментации состоит в том, что здесь выделяют не конкретные объекты на снимках (как в предыдущем разделе, например, выделялись только здания или стройплощадки), а классы объектов на снимках на основе имеющихся областей с известным классом.

Для классификации используют не только входной растр, но и еще набор объектов, определяющий классы.

Главным способом осуществить классификацию изображения является использование модуля Semi-automatic classification plugin.

Внимание

Если вы будете устанавливать этот модуль, то рекомендую внимательно посмотреть документацию по его установке для своей системы по ссылке.

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

Для этого нужно запустить консоль OSGeo4W Shell, в которой ввести команду:

pip3 install --upgrade remotior-sensus

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

Дополнительно

Базовый туториал по классификации снимков на английском

На первом этапе следует создать набор каналов, который будет служить исходной информацией для классификации. Этот набор можно собрать в окне модуля, которое вызывается по кнопке .

Новый набор каналов необходимо добавить кнопкой Добавить новый набор каналов (Add new band set) . После добавления пустого набора каналов вы можете либо добавить отдельные каналы из файлов , либо добавить уже открытые в вашем проекте каналы. После выбора и открытия всех нужных каналов нужно выбрать длины волн различных каналов (в выпадающем списке Wavelength), здесь можно выбрать готовые наборы, например, Landsat 8.

Кроме того, нужно выбрать как будет сохраняться ваш набор каналов: или как виртуальный растр (Create virtual raster of band set), или как объединенный растр (Create raster of bands); после чего нажать кнопку выполнения и ожидать результата.

Полученный мультиспектральный снимок
Важно

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

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

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

Создание нового тренировочного набора данных

Каждый класс будет содержать в себе определенный тип объектов со своей спектральной характеристикой.

Macroclass name Macroclass ID
Water 1
Built-up 2
Vegetation 3
Soil 4

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

Для добавления полигона в тренировочный набор данных нужно указать его MC ID (идентификатор класса), MC Name (название класса), C ID (идентификатор полигона), C Name (имя полигона).

После заполнения характеристик следует нажать кнопку добавления в набор данных .

Таким образом следует добавить все необходимые классы.

Дополнительно

После того, как вы создали хотя бы один полигон для класса, можно выделять новые полигоны этого класса автоматически, с использованием .

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

Дополнительно

Перед классификацией можно попробовать сделать предварительный просмотр результатов по нажатию на кнопку .

Запуск классификации осуществляется по кнопке .

Кроме этого модуля существует еще целый ряд других, которые предназначены для классификации:

В качестве еще одной альтернативы для классификации изображений можно воспользоваться готовым инструментом от компании NextGIS - https://toolbox.nextgis.com/t/image_classification (требуется регистрация).