153YZOD Zpracování obrazových dat 2006 - 11. cvičení

Z GeoWikiCZ
Přejít na: navigace, hledání

[ Zpracování obrazových dat ]

Řízená, částečně řízená klasifikace

osnova

V tomto kurzu dokončíme téma klasifikace obrazových dat. Zaměříme se na řízenou klasifikaci, okrajově zmíníme hybridní – částečně řízenou klasifikaci.

seznam příkazů

úvod

Řízená klasifikace je založena na interaktivní identifikaci ploch patřící do předem určené třídy (na základě šetření v terénu či pomocné mapy). Tyto plochy jsou označovány jako trénovací plochy (ground truth areas) a jsou posléze během klasifikačního procesu použity pro sestavení spektrálních příznaků. Velmi důležité je aby vybrané trénovací plochy nebyly příliš malé a hlavně aby byly homogenní. Modul i.class umožňuje analýzu pomocí histogramů kanálů, navíc je zobrazena Gaussova distribuční funkce spekrální odezvy a také příslušná směrodatná odchylka. Výsledné spektrální příznaky jsou určeny na základě směrodatných odchylek a kovariančních matic.

Trénovací plochy mohou být digitalizovány přímo v modulu i.class (při současném vygenerování spektrálních příznaků) či externě (r.digit či v.digit) a spektrální příznaky sestaveny samostatně pomocí i.gensig.

Nejprve je nutno sestavit obrazovou skupinu/podskupinu a vložit do ní všechny požadované obrazové vrstvy (tj. jednotlivá pásma družicového snímku vyjma termálního pásma), např.

#sestavení obrazové skupiny
#
GRASS > i.group group=tm subgroup=tm input=tm1,tm2,tm3,tm4,tm5,tm7

Pro usnadnění výběru trénovacích ploch je vhodné vytvořit pomocnou RGB syntézu, např.

GRASS > g.region rast=tm1
#
#RGB syntéza 453
#
GRASS > r.composite red=tm4 green=tm5 blue=tm3 output=tm453

interaktivní výběr trénovacích ploch

Interaktivní výběr (digitalizaci) trénovacích ploch umožňuje přímo modul i.class. Nicméně je vhodné poznamenat, že tento modul se nechová zcela standardně, obrazová skupina a podskupina se nezadává jako parametr, ale musí se zadat ve formuláři, který se objeví v konzoli po spuštění modulu bez parametrů (nepraktické při opakovaném spouštění).

GRASS > i.class

Zadáme název obrazové skupiny, ENTER, název podskupiny a formulář opustíme ESC-ENTER.

LOCATION: sevcech             SUPERVISED CLASSIFIER             MAPSET: student

Please select the group/subgroup to be analyzed
 

GROUP:    tm____________________________   (list will show available groups)
SUBGROUP: tm____________________________   (list will show available subgroups)

Dále zadáme název souboru obsahující výsledné spektrální příznaky:

RESULT SIGNATURE
Enter name for the resulting signature file
Enter 'list' for a list of existing subgroup [tm] signature files
Enter 'list -f' for a list with titles
Hit RETURN to cancel request
tm_riz

Následuje dotaz na zárodečné příznaky (lze tak využít příznaky z předcházejících výpočtů), pokud spouštíme i.class poprvé, opustíme tento formulář pomocí ENTER.

SEED SIGNATURES
Select the signature file to include in the resulting file
Enter 'list' for a list of existing subgroup [tm] signature files
Enter 'list -f' for a list with titles
Hit RETURN to not include any other signatures
> 

Poté zvolíme mapovou vrstvu, která poslouží jako podklad pro identifikaci trénovacích ploch (v našem případě zvolíme tm453).

Enter the name of the cell map to be displayed
Enter 'list' for a list of existing raster files
Enter 'list -f' for a list with titles
Hit RETURN to cancel request
> tm453

Grafické okno se rozdělí na tři části (podobně jako při georeferencování dat, modul i.points), vpravo nahoře se zobrazí zvolená obrazová vrstva, dole je naopak umístěn aktuální zvětšený detail zvoleného uzemí (fuknce "Zoom") – viz obr. č.1. Vlevo budou umístěny histogramy pro zvolené trénovací plochy.

Trénovací plochy jsou digitalizovány pomocí funkce "Define region" a "Draw region", pro uzavření aktuální plochy slouží "Complete region", podmenu se opustí pomocí "Done". Poté provedeme analýzu dané trénovací plochy – "Analyze region".

Obr č.1: Grafické okno GRASSu po spuštění modulu i.class

Spekrální příznaky jsou tak vyhledány na základě vybrané trénovací plochy. Následně jsou v levé části zobrazeny korespondující histogramy pro všechna pásma obsažená v dané obrazové skupině. Pomocí položky menu "Display matches" lze zobrazit plochy, které budou podle vytvořených příznaků přiřazeny k dané třídě. Ve snaze ovlivnit výsledek této operace můžeme změnit směrodatnou odchylku (v menu "Set std dev's").

Obr č.2: Zobrazení ploch odpovídající sestaveným spektrálním příznakům, nastavená standardní odchylka "7.5"

Po ukončení ("Done") se objeví otázka, zda chcete uložit aktuální spekrální příznaky ("Do you want to save this signatures?"), klikneme tedy na "Yes" a v okně konzole zadáme textový popisek příznaků – např. "vodni plochy". A poté můžeme ve výběru trénovacích ploch pokračovat dále. Pro ukončení modulu zvolíme v menu položku "Quit" a na otázku "really quit?" neohroženě odpovíme "yes". Spektrální příznaky zvolených trénovacích ploch jsou tak uloženy do speciálního textového souboru.

Za poznámku stojí upozornění, že nejsou ukládány hranice trénovacích ploch. Při výběru trénovacích ploch by se neměly do plochy zahrnovat hraniční pixely reprezentující často smíšené spekrální příznaky. Navíc příliš malé trénovací plochy budou posléze (ze statistického hlediska) ignorovány.

vytvoření trénovacích ploch z pomocné mapy

Mapovou vrstvu s trénovacími plochami lze vytvořit externě na základě mapy využití půdy či např. předem vytvořené barevné syntézy, jako je tomu v našem případě. Výhodou tohoto postupu je jejich vektorizace mimo i.class a uložení do vektorové (či rastrové) vrstvy, kterou lze v budoucnu bez problémů modifikovat.

Pro vektorizaci trénovacích ploch můžeme využít modul v.digit či méně použitelný r.digit, návod je uveden v jednom z předcházejících cvičení. V případě tvorby vektorové vrstvy (v.digit) je nutné provést její rasterizaci pomocí v.to.rast.

#vymazaní obsahu grafického okna a odstranění rámců
#
GRASS > d.frame -e
#
#vytvoření nové vektorové vrstvy "tplochy", na pozadí vykreslena RGB syntéza 453
#
GRASS > v.digit -n tplochy bg="d.rast tm453"

Po ukončení vektorizace trénovacích ploch můžeme tuto vektorovou vrstvu zobrazit v grafickém okně:

#zobrazení ploch s barevnou výplní na základě kategorie plochy
#
GRASS > d.vect -c map=tplochy type=area

A provedeme rasterizaci vrstvy na základě kategorie ploch:

#rasterizace plochy
#
GRASS > v.to.rast input=tplochy output=tplochy use=cat
GRASS > d.rast tplochy
Obr č.3: Trénovací plochy uložené ve zvlaštní rastrové vrstvě

A konečně vytvoříme soubor se spekrálními příznaky:

#vytvoření spekrálních příznaků
#
GRASS > i.gensig trainingmap=tplochy group=tm subgroup=tm signaturefile=tm_riz1

klasifikace

Vlastní aplikace rozhodovacího pravidla (v našem případě Gaussova klasifikátoru) je obdobná jako v případě neřízené klasifikace:

#klasifikátor maximum likelihood (MLC)
#
GRASS > i.maxlik group=tm subgroup=tm sigfile=tm_riz class=tm_rkl reject=tm_rzam
GRASS > i.maxlik group=tm subgroup=tm sigfile=tm_riz1 class=tm_rkl1 reject=tm_rzam1
Obr č.4: Výsledek řízené klasifikace
Obr č.5: Odpovídající zamítací mapa

částečně řízená klasifikace

Tato metoda se podobá neřízené klasifikaci, pouze s tím rozdílem, že jsou nejprve vytvořeny spekrální příznaky podobně jako v případě řízené klasifikace (i.class či i.gensig). Tyto příznaky jsou posléze použity jako zárodečné (seed signatures) pro modul i.cluster. Další postup kopíruje neřízenou klasifikaci.

Někdy se tato metoda označuje jako hybridní klasifikace.

řízená kombinovaná geometrická a radiometrická klasifikace

GRASS nabízí další poměrně sofistikovanou metodu řízené klasifikace a to kombinovanou geometrickou/radiometrickou klasifikaci založenou na klasifikátoru SMAP (Sequential Maximum A Posteriori – estimation). Tento klasifikátor na rozdíl od MLC bere v potaz okolí podobnosti. Tento přístup může vést k lepším výsledkům klasifikace jako takové. Za další výhodu lze považovat, že tento klasifikátor akceptuje v extrémním případě pouze jeden kanál (použitelné pro segmentaci obrazu). Klasifikátor SMAP je v GRASSu dostupný jako modul i.smap.

Postup se od řízené klasifikace popsané výše příliš neliší. Nejprve je potřeba vytvořit obrazovou skupinu pomocí i.group, následně vytvořit rastrovou vrstvu s trénovacími plochami (r.digit nebo v.digit, v.to.rast). Spektrální příznaky jsou v tomto případě vytvořeny pomocí i.gensigset. Proces klasifikace je ukončen aplikací i.smap.

#sestavení spektrálních příznaků
#
GRASS > i.gensigset trainingmap=tplochy group=tm subgroup=tm signaturefile=tm_smap
#
#klasifikátor SMAP
#
GRASS > i.smap group=tm subgroup=tm signaturefile=tm_smap out=tm_smap
Obr č.6: Výsledek řízené klasifikace (SMAP)
Obr č.7: Odlišně klasifikované plochy, klasifikátor MLC × SMAP


[ Zpracování obrazových dat ]