Новости
09.05.2023
с Днём Победы!
07.03.2023
Поздравляем с Международным женским днем!
23.02.2023
Поздравляем с Днем защитника Отечества!
Оплата онлайн
При оплате онлайн будет
удержана комиссия 3,5-5,5%








Способ оплаты:

С банковской карты (3,5%)
Сбербанк онлайн (3,5%)
Со счета в Яндекс.Деньгах (5,5%)
Наличными через терминал (3,5%)

КЛАССИФИКАЦИЯ СНИМКОВ ПРИ ЭКОЛОГИЧЕСКИХ ИССЛЕДОВАНИЯХ С ПОМОЩЬЮ ГИС-ТЕХНОЛОГИЙ

Авторы:
Город:
Петрозаводск
ВУЗ:
Дата:
12 марта 2016г.

Классификация снимков (космических или аэрофотоснимков) заключается в объединении пикселей растров со сходным уровнем яркостей и придании им одинаковых значений, т.е. создании кластеров или групп пикселей. При неконтролируемой классификации, или кластеризации без обучения происходит автоматическое выделение групп пикселей на основе спектральных характеристик в соответствии с выбранным алгоритмом, числом кластеров и другими параметрами, которые может определить пользователь. Контролируемая классификация или классификация с обучением выполняется по значениям яркости пикселей после того, как были заданы эталоны (сигнатуры) для будущих кластеров – несколько диапазонов яркости пикселей. Другими словами каждый пиксель снимка относится к определенному классу объектов на местности, которому соответствует некоторая область [1].

В результате кластеризации изображение упрощается, на преобразованных снимках контрастно отделяются одни природные объекты (районы) от других. Это облегчает процесс дешифрирования снимка – экстраполяции локальных характеристик на всю площадь относительно однородного объекта, ориентируясь на качество изображений. Дешифрирование служит основным приемом последующего районирования, построения тематических векторных карт, которые всю территорию представляют разделенной на относительно однородные участки. В частности эталонное дешифрирование снимков сильно упрощает работу картографа, который вместо тотального обследования территории в полевых условиях пользуется методами дистанционного зондирования – изучает удаленные объекты с помощью специальных приборов (фотокамер самолета, радаров и сканеров спутника). В экологии методы дистанционного зондирования используют для составления карт распространения растительности, природных факторов, фенологических явлений, загрязнителей, областей поражения и др. Серии снимков одной и той же территории могут порождать динамические ряды, изучая которые можно выяснить законы пространственного распределения природных явлений [1: с. 61].

В статье рассматриваются ГИС-технологии классификации растров в программе Quantum GIS (QGIS). Программа обладает  рядом преимуществ по сравнению  с другими приложениями (MapInfo, Idrisi, WinGIS, GeoDraw, ArcGis, Erdas, Surfer): доступность, работоспособность на большинстве платформ, легкость в использовании, простота графического интерфейса, поддержание множества растровых и векторных форматов данных, бесплатный доступ через Интернет, способность адаптироваться под конкретного пользователя. Достоинства QGIS обеспечили ее широкое распространение, сделали актуальным и перспективным ее использование в ГИС-анализе.

В данной работе задачи решались в QGIS версий 2.2, 2.4, 2.8 [7]. В среде QGIS есть несколько вариантов реализации обоих видов классификации с помощью разных встроенных модулей. Рассмотрим работоспособность трех из них – GRASS, Semi-Automatic Classification, Orfeo Toolbox (Image analysis) – на примере классификации простого трехканального RGB снимка Заонежского полуострова (Республика Карелия, Онежское озеро) из базы данных геологической службы США Landsat за 04.08.2013г. [6]. Кластеризацию снимка «rgb2013» проводим после его настройки в среде QGIS: улучшение контраста, растяжение гистограммы до минимального и максимального значений по каждому каналу.

Кластеризация снимка с помощью модуля GRASS

В GRASS [4] реализовано несколько алгоритмов классификации космической съемки [8]. Радиометрический метод без обучения основан на автоматической кластеризации объектов со сходными спектральными характеристиками, которые определяются в один класс. Число классов задается пользователем. Данный метод базируется на автоматически рассчитанной статистике изображения, а его алгоритм основан на связке функций i.cluster для расчета статистики и i.maxlik для самой классификации.

Алгоритм действий следующий:

1.   Создание нового набора данных GRASS.

2.    Импорт растра «rgb2013» в  GRASS.  При использовании функции Инструменты GRASS \ вкладка

«Список модулей» \ r.in.gdal.qgis. Задаем имя выходной растровой карты, например «claster».

3.   Создание одного многоканального растра: Инструменты GRASS \ вкладка «Дерево модулей» \ «shell – Оболочка GRASS» \ команда – i.group group=claster subgroup=claster input=claster.blue,claster.green,claster.red. Три канала группируются в группу и подгруппу под названием claster.

4.   Подгонка региона GRASS к размерам одного из слоев (каналов) импортированного растра с помощью функции g.region.zoom.

5. Классификация снимка:

5.1.    Расчет статистики: Инструменты GRASS \ вкладка «Дерево модулей» \ «shell – Оболочка GRASS» \ команда – i.cluster group=claster subgroup=claster sigfile=claster_sig classes=10 reportfile=claster.txt.

5.2.    Собственно классификация: i.maxlik group=claster subgroup=claster sigfile=claster_sig class=claster_class reject=claster_reject. В результате классификации формируются два растровых слоя GRASS: claster_class – собственно слой классификации, и claster_reject, содержащий отклонения результатов классификации от заданного порога. Необходимые компоненты функции можно увидеть, если запросить по ней справку: i.maxlik help.

6.   Обработка классифицированного снимка. Из всего разнообразия вариантов обработки растров выбираем для примера фильтрацию шумов (r.neighbors) и векторизацию отфильтрованного результата (r.to.vect.area) (Табл.1).


Таблица 1  

Пример использования разных вариантов фильтрации шумов


Классифицированный растр, слой claster_class

Усредненный фильтр с размером усреднения по 5 пикселям, слой claster_class_average5

Модальный фильтр с размером скользящего окна равным 5 пикселям, claster_class_mode5


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

1.       Редактирование (раскраска) векторного слоя: сопоставляем классы с исходным растровым изображением «rgb2013». Растр имеет распределение цветов, характерное для карт распространения растительности [2, 3] (Рисунок 1).

Недостатки классификации очевидны: все открытые биотопы с совершенно разными экологическими характеристиками (болота, вырубки, дороги, сельхозземли и т.д.) объединились в один класс, тогда как на водные объекты приходится четыре класса (в связи со сложной структурой береговой линии Кижского архипелага).

1. Экспорт результатов классификации из базы данных GRASS в среду QGIS.

Выделяют, как минимум, три варианта классификации космического снимка с обучением с помощью GRASS и его командной строки. Все они основаны на том, что пользователь сам определяет, какие пиксели с какими спектральными значениями попадут в тот или иной класс объектов. Это достигается путем создания набора эталонов – пространственных выделов (полигонов), для которых класс установлен на основе полевых исследований или по тематическим картам (требуется оцифровка тренировочных полигонов) [8]. Первый и второй варианты –  радиометрические с обучением – отличаются модулем  расчета статистики: для первого используют команду i.class, для второго – i.gensig. Способ классификации в обоих случаях основан на использовании функции i.maxlik.

Алгоритм третьего метода кластеризации с обучением основан на радиометрической и геометрической классификации. Классификация пикселей по значениям яркости выполняется после создания эталонов для будущих кластеров – несколько диапазонов яркости пикселей. Алгоритм основан на связке функций i.gensigset и i.smap. Модуль i.gensigset рассчитывает сигнатуры в зависимости от спектральной яркости пикселей, а команда i.smap производит сегментацию изображения с учетом того, что расположенные рядом пиксели с большой степенью вероятности имеют один и тот же класс. В результате получается классификация с меньшим количеством шумов и большими однородными областями, занятыми одним классом. Процедура состоит из следующих этапов:

•    Подготовка – создание (вручную) векторных полигонов над эталонными площадками или создание обучающего слоя;

При планировании классификации необходимо установить число будущих кластеров и расположение эталонных участков. Для каждого будущего кластера следует определить несколько эталонных площадок. Принадлежность площадки к тому или иному типу биотопических объектов устанавливается в процессе предварительных полевых или теоретических исследований. В частности в качестве вспомогательного материала были использованы полуавтоматическая классификация растительного покрова по проработанной методике [3], карта основных типов растительности на территории ППП «Заонежский» [2], а также личный опыт автора по обработке космоснимков.

• Импорт данных (исходного растра, обучающего векторного слоя и их настройка) в GRASS;

• Классификация космического снимка (сортировка пикселей по сигнатурам);

• Постобработка классифицированного снимка (фильтрация шумов, векторизация);

• Экспорт результатов классификации из GRASS в QGIS (Рисунок 2).



Кластеризация снимка с помощью модуля Semi-Automatic Classification

При установке модуля можно кратко ознакомиться с его  возможностями  и  получить информацию о полезных ссылках в Интернете, где представлено руководство пользователя [9], а также видео-уроки [5]: Модули

\ Управление модулями \ вкладка Все \ в строку поиска ввести Semi-Automatic Classification или выбрать модуль из алфавитного перечня \ Установить модуль.

Активированный модуль полуавтоматической классификации заполняет практически все пространство QGIS. Одна из особенностей модуля заключается в том, что помимо создания обучающего слоя (векторного слоя полигонов с эталонными площадками – Training shapefile) необходимо формирование списка подписей файла (Signature list file): вкладка SCP: Classification \ Signature list file \ Save.

Возможны два способа создания полигонов (сигнатур) шэйп-файла:

1.   вручную: рисуем полигон (вкладка SCP: ROI creation \ ROI creation \ Create a ROI polygon) \ создается временный полигон \ сохраняем его в Training shapefile, заполняя все ячейки в таблице атрибутов на вкладке SCP: ROI creation \ ROI Signature definition. После заполнения информации, нажимаем Save ROI, не забывая поставить галочку напротив Add sig. list. В результате информация заносится в ROI list, Signature list, а также в таблицу атрибутов шэйп-файла. Двойное нажатие на ячейке с цветом в Signature list открывает цветовую палитру и позволяет изменять цвета на усмотрение пользователя (для объектов одного класса – один тип цвета). Для примера создаем несколько полигонов озер вручную.

2.     полуавтоматически: вкладка SCP: ROI creation \ ROI creation \ инструмент Activate ROI pointer \ нажимаем, например, на участок растра темного серо-зеленого цвета (хвойный лес). Автоматически создается полигон малого радиуса. Сходство между пикселями, расположенными близко друг к другу позволяет установить параметры, например, Range radius = 50.

Повторное использование инструмента Activate ROI pointer показывает, что создается полигон большего размера. Если при автоматическом создании полигонов наблюдаются  пересечения участков  одного цвета с участками другого, то кликая мышью в разные участки интересующего нас однородного объекта, мы меняем комбинацию пикселей. Соответственно меняется сегментация, размер, границы создаваемого полигона. Выбираем наилучший вариант и сохраняем его также как при создании полигона вручную.

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

В качестве алгоритма классификации выберем: вкладка SCP: Classification \ Classification algorithm \ Spectral Angle Mapping. Сначала формируем предварительный вариант (временный растр) с использованием инструмента Activate Preview pointer, и если он нас устраивает, создаем окончательный вариант классификации с помощью Perform classification (Рисунок 3).



Недостатки классификации очевидны:

• все открытые биотопы (болота, вырубки, дороги, населенные пункты и т.д.) объединились в один класс,

• литоральная (прибрежная) зона окрасилась в цвет хвойных лесов,

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

Кластеризация снимка с помощью Orfeo Toolbox

Рассмотрим сразу вариант классификации с обучением, для реализации которого необходим растровый слой «rgb2013» и векторный слой эталонов. Алгоритм довольно прост:

1.   Рассчитываем статистику растра «rgb2013_2.tif»: Orfeo Toolbox \ Learning \ Compute Images second order statistics. В диалоговом окне на вкладке Параметры в качестве Input Imager выбираем исходный растр; результат работы функции сохраняем в постоянный файл «rgb2013_2Statistics.xml» (данный файл сохраняется в выбранной директории, но в слоях QGIS он не открывается).

2.    Выбираем тип классификации с обучением из представленного перечня в Orfeo Toolbox \ Learning \ TrainImagesClassifier. Используем наиболее простой алгоритм, который не требует введения большого количества параметров, например, TrainImagesClassifier (knn). Это метод k ближайших соседей, основным принципом которого является то, что объект присваивается наиболее распространённому среди соседей данного элемента классу. Входные данные для реализации алгоритма: Input Image List – “rgb2013_2.tif”, Input Vector Data List – “etalons.shp”, Input XML image statistics file – “rgb2013_2Statistics.xml”. В параметрах меняем только максимальные размеры (например, на 100) и Name of the discrimination field, если название колонки в таблице атрибутов шэйп-файла не соответствует предложенному в алгоритме.

Выходные данные для реализации алгоритма: Output confusion matrix – “rgb2013_2matrixKnn”, Output model – “rgb2013_2modelKnn”. Запускаем алгоритм, нажимая Run. Результаты его выполнения будут видны только в папке в виде двух файлов «rgb2013_2matrixKnn» и «rgb2013_2modelKnn», но в слоях QGIS они не открываются.

3.   Запускаем саму классификацию растра Orfeo Toolbox \ Learning \ Image Classification, все необходимые исходные файлы у нас созданы: Input Image – “rgb2013_2.tif”, Model file – “rgb2013_2modelKnn”, Statistics file – “rgb2013_2Statistics.xml”. Результат – постоянный растр классификации «rgb2013_2classKnn.tif» (Рисунок 4).


Перед векторизацией растра «rgb2013_2classKnn.tif» его можно обработать с помощью комплекса функций Orfeo Toolbox, например, Image Filtering или Image Manipulation.

Заключение

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

1.   выбор исходного космоснимка территории с лучшим разрешением и с большим числом каналов;

2.    выбор типа кластеризации – с обучением или без обучения. Следует иметь в виду, что результаты классификации с обучением во многом зависят от того, насколько репрезентативны наборы ключевых участков (по числу и площади): для улучшения результатов следует строить довольно много сигнатур;

3.   выбор наилучшего (для решения поставленной задачи) модуля QGIS при реализации кластеризации (в данной статье рассмотрены три);

4.   выбор оптимального алгоритма классификации. Например, в Orfeo Toolbox представлено как минимум девять алгоритмов кластеризации с обучением, а в модуле Semi-Automatic Classification – три;

5. и т.д.

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

 

Список литературы

1.     Коросов А.В., Коросов А.А. Техника ведения ГИС: Приложение в экологии: Учеб. пособие. Петрозаводск: Изд-во ПетрГУ, 2006. 186 с.

2.     Материалы комплексного экологического обследования, обосновывающие организацию государственного Природного парка «Заонежский», 2013. 108 с. http://spok-karelia.ru/uploads/f88.pdf

3.     Сохранение ценных природных территорий Северо-Запада России. Анализ репрезентативности сети ООПТ Архангельской, Вологодской, Ленинградскойи Мурманской областей, Республики Карелии, Санкт- Петербурга. Под ред. Кобякова К.Н. СПб., 2011. 506 с.

4.     Grass-project. 2013. http://grass.osgeo.org

5.     http://fromgistors.blogspot.com/?spref=scp

6.     http://landsatlook.usgs.gov/viewer.html

7.     http://qgis.org/ru/site/

8.     http://wiki.gis-lab.info

9.     Semi-Automatic Classification Plugin. Documentation. Release 4.8.0.1 / Luca Congedo. 2015.