Опыт классификации космоснимка Landsat с помощью Semi-Automatic Classification Plugin в QGIS: различия между версиями

Материал из GIS-Lab
Перейти к навигации Перейти к поиску
Нет описания правки
Нет описания правки
Строка 6: Строка 6:


Данная статья описывает опыт работы с Semi-Automatic classification plugin для Quantum GIS для классификации снимка Landsat с целью выявления лесонарушений на примере НП "Орловское полесье", а также содержит пошаговую инструкцию для лесного дешифрирования снимка в плагине.
Данная статья описывает опыт работы с Semi-Automatic classification plugin для Quantum GIS для классификации снимка Landsat с целью выявления лесонарушений на примере НП "Орловское полесье", а также содержит пошаговую инструкцию для лесного дешифрирования снимка в плагине.
=Цели проекта=
1) Выявление участков усохшего и нарушенного леса на территории НП «Орловское полесье».
2) Общее дешифрирование фрагмента территории Орловско-Брянско-Калужского региона.
Для реализации классификации на основе ЛУ материалов были выбраны тестовые участки, как они выглядят, показано на рисунке
Для реализации классификации на основе ЛУ материалов были выбраны тестовые участки, как они выглядят, показано на рисунке


[[Файл:http://wiki.gis-lab.info/images/d/d4/%D0%96%D0%B0%D0%B1%D0%B0_1.png|frame|центр|Отметка тест-участков на местности: 1 - лиственный лес
[[Файл:%D0%96%D0%B0%D0%B1%D0%B0_1.png|frame|центр|Отметка тест-участков на местности: 1 - лиственный лес
2 - хвойный лес
2 - хвойный лес
3 - нарушенный лес, усыхание
3 - нарушенный лес, усыхание
Строка 14: Строка 22:
5 - пойма реки, голая почва
5 - пойма реки, голая почва
]]
]]
=Цели проекта=
1) Выявление участков усохшего и нарушенного леса на территории НП «Орловское полесье».
2) Общее дешифрирование фрагмента территории Орловско-Брянско-Калужского региона.


=Определение и формирование макроклассов, проведение классификации=
=Определение и формирование макроклассов, проведение классификации=

Версия от 21:04, 19 марта 2016

Эта страница является черновиком статьи.


Опыт классификации снимка Landsat в semi-automatic classification plugin QGis


Карпачев Андрей Петрович, научный сотрудник НП "Орловское полесье"

Данная статья описывает опыт работы с Semi-Automatic classification plugin для Quantum GIS для классификации снимка Landsat с целью выявления лесонарушений на примере НП "Орловское полесье", а также содержит пошаговую инструкцию для лесного дешифрирования снимка в плагине.


Цели проекта

1) Выявление участков усохшего и нарушенного леса на территории НП «Орловское полесье».

2) Общее дешифрирование фрагмента территории Орловско-Брянско-Калужского региона.

Для реализации классификации на основе ЛУ материалов были выбраны тестовые участки, как они выглядят, показано на рисунке

Файл:Жаба 1.png
Отметка тест-участков на местности: 1 - лиственный лес 2 - хвойный лес 3 - нарушенный лес, усыхание 4 - санитарная вырубка, голая почва 5 - пойма реки, голая почва

Определение и формирование макроклассов, проведение классификации

1. Подготовка

а) На этом этапе мы должны образовать область (тестовый участок) на базе космоснимка Landsat-8 за сентябрь 2014 года на территорию Орловско-Брянско-Калужского региона, включая границы НП «Орловское полесье» полностью. Космоснимок можно собрать непосредственно в QGis, как показано здесь. Для данного проекта нам понадобятся 6 диапазонов: R, G, B, ближний ИК, коротковолновый ИК-1 и ИК-2. В работе необходимо использовать изображение, полученное из шести каналов (2-7), иначе плагин отказывается строить спектрограммы (однако, классификация выполнена будет), а этот момент важен для последующих расчётов и анализа.

2. Начало работы

Полученный растр соответствующей кнопкой добавляем в QGis. Файл:Kn1.png


Чтобы добавить наш космоснимок непосредственно в плагин, нажимаем на кнопку "обновить" в плагине (рисунок 1)

Файл:A1.png
Загрузка собранного изображения и включение его в плагин

Для более точной визуализации объекта наблюдения можно использовать функцию RGB : представить снимок в синтезированных и натуральных цветах (рисунок 2)

Файл:А2.png
Функция плагина RGB

3.Формирование директорий

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

Переходим в часть плагина, отвечающего за регионы интереса (ROI)(рисунок 3).

Файл:АА3.png
Часть плагина, отвечающая за формирование, редактирование и запись ROI


Нажимаем на кнопку New shp и задаём на рабочем столе папку с названием ROI, открываем и сохраняем документ с названием ROI (сюда будут записываться наши регионы интереса). переходим на часть плагина, отвечающего за формирование сигнатур и классификацию.

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

4. ROI и SIG

Приступим к формированию файлов регионов интересов и сигнатур (рисунок 4).

Файл:3А.png
Часть плагина, отвечающая за запись, редактирование SIG и проведение классификации


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

Файл:4А4.png
Кнопка для полигонального захвата пикселей. Пример захвата


После задаём выбранному объекту id и название и нажимаем на SAVE ROI.

Раздел плагина, предназначенный для присвоения информации и записи региона интереса

После записи ROI автоматически изменится и лист сигнатур.

б) Теперь перейдём к захвату пикселей, характеризующих застройку населенных пунктов, и используем коэффициент радиуса захвата.

Файл:66Ф.png
Визуальное представление населенного пункта

В строчке Range radius меняем коэффициент на 2000, нажимаем на кнопку с плюсом и переходим к захвату пикселей на снимке.

Файл:77фф.png
Изменение range radius
Файл:888-00.png
Захваченные пиксели городской застройки + элементы дорог

Даём id и название элементу ROI (2, Built-up / 2, Buildings) и нажимаем save roi (снова произойдёт отображение в листе сигнатур).

в) Теперь выделим участки голого грунта (с/х угодия) таким же образом. Ввиду большого разнообразия цветности открытого грунта (в примере: от фиолетового до слабого марганцового) увеличим радиус захвата до 3500. Выбираем оптимальный вариант отображения.

Файл:99-000.png
Захваченные пиксели голой почвы и с/х

Даём id и название элементу ROI (3, Bare soil / 3, sh) и нажимаем save roi (снова произойдёт отображение в листе сигнатур).

г) Теперь мы переходим непосредственно к главной задаче проекта: поиску и идентификации леса и участков нарушенного леса (Vegetation:Veg). В данном варианте нам нужно разбить территорию леса на хвойную составляющую (h), лиственную (l) и нарушенную (d: defect).

Файл:10000-00.png
Фрагмент территории наблюдения НП "Орловское полесье": у - усохшие участки; вырубка - проведенная в 2014 году санитарная вырубка

Начнём с нарушенного леса. Выберем коэффициент радиуса захвата = 550.

Файл:111000-00.png
Отмеченный (захваченные пиксели) участок усохшего леса

Даём id и название элементу ROI (4, Veg / 4, d) и нажимаем save roi (снова произойдёт отображение в листе сигнатур). Далее, таким же образом захватываем темно-зеленые пиксели характерные для хвои (range radius 1000), и светло-зеленые, характерные для листвы (range radius 2000) Лиственный и хвойные лес я отнёс к разным ROI соответственно меняя параметры записи регионов интереса, сохранения по порядку, т. е 5, Veg / 5, h и 6, Veg / 6, l соответственно.

д) Переходим в лист сигнатур.

Файл:12-000.png
Лист сигнатур. Записанные сигнатуры в авто-цветах

По мере записи ROI в листе SIG сформировались строчки с соответствующими названиями и классами регионов интереса + задался цвет. Теперь мы должны изменить цвет для финальной визуализации классифицированного изображения. Изменяем цвета примерно вот так:

Файл:13-000.png
Изменение цветовых характеристик в листе сигнатур ( цвета изменены на более привычные)

5. Классификация

Теперь выбираем метод классификации ( в части плагина, отвечающего за сигнатуры), выбираем Spectral Angle Mapping, Size=500 и нажимаем + и ведём курсор на космоснимок.

Файл:14-000.png
Выбор метода классификации (пример)

После нажимаем на кнопку perform classification – создаем папку classification и называем в ней документ classification.tif . Классификация выполнена.

Хочется отметить следующее, если для демонстрации результатов классификации более ничего не требуется (т. е визуализация проекта отвечает реальным полевым объектам), то дальнейшую более углубленную обработку проводить необязательно. Что касается пиксельного захвата – то я советую пользоваться кнопкой show, т. е определить пиксели, отметить их и далее посмотреть как они ложатся и не втягиваются ли лишние. Поэтому с коэффициентом захвата можно поиграть до определения оптимального отображения (не обязательно использовать числа, указанные в руководстве). Также нелишним, если позволяет снимок (т. е без проведения атмосферной коррекции), будет отметить дороги и травянистые сообщества. Ошибки, связанные с втягиванием пикселей в какой-то другой класс, я предлагаю не исправлять, а добавить новый (по очереди в соответствии с id) класс, корректно отображающий объект. Появление жёлтой строчки в QGis(предупреждение) и будет свидетельствовать о пересечении выбранных классов; проверку можно осуществить по графику спектральных кривых. Тот класс, который получился ошибочным – я предлагаю просто забелить (изменить цвет на белый): так как в проекте меня интересует нарушенная и ненарушенная растительность, белым у меня будет: почва, застройка; воду я оставляю без изменений.

Конкретизация и корректировка результатов классификации; представление результатов, вывод

Для это раздела нам нужно будет подготовить shp-файл (квадрат) тренировочной территории, т. е часть территории, на которой мы будет проводить дальнейшую классификацию. shp-файл лучше сразу же подготовить в QGis; прошу обратить Ваше внимание на проекцию, используемую в проекте (в данном проекте проекция такая: EPSG: 32636, WGS 84/ UTM zone 36N).

Загрузка исходного Landsat снимка. Атмосферная коррекция

а) Вызовем панель загрузки снимка иконкой Файл:Kn tools.png или так:

Файл:106000000000006.png
Вариант открытия панели загрузки снимка Landsat

Далее мы оказались на вкладке параметров снимка, здесь нам предлагается создать/выбрать директорию загрузки снимка. Сделать это можно, нажав на кнопку select Landsat database directory и выбрать путь к папке (создать) и назвать её LandsatDB – OK. Теперь ставим галочку в only Landsat 8 и жмём Update database для обновления (ОК). Далее мы должны ввести Image ID (смотрим из предыдущей части анализа на номер архива космоснимка, это оно и есть: в данном проекте это LC81790232014255LGN00); продвинутый пользователь может внести координаты, интересующей территории. Нажимаем на Find images. В image list появится строчка с записью о космоснимке. Нажимаем на display image preview для отображения снимка.

Файл:105000000000005.png
Preview снимка

при увеличении масштаба мы видим – качество детализации низкое. Теперь нам необходимо задать параметры загрузки космоснимка. Карточка параметров загрузки должна выглядеть вот так ( в нашем примере):

Файл:10400000000.png
Параметры загрузки снимка ( выбор бандов)

Нажимаем на dawnload images from list (выбираем рабочий стол) и ждём загрузки. В зависимости от особенностей компьютера – загрузка может занять значительное время. Ход загрузки мы можем наблюдать в QGis.

Файл:103000000.png
Ход загрузки снимка

Конец загрузки будет сопровождаться аудио эффектом. Удаляем из QGis слой космоснимка.

Нажимаем на иконку Файл:Prepro.png, открывается форма, заходим на вкладку Landsat: жмём на кнопку select directory и на рабочем столе ищем и открываем папку со снимком (ОК) – в форме откроются строчки с каналами. далее ставим галочку в Apply DOS1 atmospheric correction; Форма должна иметь такой вид:

Файл:1020000000000.png
Заполненная карточка (вкладка) по снимку Landsat. pre processing

Жмём на perform conversion; в папке со снимком образуем папку с названием REF (ok-ok). Ждём окончания процесса (звуковой сигнал).

Файл:101000000.png
RT-снимок после коррекции

В QGis отобразятся 7 каналов с префиксом RT. Далее нам будет необходимо открыть заранее подготовленный shp-файл тренировочной территории и произвести прикрепление этого квадрата к снимку (clip).

Кнопкой Файл:Kn+vekt.png добавляем shp-файл (в текущем проекте этот файл назван test_location).

Файл:99999999.png
Снимок + территория наблюдения (shp-файл)

В форме плагина Файл:Prepro.png нажимаем на вкладку Clip multiple rasters. Далее нажимаем на refresh list – далее select all. Ставим галочку в use shapefile for clipping – жмём refresh list – в сточке отобразится шейп-файл. Теперь нажимаем Clip selected rasters (на рабочем столе создаем папку clip; ок-ок) – звуковой сигнал. Полученный вид в QGis:

Файл:88888888.png
Clip-изображение:снимок + территория наблюдения (шейп-файл)

Нажимаем на любой слой с префиксом clip_RT – правой кнопкой выходим в свойства и нажимаем "увеличить до слоя" – таким образом, мы ограничиваем территорию исследования. Далее мы отключаем и удаляем все слои с префиксом RT.

Следующим этапом мы создаем band set. Нажимаем на иконку Файл:Band set.png (открывается форма) – нажимаем select all, потом add rasters to set. Справа будут кнопки со стрелочками (control bands) – ими можно передвигать порядок бандов. В строчке quick wavelength settings выбираем Landsat 8 Oli [bands 2, 3, 4, 5, 6, 7].

Файл:77777777777.png
Функция band set

В плагине у нас теперь отобразился <<band set>> и в дальнейшем процессе в строчке RGB мы сможет составить свою комбинацию каналов для наилучшей визуализации объектов (ну или воспользоваться предложенными). Теперь, после настройки дополнительных параметров, мы можем продолжить классификацию. Иконкой Файл:Kn+vekt.png открываем shp-файл из папки ROI(из предыдущего раздела классификации) – загружаем регионы интереса. В части плагина, отвечающего за регионы интереса нажимаем на кнопку Файл:Refresh.png выбираем файл. В ROI list отобразились записи. В части плагина, отвечающей за сигнатуры, нажимаем open и ищем папку из предыдущего раздела классификации – SIG и из неё открываем XML-файл. В списке отобразятся сигнатуры. Теперь окрасим наш композит (в примере банды 5-4-6). После окраски визуально определим траву травянистые сообщества и, выбрав оптимально отражающий объект- коэффициент захвата, так же как в предыдущем разделе классификации создадим и сохраним новый регион интереса. Важный момент: теперь к макроклассу Veg (vegetation) добавим новый ROI- grassland: в MC ID ставим 4 (в предыдущей части так мы назвали класс вегетации); в MC Info ставим Veg; в C ID ставим номер по порядку (у меня это номер 14, потому что ранее я проводил несколько раз классификацию для закрепления навыка); в C Info вписываем название grassland и жмём Save ROI.

Нажмём на строчку grassland, далее на кнопку Файл:Kn grafik.png отобразится спектральная кривая:

Файл:66666666.png
Кривая травы в графике

Проведя курсором по снимку, мы так же сможем отметить некоторые закономерности: если выбрать все строки в листе сигнатур и нажать Файл:Kn grafik.png то мы получим спектральный график, который в дальнейшем можно использовать в математическом объяснении результатов.

Файл:5555555555.png
ROI, представленные в форме графика

Следующим пунктом выделим дороги и добавим их к классу застройки Built-up (2), в C ID ставим номер по порядку -15, в C Info вписываем название road и жмём Save ROI. В листе ROI при нажатии C ID, стрелочками можно поправить нумерацию.


Файл:44444.png
Фрагменты дорожного полотна

Осталось финализировать классификацию (дополнительную). По желанию (и для поиска наилучшего отображения результата классификации) можно выбрать другой классификационный алгоритм и размер окна. Нажимаем +. В конце процесса нажимаем perform classification, выбираем папку для сохранения. Данный способ (второй раздел) позволяет нам конкретизировать объекты городской застройки; а в ходе данного проекта, когда требовалось провести анализ вегетационной составляющей территории, способ имел ведущее значение. Как отмечалось выше – элементы голой почвы, застройки и некоторые погрешности в определении класса – были окрашены белым цветом.

Файл:33333.png
Результат классификации
Файл:222222.png
Полученное классифицированное изображение. Вариант с закраской белым
Файл:11111.png
Сравнение исходного и классифицированного снимка

Выводы

Semi-automatic classification plugin для QGIS успешно справился с поставленной задачей классификации космического снимка Landsat с целью выявления усыханий леса. Поэтому ее можно использовать в качестве свободной альтернативы платному специализированному софту. Кроме того, одним из плюсов программы является ее непосредственная работа с самой QGIS, что облегчает визуализацию и анализ результатов классификации