Існують різні засоби ілюстрації змін спектральної яскравості об’єктів під час переходу від одної частини спектру до іншої. Якщо треба показати це для одного пікселя знімку або узагальнено для групи пікселів, то зазвичай використовують криві спектральної яскравості (або спектральної відбивної здатності). А що робити, коли є бажання відобразити спектральні характеристики кожного пікселя космічного знімку? У такому разі нам стане в нагоді багатовимірній простір спектральних ознак.
ТЕОРІЯ
Багатовимірній простір спектральних ознак – це графік, на осях якого відкладені значення спектральної яскравості. Кожна вісь відповідає окремому спектральному діапазону (каналу знімка). У найпростішому випадку, коли є дві осі, ми маємо двомірний простір спектральних ознак. Якщо осей більше ніж дві, графік стає об’ємним (багатовимірним). Усі сполучення яскравості, що існують на знімку, формують у цьому просторі хмару точок. Кожному пікселю зображення відповідає своя точка цієї хмари.
У програмі ENVI для роботи з багатовимірним простором спектральних ознак існує інструмент n-D Visualizer. За його допомогою розв’язуються різні задачі. Наприклад, вибір оптимального алгоритму класифікації з навчанням та оцінка якості навчальних вибірок.
У цій статті йдеться про використання n-D Visualizer для дешифрування космічних знімків. Роботу всіх алгоритмів автоматизованого дешифрування (класифікації) можна зобразити як обробку багатовимірного простору спектральних ознак у вигляді хмари. З цього погляду класифікація зводиться до розрізання хмари точок на окремі класи. Робиться це за математичними формулами, які є основою алгоритму класифікації. У разі, якщо користувач хоче виокремити класи вручну, за власними критеріями, він також може це зробити.
У практичній частині нашої статті показано, як саме класифікувати знімок в ENVI за допомогою інструмента n-D Visualizer.
ПРАКТИКА
Розберемо роботу з багатовимірнім простором спектральних ознак на прикладі дешифрування знімка Landsat. Фрагмент знімка (рис. 1) охоплює терени вздовж правого та лівого берега Печенізького водосховища. На цій території є різні типи поверхні – водойми, хвойні ліси, листяні ліси, відкриті ґрунти та інші. На наведеному знімку Landsat (комбінація каналів 7:5:3) Печенізьке водосховище має синій колір. Масив листяного лісу (Печенізька Дача) на правому березі водосховища має трав’яно-зелений колір. Хвойні ліси, що ростуть здебільшого на лівому березі водосховища, мають темно-зелений колір (рис.1).
Наша мета – створити карту поширення водойм, хвойних та листяних лісів. Для цього треба:
① створити простір спектральних ознак;
② розглядаючи простір спектральних ознак, ідентифікувати у хмарі точок різні типи земної поверхні;
③ виділити у просторі спектральних ознак класи, що відповідають різним типам поверхні;
④ експортувати класи з простору спектральних ознак на плоске картографічне зображення.
Отже розглянемо зміст кожного з цих чотирьох етапів у деталях.
Рисунок 1. Фрагмент знімка Landsat
Етап I
Створення простору спектральних ознак з існуючої області обробки
Для створення багатовимірного простору спектральних ознак оберіть у тулбоксі команду:
Spectral→ n-Dimensional Visualizer→ n-Dimensional Visualizer New Data.
У наступному вікні (n-D Visualizer Input Data) оберіть зображення, для котрого створюватимемо простір спектральних ознак. Далі з’явиться віконце, у якому треба обрати область обробки, з якої буде братися інформація про конкретні пікселі (треба заздалегідь створити область обробки, що охоплює належну частину знімка).
Відкриються два вікна: n-D Visualizer та n-D Controls. Перше віконце (n-D Visualizer) – це багатомірний візуалізатор, у якому відображається хмара точок. Друге віконце (n-D Controls) призначене для налаштування її відображення.
n-D Controls містить меню, розділ n-D Selected Bands, та кнопки для навігації у просторі спектральних ознак. Спочатку в n-D Visualizer цей простір буде пустий. У разі натискання на номери каналів у розділі n-D Selected Bands у віконці n-D Visualizer відобразиться хмара точок. Її форма залежить від того, які саме канали зображення обрано. На рисунку 2 це третій, четвертий та п’ятий канал. У розділі n-D Selected Bands вони мають білий фон, а ті канали, що не використовувалися, мають чорний фон. Зрозуміло, що для створення простору спектральних ознак треба щонайменше два канали. Тоді це буде двомірний простір спектральних ознак. Для об’ємного вигляду необхідно щонайменше три канали.
Рисунок 2. Вікна n-D Visualizer (ліворуч) та n-D Controls (праворуч)
Етап II
Навігація у просторі спектральних ознак
Навігація у просторі спектральних ознак в ENVI полягає лише в обертанні хмари точок. Існує два способи обертання: автоматичне та ручне. Щоб почалося автоматичне обертання, натисніть кнопку Start. Для регулювання швидкості введіть число у рядок вводу Speed (за замовчуванням там стоїть 50).
Якщо Ви бажаєте відобразити вісі багатовимірного простору спектральних ознак, то оберіть Options→Show Axes. Щоб обертати хмару точок у ручному режимі, оберіть Options→3D: Drive Axes. Тепер Ви зможете крутити хмару точок за допомогою курсору, затиснувши ліву кнопку миші.
При обертанні хмари точок необхідно оглянути її з усіх боків. При цьому можна побачити окремі згустки точок, котрі відповідають якомусь типу поверхні.
Але до якого саме типу поверхні вони належать?
В ENVI є два засоби для вирішення такого питання. По-перше, можна імпортувати криві спектральної яскравості (вони зберігаються в ENVI у форматі спектральної бібліотеки) та подивитися, де вони опиняться. У багатомірному просторі спектральних ознак спектральна крива перетворюється на окрему точку.
По-друге, можна безпосередньо переглянути криві спектральної яскравості кожної точки, що відображається в n-D Visualizer. У кожного типу поверхні є своя специфічна форма кривої. За формою цієї кривої і можна відрізняти їх. Тому криві спектральної яскравості ще називають спектральними сигнатурами (тобто підписами – за аналогією з індивідуальним підписом людини).
Імпорт кривих спектральної яскравості у простір спектральних ознак
Щоб імпортувати у простір спектральних ознак спектральні сигнатури, які зберігаються у спектральній бібліотеці, оберіть у меню віконця n-D Controls команду Options→Import Library Spectra… З’явиться віконце n-D Visualizer Import Spectra (рис. 3). У його меню увійдіть в пункт Import, оберіть тип джерела спектральних сигнатур (спектральна бібліотека, область обробки, ASD-файл тощо) в цьому пункті. Відкрийте конкретні спектральні криві й вони опиняться у віконці n-D Visualizer Import Spectra.
Рисунок 3. Віконце n-D Visualizer Import Spectra
Натисніть у віконці n-D Visualizer Import Spectra кнопку Apply. Після цього спектральні сигнатури опиняться у віконці n-D Visualizer (рис. 4).
Рисунок 4. Спектральні криві у просторі спектральних ознак
Криві спектральної яскравості після імпорту будуть позначені у просторі спектральних ознак як кольорові зірочки. Обіч цих зірочок знаходиться назва спектральної сигнатури. На рисунку 4 сигнатура водойм позначена синім кольором, сигнатура хвойних лісів – темно-зеленим, а листяних – світло-зеленим. На наступних рисунках (рис. 5-8) використовуються ті самі кольорові позначення.
Перегляд спектральної сигнатури
Як зазначалося вище, є ще один спосіб ідентифікувати типи поверхні у хмарі точок. Він є протилежним до попереднього способу. Оберіть у меню Options→Z Profile… Потім клацніть правою кнопкою миші по будь-якій точці. З’явиться віконце n-D Profile, у якому відображуються спектральні криві (рис. 5). Спочатку воно буде порожнє. Щоб з’явилася спектральна крива, необхідно клацнути у хмарі точок по тій точці, спектральна крива котрої Вас цікавить.
За замовчуванням колір кривих чорний. Для відокремлених класів колір спектральної сигнатури відповідає кольору класу. Тобто, коли ви клацаєте по білій точці, відображається чорна крива, а якщо клацаєте по кольоровій точці – крива такого ж кольору, що і ця точка.
Рисунок 5. Спектральні криві для води, листяних та хвойних лісів
На рисунку 5 Ви бачите типові спектральні криві водойм (синя крива), хвойних (темно-зелена) та листяних (яскраво-зелена) лісів. Для водойм є характерною форма спектральної сигнатури з поступовим зниженням яскравості при переході від блакитної до інфрачервоної зони спектру. У лісів (та взагалі рослинності) крива спектральної яскравості має провалля у червоній зоні спектру та пік в інфрачервоній зоні. У хвойних лісів різниця між цими зонами спектру значно більша, ніж у листяних лісів.
Етап III
Виділення класів у просторі спектральних ознак
Коли Ви ідентифікували типи поверхні у хмарі точок, можна перейти до виділення класів. Для цього в меню віконця n-D Controls увійдіть у пункт Class то оберіть колір класу. Потім лівою кнопкою миші обведіть у віконці n-D Visualizer частину хмари точок, наприклад, як на рисунку 6.
Рисунок 6. Виділеня класів у багатомірному просторі спектральних ознак
Етап IV
Експорт класів з простору спектральних ознак
Класи, що ми виокремили у багатовимірному просторі спектральних ознак, можна експортувати в області обробки (ROI). Для цього в меню віконця n-D Controls оберіть Options→Export Class або Options→Export All. Перша команда експортує поточний клас, той, що зараз є активним. Друга команда експортує всі класи разом. Щоб дізнатися, який клас є активним або активувати інший, оберіть Options→Class Controls…З’явиться віконце n-D Class Controls (рис. 7).
Рисунок 7. Віконце n-D Class Controls
Вгорі віконця n-D Class Controls зазначено активний клас. У нижній частині віконце містить перелік усіх класів. Щоб активувати будь-який клас, треба натиснути відповідний йому кольоровий квадрат у переліку класів. Зверніть увагу на кнопку Export у віконці n-D Class Controls. Її теж можна застосувати для експорту поточного активного класу в область обробки.
Класи, котрі ми експортували, не відобразяться у таблиці змісту. Проте вони існують у пам’яті програми, тому з них ми маємо створити зображення класифікації. Щоб зробити це, оберіть у тулбоксі команду Regions of Interest → Classification Image from ROIs. Внаслідок цього буде створено зображення подібне до того, що на рисунку 8.
Рисунок 8. Зображення класифікації
У загальних рисах на рисунку 8 правильно відображена географія трьох типів поверхні (водойм, хвойних та листяних лісів). Деякі ділянки були дешифровані помилково.
Про те, як оцінювати точність класифікації, ми поговоримо у наступному пості.
very nicely explained. thanks alot sir. could u please make an article on MNF and how that used in PPI. expecting an article on this