Systemy Informacji Przestrzennej
Ćwiczenie 2
Klasyfikacja obrazów rastrowych
w systemie ER Mapper
1. Klasyfikacja nienadzorowana obrazów
Klasyfikacja jest procesem, który może wspomagać wektoryzację oraz interpretację
obrazu rastrowego. Poprzez klasyfikację obrazu rozumie się procedurę, w wyniku której po-
szczególne piksele obrazu zostają przyporządkowane do określonych grup - klas, poprzez
przydzielenie każdemu z pikseli określonego numeru - jest to numer klasy, do którego piksel
został zaliczony. Zasadę, która jest stosowana przy wyborze numeru klasy dla poszczególnych
pikseli, najogólniej można by określić następująco: w tej samej klasie powinny znaleźć się
piksele, których wartości (w określonym, branym pod uwagę przy klasyfikacji zakresie lub
zakresach) są podobne, a w różnych klasach powinny znaleźć się piksele, których wartości są
zdecydowanie różne. Przy tym liczba klas nie powinna być zbyt duża. Otrzymane w wyniku
klasyfikacji obrazu satelitarnego klasy zwykle przedstawiają określone typy terenu, np. roślin-
ność, woda, obszar zabudowany, skały itp., ponieważ określony rodzaj terenu promieniuje
zwykle z określonym natężeniem w poszczególnych zakresach częstotliwości rejestrowanych
przez satelitę. W otrzymanym w wyniku klasyfikacji obrazie możemy łatwo zauważyć ob-
szary zaliczone do poszczególnych klas. Obraz taki może być następnie w prosty sposób pod-
dany konwersji na postać wektorową, w której obszary poszczególnych klas staną się wielo-
bokami (poligonami), na ogół wieloczęściowymi.
W systemie ER Mapper istnieje wiele narzędzi, przy pomocy których można przepro-
wadzić klasyfikację obrazu. W tym punkcie poznamy algorytm klasyfikacji nienadzorowanej.
W klasyfikacji nienadzorowanej algorytm nie bierze pod uwagę żadnej wstępnej wie-
dzy na temat charakterystyki poszczególnych klas, tj. jakie powinny być w każdej z nich war-
tości pikseli w poszczególnych zakresach. Algorytm po prostu grupuje "podobne" piksele w
klasy, przy czym można mu zadać wiele parametrów istotnych w tym procesie, np. ile mak-
symalnie może być klas, jakie maksymalne odchylenie standardowe wartości pikseli jest do-
puszczalne wewnątrz danej klasy itp. W systemie ER Mapper klasyfikację nienadzorowaną
realizuje algorytm ISOCLASS opisany, wraz z możliwymi do dokonania ustawieniami mody-
fikującymi jego przebieg, dokładnie w dokumentacji ER Mappera.
Poniżej opisano, jak należy przeprowadzić przykładową nienadzorowaną klasyfikację,
na przykładzie obrazu Landsat_TM_year_1985.ers z wykorzystaniem wartości z jego
trzech pierwszych zakresów. Należy otworzyć lub utworzyć dowolny algorytm oparty na tym
obrazie, po czym wybrać z głównego menu programu ER Mapper polecenie
Process\Classification\ISOCLASS Unsupervised Classification. W oknie
Unsupervised Classification, które się pojawi, dokonujemy ustawień dotyczących
klasyfikacji. Należy określić plik (Input Dataset), w którym znajduje się klasyfikowany
obraz – to pole można zostawić puste, ponieważ domyślnie jest tu przyjmowany obraz
aktualnie przetwarzany. Następnie określamy zakresy w obrazie (Bands to use), które będą
brane pod uwagę – należy wybrać zakresy od pierwszego do trzeciego), nazwę wynikowego
1
zbioru (Output Dataset - np. ISOCLASS_Landsat_1985) oraz podajemy maksymalną
liczbę klas (Maximum number of classes - np. 6). Można też zwiększyć wartości pól
Sampling row interval i Sampling column interval wraz z zaznaczeniem parametru
Auto Resampling, co przyspieszy początkową fazę klasyfikacji. W początkowych
iteracjach nie wszystkie piksele z obrazu będą brane pod uwagę, a tylko niektóre, z
określonym odstępem próbkowania. Inne ustawienia mogą zostać nie zmienione. Kliknięcie
OK powoduje rozpoczęcie procesu klasyfikacji. Wyświetlane są jego kolejne etapy w oknie
Processing Status.
W wyniku klasyfikacji powstaje nowy plik z obrazem rastrowym (jednozakresowym),
w którym wartości pikseli oznaczają numer przyporządkowanej klasy. Do oglądania takich
poklasyfikowanych zbiorów służą warstwy Class Display oraz Classification w
algorytmie ER Mappera. Zanim jednak taki zbiór zostanie przypisany do którejś z ww.
warstw, należy użyć polecenia Process\Classification\Edit Class/Region Color
and Name i przypisać poszczególnym klasom określone kolory. Można w oknie służącym
do tego celu użyć przycisku Autogen Colors... , co umożliwi przypisanie klasom kolorów
na podstawie średnich wartości pikseli w obrazie źródłowym w poszczególnych klasach.
Aby obejrzeć wyniki klasyfikacji, należy dodać do algorytmu warstwę typu
Class Display. Warstwa taka zasadniczo nie różni się od innych warstw rastrowych w algo-
rytmie ER Mappera, jedynie na końcu odwzorowanie wartości pikseli na kolory następuje w
ten sposób, że każdy piksel jest rysowany po prostu kolorem zdefiniowanym uprzednio w
poleceniu Edit Class/Region Color and Name dla jego klasy. Do takiej warstwy należy
przypisać wynikowy plik klasyfikacji (o nazwie podanej uprzednio w polu Output Dataset
w oknie Unsupervised Classification). Warstwy z wynikami klasyfikacji rysowane są
zawsze na planie bliższym niż zwykłe warstwy rastrowe, ale na dalszym niż warstwy wekto-
rowe.
Należy obejrzeć wynik przeprowadzonej klasyfikacji oraz porównać go z oryginalnym
obrazem. Na ogół, linie stanowiące granice pomiędzy otrzymanymi klasami mają bardzo nie-
regularny, "rozwinięty" kształt. Aby spowodować, żeby obszary należące do poszczególnych
klas miały kształt bardziej zwarty, można użyć na przykład filtracji uśredniającej zastosowa-
nej do zbioru wynikowego otrzymanego w klasyfikacji – należy zaobserwować efekt, jaki daje
taka filtracja.
2. Klasyfikacja nadzorowana obrazów
W klasyfikacji tego rodzaju korzysta się z dostępnej na wejściu algorytmu wiedzy na
temat, jakie mają być typowe wartości pikseli w poszczególnych wynikowych klasach. Wie-
dzę tę w ER Mapperze definiuje się np. w ten sposób, że przed przeprowadzeniem klasyfika-
cji nadzorowanej określa się w przetwarzanym obrazie tzw. regiony - obszary, które mają być
reprezentatywne dla otrzymanych później klas. Podczas algorytmu ilość oraz średnie wartości
dla klas nie ulegają zmianie, a następuje jedynie przyporządkowanie pikseli do tak z góry
zdefiniowanych klas: każdy piksel zostaje przyporządkowany do klasy, do której jest, biorąc
pod uwagę określone zakresy, najbardziej "podobny". Może tu być użyte np. kryterium mini-
malnej odległości w przestrzeni parametrów (którymi są tu wartości z poszczególnych wybra-
nych zakresów obrazu) czy też np. kryterium maksymalnego podobieństwa, które bierze pod
uwagę m. in. macierz kowariancji wartości pikseli w inicjalnych regionach oraz bayesowskie
prawdopodobieństwo a priori przynależności do poszczególnych klas.
Poniżej opisano przykładową procedurę klasyfikacji nadzorowanej obrazu w ER
Mapperze. Najpierw należy obejrzeć zdefiniowane przez producenta ER Mappera regiony dla
2
obrazu Landsat_TM_year_1991.ers (w sposób podany poprzednio). Następnie należy
wybrać polecenie Process\Classification\Supervised Classification i dokonać w
oknie Supervised Classification ustawień związanych z procesem klasyfikacji nadzoro-
wanej. Niech będą brane teraz pod uwagę wszystkie zakresy (All w polu Input Bands).
Trzeba określić też nazwę zbioru wynikowego. Typ klasyfikacji (Classification Type)
niech pozostanie Maximum Likelihood Enhanced, w którym decyzja o zaliczeniu piksela
do klasy będzie określana przy pomocy reguły maksymalnego podobieństwa, a poza tym, w
wynikowym pliku powstaną oprócz zakresu z wynikami klasyfikacji zakresy dodatkowe, po
dwa dla każdej klasy: zakres Posterior propability, której wartości określać będą
prawdopodobieństwo, z jakim dany piksel mógłby być zaliczany do danej klasy, oraz
Typicality - zakres określający, jak reprezentatywny byłby piksel dla danej klasy, gdyby
został do niej zaliczony. Przycisk Setup w oknie Supervised Classification otwiera okno
umożliwiające dodanie inicjalnych regionów (bądź klas) z innych plików, jak również
usunięcie niektórych wybranych regionów.
Przycisk OK powoduje rozpoczęcie klasyfikacji nadzorowanej, która składa się tylko
z jednej iteracji, w odróżnieniu od klasyfikacji nienadzorowanej.
Aby obejrzeć wyniki klasyfikacji, należy postępować dokładnie tak jak poprzednio,
przy klasyfikacji nienadzorowanej.
Należy obejrzeć wyniki klasyfikacji nadzorowanej, a następnie porównać z wynikami
klasyfikacji nienadzorowanej. Następnie należy utworzyć dodatkową warstwę Pseudo i
obejrzeć w niej pozostałe zakresy zbioru z wynikami klasyfikacji nadzorowanej:
Posterior propability oraz Typicality.
Na zakończenie niniejszego zadania należy przekształcić wybrany plik z wynikami
przeprowadzonej klasyfikacji do postaci wektorowej przy pomocy polecenia Process
\Raster Cells to Vector Polygons... , po czym wynik tej operacji przypisać do nowo
utworzonej warstwy Annotation/Map Composition w algorytmie przetwarzającym plik
Landsat_TM_year_1991.ers.
3. Warstwy Classification i scattergramy
Oprócz poznanych uprzednio narzędzi do klasyfikacji obrazów, można w
ER Mapperze przeprowadzać klasyfikację również w inny sposób, np. definiując odpowiednie
formuły algebry obrazu w oknie Formula Editor w poszczególnych warstwach.
Pomocne przy klasyfikacji jest korzystanie z warstw typu Classification. Warstwy te
różnią się od zwykłych warstw rastrowych oraz od warstw Class Display tym, że wszystkie
piksele z wyjątkiem pikseli o wartości null wyświetlane są jednym, określonym dla warstwy
kolorem, a piksele o wartości null nie są wyświetlane w ogóle. Pojedyncza warstwa
Classification powinna być związana zatem z jedną wynikową klasą. Stosując w oknie
Formula Editor warstwy Classification formuły algebry obrazu realizujące klasyfikację
według różnych algorytmów oraz tworząc tyle warstw Classification w algorytmie ile po-
winno być wynikowych klas (np. tyle ile jest inicjalnych regionów), można uzyskać tą metodą
wyniki podobne do otrzymanych powyżej w wyniku polecenia Supervised Classification.
Należy dodać warstwę Classification do wybranego algorytmu opartego na pliku
Landsat_TM_year_1991.ers, a następnie:
- przetestować klasyfikację opartą na prostych formułach typu:
IF INPUT1 < PROG THEN 1 ELSE NULL
lub
IF INPUT1 > PROG1 AND INPUT1 < PROG2 THEN 1 ELSE NULL
3
- wczytać kilka przykładowych formuł z katalogu ERMAPPER\formula\classify (przycisk
File\Open w oknie Formula Editor).
Można użyć kilku warstw Classification i w każdej zobrazować inną klasę obrazu.
W programie ER Mapper możliwe jest też tworzenie tzw. scattergramów obrazów
czyli wykresów pokazujących, jak duże jest skorelowanie wartości poszczególnych pikseli
dwóch wybranych obrazów ze sobą, konkretnie dwóch różnych podzakresów jednego obrazu.
Narzędzie to można wykorzystać też do klasyfikacji obrazu.
Należy przy otwartym oknie bieżącego algorytmu wybrać polecenie View
\Scattergrams. W oknie " New Annotation" wybieramy Vector File i obserwujemy
scattergram dwóch arbitralnie na razie wybranych przez ER Mappera zakresów obrazu
Landsat_TM_year_1991. Każdy piksel jest nanoszony na scattergram w ten sposób, że na
jednej osi odkładana jest jego wartość dla pierwszego obrazu (zakresu), na drugiej - dla dru-
giego. Jeżeli powstała figura nie odbiega za bardzo kształtem od ukośnej, prostej linii, to
oznacza to, że obrazy (zakresy obrazu) są ze sobą silnie skorelowane, w przeciwnym przy-
padku obrazy nie są ze sobą skorelowane. Punkty na scattergramie, w których pokrywa się
wiele naniesionych pikseli z obrazów, wyświetlane są "mocniejszym" kolorem ze skali barw.
Do zmiany ustawień dla scattergramu służy przycisk Settings, który wyświetla okno
" Scattergram Setup". Można zmienić m. in. analizowane zakresy obrazu, plik z obrazem,
tablicę kolorów czy kolor dla regionów, które można nanosić na obraz. Można utworzyć także
kolejny scattergram przy pomocy przycisku Duplicate. Gdy zaś zaczniemy rysować prosto-
kąt na obrazie przy pomocy odpowiedniego narzędzia z okna Tools, na scattergramie zostaną
zaznaczone na czarno te punkty, które odpowiadają wartościom obrazu (na dwóch analizowa-
nych zakresach) z zaznaczonego obszaru. Możliwe jest także zaznaczenie na scattergramie
punktu określającego wartości średnie rozkładu wartości pikseli w dwóch przedstawianych
zakresach (dla zakreślonego czy zaznaczonego na obrazie obszaru bądź dla całego obrazu),
jak również towarzyszących im elips zakreślających obszar wartości, w którym zawiera się
95% pikseli z zaznaczonego obszaru lub z całego obrazu.
Przy pomocy scattergramu można dokonać klasyfikacji obszarów obrazu w oparciu o
dwa analizowane zakresy. Dokonuje się tego poprzez zakreślenie myszą prostokąta-regionu w
wybranym miejscu scattergramu. Piksele, których wartości mieszczą się w zadanych w ten
sposób przedziałach dla dwóch analizowanych zakresów, zostają uwidocznione na obrazie w
postaci automatycznie dodawanej warstwy Classification. Należy spróbować wyodrębnić w
ten sposób obszary w obrazie przedstawiające np. zbiorniki wodne, a kolor dla dodanej war-
stwy Classification ustawić wówczas niebieski. Następnie należy zaobserwować wyrażenie
znajdujące się w oknie Formula Editor dla tej warstwy, spróbować je zmodyfikować i zaob-
serwować, jak wpłynie to na zawartość okna scattergramu.
Należy przetestować działanie scattergramów i różnych ich ustawień dla różnych
warstw obrazu oraz spróbować wyodrębnić różne obszary jako automatycznie dodawane war-
stwy Classification.
ZADANIA DO WYKONANIA
1. Przeprowadzić klasyfikację i przedstawić porównanie otrzymanych wyników dla kilku
różnych wersji ustawień wejściowych algorytmu ISOCLASS Unsupervised Classification,
np. dla 2 różnych obrazów (Landsat_TM_year_1985.ers
i
4
Landsat_TM_year_1991.ers), zestawów użytych podzakresów, maksymalnej liczby
klas, czy współczynników podpróbkowania.
1,5 pkt.
2. Podobnie przeprowadzić klasyfikację nadzorowaną dla kilku różnych ustawień i porównać
otrzymane wyniki ze sobą i z tymi otrzymanymi w poprzednim punkcie.
1,5 pkt.
3. Przeprowadzić jeszcze 2 inne procedury klasyfikacji, np. z użyciem prostych formuł
algebry obrazu, bądź z wykorzystaniem scattergramów, bądź wykorzystując wybraną
formułę z katalogu ERMAPPER\formula\classify.
2 pkt.
5