153ZODH / 11. cvičení: Porovnání verzí

Z GeoWikiCZ
m (→‎Úvod: typos)
mBez shrnutí editace
 
(Není zobrazeno 97 mezilehlých verzí od stejného uživatele.)
Řádek 1: Řádek 1:
<div style="font-size: 13pt; font-weight: bold">Řízená, částečně řízená klasifikace</div>
{{Zastaralé|155ZDDP}}
----
{{Cvičení|153ZODH|11|Řízená, částečně řízená klasifikace}}
== Osnova ==


{{Upravit}}
''Řízená'' klasifikace obrazových dat, hybridní - částečně řízená klasifikace.


< [[153YZOD Zpracování obrazových dat|Stránky předmětu]] {{bullet}} [[153YZOD Zpracování obrazových dat - cvičení 10|Předchozí cvičení]]
=== Seznam příkazů ===


__TOC__
* {{GrassPrikaz|i.group}}
== Osnova ==
* {{GrassPrikaz|r.composite}}
* {{GrassPrikaz|g.gui.iclass}}
* {{GrassPrikaz|v.to.rast}}
* {{GrassPrikaz|i.gensig}}
* {{GrassPrikaz|i.maxlik}}
* {{GrassPrikaz|i.gensigset}}
* {{GrassPrikaz|i.smap}}


== Úvod ==
== Úvod ==


Řízená klasifikace je založena na interaktivní výběru ploch patřící do předem určené třídy (na základě šetření v terénu či podkladové mapy). Tyto plochy jsou označovány jako ''trénovací plochy'' (''ground truth areas''). Tyto trénovací plochy jsou v klasifikačního procesu pro sestavení spektrálních příznaků. Trénovací plochy nesmí být příliš malé a měly by být homogenní. Modul {{GrassPrikaz|i.class}} umožňuje analýzu pomocí histogramu kanálů, navíc je zobrazena Gaussova distribuční funkce spektrá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.
Řízená klasifikace je založena na interaktivním výběru ploch patřící do předem určené třídy (na základě šetření v terénu či podkladové mapy). Tyto plochy jsou označovány jako ''trénovací plochy'' (''ground truth areas''). Trénovací plochy jsou v klasifikačního procesu použity pro sestavení spektrálních příznaků. Nesmí být příliš malé a měly by být homogenní. Modul {{GrassPrikaz|g.gui.iclass}} umožňuje jejich analýzu pomocí histogramu či rozptylogramu jednotlivých kanálů, Gaussovy distribuční funkce spektrální odezvy a příslušné směrodatné odchylky. 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 {{GrassPrikaz|i.class}} (při současném vygenerování spektrálních příznaků) či externě ({{GrassPrikaz|r.digit}}, {{GrassPrikaz|v.digit}} nebo digitalizační nástroj {{GrassPrikaz|wxGUI}}). Spektrální příznaky jsou poté sestaveny modulem {{GrassPrikaz|i.gensig}}.
Trénovací plochy mohou být digitalizovány přímo v modulu {{GrassPrikaz|g.gui.iclass}} (včetně vygenerování spektrálních příznaků) či externě pomocí {{GrassPrikaz|wxGUI.vdigit|digitalizačního nástroje wxGUI}} - v tomto případě jsou spektrální příznaky sestaveny modulem {{GrassPrikaz|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).
Nejprve je nutno vytvořit ''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).


<source lang="bash">
  # sestavení obrazové skupiny
  # sestavení obrazové skupiny
  #
  #
  i.group group=tm subgroup=tm input=tm1,tm2,tm3,tm4,tm5,tm7
  i.group group=tm subgroup=tm input=tm1,tm2,tm3,tm4,tm5,tm7
</source>
Z menu {{grassPrikaz|wxGUI}} {{menu|Imagery|Develop images and groups|Create/edit group}}
<center>
{|table
| [[Image:group-dialog-1.png|thumb|400px|Založení obrazové skupiny ve wxGUI (výběr rastrových map)]]
| [[Image:group-dialog-2.png|thumb|185px|Založení obrazové skupiny ve wxGUI]]
|}
</center>


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


<source lang="bash">
  g.region rast=tm1
  g.region rast=tm1
  #
  #
Řádek 28: Řádek 47:
  #
  #
  r.composite red=tm4 green=tm5 blue=tm3 output=tm453
  r.composite red=tm4 green=tm5 blue=tm3 output=tm453
</source>


== Výběr trénovacích ploch ==
== Výběr trénovacích ploch ==
Řádek 33: Řádek 53:
=== Interaktivní ===
=== Interaktivní ===


Interaktivní výběr (digitalizaci) trénovacích ploch umožňuje modul {{GrassPrikaz|i.class}}. Tento modul však obsahuje řadu omezení, které by měl být po integraci do {{GrassPrikaz|wxGUI}} odstraněny.
==== Supervised Classification Tool (nový nástroj, GRASS 7) ====


i.class
{{grassPrikaz|wxGUI.iclass|version=70|wxGUI Supervised Classification Tool}} je nový nástroj ve verzi GRASS 7, který vznikl v rámci semestrálního projektu předmětu [[153YZOD]] na ČVUT v Praze v akademickém roce 2011/2012. Více o projektu na stránkách [[Open Source Geospatial Research and Education Laboratory#Projects|Open Source Geospatial Research and Education Laboratory]].


Zadáme název obrazové skupiny, ENTER, název podskupiny, formulář opustíme ESC-ENTER.
[[Image:wxgui-iclass.png|640px|center|wxGUI Supervised Classification Tool]]


LOCATION: sevcech            SUPERVISED CLASSIFIER            MAPSET: student
Postup práce:
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:
# Volba skupiny a podskupiny [[Image:iclass-set-group.png]]
# Definice tříd [[Image:iclass-class-manager.png]]
# Digitalizace trénovacích ploch pro jednotlivé třídy [[Image:iclass-digitize-areas.png]]
#:*Volitelně lze trénovací plochy uložit do vektorové mapy [[Image:iclass-export-areas.png]]
# Provést analýzu trénovacích ploch, aktualizace histogramů [[Image:iclass-run.png]]
# Uložení výsledků do příznakového souboru [[Image:iclass-sigfile.png]], tento soubor bude sloužit jako vstup do klasifikátoru {{grassPrikaz|i.maxlik}}


RESULT SIGNATURE
{{YouTube|FyzfdlkTNRg|wxIClass|width=640px|desc=Návod na digitalizaci trénovacích ploch ve wxGUI Supervised Classification Tool}}
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 {{GrassPrikaz|i.class}} poprvé, opustíme tento formulář pomocí ENTER.
==== i.class (původní nástroj v GRASS 6) ====


SEED SIGNATURES
Interaktivní výběr (digitalizaci) trénovacích ploch umožňuje v GRASS 6 modul {{GrassPrikaz|i.class|version=64}}. Tento modul však obsahuje řadu omezení.
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ě 'tm453').
Zadáme název obrazové skupiny, podskupiny, podkladové rastrové vrstvy a souboru s výstupními příznaky.


  Enter the name of the cell map to be displayed
<source lang="bash">
Enter 'list' for a list of existing raster files
  i.class map=tm453 group=tm subgroup=tm outsig=tm_riz
Enter 'list -f' for a list with titles
</source>
Hit RETURN to cancel request
> tm453


Grafické okno se rozdělí na tři části (podobně jako při georeferencování dat, modul {{GrassPrikaz|i.points}}), vpravo nahoře se zobrazí zvolená obrazová vrstva, dole je naopak umístěn aktuální zvětšený detail zvoleného území (funkce "Zoom") - viz obr. č.1. V levé části jsou zobrazovány histogramy trénovacích ploch.
Grafické okno se rozdělí na tři části (podobně jako při georeferencování dat, modul {{GrassPrikaz|i.points|version=64}}), vpravo nahoře se zobrazí zvolená obrazová vrstva, v dolní části je umístěn zvětšený detail zvoleného území (funkce "Zoom") - viz obr. níže. V levé části jsou zobrazovány histogramy trénovacích ploch.


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". Analýza dané trénovací plochy - "Analyze region".
Trénovací plochy jsou digitalizovány pomocí funkce "Define region" a "Draw region", pro uzavření aktuální plochy "Complete region", podmenu se opustí pomocí "Done". Analýza dané zvolené trénovací plochy - "Analyze region".


[[Soubor:ZOD-cv11-i_class.png|center|frame|Obr č.1: Grafické okno GRASSu po spuštění modulu {{GrassPrikaz|i.class}}]]
{{fig|ZOD-cv11-i_class|Grafické okno GRASSu po spuštění modulu {{GrassPrikaz|i.class|version=64}}|size=640}}


Spektrá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").
Spektrální příznaky jsou tak vyhledány na základě vybrané trénovací plochy. Následně jsou v levé části zobrazeny 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").


[[Soubor:ZOD-cv11-i_class_matches.png|center|frame|Obr č.2: Zobrazení ploch odpovídající sestaveným spektrálním příznakům, nastavená standardní odchylka "7.5"]]
{{fig|ZOD-cv11-i_class_matches|Zobrazení ploch odpovídající sestaveným spektrálním příznakům, standardní odchylka "7.5"|size=640}}


Po ukončení ("Done") se objeví otázka, zda chcete uložit aktuální spektrální příznaky ("Do you want to save this signatures?"), po vybrání "Yes" se zadá v okně konzole textový popisek příznaků - např. "vodni plochy". Podobně určíme další trénovací plochy. Modul se ukončí z menu  "Quit". Spektrální příznaky zvolených trénovacích ploch jsou tak uloženy do speciálního textového souboru.
Po ukončení ("Done") se objeví otázka, zda chcete uložit aktuální spektrální příznaky ("Do you want to save this signatures?"), po vybrání "Yes" se zadá v okně konzole textový popisek příznaků - např. "vodni plochy". Podobně určíme další trénovací plochy. Modul se ukončí z menu  "Quit". 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é spektrální příznaky. Navíc příliš malé trénovací plochy budou posléze (ze statistického hlediska) ignorovány.
Trénovací plochy nesmí obsahovat tzv. hraniční pixely reprezentující často smíšené spektrální příznaky. Příliš malé trénovací plochy budou posléze (ze statistického hlediska) ignorovány.


=== Neinteraktivní ===
=== Neinteraktivní ===
Řádek 91: Řádek 98:
Mapovou vrstvu s trénovacími plochami lze vytvořit externě na základě mapy využití půdy, barevné syntézy a pod.
Mapovou vrstvu s trénovacími plochami lze vytvořit externě na základě mapy využití půdy, barevné syntézy a pod.


Pro vektorizaci trénovacích ploch lze modul {{GrassPrikaz|v.digit}}, {{GrassPrikaz|r.digit}} nebo digitalizační nástroj {{GrassPrikaz|wxGUI}} - viz {{153YZODCv|9|Filtrace šumu pomocí FFT |9. cvičení}}.
Pro vektorizaci trénovacích ploch lze použít modul {{GrassPrikaz|g.gui.vdigit}} - viz {{153YZODCv|9|Filtrace šumu pomocí FFT |9. cvičení}}.


Nejprve zobrazíme podkladovou barevnou syntézu, vytvoříme novou vektorovou vrstvu 'tplochy' a otevřeme vrstvu pro digitalizaci.
Nejprve zobrazíme podkladovou barevnou syntézu, vytvoříme novou vektorovou vrstvu 'tplochy' (včetně atributové tabulky) a otevřeme vrstvu pro editaci.


  d.rast tm453
<source lang="bash">
  d.rast map=tm453
</source>


Hranice ploch vektorizujeme bez kategorie, kategorie (atributová data) budou přiřazena pouze centroidům ploch. Po ukončení vektorizace trénovacích ploch vrstvu rasterizujeme pomocí modulu {{GrassPrikaz|v.to.rast}}.
Hranice ploch vektorizujeme bez kategorie, kategorie (atributová data) bude přiřazena pouze centroidům ploch. Po ukončení vektorizace trénovacích ploch vrstvu rasterizujeme pomocí modulu {{GrassPrikaz|v.to.rast}}.


<source lang="bash">
  # rasterizace plochy
  # rasterizace plochy
  #
  #
  v.to.rast input=tplochy output=tplochy use=cat
  v.to.rast input=tplochy output=tplochy use=cat labelcolumn=popisek
d.rast tplochy
</source>


[[Soubor:ZOD-cv11-rast_tplochy.png|center|frame|Obr č.3: Trénovací plochy]]
{{fig|ZOD-cv11-rast_tplochy|Trénovací plochy}}


Vytvoříme soubor se spektrálními příznaky.
Nakonec vytvoříme soubor se spektrálními příznaky.


  i.gensig trainingmap=tplochy group=tm subgroup=tm signaturefile=tm_riz1
<source lang="bash">
  i.gensig trainingmap=tplochy group=tm subgroup=tm signaturefile=tm_riz
</source>


== Klasifikace (Gaussův klasifikátor) ==
== Klasifikace (Gaussův klasifikátor) ==


Aplikace rozhodovacího pravidla (Gaussova klasifikátoru) je obdobná jako v případě neřízené klasifikace.
Soubor s příznaky (<code>sigfile</code>) lze vygenerovat v Supervised Classification Tool - viz [[#Supervised Classification Tool (nový nástroj, GRASS 7)|postup]]. Alternativně lze soubor s příznaky vygenerovat pomocí modulu {{grassPrikaz|i.gensig}}. V tomto případě nejprve vektorovou mapu trénovacích ploch zrasterizujeme pomocí modulu {{grassPrikaz|v.to.rast}}.


Aplikace {{wikipedia|Maximum likelihood|rozhodovacího pravidla|lang=en}} (Gaussova klasifikátoru) je obdobná jako v případě neřízené klasifikace.
<source lang="bash">
  # klasifikátor maximum likelihood (MLC)
  # klasifikátor maximum likelihood (MLC)
  #
  #
  i.maxlik group=tm subgroup=tm sigfile=tm_riz class=tm_rkl reject=tm_rzam
  i.maxlik group=tm subgroup=tm sigfile=tm_riz class=tm_rkl reject=tm_rzam
</source>


[[Soubor:ZOD-cv11-tm_rizkl.png|center|frame|Obr č.4: Výsledek řízené klasifikace]]
{{fig|ZOD-cv11-tm_rizkl|Výsledek řízené klasifikace}}


[[Soubor:ZOD-cv11-tm_rizzam.png|center|frame|Obr č.5: Zamítací rastrová vrstva]]
{{fig|ZOD-cv11-tm_rizzam|Zamítací rastrová vrstva}}
 
''Poznámka:'' Popisky tříd lze nastavit manuálně pomocí modulu {{grassPrikaz|r.category}}. Nicméně pokud jste použili parametr <code>labelcolumn</code> při rasterizaci trénovacích ploch ({{grassPrikaz|v.to.rast}}), tak by popisky jednotlivých tříd měly být již nastaveny.
 
{{fig|ZOD-cv11-r-category|Nastavení popisků tříd pomocí modulu {{grassPrikaz|r.category}}. Položky jsou odděleny dvojtečkou.|size=400}}


== Částečně řízená klasifikace ==
== Částečně řízená klasifikace ==


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


Někdy se tato metoda označuje jako ''hybridní'' klasifikace.
Někdy se tato metoda označuje jako ''hybridní'' klasifikace.
<source lang=bash>
# rasterizace trénovacích ploch (pozor na výpočetní region)
v.to.rast input=tr_areas output=tr_areas use=cat rgbcolumn=color
# vytvoření souboru s příznaky
i.gensig trainingmap=tr_areas group=B subgroup=B signaturefile=sig_areas
# předzpracování - vytvoření shluku na základě zárodečných příznaků
i.cluster group=B subgroup=B signaturefile=sig_hybrid classes=4 seed=sig_areas
# aplikace Gaussova klasifikatoru
i.maxlik group=B subgroup=B signaturefile=sig_hybrid output=classes_hybrid
# pro výsledek klasifikace nastavíme odpovídající tabulku barev odvozenou z trénovacích ploch
r.colors map=classes_hybrid raster=tr_areas
</source>


== Řízená kombinovaná geometrická a radiometrická klasifikace ==
== Řízená kombinovaná geometrická a radiometrická klasifikace ==


Kombinovaná geometrická/radiometrická klasifikace je 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 dostupný jako modul {{GrassPrikaz|i.smap}}.
Kombinovaná geometrická/radiometrická klasifikace je založena na klasifikátoru [http://en.wikipedia.org/wiki/Sequential_estimation SMAP] (''Sequential Maximum A Posteriori - estimation''). Klasifikátor SMAP na rozdíl od MLC bere v potaz okolí podobnosti, to může vést k lepším výsledkům klasifikace. Klasifikátor SMAP na rozdíl od MLC může akceptovat pouze jeden kanál (použitelné pro segmentaci obrazu). Klasifikátor SMAP je dostupný jako modul {{GrassPrikaz|i.smap}}.


Postup se od řízené klasifikace popsané výše příliš neliší. Nejprve je potřeba vytvořit obrazovou skupinu pomocí {{GrassPrikaz|i.group}}, následně vytvořit rastrovou vrstvu s trénovacími plochami. Spektrální příznaky jsou vytvořeny modulem {{GrassPrikaz|i.gensigset}}. Proces klasifikace je ukončen aplikací {{GrassPrikaz|i.smap}}.
Postup se od řízené klasifikace popsané výše příliš neliší. Nejprve je potřeba vytvořit obrazovou skupinu pomocí {{GrassPrikaz|i.group}}, následně vytvořit rastrovou vrstvu s trénovacími plochami. Spektrální příznaky jsou vytvořeny modulem {{GrassPrikaz|i.gensigset}}. Proces klasifikace je ukončen aplikací {{GrassPrikaz|i.smap}}.
<source lang="bash">
# rasterizace trénovacích ploch (pozor na výpočetní region)
v.to.rast input=tplochy output=tplochy use=cat rgbcolumn=color


  # sestavení spektrálních příznaků
  # sestavení spektrálních příznaků
#
  i.gensigset trainingmap=tplochy group=tm subgroup=tm signaturefile=tm_smap maxsig=1
  i.gensigset trainingmap=tplochy group=tm subgroup=tm signaturefile=tm_smap
   
  #
  # klasifikátor SMAP
  # klasifikátor SMAP
#
  i.smap group=tm subgroup=tm signaturefile=tm_smap output=tm_smap
  i.smap group=tm subgroup=tm signaturefile=tm_smap out=tm_smap
 
# pro výsledek klasifikace nastavíme odpovídající tabulku barev odvozenou z trénovacích ploch
r.colors map=tm_smap raster=tplochy
</source>
 
{{fig|ZOD-cv11-tm_smap|Výsledek řízené klasifikace (SMAP)}}
 
Příklad rastrové mapy porovnání výsledku MLC a SMAP.


[[Soubor:ZOD-cv11-tm_smap.png|center|frame|Obr č.6: Výsledek řízené klasifikace (SMAP)]]
<source lang="bash">
r.mapcalc 'tm_dif = if(tm_rkl != tm_smap, 1, null())'
</source>


[[Soubor:ZOD-cv11-mlc_smap.png|center|frame|Obr č.7: Odlišně klasifikované plochy, klasifikátor MLC &times; SMAP]]
{{fig|ZOD-cv11-mlc_smap|Odlišně klasifikované plochy, klasifikátor MLC &times; SMAP}}


Pro porovnání výsledků klasifikace lze pohodlně použít i nástroj {{grassPrikaz|g.gui.mapswipe}} (viz obr. níže).


----
{{fig|class-mlc-smap-mapswipe|Porovnání výsledku klasifikátoru MLC a SMAP, bez postklasifikačních úprav}}
< [[153YZOD Zpracování obrazových dat|Stránky předmětu]] {{bullet}} [[153YZOD Zpracování obrazových dat - cvičení 10|Předchozí cvičení]]


{{ZOD}}
{{ZOD}}
{{GRASS}}

Aktuální verze z 5. 9. 2014, 18:48

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

Osnova

Řízená klasifikace obrazových dat, hybridní - částečně řízená klasifikace.

Seznam příkazů

Úvod

Řízená klasifikace je založena na interaktivním výběru ploch patřící do předem určené třídy (na základě šetření v terénu či podkladové mapy). Tyto plochy jsou označovány jako trénovací plochy (ground truth areas). Trénovací plochy jsou v klasifikačního procesu použity pro sestavení spektrálních příznaků. Nesmí být příliš malé a měly by být homogenní. Modul g.gui.iclass umožňuje jejich analýzu pomocí histogramu či rozptylogramu jednotlivých kanálů, Gaussovy distribuční funkce spektrální odezvy a příslušné směrodatné odchylky. 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 g.gui.iclass (včetně vygenerování spektrálních příznaků) či externě pomocí digitalizačního nástroje wxGUI - v tomto případě jsou spektrální příznaky sestaveny modulem i.gensig.

Nejprve je nutno vytvořit 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).

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

Z menu wxGUI Imagery → Develop images and groups → Create/edit group

Založení obrazové skupiny ve wxGUI (výběr rastrových map)
Založení obrazové skupiny ve wxGUI

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

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

Výběr trénovacích ploch

Interaktivní

Supervised Classification Tool (nový nástroj, GRASS 7)

wxGUI Supervised Classification Tool je nový nástroj ve verzi GRASS 7, který vznikl v rámci semestrálního projektu předmětu 153YZOD na ČVUT v Praze v akademickém roce 2011/2012. Více o projektu na stránkách Open Source Geospatial Research and Education Laboratory.

wxGUI Supervised Classification Tool
wxGUI Supervised Classification Tool

Postup práce:

  1. Volba skupiny a podskupiny
  2. Definice tříd
  3. Digitalizace trénovacích ploch pro jednotlivé třídy
    • Volitelně lze trénovací plochy uložit do vektorové mapy
  4. Provést analýzu trénovacích ploch, aktualizace histogramů
  5. Uložení výsledků do příznakového souboru , tento soubor bude sloužit jako vstup do klasifikátoru i.maxlik
{{#ev:youtube|FyzfdlkTNRg|550|center|Návod na digitalizaci trénovacích ploch ve wxGUI Supervised Classification Tool}}

i.class (původní nástroj v GRASS 6)

Interaktivní výběr (digitalizaci) trénovacích ploch umožňuje v GRASS 6 modul i.class. Tento modul však obsahuje řadu omezení.

Zadáme název obrazové skupiny, podskupiny, podkladové rastrové vrstvy a souboru s výstupními příznaky.

 i.class map=tm453 group=tm subgroup=tm outsig=tm_riz

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, v dolní části je umístěn zvětšený detail zvoleného území (funkce "Zoom") - viz obr. níže. V levé části jsou zobrazovány histogramy trénovacích ploch.

Trénovací plochy jsou digitalizovány pomocí funkce "Define region" a "Draw region", pro uzavření aktuální plochy "Complete region", podmenu se opustí pomocí "Done". Analýza dané zvolené trénovací plochy - "Analyze region".

Grafické okno GRASSu po spuštění modulu i.class

Spektrální příznaky jsou tak vyhledány na základě vybrané trénovací plochy. Následně jsou v levé části zobrazeny 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").

Zobrazení ploch odpovídající sestaveným spektrálním příznakům, standardní odchylka "7.5"

Po ukončení ("Done") se objeví otázka, zda chcete uložit aktuální spektrální příznaky ("Do you want to save this signatures?"), po vybrání "Yes" se zadá v okně konzole textový popisek příznaků - např. "vodni plochy". Podobně určíme další trénovací plochy. Modul se ukončí z menu "Quit". Spektrální příznaky zvolených trénovacích ploch jsou tak uloženy do speciálního textového souboru.

Trénovací plochy nesmí obsahovat tzv. hraniční pixely reprezentující často smíšené spektrální příznaky. Příliš malé trénovací plochy budou posléze (ze statistického hlediska) ignorovány.

Neinteraktivní

Mapovou vrstvu s trénovacími plochami lze vytvořit externě na základě mapy využití půdy, barevné syntézy a pod.

Pro vektorizaci trénovacích ploch lze použít modul g.gui.vdigit - viz 9. cvičení.

Nejprve zobrazíme podkladovou barevnou syntézu, vytvoříme novou vektorovou vrstvu 'tplochy' (včetně atributové tabulky) a otevřeme vrstvu pro editaci.

 d.rast map=tm453

Hranice ploch vektorizujeme bez kategorie, kategorie (atributová data) bude přiřazena pouze centroidům ploch. Po ukončení vektorizace trénovacích ploch vrstvu rasterizujeme pomocí modulu v.to.rast.

 # rasterizace plochy
 #
 v.to.rast input=tplochy output=tplochy use=cat labelcolumn=popisek
Trénovací plochy

Nakonec vytvoříme soubor se spektrálními příznaky.

 i.gensig trainingmap=tplochy group=tm subgroup=tm signaturefile=tm_riz

Klasifikace (Gaussův klasifikátor)

Soubor s příznaky (sigfile) lze vygenerovat v Supervised Classification Tool - viz postup. Alternativně lze soubor s příznaky vygenerovat pomocí modulu i.gensig. V tomto případě nejprve vektorovou mapu trénovacích ploch zrasterizujeme pomocí modulu v.to.rast.

Aplikace rozhodovacího pravidla (Gaussova klasifikátoru) je obdobná jako v případě neřízené klasifikace.

 # klasifikátor maximum likelihood (MLC)
 #
 i.maxlik group=tm subgroup=tm sigfile=tm_riz class=tm_rkl reject=tm_rzam
Výsledek řízené klasifikace
Zamítací rastrová vrstva

Poznámka: Popisky tříd lze nastavit manuálně pomocí modulu r.category. Nicméně pokud jste použili parametr labelcolumn při rasterizaci trénovacích ploch (v.to.rast), tak by popisky jednotlivých tříd měly být již nastaveny.

Nastavení popisků tříd pomocí modulu r.category. Položky jsou odděleny dvojtečkou.

Částečně řízená klasifikace

Tato metoda se podobá neřízené klasifikaci, pouze s tím rozdílem, že jsou nejprve vytvořeny spektrální příznaky podobně jako v případě řízené klasifikace (g.gui.iclass č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.

 # rasterizace trénovacích ploch (pozor na výpočetní region)
 v.to.rast input=tr_areas output=tr_areas use=cat rgbcolumn=color
 
 # vytvoření souboru s příznaky
 i.gensig trainingmap=tr_areas group=B subgroup=B signaturefile=sig_areas

 # předzpracování - vytvoření shluku na základě zárodečných příznaků
 i.cluster group=B subgroup=B signaturefile=sig_hybrid classes=4 seed=sig_areas

 # aplikace Gaussova klasifikatoru 
 i.maxlik group=B subgroup=B signaturefile=sig_hybrid output=classes_hybrid

 # pro výsledek klasifikace nastavíme odpovídající tabulku barev odvozenou z trénovacích ploch
 r.colors map=classes_hybrid raster=tr_areas

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

Kombinovaná geometrická/radiometrická klasifikace je založena na klasifikátoru SMAP (Sequential Maximum A Posteriori - estimation). Klasifikátor SMAP na rozdíl od MLC bere v potaz okolí podobnosti, to může vést k lepším výsledkům klasifikace. Klasifikátor SMAP na rozdíl od MLC může akceptovat pouze jeden kanál (použitelné pro segmentaci obrazu). Klasifikátor SMAP je 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. Spektrální příznaky jsou vytvořeny modulem i.gensigset. Proces klasifikace je ukončen aplikací i.smap.

 # rasterizace trénovacích ploch (pozor na výpočetní region)
 v.to.rast input=tplochy output=tplochy use=cat rgbcolumn=color

 # sestavení spektrálních příznaků
 i.gensigset trainingmap=tplochy group=tm subgroup=tm signaturefile=tm_smap maxsig=1
 
 # klasifikátor SMAP
 i.smap group=tm subgroup=tm signaturefile=tm_smap output=tm_smap

 # pro výsledek klasifikace nastavíme odpovídající tabulku barev odvozenou z trénovacích ploch
 r.colors map=tm_smap raster=tplochy
Výsledek řízené klasifikace (SMAP)

Příklad rastrové mapy porovnání výsledku MLC a SMAP.

 r.mapcalc 'tm_dif = if(tm_rkl != tm_smap, 1, null())'
Odlišně klasifikované plochy, klasifikátor MLC × SMAP

Pro porovnání výsledků klasifikace lze pohodlně použít i nástroj g.gui.mapswipe (viz obr. níže).

Porovnání výsledku klasifikátoru MLC a SMAP, bez postklasifikačních úprav