4.2. Навчальний практикум 2

4.2.1. Навчальний практикум 2: Класифікація земельного покриву за знімками Sentinel-2

Цей практикум описує основні етапи класифікації знімків, отриманих Супутник Sentinel-2. Крім того, проілюстровано застосування деяких інструментів SCP.

Ми збираємось класифікувати наступні класи земельного покриву:

  1. Вода;

  2. Забудова;

  3. Рослинність;

  4. Відкритий ґрунт.

До цього практикуму додається відео.

http://www.youtube.com/watch?v=FcETq8OWM0k

4.2.1.1. Завантаження даних

Ми збираємось завантажити знімок Sentinel-2, доступ до якого забезпечує Copernicus Scientific Data Hub. Зокрема, ми будемо використовувати наступні канали Sentinel-2 (для більш докладної інформації читайте Супутник Sentinel-2):

  • Канал 2 - Синій;

  • Канал 3 - Зелений;

  • Канал 4 - Червоний;

  • Канал 5 - Червоний край рослинності;

  • Канал 6 - Червоний край рослинності;

  • Канал 7 - Червоний край рослинності;

  • Канал 8 - NIR;

  • Канал 8А - Червоний край рослинності;

  • Канал 11 - SWIR;

  • Канал 12 - SWIR;

    ПОРАДА : У випадку повільного Інтернет-з’єднання ви можете завантажити фрагмент знімка (близько 50 Мб) за цим посиланням (© Дані Copernicus Sentinel 2016), який є результатом етапів Завантаження даних та Провести відтинання даних.

Відкрийте новий проект QGIS. Відкрийте вкладку Завантаження знімків, клацнувши кнопку download в меню Меню SCP або Інструменти SCP або Панель SCP. Виберіть вкладку Завантаження Sentinel-2. Ми шукаємо конкретний знімок, отриманий 06 травня 2016.

У Вхід до Sentinels для отримання доступу до даних введіть ім’я користувача та пароль (необхідна безкоштовна реєстрація).

ЗАСТЕРЕЖЕННЯ : Гостьовий обліковий запис guest/guest більше не доступний. Необхідна безкоштовна реєстрація. Дивіться https://scihub.copernicus.eu/news/News00097 .

У Область пошуку введіть:

  • UL X (Довг): 12

  • UL Y (Шир): 42

  • LR X (Довг): 13

  • LR Y (Шир): 41

    ПОРАДА : Загалом є можливість визначити координати території клацнувши кнопку pointer та окресливши прямокутник на карті.

У Пошук встановіть:

  • Дата з: 2016-05-06

  • по: 2016-05-06

_images/tutorial_2_1_01.jpg

Пошук знімків Sentinel-2

Тепер клацніть кнопку Знайти search_images та через декілька секунд знімок буде додано до Перелік знімків.

Порада: для визначення зони завантажте цей zip-файл , який містить шейп-файл гранул Sentinel-2; завантажте цей шейп-файл до QGIS, виберіть гранули у вашій території пошуку та відкрийте атрибутивну таблицю, щоб побачити ім’я зони.

_images/tutorial_2_1_02.jpg

Результат пошуку Sentinel-2

В таблиці результатів виберіть елемент T32TQM в полі Зона, Гранула якого S2A_OPER_MSI_L1C_TL_SGS__20160506T153005_A004552_T32TQM та клацніть кнопку image_preview. Попередній перегляд буде завантажено та відображено на карті, щоб було зручно оцінити якість знімка та хмарний покрив.

ПОРАДА : Також можливо відобразити загальний огляд знімка (який складається з декількох гранул) за допомогою кнопки image_overview.

_images/tutorial_2_1_03.jpg

Попередній перегляд знімка

Клацніть вкладку Параметри завантаження та зніміть позначку для каналів 1, 9 та 10. Також зніміть позначку параметрів checkbox Передобробити знімки (зазвичай, він має бути увімкнений, але для цілей цього практикуму ми проведемо передоброблення зніміків на етапі Автоматичний перерахунок у значення відбивальності поверхні) та checkbox Завантажити канали до QGIS (тому що ми проведемо відтинання знімків).

ПОРАДА : Параметр checkbox Тільки якщо попередній перегляд у панелі шарів дозволяє завантажувати з таблиці результатів лише ті знімки, попередні перегляди яких відображені на карті. Доцільно увімкнути цей параметр та видалити попередні перегляди знімків з переліку шарів QGIS, залишивши лише ті, які ми бажаємо завантажити.

_images/tutorial_2_1_04.jpg

Вибір каналів для завантаження

Щоб розпочати завантаження знімка, клацніть кнопку run та виберіть каталог до якого зберігатимуться канали (наприклад Desktop). Завантаження може тривати декілька хвилин залежно від швидкості вашого Інтернет-з’єднання (розмір каналу коливається від 30 до 90 Мб). Прогрес завантаження відображається індикатором виконання.

Після завантаження всі канали та метадані зберігаються до виходового каталогу.

_images/tutorial_2_1_05.jpg

Завантаження каналів Sentinel

4.2.1.2. Автоматичний перерахунок у значення відбивальності поверхні

Перерахунок у відбивальність (див. Енергетична світність та відбивальна здатність) може бути проведений автоматично. Файл метаданих (файл .xml назва якого містить MTD_SAFL1C), завантажений зі знімками, містить інформацію необхідну для проведення перерахунку. Читайте Перерахунок знімка у значення відбивальності для інформації щодо Відбивальність на поверхні атмосфери (ТОА) та Відбивальність поверхні.

Для проведення перерахунку каналів у значення відбивальності, відкрийте вкладку Передоброблення, клацнувши кнопку preprocessing у Меню SCP або Інструменти SCP або Панель SCP та виберіть вкладку Sentinel-2.

Клацніть кнопку Каталог, що містить канали Sentinel-2 open_file та виберіть каталог, який повинен називатись S2A_OPER_MSI_L1C_TL_SGS__20160506T153005_A004552_T32TQM. Переілк каналів автоматично завантажується до таблиці Метадані. Крім того, завантажуються метадані для кожного каналу (завдяки тому, що файл метаданих знаходиться в тому самомому каталозі).

ПОРАДА : Якщо знімок Sentinel-2 був завантажений безпосередньо з сайту https://scihub.copernicus.eu та ви бажаєте перерахувати його дані у відбивальність з використанням SCP, то потрібно скопіювати файл .xml, назва якого містить MTD_SAFL1C (знаходиться в каталозі гранули), та вставити його до того самого каталогу, що містить канали (файли .jp2).

Для того, щоб розрахувати Відбивальність поверхні, ми застосуємо Корекція DOS1; тому активуйте параметр Застосувати атмосферну корекцію DOS1.

ПОРАДА : Рекомендовано застосовувати атмосферну корекцію DOS1 до всього знімка (до його відтинання) для того, щоб покращити розрахунок відносних параметрів, що ґрунтуються на знімку.

Вимкніть параметр checkbox Створити набір каналів та застосувати інструменти набору каналів, оскільки ми збираємось визначити ці параметри на наступному етапі Створіть набір каналів. Для того, щоб розпочати процес перерахунку, клацніть кнопку run та виберіть каталог до якого будуть збережені перераховані канали (наприклад, Desktop).

_images/tutorial_2_1_1.jpg

Перерахунок даних Sentinel-2 у відбивальність

Через декілька хвилин перераховані канали завантажуються та відображаються (назва файлу починається з RT_). Якщо у налаштуваннях Процес класифікації увімкнено Грати сигнал після завершення, то після завершення процесу подається звуковий сигнал.

_images/tutorial_2_1_2.jpg

Перераховані канали Sentinel-2

4.2.1.3. Провести відтинання даних

Знімки Sentinel-2 мають велике охоплення. Для того, щоб скоротити обчислювальний час, ми проведемо відтинання каналів до охоплення тієї самої території дослідження, що і в Навчальний практикум 1: Ваша перша класифікація земельного покриву. Відкрийте вкладку Передоброблення та виберіть вкладку Пакетне відтинання растрів.

Клацніть кнопку reload, щоб оновити перелік шарів та позначте галочкою всі шари, назва яких починається з RT_ (номер каналу розташований наприкінці назви шару).

Клацніть кнопку pointer та виберіть ділянку, як показано на наступному рисунку, або введіть наступні значення:

  • UL X: 791810
  • UL Y: 4643020
  • LR X: 809750
  • LR Y: 4626230
_images/tutorial_2_1_3.jpg

Відтинання області

Клацніть кнопку run та вибіерть каталог (наприклд, clip) до якого потрібно зберегти канали після відтинання (з приставкою у назві файлу, що визначена у Приставка виходової назви). Після завершення процесу, обрізані растри завантажуються та відображаються. Тепер ми можемо видалити канали, назва яких починається з RT_ з панелі шарів QGIS.

_images/tutorial_2_1_4.jpg

Обрізані канали

4.2.1.4. Створіть набір каналів

Тепер нам потрібно визначити Набір каналів, який є входовим знімком для SCP. Відкрийте вкладку Набір каналів, клацнувши кнопку bandset_tool у Меню SCP або Інструменти SCP або Панель SCP.

Клацніть кнопку reload для того, щоб оновити перелік шарів, та перевірте всі обрізані канали; після цього клацніть plus для того, щоб додати вибрані растри до Набору каналів. У таблиці Визначення набору каналів впорядкуйте назви каналів у порядку зростання (клацніть order_by_name, щоб автоматично впорядкувати канали за назвою), після цього підсвітіть канал 8A (одинарним клацанням на імені каналу в таблиці) та скористайтесь кнопками move_up або move_down, щоб розмістити цей канал під номером 8. Зрештою, виберіть Sentinel-2 з переліку Швидкі налаштування довжини хвилі для того, щоб автоматично призначити Центральну довжину хвилі кожного каналу та Одиницю вимірювання довжини хвилі (потрібні для розрахунку спектральних сигнатур).

_images/tutorial_2_1_5.jpg

Визначення набору каналів

Ви можете помітити, що елемент << band set >> вибраний як Входове зображення у Панель SCP.

_images/tutorial_2_1_6.jpg

Набір каналів

4.2.1.5. Створіть ROI

Для того, щоб зібрати ROI, нам потрібно Створіть файл навчальних входових даних як описано у Навчальний практикум 1: Ваша перша класифікація земельного покривуПанель SCP клацніть кнопку new_file та визначте назву файлу). Навчальні входові дані зберігають ROI та їх Спектральна сигнатура.

_images/tutorial_2_2_1.jpg

Визначення навчальних входових даних у SCP

Ми створимо декілька ROI, використовуючи ID макрокласів, визначені в наступній таблиці (див. Класи та макрокласи).

Макрокласи

Назва макрокласу

ID макрокласу

Вода

1

Забудова

2

Рослинність

3

Відкритий ґрунт

4

На цьому етапі ми створюємо базу даних спектральних сигнатур, що використовується для ідентифікації класів земельного покриву (визначених як макрокласи). Однак, ці макрокласи складаються з декількох матеріалів, що мають різні спектральні сигнатури; для того, щоб отримати якісні результати класифікації, ми повинні розділити спектральні сигнатури різних матеріалів, навіть якщо вони належать до одного макрокласу. Тому ми створимо декілька ROI для кожного макрокласу (призначаючи ті самі MC ID, але віднесемо кожну ROI до різного C ID).

У переліку RGB= Робоча панель виберіть 3-2-1 для того, щоб відобразити знімок у справжніх кольорах (див. ref:color_composite_definition та Супутник Sentinel-2). Через декілька секунд буде відображений ref:color_composite_definition. Ми можемо бачити, що міські території виглядають білими, а рослинність - зеленою.

ПОРАДА : Якщо a Набір каналів визначено, то автоматично створюється тимчасовий віртуальний растр (під назвою band_set.vrt), що забезпечує відображення Кольоровий композит. Для того, щоб пришвидшити процес візуалізації, ви можете відображати лише віртуальний растр та приховати всі інші шари в панелі шарів QGIS.

_images/tutorial_2_2_2.jpg

Кольоровий композит RGB = 3-2-1

Тепер у переліку RGB= Робоча панель надрукуйте 3-7-10 (ви також можете скористатись інструментомl Перелік RGB). При застосуванні цього кольорового композиту урбанізовані території виглядають фіолетовими, а рослинність - зеленою. Ви можете помітити, що кольоровий композит RGB = 3-7-10 виокремлює дороги краще, ніж композит у справжніх кольорах (RGB = 3-2-1). Також ви можете побачити хмари у правій частині знімка.

_images/tutorial_2_2_3.jpg

Кольровий композит RGB = 3-7-10

Тепер створіть ROI таким самим чином, як це описано у Створіть ROI Навчальний практикум 1: Ваша перша класифікація земельного покриву. Після клацання кнопки roi_single у Робоча панель ви маєте помітити, що курсор відображає значення на карті, які змінюються під час руху курсора над зображенням. Це значення NDVI пікселя, що знаходиться під курсором (NDVI відображається тому, що у Створення ROI увімкнено функцію checkbox Відображати). Значення NDVI можуть бути корисними для визначення спектрально чистих пікселів, зокрема рослинність характеризується вищими значеннями NDVI, ніж ґрунт.

Наприклад, посуньте мишку на ділянку з рослинністю та клацніть лівою кнопкою, щоб створити ROI, коли побачите локальне максимальне значення. Завдяки цьому створена ROI та її спектральна сигнатура будуть особливо репрезентативними для здорової рослинності.

_images/tutorial_2_2_6.jpg

Значення NDVI, що відображається на карті для пікселя з рослинністю

Кольоровий композит RGB = 7-3-2 також корисний для виділення рослинності.

Створіть декілька ROI (чим більше, тим краще). Алгоритм нарощування області може створювати більш однорідні ROI (низьке стандартне відхилення значень спектральних сигнатур), ніж ті, що створені ручним окреслюванням; створення ROI вручну може бути корисним для урахування спектральної мінливості класів (особливо у випадку застосування алгоритму Максимальної вірогідності).

Загалом, слід створити одну ROI для кожного кольору, що ви можете вирізнити на знімку. Для цього змінюйте кольорові композити, щоб ідентифікувати різні типи земельного покриву.

ПОРАДА : Частіше змінюйте Кольоровий композит для того, щоб чітко зідентифікувати матеріали земної поверхні; застосовуйте колещатко мишки до переліку RGB= Робоча панель для швидкої зміни кольорового композиту; також використовуйте кнопки cumulative_stretch та std_dev_stretch для кращого відображення Входового знімка (т. зв. розтягування зображення).

Наступні рисунки ілюструють декілька прикладів ROI.

_images/tutorial_2_2_7.jpg

ROI Вода: озеро

_images/tutorial_2_2_8.jpg

ROI Забудова: великі будівлі

_images/tutorial_2_2_9.jpg

ROI Забудова: дорога

_images/tutorial_2_2_10.jpg

ROI Забудова: будівлі та вузькі дороги

_images/tutorial_2_2_11.jpg

ROI Рослинність: листяні дерева

_images/tutorial_2_2_12.jpg

ROI Рослинність: сільськогосподарські культури

_images/tutorial_2_2_13.jpg

ROI Відкритий ґрунт: землі, що не обробляються

Варто зазначити, що ви можете показати або приховати тимчасові ROI клацанням кнопки radiobutton ROI на Робоча панель.

ПОРАДА : Встановіть модуль QuickMapServices у QGIS та додайте карту (наприклад, OpenStreetMap) для того, щоб полегшити ідентифікацію ROI за допомогою даних з високою вирізняльною здатністю.

Ми також можемо спробувати замаскувати хмари на знімку, створивши ROI хмар та призначивши їм спеціальний MC ID = 0 (який є ІD, що використовується для позначення пікселів, що навимсно не класифікуються) та відмінного C ID. Насправді спектральні сигнатури з MC ID = 0 зазвичай використовуються в класифікації, але кожний піксель, віднесений до цих спектральних сигнатур, в результатах класифікації позначається як unclassified. Тому це простий спосіб маскування деяких спектральних сигнатур, таких як хмари (звичайно є і більш досконалі методи маскування хмар, які буде обговорено в інших практикумах).

_images/tutorial_2_2_14.jpg

Приклад ROI для хмар

4.2.1.6. Створіть попередній перегляд результатів класифікації

Як вказано у Навчальний практикум 1: Ваша перша класифікація земельного покриву, попередні перегляди це тимчасові класифікації, які є зручними для оцінювання ефектів спектральних сигнатур під час збору ROI.

Встановіть кольори спектральних сигнатур у Перелік сигнатур ROI; після цього у Алгоритм класифікації виберіть алгоритм класифікації Максимальної вірогідності. У Попередній перегляд результатів класифікації встановіть Розмір = 500; клацніть кнопку preview та клацніть лівою кнопкою мишки точку на карті.

Попередній перегляд відобразиться на карті.

_images/tutorial_2_3_1.jpg

Приклад попереднього перегляду на основі C ID

Для того, щоб створити попередній перегляд результатів класифікації на основі ID макрокласів, активуйте параметр checkbox MC ID у вкладці Алгоритм класифікації з Панель SCP. У вкладці Макрокласи з Панель SCP змініть кольори MC ID (в таблиці Макрокласи двічі клацніть колір кожного макрокласу для того, щоб вибрати репрезентативний колір).

_images/tutorial_2_3_2.jpg

Кольори MC ID

Тепер клацніть кнопку preview_redo з Робоча панель для того, щоб розрахувати новий попередній перегляд для тієї ж самої ділянки. На наступному рисунку ви можете помітити, що кількість класів менша (тільки MC ID) порівняно з попереднім варіантом; також, хмари відображаються як некласифіковані (чорні пікселі).

ПОРАДА : У Робоча панель клацніть кнопку radiobutton Попередній перегляд для того, щоб швидко показувати або приховувати попередні перегляди класифікації, та кнопку radiobutton RGB= для того, щоб показати або приховати Входовий знімок.

_images/tutorial_2_3_3.jpg

Приклад попереднього перегляду на основі MC ID

4.2.1.7. Оцініть спектральні сигнатури

Спектральні сигнатури використовуються Алгоритми класифікації для позначення пікселів знімка. Різні матеріали, такі як забудова або відкритий ґрунт, можуть мати подібні спектральні сигнатури (особливо у випадку багатоспектральних знімків). Якщо спектральні сигнатури, які використовуються для класифікації, занадто подібні, то пікселі можуть бути класифіковані некоректно, оскільки алгоритм не в змозі правильно відокремити ці сигнатури. Тому доцільно проводити оцінку Спектральна відстань сигнатур для того, щоб знайти подібні спектральні сигнатури, які повинні бути видалені. Звичайно ж, концепція відстані залежить від алгоритму, який застосовується для класифікації.

Простий спосіб оцінки подібності сигнатур це відображення графіка сигнатур. Для того, щоб відобразити графік сигнатур, у Перелік сигнатур ROI виділіть дві або більше сигнатури (клацанням в таблиці), потім клацніть кнопку sign_plot. Графік спектральних сигнатур відобразиться у новому вікні. Посуньте та збільшіть Графік для того, щоб побачити, чи є сигнатури подібними (тобто дуже близькми). На наступному рисунку ми можемо бачити графік сигнатур різних матеріалів.

_images/tutorial_2_4_1.jpg

Графік спектральних сигнатур

На графіку ми можемо бачити лінію кожної сигнатури (зображену кольором, що визначений у Перелік сигнатур ROI) та спектральний діапазон (мінімум та максимум) кожного каналу (напівпрозора область подібна за кольором до лінії сигнатури). Чим більша напівпрозора область сигнатури, тим більше стандартне відхилення, а відтак і неоднорідність пікселів, що формують цю сигнатуру. Значення спектральної сигнатури відображаються у Характеристика сигнатур.

_images/tutorial_2_4_2.jpg

Значення спектральної сигнатури

Додатково ми можемо розрахувати спектральні відстані сигнатур (для більш докладної інформації див. Спектральна відстань). Виділіть дві або більше спектральні сигнатури клацанням в таблиці Відобразити Перелік сигнатур, після цього клацніть кнопку calculate_spectral_distances; відстані будуть розраховані для кожної пари сигнатур. Тепер відкрийте вкладку Спектральні відстані; ми можемо бачити, що подібність між сигнатурами змінюється відповідно до алгоритму.

_images/tutorial_2_4_3.jpg

Спектральні відстані

Наприклад, дві сигнатури можуть бути дуже подібними для Картографування спектрального кута (дуже маленький Спектральний кут), але вельми віддаленими для Максимальної вірогідності (значення Відстань Джефріса-Мацусіти близько 2). На подібність сигнатур впливає подібність матеріалів (залежно від кількості спектральних каналів, доступних у Входовому знімку); також на сигнатури впливає спосіб створення ROI.

4.2.1.8. Створіть результат класифікації

Повторіть декілька разів етапи Створіть ROI, Створіть попередній перегляд результатів класифікації та Оцініть спектральні сигнатури, поки попередні перегляди класифікації не покажуть добрі результати.

Для того, щоб розпочати класифікацію всього зображення, відкрийте вкладку Результат класифікації, клацніть кнопку run та визначте назву виходового результату класифікації.

ПОРАДА : Для того, щоб зменшити обчислювальний час, встановіть Доступну RAM (Мб) у налаштуваннях RAM; рекомендоване значення - половина системної RAM.

Якщо у налаштуваннях Процес класифікації увімкнено checkbox Давати звуковий сигнал по закінченні, то після завершення процесу подається звуковий сигнал.

_images/tutorial_2_5_1.jpg

Класифікація

Варто зазначити, що SCP забезпечує й іншими інструментами та техніками, які можуть покращити результати класифікації. Вони описані у Тематичні навчальні матеріали.